@xenosystem/acp-core 0.2.0 → 0.2.2

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.
@@ -5,8 +5,10 @@
5
5
  * XENO Hub. The official ACP SDK owns JSON-RPC framing and validation; embedders provide
6
6
  * permission and extension handlers without reimplementing the protocol.
7
7
  */
8
- import type { ClientCapabilities, ContentBlock, InitializeRequest, InitializeResponse, McpServer, PromptResponse, RequestPermissionRequest, RequestPermissionResponse, SessionNotification } from "@agentclientprotocol/sdk";
9
- import type { AgentDef, AgentStatus } from "./types.js";
8
+ import type { ClientCapabilities, ContentBlock, InitializeRequest, InitializeResponse, ListSessionsRequest, ListSessionsResponse, McpServer, PromptResponse, RequestPermissionRequest, RequestPermissionResponse, SessionNotification } from "@agentclientprotocol/sdk";
9
+ import { type AgentDef, type AgentResumeSessionOptions, type AgentStatus } from "./types.js";
10
+ export type { AgentResumeSessionOptions } from "./types.js";
11
+ export { XENO_SESSION_RESUME_META_KEY } from "./types.js";
10
12
  import { Session } from "./session.js";
11
13
  import type { Logger } from "./logger.js";
12
14
  export interface AgentProcessOptions {
@@ -82,12 +84,115 @@ export declare class AgentProcess {
82
84
  private handleExit;
83
85
  /** Create a fresh ACP session. Operator-supplied workspaces are never deleted by core. */
84
86
  createSession(overrideOrOptions?: string | AgentSessionOptions): Promise<Session>;
87
+ /**
88
+ * Resume an existing ACP session.
89
+ *
90
+ * - If the agent advertises official `sessionCapabilities.resume`, calls the official SDK `resumeSession` operation.
91
+ * - If official resume is absent, falls back to compatibility `newSession` ONLY when validated bounded
92
+ * `_meta["xeno.dev/session-resume"]` metadata is explicitly supplied.
93
+ * - Fails closed if neither official capability nor valid compatibility metadata is present.
94
+ */
95
+ resumeSession(sessionIdOrOptions: string | AgentResumeSessionOptions, maybeOptions?: AgentResumeSessionOptions): Promise<Session>;
96
+ /**
97
+ * List existing sessions from the agent via official ACP `session/list`.
98
+ * Only available when the agent advertises `sessionCapabilities.list`.
99
+ */
100
+ listSessions(params?: ListSessionsRequest): Promise<ListSessionsResponse>;
85
101
  /** Drive a prompt without closing the ACP session, for stateful embedding hosts. */
86
102
  promptSession(session: Session, prompt: ContentBlock[], options?: AgentPromptOptions): Promise<PromptResponse>;
87
103
  cancelSession(sessionId: string): Promise<void>;
88
104
  /** Drive an ephemeral prompt and close its event queue/workspace. */
89
105
  runPrompt(session: Session, prompt: ContentBlock[], signal?: AbortSignal): Promise<void>;
90
106
  dispose(): Promise<void>;
107
+ /**
108
+ * Does the agent advertise official ACP `session/resume` support?
109
+ * Read from `agentCapabilities.sessionCapabilities.resume` at `initialize`.
110
+ */
111
+ supportsOfficialResume(): boolean;
112
+ /**
113
+ * Does the agent advertise official ACP `session/list` support?
114
+ * Read from `agentCapabilities.sessionCapabilities.list` at `initialize`.
115
+ */
116
+ supportsListSessions(): boolean;
117
+ /**
118
+ * Does the agent advertise mid-turn correction? Read from what it said at `initialize`.
119
+ *
120
+ * ⚠️ Checked BEFORE sending, so a provider that cannot steer is refused with a reason that
121
+ * names it — rather than a JSON-RPC "method not found", which names nothing an operator can act
122
+ * on.
123
+ */
124
+ supportsSteer(): boolean;
125
+ /**
126
+ * Does the agent accept content pushed into its context WITHOUT it being a turn?
127
+ * (XENO SPAWN §2.2 pin-forward, `xeno/context.inject`.)
128
+ *
129
+ * ⚠️ Checked BEFORE sending, same as `supportsSteer` — an agent that cannot take injected
130
+ * context is refused with a reason that names it, rather than a JSON-RPC "method not found"
131
+ * that names nothing an operator can act on.
132
+ */
133
+ supportsContextInject(): boolean;
134
+ /**
135
+ * One reader for the whole `_meta["xeno.dev"]` capability family.
136
+ *
137
+ * 🔴 The steer check was written inline. A second inline copy for injection would be a second
138
+ * place for the namespace key and the shape guards to drift, and the drift would be SILENT —
139
+ * a mistyped key reads as "the agent does not support it", which is indistinguishable from the
140
+ * truth for every agent that genuinely does not.
141
+ */
142
+ private xenoCapability;
143
+ /**
144
+ * The ONE place this client reaches the vendor SDK's private connection.
145
+ *
146
+ * 🔴 The `steer` docblock already claimed this was done "DELIBERATELY AND IN ONE PLACE", and a
147
+ * second inline copy for injection would have made that comment false while looking harmless.
148
+ * `ClientSideConnection` exposes only typed standard methods; its internal `Connection` — which
149
+ * does have a generic `sendRequest` — is private, and that is the only route an extension method
150
+ * has through this client.
151
+ *
152
+ * ⚠️ Reaching into a private field breaks silently on a dependency upgrade, so
153
+ * `tests/core/steerEscapeHatch.test.ts` asserts the hatch still exists on the INSTALLED SDK.
154
+ * Every extension method now shares that single guard rather than each needing its own.
155
+ */
156
+ private extensionHatch;
157
+ /**
158
+ * Deliver a correction into a RUNNING prompt (ADE §5.5, `session/steer`).
159
+ *
160
+ * 🔴 REACHES A PRIVATE FIELD, DELIBERATELY AND IN ONE PLACE. The vendor SDK's
161
+ * `ClientSideConnection` exposes only typed standard methods; its internal `Connection` — which
162
+ * does have a generic `sendRequest` — is private. That is the only route for an extension method
163
+ * through this client.
164
+ *
165
+ * ⚠️ Reaching into a private field breaks silently on a dependency upgrade, so
166
+ * `tests/core/steerEscapeHatch.test.ts` asserts the hatch still exists on the INSTALLED SDK. An
167
+ * upgrade that removes it fails loudly, instead of being discovered by an operator whose
168
+ * intervention did nothing.
169
+ */
170
+ steer(sessionId: string, instruction: string): Promise<{
171
+ accepted: boolean;
172
+ reason?: string;
173
+ }>;
174
+ /**
175
+ * Push content back into a session's context WITHOUT it being a turn
176
+ * (XENO SPAWN §2.2 pin-forward, `xeno/context.inject`).
177
+ *
178
+ * 🔴 THIS IS NOT `session/prompt`, AND THE DIFFERENCE IS THE FEATURE. §2.2 makes every canvas
179
+ * node addressable so any node can re-enter any agent's context on demand — the canvas becoming
180
+ * the memory the agents are missing. Sending the node as a prompt instead makes the agent ANSWER
181
+ * it: a pinned design decision arrives as a user message, draws a reply nobody asked for, and
182
+ * puts a turn on the timeline the user did not intend.
183
+ *
184
+ * ⚠️ Refusals are RESULTS, never thrown. A caller that believes a node was pinned when it was
185
+ * not will reason about what the agent knows using a graph edge that does not exist — and §3
186
+ * makes that graph a RECORD, so the wrong answer propagates.
187
+ */
188
+ injectContext(sessionId: string, content: string, options?: {
189
+ label?: string;
190
+ sourceNodeId?: string;
191
+ }): Promise<{
192
+ accepted: boolean;
193
+ reason?: string;
194
+ messageId?: string;
195
+ }>;
91
196
  private supportsAdditionalDirectories;
92
197
  private observeStdout;
93
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-process.d.ts","sourceRoot":"","sources":["../src/agent-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-process.d.ts","sourceRoot":"","sources":["../src/agent-process.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  import { spawn } from "node:child_process";
9
9
  import { Readable, Writable } from "node:stream";
10
10
  import * as acp from "@agentclientprotocol/sdk";
11
+ import { XENO_SESSION_RESUME_META_KEY, } from "./types.js";
12
+ export { XENO_SESSION_RESUME_META_KEY } from "./types.js";
11
13
  import { Session } from "./session.js";
12
14
  import { createClientHandler } from "./capabilities.js";
13
15
  import { createWorkspace } from "./workspace.js";
@@ -232,6 +234,116 @@ export class AgentProcess {
232
234
  this.sessions.set(response.sessionId, session);
233
235
  return session;
234
236
  }
237
+ /**
238
+ * Resume an existing ACP session.
239
+ *
240
+ * - If the agent advertises official `sessionCapabilities.resume`, calls the official SDK `resumeSession` operation.
241
+ * - If official resume is absent, falls back to compatibility `newSession` ONLY when validated bounded
242
+ * `_meta["xeno.dev/session-resume"]` metadata is explicitly supplied.
243
+ * - Fails closed if neither official capability nor valid compatibility metadata is present.
244
+ */
245
+ async resumeSession(sessionIdOrOptions, maybeOptions) {
246
+ await this.ensureReady();
247
+ if (!this.conn)
248
+ throw new Error(`agent ${this.def.id} is not ready`);
249
+ let sessionId;
250
+ let options;
251
+ if (typeof sessionIdOrOptions === "string") {
252
+ sessionId = sessionIdOrOptions.trim();
253
+ options = maybeOptions ?? {};
254
+ }
255
+ else if (sessionIdOrOptions && typeof sessionIdOrOptions === "object") {
256
+ options = sessionIdOrOptions;
257
+ sessionId = typeof options.sessionId === "string" ? options.sessionId.trim() : "";
258
+ }
259
+ else {
260
+ throw new Error("sessionId is required to resume a session");
261
+ }
262
+ if (!sessionId) {
263
+ throw new Error("sessionId is required to resume a session");
264
+ }
265
+ const workspace = createWorkspace(this.workspaceRoot, this.def.id, `s-${Date.now().toString(36)}-${Math.floor(performance.now())}`, {
266
+ keep: this.keepWorkspaces,
267
+ ...(options.workspace ? { override: options.workspace } : {}),
268
+ });
269
+ if (this.supportsOfficialResume()) {
270
+ try {
271
+ await this.conn.resumeSession({
272
+ sessionId,
273
+ cwd: workspace.dir,
274
+ mcpServers: options.mcpServers ?? [],
275
+ ...(options.additionalDirectories?.length && this.supportsAdditionalDirectories()
276
+ ? { additionalDirectories: [...new Set(options.additionalDirectories)] }
277
+ : {}),
278
+ ...(options._meta ? { _meta: options._meta } : {}),
279
+ });
280
+ }
281
+ catch (err) {
282
+ workspace.cleanup();
283
+ const message = err.message ?? String(err);
284
+ if (/auth/i.test(message)) {
285
+ this.state = "needs-auth";
286
+ this.lastError = message;
287
+ throw err;
288
+ }
289
+ throw err;
290
+ }
291
+ const session = new Session(sessionId, workspace);
292
+ this.sessions.set(sessionId, session);
293
+ return session;
294
+ }
295
+ // Compatibility resume path: official resume is not advertised.
296
+ // Must fail closed unless valid bounded compatibility metadata was explicitly supplied.
297
+ const validatedCompat = validateSessionResumeMetadata(options._meta, this.def.id);
298
+ if (!validatedCompat) {
299
+ workspace.cleanup();
300
+ throw new Error(`Agent '${this.def.id}' does not advertise official ACP session resume and no valid compatibility metadata ('${XENO_SESSION_RESUME_META_KEY}') was provided.`);
301
+ }
302
+ let response;
303
+ try {
304
+ response = await this.conn.newSession({
305
+ cwd: workspace.dir,
306
+ mcpServers: options.mcpServers ?? [],
307
+ ...(options.additionalDirectories?.length && this.supportsAdditionalDirectories()
308
+ ? { additionalDirectories: [...new Set(options.additionalDirectories)] }
309
+ : {}),
310
+ _meta: {
311
+ ...(options._meta ?? {}),
312
+ [XENO_SESSION_RESUME_META_KEY]: {
313
+ schemaVersion: 1,
314
+ providerId: validatedCompat.providerId,
315
+ nativeSessionId: validatedCompat.nativeSessionId,
316
+ },
317
+ },
318
+ });
319
+ }
320
+ catch (err) {
321
+ workspace.cleanup();
322
+ const message = err.message ?? String(err);
323
+ if (/auth/i.test(message)) {
324
+ this.state = "needs-auth";
325
+ this.lastError = message;
326
+ throw err;
327
+ }
328
+ throw err;
329
+ }
330
+ const session = new Session(response.sessionId, workspace);
331
+ this.sessions.set(response.sessionId, session);
332
+ return session;
333
+ }
334
+ /**
335
+ * List existing sessions from the agent via official ACP `session/list`.
336
+ * Only available when the agent advertises `sessionCapabilities.list`.
337
+ */
338
+ async listSessions(params = {}) {
339
+ await this.ensureReady();
340
+ if (!this.conn)
341
+ throw new Error(`agent ${this.def.id} is not ready`);
342
+ if (!this.supportsListSessions()) {
343
+ throw new Error(`The '${this.def.id}' agent does not support listing sessions.`);
344
+ }
345
+ return await this.conn.listSessions(params);
346
+ }
235
347
  /** Drive a prompt without closing the ACP session, for stateful embedding hosts. */
236
348
  async promptSession(session, prompt, options = {}) {
237
349
  if (!this.conn)
@@ -348,6 +460,189 @@ export class AgentProcess {
348
460
  this.child = undefined;
349
461
  this.state = "stopped";
350
462
  }
463
+ /**
464
+ * Does the agent advertise official ACP `session/resume` support?
465
+ * Read from `agentCapabilities.sessionCapabilities.resume` at `initialize`.
466
+ */
467
+ supportsOfficialResume() {
468
+ const capabilities = this.initialization?.agentCapabilities;
469
+ const sessionCapabilities = capabilities?.sessionCapabilities;
470
+ if (!sessionCapabilities || typeof sessionCapabilities !== "object" || Array.isArray(sessionCapabilities))
471
+ return false;
472
+ const resume = sessionCapabilities.resume;
473
+ return !!resume && typeof resume === "object" && !Array.isArray(resume);
474
+ }
475
+ /**
476
+ * Does the agent advertise official ACP `session/list` support?
477
+ * Read from `agentCapabilities.sessionCapabilities.list` at `initialize`.
478
+ */
479
+ supportsListSessions() {
480
+ const capabilities = this.initialization?.agentCapabilities;
481
+ const sessionCapabilities = capabilities?.sessionCapabilities;
482
+ if (!sessionCapabilities || typeof sessionCapabilities !== "object" || Array.isArray(sessionCapabilities))
483
+ return false;
484
+ const list = sessionCapabilities.list;
485
+ return !!list && typeof list === "object" && !Array.isArray(list);
486
+ }
487
+ /**
488
+ * Does the agent advertise mid-turn correction? Read from what it said at `initialize`.
489
+ *
490
+ * ⚠️ Checked BEFORE sending, so a provider that cannot steer is refused with a reason that
491
+ * names it — rather than a JSON-RPC "method not found", which names nothing an operator can act
492
+ * on.
493
+ */
494
+ supportsSteer() {
495
+ return this.xenoCapability("steer");
496
+ }
497
+ /**
498
+ * Does the agent accept content pushed into its context WITHOUT it being a turn?
499
+ * (XENO SPAWN §2.2 pin-forward, `xeno/context.inject`.)
500
+ *
501
+ * ⚠️ Checked BEFORE sending, same as `supportsSteer` — an agent that cannot take injected
502
+ * context is refused with a reason that names it, rather than a JSON-RPC "method not found"
503
+ * that names nothing an operator can act on.
504
+ */
505
+ supportsContextInject() {
506
+ return this.xenoCapability("contextInject");
507
+ }
508
+ /**
509
+ * One reader for the whole `_meta["xeno.dev"]` capability family.
510
+ *
511
+ * 🔴 The steer check was written inline. A second inline copy for injection would be a second
512
+ * place for the namespace key and the shape guards to drift, and the drift would be SILENT —
513
+ * a mistyped key reads as "the agent does not support it", which is indistinguishable from the
514
+ * truth for every agent that genuinely does not.
515
+ */
516
+ xenoCapability(name) {
517
+ const capabilities = this.initialization?.agentCapabilities;
518
+ const meta = capabilities?._meta;
519
+ if (!meta || typeof meta !== "object" || Array.isArray(meta))
520
+ return false;
521
+ const xeno = meta["xeno.dev"];
522
+ if (!xeno || typeof xeno !== "object" || Array.isArray(xeno))
523
+ return false;
524
+ return xeno[name] === true;
525
+ }
526
+ /**
527
+ * The ONE place this client reaches the vendor SDK's private connection.
528
+ *
529
+ * 🔴 The `steer` docblock already claimed this was done "DELIBERATELY AND IN ONE PLACE", and a
530
+ * second inline copy for injection would have made that comment false while looking harmless.
531
+ * `ClientSideConnection` exposes only typed standard methods; its internal `Connection` — which
532
+ * does have a generic `sendRequest` — is private, and that is the only route an extension method
533
+ * has through this client.
534
+ *
535
+ * ⚠️ Reaching into a private field breaks silently on a dependency upgrade, so
536
+ * `tests/core/steerEscapeHatch.test.ts` asserts the hatch still exists on the INSTALLED SDK.
537
+ * Every extension method now shares that single guard rather than each needing its own.
538
+ */
539
+ extensionHatch() {
540
+ const hatch = this.conn.connection;
541
+ return typeof hatch?.sendRequest === "function"
542
+ ? hatch.sendRequest.bind(hatch)
543
+ : undefined;
544
+ }
545
+ /**
546
+ * Deliver a correction into a RUNNING prompt (ADE §5.5, `session/steer`).
547
+ *
548
+ * 🔴 REACHES A PRIVATE FIELD, DELIBERATELY AND IN ONE PLACE. The vendor SDK's
549
+ * `ClientSideConnection` exposes only typed standard methods; its internal `Connection` — which
550
+ * does have a generic `sendRequest` — is private. That is the only route for an extension method
551
+ * through this client.
552
+ *
553
+ * ⚠️ Reaching into a private field breaks silently on a dependency upgrade, so
554
+ * `tests/core/steerEscapeHatch.test.ts` asserts the hatch still exists on the INSTALLED SDK. An
555
+ * upgrade that removes it fails loudly, instead of being discovered by an operator whose
556
+ * intervention did nothing.
557
+ */
558
+ async steer(sessionId, instruction) {
559
+ if (!this.conn)
560
+ return { accepted: false, reason: `agent ${this.def.id} is not ready` };
561
+ if (!instruction.trim())
562
+ return { accepted: false, reason: "The instruction is empty." };
563
+ if (!this.supportsSteer()) {
564
+ return {
565
+ accepted: false,
566
+ reason: `The '${this.def.id}' agent does not accept a correction mid-turn.`,
567
+ };
568
+ }
569
+ const sendRequest = this.extensionHatch();
570
+ if (!sendRequest) {
571
+ // The SDK changed shape. Say so precisely: this is a dependency problem, not an agent one,
572
+ // and an operator reading "the agent refused" would debug the wrong system entirely.
573
+ return {
574
+ accepted: false,
575
+ reason: "This ACP client cannot send extension methods: the SDK no longer exposes a generic request path.",
576
+ };
577
+ }
578
+ try {
579
+ const result = await sendRequest("session/steer", { sessionId, instruction });
580
+ const accepted = result?.accepted === true;
581
+ const reason = result?.reason;
582
+ return accepted
583
+ ? { accepted: true }
584
+ : { accepted: false, ...(typeof reason === "string" ? { reason } : {}) };
585
+ }
586
+ catch (error) {
587
+ return {
588
+ accepted: false,
589
+ reason: error instanceof Error ? error.message : "The agent refused the correction.",
590
+ };
591
+ }
592
+ }
593
+ /**
594
+ * Push content back into a session's context WITHOUT it being a turn
595
+ * (XENO SPAWN §2.2 pin-forward, `xeno/context.inject`).
596
+ *
597
+ * 🔴 THIS IS NOT `session/prompt`, AND THE DIFFERENCE IS THE FEATURE. §2.2 makes every canvas
598
+ * node addressable so any node can re-enter any agent's context on demand — the canvas becoming
599
+ * the memory the agents are missing. Sending the node as a prompt instead makes the agent ANSWER
600
+ * it: a pinned design decision arrives as a user message, draws a reply nobody asked for, and
601
+ * puts a turn on the timeline the user did not intend.
602
+ *
603
+ * ⚠️ Refusals are RESULTS, never thrown. A caller that believes a node was pinned when it was
604
+ * not will reason about what the agent knows using a graph edge that does not exist — and §3
605
+ * makes that graph a RECORD, so the wrong answer propagates.
606
+ */
607
+ async injectContext(sessionId, content, options = {}) {
608
+ if (!this.conn)
609
+ return { accepted: false, reason: `agent ${this.def.id} is not ready` };
610
+ if (!content.trim())
611
+ return { accepted: false, reason: "The content is empty." };
612
+ if (!this.supportsContextInject()) {
613
+ return {
614
+ accepted: false,
615
+ reason: `The '${this.def.id}' agent does not accept injected context.`,
616
+ };
617
+ }
618
+ const sendRequest = this.extensionHatch();
619
+ if (!sendRequest) {
620
+ return {
621
+ accepted: false,
622
+ reason: "This ACP client cannot send extension methods: the SDK no longer exposes a generic request path.",
623
+ };
624
+ }
625
+ try {
626
+ const result = await sendRequest("xeno/context.inject", {
627
+ sessionId,
628
+ content,
629
+ ...(options.label === undefined ? {} : { label: options.label }),
630
+ ...(options.sourceNodeId === undefined ? {} : { sourceNodeId: options.sourceNodeId }),
631
+ });
632
+ const accepted = result?.accepted === true;
633
+ const reason = result?.reason;
634
+ const messageId = result?.messageId;
635
+ return accepted
636
+ ? { accepted: true, ...(typeof messageId === "string" ? { messageId } : {}) }
637
+ : { accepted: false, ...(typeof reason === "string" ? { reason } : {}) };
638
+ }
639
+ catch (error) {
640
+ return {
641
+ accepted: false,
642
+ reason: error instanceof Error ? error.message : "The agent refused the injection.",
643
+ };
644
+ }
645
+ }
351
646
  supportsAdditionalDirectories() {
352
647
  const capabilities = this.initialization?.agentCapabilities;
353
648
  const sessionCapabilities = capabilities?.sessionCapabilities;
@@ -388,4 +683,26 @@ function withTimeout(promise, milliseconds, message, onTimeout) {
388
683
  });
389
684
  });
390
685
  }
