@animalabs/agent-framework 0.27.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -41
- package/dist/src/agent.d.ts +29 -2
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +73 -12
- package/dist/src/agent.js.map +1 -1
- package/dist/src/api/mcp-server-core.d.ts.map +1 -1
- package/dist/src/api/mcp-server-core.js +3 -12
- package/dist/src/api/mcp-server-core.js.map +1 -1
- package/dist/src/api/server.d.ts.map +1 -1
- package/dist/src/api/server.js +11 -5
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/auto-continue.d.ts +5 -2
- package/dist/src/auto-continue.d.ts.map +1 -1
- package/dist/src/auto-continue.js +9 -5
- package/dist/src/auto-continue.js.map +1 -1
- package/dist/src/code-execution/isolate/runner.d.ts +7 -5
- package/dist/src/code-execution/isolate/runner.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/runner.js +7 -5
- package/dist/src/code-execution/isolate/runner.js.map +1 -1
- package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/scripts.js +3 -2
- package/dist/src/code-execution/isolate/scripts.js.map +1 -1
- package/dist/src/cut-off-round.d.ts +24 -0
- package/dist/src/cut-off-round.d.ts.map +1 -0
- package/dist/src/cut-off-round.js +87 -0
- package/dist/src/cut-off-round.js.map +1 -0
- package/dist/src/framework.d.ts +468 -125
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +3651 -1111
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +133 -13
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +654 -59
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/gate/index.d.ts +3 -2
- package/dist/src/gate/index.d.ts.map +1 -1
- package/dist/src/gate/index.js +2 -1
- package/dist/src/gate/index.js.map +1 -1
- package/dist/src/gate/reply-judge.d.ts +116 -0
- package/dist/src/gate/reply-judge.d.ts.map +1 -0
- package/dist/src/gate/reply-judge.js +467 -0
- package/dist/src/gate/reply-judge.js.map +1 -0
- package/dist/src/gate/types.d.ts +173 -2
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/heartbeat/heartbeat.d.ts +202 -0
- package/dist/src/heartbeat/heartbeat.d.ts.map +1 -0
- package/dist/src/heartbeat/heartbeat.js +778 -0
- package/dist/src/heartbeat/heartbeat.js.map +1 -0
- package/dist/src/heartbeat/reminder-time.d.ts +5 -0
- package/dist/src/heartbeat/reminder-time.d.ts.map +1 -0
- package/dist/src/heartbeat/reminder-time.js +107 -0
- package/dist/src/heartbeat/reminder-time.js.map +1 -0
- package/dist/src/held-writes.d.ts +3 -3
- package/dist/src/held-writes.js +3 -3
- package/dist/src/host-presentation.d.ts +170 -0
- package/dist/src/host-presentation.d.ts.map +1 -0
- package/dist/src/host-presentation.js +561 -0
- package/dist/src/host-presentation.js.map +1 -0
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/line-reader.d.ts +4 -0
- package/dist/src/line-reader.d.ts.map +1 -0
- package/dist/src/line-reader.js +59 -0
- package/dist/src/line-reader.js.map +1 -0
- package/dist/src/mcpl/capability-mask.d.ts.map +1 -1
- package/dist/src/mcpl/capability-mask.js +3 -2
- package/dist/src/mcpl/capability-mask.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +34 -6
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +133 -54
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
- package/dist/src/mcpl/conversation-router.js +2 -1
- package/dist/src/mcpl/conversation-router.js.map +1 -1
- package/dist/src/mcpl/convert-block.d.ts +1 -0
- package/dist/src/mcpl/convert-block.d.ts.map +1 -1
- package/dist/src/mcpl/convert-block.js +16 -4
- package/dist/src/mcpl/convert-block.js.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.js +4 -3
- package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
- package/dist/src/mcpl/inbound-source.d.ts +29 -11
- package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
- package/dist/src/mcpl/inbound-source.js +43 -70
- package/dist/src/mcpl/inbound-source.js.map +1 -1
- package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
- package/dist/src/mcpl/modern-connection.js +11 -7
- package/dist/src/mcpl/modern-connection.js.map +1 -1
- package/dist/src/mcpl/protocol-family.d.ts +3 -2
- package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
- package/dist/src/mcpl/protocol-family.js +25 -3
- package/dist/src/mcpl/protocol-family.js.map +1 -1
- package/dist/src/mcpl/push-handler.js +2 -2
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/references.d.ts +12 -40
- package/dist/src/mcpl/references.d.ts.map +1 -1
- package/dist/src/mcpl/references.js +29 -23
- package/dist/src/mcpl/references.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +18 -8
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +70 -30
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/skip-reply-wake.d.ts +25 -0
- package/dist/src/mcpl/skip-reply-wake.d.ts.map +1 -1
- package/dist/src/mcpl/skip-reply-wake.js +25 -0
- package/dist/src/mcpl/skip-reply-wake.js.map +1 -1
- package/dist/src/mcpl/tags.d.ts +9 -2
- package/dist/src/mcpl/tags.d.ts.map +1 -1
- package/dist/src/mcpl/tags.js +12 -2
- package/dist/src/mcpl/tags.js.map +1 -1
- package/dist/src/mcpl/tool-presence.d.ts +66 -14
- package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
- package/dist/src/mcpl/tool-presence.js +150 -80
- package/dist/src/mcpl/tool-presence.js.map +1 -1
- package/dist/src/mcpl/tool-signature.d.ts +10 -3
- package/dist/src/mcpl/tool-signature.d.ts.map +1 -1
- package/dist/src/mcpl/tool-signature.js +60 -30
- package/dist/src/mcpl/tool-signature.js.map +1 -1
- package/dist/src/mcpl/toolset-host.d.ts +88 -55
- package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
- package/dist/src/mcpl/toolset-host.js +220 -111
- package/dist/src/mcpl/toolset-host.js.map +1 -1
- package/dist/src/mcpl/toolsets-module.d.ts +27 -35
- package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
- package/dist/src/mcpl/toolsets-module.js +313 -91
- package/dist/src/mcpl/toolsets-module.js.map +1 -1
- package/dist/src/mcpl/transport.d.ts +1 -1
- package/dist/src/mcpl/transport.d.ts.map +1 -1
- package/dist/src/mcpl/transport.js +16 -16
- package/dist/src/mcpl/transport.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +31 -13
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/module-registry.d.ts +10 -8
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +15 -9
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/api/index.d.ts.map +1 -1
- package/dist/src/modules/api/index.js +4 -2
- package/dist/src/modules/api/index.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +33 -25
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/history/index.d.ts.map +1 -1
- package/dist/src/modules/history/index.js +30 -17
- package/dist/src/modules/history/index.js.map +1 -1
- package/dist/src/modules/sender-name.d.ts +7 -0
- package/dist/src/modules/sender-name.d.ts.map +1 -0
- package/dist/src/modules/sender-name.js +10 -0
- package/dist/src/modules/sender-name.js.map +1 -0
- package/dist/src/modules/workspace/answers.d.ts +26 -0
- package/dist/src/modules/workspace/answers.d.ts.map +1 -0
- package/dist/src/modules/workspace/answers.js +138 -0
- package/dist/src/modules/workspace/answers.js.map +1 -0
- package/dist/src/modules/workspace/branch-intent.d.ts +5 -3
- package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
- package/dist/src/modules/workspace/branch-intent.js +6 -2
- package/dist/src/modules/workspace/branch-intent.js.map +1 -1
- package/dist/src/modules/workspace/direct-write.d.ts +3 -0
- package/dist/src/modules/workspace/direct-write.d.ts.map +1 -1
- package/dist/src/modules/workspace/direct-write.js +59 -24
- package/dist/src/modules/workspace/direct-write.js.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.d.ts +33 -11
- package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.js +48 -17
- package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
- package/dist/src/modules/workspace/edit-text.d.ts +2 -1
- package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
- package/dist/src/modules/workspace/edit-text.js +4 -2
- package/dist/src/modules/workspace/edit-text.js.map +1 -1
- package/dist/src/modules/workspace/effects.d.ts +4 -2
- package/dist/src/modules/workspace/effects.d.ts.map +1 -1
- package/dist/src/modules/workspace/effects.js +67 -50
- package/dist/src/modules/workspace/effects.js.map +1 -1
- package/dist/src/modules/workspace/index.d.ts +63 -51
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +980 -547
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts +125 -82
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +465 -241
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/read-page.d.ts.map +1 -1
- package/dist/src/modules/workspace/read-page.js +7 -1
- package/dist/src/modules/workspace/read-page.js.map +1 -1
- package/dist/src/modules/workspace/reconcile.d.ts +7 -1
- package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
- package/dist/src/modules/workspace/reconcile.js +156 -50
- package/dist/src/modules/workspace/reconcile.js.map +1 -1
- package/dist/src/modules/workspace/result-text.d.ts +1 -0
- package/dist/src/modules/workspace/result-text.d.ts.map +1 -1
- package/dist/src/modules/workspace/result-text.js.map +1 -1
- package/dist/src/modules/workspace/sync.d.ts +9 -0
- package/dist/src/modules/workspace/sync.d.ts.map +1 -1
- package/dist/src/modules/workspace/sync.js +14 -0
- package/dist/src/modules/workspace/sync.js.map +1 -1
- package/dist/src/modules/workspace/types.d.ts +96 -43
- package/dist/src/modules/workspace/types.d.ts.map +1 -1
- package/dist/src/modules/workspace/types.js.map +1 -1
- package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
- package/dist/src/modules/workspace/watcher.js +8 -3
- package/dist/src/modules/workspace/watcher.js.map +1 -1
- package/dist/src/notice-tags.d.ts +79 -0
- package/dist/src/notice-tags.d.ts.map +1 -0
- package/dist/src/notice-tags.js +83 -0
- package/dist/src/notice-tags.js.map +1 -0
- package/dist/src/prose-drafts.d.ts +4 -3
- package/dist/src/prose-drafts.d.ts.map +1 -1
- package/dist/src/prose-drafts.js +3 -2
- package/dist/src/prose-drafts.js.map +1 -1
- package/dist/src/reasoning-loss-notice.d.ts +23 -0
- package/dist/src/reasoning-loss-notice.d.ts.map +1 -0
- package/dist/src/reasoning-loss-notice.js +52 -0
- package/dist/src/reasoning-loss-notice.js.map +1 -0
- package/dist/src/reasoning-loss.d.ts +24 -0
- package/dist/src/reasoning-loss.d.ts.map +1 -0
- package/dist/src/reasoning-loss.js +102 -0
- package/dist/src/reasoning-loss.js.map +1 -0
- package/dist/src/send-tools.d.ts +3 -2
- package/dist/src/send-tools.d.ts.map +1 -1
- package/dist/src/send-tools.js +3 -2
- package/dist/src/send-tools.js.map +1 -1
- package/dist/src/sent-rows.js +1 -1
- package/dist/src/silent-heartbeat.d.ts +1 -53
- package/dist/src/silent-heartbeat.d.ts.map +1 -1
- package/dist/src/silent-heartbeat.js +56 -3
- package/dist/src/silent-heartbeat.js.map +1 -1
- package/dist/src/supplied-text.d.ts +35 -0
- package/dist/src/supplied-text.d.ts.map +1 -0
- package/dist/src/supplied-text.js +141 -0
- package/dist/src/supplied-text.js.map +1 -0
- package/dist/src/thinking-drops.d.ts +4 -11
- package/dist/src/thinking-drops.d.ts.map +1 -1
- package/dist/src/thinking-drops.js +7 -14
- package/dist/src/thinking-drops.js.map +1 -1
- package/dist/src/tool-args.d.ts +12 -0
- package/dist/src/tool-args.d.ts.map +1 -1
- package/dist/src/tool-args.js +39 -4
- package/dist/src/tool-args.js.map +1 -1
- package/dist/src/tool-image-ledger.d.ts.map +1 -1
- package/dist/src/tool-image-ledger.js +2 -1
- package/dist/src/tool-image-ledger.js.map +1 -1
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +5 -4
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tool-result-guard.d.ts +8 -4
- package/dist/src/tool-result-guard.d.ts.map +1 -1
- package/dist/src/tool-result-guard.js +23 -11
- package/dist/src/tool-result-guard.js.map +1 -1
- package/dist/src/tune-out/coordinator.d.ts +3 -2
- package/dist/src/tune-out/coordinator.d.ts.map +1 -1
- package/dist/src/tune-out/coordinator.js +24 -26
- package/dist/src/tune-out/coordinator.js.map +1 -1
- package/dist/src/tune-out/tools.d.ts +4 -1
- package/dist/src/tune-out/tools.d.ts.map +1 -1
- package/dist/src/types/agent.d.ts +63 -18
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/events.d.ts +18 -8
- package/dist/src/types/events.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +58 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +27 -13
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +34 -1
- package/dist/src/types/trace.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/agent.ts +76 -12
- package/src/api/mcp-server-core.ts +3 -14
- package/src/api/server.ts +11 -5
- package/src/auto-continue.ts +12 -5
- package/src/code-execution/isolate/runner.ts +7 -5
- package/src/code-execution/isolate/scripts.ts +3 -2
- package/src/cut-off-round.ts +98 -0
- package/src/framework.ts +3772 -1138
- package/src/gate/event-gate.ts +705 -60
- package/src/gate/index.ts +9 -1
- package/src/gate/reply-judge.ts +512 -0
- package/src/gate/types.ts +176 -3
- package/src/heartbeat/heartbeat.ts +843 -0
- package/src/heartbeat/reminder-time.ts +107 -0
- package/src/held-writes.ts +3 -3
- package/src/host-presentation.ts +605 -0
- package/src/index.ts +5 -1
- package/src/line-reader.ts +58 -0
- package/src/mcpl/capability-mask.ts +3 -2
- package/src/mcpl/channel-registry.ts +139 -53
- package/src/mcpl/conversation-router.ts +2 -1
- package/src/mcpl/convert-block.ts +17 -4
- package/src/mcpl/hook-orchestrator.ts +4 -3
- package/src/mcpl/inbound-source.ts +45 -70
- package/src/mcpl/modern-connection.ts +11 -7
- package/src/mcpl/protocol-family.ts +24 -3
- package/src/mcpl/push-handler.ts +2 -2
- package/src/mcpl/references.ts +31 -23
- package/src/mcpl/server-connection.ts +76 -34
- package/src/mcpl/skip-reply-wake.ts +35 -0
- package/src/mcpl/tags.ts +13 -2
- package/src/mcpl/tool-presence.ts +149 -82
- package/src/mcpl/tool-signature.ts +64 -32
- package/src/mcpl/toolset-host.ts +212 -110
- package/src/mcpl/toolsets-module.ts +277 -91
- package/src/mcpl/transport.ts +18 -14
- package/src/mcpl/types.ts +32 -13
- package/src/module-registry.ts +14 -9
- package/src/modules/api/index.ts +4 -2
- package/src/modules/discord/index.ts +37 -25
- package/src/modules/history/index.ts +30 -18
- package/src/modules/sender-name.ts +9 -0
- package/src/modules/workspace/answers.ts +151 -0
- package/src/modules/workspace/branch-intent.ts +10 -5
- package/src/modules/workspace/direct-write.ts +59 -23
- package/src/modules/workspace/disk-agreement.ts +52 -21
- package/src/modules/workspace/edit-text.ts +7 -5
- package/src/modules/workspace/effects.ts +69 -50
- package/src/modules/workspace/index.ts +966 -556
- package/src/modules/workspace/observe.ts +497 -242
- package/src/modules/workspace/read-page.ts +7 -1
- package/src/modules/workspace/reconcile.ts +184 -49
- package/src/modules/workspace/result-text.ts +2 -0
- package/src/modules/workspace/sync.ts +16 -0
- package/src/modules/workspace/types.ts +96 -43
- package/src/modules/workspace/watcher.ts +8 -3
- package/src/notice-tags.ts +84 -0
- package/src/prose-drafts.ts +4 -3
- package/src/reasoning-loss-notice.ts +64 -0
- package/src/reasoning-loss.ts +120 -0
- package/src/send-tools.ts +3 -2
- package/src/sent-rows.ts +1 -1
- package/src/silent-heartbeat.ts +4 -3
- package/src/supplied-text.ts +154 -0
- package/src/thinking-drops.ts +10 -16
- package/src/tool-args.ts +38 -4
- package/src/tool-image-ledger.ts +2 -1
- package/src/tool-presentation.ts +5 -4
- package/src/tool-result-guard.ts +26 -11
- package/src/tune-out/coordinator.ts +25 -27
- package/src/tune-out/tools.ts +4 -1
- package/src/types/agent.ts +63 -18
- package/src/types/events.ts +18 -8
- package/src/types/framework.ts +59 -0
- package/src/types/module.ts +28 -13
- package/src/types/trace.ts +36 -1
|
@@ -12,19 +12,26 @@ export declare function signature(tool: HintedTool): string;
|
|
|
12
12
|
/** An options schema as `{size?: 9|13|19 =9, …}` (a toolset's options). */
|
|
13
13
|
export declare function objectSignature(schema: unknown): string;
|
|
14
14
|
/** First sentence of a description, bounded. */
|
|
15
|
-
export declare function firstSentence(text:
|
|
15
|
+
export declare function firstSentence(text: unknown, max?: number): string;
|
|
16
16
|
/** Identity of a definition as the model reads it (name, description, schema). */
|
|
17
17
|
export declare function toolDigest(tool: HintedTool): string;
|
|
18
|
+
/** The definitions a model has been shown, by digest: has and add are all rendering needs. */
|
|
19
|
+
export type Shown = {
|
|
20
|
+
has(digest: string): boolean;
|
|
21
|
+
add(digest: string): void;
|
|
22
|
+
};
|
|
18
23
|
/**
|
|
19
24
|
* Tool lines as the model reads them. A definition the model has been shown
|
|
20
25
|
* gets its signature only; a new or changed one also gets its first
|
|
21
26
|
* sentence. `shown` is updated.
|
|
22
27
|
*/
|
|
23
|
-
export declare function renderToolLines(tools: HintedTool[], shown:
|
|
28
|
+
export declare function renderToolLines(tools: HintedTool[], shown: Shown, opts?: {
|
|
24
29
|
describeAll?: boolean;
|
|
25
30
|
indent?: string;
|
|
26
31
|
}): string[];
|
|
27
|
-
/**
|
|
32
|
+
/** A server's value as JSON, or a note where it's nested too deeply, or too long, to show. */
|
|
33
|
+
export declare function jsonText(value: unknown, space?: number): string;
|
|
34
|
+
/** A tool's signature, description, class and input schema, for `look` naming a tool. */
|
|
28
35
|
export declare function renderToolDefinition(tool: HintedTool): string;
|
|
29
36
|
/** Schema levels the check descends before it gives up and lets the server decide. */
|
|
30
37
|
export declare const MAX_CHECK_DEPTH = 24;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-signature.d.ts","sourceRoot":"","sources":["../../../src/mcpl/tool-signature.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-signature.d.ts","sourceRoot":"","sources":["../../../src/mcpl/tool-signature.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAuED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CASlD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGvD;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAM,GAAG,MAAM,CAM9D;AAcD,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAKnD;AAED,8FAA8F;AAC9F,MAAM,MAAM,KAAK,GAAG;IAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,EAAE,CASlI;AAED,8FAA8F;AAC9F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAY7D;AAiBD,sFAAsF;AACtF,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,yEAAyE;AACzE,eAAO,MAAM,eAAe,OAAQ,CAAC;AAyBrC;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQxE"}
|
|
@@ -1,22 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* How a dynamic tool reads to a model when it reaches the conversation
|
|
3
3
|
* instead of the tool list (MCPL RFC-014 §8.3): a compact signature, its
|
|
4
|
-
* first sentence the first time a definition is shown,
|
|
5
|
-
*
|
|
6
|
-
* definition (RFC-014 §6.1: "the host checks
|
|
7
|
-
* against it").
|
|
4
|
+
* first sentence the first time a definition is shown, and on request its
|
|
5
|
+
* description, input schema and class. Also the host's own argument check
|
|
6
|
+
* against a tool's current definition (RFC-014 §6.1: "the host checks
|
|
7
|
+
* arguments for that instance against it").
|
|
8
8
|
*
|
|
9
9
|
* Ported from mcpl-cc-bridge's tool-render.ts and schema-check.ts, the
|
|
10
10
|
* reference host of RFC-014. Dependency-free.
|
|
11
11
|
*/
|
|
12
12
|
import { createHash } from 'node:crypto';
|
|
13
|
+
import { nameToTypeBack, quotedValue, suppliedValue } from '../supplied-text.js';
|
|
13
14
|
const isObj = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
15
|
+
/** How deep a server's value may nest and still be written out, the same on every runtime. */
|
|
16
|
+
const DEEPEST = 64;
|
|
17
|
+
function nestsWithin(value, depth = 0) {
|
|
18
|
+
if (value === null || typeof value !== 'object')
|
|
19
|
+
return true;
|
|
20
|
+
return depth <= DEEPEST && Object.values(value).every((v) => nestsWithin(v, depth + 1));
|
|
21
|
+
}
|
|
22
|
+
/** A schema's literal value (an enum's, a const or a default) as JSON, or … where it's nested too deeply to write. */
|
|
23
|
+
function literal(value) {
|
|
24
|
+
return nestsWithin(value) ? quotedValue(value) : '…';
|
|
25
|
+
}
|
|
14
26
|
function typeSig(schema, depth = 0) {
|
|
15
27
|
if (!schema || typeof schema !== 'object')
|
|
16
28
|
return 'any';
|
|
29
|
+
if (depth > 8)
|
|
30
|
+
return '…';
|
|
17
31
|
if (Array.isArray(schema.enum)) {
|
|
18
32
|
// The enum is often the menu (a decision's options): all of it unless it is long.
|
|
19
|
-
const vals = schema.enum.map(
|
|
33
|
+
const vals = schema.enum.map(literal);
|
|
20
34
|
if (vals.length <= 8 || vals.join('|').length <= 400)
|
|
21
35
|
return vals.join('|');
|
|
22
36
|
let shown = 0;
|
|
@@ -28,11 +42,13 @@ function typeSig(schema, depth = 0) {
|
|
|
28
42
|
return `${vals.slice(0, Math.max(shown, 4)).join('|')}|…(${vals.length} in all)`;
|
|
29
43
|
}
|
|
30
44
|
if (schema.const !== undefined)
|
|
31
|
-
return
|
|
45
|
+
return literal(schema.const);
|
|
32
46
|
const alts = (schema.oneOf ?? schema.anyOf);
|
|
33
47
|
if (Array.isArray(alts))
|
|
34
48
|
return alts.map((s) => typeSig(s, depth + 1)).join(' | ');
|
|
35
|
-
|
|
49
|
+
// Only text names a type: entries that aren't text are left out, and a type with none reads as no type.
|
|
50
|
+
const types = (Array.isArray(schema.type) ? schema.type : [schema.type]).filter((x) => typeof x === 'string');
|
|
51
|
+
const t = types.length ? types.join('|') : undefined;
|
|
36
52
|
switch (t) {
|
|
37
53
|
case 'integer':
|
|
38
54
|
case 'number': {
|
|
@@ -60,12 +76,12 @@ function typeSig(schema, depth = 0) {
|
|
|
60
76
|
if (depth >= 3)
|
|
61
77
|
return '{…}';
|
|
62
78
|
const req = new Set(Array.isArray(schema.required) ? schema.required : []);
|
|
63
|
-
return `{${Object.entries(props).map(([k, v]) => `${k}${req.has(k) ? '' : '?'}: ${typeSig(v, depth + 1)}`).join(', ')}}`;
|
|
79
|
+
return `{${Object.entries(props).map(([k, v]) => `${nameToTypeBack(k)}${req.has(k) ? '' : '?'}: ${typeSig(v, depth + 1)}`).join(', ')}}`;
|
|
64
80
|
}
|
|
65
81
|
case undefined:
|
|
66
82
|
return 'any';
|
|
67
83
|
default:
|
|
68
|
-
return t;
|
|
84
|
+
return suppliedValue(t);
|
|
69
85
|
}
|
|
70
86
|
}
|
|
71
87
|
const schemaOf = (tool) => (isObj(tool.inputSchema) ? tool.inputSchema : {});
|
|
@@ -75,10 +91,10 @@ export function signature(tool) {
|
|
|
75
91
|
const props = (isObj(s.properties) ? s.properties : {});
|
|
76
92
|
const req = new Set(Array.isArray(s.required) ? s.required : []);
|
|
77
93
|
const params = Object.entries(props).map(([k, v]) => {
|
|
78
|
-
const def = isObj(v) && v.default !== undefined ? ` =${
|
|
79
|
-
return `${k}${req.has(k) ? '' : '?'}: ${typeSig(v, 1)}${def}`;
|
|
94
|
+
const def = isObj(v) && v.default !== undefined ? ` =${literal(v.default)}` : '';
|
|
95
|
+
return `${nameToTypeBack(k)}${req.has(k) ? '' : '?'}: ${typeSig(v, 1)}${def}`;
|
|
80
96
|
});
|
|
81
|
-
return `${tool.name}(${params.join(', ')})`;
|
|
97
|
+
return `${nameToTypeBack(String(tool.name))}(${params.join(', ')})`;
|
|
82
98
|
}
|
|
83
99
|
/** An options schema as `{size?: 9|13|19 =9, …}` (a toolset's options). */
|
|
84
100
|
export function objectSignature(schema) {
|
|
@@ -87,22 +103,24 @@ export function objectSignature(schema) {
|
|
|
87
103
|
}
|
|
88
104
|
/** First sentence of a description, bounded. */
|
|
89
105
|
export function firstSentence(text, max = 140) {
|
|
90
|
-
const t = (text
|
|
106
|
+
const t = (typeof text === 'string' ? text : '').trim().replace(/\s+/g, ' ');
|
|
91
107
|
// A sentence ends at . ! ? followed by a capital, a bracket, or the end, so "e.g. \"D4\"" does not end it.
|
|
92
108
|
const m = t.match(/^(.+?[.!?])(?=\s+[A-Z([]|$)/);
|
|
93
|
-
const s = m ? m[1] : t;
|
|
94
|
-
return s.length > max ? s.slice(0, max - 1) + '…' : s;
|
|
109
|
+
const s = [...(m ? m[1] : t)];
|
|
110
|
+
return s.length > max ? s.slice(0, max - 1).join('') + '…' : s.join('');
|
|
95
111
|
}
|
|
96
|
-
function canonicalJson(value) {
|
|
112
|
+
function canonicalJson(value, depth = 0) {
|
|
97
113
|
if (value === null || typeof value !== 'object')
|
|
98
114
|
return JSON.stringify(value) ?? 'null';
|
|
115
|
+
if (depth > DEEPEST)
|
|
116
|
+
return '"…"';
|
|
99
117
|
if (Array.isArray(value))
|
|
100
|
-
return `[${value.map(canonicalJson).join(',')}]`;
|
|
118
|
+
return `[${value.map((v) => canonicalJson(v, depth + 1)).join(',')}]`;
|
|
101
119
|
const obj = value;
|
|
102
120
|
return `{${Object.keys(obj)
|
|
103
121
|
.sort()
|
|
104
122
|
.filter((k) => obj[k] !== undefined)
|
|
105
|
-
.map((k) => `${JSON.stringify(k)}:${canonicalJson(obj[k])}`)
|
|
123
|
+
.map((k) => `${JSON.stringify(k)}:${canonicalJson(obj[k], depth + 1)}`)
|
|
106
124
|
.join(',')}}`;
|
|
107
125
|
}
|
|
108
126
|
/** Identity of a definition as the model reads it (name, description, schema). */
|
|
@@ -124,18 +142,30 @@ export function renderToolLines(tools, shown, opts = {}) {
|
|
|
124
142
|
const describe = opts.describeAll || !shown.has(d);
|
|
125
143
|
shown.add(d);
|
|
126
144
|
const sentence = describe ? firstSentence(t.description) : '';
|
|
127
|
-
return `${indent}${signature(t)}${sentence ? ` — ${sentence}` : ''}`;
|
|
145
|
+
return `${indent}${signature(t)}${sentence ? ` — ${suppliedValue(sentence)}` : ''}`;
|
|
128
146
|
});
|
|
129
147
|
}
|
|
130
|
-
/**
|
|
148
|
+
/** A server's value as JSON, or a note where it's nested too deeply, or too long, to show. */
|
|
149
|
+
export function jsonText(value, space) {
|
|
150
|
+
if (!nestsWithin(value))
|
|
151
|
+
return '(nested too deeply to show)';
|
|
152
|
+
try {
|
|
153
|
+
return JSON.stringify(value) === undefined ? '' : quotedValue(value, space);
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return '(too long to show)';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** A tool's signature, description, class and input schema, for `look` naming a tool. */
|
|
131
160
|
export function renderToolDefinition(tool) {
|
|
132
161
|
const cls = tool._meta?.['mcpl/class'];
|
|
162
|
+
const classes = Array.isArray(cls) ? cls.filter((c) => typeof c === 'string') : [];
|
|
133
163
|
return [
|
|
134
164
|
signature(tool),
|
|
135
|
-
tool.description
|
|
136
|
-
...(
|
|
165
|
+
typeof tool.description === 'string' ? suppliedValue(tool.description) : '',
|
|
166
|
+
...(classes.length ? [`class: ${classes.map(suppliedValue).join(', ')}`] : []),
|
|
137
167
|
'inputSchema:',
|
|
138
|
-
|
|
168
|
+
jsonText(tool.inputSchema ?? {}, 2),
|
|
139
169
|
]
|
|
140
170
|
.filter((l) => l !== '')
|
|
141
171
|
.join('\n');
|
|
@@ -210,17 +240,17 @@ function check(schema, value, at, depth, budget) {
|
|
|
210
240
|
if (s.type !== undefined) {
|
|
211
241
|
const types = Array.isArray(s.type) ? s.type : [s.type];
|
|
212
242
|
if (!types.some((t) => typeOk(t, value)))
|
|
213
|
-
return `${at}: must be ${types.join(' or ')}`;
|
|
243
|
+
return `${at}: must be ${types.map(suppliedValue).join(' or ')}`;
|
|
214
244
|
}
|
|
215
245
|
if (Array.isArray(s.enum) || s.const !== undefined) {
|
|
216
246
|
const own = canonicalJson(value);
|
|
217
247
|
if (Array.isArray(s.enum)) {
|
|
218
248
|
spend(budget, s.enum.length);
|
|
219
249
|
if (!s.enum.some((e) => canonicalJson(e) === own))
|
|
220
|
-
return `${at}: must be one of ${s.enum.map((e) =>
|
|
250
|
+
return `${at}: must be one of ${s.enum.map((e) => quotedValue(e)).join('|')}`;
|
|
221
251
|
}
|
|
222
252
|
if (s.const !== undefined && canonicalJson(s.const) !== own)
|
|
223
|
-
return `${at}: must be ${
|
|
253
|
+
return `${at}: must be ${quotedValue(s.const)}`;
|
|
224
254
|
}
|
|
225
255
|
if (typeof value === 'string') {
|
|
226
256
|
const n = [...value].length;
|
|
@@ -256,19 +286,19 @@ function check(schema, value, at, depth, budget) {
|
|
|
256
286
|
const props = isObj(s.properties) ? s.properties : {};
|
|
257
287
|
for (const r of Array.isArray(s.required) ? s.required : []) {
|
|
258
288
|
if (typeof r === 'string' && !Object.hasOwn(value, r))
|
|
259
|
-
return `${at}.${r}: required`;
|
|
289
|
+
return `${at}.${nameToTypeBack(r)}: required`;
|
|
260
290
|
}
|
|
261
291
|
for (const [k, v] of Object.entries(value)) {
|
|
262
292
|
if (Object.hasOwn(props, k)) {
|
|
263
|
-
const e = check(props[k], v, `${at}.${k}`, depth + 1, budget);
|
|
293
|
+
const e = check(props[k], v, `${at}.${nameToTypeBack(k)}`, depth + 1, budget);
|
|
264
294
|
if (e)
|
|
265
295
|
return e;
|
|
266
296
|
}
|
|
267
297
|
else if (s.additionalProperties === false) {
|
|
268
|
-
return `${at}.${k}: not an argument of this tool`;
|
|
298
|
+
return `${at}.${nameToTypeBack(k)}: not an argument of this tool`;
|
|
269
299
|
}
|
|
270
300
|
else if (isObj(s.additionalProperties)) {
|
|
271
|
-
const e = check(s.additionalProperties, v, `${at}.${k}`, depth + 1, budget);
|
|
301
|
+
const e = check(s.additionalProperties, v, `${at}.${nameToTypeBack(k)}`, depth + 1, budget);
|
|
272
302
|
if (e)
|
|
273
303
|
return e;
|
|
274
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-signature.js","sourceRoot":"","sources":["../../../src/mcpl/tool-signature.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-signature.js","sourceRoot":"","sources":["../../../src/mcpl/tool-signature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
* MCPL RFC-014, host side: per server, the controller that feeds the
|
|
3
|
-
* server's tool presence (tool-presence.ts) from what its connection reads,
|
|
4
|
-
* sends toolsets/open, close and list, recovers from a lost rev, and renders
|
|
5
|
-
* what changed; and the hub that holds every server's controller for the
|
|
6
|
-
* meta-tools (toolsets-module.ts) and for reminders.
|
|
7
|
-
*
|
|
8
|
-
* Hint changes apply as their message is read (RFC §6.1): the connection's
|
|
9
|
-
* read tap hands the controller every result of a hinted request (awaited or
|
|
10
|
-
* not), every push/event and every tools/hints, of the current transport,
|
|
11
|
-
* synchronously and in arrival order, before anything routes the message.
|
|
12
|
-
* What a message's changes did to the model's view is kept by the object
|
|
13
|
-
* that carried them (`readChanges`), so whoever later handles that object
|
|
14
|
-
* (the tool result, the push, the meta-tool) renders it next to the content.
|
|
15
|
-
*
|
|
16
|
-
* Reminders (RFC §8.3): after each compile built to send, the hub reads
|
|
17
|
-
* which open toolsets' markers (`[server/toolset:instance]`) the request
|
|
18
|
-
* carried. A marker an agent has had in view, gone from a later request
|
|
19
|
-
* (compressed, or out of the window), makes a reminder due for that agent,
|
|
20
|
-
* which the toolsets module gathers at its next start as a stored
|
|
21
|
-
* `afterUser` injection.
|
|
22
|
-
*/
|
|
23
|
-
import type { McplServerConnection } from './server-connection.js';
|
|
1
|
+
import { type McplServerConnection } from './server-connection.js';
|
|
24
2
|
import type { McplServerConfig } from './types.js';
|
|
25
|
-
import { ToolPresence, type ChangeSet, type MetaToolNames } from './tool-presence.js';
|
|
3
|
+
import { ToolPresence, type ChangeSet, type MetaToolNames, type Presence } from './tool-presence.js';
|
|
26
4
|
/** The meta-tools' module, whose tools are `toolsets--open` and so on. */
|
|
27
5
|
export declare const TOOLSETS_MODULE = "toolsets";
|
|
28
6
|
export declare const META_TOOL_NAMES: MetaToolNames;
|
|
29
|
-
/** How long an open
|
|
7
|
+
/** How long an open or close is waited for. A late result still applies when it's read. */
|
|
30
8
|
export declare const TOOLSET_REQUEST_TIMEOUT_MS = 60000;
|
|
31
9
|
export interface ToolsetHostDeps {
|
|
32
10
|
/** A standalone notice into the conversation: a tools/hints change, a late
|
|
@@ -34,15 +12,31 @@ export interface ToolsetHostDeps {
|
|
|
34
12
|
* open. The host applies its usual rules for events. */
|
|
35
13
|
notify(serverId: string, text: string, opts: {
|
|
36
14
|
invite: boolean;
|
|
37
|
-
}):
|
|
15
|
+
}): boolean;
|
|
16
|
+
/** Whether the server's changes may be put into the conversation unasked
|
|
17
|
+
* (its `pushEvents` grant): notices and reminders. */
|
|
18
|
+
canNotify(serverId: string): boolean;
|
|
38
19
|
/** The operator's log. */
|
|
39
20
|
log(line: string): void;
|
|
40
21
|
/** How a static tool is named in the tool list (`prefix--tool`). */
|
|
41
22
|
listedName(serverId: string, tool: string): string;
|
|
23
|
+
/** Where the model's published tool list last put a server's tool:
|
|
24
|
+
* offered in it (static), listed but not offered (dynamic), or undefined
|
|
25
|
+
* where it isn't published. RFC §4.2: until its move applies, a tool
|
|
26
|
+
* keeps working where it is. */
|
|
27
|
+
published?(serverId: string, tool: string): Presence | undefined;
|
|
28
|
+
/** The host's own toolsets an agent has open (the built-in one, server
|
|
29
|
+
* tabs): each one's marker and reminder, for RFC §8.3 reminders beside the
|
|
30
|
+
* servers' toolsets. */
|
|
31
|
+
hostOpen?(agentName: string): Array<{
|
|
32
|
+
marker: string;
|
|
33
|
+
reminder: () => string;
|
|
34
|
+
dueWhenAbsent?: boolean;
|
|
35
|
+
}>;
|
|
42
36
|
}
|
|
43
37
|
/** One server's RFC-014 state and traffic. Lives as long as the server's
|
|
44
|
-
* configuration, across reconnects and restarts (its `ended`
|
|
45
|
-
* the model was shown carry over). */
|
|
38
|
+
* configuration, across reconnects and the server's restarts (its `ended`
|
|
39
|
+
* ids and what the model was shown carry over), in memory only. */
|
|
46
40
|
export declare class ToolsetController {
|
|
47
41
|
readonly serverId: string;
|
|
48
42
|
private config;
|
|
@@ -53,25 +47,22 @@ export declare class ToolsetController {
|
|
|
53
47
|
private epoch;
|
|
54
48
|
/** What applying a message's hints changed, by the object that carried them. */
|
|
55
49
|
private readonly readChanges;
|
|
56
|
-
/** Results whose change no one has
|
|
50
|
+
/** Results whose change no one has taken yet, in the order they were read, with their method (tellUnlessClaimed). */
|
|
57
51
|
private readonly unclaimed;
|
|
58
52
|
/** eventIds of pushes read on this transport (bounded): a repeat's hints are ignored (RFC §6.1). */
|
|
59
53
|
private seenEvents;
|
|
60
|
-
/** A paged tools/list being read. */
|
|
61
|
-
private listPages;
|
|
62
|
-
/** Lists this controller asked for itself, whose change it delivers. */
|
|
63
|
-
private ownLists;
|
|
64
|
-
/** What lists read while one of its own was out changed, for it to tell. */
|
|
65
|
-
private ownListChange;
|
|
66
54
|
private recoveryTimer;
|
|
67
55
|
private recovering;
|
|
68
56
|
private recoverAgain;
|
|
69
57
|
constructor(serverId: string, config: McplServerConfig, deps: ToolsetHostDeps);
|
|
70
58
|
private log;
|
|
59
|
+
private field;
|
|
60
|
+
private failure;
|
|
71
61
|
/** A restart can bring a new configuration under the same id. */
|
|
72
62
|
setConfig(config: McplServerConfig): void;
|
|
73
63
|
/** Tap this connection (a connect or a restart's new one). */
|
|
74
64
|
attach(connection: McplServerConnection): void;
|
|
65
|
+
release(): void;
|
|
75
66
|
/** The server's connection is gone for good (disconnected, removed). */
|
|
76
67
|
detach(connection: McplServerConnection): void;
|
|
77
68
|
/** Whether the meta-tools speak for this server now. */
|
|
@@ -96,13 +87,25 @@ export declare class ToolsetController {
|
|
|
96
87
|
private readToolList;
|
|
97
88
|
/** toolsets/list, as read: a full statement of dynamic-tool state under its own rev (RFC §5.3, §6.1). */
|
|
98
89
|
private readToolsetList;
|
|
99
|
-
/** A change with nothing else to ride on, told as a notice. */
|
|
90
|
+
/** A change with nothing else to ride on, told as a notice, after every result's change still unclaimed. */
|
|
100
91
|
private deliver;
|
|
92
|
+
/**
|
|
93
|
+
* Unclaimed carriers' changes, told as notices in the order they were read,
|
|
94
|
+
* through `upTo` when given. When no notice can be written, a push keeps its
|
|
95
|
+
* change for the framework's push path, which takes it when the push gets
|
|
96
|
+
* there; a result's is dropped, whether or not its caller is still to
|
|
97
|
+
* resume.
|
|
98
|
+
*/
|
|
99
|
+
private tellUnclaimed;
|
|
100
|
+
/** Whether a notice was written, there was nothing left to tell (`empty`), or one couldn't be written (`refused`). */
|
|
101
|
+
private notice;
|
|
101
102
|
/**
|
|
102
103
|
* A dynamic tool called by its namespaced name, as if it were listed (a
|
|
103
104
|
* model imitating an earlier call, a module): refused, so every call into
|
|
104
105
|
* a toolset goes through act, which knows its instance and gates closed
|
|
105
|
-
* groups (RFC §5.4, §5.5). Null for any other tool
|
|
106
|
+
* groups (RFC §5.4, §5.5). Null for any other tool, including one the tool
|
|
107
|
+
* list last published or the server's latest tools/list puts as static
|
|
108
|
+
* (shownAs: RFC §4.2, until its move applies).
|
|
106
109
|
*/
|
|
107
110
|
dynamicCallRefusal(tool: string, calledAs: string): string | null;
|
|
108
111
|
/**
|
|
@@ -112,23 +115,37 @@ export declare class ToolsetController {
|
|
|
112
115
|
* run (the next macrotask), such as the result of a call the framework makes
|
|
113
116
|
* itself (a reaction, a send, an accounted side effect), is told as a notice
|
|
114
117
|
* instead, as a standalone tools/hints is (RFC §6.1: every change reaches the
|
|
115
|
-
* agent once).
|
|
118
|
+
* agent once), or dropped as tellUnclaimed says when none can be written.
|
|
116
119
|
*/
|
|
117
120
|
private tellUnlessClaimed;
|
|
118
|
-
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
/**
|
|
122
|
+
* The change a carrier's hints made (a tool result, a push's params), taken
|
|
123
|
+
* by a caller that shows it to an agent with the carrier: it isn't told as a
|
|
124
|
+
* notice, and the caller says when it has reached an agent (told). Call it
|
|
125
|
+
* synchronously as the carrier is read, before the next macrotask, when an
|
|
126
|
+
* unclaimed carrier's change goes out as a notice instead (tellUnclaimed
|
|
127
|
+
* says what happens when none can be written). A change already gone that
|
|
128
|
+
* way is empty here. Unclaimed carriers read before this one
|
|
129
|
+
* are told first, as notices, so no later change is shown before them.
|
|
130
|
+
*/
|
|
131
|
+
takeChange(carrier: unknown): ChangeSet;
|
|
132
|
+
/** A change its taker showed to an agent: its ended records count as told, and the definitions it describes as shown, unless the taker showed it without its blocks (`blocksShown: false`). */
|
|
133
|
+
told(cs: ChangeSet): void;
|
|
134
|
+
/** A change its taker couldn't show, told as a notice instead, or dropped when none can be written. */
|
|
135
|
+
tell(cs: ChangeSet): void;
|
|
136
|
+
private changeOf;
|
|
124
137
|
private scheduleRecovery;
|
|
125
138
|
/**
|
|
126
139
|
* Recovering: re-read tools/list (presence, declared definitions), then
|
|
127
140
|
* toolsets/list (dynamic-tool state in full), so every tool the statement
|
|
128
|
-
* names is already known
|
|
129
|
-
*
|
|
141
|
+
* names is already known, unless tools/list failed: a tool the last list
|
|
142
|
+
* lacks then stays unknown until a later change or list starts a recovery.
|
|
143
|
+
* Each applies where it's read. What
|
|
144
|
+
* changed is told. (stdio and WebSocket deliver in order, so no early rev is
|
|
145
|
+
* held.)
|
|
130
146
|
*/
|
|
131
147
|
private recover;
|
|
148
|
+
/** The tap applies the list and tells its change as it's read. */
|
|
132
149
|
private ownToolList;
|
|
133
150
|
private ownToolsetList;
|
|
134
151
|
/**
|
|
@@ -141,12 +158,21 @@ export declare class ToolsetController {
|
|
|
141
158
|
connected(connection: McplServerConnection): Promise<void>;
|
|
142
159
|
/**
|
|
143
160
|
* Re-read what the server holds open (titles, visibility) without telling
|
|
144
|
-
* it
|
|
145
|
-
*
|
|
161
|
+
* it, for look. Returns what the re-read changed, taken from the notice it
|
|
162
|
+
* would otherwise get when `shown` (its result reaches an agent): look then
|
|
163
|
+
* either shows it (told) or hands it back (tell). Otherwise the change is
|
|
164
|
+
* left to its notice, and returned to be shown to the caller alone. Null
|
|
165
|
+
* when nothing was read.
|
|
146
166
|
*/
|
|
147
|
-
refreshOpen(
|
|
148
|
-
|
|
149
|
-
|
|
167
|
+
refreshOpen(opts: {
|
|
168
|
+
shown: boolean;
|
|
169
|
+
}): Promise<ChangeSet | null>;
|
|
170
|
+
/** toolsets/open (RFC §5.2). The server's refusal rejects. Its change is
|
|
171
|
+
* taken when `shown` (its result reaches an agent), else left to its
|
|
172
|
+
* notice and returned for the caller alone; close's is the same. */
|
|
173
|
+
open(toolset: string, instance: string | undefined, options: Record<string, unknown> | undefined, opts: {
|
|
174
|
+
shown: boolean;
|
|
175
|
+
}): Promise<{
|
|
150
176
|
key: string;
|
|
151
177
|
title?: string;
|
|
152
178
|
content: unknown[];
|
|
@@ -154,7 +180,9 @@ export declare class ToolsetController {
|
|
|
154
180
|
adopted: boolean;
|
|
155
181
|
}>;
|
|
156
182
|
/** toolsets/close (RFC §5.2). */
|
|
157
|
-
close(toolset: string, instance: string | undefined
|
|
183
|
+
close(toolset: string, instance: string | undefined, opts: {
|
|
184
|
+
shown: boolean;
|
|
185
|
+
}): Promise<{
|
|
158
186
|
content: unknown[];
|
|
159
187
|
change: ChangeSet;
|
|
160
188
|
}>;
|
|
@@ -166,8 +194,11 @@ export declare class ToolsetController {
|
|
|
166
194
|
* that withdraws toolHints is hint-less from then on. What changed is told.
|
|
167
195
|
*/
|
|
168
196
|
manifestChanged(declarations: Record<string, unknown> | null): void;
|
|
169
|
-
/**
|
|
170
|
-
applyMoves(
|
|
197
|
+
/** At a rebuild of the model's tool list (RFC §4.2), tell where the tools it moved went: `moves`, those still pending, or every one pending. A move a list has undone since the rebuild listed the server isn't told; the next rebuild publishes the undoing. */
|
|
198
|
+
applyMoves(moves?: Array<{
|
|
199
|
+
name: string;
|
|
200
|
+
to: Presence;
|
|
201
|
+
}>): void;
|
|
171
202
|
}
|
|
172
203
|
/** Every server's controller, for the meta-tools and reminders. */
|
|
173
204
|
export declare class ToolsetHub {
|
|
@@ -180,7 +211,9 @@ export declare class ToolsetHub {
|
|
|
180
211
|
/** The controller for a server, made at its first connect. */
|
|
181
212
|
controllerFor(config: McplServerConfig): ToolsetController;
|
|
182
213
|
get(serverId: string): ToolsetController | undefined;
|
|
183
|
-
/** A server's configuration went (removed):
|
|
214
|
+
/** A server's configuration went (removed): its controller lets go of the
|
|
215
|
+
* connection it holds, and is forgotten, so a server added later under
|
|
216
|
+
* the same id starts from nothing. */
|
|
184
217
|
forget(serverId: string): void;
|
|
185
218
|
all(): ToolsetController[];
|
|
186
219
|
/** The servers the meta-tools speak for now. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolset-host.d.ts","sourceRoot":"","sources":["../../../src/mcpl/toolset-host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolset-host.d.ts","sourceRoot":"","sources":["../../../src/mcpl/toolset-host.ts"],"names":[],"mappings":"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"}
|