visionclaw 0.1.214-beta.0 → 0.1.214-beta.10

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 (115) 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 +41 -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 +20 -6
  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/owner-initiated-eligibility.d.ts +21 -0
  47. package/dist/agent/owner-initiated-eligibility.d.ts.map +1 -0
  48. package/dist/agent/owner-initiated-eligibility.js +34 -0
  49. package/dist/agent/owner-initiated-eligibility.js.map +1 -0
  50. package/dist/agent/runtime-credentials.d.ts +7 -0
  51. package/dist/agent/runtime-credentials.d.ts.map +1 -1
  52. package/dist/agent/runtime-credentials.js +43 -17
  53. package/dist/agent/runtime-credentials.js.map +1 -1
  54. package/dist/agent/session-manager.d.ts +1 -0
  55. package/dist/agent/session-manager.d.ts.map +1 -1
  56. package/dist/agent/session-manager.js +33 -35
  57. package/dist/agent/session-manager.js.map +1 -1
  58. package/dist/agent/state.d.ts +5 -6
  59. package/dist/agent/state.d.ts.map +1 -1
  60. package/dist/agent/state.js.map +1 -1
  61. package/dist/agent/system-prompt.d.ts +5 -3
  62. package/dist/agent/system-prompt.d.ts.map +1 -1
  63. package/dist/agent/system-prompt.js +7 -55
  64. package/dist/agent/system-prompt.js.map +1 -1
  65. package/dist/agent/wake-cycle-runner.d.ts +3 -0
  66. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  67. package/dist/agent/wake-cycle-runner.js +16 -6
  68. package/dist/agent/wake-cycle-runner.js.map +1 -1
  69. package/dist/builtin-skills/fin-app/SKILL.md +1 -1
  70. package/dist/channels/credential-backed.d.ts +10 -0
  71. package/dist/channels/credential-backed.d.ts.map +1 -0
  72. package/dist/channels/credential-backed.js +12 -0
  73. package/dist/channels/credential-backed.js.map +1 -0
  74. package/dist/channels/manager.d.ts +4 -1
  75. package/dist/channels/manager.d.ts.map +1 -1
  76. package/dist/channels/manager.js +47 -33
  77. package/dist/channels/manager.js.map +1 -1
  78. package/dist/channels/telegram-status.d.ts +6 -0
  79. package/dist/channels/telegram-status.d.ts.map +1 -1
  80. package/dist/channels/telegram-status.js +111 -15
  81. package/dist/channels/telegram-status.js.map +1 -1
  82. package/dist/data-processing/batch-process.d.ts.map +1 -1
  83. package/dist/data-processing/batch-process.js +2 -1
  84. package/dist/data-processing/batch-process.js.map +1 -1
  85. package/dist/event-trigger/providers/finapp-monitor.d.ts +3 -0
  86. package/dist/event-trigger/providers/finapp-monitor.d.ts.map +1 -0
  87. package/dist/event-trigger/providers/finapp-monitor.js +25 -0
  88. package/dist/event-trigger/providers/finapp-monitor.js.map +1 -0
  89. package/dist/event-trigger/sidecar.d.ts +10 -6
  90. package/dist/event-trigger/sidecar.d.ts.map +1 -1
  91. package/dist/event-trigger/sidecar.js +18 -50
  92. package/dist/event-trigger/sidecar.js.map +1 -1
  93. package/dist/event-trigger/wake-routing.d.ts +21 -0
  94. package/dist/event-trigger/wake-routing.d.ts.map +1 -0
  95. package/dist/event-trigger/wake-routing.js +38 -0
  96. package/dist/event-trigger/wake-routing.js.map +1 -0
  97. package/dist/onboarding/bootstrap-client.d.ts +2 -2
  98. package/dist/onboarding/bootstrap-client.d.ts.map +1 -1
  99. package/dist/onboarding/bootstrap-client.js +8 -0
  100. package/dist/onboarding/bootstrap-client.js.map +1 -1
  101. package/dist/onboarding/onboarding-service-client.d.ts +1 -1
  102. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  103. package/dist/onboarding/setup-steps.d.ts.map +1 -1
  104. package/dist/onboarding/setup-steps.js +3 -1
  105. package/dist/onboarding/setup-steps.js.map +1 -1
  106. package/dist/onboarding/telegram-onboarding.d.ts.map +1 -1
  107. package/dist/onboarding/telegram-onboarding.js +6 -0
  108. package/dist/onboarding/telegram-onboarding.js.map +1 -1
  109. package/dist/threads/supervisor.d.ts.map +1 -1
  110. package/dist/threads/supervisor.js +11 -3
  111. package/dist/threads/supervisor.js.map +1 -1
  112. package/dist/tools/memory.js +1 -1
  113. package/dist/tools/memory.js.map +1 -1
  114. package/dist-agent/bundle.cjs +3550 -3057
  115. package/package.json +6 -4
