@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.
Files changed (124) hide show
  1. package/dist/acp/AcpAgentRegistryService.d.ts +43 -1
  2. package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -1
  3. package/dist/acp/AcpAgentRegistryService.js +200 -1
  4. package/dist/acp/AcpAgentRegistryService.js.map +1 -1
  5. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +66 -0
  6. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -1
  7. package/dist/acp/AcpAgentTurnExecutionAdapter.js +182 -1
  8. package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -1
  9. package/dist/acp/AcpPermissionBridge.d.ts.map +1 -1
  10. package/dist/acp/AcpPermissionBridge.js +3 -3
  11. package/dist/acp/AcpPermissionBridge.js.map +1 -1
  12. package/dist/acp/AcpProcessSupervisor.d.ts +81 -0
  13. package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -1
  14. package/dist/acp/AcpProcessSupervisor.js +176 -2
  15. package/dist/acp/AcpProcessSupervisor.js.map +1 -1
  16. package/dist/acp/AcpProviderCatalogService.d.ts.map +1 -1
  17. package/dist/acp/AcpProviderCatalogService.js +68 -2
  18. package/dist/acp/AcpProviderCatalogService.js.map +1 -1
  19. package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -1
  20. package/dist/acp/AcpRuntimeEventMapper.js +9 -0
  21. package/dist/acp/AcpRuntimeEventMapper.js.map +1 -1
  22. package/dist/acp/AcpSessionService.d.ts +36 -0
  23. package/dist/acp/AcpSessionService.d.ts.map +1 -1
  24. package/dist/acp/AcpSessionService.js +57 -1
  25. package/dist/acp/AcpSessionService.js.map +1 -1
  26. package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -1
  27. package/dist/acp/DurableAcpPermissionPolicyStore.js +5 -3
  28. package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -1
  29. package/dist/acp/acpRedaction.d.ts.map +1 -1
  30. package/dist/acp/acpRedaction.js +2 -0
  31. package/dist/acp/acpRedaction.js.map +1 -1
  32. package/dist/acp/acpTypes.d.ts +111 -1
  33. package/dist/acp/acpTypes.d.ts.map +1 -1
  34. package/dist/acp/acpTypes.js +21 -1
  35. package/dist/acp/acpTypes.js.map +1 -1
  36. package/dist/index.d.ts +108 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +236 -11
  39. package/dist/index.js.map +1 -1
  40. package/dist/isolation/CommandExecution.d.ts +7 -12
  41. package/dist/isolation/CommandExecution.d.ts.map +1 -1
  42. package/dist/isolation/CommandExecution.js +7 -12
  43. package/dist/isolation/CommandExecution.js.map +1 -1
  44. package/dist/isolation/CommandStream.d.ts +100 -0
  45. package/dist/isolation/CommandStream.d.ts.map +1 -0
  46. package/dist/isolation/CommandStream.js +47 -0
  47. package/dist/isolation/CommandStream.js.map +1 -0
  48. package/dist/isolation/RunExecutionEnvironment.d.ts +15 -0
  49. package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -1
  50. package/dist/isolation/RunExecutionEnvironment.js +45 -9
  51. package/dist/isolation/RunExecutionEnvironment.js.map +1 -1
  52. package/dist/isolation/RunIsolationService.d.ts +10 -5
  53. package/dist/isolation/RunIsolationService.d.ts.map +1 -1
  54. package/dist/isolation/RunIsolationService.js +7 -3
  55. package/dist/isolation/RunIsolationService.js.map +1 -1
  56. package/dist/isolation/SandboxCapabilities.d.ts +28 -0
  57. package/dist/isolation/SandboxCapabilities.d.ts.map +1 -0
  58. package/dist/isolation/SandboxCapabilities.js +33 -0
  59. package/dist/isolation/SandboxCapabilities.js.map +1 -0
  60. package/dist/isolation/SandboxCommandExecutor.d.ts +4 -7
  61. package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -1
  62. package/dist/isolation/SandboxCommandExecutor.js +6 -7
  63. package/dist/isolation/SandboxCommandExecutor.js.map +1 -1
  64. package/dist/isolation/SandboxCommandStream.d.ts +38 -0
  65. package/dist/isolation/SandboxCommandStream.d.ts.map +1 -0
  66. package/dist/isolation/SandboxCommandStream.js +232 -0
  67. package/dist/isolation/SandboxCommandStream.js.map +1 -0
  68. package/dist/isolation/shellArgv.d.ts +15 -0
  69. package/dist/isolation/shellArgv.d.ts.map +1 -0
  70. package/dist/isolation/shellArgv.js +31 -0
  71. package/dist/isolation/shellArgv.js.map +1 -0
  72. package/dist/isolation/useIdempotency.d.ts +19 -0
  73. package/dist/isolation/useIdempotency.d.ts.map +1 -0
  74. package/dist/isolation/useIdempotency.js +57 -0
  75. package/dist/isolation/useIdempotency.js.map +1 -0
  76. package/dist/localRpcTransport.d.ts +18 -0
  77. package/dist/localRpcTransport.d.ts.map +1 -1
  78. package/dist/localRpcTransport.js +38 -4
  79. package/dist/localRpcTransport.js.map +1 -1
  80. package/dist/node.d.ts +19 -0
  81. package/dist/node.d.ts.map +1 -1
  82. package/dist/node.js +19 -0
  83. package/dist/node.js.map +1 -1
  84. package/dist/observation/XenoUseRunObserver.d.ts +20 -0
  85. package/dist/observation/XenoUseRunObserver.d.ts.map +1 -1
  86. package/dist/observation/XenoUseRunObserver.js +27 -13
  87. package/dist/observation/XenoUseRunObserver.js.map +1 -1
  88. package/dist/runtime/RuntimeTimelineProjection.d.ts +2 -2
  89. package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -1
  90. package/dist/runtime/RuntimeTimelineProjection.js +196 -1
  91. package/dist/runtime/RuntimeTimelineProjection.js.map +1 -1
  92. package/dist/sdk/DurablePendingInjectionStore.d.ts +24 -0
  93. package/dist/sdk/DurablePendingInjectionStore.d.ts.map +1 -0
  94. package/dist/sdk/DurablePendingInjectionStore.js +103 -0
  95. package/dist/sdk/DurablePendingInjectionStore.js.map +1 -0
  96. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +81 -1
  97. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -1
  98. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +122 -3
  99. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -1
  100. package/dist/sdk/pendingInjections.d.ts +83 -0
  101. package/dist/sdk/pendingInjections.d.ts.map +1 -0
  102. package/dist/sdk/pendingInjections.js +79 -0
  103. package/dist/sdk/pendingInjections.js.map +1 -0
  104. package/dist/session/AgentSessionService.d.ts +34 -0
  105. package/dist/session/AgentSessionService.d.ts.map +1 -1
  106. package/dist/session/AgentSessionService.js +85 -1
  107. package/dist/session/AgentSessionService.js.map +1 -1
  108. package/dist/session/nativeTuiSessionPty.d.ts +40 -0
  109. package/dist/session/nativeTuiSessionPty.d.ts.map +1 -0
  110. package/dist/session/nativeTuiSessionPty.js +142 -0
  111. package/dist/session/nativeTuiSessionPty.js.map +1 -0
  112. package/dist/session/nodePtyLoader.d.ts +23 -0
  113. package/dist/session/nodePtyLoader.d.ts.map +1 -0
  114. package/dist/session/nodePtyLoader.js +41 -0
  115. package/dist/session/nodePtyLoader.js.map +1 -0
  116. package/dist/session/renderSupport.d.ts +34 -0
  117. package/dist/session/renderSupport.d.ts.map +1 -1
  118. package/dist/session/renderSupport.js +39 -1
  119. package/dist/session/renderSupport.js.map +1 -1
  120. package/dist/workspace/WorkspaceHostService.d.ts +27 -2
  121. package/dist/workspace/WorkspaceHostService.d.ts.map +1 -1
  122. package/dist/workspace/WorkspaceHostService.js +221 -25
  123. package/dist/workspace/WorkspaceHostService.js.map +1 -1
  124. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeTimelineProjection.js","sourceRoot":"","sources":["../../src/runtime/RuntimeTimelineProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuntimeTimelineProjection.js","sourceRoot":"","sources":["../../src/runtime/RuntimeTimelineProjection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type PendingInjection, type PendingInjectionStore } from './pendingInjections.js';
