::nsmcp::ChatCompletionsBackend ::nsmcp::ChatCompletionsBackend describe init run streamClose streamData streamDrain streamHeaders streamOpen ::nsmcp::QuestionBackend ::nsmcp::QuestionBackend → reportingInstructions canonicalResult describe run toolCallResult ::nsmcp::ChatCompletionsBackend->::nsmcp::QuestionBackend ::nsmcp::CodexQuestionBackend ::nsmcp::CodexQuestionBackend describe run ::nsmcp::CodexQuestionBackend->::nsmcp::QuestionBackend ::nsmcp::Object ::nsmcp::Object dict getdef ::nsmcp::QuestionBackend->::nsmcp::Object

Class ::nsmcp::ChatCompletionsBackend

::nsmcp::ChatCompletionsBackend[i] create ... \
           [ -apiKeyFile:required apiKeyFile:required ] \
           [ -apiOptions (default "{} object {}") ] \
           [ -apiUrl:required apiUrl:required ] \
           [ -authenticator (default "::nsmcp::auth") ] \
           [ -authorizer (default "::nsmcp::authorization") ] \
           [ -maxApiRequests (default "16") ] \
           [ -maxHistoryBytes (default "1048576") ] \
           [ -maxOutputTokens (default "4096") ] \
           [ -maxResponseBytes (default "8388608") ] \
           [ -maxResultBytes (default "131072") ] \
           [ -maxToolCalls (default "32") ] \
           [ -model:required model:required ] \
           [ -mutex mutex ] \
           [ -registry (default "::nsmcp::tools") ] \
           [ -streamStore (default "") ] \
           [ -timeout (default "180") ] \
           [ -tokenFile:required tokenFile:required ]

Defined in /usr/local/ns/tcl/nsmcp/question-chat-completions.tcl

Class Relations

  • class: ::nx::Class[i]
  • superclass: ::nsmcp::QuestionBackend[i]

Methods (to be applied on instances)

  • describe (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> describe

    Describe the configured streaming chat-completions backend. Report provider settings and request limits without sending an API request.

    Returns:
    The backend metadata dictionary.

    Testcases:
    No testcase defined.
  • run (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> run question state \
        emit

    Execute a question through a temporary chat-completions runner. Forward the question, retained state and event callback; destroy the runner on every exit.

    Parameters:
    question (required)
    Question text supplied to the selected provider.
    state (required)
    Opaque retained provider continuation or scan state.
    emit (required)
    Event callback prefix; returning false requests cancellation.
    Returns:
    The runner's completion or continuation result.

    Testcases:
    No testcase defined.
  • streamClose (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> streamClose key

    Release shared state for a completed or aborted stream. Remove the buffer entry under the mutex; tolerate a key already removed by cleanup.

    Parameters:
    key (required)
    Retained stream or configuration key.
    Returns:
    The stream cleanup result.

    Testcases:
    No testcase defined.
  • streamData (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> streamData key \
        fields

    Append bounded bytes from a streamed HTTP response. Serialize buffer and byte-counter updates and retain explicit overflow/error state.

    Parameters:
    key (required)
    Retained stream or configuration key.
    fields (required)
    HTTP callback dictionary containing newly received data.
    Returns:
    The callback update result.

    Testcases:
    No testcase defined.
  • streamDrain (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> streamDrain key

    Drain currently buffered response bytes. Swap out buffered data under the shared mutex while retaining response metadata and total-byte counters.

    Parameters:
    key (required)
    Retained stream or configuration key.
    Returns:
    The stream-state dictionary containing the drained data.

    Testcases:
    No testcase defined.
  • streamHeaders (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> streamHeaders key \
        fields

    Record streamed HTTP response headers. Update status and content type under the shared response-buffer mutex while the stream remains active.

    Parameters:
    key (required)
    Retained stream or configuration key.
    fields (required)
    HTTP callback dictionary containing response status and headers.
    Returns:
    The callback update result.

    Testcases:
    No testcase defined.
  • streamOpen (scripted, public)

     <instance of nsmcp::ChatCompletionsBackend[i]> streamOpen

    Allocate shared state for a streamed HTTP response. Create an independent response buffer and counters before registering response callbacks.

    Returns:
    The new stream-state key.

    Testcases:
    No testcase defined.