visionclaw 0.1.214-beta.0 → 0.1.214-beta.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.
Files changed (94) hide show
  1. package/dist/agent/context.d.ts +6 -2
  2. package/dist/agent/context.d.ts.map +1 -1
  3. package/dist/agent/context.js +30 -13
  4. package/dist/agent/context.js.map +1 -1
  5. package/dist/agent/external-context/finapp-capability.d.ts +2 -19
  6. package/dist/agent/external-context/finapp-capability.d.ts.map +1 -1
  7. package/dist/agent/external-context/finapp-capability.js +2 -23
  8. package/dist/agent/external-context/finapp-capability.js.map +1 -1
  9. package/dist/agent/external-context/interrupt.d.ts +13 -0
  10. package/dist/agent/external-context/interrupt.d.ts.map +1 -0
  11. package/dist/agent/external-context/interrupt.js +16 -0
  12. package/dist/agent/external-context/interrupt.js.map +1 -0
  13. package/dist/agent/external-context/providers/finapp.d.ts +15 -1
  14. package/dist/agent/external-context/providers/finapp.d.ts.map +1 -1
  15. package/dist/agent/external-context/providers/finapp.js +127 -50
  16. package/dist/agent/external-context/providers/finapp.js.map +1 -1
  17. package/dist/agent/external-context/registry.d.ts +15 -2
  18. package/dist/agent/external-context/registry.d.ts.map +1 -1
  19. package/dist/agent/external-context/registry.js +88 -8
  20. package/dist/agent/external-context/registry.js.map +1 -1
  21. package/dist/agent/external-context/runtime.d.ts +3 -1
  22. package/dist/agent/external-context/runtime.d.ts.map +1 -1
  23. package/dist/agent/external-context/runtime.js +7 -1
  24. package/dist/agent/external-context/runtime.js.map +1 -1
  25. package/dist/agent/external-context/types.d.ts +22 -0
  26. package/dist/agent/external-context/types.d.ts.map +1 -1
  27. package/dist/agent/fast-responder.d.ts +16 -0
  28. package/dist/agent/fast-responder.d.ts.map +1 -1
  29. package/dist/agent/fast-responder.js +119 -64
  30. package/dist/agent/fast-responder.js.map +1 -1
  31. package/dist/agent/heartbeat-manager.js +2 -2
  32. package/dist/agent/heartbeat-manager.js.map +1 -1
  33. package/dist/agent/interrupt-handler.d.ts +8 -4
  34. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  35. package/dist/agent/interrupt-handler.js +48 -29
  36. package/dist/agent/interrupt-handler.js.map +1 -1
  37. package/dist/agent/loop.d.ts.map +1 -1
  38. package/dist/agent/loop.js +10 -4
  39. package/dist/agent/loop.js.map +1 -1
  40. package/dist/agent/memory-injector.js +6 -6
  41. package/dist/agent/memory-injector.js.map +1 -1
  42. package/dist/agent/memory-protocol.d.ts +14 -0
  43. package/dist/agent/memory-protocol.d.ts.map +1 -0
  44. package/dist/agent/memory-protocol.js +58 -0
  45. package/dist/agent/memory-protocol.js.map +1 -0
  46. package/dist/agent/session-manager.d.ts +1 -0
  47. package/dist/agent/session-manager.d.ts.map +1 -1
  48. package/dist/agent/session-manager.js +33 -35
  49. package/dist/agent/session-manager.js.map +1 -1
  50. package/dist/agent/state.d.ts +5 -6
  51. package/dist/agent/state.d.ts.map +1 -1
  52. package/dist/agent/state.js.map +1 -1
  53. package/dist/agent/system-prompt.d.ts +5 -3
  54. package/dist/agent/system-prompt.d.ts.map +1 -1
  55. package/dist/agent/system-prompt.js +7 -55
  56. package/dist/agent/system-prompt.js.map +1 -1
  57. package/dist/agent/wake-cycle-runner.d.ts +3 -0
  58. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  59. package/dist/agent/wake-cycle-runner.js +16 -6
  60. package/dist/agent/wake-cycle-runner.js.map +1 -1
  61. package/dist/channels/credential-backed.d.ts +10 -0
  62. package/dist/channels/credential-backed.d.ts.map +1 -0
  63. package/dist/channels/credential-backed.js +12 -0
  64. package/dist/channels/credential-backed.js.map +1 -0
  65. package/dist/channels/manager.d.ts +4 -1
  66. package/dist/channels/manager.d.ts.map +1 -1
  67. package/dist/channels/manager.js +47 -33
  68. package/dist/channels/manager.js.map +1 -1
  69. package/dist/channels/telegram-status.d.ts +6 -0
  70. package/dist/channels/telegram-status.d.ts.map +1 -1
  71. package/dist/channels/telegram-status.js +111 -15
  72. package/dist/channels/telegram-status.js.map +1 -1
  73. package/dist/data-processing/batch-process.d.ts.map +1 -1
  74. package/dist/data-processing/batch-process.js +2 -1
  75. package/dist/data-processing/batch-process.js.map +1 -1
  76. package/dist/event-trigger/providers/finapp-monitor.d.ts +3 -0
  77. package/dist/event-trigger/providers/finapp-monitor.d.ts.map +1 -0
  78. package/dist/event-trigger/providers/finapp-monitor.js +25 -0
  79. package/dist/event-trigger/providers/finapp-monitor.js.map +1 -0
  80. package/dist/event-trigger/sidecar.d.ts +10 -6
  81. package/dist/event-trigger/sidecar.d.ts.map +1 -1
  82. package/dist/event-trigger/sidecar.js +18 -50
  83. package/dist/event-trigger/sidecar.js.map +1 -1
  84. package/dist/event-trigger/wake-routing.d.ts +21 -0
  85. package/dist/event-trigger/wake-routing.d.ts.map +1 -0
  86. package/dist/event-trigger/wake-routing.js +38 -0
  87. package/dist/event-trigger/wake-routing.js.map +1 -0
  88. package/dist/onboarding/telegram-onboarding.d.ts.map +1 -1
  89. package/dist/onboarding/telegram-onboarding.js +6 -0
  90. package/dist/onboarding/telegram-onboarding.js.map +1 -1
  91. package/dist/tools/memory.js +1 -1
  92. package/dist/tools/memory.js.map +1 -1
  93. package/dist-agent/bundle.cjs +2821 -2390
  94. package/package.json +5 -3