686
+ function validateSessionResumeMetadata(meta, expectedProviderId) {
687
+ if (!meta || typeof meta !== "object" || Array.isArray(meta))
688
+ return undefined;
689
+ const value = meta[XENO_SESSION_RESUME_META_KEY];
690
+ if (!value || typeof value !== "object" || Array.isArray(value))
691
+ return undefined;
692
+ const record = value;
693
+ if (record.schemaVersion !== 1)
694
+ return undefined;
695
+ if (typeof record.providerId !== "string" || record.providerId !== expectedProviderId)
696
+ return undefined;
697
+ if (typeof record.nativeSessionId !== "string"
698
+ || record.nativeSessionId.length === 0
699
+ || record.nativeSessionId.length > 256
700
+ || !/^[A-Za-z0-9][A-Za-z0-9._:-]*$/.test(record.nativeSessionId))
701
+ return undefined;
702
+ return {
703
+ schemaVersion: 1,
704
+ providerId: record.providerId,
705
+ nativeSessionId: record.nativeSessionId,
706
+ };
707
+ }
391
708
  //# sourceMappingURL=agent-process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-process.js","sourceRoot":"","sources":["../src/agent-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-process.js","sourceRoot":"","sources":["../src/agent-process.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAyChD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,EAAE,CA6ChE;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,gBAAgB,CAAC,CAAkC;gBAE/C,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI;IAMhG,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKrC,gFAAgF;IAChF,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAIpE,qDAAqD;IACrD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI3B,2DAA2D;IAC3D,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAOjC,0CAA0C;IAC1C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,0DAA0D;IAC1D,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC;CAG1C"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAyChD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,EAAE,CAyDhE;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,gBAAgB,CAAC,CAAkC;gBAE/C,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI;IAMhG,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKrC,gFAAgF;IAChF,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAIpE,qDAAqD;IACrD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI3B,2DAA2D;IAC3D,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAOjC,0CAA0C;IAC1C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,0DAA0D;IAC1D,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC;CAG1C"}
