@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
package/dist/src/held-writes.js
CHANGED
|
@@ -1,69 +1,54 @@
|
|
|
1
|
+
import { suppressionRecordOf } from './gate/suppression-stats.js';
|
|
1
2
|
/**
|
|
2
|
-
* The id a module
|
|
3
|
-
* write
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
3
|
+
* The id a release before #291 gave a module for a write it held while the
|
|
4
|
+
* write's agent's turn was alive: `held:` and the write's id in its deferred
|
|
5
|
+
* queue, which the stored row carries as `metadata.deferredWriteId` once it
|
|
6
|
+
* lands. This release stores every write at once and answers its stored id,
|
|
7
|
+
* unless a surgery's hold or a context manager refusing its work keeps the
|
|
8
|
+
* write in memory, where it answers '', so no write gets a handle any more.
|
|
9
|
+
* A module may have kept one across the upgrade: for one release the
|
|
10
|
+
* context's getMessage, editMessage and removeMessage still take it, and
|
|
11
|
+
* reach the row its write landed as (AgentFramework.landedRow), which the
|
|
12
|
+
* importer stores at boot for a write that release left queued.
|
|
10
13
|
*/
|
|
11
14
|
const HELD = 'held:';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/** The deferred write a handle names, or undefined for any other id. A value
|
|
16
|
-
* that isn't a string, which only an untyped caller passes, is no handle,
|
|
17
|
-
* and goes on to the store as it did before handles. */
|
|
15
|
+
/** The queued write a `held:` handle names, or undefined for any other id. A
|
|
16
|
+
* value that isn't a string, which only an untyped caller passes, is no
|
|
17
|
+
* handle, and goes on to the store as it did before handles. */
|
|
18
18
|
export function heldWriteId(id) {
|
|
19
19
|
return typeof id === 'string' && id.startsWith(HELD) ? id.slice(HELD.length) : undefined;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
function valueAt(value, path) {
|
|
49
|
-
for (const part of path.split('.')) {
|
|
50
|
-
if (value === undefined || value === null || typeof value !== 'object')
|
|
51
|
-
return undefined;
|
|
52
|
-
value = value[part];
|
|
53
|
-
}
|
|
54
|
-
return value;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* A row as a module's context answers it: marked `heldFromResidents` when it
|
|
58
|
-
* carries the stamp a tune-out puts on a message it holds from the residents
|
|
59
|
-
* (`metadata.tuneOut`). Every resident's viewFilter leaves a stamped row out
|
|
60
|
-
* of its compiled view (framework.ts, createAgent), and a resident's tool
|
|
61
|
-
* boundary stores a stamped write without injecting it into the live turn, so
|
|
62
|
-
* a marked row is one the store keeps and no resident is shown
|
|
63
|
-
* (ModuleMessage.heldFromResidents says where its text can still reach
|
|
64
|
-
* one). Any other row comes back as it is.
|
|
22
|
+
* A row as a module's context answers it, for the agent whose store it was
|
|
23
|
+
* read from:
|
|
24
|
+
*
|
|
25
|
+
* - `heldFromResidents` when it carries the stamp a tune-out puts on a
|
|
26
|
+
* message it holds from the residents (`metadata.tuneOut`). Every
|
|
27
|
+
* resident's viewFilter leaves a stamped row out of its compiled view
|
|
28
|
+
* (framework.ts, createAgent), and a tool boundary never presents one to a
|
|
29
|
+
* resident, so a marked row is one the store keeps and no resident is
|
|
30
|
+
* shown (ModuleMessage.heldFromResidents says where its text can still
|
|
31
|
+
* reach one). So is a row a suppress rule hid (`metadata.suppressed`),
|
|
32
|
+
* which no view shows either, nor any window presents (one stored before
|
|
33
|
+
* audience stamps stays in a window written down from the record; the
|
|
34
|
+
* view still leaves it out).
|
|
35
|
+
* - `held` when that agent's window (`window`) presents rows and doesn't
|
|
36
|
+
* hold it (#291): stored and not yet presented to the agent, which its
|
|
37
|
+
* next presentation point does, or taken out of it as an undone turn's,
|
|
38
|
+
* or one it is never presented, as a held row is for a resident. Never in
|
|
39
|
+
* legacy mode, where the window is the record. A resident's window
|
|
40
|
+
* written down from the record holds the held rows an earlier release
|
|
41
|
+
* stored, unstamped, so those read without `held`: `heldFromResidents`
|
|
42
|
+
* marks every held row.
|
|
43
|
+
*
|
|
44
|
+
* Any other row comes back as it is.
|
|
65
45
|
*/
|
|
66
|
-
export function asModuleRow(row) {
|
|
67
|
-
|
|
46
|
+
export function asModuleRow(row, window) {
|
|
47
|
+
const metadata = row.metadata;
|
|
48
|
+
const fromResidents = !!metadata?.tuneOut || suppressionRecordOf(metadata) !== undefined;
|
|
49
|
+
const held = window !== undefined && window.windowMode() === 'presented' && window.ordinalOf(row.id) === undefined;
|
|
50
|
+
if (!fromResidents && !held)
|
|
51
|
+
return row;
|
|
52
|
+
return { ...row, ...(fromResidents ? { heldFromResidents: true } : {}), ...(held ? { held: true } : {}) };
|
|
68
53
|
}
|
|
69
54
|
//# sourceMappingURL=held-writes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"held-writes.js","sourceRoot":"","sources":["../../src/held-writes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"held-writes.js","sourceRoot":"","sources":["../../src/held-writes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE;;;;;;;;;;;GAWG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC;AAErB;;iEAEiE;AACjE,MAAM,UAAU,WAAW,CAAC,EAAa;IACvC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CACzB,GAAM,EACN,MAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA+C,CAAC;IACrE,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IACzF,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;IACnH,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9H,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
export * from './types/index.js';
|
|
2
2
|
export { AgentFramework, AgentStoppedError, BudgetPreflightError, DefaultErrorPolicy, ProviderWaitNotSleptError, QuiesceBlockedError, ResumeBlockedError } from './framework.js';
|
|
3
|
+
export { isReasoningLoss } from './reasoning-loss.js';
|
|
3
4
|
export type { RuntimeSettingsPreview, HostModeStatus, DeriveAgentOptions } from './framework.js';
|
|
4
5
|
export { Agent } from './agent.js';
|
|
5
6
|
export { FLAT_MINIMUM_MS, type InferenceBoundsOptions } from './inference-bounds.js';
|
|
6
7
|
export { storedInjectionMarkOf, type StoredInjectionMark } from './stored-injections.js';
|
|
7
8
|
export type { StartStreamResult } from './agent.js';
|
|
9
|
+
export type { PresentationOccasion } from './presentation.js';
|
|
10
|
+
export { covers, coverTest, describeReadMark, markAtOrAfter, type Cover, type MarkCm, type MarkedRow, type ReadMark } from './read-marks.js';
|
|
11
|
+
export { residentContextOptions, residentViewFilter, subconsciousContextOptions, subconsciousViewFilter, type ContextManagerOpenOptions, } from './context-options.js';
|
|
8
12
|
export { ProcessQueueImpl } from './queue.js';
|
|
9
13
|
export { ModuleRegistry } from './module-registry.js';
|
|
10
14
|
export { ShutdownTimeoutError, DEFAULT_SHUTDOWN_TIMEOUT_MS } from './shutdown.js';
|
|
@@ -21,9 +25,9 @@ export { UsageTracker } from './usage/index.js';
|
|
|
21
25
|
export { buildCodeExecutionToolDefinition, CODE_EXECUTION_TOOL_NAME } from './code-execution/index.js';
|
|
22
26
|
export type { SessionUsage, AgentUsage, SessionUsageSnapshot, UsageUpdatedEvent } from './usage/index.js';
|
|
23
27
|
export { EventGate, MCPL_GATE_EVENT_TYPES, wakeLineText, type EventTypesFrom, type WakeProvenance, type WritePlacement } from './gate/index.js';
|
|
24
|
-
export type { GateConfig, GateOptions, GatePolicy, GatePolicyMatch, GateBehavior, WakeLine } from './gate/index.js';
|
|
28
|
+
export type { GateConfig, GateOptions, GatePolicy, GatePolicyMatch, GateBehavior, WakeLine, SuppressConfig, SuppressionReviewOptions } from './gate/index.js';
|
|
25
29
|
export { ReplyJudge, DEFAULT_JUDGE_MODEL, DEFAULT_JUDGE_MAX_INPUT_TOKENS, MIN_JUDGE_INPUT_TOKENS } from './gate/index.js';
|
|
26
|
-
export type { JudgeConfig, JudgeEventSummary, JudgeFn, JudgeRequest, JudgeVerdict, ReplyJudgeOptions, ReplyJudgeDeps, UpcomingWake } from './gate/index.js';
|
|
30
|
+
export type { JudgeConfig, JudgeEventSummary, JudgeFn, JudgeRequest, JudgeVerdict, ReplyJudgeOptions, ReplyJudgeDeps, UpcomingWake, UpcomingWakeKind } from './gate/index.js';
|
|
27
31
|
export { Heartbeat, DEFAULT_HEARTBEAT, HEARTBEAT_TOOL_PREFIX } from './heartbeat/heartbeat.js';
|
|
28
32
|
export type { HeartbeatOptions, HeartbeatSettings, HeartbeatWake, HeartbeatDeliveryMode, HeartbeatScheduledWake, Reminder } from './heartbeat/heartbeat.js';
|
|
29
33
|
export { ChannelRegistry } from './mcpl/index.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjL,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGjH,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,YAAY,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACvG,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1G,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChJ,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
export * from './types/index.js';
|
|
3
3
|
// Core classes
|
|
4
4
|
export { AgentFramework, AgentStoppedError, BudgetPreflightError, DefaultErrorPolicy, ProviderWaitNotSleptError, QuiesceBlockedError, ResumeBlockedError } from './framework.js';
|
|
5
|
+
export { isReasoningLoss } from './reasoning-loss.js';
|
|
5
6
|
export { Agent } from './agent.js';
|
|
6
7
|
export { FLAT_MINIMUM_MS } from './inference-bounds.js';
|
|
7
8
|
export { storedInjectionMarkOf } from './stored-injections.js';
|
|
9
|
+
export { covers, coverTest, describeReadMark, markAtOrAfter } from './read-marks.js';
|
|
10
|
+
// How a resident's context and the subconscious's are opened (#291), for a host that opens one itself.
|
|
11
|
+
export { residentContextOptions, residentViewFilter, subconsciousContextOptions, subconsciousViewFilter, } from './context-options.js';
|
|
8
12
|
export { ProcessQueueImpl } from './queue.js';
|
|
9
13
|
export { ModuleRegistry } from './module-registry.js';
|
|
10
14
|
export { ShutdownTimeoutError, DEFAULT_SHUTDOWN_TIMEOUT_MS } from './shutdown.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,11 +27,12 @@ export declare function wholeCallMs(bounds: InferenceBounds, maxTokens: number |
|
|
|
27
27
|
export declare function isDeadlineExpiry(error: unknown): boolean;
|
|
28
28
|
/**
|
|
29
29
|
* Names the host setting for the bound a stream cut hit, read from the opening
|
|
30
|
-
* of membrane 0.8.0's message for it (
|
|
30
|
+
* of membrane 0.8.0's and 0.9.0's message for it (their progress-bounds.ts and
|
|
31
31
|
* providers/utils.ts), so the reason an operator and the agent see names the
|
|
32
32
|
* host's setting for that bound, as the README's table maps them. A message it
|
|
33
33
|
* doesn't know is left as it is.
|
|
34
34
|
*/
|
|
35
35
|
export declare function withHostSetting(message: string): string;
|
|
36
36
|
export declare function deadlineCut(message: string | undefined): MembraneError;
|
|
37
|
+
export declare function isDeadlineCut(error: unknown): boolean;
|
|
37
38
|
//# sourceMappingURL=inference-bounds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference-bounds.d.ts","sourceRoot":"","sources":["../../src/inference-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAElH;2BAC2B;AAC3B,MAAM,WAAW,sBAAsB;IACrC;;;;gDAI4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC;0CACsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,UAAY,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,GAAG,sBAAsB,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAqBjH;AAYD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B;IAAE,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAO3E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG1F;
|
|
1
|
+
{"version":3,"file":"inference-bounds.d.ts","sourceRoot":"","sources":["../../src/inference-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAElH;2BAC2B;AAC3B,MAAM,WAAW,sBAAsB;IACrC;;;;gDAI4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC;0CACsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,UAAY,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,GAAG,sBAAsB,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAqBjH;AAYD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B;IAAE,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAO3E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG1F;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOvD;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAUtE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD"}
|
|
@@ -47,18 +47,16 @@ export function wholeCallMs(bounds, maxTokens) {
|
|
|
47
47
|
return Math.max(setupMs(bounds.progressBounds), bounds.flatMinimumMs);
|
|
48
48
|
return setupMs(bounds.progressBounds) + allowanceMs(bounds.progressBounds, maxTokens);
|
|
49
49
|
}
|
|
50
|
-
// membrane 0.8.0
|
|
51
|
-
// symbol (on a sent request, or the Anthropic SDK's timeout, which
|
|
52
|
-
// connect timeout too) and
|
|
53
|
-
// the deadline class here and the transient-failure check of an exhausted
|
|
54
|
-
// turn's re-arm both use it.
|
|
50
|
+
// membrane 0.8.0 and 0.9.0 mark a deadline they report as run out with this
|
|
51
|
+
// registered symbol (on a sent request, or the Anthropic SDK's timeout, which
|
|
52
|
+
// covers its connect timeout too) and export no reader or marker for it.
|
|
55
53
|
const DEADLINE_EXPIRY = Symbol.for('membrane.deadlineExpiry');
|
|
56
54
|
export function isDeadlineExpiry(error) {
|
|
57
55
|
return typeof error === 'object' && error !== null && error[DEADLINE_EXPIRY] === true;
|
|
58
56
|
}
|
|
59
57
|
/**
|
|
60
58
|
* Names the host setting for the bound a stream cut hit, read from the opening
|
|
61
|
-
* of membrane 0.8.0's message for it (
|
|
59
|
+
* of membrane 0.8.0's and 0.9.0's message for it (their progress-bounds.ts and
|
|
62
60
|
* providers/utils.ts), so the reason an operator and the agent see names the
|
|
63
61
|
* host's setting for that bound, as the README's table maps them. A message it
|
|
64
62
|
* doesn't know is left as it is.
|
|
@@ -71,6 +69,7 @@ export function withHostSetting(message) {
|
|
|
71
69
|
: undefined;
|
|
72
70
|
return setting === undefined ? message : `${message} (the host's setting for this bound: \`inferenceBounds.${setting}\`)`;
|
|
73
71
|
}
|
|
72
|
+
const CUTS = new WeakSet();
|
|
74
73
|
export function deadlineCut(message) {
|
|
75
74
|
const error = new MembraneError({
|
|
76
75
|
type: 'timeout',
|
|
@@ -79,6 +78,10 @@ export function deadlineCut(message) {
|
|
|
79
78
|
rawError: undefined,
|
|
80
79
|
});
|
|
81
80
|
Object.defineProperty(error, DEADLINE_EXPIRY, { value: true });
|
|
81
|
+
CUTS.add(error);
|
|
82
82
|
return error;
|
|
83
83
|
}
|
|
84
|
+
export function isDeadlineCut(error) {
|
|
85
|
+
return typeof error === 'object' && error !== null && CUTS.has(error);
|
|
86
|
+
}
|
|
84
87
|
//# sourceMappingURL=inference-bounds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference-bounds.js","sourceRoot":"","sources":["../../src/inference-bounds.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"inference-bounds.js","sourceRoot":"","sources":["../../src/inference-bounds.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A JSON-RPC 2.0 message's envelope, read once where a message arrives, by
|
|
3
|
+
* each of the framework's endpoints that answers requests: the MCPL
|
|
4
|
+
* connection, for its servers' requests, and the MCP server
|
|
5
|
+
* (src/api/mcp-server-core.ts), for its client's.
|
|
6
|
+
*
|
|
7
|
+
* A message with an id member and no method is a response, whatever the
|
|
8
|
+
* id's value: a peer answers a request it couldn't read with id null (§5),
|
|
9
|
+
* and taking that answer for a request would answer it in turn. So is an
|
|
10
|
+
* error with no id, which MCP lets a peer send for a request it couldn't
|
|
11
|
+
* read (MCP 2025-11-25, Basic, Error Responses), but only from a message
|
|
12
|
+
* whose jsonrpc member is "2.0": a peer's own JSON log lines, which an MCPL
|
|
13
|
+
* server's stdout can carry, can have an error key. Any other object with
|
|
14
|
+
* neither a method nor an id isn't JSON-RPC: the MCP server answers it
|
|
15
|
+
* -32600 with id null, as it does a value that isn't an object, and the MCPL
|
|
16
|
+
* connection, whose server's stdout carries other output, ignores it. A
|
|
17
|
+
* message with a method is a request when it has an id member, whatever its
|
|
18
|
+
* value, and a notification when it has none (§4.1), so `"id": null` is a
|
|
19
|
+
* request. MCP says a request's id MUST NOT be null (2025-11-25, Basic); one
|
|
20
|
+
* is served anyway, as JSON-RPC allows, since its sender waits for the
|
|
21
|
+
* answer. A request's method must be a string and its id a string, a number
|
|
22
|
+
* or null (§4). A message that breaks either isn't a Request object, and so
|
|
23
|
+
* isn't a notification either, with or without an id: the endpoints answer
|
|
24
|
+
* it once with -32600, carrying its id where that's a string or a number and
|
|
25
|
+
* null otherwise (§5, and the spec's own example of an invalid Request
|
|
26
|
+
* object, which has no id), and don't dispatch it. The MCPL handshake, which
|
|
27
|
+
* answers only pings, ignores it, as it ignores every other request then.
|
|
28
|
+
* Apart from the error with no id, the `jsonrpc` member isn't checked: a
|
|
29
|
+
* peer that leaves it out is served, as before.
|
|
30
|
+
*/
|
|
31
|
+
/** A JSON value's kind, as a log line or an error names what a peer sent
|
|
32
|
+
* without repeating it: "null", "an array", "an object", "a number". */
|
|
33
|
+
export declare function jsonKind(value: unknown): string;
|
|
34
|
+
export type JsonRpcEnvelope =
|
|
35
|
+
/** An id member and no method, or a JSON-RPC 2.0 error with neither: an
|
|
36
|
+
* answer, which the endpoint matches to one of its own requests by the
|
|
37
|
+
* id where it can. */
|
|
38
|
+
{
|
|
39
|
+
kind: 'response';
|
|
40
|
+
}
|
|
41
|
+
/** Neither a method nor an id member, and not such an error: not a
|
|
42
|
+
* JSON-RPC message. */
|
|
43
|
+
| {
|
|
44
|
+
kind: 'neither';
|
|
45
|
+
} | {
|
|
46
|
+
kind: 'request';
|
|
47
|
+
method: string;
|
|
48
|
+
id: string | number | null;
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'notification';
|
|
51
|
+
method: string;
|
|
52
|
+
}
|
|
53
|
+
/** Not a Request object, with or without an id: answered with `error`,
|
|
54
|
+
* carrying `id`, and not dispatched. `method` is its method where that's
|
|
55
|
+
* a string, for a log line. */
|
|
56
|
+
| {
|
|
57
|
+
kind: 'invalid';
|
|
58
|
+
id: string | number | null;
|
|
59
|
+
error: {
|
|
60
|
+
code: -32600;
|
|
61
|
+
message: string;
|
|
62
|
+
};
|
|
63
|
+
method?: string;
|
|
64
|
+
problems: string;
|
|
65
|
+
};
|
|
66
|
+
/** Read a parsed message's envelope. What to do with a value that isn't an
|
|
67
|
+
* object is the endpoint's own call. */
|
|
68
|
+
export declare function readEnvelope(msg: Record<string, unknown>): JsonRpcEnvelope;
|
|
69
|
+
//# sourceMappingURL=jsonrpc-envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonrpc-envelope.d.ts","sourceRoot":"","sources":["../../src/jsonrpc-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;yEACyE;AACzE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/C;AAED,MAAM,MAAM,eAAe;AACzB;;uBAEuB;AACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE;AACtB;wBACwB;GACtB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC1C;;gCAEgC;GAC9B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,CAAC,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjI;yCACyC;AACzC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAwB1E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A JSON-RPC 2.0 message's envelope, read once where a message arrives, by
|
|
3
|
+
* each of the framework's endpoints that answers requests: the MCPL
|
|
4
|
+
* connection, for its servers' requests, and the MCP server
|
|
5
|
+
* (src/api/mcp-server-core.ts), for its client's.
|
|
6
|
+
*
|
|
7
|
+
* A message with an id member and no method is a response, whatever the
|
|
8
|
+
* id's value: a peer answers a request it couldn't read with id null (§5),
|
|
9
|
+
* and taking that answer for a request would answer it in turn. So is an
|
|
10
|
+
* error with no id, which MCP lets a peer send for a request it couldn't
|
|
11
|
+
* read (MCP 2025-11-25, Basic, Error Responses), but only from a message
|
|
12
|
+
* whose jsonrpc member is "2.0": a peer's own JSON log lines, which an MCPL
|
|
13
|
+
* server's stdout can carry, can have an error key. Any other object with
|
|
14
|
+
* neither a method nor an id isn't JSON-RPC: the MCP server answers it
|
|
15
|
+
* -32600 with id null, as it does a value that isn't an object, and the MCPL
|
|
16
|
+
* connection, whose server's stdout carries other output, ignores it. A
|
|
17
|
+
* message with a method is a request when it has an id member, whatever its
|
|
18
|
+
* value, and a notification when it has none (§4.1), so `"id": null` is a
|
|
19
|
+
* request. MCP says a request's id MUST NOT be null (2025-11-25, Basic); one
|
|
20
|
+
* is served anyway, as JSON-RPC allows, since its sender waits for the
|
|
21
|
+
* answer. A request's method must be a string and its id a string, a number
|
|
22
|
+
* or null (§4). A message that breaks either isn't a Request object, and so
|
|
23
|
+
* isn't a notification either, with or without an id: the endpoints answer
|
|
24
|
+
* it once with -32600, carrying its id where that's a string or a number and
|
|
25
|
+
* null otherwise (§5, and the spec's own example of an invalid Request
|
|
26
|
+
* object, which has no id), and don't dispatch it. The MCPL handshake, which
|
|
27
|
+
* answers only pings, ignores it, as it ignores every other request then.
|
|
28
|
+
* Apart from the error with no id, the `jsonrpc` member isn't checked: a
|
|
29
|
+
* peer that leaves it out is served, as before.
|
|
30
|
+
*/
|
|
31
|
+
/** A JSON value's kind, as a log line or an error names what a peer sent
|
|
32
|
+
* without repeating it: "null", "an array", "an object", "a number". */
|
|
33
|
+
export function jsonKind(value) {
|
|
34
|
+
if (value === null)
|
|
35
|
+
return 'null';
|
|
36
|
+
const kind = Array.isArray(value) ? 'array' : typeof value;
|
|
37
|
+
return `${/^[aeiou]/.test(kind) ? 'an' : 'a'} ${kind}`;
|
|
38
|
+
}
|
|
39
|
+
/** Read a parsed message's envelope. What to do with a value that isn't an
|
|
40
|
+
* object is the endpoint's own call. */
|
|
41
|
+
export function readEnvelope(msg) {
|
|
42
|
+
if (!Object.hasOwn(msg, 'method')) {
|
|
43
|
+
const answers = Object.hasOwn(msg, 'id') || (msg.jsonrpc === '2.0' && Object.hasOwn(msg, 'error'));
|
|
44
|
+
return { kind: answers ? 'response' : 'neither' };
|
|
45
|
+
}
|
|
46
|
+
const isRequest = Object.hasOwn(msg, 'id');
|
|
47
|
+
const { method, id } = msg;
|
|
48
|
+
const problems = [
|
|
49
|
+
...(typeof method === 'string' ? [] : [`the method must be a string, not ${jsonKind(method)}`]),
|
|
50
|
+
...(!isRequest || typeof id === 'string' || typeof id === 'number' || id === null
|
|
51
|
+
? [] : [`the id must be a string, a number or null, not ${jsonKind(id)}`]),
|
|
52
|
+
].join('; ');
|
|
53
|
+
if (problems) {
|
|
54
|
+
return {
|
|
55
|
+
kind: 'invalid',
|
|
56
|
+
id: typeof id === 'string' || typeof id === 'number' ? id : null,
|
|
57
|
+
error: { code: -32600, message: `Invalid Request: ${problems}` },
|
|
58
|
+
...(typeof method === 'string' ? { method } : {}),
|
|
59
|
+
problems,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return isRequest
|
|
63
|
+
? { kind: 'request', method: method, id: id }
|
|
64
|
+
: { kind: 'notification', method: method };
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=jsonrpc-envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonrpc-envelope.js","sourceRoot":"","sources":["../../src/jsonrpc-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;yEACyE;AACzE,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;IAC3D,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACzD,CAAC;AAiBD;yCACyC;AACzC,MAAM,UAAU,YAAY,CAAC,GAA4B;IACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACnG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oCAAoC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/F,GAAG,CAAC,CAAC,SAAS,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI;YAC/E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kDAAkD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAChE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,QAAQ,EAAE,EAAE;YAChE,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,QAAQ;SACT,CAAC;IACJ,CAAC;IACD,OAAO,SAAS;QACd,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAgB,EAAE,EAAE,EAAE,EAA4B,EAAE;QACjF,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAgB,EAAE,CAAC;AACzD,CAAC"}
|