@animalabs/agent-framework 0.32.0 → 0.34.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 +340 -22
- package/dist/src/admission/admit.d.ts +18 -0
- package/dist/src/admission/admit.d.ts.map +1 -1
- package/dist/src/admission/admit.js +16 -3
- package/dist/src/admission/admit.js.map +1 -1
- package/dist/src/agent.d.ts +208 -80
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +345 -113
- 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 +50 -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 +4 -20
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/append-all.d.ts +5 -0
- package/dist/src/append-all.d.ts.map +1 -0
- package/dist/src/append-all.js +8 -0
- package/dist/src/append-all.js.map +1 -0
- package/dist/src/code-execution/isolate/scripts.d.ts +12 -8
- package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/scripts.js +24 -0
- package/dist/src/code-execution/isolate/scripts.js.map +1 -1
- package/dist/src/config-checks.d.ts +7 -0
- package/dist/src/config-checks.d.ts.map +1 -1
- package/dist/src/config-checks.js +14 -0
- package/dist/src/config-checks.js.map +1 -1
- package/dist/src/context-manager-errors.d.ts +25 -0
- package/dist/src/context-manager-errors.d.ts.map +1 -0
- package/dist/src/context-manager-errors.js +31 -0
- package/dist/src/context-manager-errors.js.map +1 -0
- package/dist/src/context-options.d.ts +70 -0
- package/dist/src/context-options.d.ts.map +1 -0
- package/dist/src/context-options.js +90 -0
- package/dist/src/context-options.js.map +1 -0
- package/dist/src/cut-off-round.js +4 -4
- package/dist/src/deferred-import.d.ts +93 -0
- package/dist/src/deferred-import.d.ts.map +1 -0
- package/dist/src/deferred-import.js +177 -0
- package/dist/src/deferred-import.js.map +1 -0
- package/dist/src/dendrite/audience.d.ts +223 -0
- package/dist/src/dendrite/audience.d.ts.map +1 -0
- package/dist/src/dendrite/audience.js +202 -0
- package/dist/src/dendrite/audience.js.map +1 -0
- package/dist/src/dendrite/index.d.ts +5 -3
- package/dist/src/dendrite/index.d.ts.map +1 -1
- package/dist/src/dendrite/index.js +2 -1
- package/dist/src/dendrite/index.js.map +1 -1
- package/dist/src/dendrite/presets.d.ts +10 -5
- package/dist/src/dendrite/presets.d.ts.map +1 -1
- package/dist/src/dendrite/presets.js +17 -5
- package/dist/src/dendrite/presets.js.map +1 -1
- package/dist/src/dendrite/registry.d.ts +62 -7
- package/dist/src/dendrite/registry.d.ts.map +1 -1
- package/dist/src/dendrite/registry.js +183 -12
- package/dist/src/dendrite/registry.js.map +1 -1
- package/dist/src/dendrite/types.d.ts +91 -8
- package/dist/src/dendrite/types.d.ts.map +1 -1
- package/dist/src/failure-text.d.ts +36 -0
- package/dist/src/failure-text.d.ts.map +1 -0
- package/dist/src/failure-text.js +89 -0
- package/dist/src/failure-text.js.map +1 -0
- package/dist/src/foreign-rounds.d.ts +69 -0
- package/dist/src/foreign-rounds.d.ts.map +1 -0
- package/dist/src/foreign-rounds.js +152 -0
- package/dist/src/foreign-rounds.js.map +1 -0
- package/dist/src/framework.d.ts +2064 -842
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +8586 -3739
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +125 -21
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +487 -72
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/gate/index.d.ts +1 -1
- package/dist/src/gate/index.d.ts.map +1 -1
- package/dist/src/gate/index.js.map +1 -1
- package/dist/src/gate/reply-judge.d.ts +4 -0
- package/dist/src/gate/reply-judge.d.ts.map +1 -1
- package/dist/src/gate/reply-judge.js +12 -3
- package/dist/src/gate/reply-judge.js.map +1 -1
- package/dist/src/gate/rule-scope.d.ts +30 -0
- package/dist/src/gate/rule-scope.d.ts.map +1 -0
- package/dist/src/gate/rule-scope.js +41 -0
- package/dist/src/gate/rule-scope.js.map +1 -0
- package/dist/src/gate/suppress-script-worker.d.ts +2 -0
- package/dist/src/gate/suppress-script-worker.d.ts.map +1 -0
- package/dist/src/gate/suppress-script-worker.js +103 -0
- package/dist/src/gate/suppress-script-worker.js.map +1 -0
- package/dist/src/gate/suppress-scripts.d.ts +105 -0
- package/dist/src/gate/suppress-scripts.d.ts.map +1 -0
- package/dist/src/gate/suppress-scripts.js +403 -0
- package/dist/src/gate/suppress-scripts.js.map +1 -0
- package/dist/src/gate/suppression-review.d.ts +143 -0
- package/dist/src/gate/suppression-review.d.ts.map +1 -0
- package/dist/src/gate/suppression-review.js +463 -0
- package/dist/src/gate/suppression-review.js.map +1 -0
- package/dist/src/gate/suppression-stats.d.ts +125 -0
- package/dist/src/gate/suppression-stats.d.ts.map +1 -0
- package/dist/src/gate/suppression-stats.js +214 -0
- package/dist/src/gate/suppression-stats.js.map +1 -0
- package/dist/src/gate/types.d.ts +142 -7
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/gate/wake-onboarding.d.ts +119 -0
- package/dist/src/gate/wake-onboarding.d.ts.map +1 -0
- package/dist/src/gate/wake-onboarding.js +277 -0
- package/dist/src/gate/wake-onboarding.js.map +1 -0
- package/dist/src/heartbeat/heartbeat.js +1 -1
- package/dist/src/heartbeat/heartbeat.js.map +1 -1
- package/dist/src/held-writes.d.ts +31 -23
- package/dist/src/held-writes.d.ts.map +1 -1
- package/dist/src/held-writes.js +44 -59
- package/dist/src/held-writes.js.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/inference-bounds.d.ts +2 -1
- package/dist/src/inference-bounds.d.ts.map +1 -1
- package/dist/src/inference-bounds.js +9 -6
- package/dist/src/inference-bounds.js.map +1 -1
- package/dist/src/jsonrpc-envelope.d.ts +69 -0
- package/dist/src/jsonrpc-envelope.d.ts.map +1 -0
- package/dist/src/jsonrpc-envelope.js +66 -0
- package/dist/src/jsonrpc-envelope.js.map +1 -0
- package/dist/src/mcpl/channel-registry.d.ts +188 -28
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +426 -70
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.d.ts +2 -4
- package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
- package/dist/src/mcpl/feature-set-manager.d.ts +2 -4
- package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
- package/dist/src/mcpl/feature-set-manager.js.map +1 -1
- package/dist/src/mcpl/inbound-source.d.ts +2 -1
- package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
- package/dist/src/mcpl/inbound-source.js +2 -1
- package/dist/src/mcpl/inbound-source.js.map +1 -1
- package/dist/src/mcpl/inference-router.d.ts +6 -6
- package/dist/src/mcpl/inference-router.d.ts.map +1 -1
- package/dist/src/mcpl/inference-router.js.map +1 -1
- package/dist/src/mcpl/modern-connection.d.ts +109 -15
- package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
- package/dist/src/mcpl/modern-connection.js +593 -86
- package/dist/src/mcpl/modern-connection.js.map +1 -1
- package/dist/src/mcpl/protocol-family.d.ts +3 -1
- package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
- package/dist/src/mcpl/protocol-family.js +15 -9
- package/dist/src/mcpl/protocol-family.js.map +1 -1
- package/dist/src/mcpl/push-coalescer.d.ts +132 -22
- package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
- package/dist/src/mcpl/push-coalescer.js +105 -15
- package/dist/src/mcpl/push-coalescer.js.map +1 -1
- package/dist/src/mcpl/push-handler.d.ts +9 -7
- package/dist/src/mcpl/push-handler.d.ts.map +1 -1
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +50 -28
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +165 -72
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/tool-classes.d.ts.map +1 -1
- package/dist/src/mcpl/tool-classes.js +3 -0
- package/dist/src/mcpl/tool-classes.js.map +1 -1
- package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
- package/dist/src/mcpl/tool-presence.js +10 -6
- package/dist/src/mcpl/tool-presence.js.map +1 -1
- package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
- package/dist/src/mcpl/toolset-host.js +7 -6
- package/dist/src/mcpl/toolset-host.js.map +1 -1
- package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
- package/dist/src/mcpl/toolsets-module.js +2 -1
- package/dist/src/mcpl/toolsets-module.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +33 -6
- 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 +24 -1
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +68 -18
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts +45 -8
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +238 -87
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/health/index.js +2 -2
- package/dist/src/modules/health/index.js.map +1 -1
- package/dist/src/modules/history/index.d.ts +59 -0
- package/dist/src/modules/history/index.d.ts.map +1 -1
- package/dist/src/modules/history/index.js +432 -67
- package/dist/src/modules/history/index.js.map +1 -1
- package/dist/src/modules/history/semantic.d.ts +6 -5
- package/dist/src/modules/history/semantic.d.ts.map +1 -1
- package/dist/src/modules/history/semantic.js +18 -25
- package/dist/src/modules/history/semantic.js.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.d.ts +1 -1
- package/dist/src/modules/workspace/disk-agreement.js +1 -1
- package/dist/src/modules/workspace/index.d.ts +28 -7
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +80 -25
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +2 -1
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
- package/dist/src/modules/workspace/reconcile.js +3 -2
- package/dist/src/modules/workspace/reconcile.js.map +1 -1
- package/dist/src/notice-tags.d.ts +20 -9
- package/dist/src/notice-tags.d.ts.map +1 -1
- package/dist/src/notice-tags.js +20 -9
- package/dist/src/notice-tags.js.map +1 -1
- package/dist/src/operator-log.d.ts +36 -3
- package/dist/src/operator-log.d.ts.map +1 -1
- package/dist/src/operator-log.js +2 -2
- package/dist/src/operator-log.js.map +1 -1
- package/dist/src/presentation.d.ts +747 -0
- package/dist/src/presentation.d.ts.map +1 -0
- package/dist/src/presentation.js +1437 -0
- package/dist/src/presentation.js.map +1 -0
- package/dist/src/prose-drafts.d.ts +15 -11
- package/dist/src/prose-drafts.d.ts.map +1 -1
- package/dist/src/prose-drafts.js +16 -12
- package/dist/src/prose-drafts.js.map +1 -1
- package/dist/src/read-marks.d.ts +192 -0
- package/dist/src/read-marks.d.ts.map +1 -0
- package/dist/src/read-marks.js +242 -0
- package/dist/src/read-marks.js.map +1 -0
- package/dist/src/reasoning-loss.d.ts +5 -0
- package/dist/src/reasoning-loss.d.ts.map +1 -0
- package/dist/src/reasoning-loss.js +8 -0
- package/dist/src/reasoning-loss.js.map +1 -0
- package/dist/src/recovery/offline-branch.d.ts +91 -6
- package/dist/src/recovery/offline-branch.d.ts.map +1 -1
- package/dist/src/recovery/offline-branch.js +277 -32
- package/dist/src/recovery/offline-branch.js.map +1 -1
- package/dist/src/recovery/recover-cli.js +24 -4
- package/dist/src/recovery/recover-cli.js.map +1 -1
- package/dist/src/send-tools.d.ts +5 -9
- package/dist/src/send-tools.d.ts.map +1 -1
- package/dist/src/send-tools.js +40 -7
- package/dist/src/send-tools.js.map +1 -1
- package/dist/src/sent-rows.js +1 -1
- package/dist/src/stored-injections.d.ts +2 -2
- package/dist/src/stored-injections.js +2 -2
- package/dist/src/stored-removal.d.ts +17 -4
- package/dist/src/stored-removal.d.ts.map +1 -1
- package/dist/src/stored-removal.js +29 -5
- package/dist/src/stored-removal.js.map +1 -1
- package/dist/src/supplied-text.d.ts +1 -1
- package/dist/src/supplied-text.js +3 -3
- package/dist/src/supplied-text.js.map +1 -1
- package/dist/src/thinking-drops.d.ts +2 -0
- package/dist/src/thinking-drops.d.ts.map +1 -1
- package/dist/src/thinking-drops.js.map +1 -1
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +38 -9
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tool-result-guard.d.ts +12 -1
- package/dist/src/tool-result-guard.d.ts.map +1 -1
- package/dist/src/tool-result-guard.js +42 -8
- package/dist/src/tool-result-guard.js.map +1 -1
- package/dist/src/tune-out/coordinator.d.ts +1170 -81
- package/dist/src/tune-out/coordinator.d.ts.map +1 -1
- package/dist/src/tune-out/coordinator.js +3732 -369
- package/dist/src/tune-out/coordinator.js.map +1 -1
- package/dist/src/tune-out/tools.d.ts +114 -17
- package/dist/src/tune-out/tools.d.ts.map +1 -1
- package/dist/src/tune-out/tools.js +89 -28
- package/dist/src/tune-out/tools.js.map +1 -1
- package/dist/src/tune-out/window-anchor.d.ts +143 -0
- package/dist/src/tune-out/window-anchor.d.ts.map +1 -0
- package/dist/src/tune-out/window-anchor.js +202 -0
- package/dist/src/tune-out/window-anchor.js.map +1 -0
- package/dist/src/types/agent.d.ts +121 -25
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/events.d.ts +2 -0
- package/dist/src/types/events.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +72 -17
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/inference-log.d.ts +1 -0
- package/dist/src/types/inference-log.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +180 -69
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +573 -39
- package/dist/src/types/trace.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/admission/admit.ts +32 -3
- package/src/agent.ts +392 -132
- package/src/api/mcp-server-core.ts +54 -17
- package/src/api/server.ts +4 -23
- package/src/append-all.ts +6 -0
- package/src/code-execution/isolate/scripts.ts +28 -3
- package/src/config-checks.ts +14 -0
- package/src/context-manager-errors.ts +37 -0
- package/src/context-options.ts +106 -0
- package/src/cut-off-round.ts +4 -4
- package/src/deferred-import.ts +239 -0
- package/src/dendrite/audience.ts +315 -0
- package/src/dendrite/index.ts +14 -2
- package/src/dendrite/presets.ts +18 -6
- package/src/dendrite/registry.ts +213 -14
- package/src/dendrite/types.ts +92 -8
- package/src/failure-text.ts +88 -0
- package/src/foreign-rounds.ts +199 -0
- package/src/framework.ts +8796 -3813
- package/src/gate/event-gate.ts +518 -91
- package/src/gate/index.ts +3 -0
- package/src/gate/reply-judge.ts +12 -3
- package/src/gate/rule-scope.ts +45 -0
- package/src/gate/suppress-script-worker.ts +89 -0
- package/src/gate/suppress-scripts.ts +414 -0
- package/src/gate/suppression-review.ts +517 -0
- package/src/gate/suppression-stats.ts +314 -0
- package/src/gate/types.ts +148 -7
- package/src/gate/wake-onboarding.ts +309 -0
- package/src/heartbeat/heartbeat.ts +1 -1
- package/src/held-writes.ts +49 -60
- package/src/index.ts +10 -2
- package/src/inference-bounds.ts +11 -6
- package/src/jsonrpc-envelope.ts +81 -0
- package/src/mcpl/channel-registry.ts +513 -116
- package/src/mcpl/checkpoint-manager.ts +3 -2
- package/src/mcpl/feature-set-manager.ts +2 -1
- package/src/mcpl/inbound-source.ts +2 -1
- package/src/mcpl/inference-router.ts +7 -4
- package/src/mcpl/modern-connection.ts +629 -91
- package/src/mcpl/protocol-family.ts +15 -9
- package/src/mcpl/push-coalescer.ts +193 -34
- package/src/mcpl/push-handler.ts +10 -5
- package/src/mcpl/server-connection.ts +169 -75
- package/src/mcpl/tool-classes.ts +3 -0
- package/src/mcpl/tool-presence.ts +10 -5
- package/src/mcpl/toolset-host.ts +7 -6
- package/src/mcpl/toolsets-module.ts +2 -1
- package/src/mcpl/types.ts +33 -6
- package/src/module-registry.ts +73 -17
- package/src/modules/discord/index.ts +230 -82
- package/src/modules/health/index.ts +2 -2
- package/src/modules/history/index.ts +439 -70
- package/src/modules/history/semantic.ts +18 -24
- package/src/modules/workspace/disk-agreement.ts +1 -1
- package/src/modules/workspace/index.ts +89 -26
- package/src/modules/workspace/observe.ts +2 -1
- package/src/modules/workspace/reconcile.ts +3 -2
- package/src/notice-tags.ts +21 -9
- package/src/operator-log.ts +36 -3
- package/src/presentation.ts +1678 -0
- package/src/prose-drafts.ts +16 -12
- package/src/read-marks.ts +328 -0
- package/src/reasoning-loss.ts +7 -0
- package/src/recovery/offline-branch.ts +350 -35
- package/src/recovery/recover-cli.ts +23 -4
- package/src/send-tools.ts +40 -7
- package/src/sent-rows.ts +1 -1
- package/src/stored-injections.ts +2 -2
- package/src/stored-removal.ts +31 -7
- package/src/supplied-text.ts +3 -3
- package/src/thinking-drops.ts +2 -0
- package/src/tool-presentation.ts +34 -9
- package/src/tool-result-guard.ts +41 -7
- package/src/tune-out/coordinator.ts +4121 -472
- package/src/tune-out/tools.ts +162 -44
- package/src/tune-out/window-anchor.ts +277 -0
- package/src/types/agent.ts +122 -25
- package/src/types/events.ts +2 -0
- package/src/types/framework.ts +73 -17
- package/src/types/inference-log.ts +1 -0
- package/src/types/module.ts +181 -68
- package/src/types/trace.ts +607 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recover-cli.js","sourceRoot":"","sources":["../../../src/recovery/recover-cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"recover-cli.js","sourceRoot":"","sources":["../../../src/recovery/recover-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/send-tools.d.ts
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* Tools whose call delivers the resident's message to a channel or person,
|
|
3
|
-
* by bare name (an MCPL server's `<prefix>--` stripped). The framework reads
|
|
4
|
-
* a call of one as an explicit send that silences the round's auto-routed
|
|
5
|
-
* prose where it may have posted; the history module's semantic index reads
|
|
6
|
-
* its message argument as what the resident wrote to someone, whether or not
|
|
7
|
-
* it was delivered.
|
|
8
|
-
*/
|
|
9
|
-
export declare const SEND_TOOLS: Set<string>;
|
|
1
|
+
export declare const SILENCING_SENDS: Set<string>;
|
|
10
2
|
/** Strip the `server--` MCPL prefix from a tool name. */
|
|
11
3
|
export declare const bareToolName: (n: string) => string;
|
|
4
|
+
export declare function speechOf(name: unknown, input: unknown): {
|
|
5
|
+
tool: string;
|
|
6
|
+
words: string;
|
|
7
|
+
} | undefined;
|
|
12
8
|
//# sourceMappingURL=send-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-tools.d.ts","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send-tools.d.ts","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,eAAe,aAAuF,CAAC;AAEpH,yDAAyD;AACzD,eAAO,MAAM,YAAY,MAAO,MAAM,KAAG,MAA8B,CAAC;AAExE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQnG"}
|
package/dist/src/send-tools.js
CHANGED
|
@@ -1,12 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Tools whose call
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* it was delivered.
|
|
2
|
+
* Tools whose call carries the resident's words, by bare name (an MCPL
|
|
3
|
+
* server's `<prefix>--` stripped); edit_message's words are the new text of a
|
|
4
|
+
* message it sent. The framework reads a call of a `silences` one as an
|
|
5
|
+
* explicit send that silences the round's auto-routed prose where it may have
|
|
6
|
+
* posted; the history module reads the words of any of them as what the
|
|
7
|
+
* resident wrote to someone, whether or not it was delivered. With prose
|
|
8
|
+
* routing disabled the resident speaks through these.
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
+
const SPEECH_TOOLS = new Map([
|
|
11
|
+
// channel_publish still takes `text` from older callers.
|
|
12
|
+
['channel_publish', { words: ['content', 'text'], silences: true }],
|
|
13
|
+
// telegram-mcpl's send_message takes `message`.
|
|
14
|
+
['send_message', { words: ['content', 'message', 'text'], silences: true }],
|
|
15
|
+
['reply_message', { words: ['content', 'text'], silences: true }],
|
|
16
|
+
['send_dm', { words: ['content', 'text'], silences: true }],
|
|
17
|
+
// telegram-mcpl's reply, file send, scheduled send and poll.
|
|
18
|
+
['reply_to_message', { words: ['text'], silences: true }],
|
|
19
|
+
['send_file', { words: ['caption'], silences: false }],
|
|
20
|
+
['send_scheduled_message', { words: ['message'], silences: false }],
|
|
21
|
+
['create_poll', { words: ['question'], silences: false }],
|
|
22
|
+
// telegram-mcpl's edit_message takes `new_text`.
|
|
23
|
+
['edit_message', { words: ['content', 'new_text', 'text'], silences: false }],
|
|
24
|
+
// slack-mcpl's upload_file posts `comment` with the file; its `content` is
|
|
25
|
+
// the file.
|
|
26
|
+
['upload_file', { words: ['comment'], silences: false }],
|
|
27
|
+
// Eidoverse's say and whisper take `text`.
|
|
28
|
+
['say', { words: ['text'], silences: true }],
|
|
29
|
+
['whisper', { words: ['text'], silences: true }],
|
|
30
|
+
]);
|
|
31
|
+
export const SILENCING_SENDS = new Set([...SPEECH_TOOLS].filter(([, tool]) => tool.silences).map(([name]) => name));
|
|
10
32
|
/** Strip the `server--` MCPL prefix from a tool name. */
|
|
11
33
|
export const bareToolName = (n) => n.split('--').pop();
|
|
34
|
+
export function speechOf(name, input) {
|
|
35
|
+
if (typeof name !== 'string' || typeof input !== 'object' || input === null)
|
|
36
|
+
return undefined;
|
|
37
|
+
const tool = bareToolName(name);
|
|
38
|
+
const row = SPEECH_TOOLS.get(tool);
|
|
39
|
+
if (!row)
|
|
40
|
+
return undefined;
|
|
41
|
+
const args = input;
|
|
42
|
+
const words = row.words.map((arg) => args[arg]).find((value) => value !== undefined && value !== null);
|
|
43
|
+
return typeof words === 'string' && words.trim().length > 0 ? { tool, words } : undefined;
|
|
44
|
+
}
|
|
12
45
|
//# sourceMappingURL=send-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-tools.js","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"send-tools.js","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/src/sent-rows.js
CHANGED
|
@@ -133,7 +133,7 @@ export function roundRows(rows, carried) {
|
|
|
133
133
|
* the two alike (read from the provider on 2026-10-23: Haiku 5.5 with the drop control, on an enforcing API-key
|
|
134
134
|
* organization and on a subscription account, reported no drop for either, and dropped both replies' blocks when an
|
|
135
135
|
* earlier user message changed). The store's own fields beside them, such as
|
|
136
|
-
* `toolName`, don't reach the provider on membrane's native path, the only one noted (membrane 0.8.0's XML
|
|
136
|
+
* `toolName`, don't reach the provider on membrane's native path, the only one noted (membrane 0.8.0's and 0.9.0's XML
|
|
137
137
|
* formatter reads `toolName`, and an XML stream is never noted).
|
|
138
138
|
*/
|
|
139
139
|
function normalizedResult(block) {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* a start stored whose compile then didn't record) has the same content,
|
|
15
15
|
* every part of it, and the compile
|
|
16
16
|
* then renders
|
|
17
|
-
* it from the store like any message, where it stays. While the
|
|
18
|
-
*
|
|
17
|
+
* it from the store like any message, where it stays. While the host is
|
|
18
|
+
* quiesced, `compile()` places it instead. Being a
|
|
19
19
|
* message, it's history to the strategy: capped by its per-message bound,
|
|
20
20
|
* sharded, selected by the budget and folded like any other.
|
|
21
21
|
*
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* a start stored whose compile then didn't record) has the same content,
|
|
15
15
|
* every part of it, and the compile
|
|
16
16
|
* then renders
|
|
17
|
-
* it from the store like any message, where it stays. While the
|
|
18
|
-
*
|
|
17
|
+
* it from the store like any message, where it stays. While the host is
|
|
18
|
+
* quiesced, `compile()` places it instead. Being a
|
|
19
19
|
* message, it's history to the strategy: capped by its per-message bound,
|
|
20
20
|
* sharded, selected by the budget and folded like any other.
|
|
21
21
|
*
|
|
@@ -30,8 +30,9 @@ export declare function locateMessageIndices(cm: SurgeryReadableCm, ids: Set<str
|
|
|
30
30
|
}>;
|
|
31
31
|
/**
|
|
32
32
|
* Inclusive slot range of the body-group run containing `index` (the slot
|
|
33
|
-
* itself when it is not sharded)
|
|
34
|
-
* `alignToBodyGroups` edge walk — one
|
|
33
|
+
* itself when it is not sharded), and the ids of its rows in store order.
|
|
34
|
+
* Delegates to the store's own `alignToBodyGroups` edge walk — one
|
|
35
|
+
* contiguity assumption, not two.
|
|
35
36
|
*/
|
|
36
37
|
export declare function bodyGroupRun(cm: SurgeryReadableCm, index: number): {
|
|
37
38
|
from: number;
|
|
@@ -39,6 +40,7 @@ export declare function bodyGroupRun(cm: SurgeryReadableCm, index: number): {
|
|
|
39
40
|
fromId: string;
|
|
40
41
|
toId: string;
|
|
41
42
|
group: boolean;
|
|
43
|
+
ids: MessageId[];
|
|
42
44
|
};
|
|
43
45
|
/**
|
|
44
46
|
* Remove the stored messages `first`..`last` (inclusive, in store order).
|
|
@@ -54,9 +56,20 @@ export declare function removeStoredMessages(cm: Removals, first: StoredLike, la
|
|
|
54
56
|
* Remove one stored message by its id, with the rest of its body when it's
|
|
55
57
|
* in one: a module or a coalescer removes a message it added by the id
|
|
56
58
|
* `addMessage` returned, which for a long message stored in shards is its
|
|
57
|
-
* first shard's.
|
|
59
|
+
* first shard's. Returns the ids of every row it removed, in store order:
|
|
60
|
+
* the id given for a message outside any body, each shard's for a body, so
|
|
61
|
+
* a caller can take them out of the windows of the other agents that held
|
|
62
|
+
* them (#291).
|
|
58
63
|
*/
|
|
59
|
-
export declare function removeStoredMessage(cm: ContextManager, id: MessageId):
|
|
64
|
+
export declare function removeStoredMessage(cm: ContextManager, id: MessageId): MessageId[];
|
|
65
|
+
/**
|
|
66
|
+
* The ids of the stored messages `firstId`..`lastId` (inclusive, in store
|
|
67
|
+
* order, every shard of a body), read before a removal of that interval so
|
|
68
|
+
* the caller knows what it took. Both ends are found tail-first and the
|
|
69
|
+
* rows between them read in one blob-free window. Empty when either end is
|
|
70
|
+
* not on the active branch; the ends may be given in either order.
|
|
71
|
+
*/
|
|
72
|
+
export declare function storedIdsBetween(cm: SurgeryReadableCm, firstId: string, lastId: string): MessageId[];
|
|
60
73
|
/** removeStoredMessages for an interval known by its ids. */
|
|
61
74
|
export declare function removeStoredInterval(cm: ContextManager, fromId: MessageId, toId: MessageId): void;
|
|
62
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stored-removal.d.ts","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/G,KAAK,UAAU,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,CAAC;AAChD,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,eAAe,IAAI,MAAM,CAAC;IAC1B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnF;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GACf,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtD;AAED
|
|
1
|
+
{"version":3,"file":"stored-removal.d.ts","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/G,KAAK,UAAU,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,CAAC;AAChD,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,eAAe,IAAI,MAAM,CAAC;IAC1B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnF;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GACf,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,iBAAiB,EACrB,KAAK,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,SAAS,EAAE,CAAA;CAAE,CAY9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAM5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,GAAG,SAAS,EAAE,CAgBlF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CASpG;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAGjG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAErG"}
|
|
@@ -30,8 +30,9 @@ export function locateMessageIndices(cm, ids) {
|
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Inclusive slot range of the body-group run containing `index` (the slot
|
|
33
|
-
* itself when it is not sharded)
|
|
34
|
-
* `alignToBodyGroups` edge walk — one
|
|
33
|
+
* itself when it is not sharded), and the ids of its rows in store order.
|
|
34
|
+
* Delegates to the store's own `alignToBodyGroups` edge walk — one
|
|
35
|
+
* contiguity assumption, not two.
|
|
35
36
|
*/
|
|
36
37
|
export function bodyGroupRun(cm, index) {
|
|
37
38
|
const win = cm.getMessageWindow(index, 1, { alignToBodyGroups: true, resolveBlobs: false });
|
|
@@ -43,6 +44,7 @@ export function bodyGroupRun(cm, index) {
|
|
|
43
44
|
fromId: String(win.messages[0].id),
|
|
44
45
|
toId: String(win.messages[win.messages.length - 1].id),
|
|
45
46
|
group: win.messages[0].bodyGroupId !== undefined,
|
|
47
|
+
ids: win.messages.map((m) => String(m.id)),
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
/**
|
|
@@ -65,23 +67,45 @@ export function removeStoredMessages(cm, first, last) {
|
|
|
65
67
|
* Remove one stored message by its id, with the rest of its body when it's
|
|
66
68
|
* in one: a module or a coalescer removes a message it added by the id
|
|
67
69
|
* `addMessage` returned, which for a long message stored in shards is its
|
|
68
|
-
* first shard's.
|
|
70
|
+
* first shard's. Returns the ids of every row it removed, in store order:
|
|
71
|
+
* the id given for a message outside any body, each shard's for a body, so
|
|
72
|
+
* a caller can take them out of the windows of the other agents that held
|
|
73
|
+
* them (#291).
|
|
69
74
|
*/
|
|
70
75
|
export function removeStoredMessage(cm, id) {
|
|
71
76
|
const message = cm.getMessage(id);
|
|
72
77
|
if (!message?.bodyGroupId) {
|
|
73
78
|
cm.removeMessage(id);
|
|
74
|
-
return;
|
|
79
|
+
return [id];
|
|
75
80
|
}
|
|
76
81
|
// Found in blob-free windows: a full read of the branch would inflate every
|
|
77
82
|
// attachment on it, once for each message a sweep removes.
|
|
78
83
|
const index = locateMessageIndex(cm, String(id));
|
|
79
84
|
if (index < 0) {
|
|
80
85
|
cm.removeMessage(id);
|
|
81
|
-
return;
|
|
86
|
+
return [id];
|
|
82
87
|
}
|
|
83
88
|
const run = bodyGroupRun(cm, index);
|
|
84
89
|
cm.removeMessages(run.fromId, run.toId);
|
|
90
|
+
return run.ids;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The ids of the stored messages `firstId`..`lastId` (inclusive, in store
|
|
94
|
+
* order, every shard of a body), read before a removal of that interval so
|
|
95
|
+
* the caller knows what it took. Both ends are found tail-first and the
|
|
96
|
+
* rows between them read in one blob-free window. Empty when either end is
|
|
97
|
+
* not on the active branch; the ends may be given in either order.
|
|
98
|
+
*/
|
|
99
|
+
export function storedIdsBetween(cm, firstId, lastId) {
|
|
100
|
+
const found = locateMessageIndices(cm, new Set([firstId, lastId]));
|
|
101
|
+
const first = found.get(firstId);
|
|
102
|
+
const last = found.get(lastId);
|
|
103
|
+
if (!first || !last)
|
|
104
|
+
return [];
|
|
105
|
+
const from = Math.min(first.index, last.index);
|
|
106
|
+
const to = Math.max(first.index, last.index);
|
|
107
|
+
const { messages } = cm.getMessageWindow(from, to - from + 1, { resolveBlobs: false });
|
|
108
|
+
return messages.map((m) => String(m.id));
|
|
85
109
|
}
|
|
86
110
|
/** removeStoredMessages for an interval known by its ids. */
|
|
87
111
|
export function removeStoredInterval(cm, fromId, toId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stored-removal.js","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuD,MAAM,4BAA4B,CAAC;AAe/G,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAqB,EAAE,SAAiB;IACzE,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAClC,EAAqB,EACrB,GAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmD,CAAC;IACzE,MAAM,KAAK,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IACnC,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAAC,CAAC;QACrD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE;oBACZ,KAAK,EAAE,UAAU,GAAG,CAAC;oBACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"stored-removal.js","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export declare function oneLine(text: string): string;
|
|
|
12
12
|
/**
|
|
13
13
|
* Texts read as one string, joined by line breaks, with a backslash put
|
|
14
14
|
* before the bracket of each opening of a listed tag (NOTICE_TAG,
|
|
15
|
-
* CONTEXT_MANAGER_TAGS, MEMBRANE_TAGS) that hasn't one before it in its own
|
|
15
|
+
* FORMER_NOTICE_TAGS, CONTEXT_MANAGER_TAGS, MEMBRANE_TAGS) that hasn't one before it in its own
|
|
16
16
|
* text. A text `marks` says false of is read and never changed.
|
|
17
17
|
*
|
|
18
18
|
* Every opening, not only one that starts a line: membrane's XML formatter
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* and notices the framework writes. A value that can end its line can start
|
|
5
5
|
* a line that reads as the framework's own.
|
|
6
6
|
*/
|
|
7
|
-
import { CONTEXT_MANAGER_TAGS, MEMBRANE_TAGS, NOTICE_TAG } from './notice-tags.js';
|
|
7
|
+
import { CONTEXT_MANAGER_TAGS, FORMER_NOTICE_TAGS, MEMBRANE_TAGS, NOTICE_TAG } from './notice-tags.js';
|
|
8
8
|
/** Every form of line break a reader might take for one: CR LF, CR, LF,
|
|
9
9
|
* vertical tab, form feed, NEL, and the Unicode line and paragraph separators. */
|
|
10
10
|
const LINE_BREAK = /\r\n|[\r\n\u000b\u000c\u0085\u2028\u2029]/g;
|
|
@@ -20,11 +20,11 @@ export function oneLine(text) {
|
|
|
20
20
|
const INVISIBLE = '\\p{Cf}\\p{Default_Ignorable_Code_Point}';
|
|
21
21
|
const SKIPPED = `[\\s\\p{Cc}${INVISIBLE}]`;
|
|
22
22
|
const tagWord = (word) => [...word].map((c) => (/[\\^$.*+?()[\]{}|/]/.test(c) ? `\\${c}` : c)).join(`${SKIPPED}*`);
|
|
23
|
-
const NOTICE_OPENING = new RegExp(`\\[(?=${SKIPPED}*(?:${[...Object.values(NOTICE_TAG), ...CONTEXT_MANAGER_TAGS, ...MEMBRANE_TAGS].map((tag) => tag.split(' ').map(tagWord).join(`${SKIPPED}+`)).join('|')})(?![\\p{L}\\p{N}]))`, 'giu');
|
|
23
|
+
const NOTICE_OPENING = new RegExp(`\\[(?=${SKIPPED}*(?:${[...Object.values(NOTICE_TAG), ...FORMER_NOTICE_TAGS, ...CONTEXT_MANAGER_TAGS, ...MEMBRANE_TAGS].map((tag) => tag.split(' ').map(tagWord).join(`${SKIPPED}+`)).join('|')})(?![\\p{L}\\p{N}]))`, 'giu');
|
|
24
24
|
/**
|
|
25
25
|
* Texts read as one string, joined by line breaks, with a backslash put
|
|
26
26
|
* before the bracket of each opening of a listed tag (NOTICE_TAG,
|
|
27
|
-
* CONTEXT_MANAGER_TAGS, MEMBRANE_TAGS) that hasn't one before it in its own
|
|
27
|
+
* FORMER_NOTICE_TAGS, CONTEXT_MANAGER_TAGS, MEMBRANE_TAGS) that hasn't one before it in its own
|
|
28
28
|
* text. A text `marks` says false of is read and never changed.
|
|
29
29
|
*
|
|
30
30
|
* Every opening, not only one that starts a line: membrane's XML formatter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplied-text.js","sourceRoot":"","sources":["../../src/supplied-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"supplied-text.js","sourceRoot":"","sources":["../../src/supplied-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEvG;mFACmF;AACnF,MAAM,UAAU,GAAG,4CAA4C,CAAC;AAEhE,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;2EAC2E;AAC3E,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAC7D,MAAM,OAAO,GAAG,cAAc,SAAS,GAAG,CAAC;AAC3C,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CACvC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;AAC3F,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,kBAAkB,EAAE,GAAG,oBAAoB,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EACrN,KAAK,CACN,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,KAAwB,EAAE,KAAK,GAAuB,EAAE;IAClF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,OAAO,GAAe,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5F,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,CAAE,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAyB,EAAE,MAAyB;IAC5E,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,IAAI,KAAK;YAAE,MAAM,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,OAA0B;IACzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAC1C,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,EAAU;IAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAmB,MAAoB,EAAE,KAAK,GAA+B,GAAG,EAAE,CAAC,IAAI;IACvH,MAAM,EAAE,GAAa,EAAE,CAAC;IACxB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAuC,CAAC;QAC3E,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE,CAAE,MAAM,CAAC,KAAK,CAAiC,CAAC,IAAI,CAAC;IAC9F,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACxB,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IACnD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM;YAAE,GAAG,EAAE,CAAC;aAC5D,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG;YAAE,GAAG,EAAE,CAAC;aACvD,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC;YACnC,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,KAAK,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,KAAc;IACxD,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAEnI,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -42,6 +42,8 @@ export interface StreamThinkingDrops {
|
|
|
42
42
|
place: (entries: readonly ThinkingBindingEntry[]) => PlacedDrop[];
|
|
43
43
|
recordedAfter?: number;
|
|
44
44
|
branch?: string;
|
|
45
|
+
/** `StartStreamResult`'s `noteThinkingDropped`. */
|
|
46
|
+
noteDropped?: (messageIds: readonly MessageId[]) => boolean;
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
47
49
|
* Place each dropped entry of one call. membrane places a block by the request's message and the block's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thinking-drops.d.ts","sourceRoot":"","sources":["../../src/thinking-drops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GACzG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6GAA6G;AAC7G,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,UAAU,EAAE,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"thinking-drops.d.ts","sourceRoot":"","sources":["../../src/thinking-drops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GACzG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6GAA6G;AAC7G,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,UAAU,EAAE,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,KAAK,OAAO,CAAC;CAC7D;AAUD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAClC,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CA+Bd;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,aAAa,EAAE,MAAM,GACpB;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,UAAU,EAAE,CAAA;CAAE,CAQtD;AAKD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmE;IAE3F,mHAAmH;IACnH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASxE;IAED,qEAAqE;IACrE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE1B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thinking-drops.js","sourceRoot":"","sources":["../../src/thinking-drops.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thinking-drops.js","sourceRoot":"","sources":["../../src/thinking-drops.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-presentation.d.ts","sourceRoot":"","sources":["../../src/tool-presentation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-presentation.d.ts","sourceRoot":"","sources":["../../src/tool-presentation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpE,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AACD,MAAM,WAAW,YAAY;IAAG,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;AACzE,MAAM,WAAW,oBAAoB;IAAG,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE;AACzF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;KAAE,EAAE,CAAC;CACzL;AAYD,eAAO,MAAM,kBAAkB,SAAU,MAAM,KAAG,OAA4E,CAAC;AA4G/H,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAEnE;AAgCD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAQhE;AAED,oGAAoG;AACpG,qBAAa,gBAAgB;IACf,QAAQ,CAAC,MAAM,EAAE,sBAAsB;IAAnD,YAAqB,MAAM,EAAE,sBAAsB,EAAI;IACvD,OAAO,CAAC,IAAI;IAuBZ,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GAAG,oBAAoB,CAqCvG;IACD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,CA8D1E;IACD;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;CA0BnB;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAyDtE"}
|
|
@@ -2,6 +2,7 @@ import { createHash, randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { constants, fchmodSync, closeSync, fstatSync, lstatSync, openSync, readSync, renameSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { closestNames } from './closest-names.js';
|
|
4
4
|
import { boundedErrorMessage, errorMessage } from './error-message.js';
|
|
5
|
+
import { appendAll } from './append-all.js';
|
|
5
6
|
const MAX_BYTES = 256 * 1024;
|
|
6
7
|
/**
|
|
7
8
|
* Opened with each read of a presentation file, as observe.ts opens workspace
|
|
@@ -15,6 +16,8 @@ const MAX_DESCRIPTION_CHARS = 32768;
|
|
|
15
16
|
const protectedNames = new Set(['set_tool_visibility', 'set_tool_description', 'workspace--read', 'toolsets--open', 'toolsets--act', 'toolsets--look', 'toolsets--close']);
|
|
16
17
|
export const isPresentationTool = (name) => name === 'set_tool_visibility' || name === 'set_tool_description';
|
|
17
18
|
const hash = (value) => createHash('sha256').update(value).digest('hex');
|
|
19
|
+
/** The catalogue's line layout, folded into its revision so a line reference saved under an earlier layout reads as stale. Raise it with any change to where the catalogue's lines fall. */
|
|
20
|
+
const CATALOGUE_LAYOUT = 2;
|
|
18
21
|
/**
|
|
19
22
|
* A presentation or defaults file this host can't use. Each problem is a
|
|
20
23
|
* clause about the file, such as `the entry for "x" has "visible": "no",
|
|
@@ -35,9 +38,9 @@ const count = (n) => n.toLocaleString('en-US');
|
|
|
35
38
|
const characters = (text) => [...text].length;
|
|
36
39
|
/** A text's first `n` characters, never splitting a code point. */
|
|
37
40
|
const firstCharacters = (text, n) => [...text].slice(0, n).join('');
|
|
38
|
-
/** A
|
|
39
|
-
function quoted(name) {
|
|
40
|
-
return characters(name) <=
|
|
41
|
+
/** A text as a message quotes it: whole up to `limit` characters, and past that cut, with its length, since a file can hold a key, and a tool a description, of any size. */
|
|
42
|
+
function quoted(name, limit = 60) {
|
|
43
|
+
return characters(name) <= limit ? JSON.stringify(name) : `${JSON.stringify(firstCharacters(name, limit - 3))}... (${count(characters(name))} characters)`;
|
|
41
44
|
}
|
|
42
45
|
/** A file's problem as a message quotes it: its own clauses whole, and anything else bounded, since nobody wrote that text for its reader. */
|
|
43
46
|
const problemText = (error) => error instanceof PresentationFileError ? error.message : boundedErrorMessage(error);
|
|
@@ -275,7 +278,7 @@ export class ToolPresentation {
|
|
|
275
278
|
return { name: tool.name, source: sources.get(tool.name) ?? 'Unattributed', visible: override?.visible ?? true, originalDescription: tool.description, description, descriptionSource, inputSchema: structuredClone(tool.inputSchema) };
|
|
276
279
|
});
|
|
277
280
|
const available = tools.map((tool, i) => ({ ...structuredClone(tool), description: entries[i].description }));
|
|
278
|
-
return { revision: hash(JSON.stringify({ raw, entries, diagnostics })), source: this.config.path, cataloguePath: this.config.cataloguePath, diagnostics, available,
|
|
281
|
+
return { revision: hash(JSON.stringify({ layout: CATALOGUE_LAYOUT, raw, entries, diagnostics })), source: this.config.path, cataloguePath: this.config.cataloguePath, diagnostics, available,
|
|
279
282
|
advertised: available.filter((_, i) => entries[i].visible), entries };
|
|
280
283
|
}
|
|
281
284
|
edit(tool, input, available) {
|
|
@@ -391,7 +394,7 @@ export class ToolPresentation {
|
|
|
391
394
|
const name = args.name;
|
|
392
395
|
if (!available.some((t) => t.name === name)) {
|
|
393
396
|
const near = closestNames(name, available.map((t) => t.name));
|
|
394
|
-
throw new PresentationRefusal(`Nothing was changed: no tool named ${quoted(name)}
|
|
397
|
+
throw new PresentationRefusal(`Nothing was changed: you have no tool named ${quoted(name)} right now, shown or hidden.${near.length ? ` Did you mean ${quotedList(near, 'or', JSON.stringify)}?` : ''}`
|
|
395
398
|
+ ` Copy the exact name from your tool catalogue's index, workspace--read {"path":${JSON.stringify(this.config.cataloguePath)},"limit":140}, reading on with "offset" if the index runs past that.`);
|
|
396
399
|
}
|
|
397
400
|
if (field === 'description' && typeof args.description === 'string' && characters(args.description) > MAX_DESCRIPTION_CHARS)
|
|
@@ -401,6 +404,11 @@ export class ToolPresentation {
|
|
|
401
404
|
return name;
|
|
402
405
|
}
|
|
403
406
|
}
|
|
407
|
+
const SUMMARY_CHARACTERS = 200;
|
|
408
|
+
function summaryOf(description) {
|
|
409
|
+
const first = description.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/).find(line => line.trim() !== '');
|
|
410
|
+
return first === undefined ? '' : `: ${quoted(first, SUMMARY_CHARACTERS)}`;
|
|
411
|
+
}
|
|
404
412
|
export function renderCatalogue(snapshot) {
|
|
405
413
|
const groups = new Map();
|
|
406
414
|
for (const entry of snapshot.entries) {
|
|
@@ -416,13 +424,26 @@ export function renderCatalogue(snapshot) {
|
|
|
416
424
|
'Visible = not hidden by you: in your tool list, unless the host keeps it in its "settings" toolset or a server\'s tab (toolsets--look shows those). Hidden = moved into the "settings" toolset, or its MCPL server\'s tab: toolsets--look shows it, toolsets--act calls it once that toolset is open.',
|
|
417
425
|
'These are your visibility choices, not fixed primary/secondary rankings.',
|
|
418
426
|
'Copy exact names from the index; similar-sounding names may not exist.',
|
|
427
|
+
'Index by source: line N.',
|
|
419
428
|
'Show a hidden tool: set_tool_visibility {"name":"EXACT_NAME","visible":true}.',
|
|
420
429
|
`Read details: workspace--read {"path":${JSON.stringify(snapshot.cataloguePath)},"offset":LINE,"limit":LINES}.`,
|
|
421
430
|
'Line references below belong to this revision; reread the index after changes.', '',
|
|
422
431
|
];
|
|
432
|
+
const indexLineAt = lines.indexOf('Index by source: line N.');
|
|
423
433
|
// One line each: a quoted parse error can hold the file's own line breaks.
|
|
424
434
|
for (const diagnostic of snapshot.diagnostics)
|
|
425
435
|
lines.push('Diagnostic: ' + diagnostic.replace(/\r\n|\r|\n/g, '\\n'));
|
|
436
|
+
const hidden = snapshot.entries.filter(e => !e.visible);
|
|
437
|
+
const hiddenAt = new Map();
|
|
438
|
+
if (hidden.length) {
|
|
439
|
+
lines.push(`## Hidden (${hidden.length})`, '');
|
|
440
|
+
for (const entry of hidden) {
|
|
441
|
+
hiddenAt.set(entry.name, lines.length);
|
|
442
|
+
lines.push('');
|
|
443
|
+
}
|
|
444
|
+
lines.push('');
|
|
445
|
+
}
|
|
446
|
+
lines[indexLineAt] = `Index by source: line ${lines.length + 1}.`;
|
|
426
447
|
lines.push('## Index by source', '');
|
|
427
448
|
const index = new Map();
|
|
428
449
|
for (const [source, entries] of groups) {
|
|
@@ -438,11 +459,19 @@ export function renderCatalogue(snapshot) {
|
|
|
438
459
|
lines.push(`### ${source}`, '');
|
|
439
460
|
for (const entry of entries) {
|
|
440
461
|
const start = lines.length + 1;
|
|
441
|
-
lines.push(`#### ${entry.name} (${entry.visible ? 'visible' : 'hidden'})`, ''
|
|
442
|
-
|
|
443
|
-
|
|
462
|
+
lines.push(`#### ${entry.name} (${entry.visible ? 'visible' : 'hidden'})`, '');
|
|
463
|
+
appendAll(lines, entry.description.split('\n'));
|
|
464
|
+
lines.push('', `Description from: ${entry.descriptionSource ?? 'installed component'}`, '', `Schema: ${JSON.stringify(entry.inputSchema)}`);
|
|
465
|
+
if (entry.description !== entry.originalDescription) {
|
|
466
|
+
lines.push('', 'Original description:');
|
|
467
|
+
appendAll(lines, entry.originalDescription.split('\n'));
|
|
468
|
+
}
|
|
444
469
|
lines.push('');
|
|
445
|
-
|
|
470
|
+
const details = `details: offset ${start}, limit ${lines.length - start + 1}`;
|
|
471
|
+
lines[index.get(entry.name)] = `- [${entry.visible ? 'visible' : 'hidden'}] ${entry.name} — ${details}`;
|
|
472
|
+
const at = hiddenAt.get(entry.name);
|
|
473
|
+
if (at !== undefined)
|
|
474
|
+
lines[at] = `- ${entry.name} (${entry.source})${summaryOf(entry.description)} — ${details}`;
|
|
446
475
|
}
|
|
447
476
|
}
|
|
448
477
|
return lines.join('\n');
|