package/dist/session.js CHANGED
@@ -93,6 +93,20 @@ export function updateToEvents(update) {
93
93
  })),
94
94
  },
95
95
  ];
96
+ case "usage_update": {
97
+ // The two operands XENO SPAWN needs, and the only ACP update that carries a DENOMINATOR.
98
+ // Falling through to `raw` left them reachable only by hand-parsing a blob with guessed key
99
+ // names, which is precisely the cost a structured event stream exists to remove.
100
+ const used = update.used;
101
+ const size = update.size;
102
+ // A zero or negative window is not a window. Emitting it would hand a consumer a division by
103
+ // zero dressed up as data; `raw` keeps the fact without asserting a reading.
104
+ if (typeof used !== "number" || !Number.isFinite(used) || used < 0)
105
+ return [{ type: "raw", update }];
106
+ if (typeof size !== "number" || !Number.isFinite(size) || size <= 0)
107
+ return [{ type: "raw", update }];
108
+ return [{ type: "context", usedTokens: used, windowTokens: size }];
109
+ }
96
110
  default:
97
111
  return [{ type: "raw", update }];
98
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -49,6 +49,27 @@ export type AcpEvent = {
49
49
  inputTokens?: number;
50
50
  outputTokens?: number;
51
51
  totalTokens?: number;
52
+ }
53
+ /**
54
+ * How full the agent’s context is RIGHT NOW, as the agent itself reports it.
55
+ *
56
+ * 🔴 Distinct from `usage`, and the difference is the whole point. ACP documents
57
+ * `Usage.inputTokens` as "Total input tokens across all turns" and `totalTokens` as "Sum of all
58
+ * token types across session" — cumulative billing counters. Dividing either by a context window
59
+ * gives a percentage that only ever rises, crosses the compaction boundary on a nearly empty
60
+ * context, and can never fall, so it hides the compaction it would exist to anticipate.
61
+ *
62
+ * `usage_update` carries the two numbers that actually answer the question: `used` (tokens
63
+ * currently in context) over `size` (the context window). `usedTokens` CAN fall — that is what a
64
+ * compaction looks like from outside.
65
+ *
66
+ * ⚠️ Marked UNSTABLE/@experimental in ACP 0.24.0, and an agent may never send it. Absence
67
+ * means "this agent does not report it", never "the context is empty".
68
+ */
69
+ | {
70
+ type: "context";
71
+ usedTokens: number;
72
+ windowTokens: number;
52
73
  } | {
53
74
  type: "raw";
54
75
  update: unknown;
@@ -158,4 +179,29 @@ export interface AgentStatus {
158
179
  pid?: number;
159
180
  lastError?: string;
160
181
  }
182
+ /** Metadata key for backward-compatible bounded session resume. */
183
+ export declare const XENO_SESSION_RESUME_META_KEY = "xeno.dev/session-resume";
184
+ /**
185
+ * Validated backward-compatibility session resume metadata structure.
186
+ * Used when the remote agent does not advertise official `session/resume`.
187
+ */
188
+ export interface XenoSessionResumeMetadata {
189
+ schemaVersion: 1;
190
+ providerId: string;
191
+ nativeSessionId: string;
192
+ }
193
+ /** Options for resuming an ACP session via AgentProcess. */
194
+ export interface AgentResumeSessionOptions {
195
+ sessionId?: string;
196
+ workspace?: string;
197
+ mcpServers?: import("@agentclientprotocol/sdk").McpServer[];
198
+ additionalDirectories?: string[];
199
+ _meta?: Record<string, unknown>;
200
+ }
201
+ /** Options for listing ACP sessions via AgentProcess. */
202
+ export interface AgentListSessionsOptions {
203
+ cursor?: string | null;
204
+ cwd?: string | null;
205
+ _meta?: Record<string, unknown>;
206
+ }
161
207
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -5,5 +5,6 @@
5
5
  * in-process consumers (and the HTTP server) build on. Nothing here knows about
6
6
  * HTTP or the OpenAI schema.
7
7
  */
8
- export {};
8
+ /** Metadata key for backward-compatible bounded session resume. */
9
+ export const XENO_SESSION_RESUME_META_KEY = "xeno.dev/session-resume";
9
10
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqKH,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenosystem/acp-core",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Embeddable ACP-client engine: supervise ACP agents and stream structured events. The framework-free core of xeno-acp.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -16,33 +16,25 @@
16
16
  "import": "./dist/agent-version-policy.js"
17
17
  }