2
+ export interface DurablePendingInjectionStoreOptions {
3
+ /** Directory to hold `pending-injections.json`. */
4
+ rootDirectory: string;
5
+ }
6
+ export declare class DurablePendingInjectionStore implements PendingInjectionStore {
7
+ readonly durable = true;
8
+ private readonly filePath;
9
+ private readonly queues;
10
+ /**
11
+ * How many queued nodes were unreadable at startup and are therefore never arriving.
12
+ *
13
+ * ⚠️ Deliberately a count and not a boolean: "some pins were lost" and "eleven pins were lost"
14
+ * are different messages to an operator deciding whether to re-pin.
15
+ */
16
+ readonly droppedOnLoad: number;
17
+ constructor(options: DurablePendingInjectionStoreOptions);
18
+ append(conversationId: string, injection: PendingInjection): void;
19
+ drain(conversationId: string): PendingInjection[];
20
+ private trimConversations;
21
+ private load;
22
+ private persist;
23
+ }
24
+ //# sourceMappingURL=DurablePendingInjectionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DurablePendingInjectionStore.d.ts","sourceRoot":"","sources":["../../src/sdk/DurablePendingInjectionStore.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAkC/B,MAAM,WAAW,mCAAmC;IAClD,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,4BAA6B,YAAW,qBAAqB;IACxE,QAAQ,CAAC,OAAO,QAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;gBAElB,OAAO,EAAE,mCAAmC;IAOxD,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAajE,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAUjD,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,IAAI;IAyBZ,OAAO,CAAC,OAAO;CAWhB"}
@@ -0,0 +1,103 @@
1
+ import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, renameSync, writeFileSync, } from 'node:fs';
2
+ import { dirname, join, resolve } from 'node:path';
3
+ import { validatePendingInjection, } from './pendingInjections.js';
4
+ const MAX_PER_CONVERSATION = 200;
5
+ const MAX_CONVERSATIONS = 500;
6
+ export class DurablePendingInjectionStore {
7
+ durable = true;
8
+ filePath;
9
+ queues = new Map();
10
+ /**
11
+ * How many queued nodes were unreadable at startup and are therefore never arriving.
12
+ *
13
+ * ⚠️ Deliberately a count and not a boolean: "some pins were lost" and "eleven pins were lost"
14
+ * are different messages to an operator deciding whether to re-pin.
15
+ */
16
+ droppedOnLoad;
17
+ constructor(options) {
18
+ const root = resolve(options.rootDirectory);
19
+ mkdirSync(root, { recursive: true });
20
+ this.filePath = join(root, 'pending-injections.json');
21
+ this.droppedOnLoad = this.load();
22
+ }
23
+ append(conversationId, injection) {
24
+ const valid = validatePendingInjection(injection);
25
+ // Refused rather than stored: see `validatePendingInjection`. Storing it would put a row on
26
+ // disk that can never be delivered, which is the defect this class exists to remove.
27
+ if (!valid)
28
+ return;
29
+ const queue = this.queues.get(conversationId) ?? [];
30
+ queue.push(valid);
31
+ if (queue.length > MAX_PER_CONVERSATION)
32
+ queue.splice(0, queue.length - MAX_PER_CONVERSATION);
33
+ this.queues.set(conversationId, queue);
34
+ this.trimConversations();
35
+ this.persist();
36
+ }
37
+ drain(conversationId) {
38
+ const queue = this.queues.get(conversationId) ?? [];
39
+ if (!queue.length)
40
+ return [];
41
+ this.queues.delete(conversationId);
42
+ // COMMITTED BEFORE RETURNING. At-most-once is the adapter's contract, so the removal must be
43
+ // durable before the caller can act on the content; the reverse order re-injects on restart.
44
+ this.persist();
45
+ return queue;
46
+ }
47
+ trimConversations() {
48
+ if (this.queues.size <= MAX_CONVERSATIONS)
49
+ return;
50
+ for (const key of [...this.queues.keys()].slice(0, this.queues.size - MAX_CONVERSATIONS)) {
51
+ this.queues.delete(key);
52
+ }
53
+ }
54
+ load() {
55
+ let dropped = 0;
56
+ try {
57
+ if (!existsSync(this.filePath))
58
+ return 0;
59
+ const parsed = JSON.parse(readFileSync(this.filePath, 'utf8'));
60
+ if (parsed.version !== 1 || !parsed.conversations || typeof parsed.conversations !== 'object')
61
+ return 0;
62
+ for (const [conversationId, candidates] of Object.entries(parsed.conversations)) {
63
+ if (!conversationId || !Array.isArray(candidates))
64
+ continue;
65
+ const queue = [];
66
+ for (const candidate of candidates.slice(0, MAX_PER_CONVERSATION)) {
67
+ const injection = validatePendingInjection(candidate);
68
+ if (injection)
69
+ queue.push(injection);
70
+ else
71
+ dropped += 1;
72
+ }
73
+ if (queue.length)
74
+ this.queues.set(conversationId, queue);
75
+ }
76
+ }
77
+ catch {
78
+ // An unreadable file yields no pins. Delivering a partially-parsed node into a context window
79
+ // is the one outcome that cannot be undone by re-pinning.
80
+ this.queues.clear();
81
+ return dropped;
82
+ }
83
+ return dropped;
84
+ }
85
+ persist() {
86
+ const conversations = {};
87
+ for (const [conversationId, queue] of this.queues)
88
+ conversations[conversationId] = queue;
89
+ const payload = { version: 1, conversations };
90
+ mkdirSync(dirname(this.filePath), { recursive: true });
91
+ const temporary = `${this.filePath}.tmp-${process.pid}-${this.queues.size}`;
92
+ writeFileSync(temporary, JSON.stringify(payload, null, 2), 'utf8');
93
+ const descriptor = openSync(temporary, 'r+');
94
+ try {
95
+ fsyncSync(descriptor);
96
+ }
97
+ finally {
98
+ closeSync(descriptor);
99
+ }
100
+ renameSync(temporary, this.filePath);
101
+ }
102
+ }
103
+ //# sourceMappingURL=DurablePendingInjectionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DurablePendingInjectionStore.js","sourceRoot":"","sources":["../../src/sdk/DurablePendingInjectionStore.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AgentCapabilityMatrix, AgentModelDescriptor, AgentRuntimeEventEnve
2
2
  import { type CoordinationToolDefinition } from '../coordination/coordinationTools.js';