@@ -1,6 +1,6 @@
1
1
  import { type VisionClawConfig } from "../config/types.js";
2
2
  import type { CommandMessage } from "../channels/interface.js";
3
- import type { FastResponse } from "./fast-responder.js";
3
+ import type { FastResponse, FastResponseMode } from "./fast-responder.js";
4
4
  import type { VersionCheckResult } from "../utils/version-check.js";
5
5
  import type { PendingUpgradeInfo, PendingRestartInfo } from "../config/index.js";
6
6
  import type { SessionMode } from "./mailbox.js";
@@ -70,13 +70,17 @@ export declare function buildInterruptContext(options: {
70
70
  messages: CommandMessage[];
71
71
  }): Promise<ContentBlock[]>;
72
72
  /**
73
- * Build an interrupt context that includes the fast responder's briefing.
73
+ * Build an interrupt/watchdog context that includes the fast responder's briefing.
74
74
  * The primary agent sees what the user said AND what was already replied,
75
75
  * so it can decide whether to follow up or skip.
76
+ *
77
+ * `mode` must match the fast-responder path that sent the replies: interrupt
78
+ * (new message while busy) vs watchdog (this wake's message went unanswered).
76
79
  */
77
80
  export declare function buildInterruptWithBriefing(options: {
78
81
  messages: CommandMessage[];
79
82
  fastResponse: FastResponse;
83
+ mode: FastResponseMode;
80
84
  }): ContentBlock[];
81
85
  /**
82
86
  * Build a fresh context after compaction. Returns multimodal blocks.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAQxC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EACF;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACrG;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAsED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4J1B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAoB1B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,YAAY,EAAE,CAuCjB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,YAAY,EAAE,CAoBjB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAQxC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EACF;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACrG;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAsED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4J1B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAoB1B;AAyBD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG,YAAY,EAAE,CA6BjB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,YAAY,EAAE,CAoBjB"}
@@ -234,39 +234,56 @@ export async function buildInterruptContext(options) {
234
234
  });
235
235
  return blocks;
236
236
  }
237
+ function briefingTitle(mode, now) {
238
+ return mode === "watchdog"
239
+ ? `[Watchdog — auto-acknowledged] at ${now}`
240
+ : `[Interrupt — auto-acknowledged] at ${now}`;
241
+ }
242
+ function briefingFollowUpLine(mode, needsPrimaryAction) {
243
+ if (!needsPrimaryAction) {
244
+ return "No further action needed — the quick-response handler fully handled this.";
245
+ }
246
+ if (mode === "watchdog") {
247
+ return ("Do not send another acknowledgment — those replies already went out. " +
248
+ "Keep working on this wake's request; the user already knows you received it.");
249
+ }
250
+ return ("Do not send another acknowledgment — those replies already went out. " +
251
+ "After you finish your current task, do the work in the handler assessment. " +
252
+ "Do not wait for another message.");
253
+ }
237
254
  /**
238
- * Build an interrupt context that includes the fast responder's briefing.
255
+ * Build an interrupt/watchdog context that includes the fast responder's briefing.
239
256
  * The primary agent sees what the user said AND what was already replied,
240
257
  * so it can decide whether to follow up or skip.
258
+ *
259
+ * `mode` must match the fast-responder path that sent the replies: interrupt
260
+ * (new message while busy) vs watchdog (this wake's message went unanswered).
241
261
  */