18
18
  },
19
- "files": [
20
- "dist",
21
- "README.md",
22
- "LICENSE",
23
- "NOTICE"
24
- ],
19
+ "files": ["dist", "README.md", "LICENSE", "NOTICE"],
25
20
  "engines": {
26
21
  "node": ">=20"
27
22
  },
28
- "keywords": [
29
- "acp",
30
- "agent-client-protocol",
31
- "ai-agent",
32
- "xeno"
33
- ],
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.json",
25
+ "typecheck": "tsc -p tsconfig.json --noEmit",
26
+ "prepack": "pnpm run build",
27
+ "clean": "rimraf dist *.tsbuildinfo"
28
+ },
29
+ "keywords": ["acp", "agent-client-protocol", "ai-agent", "xeno"],
34
30
  "homepage": "https://xenostudio.ai/product/acp",
35
31
  "repository": {
36
32
  "type": "git",
37
33
  "url": "git+https://github.com/XENO-CORPORATION/xeno-acp.git",
38
34
  "directory": "packages/core"
39
35
  },
40
- "bugs": {
41
- "url": "https://github.com/XENO-CORPORATION/xeno-acp/issues"
42
- },
43
- "publishConfig": {
44
- "access": "public"
45
- },
36
+ "bugs": { "url": "https://github.com/XENO-CORPORATION/xeno-acp/issues" },
37
+ "publishConfig": { "access": "public" },
46
38
  "dependencies": {
47
39
  "@agentclientprotocol/sdk": "0.24.0",
48
40
  "strip-json-comments": "^5.0.1"
@@ -50,10 +42,5 @@
50
42
  "devDependencies": {
51
43
  "@types/node": "^22.9.0",
52
44
  "typescript": "^5.6.3"
53
- },
54
- "scripts": {
55
- "build": "tsc -p tsconfig.json",
56
- "typecheck": "tsc -p tsconfig.json --noEmit",
57
- "clean": "rimraf dist *.tsbuildinfo"
58
45
  }
59
- }
46
+ }