3
3
  import { type CoordinationLanePort } from '../coordination/laneBridge.js';
4
4
  import type { RunActivityListener } from '../coordination/query.js';
5
+ import { type PendingInjectionStore } from './pendingInjections.js';
5
6
  import type { AgentTurnExecutionAdapter, AgentTurnExecutionContext } from '../index.js';
6
7
  export declare const SDK_NATIVE_AGENT_TURN_ADAPTER_ID = "sdk-native-agent-turn-v1";
7
8
  export interface SdkNativeAgentRunInput {
@@ -17,6 +18,21 @@ export interface SdkNativeAgentRunInput {
17
18
  role: 'user' | 'assistant';
18
19
  content: string;
19
20
  }>;
21
+ /**
22
+ * XENO SPAWN §2.2 pin-forward, queued while no turn was running.
23
+ *
24
+ * ⚠️ NOT part of `messages`, deliberately. The runner hands these to the SDK's own
25
+ * `AgentLoop.injectContext()`, so a node pinned between turns takes the IDENTICAL path as one
26
+ * pinned mid-turn — same synthetic-user-message shape, same `context.injected` emission with a
27
+ * real message id, same refusal to splice into an open tool exchange. Prepending them to
28
+ * `messages` here would have been fewer lines and a second, silently divergent representation of
29
+ * the same thing.
30
+ */
31
+ injections?: Array<{
32
+ content: string;
33
+ label?: string;
34
+ sourceNodeId?: string;
35
+ }>;
20
36
  systemPrompt?: string;
21
37
  maxIterations: number;
22
38
  enableThinking: boolean;
@@ -58,6 +74,25 @@ export interface SdkNativeAgentRunContext {
58
74
  reportRunActivity?: (state: 'running' | 'awaiting-approval') => void;
59
75
  }
60
76
  export interface SdkNativeAgentRunner {
77
+ /**
78
+ * Push a pinned node into the run currently executing for a conversation (XENO SPAWN §2.2).
79
+ *
80
+ * ⚠️ OPTIONAL — a runner that cannot reach its loop simply omits it, and the adapter's
81
+ * capability declaration follows from whether the ADAPTER implements the hook.
82
+ *
83
+ * 🔴 MID-TURN ONLY on this lane, and structurally so: the SDK `AgentLoop` is constructed per run
84
+ * and awaited, with history re-sent from the host's record next turn, so between turns there is
85
+ * no loop in existence. Returning `undefined` means "nothing is running" — a fact the caller
86
+ * turns into a refusal that names it.
87
+ */
88
+ injectContext?(input: {
89
+ conversationId: string;
90
+ content: string;
91
+ sourceNodeId?: string;
92
+ label?: string;
93
+ }): Promise<{
94
+ status: 'injected' | 'deferred';
95
+ } | undefined>;
61
96
  run(input: SdkNativeAgentRunInput, context: SdkNativeAgentRunContext): Promise<void>;
62
97
  cancel?(requestId: string, conversationId: string, reason?: string): Promise<void> | void;
63
98
  close?(): Promise<void> | void;
@@ -68,6 +103,14 @@ export interface SdkNativeProviderDescriptorOptions {
68
103
  safeUnavailableReason?: string;
69
104
  displayName?: string;
70
105
  capabilities?: AgentCapabilityMatrix;
106
+ /**
107
+ * Whether the composition gave the SDK lane a durable pin queue (XENO SPAWN §2.2).
108
+ *
109
+ * Defaults to false, which is the conservative reading: a descriptor built without saying so
110
+ * describes the in-memory behaviour, so an omitted flag can only UNDERSTATE what the host does.
111
+ * Pass `pendingInjectionStore.durable` rather than a literal, so one object decides.
112
+ */
113
+ durablePendingInjections?: boolean;
71
114
  }
72
115
  /**
73
116
  * Portable host adapter for the mature SDK loop. The loop itself is injected by
@@ -92,6 +135,25 @@ export declare class SdkNativeAgentTurnExecutionAdapter implements AgentTurnExec
92
135
  */
93
136
  private readonly onRunActivity?;
94
137
  readonly id = "sdk-native-agent-turn-v1";
138
+ /**
139
+ * Nodes pinned while no turn was running, waiting for the next one (XENO SPAWN §2.2).
140
+ *
141
+ * ⚠️ Keyed by conversation and drained on execute, so a pin cannot leak into a different
142
+ * conversation and cannot be delivered twice. This adapter is composed ONCE for the whole host
143
+ * (`composeHost.ts`), so an instance field is shared across every conversation — which is why
144
+ * the key is not optional and why draining is not "clear the map".
145
+ *
146
+ * ⚠️ DURABILITY IS THE STORE'S, NOT THIS FIELD'S — and the default is still in-memory.
147
+ * A host that passes `DurablePendingInjectionStore` survives a restart; one that passes nothing
148
+ * behaves exactly as this adapter always has. That default is deliberate: `host` must not require
149
+ * a filesystem, and a test harness or embedded surface legitimately has no durable root.
150
+ *
151
+ * ⚠️ The remaining bound is inherent and is NOT a storage problem: a conversation that never
152
+ * takes another turn never receives its pin, because delivery happens at the start of a turn.
153
+ * The `deferred` status is what keeps that honest to a surface — it says accepted-not-yet-arrived,
154
+ * and `context.injected` fires only on actual arrival.
155
+ */
156
+ private readonly pendingInjections;
95
157
  constructor(runner: SdkNativeAgentRunner,
96
158
  /**
97
159
  * Coordination — §5.2b. The PORT, not the service: what an agent may do is
@@ -107,8 +169,26 @@ export declare class SdkNativeAgentTurnExecutionAdapter implements AgentTurnExec
107
169
  * this one did not, so an SDK run blocked on a human told its peers it was
108
170
  * busy — the same defect, at the other door.
109
171
  */
110
- onRunActivity?: RunActivityListener | undefined);
172
+ onRunActivity?: RunActivityListener | undefined,
173
+ /**
174
+ * Where pinned nodes wait for the next turn (§2.2).
175
+ *
176
+ * Absent means in-memory, which is what this adapter did before the port existed — so an
177
+ * omitted argument preserves the previous behaviour by construction rather than by promise.
178
+ * A host with a durable root passes `DurablePendingInjectionStore` and a pin survives restart.
179
+ */
180
+ pendingInjectionStore?: PendingInjectionStore);
111
181
  supports(provider: AgentRuntimeProviderDescriptor): boolean;
182
+ /**
183
+ * Pin-forward on the SDK-native lane (XENO SPAWN §2.2).
184
+ *
185
+ * 🔴 THROWING IS THE REFUSAL CHANNEL — the coordinator reports success for anything that
186
+ * returns, so a refusal that returned would tell a user their node was pinned when it was not.
187
+ */
188
+ injectContext(request: Parameters<NonNullable<AgentTurnExecutionAdapter['injectContext']>>[0]): Promise<{
189
+ messageId?: string;
190
+ status?: 'injected' | 'deferred';
191
+ }>;
112
192
  execute(request: Parameters<AgentTurnExecutionAdapter['execute']>[0], _provider: AgentRuntimeProviderDescriptor, selection: Parameters<AgentTurnExecutionAdapter['execute']>[2], context: AgentTurnExecutionContext): Promise<void>;
113
193
  cancel(request: Parameters<NonNullable<AgentTurnExecutionAdapter['cancel']>>[0]): Promise<void>;
114
194
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SdkNativeAgentTurnExecutionAdapter.d.ts","sourceRoot":"","sources":["../../src/sdk/SdkNativeAgentTurnExecutionAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkNativeAgentTurnExecutionAdapter.d.ts","sourceRoot":"","sources":["../../src/sdk/SdkNativeAgentTurnExecutionAdapter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { defaultRunIdOf } from '@xenosystem/agent-interface-contract';
3
3
  import { createCapabilityMatrix } from '@xenosystem/agent-interface-core';
4
4
  import { createCoordinationTools } from '../coordination/coordinationTools.js';
5
5
  import { HostCoordinationLaneBridge } from '../coordination/laneBridge.js';
6
+ import { InMemoryPendingInjectionStore, } from './pendingInjections.js';
6
7
  export const SDK_NATIVE_AGENT_TURN_ADAPTER_ID = 'sdk-native-agent-turn-v1';
7
8
  /**
8
9
  * Portable host adapter for the mature SDK loop. The loop itself is injected by
@@ -14,6 +15,25 @@ export class SdkNativeAgentTurnExecutionAdapter {
14
15
  coordinationPort;
15
16
  onRunActivity;
16
17
  id = SDK_NATIVE_AGENT_TURN_ADAPTER_ID;
18
+ /**
19
+ * Nodes pinned while no turn was running, waiting for the next one (XENO SPAWN §2.2).
20
+ *
21
+ * ⚠️ Keyed by conversation and drained on execute, so a pin cannot leak into a different
22
+ * conversation and cannot be delivered twice. This adapter is composed ONCE for the whole host
23
+ * (`composeHost.ts`), so an instance field is shared across every conversation — which is why
24
+ * the key is not optional and why draining is not "clear the map".
25
+ *
26
+ * ⚠️ DURABILITY IS THE STORE'S, NOT THIS FIELD'S — and the default is still in-memory.
27
+ * A host that passes `DurablePendingInjectionStore` survives a restart; one that passes nothing
28
+ * behaves exactly as this adapter always has. That default is deliberate: `host` must not require
29
+ * a filesystem, and a test harness or embedded surface legitimately has no durable root.
30
+ *
31
+ * ⚠️ The remaining bound is inherent and is NOT a storage problem: a conversation that never
32
+ * takes another turn never receives its pin, because delivery happens at the start of a turn.
33
+ * The `deferred` status is what keeps that honest to a surface — it says accepted-not-yet-arrived,
34
+ * and `context.injected` fires only on actual arrival.
35
+ */
36
+ pendingInjections;
17
37
  constructor(runner,
18
38
  /**
19
39
  * Coordination — §5.2b. The PORT, not the service: what an agent may do is
@@ -29,14 +49,67 @@ export class SdkNativeAgentTurnExecutionAdapter {
29
49
  * this one did not, so an SDK run blocked on a human told its peers it was
30
50
  * busy — the same defect, at the other door.
31
51
  */
32
- onRunActivity) {
52
+ onRunActivity,
53
+ /**
54
+ * Where pinned nodes wait for the next turn (§2.2).
55
+ *
56
+ * Absent means in-memory, which is what this adapter did before the port existed — so an
57
+ * omitted argument preserves the previous behaviour by construction rather than by promise.
58
+ * A host with a durable root passes `DurablePendingInjectionStore` and a pin survives restart.
59
+ */
60
+ pendingInjectionStore) {
33
61
  this.runner = runner;
34
62
  this.coordinationPort = coordinationPort;
35
63
  this.onRunActivity = onRunActivity;
64
+ this.pendingInjections = pendingInjectionStore ?? new InMemoryPendingInjectionStore();
36
65
  }
37
66
  supports(provider) {
38
67
  return provider.kind === 'sdk-native';
39
68
  }
69
+ /**
70
+ * Pin-forward on the SDK-native lane (XENO SPAWN §2.2).
71
+ *
72
+ * 🔴 THROWING IS THE REFUSAL CHANNEL — the coordinator reports success for anything that
73
+ * returns, so a refusal that returned would tell a user their node was pinned when it was not.
74
+ */
75
+ async injectContext(request) {
76
+ if (!this.runner.injectContext) {
77
+ throw new Error('This runtime cannot take injected context.');
78
+ }
79
+ const outcome = await this.runner.injectContext({
80
+ conversationId: request.conversationId,
81
+ content: request.content,
82
+ ...(request.sourceNodeId === undefined ? {} : { sourceNodeId: request.sourceNodeId }),
83
+ ...(request.label === undefined ? {} : { label: request.label }),
84
+ });
85
+ if (!outcome) {
86
+ /**
87
+ * 🔴 QUEUED, NOT REFUSED — and this reverses the previous behaviour deliberately.
88
+ *
89
+ * The loop is per-turn on this lane, so "no turn is running" is the ORDINARY state, and it
90
+ * is also §2.2's normal case: an operator pins a node so the agent has it for whatever comes
91
+ * next. This used to throw and tell the user to "send it as the next prompt" — which is the
92
+ * one thing §2.2 exists to prevent, because a prompt makes the agent ANSWER the pinned node
93
+ * and puts a turn on the timeline nobody asked for.
94
+ *
95
+ * ⚠️ `deferred` is the honest status and it already existed in the contract for the mid-turn
96
+ * case (queued behind an open tool exchange). Same meaning at a different scale: accepted,
97
+ * not yet in context. The UI changes its verb on it, so a surface will not claim the node is
98
+ * pinned when it is waiting.
99
+ *
100
+ * ⚠️ NO `messageId`, on purpose. There is no message yet — one is minted when the content
101
+ * actually enters the context at the next turn. §3 makes this graph a record, and a record
102
+ * of an intention is not a record of an arrival.
103
+ */
104
+ this.pendingInjections.append(request.conversationId, {
105
+ content: request.content,
106
+ ...(request.label === undefined ? {} : { label: request.label }),
107
+ ...(request.sourceNodeId === undefined ? {} : { sourceNodeId: request.sourceNodeId }),
108
+ });
109
+ return { status: 'deferred' };
110
+ }
111
+ return { status: outcome.status };
112
+ }
40
113
  async execute(request, _provider, selection, context) {
41
114
  const model = selection.runtimeModelId || selection.modelId;
42
115
  if (!model)
@@ -53,6 +126,10 @@ export class SdkNativeAgentTurnExecutionAdapter {
53
126
  });
54
127
  const history = (request.history || []).map((message) => ({ ...message }));
55
128
  const messages = [...history, { role: 'user', content: request.prompt }];
129
+ // Drained, not copied: a pinned node arrives ONCE. Re-delivering it on every subsequent turn
130
+ // would make the agent's context grow without anyone asking, and would emit a fresh
131
+ // `context.injected` each time for a node that was pinned once.
132
+ const injections = this.pendingInjections.drain(request.conversationId);
56
133
  await this.runner.run({
57
134
  requestId: request.requestId,
58
135
  conversationId: request.conversationId,
@@ -65,6 +142,7 @@ export class SdkNativeAgentTurnExecutionAdapter {
65
142
  ...(request.agentId ? { agentId: request.agentId } : {}),
66
143
  model,
67
144
  messages,
145
+ ...(injections.length ? { injections } : {}),
68
146
  ...(request.systemPrompt ? { systemPrompt: request.systemPrompt } : {}),
69
147
  maxIterations: request.execution?.maxIterations || 10,
70
148
  enableThinking: request.execution?.enableThinking === true,
@@ -136,13 +214,13 @@ export function createSdkNativeRuntimeProviderDescriptor(options) {
136
214
  ...(runnable ? {} : { safeUnavailableReason: reason }),
137
215
  capabilities: options.capabilities
138
216
  ? structuredClone(options.capabilities)
139
- : sdkNativeCapabilities(runnable),
217
+ : sdkNativeCapabilities(runnable, options.durablePendingInjections === true),
140
218
  models,
141
219
  ...(defaultModelId ? { defaultModelId } : {}),
142
220
  catalogRevision: revisionFor({ runnable, models }),
143
221
  };
144
222
  }
145
- function sdkNativeCapabilities(runnable) {
223
+ function sdkNativeCapabilities(runnable, durablePendingInjections) {
146
224
  if (!runnable)
147
225
  return createCapabilityMatrix({}, { status: 'blocked', source: 'policy' });
148
226
  const provider = { status: 'available', source: 'provider' };
@@ -183,6 +261,47 @@ function sdkNativeCapabilities(runnable) {
183
261
  source: 'host',
184
262
  reason: 'This runtime cannot accept a correction mid-turn. Queue the instruction instead.',
185
263
  },
264
+ /**
265
+ * 🔴 `degraded`, and BOTH cases are now served — which is a change from what this said.
266
+ *
267
+ * ⚠️ The previous text opened *"`unsupported`, and the missing piece is OURS"* while the code
268
+ * beneath it set `degraded`. A docblock that contradicts its own literal is worse than no
269
+ * docblock: it is the version a reader trusts, and it survived because nothing compares prose
270
+ * to the value it describes.
271
+ *
272
+ * It also declared the between-turns gap STRUCTURAL — *"there is no loop in existence to
273
+ * reach"* — and that was true of the mechanism, not of the product. It is built now: a node
274
+ * pinned while nothing is running is QUEUED on the conversation and delivered through
275
+ * `AgentLoop.injectContext()` at the start of the next turn, the identical path a mid-turn pin
276
+ * takes. §2.2's normal case is exactly this one — an operator pinning a node so the agent has
277
+ * it for whatever comes next — so the lane was refusing the common case and serving the exotic
278
+ * one. The old advice, *"send it as the next prompt instead"*, is the very thing §2.2 exists to
279
+ * prevent: a prompt makes the agent ANSWER the node and puts an unasked-for turn on the
280
+ * timeline.
281
+ *
282
+ * 🔴 `degraded` rather than `available`, and the remaining bound is honest rather than
283
+ * unfinished: delivery happens at the START of a turn, so a conversation that never takes
284
+ * another one never receives its pin. That is inherent to what a pin is, not a storage gap.
285
+ *
286
+ * ⚠️ Durability is no longer part of that bound and is no longer asserted in prose — the
287
+ * reason is DERIVED from the composed store. A host with `DurablePendingInjectionStore`
288
+ * survives a restart; one that composes nothing keeps the old in-memory behaviour, and the
289
+ * declaration says which. The ACP lane has no equivalent bound because its agent PROCESS
290
+ * persists.
291
+ *
292
+ * ⚠️ An injection arriving while tool calls are outstanding is QUEUED, not appended — the SDK
293
+ * defers it to the next safe boundary, because appending there makes the runtime fabricate
294
+ * `interrupted` tool results and discard the real ones. The result says which happened, and
295
+ * `deferred` now covers both waits: behind an open tool exchange, and between turns.
296
+ */
297
+ 'context.inject': {
298
+ status: 'degraded',
299
+ source: 'host',
300
+ reason: 'A pinned node reaches this agent while a turn is running, and is queued to the next safe boundary if tool calls are outstanding. Pinned between turns it is held on the conversation and delivered at the start of the next turn; '
301
+ + (durablePendingInjections
302
+ ? 'that queue is persisted, so it survives a host restart.'
303
+ : 'that queue is in memory, so it does not survive a host restart.'),
304
+ },
186
305
  'tools.file.read': host,
187
306
  'tools.file.write': host,
188
307
  'tools.patch': host,