@xenosystem/agent-interface-host 0.1.4 → 0.1.6
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/dist/acp/AcpAgentRegistryService.d.ts +43 -1
- package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -1
- package/dist/acp/AcpAgentRegistryService.js +200 -1
- package/dist/acp/AcpAgentRegistryService.js.map +1 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +66 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.js +182 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -1
- package/dist/acp/AcpPermissionBridge.d.ts.map +1 -1
- package/dist/acp/AcpPermissionBridge.js +3 -3
- package/dist/acp/AcpPermissionBridge.js.map +1 -1
- package/dist/acp/AcpProcessSupervisor.d.ts +81 -0
- package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -1
- package/dist/acp/AcpProcessSupervisor.js +176 -2
- package/dist/acp/AcpProcessSupervisor.js.map +1 -1
- package/dist/acp/AcpProviderCatalogService.d.ts.map +1 -1
- package/dist/acp/AcpProviderCatalogService.js +68 -2
- package/dist/acp/AcpProviderCatalogService.js.map +1 -1
- package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -1
- package/dist/acp/AcpRuntimeEventMapper.js +9 -0
- package/dist/acp/AcpRuntimeEventMapper.js.map +1 -1
- package/dist/acp/AcpSessionService.d.ts +36 -0
- package/dist/acp/AcpSessionService.d.ts.map +1 -1
- package/dist/acp/AcpSessionService.js +57 -1
- package/dist/acp/AcpSessionService.js.map +1 -1
- package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -1
- package/dist/acp/DurableAcpPermissionPolicyStore.js +5 -3
- package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -1
- package/dist/acp/acpRedaction.d.ts.map +1 -1
- package/dist/acp/acpRedaction.js +2 -0
- package/dist/acp/acpRedaction.js.map +1 -1
- package/dist/acp/acpTypes.d.ts +111 -1
- package/dist/acp/acpTypes.d.ts.map +1 -1
- package/dist/acp/acpTypes.js +21 -1
- package/dist/acp/acpTypes.js.map +1 -1
- package/dist/index.d.ts +108 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +236 -11
- package/dist/index.js.map +1 -1
- package/dist/isolation/CommandExecution.d.ts +7 -12
- package/dist/isolation/CommandExecution.d.ts.map +1 -1
- package/dist/isolation/CommandExecution.js +7 -12
- package/dist/isolation/CommandExecution.js.map +1 -1
- package/dist/isolation/CommandStream.d.ts +100 -0
- package/dist/isolation/CommandStream.d.ts.map +1 -0
- package/dist/isolation/CommandStream.js +47 -0
- package/dist/isolation/CommandStream.js.map +1 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts +15 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -1
- package/dist/isolation/RunExecutionEnvironment.js +45 -9
- package/dist/isolation/RunExecutionEnvironment.js.map +1 -1
- package/dist/isolation/RunIsolationService.d.ts +10 -5
- package/dist/isolation/RunIsolationService.d.ts.map +1 -1
- package/dist/isolation/RunIsolationService.js +7 -3
- package/dist/isolation/RunIsolationService.js.map +1 -1
- package/dist/isolation/SandboxCapabilities.d.ts +28 -0
- package/dist/isolation/SandboxCapabilities.d.ts.map +1 -0
- package/dist/isolation/SandboxCapabilities.js +33 -0
- package/dist/isolation/SandboxCapabilities.js.map +1 -0
- package/dist/isolation/SandboxCommandExecutor.d.ts +4 -7
- package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -1
- package/dist/isolation/SandboxCommandExecutor.js +6 -7
- package/dist/isolation/SandboxCommandExecutor.js.map +1 -1
- package/dist/isolation/SandboxCommandStream.d.ts +38 -0
- package/dist/isolation/SandboxCommandStream.d.ts.map +1 -0
- package/dist/isolation/SandboxCommandStream.js +232 -0
- package/dist/isolation/SandboxCommandStream.js.map +1 -0
- package/dist/isolation/shellArgv.d.ts +15 -0
- package/dist/isolation/shellArgv.d.ts.map +1 -0
- package/dist/isolation/shellArgv.js +31 -0
- package/dist/isolation/shellArgv.js.map +1 -0
- package/dist/isolation/useIdempotency.d.ts +19 -0
- package/dist/isolation/useIdempotency.d.ts.map +1 -0
- package/dist/isolation/useIdempotency.js +57 -0
- package/dist/isolation/useIdempotency.js.map +1 -0
- package/dist/localRpcTransport.d.ts +18 -0
- package/dist/localRpcTransport.d.ts.map +1 -1
- package/dist/localRpcTransport.js +38 -4
- package/dist/localRpcTransport.js.map +1 -1
- package/dist/node.d.ts +19 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +19 -0
- package/dist/node.js.map +1 -1
- package/dist/observation/XenoUseRunObserver.d.ts +20 -0
- package/dist/observation/XenoUseRunObserver.d.ts.map +1 -1
- package/dist/observation/XenoUseRunObserver.js +27 -13
- package/dist/observation/XenoUseRunObserver.js.map +1 -1
- package/dist/runtime/RuntimeTimelineProjection.d.ts +2 -2
- package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -1
- package/dist/runtime/RuntimeTimelineProjection.js +196 -1
- package/dist/runtime/RuntimeTimelineProjection.js.map +1 -1
- package/dist/sdk/DurablePendingInjectionStore.d.ts +24 -0
- package/dist/sdk/DurablePendingInjectionStore.d.ts.map +1 -0
- package/dist/sdk/DurablePendingInjectionStore.js +103 -0
- package/dist/sdk/DurablePendingInjectionStore.js.map +1 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +81 -1
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -1
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +122 -3
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -1
- package/dist/sdk/pendingInjections.d.ts +83 -0
- package/dist/sdk/pendingInjections.d.ts.map +1 -0
- package/dist/sdk/pendingInjections.js +79 -0
- package/dist/sdk/pendingInjections.js.map +1 -0
- package/dist/session/AgentSessionService.d.ts +34 -0
- package/dist/session/AgentSessionService.d.ts.map +1 -1
- package/dist/session/AgentSessionService.js +85 -1
- package/dist/session/AgentSessionService.js.map +1 -1
- package/dist/session/nativeTuiSessionPty.d.ts +40 -0
- package/dist/session/nativeTuiSessionPty.d.ts.map +1 -0
- package/dist/session/nativeTuiSessionPty.js +142 -0
- package/dist/session/nativeTuiSessionPty.js.map +1 -0
- package/dist/session/nodePtyLoader.d.ts +23 -0
- package/dist/session/nodePtyLoader.d.ts.map +1 -0
- package/dist/session/nodePtyLoader.js +41 -0
- package/dist/session/nodePtyLoader.js.map +1 -0
- package/dist/session/renderSupport.d.ts +34 -0
- package/dist/session/renderSupport.d.ts.map +1 -1
- package/dist/session/renderSupport.js +39 -1
- package/dist/session/renderSupport.js.map +1 -1
- package/dist/workspace/WorkspaceHostService.d.ts +27 -2
- package/dist/workspace/WorkspaceHostService.d.ts.map +1 -1
- package/dist/workspace/WorkspaceHostService.js +221 -25
- package/dist/workspace/WorkspaceHostService.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkNativeAgentTurnExecutionAdapter.js","sourceRoot":"","sources":["../../src/sdk/SdkNativeAgentTurnExecutionAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AASnC,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAmC,MAAM,sCAAsC,CAAA;AAC/G,OAAO,EAAE,0BAA0B,EAA6B,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"SdkNativeAgentTurnExecutionAdapter.js","sourceRoot":"","sources":["../../src/sdk/SdkNativeAgentTurnExecutionAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The queue a node waits in when it is pinned while no turn is running (XENO SPAWN §2.2).
|
|
3
|
+
*
|
|
4
|
+
* 🔴 WHY THIS IS A PORT AND NOT A `Map` — the `Map` was the defect.
|
|
5
|
+
*
|
|
6
|
+
* Pinning between turns is §2.2's ORDINARY case: an operator pins a node so the agent has it for
|
|
7
|
+
* whatever comes next. The adapter accepted that, answered `deferred`, and held it in an instance
|
|
8
|
+
* field — so a host restart destroyed it.
|
|
9
|
+
*
|
|
10
|
+
* 🔴 AND IT LEFT NOTHING BEHIND, which is worse than the stale row this comment first claimed.
|
|
11
|
+
* An earlier version said §3's append-only record "carries a durable row saying a node is queued",
|
|
12
|
+
* making the defect a promise nothing could keep. MEASURED: the between-turns path emits NO runtime
|
|
13
|
+
* event at all — `deferred` is returned to the CALLER, and `context.injected` fires only when
|
|
14
|
+
* content actually ARRIVES. So the operator got an accepted-looking answer, the pin lived in one
|
|
15
|
+
* process's heap, and a restart erased it with **no trace on the timeline to notice**. A stale row
|
|
16
|
+
* is at least a row; this was silence.
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ That absence is itself a §3 gap — a pin is an operator action the record does not show until
|
|
19
|
+
* it lands, possibly much later — but it is a CONTRACT question (which event, what shape) and not
|
|
20
|
+
* something durability fixes. Recorded rather than quietly widened here.
|
|
21
|
+
*
|
|
22
|
+
* ⚠️ This is the shape §HONESTY IS THE FLOOR names: the limitation was documented, in a docblock,
|
|
23
|
+
* on the layer that owns it. A declaration about our own layer is a TODO wearing a policy's clothes.
|
|
24
|
+
*
|
|
25
|
+
* ## At-most-once is a DELIBERATE choice, and it is why `drain` must persist before delivering
|
|
26
|
+
*
|
|
27
|
+
* The adapter's existing rule is that a pinned node arrives ONCE — redelivering it would grow the
|
|
28
|
+
* agent's context unasked and emit a fresh `context.injected` for a node pinned a single time. So a
|
|
29
|
+
* durable implementation commits the removal BEFORE the content reaches the runner. A crash in that
|
|
30
|
+
* window loses the pin, and that is the correct side to fail on: the record still reads `deferred`
|
|
31
|
+
* and never `injected`, which is true. The opposite ordering would silently re-inject on every
|
|
32
|
+
* restart, and a growing context nobody asked for is not recoverable by reading the record.
|
|
33
|
+
*/
|
|
34
|
+
/** One pinned node waiting for the next turn. `content` is what enters the agent's context. */
|
|
35
|
+
export interface PendingInjection {
|
|
36
|
+
content: string;
|
|
37
|
+
label?: string;
|
|
38
|
+
sourceNodeId?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface PendingInjectionStore {
|
|
41
|
+
/**
|
|
42
|
+
* Whether a queued pin survives the host process.
|
|
43
|
+
*
|
|
44
|
+
* 🔴 Read by the capability matrix, so the declaration a CLIENT sees is derived from the store
|
|
45
|
+
* actually composed rather than restated in prose. The `context.inject` reason used to assert
|
|
46
|
+
* "that queue is in memory, so it does not survive a host restart" as a fixed string; once a
|
|
47
|
+
* durable store existed that sentence was false in the shipped app and true in a default one,
|
|
48
|
+
* which is exactly the kind of claim nobody re-reads.
|
|
49
|
+
*/
|
|
50
|
+
readonly durable: boolean;
|
|
51
|
+
/** Queues a node for the conversation's next turn. */
|
|
52
|
+
append(conversationId: string, injection: PendingInjection): void;
|
|
53
|
+
/**
|
|
54
|
+
* Returns everything queued for the conversation and REMOVES it.
|
|
55
|
+
*
|
|
56
|
+
* Named `drain` rather than `take`/`get` because the removal is the contract, not a side effect:
|
|
57
|
+
* a durable implementation must have committed it before this returns.
|
|
58
|
+
*/
|
|
59
|
+
drain(conversationId: string): PendingInjection[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The pre-existing behaviour, unchanged and now named.
|
|
63
|
+
*
|
|
64
|
+
* ⚠️ Kept as a real implementation rather than deleted, because it is the RIGHT store for a host
|
|
65
|
+
* with no durable root — a test harness, an embedded surface, a fixture run. Making durability the
|
|
66
|
+
* only option would force a filesystem dependency on hosts that legitimately have none.
|
|
67
|
+
*/
|
|
68
|
+
export declare class InMemoryPendingInjectionStore implements PendingInjectionStore {
|
|
69
|
+
readonly durable = false;
|
|
70
|
+
private readonly queues;
|
|
71
|
+
append(conversationId: string, injection: PendingInjection): void;
|
|
72
|
+
drain(conversationId: string): PendingInjection[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns the injection only if it can actually be delivered.
|
|
76
|
+
*
|
|
77
|
+
* 🔴 Empty content is REFUSED, not stored. An injection whose content is empty would enter the
|
|
78
|
+
* agent's context as nothing while the record claims a node was pinned — the same lie this module
|
|
79
|
+
* exists to remove, one layer down. Shared with the durable store so a value that could not be
|
|
80
|
+
* appended cannot be read back either.
|
|
81
|
+
*/
|
|
82
|
+
export declare function validatePendingInjection(value: unknown): PendingInjection | undefined;
|
|
83
|
+
//# sourceMappingURL=pendingInjections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendingInjections.d.ts","sourceRoot":"","sources":["../../src/sdk/pendingInjections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,sDAAsD;IACtD,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjE;;;;;OAKG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAClD;AAED;;;;;;GAMG;AACH,qBAAa,6BAA8B,YAAW,qBAAqB;IACzE,QAAQ,CAAC,OAAO,SAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAMjE,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE;CAKlD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAWrF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The queue a node waits in when it is pinned while no turn is running (XENO SPAWN §2.2).
|
|
3
|
+
*
|
|
4
|
+
* 🔴 WHY THIS IS A PORT AND NOT A `Map` — the `Map` was the defect.
|
|
5
|
+
*
|
|
6
|
+
* Pinning between turns is §2.2's ORDINARY case: an operator pins a node so the agent has it for
|
|
7
|
+
* whatever comes next. The adapter accepted that, answered `deferred`, and held it in an instance
|
|
8
|
+
* field — so a host restart destroyed it.
|
|
9
|
+
*
|
|
10
|
+
* 🔴 AND IT LEFT NOTHING BEHIND, which is worse than the stale row this comment first claimed.
|
|
11
|
+
* An earlier version said §3's append-only record "carries a durable row saying a node is queued",
|
|
12
|
+
* making the defect a promise nothing could keep. MEASURED: the between-turns path emits NO runtime
|
|
13
|
+
* event at all — `deferred` is returned to the CALLER, and `context.injected` fires only when
|
|
14
|
+
* content actually ARRIVES. So the operator got an accepted-looking answer, the pin lived in one
|
|
15
|
+
* process's heap, and a restart erased it with **no trace on the timeline to notice**. A stale row
|
|
16
|
+
* is at least a row; this was silence.
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ That absence is itself a §3 gap — a pin is an operator action the record does not show until
|
|
19
|
+
* it lands, possibly much later — but it is a CONTRACT question (which event, what shape) and not
|
|
20
|
+
* something durability fixes. Recorded rather than quietly widened here.
|
|
21
|
+
*
|
|
22
|
+
* ⚠️ This is the shape §HONESTY IS THE FLOOR names: the limitation was documented, in a docblock,
|
|
23
|
+
* on the layer that owns it. A declaration about our own layer is a TODO wearing a policy's clothes.
|
|
24
|
+
*
|
|
25
|
+
* ## At-most-once is a DELIBERATE choice, and it is why `drain` must persist before delivering
|
|
26
|
+
*
|
|
27
|
+
* The adapter's existing rule is that a pinned node arrives ONCE — redelivering it would grow the
|
|
28
|
+
* agent's context unasked and emit a fresh `context.injected` for a node pinned a single time. So a
|
|
29
|
+
* durable implementation commits the removal BEFORE the content reaches the runner. A crash in that
|
|
30
|
+
* window loses the pin, and that is the correct side to fail on: the record still reads `deferred`
|
|
31
|
+
* and never `injected`, which is true. The opposite ordering would silently re-inject on every
|
|
32
|
+
* restart, and a growing context nobody asked for is not recoverable by reading the record.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* The pre-existing behaviour, unchanged and now named.
|
|
36
|
+
*
|
|
37
|
+
* ⚠️ Kept as a real implementation rather than deleted, because it is the RIGHT store for a host
|
|
38
|
+
* with no durable root — a test harness, an embedded surface, a fixture run. Making durability the
|
|
39
|
+
* only option would force a filesystem dependency on hosts that legitimately have none.
|
|
40
|
+
*/
|
|
41
|
+
export class InMemoryPendingInjectionStore {
|
|
42
|
+
durable = false;
|
|
43
|
+
queues = new Map();
|
|
44
|
+
append(conversationId, injection) {
|
|
45
|
+
const queue = this.queues.get(conversationId) ?? [];
|
|
46
|
+
queue.push({ ...injection });
|
|
47
|
+
this.queues.set(conversationId, queue);
|
|
48
|
+
}
|
|
49
|
+
drain(conversationId) {
|
|
50
|
+
const queue = this.queues.get(conversationId) ?? [];
|
|
51
|
+
this.queues.delete(conversationId);
|
|
52
|
+
return queue;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Returns the injection only if it can actually be delivered.
|
|
57
|
+
*
|
|
58
|
+
* 🔴 Empty content is REFUSED, not stored. An injection whose content is empty would enter the
|
|
59
|
+
* agent's context as nothing while the record claims a node was pinned — the same lie this module
|
|
60
|
+
* exists to remove, one layer down. Shared with the durable store so a value that could not be
|
|
61
|
+
* appended cannot be read back either.
|
|
62
|
+
*/
|
|
63
|
+
export function validatePendingInjection(value) {
|
|
64
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
65
|
+
return undefined;
|
|
66
|
+
const record = value;
|
|
67
|
+
if (typeof record.content !== 'string' || !record.content)
|
|
68
|
+
return undefined;
|
|
69
|
+
if (record.label !== undefined && typeof record.label !== 'string')
|
|
70
|
+
return undefined;
|
|
71
|
+
if (record.sourceNodeId !== undefined && typeof record.sourceNodeId !== 'string')
|
|
72
|
+
return undefined;
|
|
73
|
+
return {
|
|
74
|
+
content: record.content,
|
|
75
|
+
...(typeof record.label === 'string' ? { label: record.label } : {}),
|
|
76
|
+
...(typeof record.sourceNodeId === 'string' ? { sourceNodeId: record.sourceNodeId } : {}),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=pendingInjections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendingInjections.js","sourceRoot":"","sources":["../../src/sdk/pendingInjections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAgCH;;;;;;GAMG;AACH,MAAM,OAAO,6BAA6B;IAC/B,OAAO,GAAG,KAAK,CAAA;IACP,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAA;IAE/D,MAAM,CAAC,cAAsB,EAAE,SAA2B;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,cAAsB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACnD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACjF,MAAM,MAAM,GAAG,KAAgC,CAAA;IAC/C,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACpF,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAClG,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAA;AACH,CAAC"}
|
|
@@ -139,6 +139,16 @@ export interface SessionOpenRequest {
|
|
|
139
139
|
pty: SessionPty;
|
|
140
140
|
/** Required for `acp`, refused for `native-tui`. */
|
|
141
141
|
protocol?: SessionProtocolChannel;
|
|
142
|
+
/**
|
|
143
|
+
* How to build a protocol channel later, for `session.setMode`.
|
|
144
|
+
*
|
|
145
|
+
* A session that switches INTO `acp` needs a channel it does not have, and
|
|
146
|
+
* one that switched out of `acp` closed the channel it had. Passing the
|
|
147
|
+
* factory rather than a live channel is what makes the switch two-way; a
|
|
148
|
+
* session opened without it can still switch to `native-tui` and will refuse
|
|
149
|
+
* the way back, saying so.
|
|
150
|
+
*/
|
|
151
|
+
createProtocol?: () => SessionProtocolChannel;
|
|
142
152
|
/**
|
|
143
153
|
* How a framed message becomes the text a person reads.
|
|
144
154
|
*
|
|
@@ -173,6 +183,11 @@ export type SessionEvent = {
|
|
|
173
183
|
sessionId: string;
|
|
174
184
|
viewerId: string;
|
|
175
185
|
interventions: number;
|
|
186
|
+
} | {
|
|
187
|
+
type: 'session.mode';
|
|
188
|
+
sessionId: string;
|
|
189
|
+
mode: string;
|
|
190
|
+
hasProtocolChannel: boolean;
|
|
176
191
|
} | {
|
|
177
192
|
type: 'session.released';
|
|
178
193
|
sessionId: string;
|
|
@@ -254,6 +269,25 @@ export declare class AgentSessionService {
|
|
|
254
269
|
* gone" rather than presenting a terminal that appears to start mid-sentence
|
|
255
270
|
* for no reason.
|
|
256
271
|
*/
|
|
272
|
+
/**
|
|
273
|
+
* Change what renders into this session (ADE §2.8, "the user switches").
|
|
274
|
+
*
|
|
275
|
+
* 🔴 Every refusal names WHICH half is missing, because today the common
|
|
276
|
+
* answer is no. Nothing in this repo attaches a vendor TUI to a PTY, so
|
|
277
|
+
* `switchable` is false for every provider and this verb refuses every real
|
|
278
|
+
* call. A bare `ok: false` would read as the switch being broken rather than
|
|
279
|
+
* as there being no second mode to switch to — the difference between "your
|
|
280
|
+
* feature failed" and "this agent has one mode".
|
|
281
|
+
*
|
|
282
|
+
* Re-selecting through `selectSessionRenderMode` rather than comparing
|
|
283
|
+
* `support` here keeps ONE decision: the same function that chose the mode
|
|
284
|
+
* at open decides whether this mode is servable now.
|
|
285
|
+
*/
|
|
286
|
+
setMode(sessionId: string, mode: string): {
|
|
287
|
+
ok: boolean;
|
|
288
|
+
mode?: string;
|
|
289
|
+
reason?: string;
|
|
290
|
+
};
|
|
257
291
|
snapshot(sessionId: string): {
|
|
258
292
|
output: string;
|
|
259
293
|
truncated: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSessionService.d.ts","sourceRoot":"","sources":["../../src/session/AgentSessionService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AgentSessionService.d.ts","sourceRoot":"","sources":["../../src/session/AgentSessionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,9 @@ export class AgentSessionService {
|
|
|
146
146
|
pty: request.pty,
|
|
147
147
|
protocol: request.protocol,
|
|
148
148
|
support: request.support,
|
|
149
|
+
createProtocol: request.createProtocol,
|
|
150
|
+
renderProtocolMessage: request.renderProtocolMessage,
|
|
151
|
+
stopRendering: undefined,
|
|
149
152
|
viewers: new Map(),
|
|
150
153
|
lease: record.lease,
|
|
151
154
|
output: '',
|
|
@@ -178,7 +181,7 @@ export class AgentSessionService {
|
|
|
178
181
|
*/
|
|
179
182
|
if (request.protocol) {
|
|
180
183
|
const render = request.renderProtocolMessage ?? defaultProtocolRender;
|
|
181
|
-
const stopRendering =
|
|
184
|
+
const stopRendering = live.protocol.onMessage((message) => {
|
|
182
185
|
// Rendering must never take the session down. A message this renderer
|
|
183
186
|
// cannot handle is one line lost, not a dead terminal.
|
|
184
187
|
try {
|
|
@@ -206,6 +209,11 @@ export class AgentSessionService {
|
|
|
206
209
|
// stream, not a person. A malformed frame is the agent's problem.
|
|
207
210
|
}
|
|
208
211
|
});
|
|
212
|
+
// Recorded separately so `setMode` can detach the RENDERER without
|
|
213
|
+
// taking retention down with it — leaving the terminal's history intact
|
|
214
|
+
// across a switch, which is the whole reason a viewer switches rather
|
|
215
|
+
// than closing and reopening.
|
|
216
|
+
live.stopRendering = stopRendering;
|
|
209
217
|
const stopRetention = live.unsubscribe;
|
|
210
218
|
live.unsubscribe = () => {
|
|
211
219
|
stopRendering();
|
|
@@ -339,6 +347,82 @@ export class AgentSessionService {
|
|
|
339
347
|
* gone" rather than presenting a terminal that appears to start mid-sentence
|
|
340
348
|
* for no reason.
|
|
341
349
|
*/
|
|
350
|
+
/**
|
|
351
|
+
* Change what renders into this session (ADE §2.8, "the user switches").
|
|
352
|
+
*
|
|
353
|
+
* 🔴 Every refusal names WHICH half is missing, because today the common
|
|
354
|
+
* answer is no. Nothing in this repo attaches a vendor TUI to a PTY, so
|
|
355
|
+
* `switchable` is false for every provider and this verb refuses every real
|
|
356
|
+
* call. A bare `ok: false` would read as the switch being broken rather than
|
|
357
|
+
* as there being no second mode to switch to — the difference between "your
|
|
358
|
+
* feature failed" and "this agent has one mode".
|
|
359
|
+
*
|
|
360
|
+
* Re-selecting through `selectSessionRenderMode` rather than comparing
|
|
361
|
+
* `support` here keeps ONE decision: the same function that chose the mode
|
|
362
|
+
* at open decides whether this mode is servable now.
|
|
363
|
+
*/
|
|
364
|
+
setMode(sessionId, mode) {
|
|
365
|
+
const live = this.#sessions.get(sessionId);
|
|
366
|
+
if (!live)
|
|
367
|
+
return { ok: false, reason: 'no session with that id is open' };
|
|
368
|
+
if (mode !== 'native-tui' && mode !== 'acp') {
|
|
369
|
+
return {
|
|
370
|
+
ok: false,
|
|
371
|
+
mode: live.record.mode,
|
|
372
|
+
reason: `unknown render mode '${mode}'; this session renders 'native-tui' or 'acp'`,
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
// Idempotent by nature — a mode is a set, not an append. Returning ok for
|
|
376
|
+
// a no-op is why this verb needs no command context.
|
|
377
|
+
if (live.record.mode === mode)
|
|
378
|
+
return { ok: true, mode };
|
|
379
|
+
const selection = selectSessionRenderMode(live.support, mode);
|
|
380
|
+
if (!selection.ok)
|
|
381
|
+
return { ok: false, mode: live.record.mode, reason: selection.reason };
|
|
382
|
+
if (mode === 'acp') {
|
|
383
|
+
// A session that switched out of `acp` closed its channel; one that never
|
|
384
|
+
// had it never held one. Either way the factory is the only way back.
|
|
385
|
+
if (!live.createProtocol) {
|
|
386
|
+
return {
|
|
387
|
+
ok: false,
|
|
388
|
+
mode: live.record.mode,
|
|
389
|
+
reason: 'this session was opened without a way to create a protocol channel, so it cannot render the structured stream',
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
const protocol = live.createProtocol();
|
|
393
|
+
live.protocol = protocol;
|
|
394
|
+
const render = live.renderProtocolMessage ?? defaultProtocolRender;
|
|
395
|
+
live.stopRendering = protocol.onMessage((message) => {
|
|
396
|
+
try {
|
|
397
|
+
const text = render(message);
|
|
398
|
+
if (text)
|
|
399
|
+
live.output = capOutput(live.output + text);
|
|
400
|
+
}
|
|
401
|
+
catch {
|
|
402
|
+
// Same silence as `open`: the caller is the agent's stream, not a person.
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
// 🔴 Closed, not merely detached. §2.8's exclusivity is about the PROCESS
|
|
408
|
+
// — a CLI in interactive TUI mode is not also serving ACP — so leaving
|
|
409
|
+
// the channel open would keep a subscription alive against an agent that
|
|
410
|
+
// has stopped speaking it.
|
|
411
|
+
live.stopRendering?.();
|
|
412
|
+
live.stopRendering = undefined;
|
|
413
|
+
live.protocol?.close();
|
|
414
|
+
live.protocol = undefined;
|
|
415
|
+
}
|
|
416
|
+
live.record.mode = mode;
|
|
417
|
+
live.record.hasProtocolChannel = Boolean(live.protocol);
|
|
418
|
+
this.#emit({
|
|
419
|
+
type: 'session.mode',
|
|
420
|
+
sessionId,
|
|
421
|
+
mode,
|
|
422
|
+
hasProtocolChannel: live.record.hasProtocolChannel,
|
|
423
|
+
});
|
|
424
|
+
return { ok: true, mode };
|
|
425
|
+
}
|
|
342
426
|
snapshot(sessionId) {
|
|
343
427
|
const session = this.#sessions.get(sessionId);
|
|
344
428
|
if (!session)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSessionService.js","sourceRoot":"","sources":["../../src/session/AgentSessionService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentSessionService.js","sourceRoot":"","sources":["../../src/session/AgentSessionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SessionPty } from './AgentSessionService.js';
|
|
2
|
+
/**
|
|
3
|
+
* A terminal with the AGENT'S OWN interface running inside it — ADE §2.8
|
|
4
|
+
* `native-tui`.
|
|
5
|
+
*
|
|
6
|
+
* The counterpart to `createBufferedSessionPty`, and the difference is the
|
|
7
|
+
* whole mode: that one is a RENDER TARGET for our drawing of a structured
|
|
8
|
+
* stream, this one is a real pty with the vendor's binary in it. Their `write`
|
|
9
|
+
* behaviours are opposite for the same reason — there, a write means a mode
|
|
10
|
+
* rule broke and it throws; here, a write is a keystroke and it must reach the
|
|
11
|
+
* process.
|
|
12
|
+
*
|
|
13
|
+
* 🔴 The command comes from `AcpAgentConfig.nativeTui`, NOT from
|
|
14
|
+
* `command`/`args`. Those hold the ACP endpoint, which for `claude-local` is
|
|
15
|
+
* our own adapter rather than Claude Code.
|
|
16
|
+
*/
|
|
17
|
+
export interface NativeTuiSpawnRequest {
|
|
18
|
+
command: string;
|
|
19
|
+
args?: undefined | string[];
|
|
20
|
+
cwd?: undefined | string;
|
|
21
|
+
env?: undefined | Record<string, string>;
|
|
22
|
+
cols?: undefined | number;
|
|
23
|
+
rows?: undefined | number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Constructed SYNCHRONOUSLY, spawned asynchronously.
|
|
27
|
+
*
|
|
28
|
+
* `AgentSessionService.open` takes a `SessionPty` and subscribes to it in the
|
|
29
|
+
* same statement, while loading a native module is async. Rather than make
|
|
30
|
+
* every caller await — which would push `openSessionForRun` into an async path
|
|
31
|
+
* and change when a session appears in `session.list` — the handle exists
|
|
32
|
+
* immediately and QUEUES what arrives before the child does.
|
|
33
|
+
*
|
|
34
|
+
* ⚠️ Queued, never dropped and never thrown away. A keystroke typed into a
|
|
35
|
+
* terminal that is still starting is an ordinary thing to do, and losing it
|
|
36
|
+
* silently is the defect `createBufferedSessionPty`'s throwing `write` exists
|
|
37
|
+
* to make impossible in the other mode.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createNativeTuiSessionPty(request: NativeTuiSpawnRequest): SessionPty;
|
|
40
|
+
//# sourceMappingURL=nativeTuiSessionPty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeTuiSessionPty.d.ts","sourceRoot":"","sources":["../../src/session/nativeTuiSessionPty.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACxB,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;CAC1B;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,UAAU,CA4GpF"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { loadNodePty } from './nodePtyLoader.js';
|
|
2
|
+
const DEFAULT_COLS = 120;
|
|
3
|
+
const DEFAULT_ROWS = 30;
|
|
4
|
+
/**
|
|
5
|
+
* Constructed SYNCHRONOUSLY, spawned asynchronously.
|
|
6
|
+
*
|
|
7
|
+
* `AgentSessionService.open` takes a `SessionPty` and subscribes to it in the
|
|
8
|
+
* same statement, while loading a native module is async. Rather than make
|
|
9
|
+
* every caller await — which would push `openSessionForRun` into an async path
|
|
10
|
+
* and change when a session appears in `session.list` — the handle exists
|
|
11
|
+
* immediately and QUEUES what arrives before the child does.
|
|
12
|
+
*
|
|
13
|
+
* ⚠️ Queued, never dropped and never thrown away. A keystroke typed into a
|
|
14
|
+
* terminal that is still starting is an ordinary thing to do, and losing it
|
|
15
|
+
* silently is the defect `createBufferedSessionPty`'s throwing `write` exists
|
|
16
|
+
* to make impossible in the other mode.
|
|
17
|
+
*/
|
|
18
|
+
export function createNativeTuiSessionPty(request) {
|
|
19
|
+
const listeners = new Set();
|
|
20
|
+
const pendingInput = [];
|
|
21
|
+
let pending = { cols: request.cols ?? DEFAULT_COLS, rows: request.rows ?? DEFAULT_ROWS };
|
|
22
|
+
let child;
|
|
23
|
+
let closed = false;
|
|
24
|
+
/**
|
|
25
|
+
* 🔴 Tracked, because a try/catch CANNOT guard a resize on Windows.
|
|
26
|
+
*
|
|
27
|
+
* node-pty's Windows agent defers the resize into a socket callback, so
|
|
28
|
+
* `Cannot resize a pty that has already exited` is thrown ASYNCHRONOUSLY,
|
|
29
|
+
* outside any caller's try/catch — an uncaught exception that takes the
|
|
30
|
+
* host process down. Measured: a full suite run reported it twice.
|
|
31
|
+
*
|
|
32
|
+
* So the guard has to be state, not exception handling.
|
|
33
|
+
*/
|
|
34
|
+
let exited = false;
|
|
35
|
+
const emit = (chunk) => {
|
|
36
|
+
for (const listener of [...listeners]) {
|
|
37
|
+
// One bad listener must not take the terminal down, and must not stop the
|
|
38
|
+
// others from seeing the byte.
|
|
39
|
+
try {
|
|
40
|
+
listener(chunk);
|
|
41
|
+
}
|
|
42
|
+
catch { /* a viewer's problem, not the pty's */ }
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
void loadNodePty().then((loaded) => {
|
|
46
|
+
if (closed)
|
|
47
|
+
return;
|
|
48
|
+
if (!loaded.module) {
|
|
49
|
+
// Reported INTO the terminal, because that is where a person is looking.
|
|
50
|
+
// Failing silently would leave an empty pane indistinguishable from an
|
|
51
|
+
// agent that has not spoken yet.
|
|
52
|
+
emit(`
|
|
53
|
+
[xeno] cannot start this agent's own interface: ${loaded.error}
|
|
54
|
+
`);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
let spawned;
|
|
58
|
+
try {
|
|
59
|
+
spawned = loaded.module.spawn(request.command, request.args ?? [], {
|
|
60
|
+
name: 'xterm-color',
|
|
61
|
+
cols: pending.cols,
|
|
62
|
+
rows: pending.rows,
|
|
63
|
+
...(request.cwd ? { cwd: request.cwd } : {}),
|
|
64
|
+
...(request.env ? { env: request.env } : {}),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
emit(`
|
|
69
|
+
[xeno] ${request.command} could not be started: ${error instanceof Error ? error.message : 'spawn failed'}
|
|
70
|
+
`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (closed) {
|
|
74
|
+
// Raced: closed while the native module was loading. Kill rather than
|
|
75
|
+
// leak a vendor process nobody is attached to.
|
|
76
|
+
try {
|
|
77
|
+
spawned.kill();
|
|
78
|
+
}
|
|
79
|
+
catch { /* already gone */ }
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
spawned.onData((chunk) => emit(chunk));
|
|
83
|
+
spawned.onExit(({ exitCode }) => {
|
|
84
|
+
exited = true;
|
|
85
|
+
child = undefined;
|
|
86
|
+
emit(`
|
|
87
|
+
[xeno] the agent's interface exited (${exitCode}).
|
|
88
|
+
`);
|
|
89
|
+
});
|
|
90
|
+
child = spawned;
|
|
91
|
+
// 🔴 NOT resized here. The size is already in the spawn options above, so a
|
|
92
|
+
// follow-up resize adds nothing — and a short-lived command (the vendor
|
|
93
|
+
// binary printing a version and exiting) can be gone by the time this line
|
|
94
|
+
// runs, which is exactly how the async throw above was reproduced.
|
|
95
|
+
// Drain in order. Out-of-order keystrokes are a different sentence than the
|
|
96
|
+
// one that was typed.
|
|
97
|
+
for (const queued of pendingInput.splice(0))
|
|
98
|
+
spawned.write(queued);
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
write(data) {
|
|
102
|
+
if (closed)
|
|
103
|
+
return;
|
|
104
|
+
if (child)
|
|
105
|
+
child.write(data);
|
|
106
|
+
else
|
|
107
|
+
pendingInput.push(data);
|
|
108
|
+
},
|
|
109
|
+
resize(cols, rows) {
|
|
110
|
+
if (closed)
|
|
111
|
+
return;
|
|
112
|
+
pending = { cols, rows };
|
|
113
|
+
// `exited` first: see its note. The try/catch stays for the synchronous
|
|
114
|
+
// failures it CAN catch, but it is not what makes this safe.
|
|
115
|
+
if (child && !exited) {
|
|
116
|
+
try {
|
|
117
|
+
child.resize(cols, rows);
|
|
118
|
+
}
|
|
119
|
+
catch { /* the child is gone */ }
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
onData(listener) {
|
|
123
|
+
listeners.add(listener);
|
|
124
|
+
return () => { listeners.delete(listener); };
|
|
125
|
+
},
|
|
126
|
+
close() {
|
|
127
|
+
if (closed)
|
|
128
|
+
return;
|
|
129
|
+
closed = true;
|
|
130
|
+
listeners.clear();
|
|
131
|
+
pendingInput.length = 0;
|
|
132
|
+
if (child) {
|
|
133
|
+
try {
|
|
134
|
+
child.kill();
|
|
135
|
+
}
|
|
136
|
+
catch { /* already gone */ }
|
|
137
|
+
child = undefined;
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=nativeTuiSessionPty.js.map
|