242
262
  export function buildInterruptWithBriefing(options) {
243
- const { messages, fastResponse } = options;
263
+ const { messages, fastResponse, mode } = options;
244
264
  const now = formatNowWithTz();
245
265
  const parts = [];
246
- parts.push(`[Interrupt — auto-acknowledged] at ${now}`);
266
+ parts.push(briefingTitle(mode, now));
247
267
  parts.push("");
248
268
  for (const msg of messages) {
249
- parts.push(`- [${channelDisplayName(msg.channel)}] from ${msg.sender} at ${msg.timestamp}: ${msg.text}`);
269
+ parts.push(formatMessageHeading(msg));
270
+ if (msg.text)
271
+ parts.push(msg.text);
250
272
  if (msg.attachments.length > 0) {
251
273
  for (const att of msg.attachments) {
252
274
  const location = att.url ?? att.localPath ?? "(embedded)";
253
- parts.push(` Attachment [${att.type}]: ${location}${att.filename ? ` (${att.filename})` : ""}`);
275
+ parts.push(`Attachment [${att.type}]: ${location}${att.filename ? ` (${att.filename})` : ""}`);
254
276
  }
255
277
  }
278
+ parts.push("");
256
279
  }
257
- parts.push("");
258
280
  parts.push("Your quick-response handler already replied:");
259
281
  for (const r of fastResponse.replies) {
260
- parts.push(` → [${r.channel}] ${r.sender}: "${r.reply}"`);
282
+ parts.push(` → [${channelDisplayName(r.channel)}] ${r.sender}: "${r.reply}"`);
261
283
  }
262
284
  parts.push(`Handler assessment: ${fastResponse.briefForPrimary}`);
263
285
  parts.push("");
264
- if (fastResponse.needsPrimaryAction) {
265
- parts.push("DO NOT duplicate the replies. Only follow up on this when you finish your current task or you have NEW information.");
266
- }
267
- else {
268
- parts.push("No further action needed — the quick-response handler fully handled this.");
269
- }
286
+ parts.push(briefingFollowUpLine(mode, fastResponse.needsPrimaryAction));
270
287
  return [{ type: "text", text: parts.join("\n") }];
271
288
  }
272
289
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,10 @@
1
1
  /**
2
- * Refresh Fin-App external context (including fence capability catalog) from
3
- * the latest inbound messages. Used on wake start and again on interrupt so an
4
- * in-flight turn does not keep a stale client fence set.
2
+ * Fin-App-specific interpretation of client capability metadata.
3
+ * The external-context registry owns collection and interrupt refresh.
5
4
  */
6
- import type { VisionClawConfig } from "../../config/types.js";
7
5
  import type { CommandMessage } from "../../channels/interface.js";
8
- import type { SessionMode } from "../mailbox.js";
9
6
  /** True when any message carries Fin-App fence capability meta. */
10
7
  export declare function batchHasFinAppFenceCapability(messages: readonly CommandMessage[]): boolean;
