@animalabs/agent-framework 0.26.2 → 0.28.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 +99 -8
- package/dist/src/agent.d.ts +291 -23
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +596 -61
- package/dist/src/agent.js.map +1 -1
- package/dist/src/api/server.d.ts.map +1 -1
- package/dist/src/api/server.js +5 -4
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/auto-continue.d.ts +34 -0
- package/dist/src/auto-continue.d.ts.map +1 -0
- package/dist/src/auto-continue.js +36 -0
- package/dist/src/auto-continue.js.map +1 -0
- package/dist/src/code-execution/isolate/scripts.d.ts +11 -0
- package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/scripts.js +5 -1
- package/dist/src/code-execution/isolate/scripts.js.map +1 -1
- package/dist/src/cut-off-round.d.ts +24 -0
- package/dist/src/cut-off-round.d.ts.map +1 -0
- package/dist/src/cut-off-round.js +87 -0
- package/dist/src/cut-off-round.js.map +1 -0
- package/dist/src/framework.d.ts +1038 -193
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +5967 -1514
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +405 -46
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +2646 -399
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/gate/index.d.ts +3 -2
- package/dist/src/gate/index.d.ts.map +1 -1
- package/dist/src/gate/index.js +2 -1
- package/dist/src/gate/index.js.map +1 -1
- package/dist/src/gate/recipe-reconcile.d.ts +103 -0
- package/dist/src/gate/recipe-reconcile.d.ts.map +1 -0
- package/dist/src/gate/recipe-reconcile.js +325 -0
- package/dist/src/gate/recipe-reconcile.js.map +1 -0
- package/dist/src/gate/reply-judge.d.ts +116 -0
- package/dist/src/gate/reply-judge.d.ts.map +1 -0
- package/dist/src/gate/reply-judge.js +467 -0
- package/dist/src/gate/reply-judge.js.map +1 -0
- package/dist/src/gate/types.d.ts +229 -8
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/heartbeat/heartbeat.d.ts +184 -0
- package/dist/src/heartbeat/heartbeat.d.ts.map +1 -0
- package/dist/src/heartbeat/heartbeat.js +752 -0
- package/dist/src/heartbeat/heartbeat.js.map +1 -0
- package/dist/src/heartbeat/reminder-time.d.ts +5 -0
- package/dist/src/heartbeat/reminder-time.d.ts.map +1 -0
- package/dist/src/heartbeat/reminder-time.js +107 -0
- package/dist/src/heartbeat/reminder-time.js.map +1 -0
- package/dist/src/index.d.ts +10 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/capability-mask.d.ts.map +1 -1
- package/dist/src/mcpl/capability-mask.js +3 -2
- package/dist/src/mcpl/capability-mask.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +433 -113
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +1154 -435
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/conversation-router.d.ts +16 -8
- package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
- package/dist/src/mcpl/conversation-router.js +29 -15
- package/dist/src/mcpl/conversation-router.js.map +1 -1
- package/dist/src/mcpl/convert-block.d.ts.map +1 -1
- package/dist/src/mcpl/convert-block.js +14 -2
- package/dist/src/mcpl/convert-block.js.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.d.ts +7 -1
- package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.js +32 -7
- package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
- package/dist/src/mcpl/inbound-source.d.ts +26 -10
- package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
- package/dist/src/mcpl/inbound-source.js +40 -69
- package/dist/src/mcpl/inbound-source.js.map +1 -1
- package/dist/src/mcpl/index.d.ts +5 -1
- package/dist/src/mcpl/index.d.ts.map +1 -1
- package/dist/src/mcpl/index.js +4 -0
- package/dist/src/mcpl/index.js.map +1 -1
- package/dist/src/mcpl/inference-router.d.ts +14 -2
- package/dist/src/mcpl/inference-router.d.ts.map +1 -1
- package/dist/src/mcpl/inference-router.js +73 -28
- package/dist/src/mcpl/inference-router.js.map +1 -1
- package/dist/src/mcpl/prose-grammar.d.ts +4 -0
- package/dist/src/mcpl/prose-grammar.d.ts.map +1 -1
- package/dist/src/mcpl/prose-grammar.js +6 -0
- package/dist/src/mcpl/prose-grammar.js.map +1 -1
- package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
- package/dist/src/mcpl/protocol-family.js +3 -0
- package/dist/src/mcpl/protocol-family.js.map +1 -1
- package/dist/src/mcpl/push-coalescer.d.ts +20 -2
- package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
- package/dist/src/mcpl/push-coalescer.js +33 -11
- package/dist/src/mcpl/push-coalescer.js.map +1 -1
- package/dist/src/mcpl/reference-fetcher.d.ts +63 -42
- package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
- package/dist/src/mcpl/reference-fetcher.js +177 -145
- package/dist/src/mcpl/reference-fetcher.js.map +1 -1
- package/dist/src/mcpl/references.d.ts +380 -46
- package/dist/src/mcpl/references.d.ts.map +1 -1
- package/dist/src/mcpl/references.js +736 -77
- package/dist/src/mcpl/references.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +93 -4
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +176 -11
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/tags.d.ts +9 -2
- package/dist/src/mcpl/tags.d.ts.map +1 -1
- package/dist/src/mcpl/tags.js +12 -2
- package/dist/src/mcpl/tags.js.map +1 -1
- package/dist/src/mcpl/tool-lifecycle.d.ts +11 -0
- package/dist/src/mcpl/tool-lifecycle.d.ts.map +1 -1
- package/dist/src/mcpl/tool-lifecycle.js +21 -0
- package/dist/src/mcpl/tool-lifecycle.js.map +1 -1
- package/dist/src/mcpl/tool-presence.d.ts +311 -0
- package/dist/src/mcpl/tool-presence.d.ts.map +1 -0
- package/dist/src/mcpl/tool-presence.js +697 -0
- package/dist/src/mcpl/tool-presence.js.map +1 -0
- package/dist/src/mcpl/tool-result-normalize.d.ts +9 -3
- package/dist/src/mcpl/tool-result-normalize.d.ts.map +1 -1
- package/dist/src/mcpl/tool-result-normalize.js +14 -6
- package/dist/src/mcpl/tool-result-normalize.js.map +1 -1
- package/dist/src/mcpl/tool-signature.d.ts +46 -0
- package/dist/src/mcpl/tool-signature.d.ts.map +1 -0
- package/dist/src/mcpl/tool-signature.js +321 -0
- package/dist/src/mcpl/tool-signature.js.map +1 -0
- package/dist/src/mcpl/toolset-host.d.ts +251 -0
- package/dist/src/mcpl/toolset-host.d.ts.map +1 -0
- package/dist/src/mcpl/toolset-host.js +720 -0
- package/dist/src/mcpl/toolset-host.js.map +1 -0
- package/dist/src/mcpl/toolsets-module.d.ts +83 -0
- package/dist/src/mcpl/toolsets-module.d.ts.map +1 -0
- package/dist/src/mcpl/toolsets-module.js +523 -0
- package/dist/src/mcpl/toolsets-module.js.map +1 -0
- package/dist/src/mcpl/transport.d.ts +2 -2
- package/dist/src/mcpl/transport.d.ts.map +1 -1
- package/dist/src/mcpl/transport.js +3 -2
- package/dist/src/mcpl/transport.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +24 -2
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/mcpl/visible-content.d.ts +7 -9
- package/dist/src/mcpl/visible-content.d.ts.map +1 -1
- package/dist/src/mcpl/visible-content.js +21 -9
- package/dist/src/mcpl/visible-content.js.map +1 -1
- package/dist/src/module-registry.d.ts +27 -9
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +77 -17
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/discord/index.js +1 -1
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/history/index.d.ts +2 -1
- package/dist/src/modules/history/index.d.ts.map +1 -1
- package/dist/src/modules/history/index.js +73 -28
- package/dist/src/modules/history/index.js.map +1 -1
- package/dist/src/modules/history/semantic.d.ts +108 -6
- package/dist/src/modules/history/semantic.d.ts.map +1 -1
- package/dist/src/modules/history/semantic.js +273 -57
- package/dist/src/modules/history/semantic.js.map +1 -1
- package/dist/src/modules/workspace/answers.d.ts +22 -0
- package/dist/src/modules/workspace/answers.d.ts.map +1 -0
- package/dist/src/modules/workspace/answers.js +123 -0
- package/dist/src/modules/workspace/answers.js.map +1 -0
- package/dist/src/modules/workspace/branch-intent.d.ts +5 -3
- package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
- package/dist/src/modules/workspace/branch-intent.js +6 -2
- package/dist/src/modules/workspace/branch-intent.js.map +1 -1
- package/dist/src/modules/workspace/direct-write.d.ts +184 -0
- package/dist/src/modules/workspace/direct-write.d.ts.map +1 -0
- package/dist/src/modules/workspace/direct-write.js +417 -0
- package/dist/src/modules/workspace/direct-write.js.map +1 -0
- package/dist/src/modules/workspace/disk-agreement.d.ts +33 -11
- package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.js +48 -17
- package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
- package/dist/src/modules/workspace/edit-text.d.ts +27 -12
- package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
- package/dist/src/modules/workspace/edit-text.js +61 -29
- package/dist/src/modules/workspace/edit-text.js.map +1 -1
- package/dist/src/modules/workspace/effects.d.ts +10 -0
- package/dist/src/modules/workspace/effects.d.ts.map +1 -1
- package/dist/src/modules/workspace/effects.js +21 -14
- package/dist/src/modules/workspace/effects.js.map +1 -1
- package/dist/src/modules/workspace/index.d.ts +308 -78
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +2103 -720
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts +75 -63
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +366 -180
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/read-page.d.ts +41 -0
- package/dist/src/modules/workspace/read-page.d.ts.map +1 -0
- package/dist/src/modules/workspace/read-page.js +219 -0
- package/dist/src/modules/workspace/read-page.js.map +1 -0
- package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
- package/dist/src/modules/workspace/reconcile.js +26 -16
- package/dist/src/modules/workspace/reconcile.js.map +1 -1
- package/dist/src/modules/workspace/result-text.d.ts +68 -0
- package/dist/src/modules/workspace/result-text.d.ts.map +1 -0
- package/dist/src/modules/workspace/result-text.js +94 -0
- package/dist/src/modules/workspace/result-text.js.map +1 -0
- package/dist/src/modules/workspace/sync.d.ts +9 -0
- package/dist/src/modules/workspace/sync.d.ts.map +1 -1
- package/dist/src/modules/workspace/sync.js +14 -0
- package/dist/src/modules/workspace/sync.js.map +1 -1
- package/dist/src/modules/workspace/text.d.ts +29 -12
- package/dist/src/modules/workspace/text.d.ts.map +1 -1
- package/dist/src/modules/workspace/text.js +35 -33
- package/dist/src/modules/workspace/text.js.map +1 -1
- package/dist/src/modules/workspace/types.d.ts +137 -60
- package/dist/src/modules/workspace/types.d.ts.map +1 -1
- package/dist/src/modules/workspace/types.js.map +1 -1
- package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
- package/dist/src/modules/workspace/watcher.js +8 -3
- package/dist/src/modules/workspace/watcher.js.map +1 -1
- package/dist/src/prose-drafts.d.ts +4 -3
- package/dist/src/prose-drafts.d.ts.map +1 -1
- package/dist/src/prose-drafts.js +3 -2
- package/dist/src/prose-drafts.js.map +1 -1
- package/dist/src/reasoning-loss-notice.d.ts +23 -0
- package/dist/src/reasoning-loss-notice.d.ts.map +1 -0
- package/dist/src/reasoning-loss-notice.js +50 -0
- package/dist/src/reasoning-loss-notice.js.map +1 -0
- package/dist/src/reasoning-loss.d.ts +24 -0
- package/dist/src/reasoning-loss.d.ts.map +1 -0
- package/dist/src/reasoning-loss.js +102 -0
- package/dist/src/reasoning-loss.js.map +1 -0
- package/dist/src/send-tools.d.ts +3 -2
- package/dist/src/send-tools.d.ts.map +1 -1
- package/dist/src/send-tools.js +3 -2
- package/dist/src/send-tools.js.map +1 -1
- package/dist/src/sent-rows.d.ts +59 -0
- package/dist/src/sent-rows.d.ts.map +1 -0
- package/dist/src/sent-rows.js +145 -0
- package/dist/src/sent-rows.js.map +1 -0
- package/dist/src/silent-heartbeat.d.ts +17 -10
- package/dist/src/silent-heartbeat.d.ts.map +1 -1
- package/dist/src/silent-heartbeat.js.map +1 -1
- package/dist/src/stable-hash.d.ts +3 -0
- package/dist/src/stable-hash.d.ts.map +1 -0
- package/dist/src/stable-hash.js +15 -0
- package/dist/src/stable-hash.js.map +1 -0
- package/dist/src/stored-injections.d.ts +99 -0
- package/dist/src/stored-injections.d.ts.map +1 -0
- package/dist/src/stored-injections.js +106 -0
- package/dist/src/stored-injections.js.map +1 -0
- package/dist/src/text-as-stored.d.ts +4 -3
- package/dist/src/text-as-stored.d.ts.map +1 -1
- package/dist/src/text-as-stored.js +4 -3
- package/dist/src/text-as-stored.js.map +1 -1
- package/dist/src/thinking-drops.d.ts +74 -0
- package/dist/src/thinking-drops.d.ts.map +1 -0
- package/dist/src/thinking-drops.js +96 -0
- package/dist/src/thinking-drops.js.map +1 -0
- package/dist/src/tool-args.d.ts +12 -0
- package/dist/src/tool-args.d.ts.map +1 -1
- package/dist/src/tool-args.js +35 -1
- package/dist/src/tool-args.js.map +1 -1
- package/dist/src/tool-image-ledger.d.ts +9 -8
- package/dist/src/tool-image-ledger.d.ts.map +1 -1
- package/dist/src/tool-image-ledger.js +9 -8
- package/dist/src/tool-image-ledger.js.map +1 -1
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +3 -1
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tool-result-guard.d.ts +12 -6
- package/dist/src/tool-result-guard.d.ts.map +1 -1
- package/dist/src/tool-result-guard.js +44 -17
- package/dist/src/tool-result-guard.js.map +1 -1
- package/dist/src/tool-result-history.d.ts +176 -24
- package/dist/src/tool-result-history.d.ts.map +1 -1
- package/dist/src/tool-result-history.js +411 -91
- package/dist/src/tool-result-history.js.map +1 -1
- package/dist/src/tune-out/coordinator.d.ts +17 -9
- package/dist/src/tune-out/coordinator.d.ts.map +1 -1
- package/dist/src/tune-out/coordinator.js +84 -37
- package/dist/src/tune-out/coordinator.js.map +1 -1
- package/dist/src/tune-out/tools.d.ts +4 -1
- package/dist/src/tune-out/tools.d.ts.map +1 -1
- package/dist/src/types/agent.d.ts +217 -7
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/events.d.ts +33 -9
- package/dist/src/types/events.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +39 -3
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +95 -9
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +91 -3
- package/dist/src/types/trace.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/agent.ts +661 -67
- package/src/api/server.ts +5 -4
- package/src/auto-continue.ts +43 -0
- package/src/code-execution/isolate/scripts.ts +11 -3
- package/src/cut-off-round.ts +98 -0
- package/src/framework.ts +6168 -1540
- package/src/gate/event-gate.ts +2895 -405
- package/src/gate/index.ts +10 -1
- package/src/gate/recipe-reconcile.ts +355 -0
- package/src/gate/reply-judge.ts +512 -0
- package/src/gate/types.ts +234 -9
- package/src/heartbeat/heartbeat.ts +804 -0
- package/src/heartbeat/reminder-time.ts +107 -0
- package/src/index.ts +11 -4
- package/src/mcpl/capability-mask.ts +3 -2
- package/src/mcpl/channel-registry.ts +1222 -468
- package/src/mcpl/conversation-router.ts +34 -16
- package/src/mcpl/convert-block.ts +14 -1
- package/src/mcpl/hook-orchestrator.ts +33 -6
- package/src/mcpl/inbound-source.ts +42 -69
- package/src/mcpl/index.ts +6 -1
- package/src/mcpl/inference-router.ts +79 -34
- package/src/mcpl/prose-grammar.ts +7 -0
- package/src/mcpl/protocol-family.ts +2 -0
- package/src/mcpl/push-coalescer.ts +51 -13
- package/src/mcpl/reference-fetcher.ts +201 -162
- package/src/mcpl/references.ts +851 -77
- package/src/mcpl/server-connection.ts +189 -11
- package/src/mcpl/tags.ts +13 -2
- package/src/mcpl/tool-lifecycle.ts +21 -0
- package/src/mcpl/tool-presence.ts +716 -0
- package/src/mcpl/tool-result-normalize.ts +18 -6
- package/src/mcpl/tool-signature.ts +316 -0
- package/src/mcpl/toolset-host.ts +727 -0
- package/src/mcpl/toolsets-module.ts +545 -0
- package/src/mcpl/transport.ts +3 -2
- package/src/mcpl/types.ts +25 -2
- package/src/mcpl/visible-content.ts +22 -9
- package/src/module-registry.ts +85 -26
- package/src/modules/discord/index.ts +1 -1
- package/src/modules/history/index.ts +70 -30
- package/src/modules/history/semantic.ts +308 -54
- package/src/modules/workspace/answers.ts +133 -0
- package/src/modules/workspace/branch-intent.ts +10 -5
- package/src/modules/workspace/direct-write.ts +460 -0
- package/src/modules/workspace/disk-agreement.ts +52 -21
- package/src/modules/workspace/edit-text.ts +84 -35
- package/src/modules/workspace/effects.ts +22 -13
- package/src/modules/workspace/index.ts +2142 -723
- package/src/modules/workspace/observe.ts +381 -177
- package/src/modules/workspace/read-page.ts +228 -0
- package/src/modules/workspace/reconcile.ts +27 -15
- package/src/modules/workspace/result-text.ts +121 -0
- package/src/modules/workspace/sync.ts +16 -0
- package/src/modules/workspace/text.ts +58 -32
- package/src/modules/workspace/types.ts +137 -60
- package/src/modules/workspace/watcher.ts +8 -3
- package/src/prose-drafts.ts +4 -3
- package/src/reasoning-loss-notice.ts +62 -0
- package/src/reasoning-loss.ts +120 -0
- package/src/send-tools.ts +3 -2
- package/src/sent-rows.ts +162 -0
- package/src/silent-heartbeat.ts +17 -10
- package/src/stable-hash.ts +14 -0
- package/src/stored-injections.ts +131 -0
- package/src/text-as-stored.ts +4 -3
- package/src/thinking-drops.ts +135 -0
- package/src/tool-args.ts +34 -1
- package/src/tool-image-ledger.ts +9 -8
- package/src/tool-presentation.ts +3 -1
- package/src/tool-result-guard.ts +45 -17
- package/src/tool-result-history.ts +471 -90
- package/src/tune-out/coordinator.ts +80 -37
- package/src/tune-out/tools.ts +4 -1
- package/src/types/agent.ts +220 -7
- package/src/types/events.ts +33 -9
- package/src/types/framework.ts +36 -3
- package/src/types/module.ts +91 -9
- package/src/types/trace.ts +94 -3
|
@@ -26,10 +26,12 @@ export type { WorkspaceConfig, MountConfig, MountState, WorkspaceModuleState, Re
|
|
|
26
26
|
* directories leading out of it (`escape`), a file swapped underneath the read
|
|
27
27
|
* (`changed`), a path the mount's `include` doesn't cover (`outside_include`),
|
|
28
28
|
* and a path in another mount's directory nested in the one named
|
|
29
|
-
* (`other_mount`), whose message names the mount that holds it
|
|
30
|
-
* to use there. A symlink leading into such a directory is
|
|
31
|
-
* only where its refusal names that mount: a directory, or a
|
|
32
|
-
* mount's include covers
|
|
29
|
+
* (`other_mount`), whose message names the mount that holds it, or may hold
|
|
30
|
+
* it, and the path to use there. A symlink leading into such a directory is
|
|
31
|
+
* `other_mount` only where its refusal names that mount: a directory, or a
|
|
32
|
+
* file that mount's include covers, and so does the include of each other
|
|
33
|
+
* nested mount whose directory may hold it, out to the first that surely
|
|
34
|
+
* does. Anywhere else, on a mount that doesn't follow
|
|
33
35
|
* symlinks, it gets the code of a link where it stands, `symlink` at the
|
|
34
36
|
* path itself and `parent_symlink` on its way, and on one that does,
|
|
35
37
|
* `escape`, as a path that leaves the mount. On a mount with an include, a
|
|
@@ -119,14 +121,11 @@ export declare class WorkspaceModule implements Module {
|
|
|
119
121
|
private ctimeTrust;
|
|
120
122
|
/**
|
|
121
123
|
* Each mount's directories that are other mounts nested inside it, with
|
|
122
|
-
* each mount's name and real root,
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* the
|
|
127
|
-
* with each root as resolved standing for its real one, and each start
|
|
128
|
-
* reads it all again with the roots placed where disk has them
|
|
129
|
-
* (readNesting).
|
|
124
|
+
* each mount's name and real root: as configured, and as the real roots
|
|
125
|
+
* place it, where that differs (`fromRoots`). Each is mount-relative and
|
|
126
|
+
* `/`-separated. The constructor nests by configured path, with each root
|
|
127
|
+
* as resolved standing for its real one, and each start reads it all again
|
|
128
|
+
* with the roots placed where disk has them (readNesting).
|
|
130
129
|
*/
|
|
131
130
|
private otherMounts;
|
|
132
131
|
/** Whether each mount's root folds case (foldsCase), where disk has it, as the last start read it. */
|
|
@@ -152,6 +151,23 @@ export declare class WorkspaceModule implements Module {
|
|
|
152
151
|
* ensureRunning to say once both halves of the lifecycle have run.
|
|
153
152
|
*/
|
|
154
153
|
private notDirect;
|
|
154
|
+
/**
|
|
155
|
+
* Each agent's latest direct write on each mount it wrote direct, P, with
|
|
156
|
+
* the notice of its departure from it, N (DirectHead), by mount, then by
|
|
157
|
+
* agent. Saved at stop() in a global record (headsJournal), not the
|
|
158
|
+
* module's branch state: they describe disk, which doesn't rewind with a
|
|
159
|
+
* branch, so a restart on another branch, such as one an offline rollback
|
|
160
|
+
* made, still finds them.
|
|
161
|
+
*/
|
|
162
|
+
private directHeads;
|
|
163
|
+
/** Where directHeads is saved and loaded (DIRECT_HEADS_RECORD_TYPE), once initStore() has read it. */
|
|
164
|
+
private headsJournal;
|
|
165
|
+
/** The record initStore() read, as saved text, so a stop that would save the same adds none; null where there's one to replace. */
|
|
166
|
+
private loadedHeads;
|
|
167
|
+
/** Saved entries this session doesn't take up (another root, a mount not configured direct, or none), kept for the next save. */
|
|
168
|
+
private carriedHeads;
|
|
169
|
+
/** Whether an agent's history holds a message, as the framework hands it over (useHistory). */
|
|
170
|
+
private historyLookup;
|
|
155
171
|
constructor(config: WorkspaceConfig);
|
|
156
172
|
/**
|
|
157
173
|
* Inject the Chronicle store. Must be called after framework creation.
|
|
@@ -163,6 +179,22 @@ export declare class WorkspaceModule implements Module {
|
|
|
163
179
|
* second. `ensureRunning()` gates on `ctx && mounts-populated`.
|
|
164
180
|
*/
|
|
165
181
|
initStore(store: JsStore): void;
|
|
182
|
+
/**
|
|
183
|
+
* The positions stop() last saved (directHeads), before any call can
|
|
184
|
+
* write: each saved entry is a mount's positions at one root, and a mount
|
|
185
|
+
* this session configures direct gets the entry at its own root. Every
|
|
186
|
+
* other entry, a mount configured at another root, not direct, or not at
|
|
187
|
+
* all, is kept for the next save (carriedHeads), since its writes are
|
|
188
|
+
* still on disk beneath that root; a mount removed for good, and each
|
|
189
|
+
* root a mount has moved from, leave that small entry behind. A record
|
|
190
|
+
* the store can't read is logged, and this session starts with none and
|
|
191
|
+
* saves none, so the record stands for a session that can read it. One
|
|
192
|
+
* read but not of the shape saved is logged too, and this session starts
|
|
193
|
+
* with none and its stop replaces it, so a damaged record doesn't keep
|
|
194
|
+
* every later session from saving. Either way, a move away from the
|
|
195
|
+
* writes before it goes untold, as after a crash.
|
|
196
|
+
*/
|
|
197
|
+
private loadDirectHeads;
|
|
166
198
|
/**
|
|
167
199
|
* Whether each mount configured direct runs direct: not while the store
|
|
168
200
|
* holds changes there that disk lacks, on the branch selected then, so
|
|
@@ -289,15 +321,40 @@ export declare class WorkspaceModule implements Module {
|
|
|
289
321
|
private sayNotDirect;
|
|
290
322
|
private initialScan;
|
|
291
323
|
stop(): Promise<void>;
|
|
292
|
-
/**
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
324
|
+
/**
|
|
325
|
+
* Save directHeads as one global record, the latest of which the next
|
|
326
|
+
* start loads (loadDirectHeads): each mount's positions with the root
|
|
327
|
+
* they were made under, and the entries this session didn't take up
|
|
328
|
+
* (carriedHeads), unchanged. Only when that differs from what the
|
|
329
|
+
* start loaded, so a session that changed nothing, or a store no direct
|
|
330
|
+
* write reached, adds no record, and always where the record read wasn't
|
|
331
|
+
* of the shape saved, which this replaces. Nothing where the store couldn't
|
|
332
|
+
* read the record, so it stands. A save that fails is logged, and the next
|
|
333
|
+
* start finds the positions of the last save that landed, as after a
|
|
334
|
+
* crash.
|
|
335
|
+
*/
|
|
336
|
+
private saveDirectHeads;
|
|
337
|
+
/** Mount names + modes, each mount's include where it sets one, and
|
|
338
|
+
* `backend: 'direct'` for one configured direct, whether it runs direct
|
|
339
|
+
* this session or, while the store holds work there disk lacks, as
|
|
340
|
+
* 'chronicle': either way it's a directory agents write directly when it
|
|
341
|
+
* runs direct, whose files an undo leaves. For the
|
|
342
|
+
* framework's tool-result spills, saved payloads and fetched references,
|
|
343
|
+
* which need a mount for files of their own: the first writable one
|
|
344
|
+
* without an include that isn't direct (firstWritableMountName), without
|
|
345
|
+
* reaching into private state. */
|
|
296
346
|
getMounts(): Array<{
|
|
297
347
|
name: string;
|
|
298
348
|
mode: 'read-write' | 'read-only';
|
|
299
349
|
include?: readonly string[];
|
|
350
|
+
backend?: 'direct';
|
|
300
351
|
}>;
|
|
352
|
+
/**
|
|
353
|
+
* Whether any of this host's mounts runs direct. The tools' descriptions
|
|
354
|
+
* and grep's notes mention direct mounts only on such a host, so both ask
|
|
355
|
+
* this one question.
|
|
356
|
+
*/
|
|
357
|
+
private anyRunsDirect;
|
|
301
358
|
getTools(): ToolDefinition[];
|
|
302
359
|
private generatedTextFiles;
|
|
303
360
|
/** Compare the same normalized physical path for registration and tool access. */
|
|
@@ -315,6 +372,8 @@ export declare class WorkspaceModule implements Module {
|
|
|
315
372
|
/** `work`, recorded as under way until it settles (callsUnderWay). */
|
|
316
373
|
private underWay;
|
|
317
374
|
private runToolCall;
|
|
375
|
+
private answerToolCall;
|
|
376
|
+
private failureAnswer;
|
|
318
377
|
onProcess(event: ProcessEvent, _state: ProcessState): Promise<EventResponse>;
|
|
319
378
|
/**
|
|
320
379
|
* Resolve a mount-prefixed path (e.g. "tickets/2026-04-22-foo.md") to its
|
|
@@ -354,6 +413,15 @@ export declare class WorkspaceModule implements Module {
|
|
|
354
413
|
* withheld original this way, for the branch its stub is on
|
|
355
414
|
* (agent-framework #277).
|
|
356
415
|
*
|
|
416
|
+
* On a mount running direct, the bytes go to disk as a direct `write`'s
|
|
417
|
+
* do, whole or not at all, and nothing goes into the store: `branch` is
|
|
418
|
+
* checked before the write starts and again just before its rename, and
|
|
419
|
+
* `agentName` names the agent whose write it is for the head-move notice
|
|
420
|
+
* (a write naming none tells no agent).
|
|
421
|
+
*
|
|
422
|
+
* A success's `disk` says where the file stands on disk as the workspace
|
|
423
|
+
* last saw it, as the write tool's answer does.
|
|
424
|
+
*
|
|
357
425
|
* A write whose tree entry is set but that then fails returns success
|
|
358
426
|
* false with `data: { inChronicle: true }`: its copy on disk was refused,
|
|
359
427
|
* the store failed after recording the entry, which skips the push where
|
|
@@ -365,14 +433,19 @@ export declare class WorkspaceModule implements Module {
|
|
|
365
433
|
*/
|
|
366
434
|
writeBinary(mountPrefixedPath: string, data: Buffer, mimeType: string, options?: {
|
|
367
435
|
branch?: string;
|
|
436
|
+
agentName?: string;
|
|
368
437
|
}): Promise<ToolResult>;
|
|
369
438
|
private writeBinaryUnderWay;
|
|
370
439
|
/**
|
|
371
|
-
* Read a file's raw bytes from a mount
|
|
372
|
-
*
|
|
373
|
-
* readBinaryFromDisk reads it, at most the mount's
|
|
374
|
-
*
|
|
375
|
-
*
|
|
440
|
+
* Read a file's raw bytes from a mount: through the Chronicle tree, a path
|
|
441
|
+
* the workspace doesn't hold observed first (ensureSynced); or, on a direct
|
|
442
|
+
* mount, from disk as readBinaryFromDisk reads it, at most the mount's
|
|
443
|
+
* `maxFileSize`. A path the workspace holds is read as the workspace holds
|
|
444
|
+
* it, not settled as the `read` tool settles it: the tree takes in no
|
|
445
|
+
* binary disk copy, so a pass over a held binary file that disk changed
|
|
446
|
+
* would drop the workspace's copy. Public API for the framework's
|
|
447
|
+
* synthesized `read_image` tool, where the workspace module doesn't serve
|
|
448
|
+
* read_image itself, and other peer callers that need binary content.
|
|
376
449
|
*/
|
|
377
450
|
readBinary(mountPrefixedPath: string): Promise<{
|
|
378
451
|
data: Buffer;
|
|
@@ -413,7 +486,7 @@ export declare class WorkspaceModule implements Module {
|
|
|
413
486
|
}>;
|
|
414
487
|
/** A file's bytes as readBinaryFromDisk reads them, once its path is parsed. */
|
|
415
488
|
private bytesFromDisk;
|
|
416
|
-
/** The directories of the mounts nested inside a mount, mount-relative
|
|
489
|
+
/** The directories of the mounts nested inside a mount, mount-relative. */
|
|
417
490
|
private othersOf;
|
|
418
491
|
/**
|
|
419
492
|
* Which mounts are nested in which, read afresh at each start. A mount is
|
|
@@ -428,13 +501,8 @@ export declare class WorkspaceModule implements Module {
|
|
|
428
501
|
* alone, with no real root, since through it it would claim the other's
|
|
429
502
|
* every path.
|
|
430
503
|
*
|
|
431
|
-
* Each way it lies there is a spelling of its directory (`fromRoots`)
|
|
432
|
-
*
|
|
433
|
-
* disk that folds names, the outer mount's walks name the directory as
|
|
434
|
-
* disk does, and so does a path parsePath has respelled, while a path given
|
|
435
|
-
* as configured still names it as configured (resolveAbsolutePath). A
|
|
436
|
-
* directory not on disk keeps the spellings the roots give alone. Each
|
|
437
|
-
* mount's real root comes back beside the nesting (`reals`), for what
|
|
504
|
+
* Each way it lies there is a spelling of its directory (`fromRoots`).
|
|
505
|
+
* Each mount's real root comes back beside the nesting (`reals`), for what
|
|
438
506
|
* start reads there, and each directory above each configured path with
|
|
439
507
|
* where it lies on disk (`above`), for a direct mount whose root moves
|
|
440
508
|
* (movedNesting).
|
|
@@ -442,7 +510,7 @@ export declare class WorkspaceModule implements Module {
|
|
|
442
510
|
private readNesting;
|
|
443
511
|
/**
|
|
444
512
|
* The mounts nested in `mountName`, by directory, name, real root where it
|
|
445
|
-
* has one, and include (MountView's `nested`)
|
|
513
|
+
* has one, and include (MountView's `nested`).
|
|
446
514
|
*/
|
|
447
515
|
private nestedOf;
|
|
448
516
|
/**
|
|
@@ -475,8 +543,10 @@ export declare class WorkspaceModule implements Module {
|
|
|
475
543
|
* mount nested by its directories alone, since its real root holds this
|
|
476
544
|
* one, is judged by the parse's nesting, so a root repointed between a
|
|
477
545
|
* read's parse and its open can have it serve a path in that mount's
|
|
478
|
-
* directory
|
|
479
|
-
*
|
|
546
|
+
* directory, and one repointed between a direct write's parse and its
|
|
547
|
+
* staging can have the write land there. Each mount is placed as a start
|
|
548
|
+
* places it (placementOf), from where its real root and the directories
|
|
549
|
+
* above its configured path lie on
|
|
480
550
|
* disk. For a mount configured at this mount's own path or beneath it,
|
|
481
551
|
* that's where they lie now: beneath `rootReal` where they lie beneath this
|
|
482
552
|
* mount's path, and the directories above this mount's path as resolving
|
|
@@ -499,13 +569,7 @@ export declare class WorkspaceModule implements Module {
|
|
|
499
569
|
* of that mount, judged lexically where the path lands (`.`, `..` and
|
|
500
570
|
* repeated separators resolved, as for the traversal guard; a link of the
|
|
501
571
|
* outer mount isn't followed), with the path to use there; undefined when
|
|
502
|
-
* no nested mount's directory holds it.
|
|
503
|
-
* compared with the directory's spellings exactly. One judged as given
|
|
504
|
-
* (`asGiven`, resolveAbsolutePath's) is compared loosely, as a disk that
|
|
505
|
-
* folds names may compare it (beginsWithDir), so it can't reach that
|
|
506
|
-
* mount's directory by spelling a segment otherwise. On a disk that tells
|
|
507
|
-
* names apart, that takes a directory of this mount's own spelled like the
|
|
508
|
-
* nested one in another way as that mount's too.
|
|
572
|
+
* no nested mount's directory holds it.
|
|
509
573
|
*/
|
|
510
574
|
private holderOf;
|
|
511
575
|
/**
|
|
@@ -550,8 +614,7 @@ export declare class WorkspaceModule implements Module {
|
|
|
550
614
|
* mount's directory first, naming the mount that holds it, then outside
|
|
551
615
|
* the mount's include. Each is judged on the path as the caller parsed it:
|
|
552
616
|
* as disk spells it for parseFilePath, as given for resolveAbsolutePath,
|
|
553
|
-
* which is synchronous
|
|
554
|
-
* folds where disk does). The include's refusal shows the path as given
|
|
617
|
+
* which is synchronous. The include's refusal shows the path as given
|
|
555
618
|
* (`given`), since it answers the path the caller asked about.
|
|
556
619
|
*/
|
|
557
620
|
private refuseNotHeld;
|
|
@@ -624,8 +687,8 @@ export declare class WorkspaceModule implements Module {
|
|
|
624
687
|
private parsePath;
|
|
625
688
|
/**
|
|
626
689
|
* How many segments the innermost nested mount's directory that holds
|
|
627
|
-
* `relativePath` has,
|
|
628
|
-
*
|
|
690
|
+
* `relativePath` has, or, for a direct mount whose root has moved, in the
|
|
691
|
+
* nesting there (`moved`);
|
|
629
692
|
* undefined when no nested mount's directory holds it.
|
|
630
693
|
*/
|
|
631
694
|
private nestedDepth;
|
|
@@ -655,6 +718,10 @@ export declare class WorkspaceModule implements Module {
|
|
|
655
718
|
* path refuses it here, a disk reader included.
|
|
656
719
|
*/
|
|
657
720
|
private parsePathAsGiven;
|
|
721
|
+
private writableNames;
|
|
722
|
+
private mountList;
|
|
723
|
+
private noSuchMountField;
|
|
724
|
+
private noSuchMount;
|
|
658
725
|
/**
|
|
659
726
|
* Whether the module takes work: stop hasn't finished. Work admitted while
|
|
660
727
|
* stop drains still runs; once stop has saved the pins and watermarks,
|
|
@@ -666,7 +733,7 @@ export declare class WorkspaceModule implements Module {
|
|
|
666
733
|
private running;
|
|
667
734
|
private getStore;
|
|
668
735
|
private validateImageBytes;
|
|
669
|
-
private
|
|
736
|
+
private readImageFromTree;
|
|
670
737
|
/**
|
|
671
738
|
* The mount root a disk read reads beneath: resolved, then checked as
|
|
672
739
|
* observation checks it (checkRoot), so the read and the evidence agree on
|
|
@@ -681,7 +748,8 @@ export declare class WorkspaceModule implements Module {
|
|
|
681
748
|
* another directory carries none. The identity is rootIdentityForRead's,
|
|
682
749
|
* which answers while the evidence awaits reopening; where even it can't
|
|
683
750
|
* be read, as when the evidence was never read back whole, the read is
|
|
684
|
-
* refused
|
|
751
|
+
* refused before its root is resolved, with an errno only where no
|
|
752
|
+
* directory is at the root's path.
|
|
685
753
|
* A direct mount's root is checked against no identity, and its read reads
|
|
686
754
|
* no evidence: it promises what's at its root now (diskView).
|
|
687
755
|
*/
|
|
@@ -771,11 +839,11 @@ export declare class WorkspaceModule implements Module {
|
|
|
771
839
|
* (`outside_include`), a path in another mount's directory nested in the one named
|
|
772
840
|
* (`other_mount`), unavailable mount, missing or non-regular file,
|
|
773
841
|
* directory, policy-denied symlink, outside-mount target, and
|
|
774
|
-
* file-changed-during-read.
|
|
842
|
+
* file-changed-during-read. An error met while parsing the path that is
|
|
843
|
+
* none of these refusals, such as the store's, is thrown as it is, and a
|
|
844
|
+
* `maxBytes` that isn't a non-negative integer throws a `RangeError`.
|
|
775
845
|
*/
|
|
776
846
|
readFileFromDisk(mountPrefixedPath: string, options?: ReadFileFromDiskOptions): Promise<WorkspaceDiskReadResult>;
|
|
777
|
-
/** Map a core read refusal onto the image reader's historical error vocabulary and wording. */
|
|
778
|
-
private imageErrorFromRead;
|
|
779
847
|
private readImageFromFilesystem;
|
|
780
848
|
/**
|
|
781
849
|
* Whether a tool's change on this mount goes to disk as it commits: the
|
|
@@ -801,9 +869,10 @@ export declare class WorkspaceModule implements Module {
|
|
|
801
869
|
* downstream agents. And, apart from it, why a write whose bytes reached
|
|
802
870
|
* disk left the file's mode as disk had it (`modeKept`), and, for a
|
|
803
871
|
* deletion that cleared a conflict naming a disk file the workspace never
|
|
804
|
-
* took in, that nothing was unlinked (`note`).
|
|
805
|
-
*
|
|
806
|
-
* the path,
|
|
872
|
+
* took in, that nothing was unlinked (`note`). And the answer's `disk` for
|
|
873
|
+
* the path, unless it was refused. The caller holds the mount's turn and has
|
|
874
|
+
* settled the path first (settleBeforeMutation, or a pass over the path, as
|
|
875
|
+
* an edit makes).
|
|
807
876
|
*/
|
|
808
877
|
private commitToolChange;
|
|
809
878
|
/**
|
|
@@ -819,9 +888,10 @@ export declare class WorkspaceModule implements Module {
|
|
|
819
888
|
* (changesLanded).
|
|
820
889
|
* Answers, by path, the reason for each that reached the workspace but not
|
|
821
890
|
* disk (`refused`), and, apart from it, why one whose bytes reached disk
|
|
822
|
-
* left the file's mode as disk had it (`modeKept`),
|
|
823
|
-
* clearing a conflict that named a disk file unlinked nothing (`notes`),
|
|
824
|
-
*
|
|
891
|
+
* left the file's mode as disk had it (`modeKept`), that a deletion
|
|
892
|
+
* clearing a conflict that named a disk file unlinked nothing (`notes`),
|
|
893
|
+
* and the answer's `disk` for each path not refused, as commitToolChange
|
|
894
|
+
* answers them for one path.
|
|
825
895
|
*/
|
|
826
896
|
private commitToolChanges;
|
|
827
897
|
/**
|
|
@@ -837,15 +907,19 @@ export declare class WorkspaceModule implements Module {
|
|
|
837
907
|
*/
|
|
838
908
|
private settleBeforeMutation;
|
|
839
909
|
/**
|
|
840
|
-
* Before a
|
|
841
|
-
* three-way rule, which ingests a new disk file but
|
|
842
|
-
* workspace deletion or a file absent from this branch.
|
|
843
|
-
* path
|
|
844
|
-
*
|
|
845
|
-
*
|
|
846
|
-
*
|
|
847
|
-
* the
|
|
848
|
-
*
|
|
910
|
+
* Before a deletion, and for readBinary: a path the workspace doesn't hold
|
|
911
|
+
* is observed under the three-way rule, which ingests a new disk file but
|
|
912
|
+
* never brings back a workspace deletion or a file absent from this branch.
|
|
913
|
+
* A path it holds is left alone. For a deletion, as for a write, taking
|
|
914
|
+
* disk's change in first would let the push remove that change unseen; for
|
|
915
|
+
* readBinary, a pass would drop a held binary file that disk changed, since
|
|
916
|
+
* the tree takes in no binary disk copy. The pass names the path, as a file
|
|
917
|
+
* tool names the one it acts on: a path the mount passes over by design is
|
|
918
|
+
* observed, as a sync naming it would observe it (#276), while a path in
|
|
919
|
+
* another mount's directory is refused before this, and passed over by any
|
|
920
|
+
* pass. Answers the pass's report on the path, and why the pass decided
|
|
921
|
+
* nothing where it did (undecidedOf), which leaves disk unchecked. The
|
|
922
|
+
* caller holds the mount's turn.
|
|
849
923
|
*/
|
|
850
924
|
private ensureSynced;
|
|
851
925
|
/**
|
|
@@ -857,10 +931,11 @@ export declare class WorkspaceModule implements Module {
|
|
|
857
931
|
/** Why the workspace holds no entry at a path, when disk explains it. */
|
|
858
932
|
private notInWorkspace;
|
|
859
933
|
/**
|
|
860
|
-
* A file's bytes for read,
|
|
861
|
-
* workspace's copy,
|
|
862
|
-
*
|
|
863
|
-
* (bytesOnDisk)
|
|
934
|
+
* A file's bytes for read, and the notes that say which copy they are. On a
|
|
935
|
+
* 'chronicle' mount it's the workspace's copy, after a pass over the path
|
|
936
|
+
* takes disk's change to it in first. On a direct mount it's disk's file as
|
|
937
|
+
* it is now (bytesOnDisk), with no notes, since nothing else is kept. An
|
|
938
|
+
* error says why there are none to read.
|
|
864
939
|
*/
|
|
865
940
|
private bytesOf;
|
|
866
941
|
/**
|
|
@@ -872,6 +947,16 @@ export declare class WorkspaceModule implements Module {
|
|
|
872
947
|
* read_image reads where it's an image.
|
|
873
948
|
*/
|
|
874
949
|
private bytesOnDisk;
|
|
950
|
+
private contentsOf;
|
|
951
|
+
private tellLost;
|
|
952
|
+
private diskLacks;
|
|
953
|
+
private restoreEach;
|
|
954
|
+
/**
|
|
955
|
+
* A read's page, held to `maxChars`, the most of this call's result that
|
|
956
|
+
* can reach its caller whole. A call that carries none, made in process,
|
|
957
|
+
* takes the data itself: its page holds to its line limit alone, with every
|
|
958
|
+
* line whole, as it did before pages had a budget.
|
|
959
|
+
*/
|
|
875
960
|
private handleRead;
|
|
876
961
|
private handleReadImage;
|
|
877
962
|
private handleWrite;
|
|
@@ -896,12 +981,14 @@ export declare class WorkspaceModule implements Module {
|
|
|
896
981
|
* stored where its record landed, and that it can't tell where they
|
|
897
982
|
* couldn't be read back.
|
|
898
983
|
* Under the mount's turn, one pass settles every path with disk, by the
|
|
899
|
-
* rule a listing uses, so the edits apply to what disk now holds.
|
|
900
|
-
*
|
|
901
|
-
*
|
|
902
|
-
*
|
|
903
|
-
*
|
|
904
|
-
* of the
|
|
984
|
+
* rule a listing uses, so the edits apply to what disk now holds. Each
|
|
985
|
+
* file's stored contents are then read; where the store has lost some,
|
|
986
|
+
* they're restored from disk's matching copy (contentsOf) and the pass runs
|
|
987
|
+
* again, so the plan reads a pass taken after every await. From there
|
|
988
|
+
* nothing awaits before the commit: every edit is planned and every entry
|
|
989
|
+
* set (commitToolChanges) with no turn of the event loop between, so no
|
|
990
|
+
* pass, branch change or other call moves the tree between a file's read
|
|
991
|
+
* and its set. Disk then takes what it can of the stored change.
|
|
905
992
|
*
|
|
906
993
|
* The answer is held to `maxChars`, the length the call's result may have
|
|
907
994
|
* (ToolCall.resultMaxChars), as edit-text.ts describes.
|
|
@@ -938,8 +1025,132 @@ export declare class WorkspaceModule implements Module {
|
|
|
938
1025
|
* would (`conflicts`, found only where the mount doesn't push).
|
|
939
1026
|
*/
|
|
940
1027
|
private editsStoredButUnfinished;
|
|
1028
|
+
/**
|
|
1029
|
+
* A direct mount's write of a whole file: its bytes staged beside it and
|
|
1030
|
+
* renamed over it (direct-write.ts), under the mount's turn, so the
|
|
1031
|
+
* module's own calls take turns. Answers a note when the file had other
|
|
1032
|
+
* hard links, which keep its old text, or why nothing was written. One
|
|
1033
|
+
* that lands is the caller's latest write on the mount (recordDirectWrite).
|
|
1034
|
+
* With `branch`, nothing is written once the store's branch is another,
|
|
1035
|
+
* checked with no turn of the event loop before the rename (writeBinary's).
|
|
1036
|
+
*/
|
|
1037
|
+
private writeDirect;
|
|
1038
|
+
/**
|
|
1039
|
+
* applyEdits on a direct mount, under the mount's turn, whose edits land
|
|
1040
|
+
* on disk or don't happen. Each attempt reads every file from disk as it
|
|
1041
|
+
* is now (directEditText), plans every edit against those bytes as on any
|
|
1042
|
+
* mount (planTargetEdits), stages every file beside itself, checks every
|
|
1043
|
+
* one unchanged since its read, and then renames each over its file in
|
|
1044
|
+
* turn (direct-write.ts). A file another writer changed between its read
|
|
1045
|
+
* and its check has the call read and planned again against its new
|
|
1046
|
+
* text, three attempts in all (DIRECT_EDIT_ATTEMPTS), so edits that no
|
|
1047
|
+
* longer apply to it, a file that changed at every attempt, or a file the
|
|
1048
|
+
* next read refuses as any read would (now past the size limit, say) are
|
|
1049
|
+
* refused, with nothing written. A rename that fails after others leaves
|
|
1050
|
+
* those written and the rest as they were, and the answer names each
|
|
1051
|
+
* file's outcome; nothing puts the written ones back.
|
|
1052
|
+
*/
|
|
1053
|
+
private applyDirectEdits;
|
|
1054
|
+
/**
|
|
1055
|
+
* One attempt of applyDirectEdits: its answer, or 'changed' when another
|
|
1056
|
+
* writer changed a file since its read, with nothing written. `early` are
|
|
1057
|
+
* the problems found before any file was read, which a refusal names with
|
|
1058
|
+
* the rest. The caller holds the mount's turn.
|
|
1059
|
+
*/
|
|
1060
|
+
private attemptDirectEdits;
|
|
1061
|
+
/**
|
|
1062
|
+
* The answer to an edit_many call on a direct mount whose rename of its
|
|
1063
|
+
* `failed`th file failed after the ones before it were written: what was
|
|
1064
|
+
* written, the failure, and that nothing puts them back, then each file's
|
|
1065
|
+
* outcome, within `maxChars`, with the hard links a written one split
|
|
1066
|
+
* from, as a full answer names them (linksNote).
|
|
1067
|
+
*/
|
|
1068
|
+
private directEditsPartway;
|
|
1069
|
+
/**
|
|
1070
|
+
* A direct mount's file as an edit reads it: its bytes on disk as they are
|
|
1071
|
+
* now, through the mount's boundary as read reaches them
|
|
1072
|
+
* (openContainedFile), with the file's identity when the read began, which
|
|
1073
|
+
* the write checks it against just before its rename. A file changed while
|
|
1074
|
+
* it was read is `changed`, so the call reads it again. What the
|
|
1075
|
+
* workspace doesn't show as text, it doesn't edit either: a file over the
|
|
1076
|
+
* mount's size limit, and a binary one.
|
|
1077
|
+
*/
|
|
1078
|
+
private directEditText;
|
|
1079
|
+
/**
|
|
1080
|
+
* A direct mount's deletion: the file the read tools reach, by their
|
|
1081
|
+
* refusals (openContainedFile), unlinked through the mount's boundary as
|
|
1082
|
+
* a push's deletion unlinks one (unlinkContained). A followed link is the
|
|
1083
|
+
* entry removed, as there. One that lands is the caller's latest write on
|
|
1084
|
+
* the mount (recordDirectWrite).
|
|
1085
|
+
*/
|
|
1086
|
+
private deleteDirect;
|
|
1087
|
+
/**
|
|
1088
|
+
* After a direct write lands: the agent's latest write on the mount, P,
|
|
1089
|
+
* moves to it, where the agent's history holds P or the notice of its
|
|
1090
|
+
* departure from P, N (historyHoldsWrites), and N clears. Otherwise P
|
|
1091
|
+
* stays where it is: the head moved away from it under the call's turn,
|
|
1092
|
+
* and the next start's notice covers what it left (headMoveNotice). P is
|
|
1093
|
+
* the branch and the store's head as it is now, read with no turn of the
|
|
1094
|
+
* event loop since the write, so no record that lands after the write is
|
|
1095
|
+
* taken for one before it. A deletion, whose unlink is awaited, passes
|
|
1096
|
+
* where the head was just before its unlink (`since`): where the branch
|
|
1097
|
+
* changed meanwhile, the head moved under the call, and P is set there,
|
|
1098
|
+
* so the next start judges the deletion by the branch its turn was on,
|
|
1099
|
+
* unless the history doesn't hold P already, whose notice is owed. A write no agent
|
|
1100
|
+
* made tells no one. The store's reads here come after the write landed,
|
|
1101
|
+
* so one that throws is logged and P stays, as for a history that can't
|
|
1102
|
+
* be read, and the write still answers that it landed.
|
|
1103
|
+
*/
|
|
1104
|
+
private recordDirectWrite;
|
|
1105
|
+
/** The store's branch and head now, or null where the store can't say. */
|
|
1106
|
+
private positionNow;
|
|
1107
|
+
/**
|
|
1108
|
+
* Whether an agent's history holds its latest direct write on a mount
|
|
1109
|
+
* (holdsPosition), or the notice of its departure from it, judged by the
|
|
1110
|
+
* notice's own presence there, through the lookup the framework hands the
|
|
1111
|
+
* module (useHistory); null where that lookup threw, which is logged. A
|
|
1112
|
+
* history that can't be read decides nothing: a write takes it as not
|
|
1113
|
+
* held, so its position stays and the notice stays owed, and a start
|
|
1114
|
+
* gives no notice, which may not be true of a history it can't read, and
|
|
1115
|
+
* leaves the next start to decide (headMoveNotice).
|
|
1116
|
+
*/
|
|
1117
|
+
private historyHoldsWrites;
|
|
1118
|
+
/**
|
|
1119
|
+
* Whether the store's current branch holds what came before a direct
|
|
1120
|
+
* write: it's the write's branch, or continues it with every fork point on
|
|
1121
|
+
* the way after `after`, the store's head when the write landed. A fork at
|
|
1122
|
+
* exactly `after` doesn't: an undo forks at its turn's sequenceBefore,
|
|
1123
|
+
* which is the head at the write when nothing was recorded in the turn
|
|
1124
|
+
* before it. A missing branch or one without fork metadata holds nothing,
|
|
1125
|
+
* as for the materialize guard (isLinearContinuation).
|
|
1126
|
+
*/
|
|
1127
|
+
private holdsPosition;
|
|
1128
|
+
/**
|
|
1129
|
+
* The framework's check at every start of an agent's turn, opening,
|
|
1130
|
+
* continuing or resuming: the notice due for each mount the agent wrote
|
|
1131
|
+
* direct where its history holds neither its latest write there nor the
|
|
1132
|
+
* notice of its departure from it (historyHoldsWrites), with those
|
|
1133
|
+
* mounts' names; or null, as on a head that hasn't moved. The framework
|
|
1134
|
+
* stores the text in the agent's history before the turn's compile and
|
|
1135
|
+
* hands its message id back (headMoveNoticeStored).
|
|
1136
|
+
*/
|
|
1137
|
+
headMoveNotice(agentName: string): {
|
|
1138
|
+
text: string;
|
|
1139
|
+
mounts: string[];
|
|
1140
|
+
} | null;
|
|
1141
|
+
/** The id of the message headMoveNotice's text was stored as, N, for each mount it named. */
|
|
1142
|
+
headMoveNoticeStored(agentName: string, mounts: readonly string[], messageId: string): void;
|
|
1143
|
+
/**
|
|
1144
|
+
* How the module asks whether an agent's history holds a message, as the
|
|
1145
|
+
* framework judges its own notices (`cm.getMessage(id) !== null`): handed
|
|
1146
|
+
* over once, when the module is added. Without it, no notice is held.
|
|
1147
|
+
*/
|
|
1148
|
+
useHistory(lookup: (agentName: string, messageId: string) => boolean): void;
|
|
941
1149
|
private handleDelete;
|
|
942
1150
|
private handleLs;
|
|
1151
|
+
private emptyScopeNote;
|
|
1152
|
+
private absentOnDisk;
|
|
1153
|
+
private holdsAnythingAt;
|
|
943
1154
|
/**
|
|
944
1155
|
* What a listing shows of a directory scope, from where the mount keeps
|
|
945
1156
|
* what it reads: the store-backed kind's pass (listingFromStore), or, on a
|
|
@@ -973,11 +1184,28 @@ export declare class WorkspaceModule implements Module {
|
|
|
973
1184
|
private diskWalk;
|
|
974
1185
|
private handleGlob;
|
|
975
1186
|
private handleGrep;
|
|
1187
|
+
/**
|
|
1188
|
+
* Why a grep or a glob whose `path` (`given`, in the mount at
|
|
1189
|
+
* `relativePath`) and filter or pattern can't overlap did nothing. grep's
|
|
1190
|
+
* filter is matched from the mount's root, and in the mount its first
|
|
1191
|
+
* segment names, either tool's is read mount-prefixed (`prefixed`), from
|
|
1192
|
+
* that mount's root; either way no file at or beneath the path can pass
|
|
1193
|
+
* it. Where the path isn't a file, it names the one that reaches beneath
|
|
1194
|
+
* it, the one meant if it was written relative to the path, mount-prefixed
|
|
1195
|
+
* as the tools write paths: the path's own `{`, `}`, `*` and `?` stand as
|
|
1196
|
+
* `?`, which matches each of them, and since the search stays beneath the
|
|
1197
|
+
* path, a `?` that would match a sibling's name too takes nothing in from
|
|
1198
|
+
* outside it. One with an empty, `.` or `..` segment gets no suggestion,
|
|
1199
|
+
* since no path holds such a segment. Segments are read as written, so one
|
|
1200
|
+
* a brace group splits around isn't told apart.
|
|
1201
|
+
*/
|
|
1202
|
+
private disjointRefusal;
|
|
976
1203
|
/**
|
|
977
1204
|
* The texts a 'chronicle' mount's grep searches beneath `start`, or in the
|
|
978
1205
|
* single file `relativePath` names, those `keep` lets through, each handed
|
|
979
|
-
* to `
|
|
980
|
-
* workspace copy, labelled with its state, and a
|
|
1206
|
+
* to `search`, whose answers are recorded in path order: a pass over the
|
|
1207
|
+
* scope, then each path's workspace copy, labelled with its state, and a
|
|
1208
|
+
* conflict's disk side.
|
|
981
1209
|
* What it doesn't search is in `skipped`, and what it couldn't see in
|
|
982
1210
|
* `incomplete`, each mount-prefixed.
|
|
983
1211
|
*/
|
|
@@ -1048,6 +1276,8 @@ export declare class WorkspaceModule implements Module {
|
|
|
1048
1276
|
* owed and the unchecked.
|
|
1049
1277
|
*/
|
|
1050
1278
|
private entriesByEvidence;
|
|
1279
|
+
private evidenceOf;
|
|
1280
|
+
private diskOf;
|
|
1051
1281
|
private handleMaterialize;
|
|
1052
1282
|
/**
|
|
1053
1283
|
* Programmatically materialize a mount's files from Chronicle tree to filesystem.
|
|
@@ -1079,9 +1309,9 @@ export declare class WorkspaceModule implements Module {
|
|
|
1079
1309
|
* on disk (a shell command's files, a deletion) is in the workspace when the
|
|
1080
1310
|
* agent next looks. On a mount over its walkCap, that holds for the first
|
|
1081
1311
|
* walkCap entries in the walk's order, which every batch's scan takes; files
|
|
1082
|
-
* past them come in through syncs
|
|
1083
|
-
*
|
|
1084
|
-
* outlasts the deadline stops holding the round: the miss is recorded on
|
|
1312
|
+
* past them come in through syncs, the listings that reach them, and a read
|
|
1313
|
+
* of the path, which takes disk's change in first as a listing does. A scan
|
|
1314
|
+
* that outlasts the deadline stops holding the round: the miss is recorded on
|
|
1085
1315
|
* the mount's status and pushed as a `workspace:agent-action-scan-incomplete`
|
|
1086
1316
|
* event, and the scan continues, deciding on the branch selected when it
|
|
1087
1317
|
* applies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAEV,eAAe,EAoBhB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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"}
|