@@ -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;AAQhD;;;;;;;;;;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,CAuK1B;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"}
@@ -4,6 +4,7 @@ import { downloadAndResizeForVision, resizeBase64ForVision } from "../tools/scre
4
4
  import { buildMemoryInjection } from "./memory-injector.js";
5
5
  import { getActiveThreadsSnapshot, renderActiveThreadsBlock } from "../threads/active-threads-store.js";
6
6
  import { logger } from "../logger.js";
7
+ import { isOwnerInitiatedMessage } from "./owner-initiated-eligibility.js";
7
8
  /**
8
9
  * Format the current wall-clock time with full date, long time, and timezone.
9
10
  * Used at the top of each wake/interrupt/post-compaction/calendar/auto-
@@ -185,6 +186,7 @@ export async function buildWakeContext(options) {
185
186
  blocks.push({ type: "text", text: activeThreadsBlock });
186
187
  }
187
188
  // --- Messages: each message's text + its attachments together ---
189
+ const hasOwnerInitiatedMessage = messages.some(isOwnerInitiatedMessage);
188
190
  if (messages.length > 0) {
189
191
  for (const msg of messages) {
190
192
  await emitMessageBlocks(msg, blocks);
@@ -205,6 +207,15 @@ export async function buildWakeContext(options) {
205
207
  },
206
208
  });
207
209
  }
210
+ // --- Passive ingress guidance ---
211
+ if (messages.length > 0 && !hasOwnerInitiatedMessage) {
212
+ blocks.push({
213
+ type: "text",
214
+ text: "**IMPORTANT**: This wake was triggered by passive ingress (email/external-wake) — not an active owner chat. " +
215
+ "Do NOT send \"收到任务\" or progress-update style `notify_user` calls. " +
216
+ "Only notify the owner when task completion or a critical decision requires their input.",
217
+ });
218
+ }
208
219
  blocks.push({
209
220
  type: "text",
210
221
  text: "Review the above context and decide what to do. If there is nothing to do, call the `finish` tool.",
@@ -234,39 +245,56 @@ export async function buildInterruptContext(options) {
234
245
  });
235
246
  return blocks;
236
247
  }
248
+ function briefingTitle(mode, now) {
249
+ return mode === "watchdog"
250
+ ? `[Watchdog — auto-acknowledged] at ${now}`
251
+ : `[Interrupt — auto-acknowledged] at ${now}`;
252
+ }
253
+ function briefingFollowUpLine(mode, needsPrimaryAction) {
254
+ if (!needsPrimaryAction) {
255
+ return "No further action needed — the quick-response handler fully handled this.";
256
+ }
257
+ if (mode === "watchdog") {
258
+ return ("Do not send another acknowledgment — those replies already went out. " +
259
+ "Keep working on this wake's request; the user already knows you received it.");
260
+ }
261
+ return ("Do not send another acknowledgment — those replies already went out. " +
262
+ "After you finish your current task, do the work in the handler assessment. " +
263
+ "Do not wait for another message.");
264
+ }
237
265
  /**
238
- * Build an interrupt context that includes the fast responder's briefing.
266
+ * Build an interrupt/watchdog context that includes the fast responder's briefing.
239
267
  * The primary agent sees what the user said AND what was already replied,
240
268
  * so it can decide whether to follow up or skip.
269
+ *
270
+ * `mode` must match the fast-responder path that sent the replies: interrupt
271
+ * (new message while busy) vs watchdog (this wake's message went unanswered).
241
272
  */
