Capability first · transport second

ConversationClosingReport.js

Defines the closing-report tool, instruction, result normalizer, call classifier, and formatter.

SDK 0.5.18Runtime 0.8.12Protocol arcane/1
On this page

Overview

Defines the closing-report tool, instruction, result normalizer, call classifier, and formatter.

  • Artifact
    ConversationClosingReport.js · esm
  • Classification
    public first party
  • Availability
    Cross-host
  • Normalization
    Required user-facing message remains distinct from the complete final_message; normalized results expose message, finalMessage, and rememberedActions.

Import and lifecycle

JavaScript
import * as module from '/arcane/modules/ConversationClosingReport.js';

Pure tool-schema, instruction, classification, normalization, and escaped-text formatting; it performs no inference, persistence, rendering, action, navigation, or delivery.

Application-facing behavior: Six constants/helpers for closing reports; the sole-call schema requires message and finalmessage.

Protocol and host implementation

In-process only This detail does not widen the application-facing API or grant authority.

Exports, signatures, parameters, and results

BindingFormDeclaration or signatureParameter syntax
createConversationClosingReportToolfunctionfunction createConversationClosingReportTool({ name=DEFAULT_TOOL_NAME, description='Prepare a complete closing report when the user clearly ends a conversation.' }={}){ name=DEFAULT_TOOL_NAME, description='Prepare a complete closing report when the user clearly ends a conversation.' }={}
conversationClosingReportInstructionfunctionfunction conversationClosingReportInstruction({ enabled=true, toolName=DEFAULT_TOOL_NAME, completionTrigger='the user clearly says they are finished or explicitly asks to wrap up' }={}){ enabled=true, toolName=DEFAULT_TOOL_NAME, completionTrigger='the user clearly says they are finished or explicitly asks to wrap up' }={}
normalizeConversationClosingReportfunctionfunction normalizeConversationClosingReport(value)value
classifyConversationClosingReportCallsfunctionfunction classifyConversationClosingReportCalls(calls={}, { toolName=DEFAULT_TOOL_NAME }={})calls={}, { toolName=DEFAULT_TOOL_NAME }={}
formatConversationClosingReportfunctionfunction formatConversationClosingReport(value)value
CONVERSATION_CLOSING_REPORT_TOOL_NAMEalias · valueDEFAULT_TOOL_NAME as CONVERSATION_CLOSING_REPORT_TOOL_NAME

Parameter meanings and results

createConversationClosingReportTool(options) returns a mutable function-tool schema requiring nonempty string message and final_message fields; remembered_actions remains optional. normalizeConversationClosingReport(value) accepts an object or JSON and returns mutable {message,finalMessage,rememberedActions}; the classifier accepts only a sole named call. message is the brief user-facing progress text for accepting and rendering the call, while final_message remains the complete closeout and the formatter HTML-escapes only that final text.

Events, side effects, and errors

Source-literal CustomEvent dispatches

No source-literal CustomEvent dispatch is part of this artifact.

Lifecycle and event flow

This artifact has no additional documented lifecycle event flow.

Direct coded failures

  • CONVERSATION_CLOSING_REPORT_INVALID

Exported Error subclasses

This artifact exports no Error subclass.

Documented failure behavior

  • CONVERSATION_CLOSING_REPORT_INVALID

Availability and capabilities

Cross-host. Required user-facing message remains distinct from the complete final_message; normalized results expose message, finalMessage, and rememberedActions.

Provider-neutral terminal tool contract; the app and provider own calling and any consented local persistence.

Contract example

JavaScript
import {normalizeConversationClosingReport, formatConversationClosingReport} from '/arcane/modules/ConversationClosingReport.js';

const report=normalizeConversationClosingReport({
    message:'Preparing the conversation closeout.',
    final_message:'All requested work is complete.',
    remembered_actions:[]
});
console.log(formatConversationClosingReport(report));

No direct Core call is claimed for this artifact. Any injected provider or consuming module retains its own documented authority.