nimwire/prompts
This page is generated from the module’s exported API and ## documentation comments.
Prompt definitions, typed arguments, and prompt messages.
McpPromptRole
Section titled “McpPromptRole”McpPromptRole = enum mcpPromptUser, mcpPromptAssistantMcpPromptArgument
Section titled “McpPromptArgument”McpPromptArgument = object name*: string description*: string required*: boolMcpPromptArguments
Section titled “McpPromptArguments”McpPromptArguments = Table[string, string]McpPromptMessage
Section titled “McpPromptMessage”McpPromptMessage = object role*: McpPromptRole ## Untrusted caller-facing metadata; never use it as an authorization policy. content*: JsonNodeMcpPromptHandler
Section titled “McpPromptHandler”McpPromptHandler = proc (arguments: McpPromptArguments; context: McpContext): Future[ seq[McpPromptMessage]] {.closure.}McpPromptSingleHandler
Section titled “McpPromptSingleHandler”McpPromptSingleHandler = proc (arguments: McpPromptArguments; context: McpContext): Future[McpPromptMessage] {. closure.}McpSyncPromptHandler
Section titled “McpSyncPromptHandler”McpSyncPromptHandler = proc (arguments: McpPromptArguments; context: McpContext): seq[ McpPromptMessage] {.closure.}McpSyncPromptSingleHandler
Section titled “McpSyncPromptSingleHandler”McpSyncPromptSingleHandler = proc (arguments: McpPromptArguments; context: McpContext): McpPromptMessage {. closure.}McpPromptCompletionHandler
Section titled “McpPromptCompletionHandler”McpPromptCompletionHandler = proc (argument, prefix: string; context: McpContext): Future[ seq[string]] {.closure.}McpSyncPromptCompletionHandler
Section titled “McpSyncPromptCompletionHandler”McpSyncPromptCompletionHandler = proc (argument, prefix: string; context: McpContext): seq[string] {. closure.}McpCompletionHandler
Section titled “McpCompletionHandler”McpCompletionHandler = proc (argument, prefix: string; context: McpContext): Future[ seq[string]] {.closure.}McpCompletion
Section titled “McpCompletion”McpCompletion = object argument*: string handler*: McpCompletionHandlerMcpPrompt
Section titled “McpPrompt”McpPrompt = object name*: string title*: string description*: string icons*: JsonNode arguments*: seq[McpPromptArgument]Procedures
Section titled “Procedures”newMcpPromptArgument
Section titled “newMcpPromptArgument”proc newMcpPromptArgument(name: string; description = ""; required = false): McpPromptArgument {. raises: [McpError], tags: [], forbids: [].}Returns: McpPromptArgument.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
description |
inferred |
"" |
required |
inferred |
false |
validatePromptContent
Section titled “validatePromptContent”proc validatePromptContent(content: JsonNode) {.raises: [McpError, KeyError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
content |
JsonNode |
newMcpPromptMessage
Section titled “newMcpPromptMessage”proc newMcpPromptMessage(role: McpPromptRole; content: JsonNode): McpPromptMessage {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPromptMessage.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
role |
McpPromptRole |
|
content |
JsonNode |
userPrompt
Section titled “userPrompt”proc userPrompt(content: JsonNode): McpPromptMessage {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPromptMessage.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
content |
JsonNode |
assistantPrompt
Section titled “assistantPrompt”proc assistantPrompt(content: JsonNode): McpPromptMessage {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPromptMessage.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
content |
JsonNode |
userText
Section titled “userText”proc userText(text: string; annotations: JsonNode = nil): McpPromptMessage {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPromptMessage.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
text |
string |
|
annotations |
JsonNode |
nil |
assistantText
Section titled “assistantText”proc assistantText(text: string; annotations: JsonNode = nil): McpPromptMessage {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPromptMessage.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
text |
string |
|
annotations |
JsonNode |
nil |
toJson (overload 1)
Section titled “toJson (overload 1)”proc toJson(message: McpPromptMessage): JsonNode {.raises: [], tags: [], forbids: [].}Returns: JsonNode.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
message |
McpPromptMessage |
newMcpPrompt (overload 1)
Section titled “newMcpPrompt (overload 1)”proc newMcpPrompt(name: string; handler: McpPromptHandler; title = ""; description = ""; arguments: seq[McpPromptArgument] = @[]; icons: JsonNode = nil): McpPrompt {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPrompt.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
handler |
McpPromptHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
arguments |
seq[McpPromptArgument] |
@[] |
icons |
JsonNode |
nil |
newMcpPrompt (overload 2)
Section titled “newMcpPrompt (overload 2)”proc newMcpPrompt(name: string; handler: McpPromptSingleHandler; title = ""; description = ""; arguments: seq[McpPromptArgument] = @[]; icons: JsonNode = nil): McpPrompt {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPrompt.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
handler |
McpPromptSingleHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
arguments |
seq[McpPromptArgument] |
@[] |
icons |
JsonNode |
nil |
newMcpPrompt (overload 3)
Section titled “newMcpPrompt (overload 3)”proc newMcpPrompt(name: string; handler: McpSyncPromptHandler; title = ""; description = ""; arguments: seq[McpPromptArgument] = @[]; icons: JsonNode = nil): McpPrompt {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPrompt.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
handler |
McpSyncPromptHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
arguments |
seq[McpPromptArgument] |
@[] |
icons |
JsonNode |
nil |
newMcpPrompt (overload 4)
Section titled “newMcpPrompt (overload 4)”proc newMcpPrompt(name: string; handler: McpSyncPromptSingleHandler; title = ""; description = ""; arguments: seq[McpPromptArgument] = @[]; icons: JsonNode = nil): McpPrompt {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpPrompt.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
handler |
McpSyncPromptSingleHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
arguments |
seq[McpPromptArgument] |
@[] |
icons |
JsonNode |
nil |
newMcpCompletion (overload 1)
Section titled “newMcpCompletion (overload 1)”proc newMcpCompletion(argument: string; handler: McpCompletionHandler): McpCompletion {. raises: [McpError], tags: [], forbids: [].}Returns: McpCompletion.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
argument |
string |
|
handler |
McpCompletionHandler |
newMcpCompletion (overload 2)
Section titled “newMcpCompletion (overload 2)”proc newMcpCompletion(argument: string; handler: McpSyncPromptCompletionHandler): McpCompletion {. raises: [McpError], tags: [], forbids: [].}Returns: McpCompletion.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
argument |
string |
|
handler |
McpSyncPromptCompletionHandler |
addCompletion (overload 1)
Section titled “addCompletion (overload 1)”proc addCompletion(prompt: var McpPrompt; argument: string; handler: McpPromptCompletionHandler) {.raises: [McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
var McpPrompt |
|
argument |
string |
|
handler |
McpPromptCompletionHandler |
addCompletion (overload 2)
Section titled “addCompletion (overload 2)”proc addCompletion(prompt: var McpPrompt; completion: McpCompletion) {. raises: [McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
var McpPrompt |
|
completion |
McpCompletion |
addCompletion (overload 3)
Section titled “addCompletion (overload 3)”proc addCompletion(prompt: var McpPrompt; argument: string; handler: McpSyncPromptCompletionHandler) {. raises: [McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
var McpPrompt |
|
argument |
string |
|
handler |
McpSyncPromptCompletionHandler |
completePromptArgument
Section titled “completePromptArgument”proc completePromptArgument(prompt: McpPrompt; argument, prefix: string; context: McpContext): Future[seq[string]] {. stackTrace: false, raises: [Exception, ValueError, McpError, KeyError], tags: [RootEffect], forbids: [].}Returns: Future[seq[string]].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
McpPrompt |
|
argument |
string |
|
prefix |
string |
|
context |
McpContext |
toJson (overload 2)
Section titled “toJson (overload 2)”proc toJson(prompt: McpPrompt): JsonNode {.raises: [KeyError], tags: [], forbids: [].}Returns: JsonNode.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
McpPrompt |
decodePromptArguments
Section titled “decodePromptArguments”proc decodePromptArguments(prompt: McpPrompt; values: JsonNode): McpPromptArguments {. raises: [McpError], tags: [], forbids: [].}Returns: McpPromptArguments.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
McpPrompt |
|
values |
JsonNode |
getPromptArgument
Section titled “getPromptArgument”proc getPromptArgument(arguments: McpPromptArguments; name: string; required = true): string {.raises: [McpError, KeyError], tags: [], forbids: [].}Returns: string.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
arguments |
McpPromptArguments |
|
name |
string |
|
required |
inferred |
true |
runPrompt
Section titled “runPrompt”proc runPrompt(prompt: McpPrompt; arguments: McpPromptArguments; context: McpContext): Future[seq[McpPromptMessage]] {. stackTrace: false, raises: [Exception, ValueError, McpError, KeyError], tags: [RootEffect], forbids: [].}Returns: Future[seq[McpPromptMessage]].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
prompt |
McpPrompt |
|
arguments |
McpPromptArguments |
|
context |
McpContext |
Templates
Section titled “Templates”mcpCompletion
Section titled “mcpCompletion”Reusable prompt/resource-template completion declaration.
template mcpCompletion(argument: string; handler: untyped): McpCompletionReturns: McpCompletion.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
argument |
string |
|
handler |
untyped |
mcpPrompt
Section titled “mcpPrompt”Concise prompt declaration; message escaping remains explicit in handlers.
template mcpPrompt(name: string; handler: untyped; title = ""; description = ""; arguments: seq[McpPromptArgument] = @[]; icons: JsonNode = nil): McpPromptReturns: McpPrompt.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
handler |
untyped |
|
title |
inferred |
"" |
description |
inferred |
"" |
arguments |
seq[McpPromptArgument] |
@[] |
icons |
JsonNode |
nil |