dsh-bundle-antigravity-host 0.1.22 → 0.1.24

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 (75) hide show
  1. package/README.md +108 -303
  2. package/dist/adapter/antigravity-adapter.d.ts +24 -3
  3. package/dist/adapter/antigravity-adapter.js +169 -33
  4. package/dist/adapter/antigravity-adapter.js.map +1 -1
  5. package/dist/adapter/continuation-state.d.ts +8 -0
  6. package/dist/adapter/continuation-state.js +45 -0
  7. package/dist/adapter/continuation-state.js.map +1 -0
  8. package/dist/adapter/image-content.d.ts +13 -0
  9. package/dist/adapter/image-content.js +71 -0
  10. package/dist/adapter/image-content.js.map +1 -0
  11. package/dist/adapter/permission-diagnostic.d.ts +2 -2
  12. package/dist/adapter/permission-diagnostic.js +1 -1
  13. package/dist/adapter/permission-diagnostic.js.map +1 -1
  14. package/dist/adapter/permission-handoff.js +21 -7
  15. package/dist/adapter/permission-handoff.js.map +1 -1
  16. package/dist/adapter/prompt-transcript.d.ts +9 -14
  17. package/dist/adapter/prompt-transcript.js +17 -14
  18. package/dist/adapter/prompt-transcript.js.map +1 -1
  19. package/dist/adapter/prompt-turn.d.ts +16 -9
  20. package/dist/adapter/prompt-turn.js +69 -53
  21. package/dist/adapter/prompt-turn.js.map +1 -1
  22. package/dist/adapter/tool-args.d.ts +39 -0
  23. package/dist/adapter/tool-args.js +113 -0
  24. package/dist/adapter/tool-args.js.map +1 -0
  25. package/dist/bridge/mcp-bridge.d.ts +10 -0
  26. package/dist/bridge/mcp-bridge.js +24 -2
  27. package/dist/bridge/mcp-bridge.js.map +1 -1
  28. package/dist/client.js +230 -71
  29. package/dist/index.d.ts +6 -0
  30. package/dist/index.js +289 -169
  31. package/dist/index.js.map +1 -1
  32. package/dist/pool/pooled-adapter.d.ts +49 -0
  33. package/dist/pool/pooled-adapter.js +266 -0
  34. package/dist/pool/pooled-adapter.js.map +1 -0
  35. package/dist/protocol/agent-link.d.ts +4 -0
  36. package/dist/protocol/agent-link.js +53 -17
  37. package/dist/protocol/agent-link.js.map +1 -1
  38. package/dist/quota/control.d.ts +7 -1
  39. package/dist/quota/control.js +9 -6
  40. package/dist/quota/control.js.map +1 -1
  41. package/dist/quota/quota-remote.d.ts +7 -1
  42. package/dist/quota/quota-remote.js +6 -4
  43. package/dist/quota/quota-remote.js.map +1 -1
  44. package/dist/runtime/agy-cli.d.ts +2 -2
  45. package/dist/runtime/agy-cli.js +16 -10
  46. package/dist/runtime/agy-cli.js.map +1 -1
  47. package/dist/runtime/binary.d.ts +76 -22
  48. package/dist/runtime/binary.js +221 -47
  49. package/dist/runtime/binary.js.map +1 -1
  50. package/dist/runtime/catalog-cache.js +23 -3
  51. package/dist/runtime/catalog-cache.js.map +1 -1
  52. package/dist/runtime/credentials.d.ts +2 -0
  53. package/dist/runtime/credentials.js +21 -4
  54. package/dist/runtime/credentials.js.map +1 -1
  55. package/dist/runtime/lifecycle.d.ts +68 -0
  56. package/dist/runtime/lifecycle.js +147 -0
  57. package/dist/runtime/lifecycle.js.map +1 -0
  58. package/dist/runtime/proxied-fetch.d.ts +14 -7
  59. package/dist/runtime/proxied-fetch.js +76 -18
  60. package/dist/runtime/proxied-fetch.js.map +1 -1
  61. package/dist/runtime/proxy-env.js +4 -11
  62. package/dist/runtime/proxy-env.js.map +1 -1
  63. package/dist/runtime/quota.d.ts +5 -1
  64. package/dist/runtime/quota.js +27 -28
  65. package/dist/runtime/quota.js.map +1 -1
  66. package/dist/runtime/redact.js +3 -0
  67. package/dist/runtime/redact.js.map +1 -1
  68. package/dist/settings.d.ts +16 -0
  69. package/dist/settings.js +5 -1
  70. package/dist/settings.js.map +1 -1
  71. package/docs/changelog.md +61 -0
  72. package/docs/configuration.md +70 -0
  73. package/docs/development.md +114 -0
  74. package/docs/reference.md +189 -0
  75. package/package.json +7 -1