11
- /**
12
- * Recollect Fin-App external context from `messages` and publish it as the
13
- * current wake's external context. No-op when the batch has no Fin-App fence
14
- * capability meta (keeps the prior wake catalog intact for non-finapp interrupts).
15
- */
16
- export declare function refreshFinAppExternalContextFromMessages(input: {
17
- config: VisionClawConfig;
18
- messages: readonly CommandMessage[];
19
- sessionMode: SessionMode;
20
- trigger?: "message" | "heartbeat";
21
- }): Promise<{
22
- refreshed: boolean;
23
- digest: string | null;
24
- }>;
25
8
  /**
26
9
  * Text blocks that force an in-flight model turn to see the new client fence
27
10
  * catalog even when the session system prompt was baked at wake start.
@@ -1 +1 @@
1
- {"version":3,"file":"finapp-capability.d.ts","sourceRoot":"","sources":["../../../src/agent/external-context/finapp-capability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD,mEAAmE;AACnE,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAQ1F;AAED;;;;GAIG;AACH,wBAAsB,wCAAwC,CAAC,KAAK,EAAE;IACpE,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAYzD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,GAAG,IAAI,CA4BhG"}
1
+ {"version":3,"file":"finapp-capability.d.ts","sourceRoot":"","sources":["../../../src/agent/external-context/finapp-capability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,mEAAmE;AACnE,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAQ1F;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,GAAG,IAAI,CA4BhG"}
@@ -1,10 +1,7 @@
1
1
  /**
2
- * Refresh Fin-App external context (including fence capability catalog) from
3
- * the latest inbound messages. Used on wake start and again on interrupt so an
4
- * in-flight turn does not keep a stale client fence set.
2
+ * Fin-App-specific interpretation of client capability metadata.
3
+ * The external-context registry owns collection and interrupt refresh.
5
4
  */
6
- import { createDefaultExternalContextRegistry } from "./registry.js";
7
- import { setCurrentExternalContext } from "./runtime.js";
8
5
  /** True when any message carries Fin-App fence capability meta. */