242
273
  export function buildInterruptWithBriefing(options) {
243
- const { messages, fastResponse } = options;
274
+ const { messages, fastResponse, mode } = options;
244
275
  const now = formatNowWithTz();
245
276
  const parts = [];
246
- parts.push(`[Interrupt — auto-acknowledged] at ${now}`);
277
+ parts.push(briefingTitle(mode, now));
247
278
  parts.push("");
248
279
  for (const msg of messages) {
249
- parts.push(`- [${channelDisplayName(msg.channel)}] from ${msg.sender} at ${msg.timestamp}: ${msg.text}`);
280
+ parts.push(formatMessageHeading(msg));
281
+ if (msg.text)
282
+ parts.push(msg.text);
250
283
  if (msg.attachments.length > 0) {
251
284
  for (const att of msg.attachments) {
252
285
  const location = att.url ?? att.localPath ?? "(embedded)";
253
- parts.push(` Attachment [${att.type}]: ${location}${att.filename ? ` (${att.filename})` : ""}`);
286
+ parts.push(`Attachment [${att.type}]: ${location}${att.filename ? ` (${att.filename})` : ""}`);
254
287
  }
255
288
  }
289
+ parts.push("");
256
290
  }
257
- parts.push("");
258
291
  parts.push("Your quick-response handler already replied:");
259
292
  for (const r of fastResponse.replies) {
260
- parts.push(` → [${r.channel}] ${r.sender}: "${r.reply}"`);
293
+ parts.push(` → [${channelDisplayName(r.channel)}] ${r.sender}: "${r.reply}"`);
261
294
  }
262
295
  parts.push(`Handler assessment: ${fastResponse.briefForPrimary}`);
263
296
  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
- }
297
+ parts.push(briefingFollowUpLine(mode, fastResponse.needsPrimaryAction));
270
298
  return [{ type: "text", text: parts.join("\n") }];
271
299
  }
272
300
  /**
@@ -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":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAe1E,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAEpC,MAAM,OAAO,6BAA6B;IAIX;IAHpB,MAAM,GAAG,SAAS,CAAC;IACX,KAAK,GAAG,IAAI,GAAG,EAA8D,CAAC;IAE/F,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD,KAAK,CAAC,KAAK,CAAC,KAAmC;QAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAE1C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,kBAAkB,KAAK,QAAQ;YAC3E,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,uBAAuB;gBAC/B,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnF,qEAAqE;gBACrE,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE;oBACR,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,qBAAqB,KAAK,QAAQ;YAC7E,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClF,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC;QAEhC,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/G,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC;YACnE,OAAO,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,8BAA8B,EAAE;gBACjF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,CAAC,MAAM,EAAE;oBAC7C,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,MAAM;oBAAE,OAAO,CAAC,GAAG,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,iCAAiC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACrH,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAiC,CAAC;YACrE,MAAM,KAAK,GAAyB;gBAClC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,OAAO,CAAC,SAAS;gBAC3B,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;gBAClD,QAAQ,EAAE;oBACR,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC;aACF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM;gBAAE,OAAO,CAAC,GAAG,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnH,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,OAAoC,EAAE,WAA8B;IAC/F,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,UAAU,GAAG,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,gIAAgI;YAClI,CAAC,CAAC,kHAAkH,CAAC;QACvH,KAAK,CAAC,IAAI,CAAC,6BAA6B,QAAQ,kEAAkE,UAAU,4EAA4E,CAAC,CAAC;IAC5M,CAAC;IACD,IAAI,OAAO,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA2B,EAAE,MAAc;IACrE,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,iEAAiE,MAAM,EAAE;QAClG,QAAQ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;KAC7E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"finapp.js","sourceRoot":"","sources":["../../../../src/agent/external-context/providers/finapp.ts"],"names":[],"mappings":"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"}