@@ -4,8 +4,8 @@
4
4
  * 形态:官方 ACP server(Gemini 主模型)走 stdio,工具留在 DSH 侧,经插件
5
5
  * 进程内的私有 loopback MCP 桥暴露给 agent(见 ../bridge/mcp-bridge.ts)。
6
6
  *
7
- * 历史权威是 DSH:**本文件不建任何会话存储/数据库/文件**。每次 `stream` 都
8
- * 用完整的 `options.messages` + `options.system` 重建一条 ACP prompt
7
+ * 历史权威是 DSH:**本文件不建任何会话存储/数据库/文件**。新轮用
8
+ * 完整的 `options.messages` + `options.system` 建立 ACP prompt,工具结果续轮复用该 prompt
9
9
  * (见 prompt-transcript.ts);唯一的跨回合内存态是「当前 ACP 回合」与
10
10
  * 「park 中的 MCP tools/call」,它们都随回合结束而释放。
11
11
  *
@@ -13,11 +13,12 @@
13
13
  * error.d.ts 未导出该码的官方常量,因此用字面量并在下方集中定义)。
14
14
  */
15
15
  import { LlmAdapter, LlmError, ReasoningEffortId } from '@deepseek-ai/dsh-llm';
16
- import { McpToolBridge } from '../bridge/mcp-bridge.js';
16
+ import { BRIDGE_MCP_SERVER_NAME, McpToolBridge } from '../bridge/mcp-bridge.js';
17
17
  import { AGY_REASONING_EFFORTS, AGY_REASONING_EFFORT_NAMES, DEFAULT_AGY_REASONING_EFFORT, foldAgyModelFamilies, modelFamilyId, routeTieredModelId, tierForModelId, } from '../runtime/agy-cli.js';
18
18
  import { findModelSelector, toModelCatalog } from './model-catalog.js';
19
- import { buildPromptContent, renderToolResultText } from './prompt-transcript.js';
19
+ import { buildPromptWithImages, buildToolResultContent } from './image-content.js';
20
20
  import { AGY_TURN_ERROR, PromptTurn } from './prompt-turn.js';
21
+ import { ContinuationState } from './continuation-state.js';
21
22
  /** DSH 侧 provider 标识符;与 cordis.patch.yml 的 id 及文档保持一致。 */
22
23
  export const AGY_PROVIDER_ID = 'antigravity-acp';
23
24
  /**
@@ -58,6 +59,7 @@ export const AGY_ADAPTER_ERROR = {
58
59
  const DEFAULT_PROMPT_TIMEOUT_MS = 30 * 60_000;
59
60
  const DEFAULT_PARK_SETTLE_MS = 50;
60
61
  export class AntigravityAcpAdapter extends LlmAdapter {
62
+ #lifecycle;
61
63
  #getLink;
62
64
  #recycleLink;
63
65
  #cleanup = Promise.resolve();
@@ -75,6 +77,11 @@ export class AntigravityAcpAdapter extends LlmAdapter {
75
77
  #saveCatalog;
76
78
  #loadCliCatalog;
77
79
  #log;
80
+ #onMetadataChanged;
81
+ #continuationState;
82
+ #readImage;
83
+ #canReadImages;
84
+ #imageSupported;
78
85
  /** 官方 CLI 清单的在途读取;完成即释放,底层负责缓存和后台刷新。 */
79
86
  #cliCatalog;
80
87
  /** 家族 → 支持的思考强度档位(由 listModels 折叠得到)。 */
@@ -116,6 +123,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
116
123
  #routeModelId;