9
6
  export function batchHasFinAppFenceCapability(messages) {
10
7
  return messages.some((msg) => {
@@ -16,24 +13,6 @@ export function batchHasFinAppFenceCapability(messages) {
16
13
  || (typeof restrict === "string" && restrict.trim().length > 0);
17
14
  });
18
15
  }
19
- /**
20
- * Recollect Fin-App external context from `messages` and publish it as the
21
- * current wake's external context. No-op when the batch has no Fin-App fence
22
- * capability meta (keeps the prior wake catalog intact for non-finapp interrupts).
23
- */
24
- export async function refreshFinAppExternalContextFromMessages(input) {
25
- if (!batchHasFinAppFenceCapability(input.messages)) {
26
- return { refreshed: false, digest: null };
27
- }
28
- const registry = createDefaultExternalContextRegistry(input.config);
29
- const result = await registry.collect({
30
- trigger: input.trigger ?? "message",
31
- sessionMode: input.sessionMode,
32
- messages: [...input.messages],
33
- });
34
- setCurrentExternalContext(result.section, result.digest);
35
- return { refreshed: true, digest: result.digest };
36
- }
37
16
  /**
38
17
  * Text blocks that force an in-flight model turn to see the new client fence
39
18
  * catalog even when the session system prompt was baked at wake start.
@@ -1 +1 @@
1
- {"version":3,"file":"finapp-capability.js","sourceRoot":"","sources":["../../../src/agent/external-context/finapp-capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finapp-capability.js","sourceRoot":"","sources":["../../../src/agent/external-context/finapp-capability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,mEAAmE;AACnE,MAAM,UAAU,6BAA6B,CAAC,QAAmC;IAC/E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC;QACjD,OAAO,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;eAC5D,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAmC;IAC/E,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,SAAS;QACvC,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,QAAQ;YAC9D,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,IAAI,EAAE,qBAAqB,KAAK,QAAQ;YAClE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG;YACZ,wHAAwH;SACzH,CAAC;QACF,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,sEAAsE;YACtE,qEAAqE;YACrE,KAAK,CAAC,IAAI,CACR,kHAAkH,CACnH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CommandMessage } from "../../channels/interface.js";
2
+ import type { SessionMode } from "../mailbox.js";
3
+ import type { ExternalContextRegistry } from "./registry.js";
4
+ /** Keep the existing wake context when no provider recognizes an interrupt update. */
5
+ export declare function refreshExternalContextFromMessages(input: {
6
+ messages: readonly CommandMessage[];
7
+ sessionMode: SessionMode;
8
+ trigger?: "message" | "heartbeat";
9
+ }, registry: ExternalContextRegistry): Promise<{
10
+ refreshed: boolean;
11
+ digest: string | null;
12
+ }>;
13
+ //# sourceMappingURL=interrupt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../../src/agent/external-context/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAG7D,sFAAsF;AACtF,wBAAsB,kCAAkC,CAAC,KAAK,EAAE;IAC9D,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAW5F"}
@@ -0,0 +1,16 @@
1
+ import { getCurrentExternalContextProviderBlocks, setCurrentExternalContext } from "./runtime.js";
2
+ /** Keep the existing wake context when no provider recognizes an interrupt update. */
3
+ export async function refreshExternalContextFromMessages(input, registry) {
4
+ if (!registry.ownsInterrupt(input.messages))
5
+ return { refreshed: false, digest: null };
6
+ const result = await registry.collect({
7
+ trigger: input.trigger ?? "message",
8
+ sessionMode: input.sessionMode,
9
+ messages: [...input.messages],
10
+ interrupt: true,
11
+ previousProviderBlocks: getCurrentExternalContextProviderBlocks(),
12
+ });
13
+ setCurrentExternalContext(result.section, result.digest, result.providerBlocks);
14
+ return { refreshed: true, digest: result.digest };
15
+ }
16
+ //# sourceMappingURL=interrupt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../../../src/agent/external-context/interrupt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uCAAuC,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAElG,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,KAIxD,EAAE,QAAiC;IAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;QACnC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,SAAS,EAAE,IAAI;QACf,sBAAsB,EAAE,uCAAuC,EAAE;KAClE,CAAC,CAAC;IACH,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAChF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACpD,CAAC"}
@@ -1,10 +1,24 @@
1
+ import { type CommandMessage } from "../../../channels/interface.js";
1
2
  import type { VisionClawConfig } from "../../../config/types.js";
2
- import type { ExternalContextBlock, ExternalContextProvider, ExternalContextProviderInput } from "../types.js";
3
+ import type { ExternalContextBlock, ExternalContextProvider, ExternalContextProviderInput, ExternalConversationContext } from "../types.js";
3
4
  export declare class FinAppExternalContextProvider implements ExternalContextProvider {
4
5
  private readonly config;
5
6
  readonly source = "fin-app";
7
+ private credentialScope;
6
8
  private readonly cache;
7
9
  constructor(config: VisionClawConfig);
10
+ selectMessage(input: ExternalContextProviderInput): CommandMessage | undefined;
11
+ systemPrompt(conversation: ExternalConversationContext): string | null;
12
+ ownsInterrupt(messages: readonly CommandMessage[]): boolean;
13
+ canReuseContext(input: ExternalContextProviderInput, blocks: readonly ExternalContextBlock[]): boolean;
14
+ build(input: ExternalContextProviderInput): Promise<ExternalContextBlock[]>;
15
+ }
16
+ /** Local client capabilities have their own snapshot and cannot be lost to a remote fetch timeout. */
17
+ export declare class FinAppClientContextProvider implements ExternalContextProvider {
18
+ readonly source = "fin-app-client";
19
+ selectMessage(input: ExternalContextProviderInput): CommandMessage | undefined;
20
+ ownsInterrupt(messages: readonly CommandMessage[]): boolean;
21
+ interruptText(messages: readonly CommandMessage[]): string | null;
8
22
  build(input: ExternalContextProviderInput): Promise<ExternalContextBlock[]>;
9
23
  }
10
24
  //# sourceMappingURL=finapp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"finapp.d.ts","sourceRoot":"","sources":["../../../../src/agent/external-context/providers/finapp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAgB/G,qBAAa,6BAA8B,YAAW,uBAAuB;IAI/D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,QAAQ,CAAC,MAAM,aAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyE;gBAElE,MAAM,EAAE,gBAAgB;IAE/C,KAAK,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA2FlF"}
1
+ {"version":3,"file":"finapp.d.ts","sourceRoot":"","sources":["../../../../src/agent/external-context/providers/finapp.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAgB5I,qBAAa,6BAA8B,YAAW,uBAAuB;IAK/D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,QAAQ,CAAC,MAAM,aAAa;IAC5B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyE;gBAElE,MAAM,EAAE,gBAAgB;IAErD,aAAa,CAAC,KAAK,EAAE,4BAA4B,GAAG,cAAc,GAAG,SAAS;IAI9E,YAAY,CAAC,YAAY,EAAE,2BAA2B,GAAG,MAAM,GAAG,IAAI;IAMtE,aAAa,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO;IAI3D,eAAe,CAAC,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,SAAS,oBAAoB,EAAE,GAAG,OAAO;IAShG,KAAK,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAiElF;AAeD,sGAAsG;AACtG,qBAAa,2BAA4B,YAAW,uBAAuB;IACzE,QAAQ,CAAC,MAAM,oBAAoB;IAEnC,aAAa,CAAC,KAAK,EAAE,4BAA4B,GAAG,cAAc,GAAG,SAAS;IAI9E,aAAa,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO;IAI3D,aAAa,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,GAAG,IAAI;IAIjE,KAAK,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA4C5E"}
@@ -1,64 +1,55 @@
1
1
  import crypto from "node:crypto";
2
+ import { resolveThreadId } from "../../../channels/interface.js";
3
+ import { isFinAppThreadId, isFinAppThreadMessage, loadFinAppCoreContract } from "../../fin-app/core-contract.js";
4
+ import { batchHasFinAppFenceCapability, finAppCapabilityInterruptText } from "../finapp-capability.js";
2
5
  import { resolveFinAppCredentials } from "../../../finapp-credentials.js";
3
6
  const CONTEXT_CACHE_TTL_MS = 45_000;
4
7
  export class FinAppExternalContextProvider {
5
8
  config;
6
9
  source = "fin-app";
10
+ credentialScope = null;
7
11
  cache = new Map();
8
12
  constructor(config) {
9
13
  this.config = config;
10
14
  }
15
+ selectMessage(input) {
16
+ return selectFinAppMessage(input);
17
+ }
18
+ systemPrompt(conversation) {
19
+ if (!isFinAppThreadId(conversation.threadId) && !conversation.messages?.some(isFinAppThreadMessage))
20
+ return null;
21
+ return loadFinAppCoreContract()
22
+ ?? "## Fin-App Core Contract\n\nThe Fin-App core contract could not be loaded. Do not perform Fin-App writes or provide renderer-sensitive output until the contract is available.";
23
+ }
24
+ ownsInterrupt(messages) {
25
+ return batchHasFinAppFenceCapability(messages);
26
+ }
27
+ canReuseContext(input, blocks) {
28
+ const scope = credentialScope(resolveFinAppCredentials(this.config));
29
+ const message = selectFinAppMessage(input);
30
+ const threadId = message ? resolveThreadId(message) : undefined;
31
+ const key = threadId ? contextCacheKey(threadId, message?.meta ?? {}) : undefined;
32
+ return scope !== null && blocks.every((block) => block.metadata?.credentialScope === scope
33
+ && (!key || block.metadata.cacheKey === key));
34
+ }
11
35
  async build(input) {
12
36
  if (input.channel !== "finapp")
13
37
  return [];
14
- const blocks = [];
15
- const fenceCatalog = typeof input.channelMeta.fenceCatalogPrompt === "string"
16
- ? input.channelMeta.fenceCatalogPrompt.trim()
17
- : "";
18
- if (fenceCatalog) {
19
- blocks.push({
20
- source: "fin-app-fence-catalog",
21
- scope: "thread",
22
- threadId: input.threadId,
23
- title: "Fin-App fence catalog",
24
- generatedAt: new Date().toISOString(),
25
- digest: crypto.createHash("sha256").update(fenceCatalog).digest("hex").slice(0, 16),
26
- // Above thread context and above the forbid appendix so schemas win.
27
- priority: 115,
28
- content: fenceCatalog,
29
- metadata: {
30
- clientFences: input.channelMeta.clientFences,
31
- },
32
- });
33
- }
34
- const fencePrompt = typeof input.channelMeta.fenceCapabilityPrompt === "string"
35
- ? input.channelMeta.fenceCapabilityPrompt.trim()
36
- : "";
37
- if (fencePrompt) {
38
- blocks.push({
39
- source: "fin-app-fences",
40
- scope: "thread",
41
- threadId: input.threadId,
42
- title: "Fin-App client fences",
43
- generatedAt: new Date().toISOString(),
44
- digest: crypto.createHash("sha256").update(fencePrompt).digest("hex").slice(0, 16),
45
- priority: 110,
46
- content: fencePrompt,
47
- metadata: {
48
- clientFences: input.channelMeta.clientFences,
49
- },
50
- });
51
- }
52
38
  const credentials = resolveFinAppCredentials(this.config);
39
+ // A shared provider must never reuse data after credentials/service scope changes.
40
+ const scope = credentialScope(credentials);
41
+ if (scope !== this.credentialScope) {
42
+ this.cache.clear();
43
+ this.credentialScope = scope;
44
+ }
53
45
  if (!credentials)
54
- return blocks;
46
+ return [];
55
47
  const userId = typeof input.channelMeta.userId === "number" ? input.channelMeta.userId : undefined;
56
- const locale = input.channelMeta.locale === "zh" ? "zh" : input.channelMeta.locale === "en" ? "en" : "unknown";
57
48
  const messageKind = input.channelMeta.kind === "system" ? "system" : "user";
58
- const cacheKey = `${userId ?? "unknown"}:${input.threadId}:${locale}:${messageKind}`;
49
+ const cacheKey = contextCacheKey(input.threadId, input.channelMeta);
59
50
  const cached = this.cache.get(cacheKey);
60
51
  if (cached && Date.now() - cached.fetchedAt < CONTEXT_CACHE_TTL_MS) {
61
- return [...blocks, cached.block];
52
+ return [cached.block];
62
53
  }
63
54
  try {
64
55
  const response = await fetch(`${credentials.baseUrl}/api/internal/thread-context`, {
@@ -68,14 +59,18 @@ export class FinAppExternalContextProvider {
68
59
  "Content-Type": "application/json",
69
60
  },
70
61
  body: JSON.stringify({ threadKey: input.threadId, ...(userId !== undefined ? { userId } : {}) }),
71
- signal: AbortSignal.timeout(900),
62
+ signal: input.signal ? AbortSignal.any([input.signal, AbortSignal.timeout(900)]) : AbortSignal.timeout(900),
72
63
  });
64
+ if (credentialScope(resolveFinAppCredentials(this.config)) !== scope)
65
+ return [];
66
+ input.signal?.throwIfAborted();
73
67
  if (!response.ok) {
74
- if (cached)
75
- return [...blocks, withDegradedReason(cached.block, `fin-app context endpoint HTTP ${response.status}`)];
76
- return blocks;
68
+ throw new Error(`fin-app context endpoint HTTP ${response.status}`);
77
69
  }
78
70
  const context = await response.json();
71
+ if (credentialScope(resolveFinAppCredentials(this.config)) !== scope)
72
+ return [];
73
+ input.signal?.throwIfAborted();
79
74
  const block = {
80
75
  source: "fin-app",
81
76
  scope: "thread",
@@ -87,19 +82,101 @@ export class FinAppExternalContextProvider {
87
82
  priority: 100,
88
83
  content: renderFinAppContext(context, messageKind),
89
84
  metadata: {
85
+ credentialScope: scope,
86
+ cacheKey,
90
87
  threadKey: context.threadKey,
91
88
  degradedReason: context.degradedReason,
92
89
  },
93
90
  };
94
- this.cache.set(cacheKey, { fetchedAt: Date.now(), block });
95
- return [...blocks, block];
91
+ // A request from the previous credential scope may finish after rotation.
92
+ if (this.credentialScope === scope)
93
+ this.cache.set(cacheKey, { fetchedAt: Date.now(), block });
94
+ return [block];
96
95
  }
97
96
  catch (err) {
97
+ if (credentialScope(resolveFinAppCredentials(this.config)) !== scope)
98
+ return [];
98
99
  if (cached)
99
- return [...blocks, withDegradedReason(cached.block, err instanceof Error ? err.message : String(err))];
100
- return blocks;
100
+ return [withDegradedReason(cached.block, err instanceof Error ? err.message : String(err))];
101
+ // Transient failure must reach the registry so it can reuse a valid snapshot.
102
+ throw err;
103
+ }
104
+ }
105
+ }
106
+ function credentialScope(credentials) {
107
+ return credentials
108
+ ? crypto.createHash("sha256").update(JSON.stringify([credentials.baseUrl, credentials.apiKey])).digest("hex")
109
+ : null;
110
+ }
111
+ function contextCacheKey(threadId, meta) {
112
+ const userId = typeof meta.userId === "number" ? meta.userId : "unknown";
113
+ const locale = meta.locale === "zh" ? "zh" : meta.locale === "en" ? "en" : "unknown";
114
+ const kind = meta.kind === "system" ? "system" : "user";
115
+ return JSON.stringify([userId, threadId, locale, kind]);
116
+ }
117
+ /** Local client capabilities have their own snapshot and cannot be lost to a remote fetch timeout. */
118
+ export class FinAppClientContextProvider {
119
+ source = "fin-app-client";
120
+ selectMessage(input) {
121
+ return selectFinAppMessage(input);
122
+ }
123
+ ownsInterrupt(messages) {
124
+ return batchHasFinAppFenceCapability(messages);
125
+ }
126
+ interruptText(messages) {
127
+ return finAppCapabilityInterruptText(messages);
128
+ }
129
+ build(input) {
130
+ if (input.channel !== "finapp")
131
+ return Promise.resolve([]);
132
+ const blocks = [];
133
+ const fenceCatalog = typeof input.channelMeta.fenceCatalogPrompt === "string"
134
+ ? input.channelMeta.fenceCatalogPrompt.trim()
135
+ : "";
136
+ if (fenceCatalog) {
137
+ blocks.push({
138
+ source: "fin-app-fence-catalog",
139
+ scope: "thread",
140
+ threadId: input.threadId,
141
+ title: "Fin-App fence catalog",
142
+ generatedAt: new Date().toISOString(),
143
+ digest: crypto.createHash("sha256").update(fenceCatalog).digest("hex").slice(0, 16),
144
+ // Above thread context and above the forbid appendix so schemas win.
145
+ priority: 115,
146
+ content: fenceCatalog,
147
+ metadata: {
148
+ clientFences: input.channelMeta.clientFences,
149
+ },
150
+ });
101
151
  }
152
+ const fencePrompt = typeof input.channelMeta.fenceCapabilityPrompt === "string"
153
+ ? input.channelMeta.fenceCapabilityPrompt.trim()
154
+ : "";
155
+ if (fencePrompt) {
156
+ blocks.push({
157
+ source: "fin-app-fences",
158
+ scope: "thread",
159
+ threadId: input.threadId,
160
+ title: "Fin-App client fences",
161
+ generatedAt: new Date().toISOString(),
162
+ digest: crypto.createHash("sha256").update(fencePrompt).digest("hex").slice(0, 16),
163
+ priority: 110,
164
+ content: fencePrompt,
165
+ metadata: {
166
+ clientFences: input.channelMeta.clientFences,
167
+ },
168
+ });
169
+ }
170
+ return Promise.resolve(blocks);
171
+ }
172
+ }
173
+ function selectFinAppMessage(input) {
174
+ if (input.interrupt) {
175
+ const latestUpdate = [...input.messages].reverse().find((message) => batchHasFinAppFenceCapability([message]));
176
+ if (latestUpdate)
177
+ return latestUpdate;
102
178
  }
179
+ return input.messages.find((message) => message.channel === "finapp");
103
180
  }
104
181
  function renderFinAppContext(context, messageKind) {
105
182
  const lines = [];
@@ -1 +1 @@
1
- {"version":3,"file":"finapp.js","sourceRoot":"","sources":["../../../../src/agent/external-context/providers/finapp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finapp.js","sourceRoot":"","sources":["../../../../src/agent/external-context/providers/finapp.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  import type { VisionClawConfig } from "../../config/types.js";
2
2
  import { type CommandMessage } from "../../channels/interface.js";
3
3
  import type { SessionMode } from "../mailbox.js";
4
- import type { ExternalContextBlock, ExternalContextProvider, ExternalContextRenderResult, ExternalContextTrigger } from "./types.js";
4
+ import type { ExternalContextBlock, ExternalContextCollectionResult, ExternalContextProvider, ExternalContextRenderResult, ExternalContextTrigger, ExternalConversationContext } from "./types.js";
5
5
  export interface ExternalContextRegistryOptions {
6
6
  maxChars?: number;
7
7
  providerTimeoutMs?: number;
8
8
  }
9
+ /** Text hooks can contain mandatory contracts; never silently omit a failed hook. */
10
+ export declare class ExternalContextHookError extends Error {
11
+ readonly source: string;
12
+ readonly hook: "systemPrompt" | "interruptText";
13
+ constructor(source: string, hook: "systemPrompt" | "interruptText", cause: unknown);
14
+ }
9
15
  export declare class ExternalContextRegistry {
10
16
  private readonly providers;
11
17
  private readonly maxChars;
@@ -15,7 +21,14 @@ export declare class ExternalContextRegistry {
15
21
  trigger: ExternalContextTrigger;
16
22
  sessionMode: SessionMode;
17
23
  messages: CommandMessage[];
18
- }): Promise<ExternalContextRenderResult>;
24
+ interrupt?: boolean;
25
+ previousProviderBlocks?: ExternalContextCollectionResult["providerBlocks"];
26
+ }): Promise<ExternalContextCollectionResult>;
27
+ systemPrompt(conversation: ExternalConversationContext): string;
28
+ ownsInterrupt(messages: readonly CommandMessage[]): boolean;
29
+ private providerOwnsInterrupt;
30
+ interruptText(messages: readonly CommandMessage[]): string | null;
31
+ private collectText;
19
32
  private buildWithTimeout;
20
33
  }
21
34
  export declare function createDefaultExternalContextRegistry(config: VisionClawConfig): ExternalContextRegistry;