@animalabs/agent-framework 0.28.0 → 0.30.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 +88 -25
- package/dist/src/admission/admit.d.ts +90 -0
- package/dist/src/admission/admit.d.ts.map +1 -0
- package/dist/src/admission/admit.js +43 -0
- package/dist/src/admission/admit.js.map +1 -0
- package/dist/src/agent.d.ts +21 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +47 -7
- package/dist/src/agent.js.map +1 -1
- package/dist/src/api/mcp-server-core.d.ts.map +1 -1
- package/dist/src/api/mcp-server-core.js +3 -12
- package/dist/src/api/mcp-server-core.js.map +1 -1
- package/dist/src/api/server.d.ts.map +1 -1
- package/dist/src/api/server.js +7 -3
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/author-presentation.d.ts +50 -0
- package/dist/src/author-presentation.d.ts.map +1 -0
- package/dist/src/author-presentation.js +58 -0
- package/dist/src/author-presentation.js.map +1 -0
- package/dist/src/auto-continue.d.ts +2 -0
- package/dist/src/auto-continue.d.ts.map +1 -1
- package/dist/src/auto-continue.js +5 -2
- package/dist/src/auto-continue.js.map +1 -1
- package/dist/src/code-execution/isolate/runner.d.ts +7 -5
- package/dist/src/code-execution/isolate/runner.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/runner.js +7 -5
- package/dist/src/code-execution/isolate/runner.js.map +1 -1
- package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/scripts.js +3 -2
- package/dist/src/code-execution/isolate/scripts.js.map +1 -1
- package/dist/src/dendrite/index.d.ts +6 -0
- package/dist/src/dendrite/index.d.ts.map +1 -0
- package/dist/src/dendrite/index.js +3 -0
- package/dist/src/dendrite/index.js.map +1 -0
- package/dist/src/dendrite/presets.d.ts +60 -0
- package/dist/src/dendrite/presets.d.ts.map +1 -0
- package/dist/src/dendrite/presets.js +117 -0
- package/dist/src/dendrite/presets.js.map +1 -0
- package/dist/src/dendrite/registry.d.ts +260 -0
- package/dist/src/dendrite/registry.d.ts.map +1 -0
- package/dist/src/dendrite/registry.js +742 -0
- package/dist/src/dendrite/registry.js.map +1 -0
- package/dist/src/dendrite/types.d.ts +392 -0
- package/dist/src/dendrite/types.d.ts.map +1 -0
- package/dist/src/dendrite/types.js +24 -0
- package/dist/src/dendrite/types.js.map +1 -0
- package/dist/src/framework.d.ts +846 -67
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +4213 -924
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +46 -14
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +143 -53
- 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 +1 -1
- package/dist/src/gate/index.js.map +1 -1
- package/dist/src/gate/types.d.ts +12 -2
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/heartbeat/heartbeat.d.ts +18 -0
- package/dist/src/heartbeat/heartbeat.d.ts.map +1 -1
- package/dist/src/heartbeat/heartbeat.js +34 -8
- package/dist/src/heartbeat/heartbeat.js.map +1 -1
- package/dist/src/held-writes.d.ts +3 -3
- package/dist/src/held-writes.js +3 -3
- package/dist/src/host-presentation.d.ts +174 -0
- package/dist/src/host-presentation.d.ts.map +1 -0
- package/dist/src/host-presentation.js +565 -0
- package/dist/src/host-presentation.js.map +1 -0
- package/dist/src/index.d.ts +7 -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/line-reader.d.ts +4 -0
- package/dist/src/line-reader.d.ts.map +1 -0
- package/dist/src/line-reader.js +59 -0
- package/dist/src/line-reader.js.map +1 -0
- package/dist/src/mcpl/channel-registry.d.ts +118 -15
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +266 -110
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
- package/dist/src/mcpl/conversation-router.js +2 -1
- package/dist/src/mcpl/conversation-router.js.map +1 -1
- package/dist/src/mcpl/convert-block.d.ts +1 -0
- package/dist/src/mcpl/convert-block.d.ts.map +1 -1
- package/dist/src/mcpl/convert-block.js +16 -4
- package/dist/src/mcpl/convert-block.js.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.js +4 -3
- package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
- package/dist/src/mcpl/inbound-source.d.ts +3 -1
- package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
- package/dist/src/mcpl/inbound-source.js +3 -1
- package/dist/src/mcpl/inbound-source.js.map +1 -1
- package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
- package/dist/src/mcpl/modern-connection.js +11 -7
- package/dist/src/mcpl/modern-connection.js.map +1 -1
- package/dist/src/mcpl/protocol-family.d.ts +3 -2
- package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
- package/dist/src/mcpl/protocol-family.js +25 -3
- package/dist/src/mcpl/protocol-family.js.map +1 -1
- package/dist/src/mcpl/push-coalescer.d.ts +9 -0
- package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
- package/dist/src/mcpl/push-coalescer.js +21 -0
- package/dist/src/mcpl/push-coalescer.js.map +1 -1
- package/dist/src/mcpl/push-handler.js +2 -2
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/references.d.ts +12 -40
- package/dist/src/mcpl/references.d.ts.map +1 -1
- package/dist/src/mcpl/references.js +29 -23
- package/dist/src/mcpl/references.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +20 -20
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/skip-reply-wake.d.ts +25 -0
- package/dist/src/mcpl/skip-reply-wake.d.ts.map +1 -1
- package/dist/src/mcpl/skip-reply-wake.js +25 -0
- package/dist/src/mcpl/skip-reply-wake.js.map +1 -1
- package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
- package/dist/src/mcpl/tool-presence.js +18 -17
- package/dist/src/mcpl/tool-presence.js.map +1 -1
- package/dist/src/mcpl/tool-signature.d.ts.map +1 -1
- package/dist/src/mcpl/tool-signature.js +17 -16
- package/dist/src/mcpl/tool-signature.js.map +1 -1
- package/dist/src/mcpl/toolset-host.d.ts +8 -26
- package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
- package/dist/src/mcpl/toolset-host.js +16 -6
- package/dist/src/mcpl/toolset-host.js.map +1 -1
- package/dist/src/mcpl/toolsets-module.d.ts +14 -25
- package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
- package/dist/src/mcpl/toolsets-module.js +187 -50
- package/dist/src/mcpl/toolsets-module.js.map +1 -1
- package/dist/src/mcpl/transport.d.ts +1 -1
- package/dist/src/mcpl/transport.d.ts.map +1 -1
- package/dist/src/mcpl/transport.js +16 -16
- package/dist/src/mcpl/transport.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +28 -12
- 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 +6 -7
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +6 -7
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/api/index.d.ts.map +1 -1
- package/dist/src/modules/api/index.js +4 -2
- package/dist/src/modules/api/index.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +33 -25
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/history/index.js +8 -6
- package/dist/src/modules/history/index.js.map +1 -1
- package/dist/src/modules/sender-name.d.ts +7 -0
- package/dist/src/modules/sender-name.d.ts.map +1 -0
- package/dist/src/modules/sender-name.js +10 -0
- package/dist/src/modules/sender-name.js.map +1 -0
- package/dist/src/modules/workspace/answers.d.ts +5 -1
- package/dist/src/modules/workspace/answers.d.ts.map +1 -1
- package/dist/src/modules/workspace/answers.js +16 -1
- package/dist/src/modules/workspace/answers.js.map +1 -1
- package/dist/src/modules/workspace/direct-write.d.ts.map +1 -1
- package/dist/src/modules/workspace/direct-write.js +6 -4
- package/dist/src/modules/workspace/direct-write.js.map +1 -1
- package/dist/src/modules/workspace/effects.d.ts +4 -2
- package/dist/src/modules/workspace/effects.d.ts.map +1 -1
- package/dist/src/modules/workspace/effects.js +50 -40
- package/dist/src/modules/workspace/effects.js.map +1 -1
- package/dist/src/modules/workspace/index.d.ts +1 -0
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +66 -36
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts +51 -20
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +120 -82
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/reconcile.d.ts +7 -1
- package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
- package/dist/src/modules/workspace/reconcile.js +133 -37
- package/dist/src/modules/workspace/reconcile.js.map +1 -1
- package/dist/src/notice-tags.d.ts +81 -0
- package/dist/src/notice-tags.d.ts.map +1 -0
- package/dist/src/notice-tags.js +85 -0
- package/dist/src/notice-tags.js.map +1 -0
- package/dist/src/reasoning-loss-notice.d.ts.map +1 -1
- package/dist/src/reasoning-loss-notice.js +5 -3
- package/dist/src/reasoning-loss-notice.js.map +1 -1
- package/dist/src/silent-heartbeat.d.ts +5 -55
- package/dist/src/silent-heartbeat.d.ts.map +1 -1
- package/dist/src/silent-heartbeat.js +63 -7
- package/dist/src/silent-heartbeat.js.map +1 -1
- package/dist/src/stored-injections.d.ts +4 -0
- package/dist/src/stored-injections.d.ts.map +1 -1
- package/dist/src/stored-injections.js +6 -0
- package/dist/src/stored-injections.js.map +1 -1
- package/dist/src/supplied-text.d.ts +35 -0
- package/dist/src/supplied-text.d.ts.map +1 -0
- package/dist/src/supplied-text.js +141 -0
- package/dist/src/supplied-text.js.map +1 -0
- package/dist/src/tool-args.d.ts.map +1 -1
- package/dist/src/tool-args.js +9 -8
- package/dist/src/tool-args.js.map +1 -1
- package/dist/src/tool-image-ledger.d.ts.map +1 -1
- package/dist/src/tool-image-ledger.js +2 -1
- package/dist/src/tool-image-ledger.js.map +1 -1
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +5 -4
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tune-out/coordinator.d.ts +382 -11
- package/dist/src/tune-out/coordinator.d.ts.map +1 -1
- package/dist/src/tune-out/coordinator.js +1100 -119
- package/dist/src/tune-out/coordinator.js.map +1 -1
- package/dist/src/tune-out/tools.d.ts +101 -5
- package/dist/src/tune-out/tools.d.ts.map +1 -1
- package/dist/src/tune-out/tools.js +55 -18
- package/dist/src/tune-out/tools.js.map +1 -1
- package/dist/src/types/agent.d.ts +48 -9
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +142 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +22 -11
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +136 -0
- package/dist/src/types/trace.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/admission/admit.ts +113 -0
- package/src/agent.ts +52 -7
- package/src/api/mcp-server-core.ts +3 -14
- package/src/api/server.ts +7 -3
- package/src/author-presentation.ts +81 -0
- package/src/auto-continue.ts +8 -2
- package/src/code-execution/isolate/runner.ts +7 -5
- package/src/code-execution/isolate/scripts.ts +3 -2
- package/src/dendrite/index.ts +32 -0
- package/src/dendrite/presets.ts +149 -0
- package/src/dendrite/registry.ts +808 -0
- package/src/dendrite/types.ts +397 -0
- package/src/framework.ts +4362 -852
- package/src/gate/event-gate.ts +159 -52
- package/src/gate/index.ts +1 -1
- package/src/gate/types.ts +12 -2
- package/src/heartbeat/heartbeat.ts +48 -9
- package/src/held-writes.ts +3 -3
- package/src/host-presentation.ts +612 -0
- package/src/index.ts +17 -4
- package/src/line-reader.ts +58 -0
- package/src/mcpl/channel-registry.ts +306 -111
- package/src/mcpl/conversation-router.ts +2 -1
- package/src/mcpl/convert-block.ts +17 -4
- package/src/mcpl/hook-orchestrator.ts +4 -3
- package/src/mcpl/inbound-source.ts +3 -1
- package/src/mcpl/modern-connection.ts +11 -7
- package/src/mcpl/protocol-family.ts +24 -3
- package/src/mcpl/push-coalescer.ts +19 -0
- package/src/mcpl/push-handler.ts +2 -2
- package/src/mcpl/references.ts +31 -23
- package/src/mcpl/server-connection.ts +20 -18
- package/src/mcpl/skip-reply-wake.ts +35 -0
- package/src/mcpl/tool-presence.ts +18 -17
- package/src/mcpl/tool-signature.ts +17 -16
- package/src/mcpl/toolset-host.ts +18 -6
- package/src/mcpl/toolsets-module.ts +149 -50
- package/src/mcpl/transport.ts +18 -14
- package/src/mcpl/types.ts +29 -12
- package/src/module-registry.ts +6 -7
- package/src/modules/api/index.ts +4 -2
- package/src/modules/discord/index.ts +37 -25
- package/src/modules/history/index.ts +8 -6
- package/src/modules/sender-name.ts +9 -0
- package/src/modules/workspace/answers.ts +20 -2
- package/src/modules/workspace/direct-write.ts +4 -3
- package/src/modules/workspace/effects.ts +50 -40
- package/src/modules/workspace/index.ts +58 -34
- package/src/modules/workspace/observe.ts +139 -88
- package/src/modules/workspace/reconcile.ts +159 -36
- package/src/notice-tags.ts +86 -0
- package/src/reasoning-loss-notice.ts +5 -3
- package/src/silent-heartbeat.ts +11 -7
- package/src/stored-injections.ts +7 -0
- package/src/supplied-text.ts +154 -0
- package/src/tool-args.ts +9 -8
- package/src/tool-image-ledger.ts +2 -1
- package/src/tool-presentation.ts +5 -4
- package/src/tune-out/coordinator.ts +1252 -123
- package/src/tune-out/tools.ts +152 -11
- package/src/types/agent.ts +51 -9
- package/src/types/framework.ts +146 -0
- package/src/types/module.ts +23 -11
- package/src/types/trace.ts +150 -0
|
@@ -11,7 +11,8 @@ const MAX_BYTES = 256 * 1024;
|
|
|
11
11
|
*/
|
|
12
12
|
const NONBLOCK = typeof constants.O_NONBLOCK === 'number' ? constants.O_NONBLOCK : 0;
|
|
13
13
|
const MAX_DESCRIPTION_CHARS = 32768;
|
|
14
|
-
|
|
14
|
+
// The toolsets meta-tools are how a hidden tool is reached again, so they stay.
|
|
15
|
+
const protectedNames = new Set(['set_tool_visibility', 'set_tool_description', 'workspace--read', 'toolsets--open', 'toolsets--act', 'toolsets--look', 'toolsets--close']);
|
|
15
16
|
export const isPresentationTool = (name) => name === 'set_tool_visibility' || name === 'set_tool_description';
|
|
16
17
|
const hash = (value) => createHash('sha256').update(value).digest('hex');
|
|
17
18
|
/**
|
|
@@ -177,7 +178,7 @@ function lockLeftBehind(error) {
|
|
|
177
178
|
+ 'Until whoever runs this host removes it, set_tool_visibility and set_tool_description will be refused, saying an edit left its lock behind.';
|
|
178
179
|
}
|
|
179
180
|
export function presentationTools(path) {
|
|
180
|
-
const signpost = ` Read the generated catalogue with workspace--read {"path":${JSON.stringify(path)},"limit":140}.
|
|
181
|
+
const signpost = ` Read the generated catalogue with workspace--read {"path":${JSON.stringify(path)},"limit":140}. A hidden tool moves out of your tool list into the host's "settings" toolset (an MCPL server's tool, into that server's tab): toolsets--look lists it there, and toolsets--act calls it once that toolset is open. Changes affect the next newly compiled request, not an in-flight stream.`;
|
|
181
182
|
return [
|
|
182
183
|
{ name: 'set_tool_visibility', description: 'Show or hide a tool definition. Hiding does not revoke permission.' + signpost,
|
|
183
184
|
inputSchema: { type: 'object', properties: { name: { type: 'string' }, visible: { type: 'boolean' } }, required: ['name', 'visible'], additionalProperties: false } },
|
|
@@ -396,7 +397,7 @@ export class ToolPresentation {
|
|
|
396
397
|
if (field === 'description' && typeof args.description === 'string' && characters(args.description) > MAX_DESCRIPTION_CHARS)
|
|
397
398
|
throw new PresentationRefusal(`Nothing was changed: the description is ${count(characters(args.description))} characters, over the ${count(MAX_DESCRIPTION_CHARS)} allowed. Shorten it and call set_tool_description again.`);
|
|
398
399
|
if (field === 'visible' && args.visible === false && protectedNames.has(name))
|
|
399
|
-
throw new PresentationRefusal(`Nothing was changed: ${name} can't be hidden, since workspace--read, set_tool_visibility and
|
|
400
|
+
throw new PresentationRefusal(`Nothing was changed: ${name} can't be hidden, since workspace--read, set_tool_visibility, set_tool_description and the toolsets-- tools are how you read the catalogue, reach hidden tools and undo these changes. Calling this again won't change that.`);
|
|
400
401
|
return name;
|
|
401
402
|
}
|
|
402
403
|
}
|
|
@@ -412,7 +413,7 @@ export function renderCatalogue(snapshot) {
|
|
|
412
413
|
'# Tool catalogue — generated from currently available tools', '',
|
|
413
414
|
`Revision: ${snapshot.revision}`, '',
|
|
414
415
|
`${snapshot.entries.length} tools: ${visible} visible, ${snapshot.entries.length - visible} hidden.`,
|
|
415
|
-
'Visible =
|
|
416
|
+
'Visible = not hidden by you: in your tool list, unless the host keeps it in its "settings" toolset or a server\'s tab (toolsets--look shows those). Hidden = moved into the "settings" toolset, or its MCPL server\'s tab: toolsets--look shows it, toolsets--act calls it once that toolset is open.',
|
|
416
417
|
'These are your visibility choices, not fixed primary/secondary rankings.',
|
|
417
418
|
'Copy exact names from the index; similar-sounding names may not exist.',
|
|
418
419
|
'Show a hidden tool: set_tool_visibility {"name":"EXACT_NAME","visible":true}.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-presentation.js","sourceRoot":"","sources":["../../src/tool-presentation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-presentation.js","sourceRoot":"","sources":["../../src/tool-presentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,19 +24,121 @@ export declare const TUNE_OUT_DEFAULTS: {
|
|
|
24
24
|
readonly backlogCap: 200;
|
|
25
25
|
readonly maxWakes: 5;
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* One backlog line: author, then the message's blocks in order — text as
|
|
29
|
+
* is, anything else named by kind (`[image]`, `[document]`), so a release
|
|
30
|
+
* never drops a block silently (#232 gap 4). The author is named once: a
|
|
31
|
+
* server that renders `Name: body` into the text itself is not doubled.
|
|
32
|
+
* A name the line adds is a value someone supplied, kept to one line with
|
|
33
|
+
* its notice openings marked (authorLine), as main's dump writes it.
|
|
34
|
+
*/
|
|
35
|
+
export declare function renderHeldLine(m: Pick<StoredMessage, 'participant' | 'content' | 'metadata'>): string;
|
|
36
|
+
/** One reader invocation under `reader: 'forks'` (see SubconsciousConfig). */
|
|
37
|
+
export interface ReaderInvocation {
|
|
38
|
+
serverId: string;
|
|
39
|
+
channelId: string;
|
|
40
|
+
epochId: string;
|
|
41
|
+
trigger: 'cadence' | 'wake' | 'cancel';
|
|
42
|
+
/** The host-framed notice for this invocation (bracket style). */
|
|
43
|
+
notice: string;
|
|
44
|
+
/** Held messages not yet handed to any reader fork, oldest first. */
|
|
45
|
+
backlog: StoredMessage[];
|
|
46
|
+
/**
|
|
47
|
+
* Held messages not yet handed to any reader fork that are still queued
|
|
48
|
+
* behind the resident's turn (admitted, not yet stored), oldest first.
|
|
49
|
+
* They come after `backlog` in arrival order. A reader is most useful
|
|
50
|
+
* while the resident is busy, which is exactly when its traffic is here
|
|
51
|
+
* rather than in the store.
|
|
52
|
+
*/
|
|
53
|
+
queued: QueuedHeldMessage[];
|
|
54
|
+
/** Standing dispositions, as text, or null when there are none. */
|
|
55
|
+
dispositions: string | null;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A held message admitted for the resident but not yet in its store: it was
|
|
59
|
+
* deferred while a turn was alive. `writeId` is the deferred write's durable
|
|
60
|
+
* id, which the stored row carries as `metadata.deferredWriteId` once it
|
|
61
|
+
* lands.
|
|
62
|
+
*/
|
|
63
|
+
export type QueuedHeldMessage = Pick<StoredMessage, 'participant' | 'content' | 'metadata'> & {
|
|
64
|
+
writeId: string;
|
|
65
|
+
/** When the framework first held the write, in ms since the epoch. */
|
|
66
|
+
heldAt?: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* The all-except scope (issue #232 §3.2; focus folded into tune-out): a
|
|
70
|
+
* resident-level policy epoch holding every channel but one, for a bounded
|
|
71
|
+
* time. It covers DMs and channels registered after entry, since the
|
|
72
|
+
* decision is "not the exception" rather than a per-channel state.
|
|
73
|
+
*/
|
|
74
|
+
export interface AllExceptParams {
|
|
75
|
+
epochId: string;
|
|
76
|
+
except: {
|
|
77
|
+
serverId: string;
|
|
78
|
+
channelId: string;
|
|
79
|
+
};
|
|
80
|
+
cadenceSeconds: number;
|
|
81
|
+
/** Per held channel, at release. */
|
|
82
|
+
backlogCap: number;
|
|
83
|
+
/** Reader wakes before the reader is paused (the hold itself stays). */
|
|
84
|
+
maxWakes: number;
|
|
85
|
+
startedAtSequence: number;
|
|
86
|
+
startedAtMs: number;
|
|
87
|
+
/** Mandatory: the scope always ends on its own. */
|
|
88
|
+
expiresAtMs: number;
|
|
89
|
+
source: string;
|
|
90
|
+
}
|
|
91
|
+
export interface AllExceptState {
|
|
92
|
+
params: AllExceptParams;
|
|
93
|
+
wakeCount: number;
|
|
94
|
+
}
|
|
95
|
+
/** `check`: what is held right now, without releasing anything. */
|
|
96
|
+
export interface TuneOutCheck {
|
|
97
|
+
allExcept: {
|
|
98
|
+
epochId: string;
|
|
99
|
+
except: {
|
|
100
|
+
serverId: string;
|
|
101
|
+
channelId: string;
|
|
102
|
+
};
|
|
103
|
+
expiresAtMs: number;
|
|
104
|
+
wakeCount: number;
|
|
105
|
+
held: Record<string, number>;
|
|
106
|
+
} | null;
|
|
107
|
+
channels: Array<{
|
|
108
|
+
serverId: string;
|
|
109
|
+
channelId: string;
|
|
110
|
+
epochId: string;
|
|
111
|
+
held: number;
|
|
112
|
+
expiresAtMs?: number;
|
|
113
|
+
}>;
|
|
114
|
+
/** Up to `peekLimit` newest held lines of the peeked channel, oldest first. */
|
|
115
|
+
peek?: string[];
|
|
116
|
+
}
|
|
27
117
|
/**
|
|
28
118
|
* tune_out's refusal of a channel already tuned out: its settings, then what
|
|
29
119
|
* its transport is now where the repeat tried to open it again (`transport`,
|
|
30
120
|
* from the framework's dispatch), then how to change the settings.
|
|
31
121
|
*/
|
|
32
|
-
export declare function alreadyTunedOutText(
|
|
122
|
+
export declare function alreadyTunedOutText(quoted: string, p: TuneOutParams, transport?: string): string;
|
|
33
123
|
export interface TuneOutFrameworkHooks {
|
|
34
124
|
/** Deliver a message into an agent's window (per-agent seam). */
|
|
35
125
|
addMessage: (participant: string, content: ContentBlock[], metadata?: Record<string, unknown>, forAgent?: string) => string;
|
|
36
126
|
/** Queue an inference request for an agent. */
|
|
37
127
|
requestInference: (agentName: string, reason: string, source: string) => void;
|
|
38
|
-
/** The subconscious's registry/participant name. */
|
|
128
|
+
/** The persistent subconscious's registry/participant name, or null. */
|
|
39
129
|
subconsciousName: () => string | null;
|
|
130
|
+
/**
|
|
131
|
+
* `reader: 'forks'`: derive and run one reader fork. Absent in persistent
|
|
132
|
+
* mode. The framework owns the fork's lifecycle; the coordinator owns the
|
|
133
|
+
* epoch.
|
|
134
|
+
*/
|
|
135
|
+
invokeReader?: (invocation: ReaderInvocation) => void;
|
|
136
|
+
/**
|
|
137
|
+
* `reader: 'forks'`: deliver a reader fork's own words to the resident
|
|
138
|
+
* as attributed mail (its name, its incarnation). Absent in persistent
|
|
139
|
+
* mode, where the subconscious writes under its own name directly.
|
|
140
|
+
*/
|
|
141
|
+
deliverFromReader?: (reader: string, content: ContentBlock[], metadata: Record<string, unknown>) => void;
|
|
40
142
|
/** The primary resident's registry name. */
|
|
41
143
|
primaryName: () => string | null;
|
|
42
144
|
/** Read the primary's stored messages (shared slot, unfiltered). */
|
|
@@ -46,7 +148,22 @@ export interface TuneOutFrameworkHooks {
|
|
|
46
148
|
* while a turn was alive), oldest first. A cancel reads them too, so a
|
|
47
149
|
* message held mid-turn is in the backlog it belongs to (#232 gap 7).
|
|
48
150
|
*/
|
|
49
|
-
getDeferredMessages?: () => Array<Pick<StoredMessage, 'participant' | 'content' | 'metadata'
|
|
151
|
+
getDeferredMessages?: () => Array<Pick<StoredMessage, 'participant' | 'content' | 'metadata'> & {
|
|
152
|
+
writeId?: string;
|
|
153
|
+
heldAt?: number;
|
|
154
|
+
}>;
|
|
155
|
+
/**
|
|
156
|
+
* Make what was just delivered durable, including anything the delivery
|
|
157
|
+
* left in the deferred queue: a release flips durable epoch state, so its
|
|
158
|
+
* dump must survive a crash in the same window (#232 gap 6).
|
|
159
|
+
*/
|
|
160
|
+
commitDeliveries?: () => void;
|
|
161
|
+
/**
|
|
162
|
+
* The history-reading tool the resident actually has (e.g. a server's
|
|
163
|
+
* `fetch_history`), or null. A truncation note names it only when it exists
|
|
164
|
+
* (#232 gap 11).
|
|
165
|
+
*/
|
|
166
|
+
historyTool?: () => string | null;
|
|
50
167
|
/**
|
|
51
168
|
* The most characters of text every reader of the residents' shared slot
|
|
52
169
|
* is shown whole in one message: the smallest of their strategies'
|
|
@@ -65,6 +182,22 @@ export interface TuneOutFrameworkHooks {
|
|
|
65
182
|
isPrivilegedAuthor: (authorId: string | null | undefined) => boolean;
|
|
66
183
|
/** speak_in_channel master switch (recipe-side, canary-gated). */
|
|
67
184
|
allowChannelSpeech: () => boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Whether a tune-out may hold a channel with no reader at all — a silent
|
|
187
|
+
* hold (issue #232 §3.3), which the host opts into (`tuneOut.enabled`).
|
|
188
|
+
* Left out, or false, a hold with no reader is refused.
|
|
189
|
+
*/
|
|
190
|
+
holdWithoutReader?: () => boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Post a line into a channel under the resident's name. Used for the
|
|
193
|
+
* all-except scope's entry and release announcements in the excepted
|
|
194
|
+
* channel (Linn, 2026-10-12: the room should hear the door shut, not
|
|
195
|
+
* discover it). Absent when `tuneOut.announce` is off.
|
|
196
|
+
*/
|
|
197
|
+
announce?: (serverId: string, channelId: string, text: string) => Promise<{
|
|
198
|
+
success: boolean;
|
|
199
|
+
error?: string;
|
|
200
|
+
}>;
|
|
68
201
|
emitTrace: (event: {
|
|
69
202
|
type: string;
|
|
70
203
|
[key: string]: unknown;
|
|
@@ -83,16 +216,77 @@ export declare class TuneOutCoordinator {
|
|
|
83
216
|
private expiryTimers;
|
|
84
217
|
/** Channels with a wake invocation pending inside the coalescing window. */
|
|
85
218
|
private pendingWakes;
|
|
86
|
-
/**
|
|
219
|
+
/**
|
|
220
|
+
* Held messages the channel's reader hasn't looked at, per channel key:
|
|
221
|
+
* what makes a cadence period worth a look. Counted up as messages are
|
|
222
|
+
* held and back to zero at each look; rebuilt from the held rows where
|
|
223
|
+
* memory can't know it (rebuildTally): after a restart, and when a
|
|
224
|
+
* channel's own tune-out ends while the all-except hold still holds it.
|
|
225
|
+
* A failed reader fork's messages count again (readerFailed).
|
|
226
|
+
*/
|
|
87
227
|
private divertedSinceInvocation;
|
|
228
|
+
/**
|
|
229
|
+
* The persistent subconscious's last look at each held channel, per epoch:
|
|
230
|
+
* the store's sequence when the look was asked for. Durable, so that after
|
|
231
|
+
* a restart its next look counts only what was held since (rebuildTally).
|
|
232
|
+
* Reader forks need none: what they were handed is in memory, and after a
|
|
233
|
+
* restart the first fork of an epoch is handed all it has held.
|
|
234
|
+
*/
|
|
235
|
+
private lastLooksCache;
|
|
236
|
+
/**
|
|
237
|
+
* `reader: 'forks'`: the highest sequence of a held message already
|
|
238
|
+
* handed to a reader fork, per epoch and channel (handOffKey). Each held
|
|
239
|
+
* message is delivered to exactly one fork. A channel the all-except hold
|
|
240
|
+
* holds can be taken by a tune-out of its own and given back, and each
|
|
241
|
+
* epoch's readers read that epoch's messages, so what one epoch's readers
|
|
242
|
+
* were handed never moves or clears the other's. In-memory: after a
|
|
243
|
+
* restart the first fork of an epoch is handed everything the epoch has
|
|
244
|
+
* held, which is the right side to err on.
|
|
245
|
+
*/
|
|
246
|
+
private readerCursor;
|
|
247
|
+
/**
|
|
248
|
+
* `reader: 'forks'`: the deferred writes handed to a reader fork while
|
|
249
|
+
* still queued, per epoch and channel. Each lands in the store later as a row
|
|
250
|
+
* stamped with the same id (`metadata.deferredWriteId`), past the cursor;
|
|
251
|
+
* that row is not handed again. Cleared with the cursor.
|
|
252
|
+
*/
|
|
253
|
+
private readerHandedWrites;
|
|
254
|
+
/**
|
|
255
|
+
* `reader: 'forks'`: held messages a reader fork was handed but never read,
|
|
256
|
+
* per epoch and channel: its derive failed, or its run threw before it reported
|
|
257
|
+
* (readerFailed). The next invocation is handed them again, cursor or no:
|
|
258
|
+
* stored rows by id, and by write id those that were queued when handed
|
|
259
|
+
* (stored or still queued now). Cleared with the cursor.
|
|
260
|
+
*/
|
|
261
|
+
private readerReturned;
|
|
262
|
+
/**
|
|
263
|
+
* `reader: 'forks'`: the late forks derived for an ended epoch's messages
|
|
264
|
+
* (readerFailed), so that a late fork's own failure derives no other.
|
|
265
|
+
*/
|
|
266
|
+
private lateForks;
|
|
267
|
+
/** The all-except scope's durable record, cached (undefined = not read yet). */
|
|
268
|
+
private scopeCache;
|
|
269
|
+
/** The epoch whose release this process delivered and whose hold is not yet recorded as cleared. */
|
|
270
|
+
private scopeReleased;
|
|
271
|
+
/** Timer key for the scope's cadence and expiry. */
|
|
272
|
+
private static readonly SCOPE_KEY;
|
|
88
273
|
constructor(channelRegistry: ChannelRegistry, serverRegistry: McplServerRegistry, hooks: TuneOutFrameworkHooks);
|
|
89
274
|
private key;
|
|
275
|
+
/** The readers' hand-off bookkeeping's key: one epoch's reading of one channel. */
|
|
276
|
+
private handOffKey;
|
|
277
|
+
/** An ended epoch's hand-off bookkeeping goes with it, every channel's. */
|
|
278
|
+
private dropHandOffs;
|
|
279
|
+
/** A reader exists: the persistent subconscious, or forks on demand. */
|
|
280
|
+
private readerAvailable;
|
|
281
|
+
/** Reader forks are the configured reader. */
|
|
282
|
+
private get forkReader();
|
|
90
283
|
/** A channel as the resident and the subconscious are shown it
|
|
91
284
|
* (ChannelRegistry.nameShown): its id, or, where another server registers
|
|
92
285
|
* the same id, its server-qualified name, which tune_out and
|
|
93
286
|
* cancel_tuneout take back; or, for a channel no string picks alone, its
|
|
94
287
|
* id and its server. */
|
|
95
288
|
private shown;
|
|
289
|
+
private quotedShown;
|
|
96
290
|
/** Restart cadence + expiry timers and re-anchor after a process restart. */
|
|
97
291
|
resumeActiveEpochs(): void;
|
|
98
292
|
private armExpiry;
|
|
@@ -101,11 +295,24 @@ export declare class TuneOutCoordinator {
|
|
|
101
295
|
* host process. */
|
|
102
296
|
private timerFailed;
|
|
103
297
|
private listActive;
|
|
298
|
+
/**
|
|
299
|
+
* The options a tune-out call gives, read as numbers before anything
|
|
300
|
+
* changes (F76). A tool's input reaches here as the model wrote it, and
|
|
301
|
+
* the store can't keep a NaN or an Infinity: its append would throw after
|
|
302
|
+
* the registry had marked the channel tuned out. So each option is read
|
|
303
|
+
* as a number first, a numeric string included, as the sleep tool reads
|
|
304
|
+
* its seconds; null counts as left out. A value that gives no finite
|
|
305
|
+
* number is refused, naming the option and, where it can be left out,
|
|
306
|
+
* what leaving it out means; so is a duration whose end time is too far
|
|
307
|
+
* off to store. `now` is the clock the end time was counted from. One
|
|
308
|
+
* rule for a channel's tune-out and the all-except hold.
|
|
309
|
+
*/
|
|
310
|
+
private readOptions;
|
|
104
311
|
enter(serverId: string, channelId: string, opts: {
|
|
105
|
-
cadenceSeconds?:
|
|
106
|
-
backlogCap?:
|
|
107
|
-
maxWakes?:
|
|
108
|
-
durationSeconds?:
|
|
312
|
+
cadenceSeconds?: unknown;
|
|
313
|
+
backlogCap?: unknown;
|
|
314
|
+
maxWakes?: unknown;
|
|
315
|
+
durationSeconds?: unknown;
|
|
109
316
|
}, source: string): {
|
|
110
317
|
ok: true;
|
|
111
318
|
params: TuneOutParams;
|
|
@@ -114,6 +321,8 @@ export declare class TuneOutCoordinator {
|
|
|
114
321
|
error: string;
|
|
115
322
|
alreadyTunedOut?: true;
|
|
116
323
|
};
|
|
324
|
+
/** Whether a reader (persistent subconscious or reader forks) attends holds. */
|
|
325
|
+
hasReader(): boolean;
|
|
117
326
|
/**
|
|
118
327
|
* End a tune-out: durable flip, system-framed backlog dump into the
|
|
119
328
|
* resident's window (capped), lifecycle notice, one wake for the
|
|
@@ -121,7 +330,11 @@ export declare class TuneOutCoordinator {
|
|
|
121
330
|
* cancel_tuneout call) — delivered verbatim under its name, never
|
|
122
331
|
* synthesized here.
|
|
123
332
|
*/
|
|
124
|
-
cancel(serverId: string, channelId: string, source: string, reason: string, subconsciousNote?: string
|
|
333
|
+
cancel(serverId: string, channelId: string, source: string, reason: string, subconsciousNote?: string,
|
|
334
|
+
/** `reader: 'forks'`: the reader fork whose note this is. */
|
|
335
|
+
noteAuthor?: string,
|
|
336
|
+
/** The lifecycle state the channel returns to (a tool close ends in 'closed'). */
|
|
337
|
+
nextState?: 'open' | 'closed'): {
|
|
125
338
|
ok: true;
|
|
126
339
|
} | {
|
|
127
340
|
ok: false;
|
|
@@ -138,6 +351,74 @@ export declare class TuneOutCoordinator {
|
|
|
138
351
|
onIncoming(serverId: string, channelId: string, messageId: string, tags: string[] | undefined, authorId?: string, gatePass?: boolean): {
|
|
139
352
|
epochId: string;
|
|
140
353
|
} | null;
|
|
354
|
+
/** The epoch holding this channel, or null. Pure: the admission stage's lookup. */
|
|
355
|
+
holdFor(serverId: string, channelId: string): {
|
|
356
|
+
epochId: string;
|
|
357
|
+
} | null;
|
|
358
|
+
/** The channel unprefixed speech lands in while an all-except hold is active, with its server, else null. */
|
|
359
|
+
focusChannel(): ChannelRef | null;
|
|
360
|
+
private get scopeStateId();
|
|
361
|
+
getAllExcept(): AllExceptState | null;
|
|
362
|
+
private writeScope;
|
|
363
|
+
enterAllExcept(except: {
|
|
364
|
+
serverId: string;
|
|
365
|
+
channelId: string;
|
|
366
|
+
}, opts: {
|
|
367
|
+
cadenceSeconds?: unknown;
|
|
368
|
+
backlogCap?: unknown;
|
|
369
|
+
maxWakes?: unknown;
|
|
370
|
+
durationSeconds?: unknown;
|
|
371
|
+
}, source: string): {
|
|
372
|
+
ok: true;
|
|
373
|
+
params: AllExceptParams;
|
|
374
|
+
} | {
|
|
375
|
+
ok: false;
|
|
376
|
+
error: string;
|
|
377
|
+
};
|
|
378
|
+
/** Whether entry and release of the all-except scope are announced in the excepted channel. */
|
|
379
|
+
announces(): boolean;
|
|
380
|
+
/**
|
|
381
|
+
* The excepted channel hears the scope open and close: one bracketed line
|
|
382
|
+
* under the resident's name, posted through the same path as a publish.
|
|
383
|
+
* Fire-and-forget; the outcome is traced, never awaited by the epoch flip.
|
|
384
|
+
*/
|
|
385
|
+
private announce;
|
|
386
|
+
/** The scope's end time and cadence, on timers no longer than one holds
|
|
387
|
+
* (deadline-timer), as a channel's tune-out arms its own. */
|
|
388
|
+
private armScopeTimers;
|
|
389
|
+
private clearScopeTimers;
|
|
390
|
+
/** Channels held by the scope (not by their own epoch) with the count held under it. */
|
|
391
|
+
private scopeHeldCounts;
|
|
392
|
+
/**
|
|
393
|
+
* End the all-except hold: durable flip, one release notice with a
|
|
394
|
+
* per-channel backlog (each capped), the reader's note if any, one wake
|
|
395
|
+
* for the resident, and the reader's own look at what it had not seen.
|
|
396
|
+
*/
|
|
397
|
+
cancelAllExcept(source: string, reason: string, note?: string, noteAuthor?: string): {
|
|
398
|
+
ok: true;
|
|
399
|
+
} | {
|
|
400
|
+
ok: false;
|
|
401
|
+
error: string;
|
|
402
|
+
};
|
|
403
|
+
/** What is held right now — per-channel epochs and the scope — without releasing. */
|
|
404
|
+
check(opts?: {
|
|
405
|
+
peek?: {
|
|
406
|
+
serverId?: string;
|
|
407
|
+
channelId: string;
|
|
408
|
+
};
|
|
409
|
+
peekLimit?: number;
|
|
410
|
+
}): TuneOutCheck;
|
|
411
|
+
/**
|
|
412
|
+
* Bookkeeping for one held message, after admission decided the hold:
|
|
413
|
+
* the cadence tally, the deterministic acknowledgement of a suppressed
|
|
414
|
+
* mention, and the reader wake when the resident's gate would have woken
|
|
415
|
+
* them (`gatePass` is that verdict, probed without side effects).
|
|
416
|
+
*/
|
|
417
|
+
recordHeld(serverId: string, channelId: string, messageId: string, tags: string[] | undefined, authorId?: string, gatePass?: boolean): void;
|
|
418
|
+
/** Reader forks that reported through `deliver_summary` (so their trailing prose is not a second report). */
|
|
419
|
+
private readerReports;
|
|
420
|
+
readerReported(reader: string): boolean;
|
|
421
|
+
forgetReader(reader: string): void;
|
|
141
422
|
private acknowledgeSuppressed;
|
|
142
423
|
private startCadence;
|
|
143
424
|
/** Clear a channel's tune-out timers: its cadence, its end time and a wake
|
|
@@ -145,12 +426,81 @@ export declare class TuneOutCoordinator {
|
|
|
145
426
|
private clearTimers;
|
|
146
427
|
private stopCadence;
|
|
147
428
|
private scheduleWakeInvocation;
|
|
429
|
+
/** One coalesced wake: counted durably against the epoch that holds the channel. */
|
|
430
|
+
private fireWake;
|
|
148
431
|
/**
|
|
149
432
|
* One subconscious turn: a system-framed trigger notice (bracket style —
|
|
150
433
|
* what happened, never what to say) plus standing dispositions, then an
|
|
151
434
|
* inference request. The merged view supplies the actual traffic.
|
|
152
435
|
*/
|
|
153
436
|
private invokeSubconscious;
|
|
437
|
+
/**
|
|
438
|
+
* Count again, from the held messages, stored or still queued behind the
|
|
439
|
+
* resident's turn, those the reader of the epoch holding this channel now
|
|
440
|
+
* hasn't looked at: for reader forks, those no fork was handed; for the
|
|
441
|
+
* persistent subconscious, the stored ones held since its last look
|
|
442
|
+
* (lastLooks) and every queued one, which no view of it can show yet.
|
|
443
|
+
* Nothing holding the channel leaves no count.
|
|
444
|
+
*/
|
|
445
|
+
private rebuildTally;
|
|
446
|
+
private get lastLooksStateId();
|
|
447
|
+
/**
|
|
448
|
+
* The stored last looks. Where they can't be read, none: every held row
|
|
449
|
+
* counts, and nothing is cached, so the next read tries again. Nor is
|
|
450
|
+
* anything written back over the stored record then (markLook, dropLooks,
|
|
451
|
+
* pruneLooks), which would erase the other epochs' and channels' looks.
|
|
452
|
+
*/
|
|
453
|
+
private lastLooks;
|
|
454
|
+
private writeLooks;
|
|
455
|
+
private markLook;
|
|
456
|
+
/** An ended epoch's last looks go with it. */
|
|
457
|
+
private dropLooks;
|
|
458
|
+
/** At boot: the last looks of epochs no longer active go. */
|
|
459
|
+
private pruneLooks;
|
|
460
|
+
/**
|
|
461
|
+
* `reader: 'forks'`: hand the framework one invocation. The backlog is
|
|
462
|
+
* the epoch's held messages not yet handed to any fork — each is
|
|
463
|
+
* delivered to exactly one reader — stored ones first, then those still
|
|
464
|
+
* queued behind the resident's turn, plus the standing dispositions. A
|
|
465
|
+
* cadence look with nothing new is skipped. True when a fork was asked for.
|
|
466
|
+
*/
|
|
467
|
+
private invokeReaderFork;
|
|
468
|
+
/**
|
|
469
|
+
* What no reader fork has read yet, of the given held messages: the stored
|
|
470
|
+
* ones past the epoch's cursor for the channel, less those a fork was handed while they
|
|
471
|
+
* were still queued, plus those a failed fork returned, oldest first; then
|
|
472
|
+
* the queued ones no fork was handed, or a failed fork returned.
|
|
473
|
+
*/
|
|
474
|
+
private unhandedBacklog;
|
|
475
|
+
/**
|
|
476
|
+
* A reader fork that never read what it was handed: its derive failed, or
|
|
477
|
+
* its run threw before it reported. While the epoch that held the
|
|
478
|
+
* messages is still active, they go back to that epoch's backlog for the
|
|
479
|
+
* channel, and its next invocation for the channel is handed them: the
|
|
480
|
+
* scope's while the scope is active, though the channel's own tune-out
|
|
481
|
+
* has taken the channel meanwhile, and a channel's own tune-out's while it
|
|
482
|
+
* holds the channel. Once the epoch has ended, its cancel's last fork was
|
|
483
|
+
* handed only what no fork had been, so a fork still running then is the
|
|
484
|
+
* only reader its messages had: one late fork is handed them instead
|
|
485
|
+
* (lateFork). Returns how many went back or to the late fork.
|
|
486
|
+
*/
|
|
487
|
+
readerFailed(invocation: Pick<ReaderInvocation, 'serverId' | 'channelId' | 'epochId' | 'backlog' | 'queued'>): number;
|
|
488
|
+
/**
|
|
489
|
+
* A fork that failed after its epoch ended: one late fork is handed what it
|
|
490
|
+
* was, with a notice saying a reader handed them failed after the tune-out
|
|
491
|
+
* ended. Those still queued when it was handed that have landed since are
|
|
492
|
+
* handed as stored. A late fork's own failure derives no other, so a
|
|
493
|
+
* reader that keeps failing costs one more fork, not a chain of them.
|
|
494
|
+
* Returns how many the late fork was handed.
|
|
495
|
+
*/
|
|
496
|
+
private lateFork;
|
|
497
|
+
/**
|
|
498
|
+
* The held messages still queued behind the resident's turn that `keep`
|
|
499
|
+
* keeps, oldest first, with their write ids. One the host gives no id for
|
|
500
|
+
* is left to reach a reader once it is stored: without the id, its stored
|
|
501
|
+
* row couldn't be told from a message no reader has had.
|
|
502
|
+
*/
|
|
503
|
+
private queuedHeld;
|
|
154
504
|
private dispositionsCache;
|
|
155
505
|
private get dispositionsStateId();
|
|
156
506
|
/**
|
|
@@ -173,14 +523,29 @@ export declare class TuneOutCoordinator {
|
|
|
173
523
|
noteDisposition(key: string, text: string): void;
|
|
174
524
|
handleSubconsciousTool(name: string, input: Record<string, unknown>,
|
|
175
525
|
/** The calling turn's own channels, for a call made inside it (the framework's callOwnChannels). */
|
|
176
|
-
own?: readonly ChannelRef[]
|
|
526
|
+
own?: readonly ChannelRef[],
|
|
527
|
+
/** The calling agent: the persistent subconscious, or a reader fork. */
|
|
528
|
+
caller?: string,
|
|
529
|
+
/** A reader fork, with the epoch it was derived to read, if any: it ends and posts only through that epoch's
|
|
530
|
+
* hold (forkRefusal). The persistent subconscious, which reads every epoch, passes none. */
|
|
531
|
+
fork?: {
|
|
532
|
+
epochId?: string;
|
|
533
|
+
}): Promise<{
|
|
177
534
|
success: boolean;
|
|
178
535
|
data?: unknown;
|
|
179
536
|
error?: string;
|
|
180
537
|
isError?: boolean;
|
|
181
538
|
}>;
|
|
182
539
|
/**
|
|
183
|
-
*
|
|
540
|
+
* Why a reader fork may not act through `hold` (the epoch holding what its
|
|
541
|
+
* call names, or null): a fork ends and posts only through the hold of the
|
|
542
|
+
* epoch it was derived to read, and one derived for none acts through no
|
|
543
|
+
* hold. Undefined where the hold is its own. `why` says, for the fork, how
|
|
544
|
+
* what its call names isn't its own hold; its reports stay open to it.
|
|
545
|
+
*/
|
|
546
|
+
private forkRefusal;
|
|
547
|
+
/**
|
|
548
|
+
* A cancel of a channel that isn't tuned out, by the name, quoted, the caller gave
|
|
184
549
|
* or knows it by: which channels are, so the next call can name one, and
|
|
185
550
|
* how a tune-out ends without one. `backlogTo`
|
|
186
551
|
* names the resident as the message's reader knows it: "you" to the
|
|
@@ -191,6 +556,12 @@ export declare class TuneOutCoordinator {
|
|
|
191
556
|
* registered channels too), and the text claims nothing about it.
|
|
192
557
|
*/
|
|
193
558
|
private notTunedOut;
|
|
559
|
+
/**
|
|
560
|
+
* The reader ended, not the framework: its turns stop (cadence and
|
|
561
|
+
* coalescing wakes), and every hold keeps its end time, which releases it
|
|
562
|
+
* to the resident with no reader.
|
|
563
|
+
*/
|
|
564
|
+
stopReader(): void;
|
|
194
565
|
/** Stop all timers (framework shutdown). */
|
|
195
566
|
stop(): void;
|
|
196
567
|
}
|