117
124
  constructor(options) {
118
125
  super();
126
+ this.#lifecycle = options.lifecycle;
119
127
  this.#getLink = options.getLink;
120
128
  this.#recycleLink = options.recycleLink;
121
129
  this.#registerBridgeTeardown = options.registerBridgeTeardown;
@@ -127,7 +135,12 @@ export class AntigravityAcpAdapter extends LlmAdapter {
127
135
  this.#saveCatalog = options.saveCatalog;
128
136
  this.#loadCliCatalog = options.loadCliCatalog;
129
137
  this.#log = options.log;
130
- this.#bridge = new McpToolBridge();
138
+ this.#onMetadataChanged = options.onMetadataChanged;
139
+ this.#readImage = options.readImage;
140
+ this.#canReadImages = options.canReadImages;
141
+ this.#bridge = new McpToolBridge({
142
+ onArgumentsNormalized: (tool, renamed) => this.#log?.info(`antigravity-acp: 工具参数别名已修正 tool=${tool} ${renamed.map(({ from, to }) => `${from}->${to}`).join(',')}(仅键名)`),
143
+ });
131
144
  this.#registerBridgeTeardown(async () => {
132
145
  this.#disposed = true;
133
146
  this.#wakeAccessWaiters();
@@ -149,6 +162,87 @@ export class AntigravityAcpAdapter extends LlmAdapter {
149
162
  get busy() {
150
163
  return this.#streamActive || Boolean(this.#turn && !this.#isTurnClosed(this.#turn));
151
164
  }
165
+ get streamActive() { return this.#streamActive; }
166
+ get awaitingToolResults() { return this.#turn?.awaitingToolResults === true; }
167
+ ownsRequest(options) {
168
+ return this.#turnOwner !== undefined && this.#turnOwner.sessionId === options.sessionId && this.#turnOwner.purpose === options.purpose;
169
+ }
170
+ exportMetadata() {
171
+ return {
172
+ catalog: this.#catalog.map(({ id, name, description }) => ({ id, name, ...(description === undefined ? {} : { description }) })),
173
+ contextWindows: [...this.#contextWindows],
174
+ ...(this.#imageSupported === undefined ? {} : { imageSupported: this.#imageSupported }),
175
+ };
176
+ }
177
+ importMetadata(metadata) {
178
+ if (metadata.imageSupported !== undefined)
179
+ this.#imageSupported = metadata.imageSupported;
180
+ if (metadata.catalog.length) {
181
+ this.#catalog = metadata.catalog.map((model) => ({ ...model, provider: AGY_PROVIDER_ID, inputModalities: ['text'] }));
182
+ this.#catalogObserved = true;
183
+ this.#cacheLoad = undefined;
184
+ }
185
+ for (const [model, size] of metadata.contextWindows) {
186
+ if (Number.isFinite(size) && size > 0)
187
+ this.#rememberContextWindow(model, size);
188
+ }
189
+ }
190
+ /** Explicit discovery is allowed to authenticate, but never sends a model prompt. */
191
+ async discoverModels(signal, interactive = true) {
192
+ if (this.busy)
193
+ throw new LlmError('ACP 正在处理对话,请在空闲时连接并读取模型目录', AGY_ADAPTER_ERROR.BUSY);
194
+ if (this.#disposed)
195
+ throw new LlmError('Antigravity ACP adapter 已卸载', 'AGY_LINK_CLOSED');
196
+ this.#streamActive = true;
197
+ let link;
198
+ try {
199
+ await withAbort(this.#settleRecycle(), signal);
200
+ link = await this.#getLink(this.#handlers, signal, interactive ? undefined : 'warmup');
201
+ this.#observeCapabilities(link);
202
+ throwIfAborted(signal);
203
+ const session = await link.newSession({
204
+ cwd: this.#cwd, mcpServers: [],
205
+ _meta: { antigravity: { enabledTools: [], eagerMcpServers: [] } },
206
+ }, { signal });
207
+ throwIfAborted(signal);
208
+ if (!findModelSelector(session.configOptions))
209
+ throw new LlmError('ACP 会话未提供模型目录', AGY_ADAPTER_ERROR.NO_MODEL_SELECTOR);
210
+ this.observeSessionConfigOptions(session.configOptions);
211
+ return await this.listModels(AGY_PROVIDER_ID);
212
+ }
213
+ catch (error) {
214
+ if (link)
215
+ this.#scheduleRecycle(link);
216
+ throw error;
217
+ }
218
+ finally {
219
+ this.#streamActive = false;
220
+ this.#wakeAccessWaiters();
221
+ }
222
+ }
223
+ /** 预热复用聊天的同一组 handlers 和运行时;不建临时会话、不消耗模型请求。 */
224
+ async warmup(signal, interactive = false) {
225
+ if (this.#disposed)
226
+ throw new LlmError('Antigravity ACP adapter 已卸载', 'AGY_LINK_CLOSED');
227
+ if (this.busy)
228
+ throw new LlmError('ACP 正在处理对话,无需再次预热', AGY_ADAPTER_ERROR.BUSY);
229
+ await withAbort(this.#settleRecycle(), signal);
230
+ const link = await this.#getLink(this.#handlers, signal, interactive ? undefined : 'warmup');
231
+ this.#observeCapabilities(link);
232
+ }
233
+ #observeCapabilities(link) {
234
+ const supported = link.initializeResponse?.agentCapabilities?.promptCapabilities?.image === true;
235
+ if (supported === this.#imageSupported)
236
+ return;
237
+ this.#imageSupported = supported;
238
+ this.#onMetadataChanged?.(this.exportMetadata());
239
+ }
240
+ #imageOptions(signal) {
241
+ return { readImage: this.#readImage, supported: this.#imageSupported === true && (this.#canReadImages?.() ?? true), signal };
242
+ }
243
+ #inputModalities() {
244
+ return this.#readImage && this.#imageSupported === true && (this.#canReadImages?.() ?? true) ? ['text', 'image'] : ['text'];
245
+ }
152
246
  /** 私有 MCP 桥(诊断与测试可见;agent 侧只经 ACP mcpServers 访问它)。 */
153
247
  get bridge() {
154
248
  return this.#bridge;
@@ -195,7 +289,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
195
289
  id: model.id,
196
290
  name: model.name,
197
291
  ...(model.description === undefined ? {} : { description: model.description }),
198
- inputModalities: ['text'],
292
+ inputModalities: this.#inputModalities(),
199
293
  })),
200
294
  ];
201
295
  }
@@ -302,7 +396,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
302
396
  provider,
303
397
  id: model,
304
398
  name: known?.name ?? model,
305
- inputModalities: ['text'],
399
+ inputModalities: this.#inputModalities(),
306
400
  ...(known?.description === undefined ? {} : { description: known.description }),
307
401
  ...(contextWindow === undefined ? {} : { context: { contextWindow } }),
308
402
  // 思考强度菜单:官方把强度编码进模型 id 后缀,本 provider 只出家族条目,
@@ -325,6 +419,10 @@ export class AntigravityAcpAdapter extends LlmAdapter {
325
419
  return { efforts, defaultEffort: ReasoningEffortId(DEFAULT_AGY_REASONING_EFFORT) };
326
420
  }
327
421
  async prepareCall(provider, model, signal) {
422
+ // Request preparation runs before DSH projects image blocks. Discovery here only
423
+ // handshakes; passive listModels/resolveModel remain free of connection I/O.
424
+ if (this.#readImage && (this.#canReadImages?.() ?? true) && this.#imageSupported === undefined)
425
+ await this.warmup(signal, true);
328
426
  const modelInfo = await this.resolveModel(provider, model, signal);
329
427
  return {
330
428
  model: modelInfo,
@@ -353,6 +451,8 @@ export class AntigravityAcpAdapter extends LlmAdapter {
353
451
  let handedOff = false;
354
452
  try {
355
453
  for await (const chunk of this.#streamExclusive(options)) {
454
+ if (chunk.type === 'block-end')
455
+ this.#continuationState?.emitted(chunk.block);
356
456
  // 消费者在收到 finish 后 return 是合法的(尤其是工具续轮)。
357
457
  if (chunk.type === 'finish')
358
458
  handedOff = true;
@@ -407,14 +507,15 @@ export class AntigravityAcpAdapter extends LlmAdapter {
407
507
  let turn = this.#turn;
408
508
  if (turn?.awaitingToolResults) {
409
509
  // 能续轮的前提有两个:ACP prompt 尚未应答(同一 prompt 内才能继续
410
- // 产出),且尾部 tool 结果与 park 表按顺序一一匹配。
411
- if (!turn.requiresRebuild && !turn.promptSettled && matchesParkedCalls(turn, tail, this.#bridge)) {
510
+ // 产出),且尾部 tool 结果与 park 表按调用 id 一一匹配。
511
+ if (!turn.promptSettled && matchesParkedCalls(turn, tail, this.#bridge) && this.#continuationState?.accepts(options, tail.length)) {
512
+ this.#continuationState = new ContinuationState(options);
412
513
  yield* this.#runContinuation(turn, options, tail);
413
514
  return;
414
515
  }
415
516
  // 不匹配(或 agent 已经收尾)→ 按 brief 的兜底规则放弃旧回合、回到
416
517
  // W4 的「重建新 prompt」路径;历史权威仍是 DSH 的完整 messages。
417
- this.#abandonTurn('续轮条件不满足(工具结果与 park 表不匹配,或 ACP prompt 已应答),按新轮重建');
518
+ this.#abandonTurn('续轮条件不满足(工具结果、路由、上下文或工具定义已变化,或 ACP prompt 已应答),按新轮重建');
418
519
  turn = undefined;
419
520
  }
420
521
  if (turn && !this.#isTurnClosed(turn)) {
@@ -473,6 +574,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
473
574
  const setup = (async () => {
474
575
  check();
475
576
  link = await this.#getLink(this.#handlers, options.signal);
577
+ this.#observeCapabilities(link);
476
578
  check();
477
579
  const tools = options.tools ?? [];
478
580
  this.#bridge.beginRound(tools);
@@ -483,9 +585,17 @@ export class AntigravityAcpAdapter extends LlmAdapter {
483
585
  check();
484
586
  mcpServers = this.#bridge.acpRegistration();
485
587
  }
486
- const session = await link.newSession({ cwd: this.#cwd, mcpServers }, { signal: options.signal });
588
+ // 官方 1.4.0 tool_filter.py / mcp_servers.py 的会话扩展:禁用内置工具
589
+ // (仅关闭 ACP clientCapabilities 不够),直接向模型加载完整 MCP schema。
590
+ this.#lifecycle?.roundPhase('session');
591
+ const session = await link.newSession({
592
+ cwd: this.#cwd,
593
+ mcpServers,
594
+ _meta: { antigravity: { enabledTools: [], eagerMcpServers: tools.length > 0 ? [BRIDGE_MCP_SERVER_NAME] : [] } },
595
+ }, { signal: options.signal });
487
596
  check();
488
597
  this.observeSessionConfigOptions(session.configOptions);
598
+ this.#lifecycle?.roundPhase('model');
489
599
  await this.#applyModelSelection(link, session.sessionId, options.model, options.reasoningEffort, options.signal);
490
600
  check();
491
601
  return { link, session, tools };
@@ -506,6 +616,11 @@ export class AntigravityAcpAdapter extends LlmAdapter {
506
616
  });
507
617
  void this.#cleanup.catch(() => undefined);
508
618
  }
619
+ else {
620
+ this.#bridge.invalidateRound('ACP 回合准备失败');
621
+ if (link)
622
+ this.#scheduleRecycle(link);
623
+ }
509
624
  throwIfAborted(options.signal);
510
625
  throw error;
511
626
  }
@@ -518,15 +633,21 @@ export class AntigravityAcpAdapter extends LlmAdapter {
518
633
  ...(options.sessionId === undefined ? {} : { sessionId: options.sessionId }),
519
634
  ...(options.purpose === undefined ? {} : { purpose: options.purpose }),
520
635
  };
636
+ this.#continuationState = new ContinuationState(options);
521
637
  // usage_update 的上下文容量归属到本次请求的 DSH 路由键。
522
638
  this.#routeModelId = options.model;
523
- const { link, session, tools } = await this.#prepareRound(options);
639
+ this.#lifecycle?.beginRound(options.model);
640
+ const { link, session, tools } = await this.#prepareRound(options).catch((error) => {
641
+ this.#lifecycle?.failed(error);
642
+ throw error;
643
+ });
524
644
  const turn = new PromptTurn(session.sessionId, {
525
645
  link,
526
646
  bridge: this.#bridge,
527
647
  promptTimeoutMs: this.#promptTimeoutMs,
528
648
  parkSettleMs: this.#parkSettleMs,
529
649
  onTerminate: (reason, info) => {
650
+ this.#lifecycle?.failed(reason);
530
651
  this.#bridge.invalidateRound(reason);
531
652
  this.#releaseTurnSubscription(turn);
532
653
  if (info?.clean === true) {
@@ -539,15 +660,9 @@ export class AntigravityAcpAdapter extends LlmAdapter {
539
660
  this.#scheduleRecycle(link);
540
661
  this.#wakeAccessWaiters();
541
662
  },
542
- onHandoff: () => {
543
- // 已把请求作为普通 tool-call 发给 DSH;官方原始调用仍被拒绝。
544
- // 撤销整个旧桥代次,禁止 agent 绕过拒绝再次投递同一调用。
545
- this.#bridge.invalidateRound('工具请求已转交 DSH,官方调用被拒绝');
546
- this.#releaseTurnSubscription(turn);
547
- this.#scheduleRecycle(link);
548
- this.#log?.info('antigravity-acp: ACP 请求已转换为 DSH 工具调用;等待 DSH 审批/执行,未授予官方执行权限');
549
- this.#wakeAccessWaiters();
550
- },
663
+ onBridgePermission: (tool) => this.#log?.info(`antigravity-acp: 已允许私有 MCP 桥单次调用 tool=${tool};执行与审批仍由 DSH 负责,复用当前 ACP prompt`),
664
+ onArgumentIssues: (info) => this.#log?.warn(`antigravity-acp: 转交的工具调用参数与 schema 不符 tool=${info.tool}` +
665
+ `(缺少必填=[${info.missing.join(',')}] 未声明键=${info.unknownCount}个[${info.unknown.join(',')}];仅键名,入桥后修正别名并预检)`),
551
666
  onConfigOptions: (observed) => this.observeSessionConfigOptions(observed),
552
667
  onPermissionDiagnostic: (diagnostic) => this.#log?.warn(`antigravity-acp: 权限请求结构(仅诊断,不代表授权) ${JSON.stringify(diagnostic)}`),
553
668
  onNativeRefusal: (info) => this.#log?.warn(`antigravity-acp: 已拒绝${info.kind === 'permission' ? ' ACP 工具权限申请' : '原生客户端请求'}` +
@@ -559,7 +674,9 @@ export class AntigravityAcpAdapter extends LlmAdapter {
559
674
  // 「prompt 没送出去」「送出去了但没有块回来」还是「块回来了但没被消费」。
560
675
  this.#log?.info(`antigravity-acp: 回合开始 model=${options.model} purpose=${options.purpose ?? 'chat'} session=${session.sessionId} tools=${tools.length}` +
561
676
  `${options.reasoningEffort === undefined ? '' : ` effort=${String(options.reasoningEffort)}`}`);
562
- turn.startPrompt(buildPromptContent(options.system, options.messages), options.signal);
677
+ const content = await buildPromptWithImages(options.system, options.messages, tools, this.#imageOptions(options.signal));
678
+ this.#lifecycle?.promptSent();
679
+ turn.startPrompt(content, options.signal);
563
680
  try {
564
681
  let chunks = 0;
565
682
  let textChars = 0;
@@ -574,11 +691,18 @@ export class AntigravityAcpAdapter extends LlmAdapter {
574
691
  finish = chunk.reason.kind;
575
692
  if (chunks === 0)
576
693
  this.#log?.info(`antigravity-acp: 回合首块到达(type=${chunk.type})`);
694
+ if (chunk.type !== 'finish')
695
+ this.#lifecycle?.firstOutput(chunk.type === 'block-end' && chunk.block.type === 'tool-call');
696
+ else
697
+ this.#lifecycle?.finish(chunk.reason.kind);
577
698
  chunks += 1;
578
699
  yield chunk;
579
700
  }
580
701
  this.#log?.info(`antigravity-acp: 回合结束 model=${options.model} purpose=${options.purpose ?? 'chat'}` +
581
702
  ` 块数=${chunks} textChars=${textChars} reasoningChars=${reasoningChars} finish=${finish}`);
703
+ const timing = this.#lifecycle?.read().round;
704
+ if (timing)
705
+ this.#log?.info(`antigravity-acp: 回合计时 elapsedMs=${Math.round(timing.elapsedMs)} firstChunkMs=${timing.firstChunkMs === undefined ? '-' : Math.round(timing.firstChunkMs)} firstToolMs=${timing.firstToolMs === undefined ? '-' : Math.round(timing.firstToolMs)} setup=${JSON.stringify(timing.timings)}`);
582
706
  }
583
707
  catch (error) {
584
708
  this.#log?.warn(`antigravity-acp: 回合失败 model=${options.model}`, error);
@@ -601,19 +725,21 @@ export class AntigravityAcpAdapter extends LlmAdapter {
601
725
  return;
602
726
  }
603
727
  turn.resume(options.signal);
728
+ this.#lifecycle?.continuing();
604
729
  // 续轮仍在同一个 ACP prompt 内:先确保 park 订阅在位——回喂之后 agent
605
730
  // 可能马上发起第二批 tools/call,若此处没有订阅,那些 MCP 请求会永久挂起。
606
731
  // 同回合重复调用是幂等的,不会叠加监听器。
607
732
  this.#subscribeTurn(turn);
608
- const results = tail.map((message) => {
733
+ const results = await Promise.all(tail.map(async (message) => {
609
734
  if (message.role !== 'tool')
610
735
  throw new LlmError('续轮内部错误:非 tool 角色进入工具回喂', AGY_ADAPTER_ERROR.BUSY);
611
736
  return {
612
737
  callId: message.toolCallId,
613
- text: renderToolResultText(message.content),
738
+ text: '',
739
+ content: await buildToolResultContent(message.content, this.#imageOptions(options.signal)),
614
740
  isError: message.isError === true,
615
741
  };
616
- });
742
+ }));
617
743
  try {
618
744
  // 续轮不重发 prompt:结果交给桥 resolve 上轮 park 的 MCP 调用,agent 在
619
745
  // **同一个 ACP prompt** 内继续产出后续 session/update。
@@ -627,7 +753,13 @@ export class AntigravityAcpAdapter extends LlmAdapter {
627
753
  if (!turn.terminated)
628
754
  throw error;
629
755
  }
630
- yield* drainTurn(turn);
756
+ for await (const chunk of drainTurn(turn)) {
757
+ if (chunk.type !== 'finish')
758
+ this.#lifecycle?.firstOutput(chunk.type === 'block-end' && chunk.block.type === 'tool-call');
759
+ else
760
+ this.#lifecycle?.finish(chunk.reason.kind);
761
+ yield chunk;
762
+ }
631
763
  }
632
764
  finally {
633
765
  this.#releaseTurnSubscriptionIfClosed(turn);
@@ -687,6 +819,9 @@ export class AntigravityAcpAdapter extends LlmAdapter {
687
819
  #handleUnexpectedRequest(method, _request) {
688
820
  if (!this.#turn)
689
821
  return;
822
+ const params = _request.params;
823
+ if (params?.sessionId !== undefined && params.sessionId !== this.#turn.sessionId)
824
+ return;
690
825
  this.#turn.handleUnexpectedAgentRequest(method);
691
826
  }
692
827
  /**
@@ -701,7 +836,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
701
836
  // 只认当前回合的 ACP 会话:被放弃的旧会话仍可能继续发通知,不能把它的
702
837
  // 容量记到新回合的路由键上。
703
838
  const turn = this.#turn;
704
- if (turn !== undefined && notification.sessionId !== turn.sessionId)
839
+ if (!turn || turn.terminated || notification.sessionId !== turn.sessionId)
705
840
  return;
706
841
  const size = update.size;
707
842
  if (typeof size !== 'number' || !Number.isFinite(size) || size <= 0)
@@ -712,6 +847,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
712
847
  if (this.#contextWindows.get(model) === size)
713
848
  return;
714
849
  this.#contextWindows.set(model, size);
850
+ this.#onMetadataChanged?.(this.exportMetadata());
715
851
  // 容量随目录一起落盘,重启后压缩引擎不必等下一次 usage_update。
716
852
  this.#persistCatalog();
717
853
  }
@@ -737,6 +873,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
737
873
  this.#catalogObserved = true;
738
874
  this.#modelSelector = selector;
739
875
  this.#catalog = toModelCatalog(AGY_PROVIDER_ID, selector);
876
+ this.#onMetadataChanged?.(this.exportMetadata());
740
877
  // 观测到真实目录后缓存不再参与 listModels,避免配置变更后仍读到旧磁盘目录。
741
878
  this.#cacheLoad = undefined;
742
879
  // 真实目录只在会话建立后才能观测到;落盘后重启不必退化成占位模型。
@@ -760,7 +897,7 @@ export class AntigravityAcpAdapter extends LlmAdapter {
760
897
  ...(contextWindow === undefined ? {} : { contextWindow }),
761
898
  };
762
899
  });
763
- void Promise.resolve(this.#saveCatalog(payload)).catch(() => undefined);
900
+ void Promise.resolve().then(() => this.#saveCatalog?.(payload)).catch(() => undefined);
764
901
  }
765
902
  /** 是否已经从真实 ACP 会话观测到过配置(listModels 空目录时的诊断依据)。 */
766
903
  get catalogObserved() {
@@ -882,7 +1019,8 @@ function trailingToolResults(messages) {
882
1019
  return tail;
883
1020
  }
884
1021
  /**
885
- * 续轮匹配:尾部 tool 结果与**仍在等待回喂**的 park 调用按顺序一一对应。
1022
+ * 续轮匹配:尾部 tool 结果与**仍在等待回喂**的 park 调用按 id 一一对应。
1023
+ * 并行工具的完成顺序可以与发起顺序不同。
886
1024
  *
887
1025
  * 只统计尚未回喂的 park:同一个 ACP prompt 内可以有多批工具调用,早先批次
888
1026
  * 交付后仍留在 `parkedCalls` 里作为回合账本;若把它们一并计入长度比较,
@@ -894,9 +1032,7 @@ function matchesParkedCalls(turn, tail, bridge) {
894
1032
  const parked = turn.parkedCalls.filter((call) => bridge.hasPending(call.callId));
895
1033
  if (parked.length !== tail.length)
896
1034
  return false;
897
- return tail.every((message, index) => {
898
- const call = parked[index];
899
- return message.role === 'tool' && call !== undefined && call.callId === message.toolCallId;
900
- });
1035
+ const remaining = new Set(parked.map((call) => call.callId));
1036
+ return tail.every((message) => message.role === 'tool' && remaining.delete(message.toolCallId));
901
1037
  }
902
1038
  //# sourceMappingURL=antigravity-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-adapter.js","sourceRoot":"","sources":["../../src/adapter/antigravity-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-adapter.js","sourceRoot":"","sources":["../../src/adapter/antigravity-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ContentBlock, GenerateOptions } from '@deepseek-ai/dsh-llm';
2
+ /** A continuation must be the exact request plus the assistant blocks we emitted and new tool results. */
3
+ export declare class ContinuationState {
4
+ #private;
5
+ constructor(options: GenerateOptions);
6
+ emitted(block: ContentBlock): void;
7
+ accepts(options: GenerateOptions, resultCount: number): boolean;
8
+ }
@@ -0,0 +1,45 @@
1
+ /** Only model-visible values participate; durable message IDs are not prompt content. */
2
+ function messageValue(message) {
3
+ return message.role === 'tool'
4
+ ? { role: message.role, content: message.content, toolCallId: message.toolCallId, isError: message.isError === true }
5
+ : { role: message.role, content: message.content };
6
+ }
7
+ function stable(value) {
8
+ return JSON.stringify(value, (_key, item) => {
9
+ if (!item || typeof item !== 'object' || Array.isArray(item))
10
+ return item;
11
+ return Object.fromEntries(Object.entries(item).sort(([a], [b]) => a.localeCompare(b)));
12
+ });
13
+ }
14
+ function configuration(options) {
15
+ return stable({
16
+ provider: options.provider, model: options.model, effort: options.reasoningEffort?.toString(),
17
+ system: options.system ?? '',
18
+ tools: [...(options.tools ?? [])].sort((a, b) => a.name.localeCompare(b.name)),
19
+ });
20
+ }
21
+ /** A continuation must be the exact request plus the assistant blocks we emitted and new tool results. */
22
+ export class ContinuationState {
23
+ #configuration;
24
+ #history;
25
+ #emitted = [];
26
+ constructor(options) {
27
+ this.#configuration = configuration(options);
28
+ this.#history = options.messages.map((message) => stable(messageValue(message)));
29
+ }
30
+ emitted(block) { this.#emitted.push(structuredClone(block)); }
31
+ accepts(options, resultCount) {
32
+ if (configuration(options) !== this.#configuration)
33
+ return false;
34
+ const prefix = options.messages.slice(0, -resultCount);
35
+ if (prefix.length < this.#history.length)
36
+ return false;
37
+ if (!this.#history.every((value, index) => value === stable(messageValue(prefix[index]))))
38
+ return false;
39
+ const appended = prefix.slice(this.#history.length);
40
+ if (appended.some((message) => message.role !== 'assistant'))
41
+ return false;
42
+ return stable(appended.flatMap((message) => [...message.content])) === stable(this.#emitted);
43
+ }
44
+ }
45
+ //# sourceMappingURL=continuation-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-state.js","sourceRoot":"","sources":["../../src/adapter/continuation-state.ts"],"names":[],"mappings":"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"}