@superblocksteam/vite-plugin-file-sync 2.0.151 → 2.0.152-next.1

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 (224) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +10 -1
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +25 -6
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
  8. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +7 -2
  9. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
  10. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +47 -1
  11. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
  12. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +129 -15
  13. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools/apis/test-api.js +1 -24
  16. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  17. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +53 -9
  18. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
  19. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +304 -67
  20. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
  21. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts +47 -1
  22. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tools/databases/dev-database-tools.js +38 -1
  24. package/dist/ai-service/agent/tools/databases/dev-database-tools.js.map +1 -1
  25. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +391 -0
  26. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools/integrations/execute-request.js +257 -44
  28. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  29. package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -1
  30. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools/integrations/index.js +1 -1
  32. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
  33. package/dist/ai-service/agent/tools/integrations/managed-app-database.d.ts +16 -0
  34. package/dist/ai-service/agent/tools/integrations/managed-app-database.d.ts.map +1 -0
  35. package/dist/ai-service/agent/tools/integrations/managed-app-database.js +31 -0
  36. package/dist/ai-service/agent/tools/integrations/managed-app-database.js.map +1 -0
  37. package/dist/ai-service/agent/tools/integrations/sql-classification.d.ts +44 -0
  38. package/dist/ai-service/agent/tools/integrations/sql-classification.d.ts.map +1 -0
  39. package/dist/ai-service/agent/tools/integrations/sql-classification.js +352 -0
  40. package/dist/ai-service/agent/tools/integrations/sql-classification.js.map +1 -0
  41. package/dist/ai-service/agent/tools/report-security-findings.d.ts +5 -5
  42. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools.js +5 -1
  44. package/dist/ai-service/agent/tools.js.map +1 -1
  45. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  46. package/dist/ai-service/agent/tools2/registry.js +2 -0
  47. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  48. package/dist/ai-service/agent/tools2/tools/check-task.d.ts.map +1 -1
  49. package/dist/ai-service/agent/tools2/tools/check-task.js +4 -1
  50. package/dist/ai-service/agent/tools2/tools/check-task.js.map +1 -1
  51. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  52. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +12 -1
  53. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  54. package/dist/ai-service/agent/tools2/tools/wait-for-task.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools2/tools/wait-for-task.js +5 -1
  56. package/dist/ai-service/agent/tools2/tools/wait-for-task.js.map +1 -1
  57. package/dist/ai-service/chat/chat-session-store.d.ts +10 -1
  58. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  59. package/dist/ai-service/chat/chat-session-store.js +65 -15
  60. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  61. package/dist/ai-service/context-archive-paths.d.ts +7 -0
  62. package/dist/ai-service/context-archive-paths.d.ts.map +1 -1
  63. package/dist/ai-service/context-archive-paths.js +7 -0
  64. package/dist/ai-service/context-archive-paths.js.map +1 -1
  65. package/dist/ai-service/context-download.d.ts.map +1 -1
  66. package/dist/ai-service/context-download.js +8 -10
  67. package/dist/ai-service/context-download.js.map +1 -1
  68. package/dist/ai-service/context-flush.d.ts +36 -0
  69. package/dist/ai-service/context-flush.d.ts.map +1 -0
  70. package/dist/ai-service/context-flush.js +90 -0
  71. package/dist/ai-service/context-flush.js.map +1 -0
  72. package/dist/ai-service/context-restore.d.ts +64 -0
  73. package/dist/ai-service/context-restore.d.ts.map +1 -0
  74. package/dist/ai-service/context-restore.js +136 -0
  75. package/dist/ai-service/context-restore.js.map +1 -0
  76. package/dist/ai-service/context-upload.d.ts +13 -4
  77. package/dist/ai-service/context-upload.d.ts.map +1 -1
  78. package/dist/ai-service/context-upload.js +28 -18
  79. package/dist/ai-service/context-upload.js.map +1 -1
  80. package/dist/ai-service/dev-database-client.d.ts +51 -0
  81. package/dist/ai-service/dev-database-client.d.ts.map +1 -1
  82. package/dist/ai-service/dev-database-client.js +3 -0
  83. package/dist/ai-service/dev-database-client.js.map +1 -1
  84. package/dist/ai-service/index.d.ts +19 -0
  85. package/dist/ai-service/index.d.ts.map +1 -1
  86. package/dist/ai-service/index.js +449 -182
  87. package/dist/ai-service/index.js.map +1 -1
  88. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  89. package/dist/ai-service/llm/context-v2/adapter.js +1 -0
  90. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  91. package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts +30 -0
  92. package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts.map +1 -1
  93. package/dist/ai-service/llm/context-v2/compaction/client-side.js +77 -4
  94. package/dist/ai-service/llm/context-v2/compaction/client-side.js.map +1 -1
  95. package/dist/ai-service/llm/context-v2/compaction/compaction-strategy.d.ts +5 -0
  96. package/dist/ai-service/llm/context-v2/compaction/compaction-strategy.d.ts.map +1 -1
  97. package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts +1 -0
  98. package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts.map +1 -1
  99. package/dist/ai-service/llm/context-v2/compaction/server-side.js +3 -0
  100. package/dist/ai-service/llm/context-v2/compaction/server-side.js.map +1 -1
  101. package/dist/ai-service/llm/context-v2/compactor.d.ts.map +1 -1
  102. package/dist/ai-service/llm/context-v2/compactor.js +57 -6
  103. package/dist/ai-service/llm/context-v2/compactor.js.map +1 -1
  104. package/dist/ai-service/llm/context-v2/config.d.ts +13 -1
  105. package/dist/ai-service/llm/context-v2/config.d.ts.map +1 -1
  106. package/dist/ai-service/llm/context-v2/config.js +39 -2
  107. package/dist/ai-service/llm/context-v2/config.js.map +1 -1
  108. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +23 -0
  109. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  110. package/dist/ai-service/llm/context-v2/context-metrics.js +52 -1
  111. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  112. package/dist/ai-service/llm/context-v2/context.d.ts +27 -3
  113. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  114. package/dist/ai-service/llm/context-v2/context.js +107 -10
  115. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  116. package/dist/ai-service/llm/context-v2/manager.d.ts +66 -0
  117. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  118. package/dist/ai-service/llm/context-v2/manager.js +194 -2
  119. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  120. package/dist/ai-service/llm/context-v2/storage/event-store.d.ts +31 -5
  121. package/dist/ai-service/llm/context-v2/storage/event-store.d.ts.map +1 -1
  122. package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.d.ts +30 -9
  123. package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.d.ts.map +1 -1
  124. package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.js +96 -13
  125. package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.js.map +1 -1
  126. package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.d.ts +46 -0
  127. package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.d.ts.map +1 -0
  128. package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.js +240 -0
  129. package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.js.map +1 -0
  130. package/dist/ai-service/llm/context-v2/storage/local.d.ts +1 -1
  131. package/dist/ai-service/llm/context-v2/storage/local.d.ts.map +1 -1
  132. package/dist/ai-service/llm/context-v2/storage/local.js +3 -2
  133. package/dist/ai-service/llm/context-v2/storage/local.js.map +1 -1
  134. package/dist/ai-service/llm/context-v2/types.d.ts +5 -1
  135. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  136. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  137. package/dist/ai-service/llm/stream/config.d.ts +4 -3
  138. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  139. package/dist/ai-service/llm/stream/config.js.map +1 -1
  140. package/dist/ai-service/llm/stream/idle-monitor.d.ts +37 -4
  141. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  142. package/dist/ai-service/llm/stream/idle-monitor.js +38 -3
  143. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  144. package/dist/ai-service/policy-agent-metrics.d.ts +18 -0
  145. package/dist/ai-service/policy-agent-metrics.d.ts.map +1 -0
  146. package/dist/ai-service/policy-agent-metrics.js +99 -0
  147. package/dist/ai-service/policy-agent-metrics.js.map +1 -0
  148. package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -0
  149. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  150. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +9 -0
  151. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
  152. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +27 -0
  153. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
  154. package/dist/ai-service/tasks/factory.d.ts +7 -0
  155. package/dist/ai-service/tasks/factory.d.ts.map +1 -1
  156. package/dist/ai-service/tasks/factory.js +5 -0
  157. package/dist/ai-service/tasks/factory.js.map +1 -1
  158. package/dist/ai-service/tasks/task-store.d.ts +11 -1
  159. package/dist/ai-service/tasks/task-store.d.ts.map +1 -1
  160. package/dist/ai-service/tasks/task-store.js +104 -29
  161. package/dist/ai-service/tasks/task-store.js.map +1 -1
  162. package/dist/ai-service/tasks/types.d.ts +9 -1
  163. package/dist/ai-service/tasks/types.d.ts.map +1 -1
  164. package/dist/extract-api-integrations.d.ts +76 -0
  165. package/dist/extract-api-integrations.d.ts.map +1 -1
  166. package/dist/extract-api-integrations.js +428 -109
  167. package/dist/extract-api-integrations.js.map +1 -1
  168. package/dist/file-sync-vite-plugin.d.ts +1 -1
  169. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  170. package/dist/file-sync-vite-plugin.js +42 -79
  171. package/dist/file-sync-vite-plugin.js.map +1 -1
  172. package/dist/file-system-helpers.d.ts +1 -1
  173. package/dist/file-system-helpers.d.ts.map +1 -1
  174. package/dist/file-system-helpers.js +1 -0
  175. package/dist/file-system-helpers.js.map +1 -1
  176. package/dist/git-auth-state.d.ts +4 -0
  177. package/dist/git-auth-state.d.ts.map +1 -0
  178. package/dist/git-auth-state.js +25 -0
  179. package/dist/git-auth-state.js.map +1 -0
  180. package/dist/git-service/checkpoint-commit-metrics.d.ts +2 -0
  181. package/dist/git-service/checkpoint-commit-metrics.d.ts.map +1 -0
  182. package/dist/git-service/checkpoint-commit-metrics.js +15 -0
  183. package/dist/git-service/checkpoint-commit-metrics.js.map +1 -0
  184. package/dist/git-service/checkpoint-committer.d.ts +22 -0
  185. package/dist/git-service/checkpoint-committer.d.ts.map +1 -0
  186. package/dist/git-service/checkpoint-committer.js +91 -0
  187. package/dist/git-service/checkpoint-committer.js.map +1 -0
  188. package/dist/git-service/commit-live-branch.d.ts +17 -0
  189. package/dist/git-service/commit-live-branch.d.ts.map +1 -0
  190. package/dist/git-service/commit-live-branch.js +28 -0
  191. package/dist/git-service/commit-live-branch.js.map +1 -0
  192. package/dist/git-service/provider-workflow-files.d.ts +12 -0
  193. package/dist/git-service/provider-workflow-files.d.ts.map +1 -0
  194. package/dist/git-service/provider-workflow-files.js +36 -0
  195. package/dist/git-service/provider-workflow-files.js.map +1 -0
  196. package/dist/plugin-options.d.ts +8 -0
  197. package/dist/plugin-options.d.ts.map +1 -1
  198. package/dist/plugin-options.js.map +1 -1
  199. package/dist/policy-gate-runner.d.ts.map +1 -1
  200. package/dist/policy-gate-runner.js +7 -9
  201. package/dist/policy-gate-runner.js.map +1 -1
  202. package/dist/server-rpc/client.d.ts.map +1 -1
  203. package/dist/server-rpc/client.js +2 -0
  204. package/dist/server-rpc/client.js.map +1 -1
  205. package/dist/server-rpc/index.d.ts +43 -1
  206. package/dist/server-rpc/index.d.ts.map +1 -1
  207. package/dist/server-rpc/index.js +143 -5
  208. package/dist/server-rpc/index.js.map +1 -1
  209. package/dist/server-rpc/request-abort-context.d.ts +3 -0
  210. package/dist/server-rpc/request-abort-context.d.ts.map +1 -0
  211. package/dist/server-rpc/request-abort-context.js +23 -0
  212. package/dist/server-rpc/request-abort-context.js.map +1 -0
  213. package/dist/server-rpc/rpc-invalidate-metrics.d.ts +20 -0
  214. package/dist/server-rpc/rpc-invalidate-metrics.d.ts.map +1 -0
  215. package/dist/server-rpc/rpc-invalidate-metrics.js +86 -0
  216. package/dist/server-rpc/rpc-invalidate-metrics.js.map +1 -0
  217. package/dist/socket-manager.d.ts.map +1 -1
  218. package/dist/socket-manager.js +21 -60
  219. package/dist/socket-manager.js.map +1 -1
  220. package/dist/sync-service/index.d.ts +26 -2
  221. package/dist/sync-service/index.d.ts.map +1 -1
  222. package/dist/sync-service/index.js +74 -37
  223. package/dist/sync-service/index.js.map +1 -1
  224. package/package.json +9 -8
@@ -9,6 +9,7 @@ const METER_NAME = "superblocks.clark.prompt";
9
9
  const METRIC_ATTEMPTS = "superblocks.clark.prompt.attempts_total";
10
10
  const METRIC_OUTCOMES = "superblocks.clark.prompt.outcomes_total";
11
11
  export const METRIC_AWAITING_USER_DISMISSED = "superblocks.clark.prompt.awaiting_user_dismissed_total";
12
+ export const METRIC_BASE_COMMIT_RESOLUTION_FAILED = "superblocks.clark.prompt.base_commit_resolution_failed_total";
12
13
  export const AWAITING_USER_DISMISS_REASONS = ["cancel", "new_prompt"];
13
14
  export const AWAITING_USER_DISMISS_REASON_TAG = "dismiss_reason";
14
15
  export const PROMPT_APPLICATION_ID_TAG = "application_id";
@@ -24,6 +25,18 @@ export const METRIC_CREDITS = "superblocks.clark.prompt.credits";
24
25
  export const PROMPT_CREDITS_BUCKETS = [
25
26
  0.5, 1, 2, 5, 7.5, 10, 15, 25, 50, 100, 250,
26
27
  ];
28
+ // How the terminal chat-store fallback failed after the preferred sync-context
29
+ // provider did not return a commit. A recovered sync-provider error is logged
30
+ // as a degradation but is not a base-commit resolution failure.
31
+ export const BASE_COMMIT_RESOLUTION_FAILED_SOURCES = [
32
+ "chat_store",
33
+ "chat_store_timeout",
34
+ ];
35
+ export const BASE_COMMIT_RESOLUTION_FAILED_SOURCE_TAG = "source";
36
+ // Whether the preferred sync-context provider had also thrown before the
37
+ // terminal chat-store failure, so a compound outage is distinguishable from a
38
+ // chat-store-only one on a dashboard instead of requiring a log dive.
39
+ export const BASE_COMMIT_RESOLUTION_PREFERRED_SOURCE_FAILED_TAG = "preferred_source_failed";
27
40
  export function resolvePromptMetricLabels(context) {
28
41
  return {
29
42
  coreModel: context.llmConfig?.coreModel,
@@ -101,6 +114,10 @@ class PromptRequestMetrics {
101
114
  description: "User canceled or dismissed Clark while awaiting input after a successful handoff.",
102
115
  unit: "1",
103
116
  }),
117
+ baseCommitResolutionFailedCounter: meter.createCounter(METRIC_BASE_COMMIT_RESOLUTION_FAILED, {
118
+ description: "resolveBaseCommitId failed to determine the app's base checkpoint for usage-metadata attribution.",
119
+ unit: "1",
120
+ }),
104
121
  creditsHistogram: meter.createHistogram(METRIC_CREDITS, {
105
122
  description: "AI credits consumed by a Clark user prompt at any terminal outcome (golden cost metric). Labeled by organization_id, core_model, and had_fallback.",
106
123
  unit: "{credit}",
@@ -121,6 +138,13 @@ class PromptRequestMetrics {
121
138
  ...promptCoreModelAttributes(labels),
122
139
  });
123
140
  }
141
+ recordBaseCommitResolutionFailed(params) {
142
+ this.getInstruments().baseCommitResolutionFailedCounter.add(1, {
143
+ ...this.baseAttributes(),
144
+ [BASE_COMMIT_RESOLUTION_FAILED_SOURCE_TAG]: params.source,
145
+ [BASE_COMMIT_RESOLUTION_PREFERRED_SOURCE_FAILED_TAG]: params.preferredSourceFailed ? "true" : "false",
146
+ });
147
+ }
124
148
  /** Allow a new terminal outcome when the same request is retried. */
125
149
  forgetOutcomeDedupeKey(dedupeKey) {
126
150
  this.recordedOutcomeKeys.delete(dedupeKey);
@@ -202,6 +226,9 @@ export function recordPromptAttempt(params) {
202
226
  }
203
227
  promptRequestMetrics.recordAttempt({ coreModel: params?.coreModel });
204
228
  }
229
+ export function recordBaseCommitResolutionFailed(params) {
230
+ promptRequestMetrics.recordBaseCommitResolutionFailed(params);
231
+ }
205
232
  export function resolvePromptOutcomeDedupeKey(context) {
206
233
  return context.promptOutcomeDedupeKey ?? context.promptId;
207
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-request-metrics.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/helpers/prompt-request-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-request-metrics.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/helpers/prompt-request-metrics.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,11 @@ export interface BackgroundTaskToolDeps {
30
30
  * on `error` (not `message`), so without forwarding it the LLM would
31
31
  * see `state: "failed"` with no explanation and have to follow up with
32
32
  * a `checkTask` call just to learn why.
33
+ *
34
+ * `result` is forwarded when kickoff completes synchronously (reuse /
35
+ * no-op terminal short-circuit) so Clark sees enriched fields such as
36
+ * `providerLabel` / `integrationId` without needing a follow-up
37
+ * `checkTask` solely to learn the terminal payload.
33
38
  * @public
34
39
  */
35
40
  export interface StartToolOutput {
@@ -40,6 +45,8 @@ export interface StartToolOutput {
40
45
  /** Fuller classified failure detail for Clark (optional). */
41
46
  detail?: string;
42
47
  label?: string;
48
+ /** Terminal payload when kickoff completes synchronously. */
49
+ result?: unknown;
43
50
  /** When ensure fans out, how many editor datatags were provisioned. */
44
51
  tagCount?: number;
45
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAEL,eAAe,EACf,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE;QACR,SAAS,EAAE,SAAS,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;KAC9C,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,UAAU,6BAA6B,CACrC,KAAK,EACL,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EACL,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAE/B,QAAQ,EAAE,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,GACrD,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAqDnE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC5C,IAAI,CAIN"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAEL,eAAe,EACf,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE;QACR,SAAS,EAAE,SAAS,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;KAC9C,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,UAAU,6BAA6B,CACrC,KAAK,EACL,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EACL,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAE/B,QAAQ,EAAE,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,GACrD,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CA0DnE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC5C,IAAI,CAIN"}
@@ -28,6 +28,9 @@ export function defineBackgroundTaskFactory(metadata) {
28
28
  const detail = status.state === "failed"
29
29
  ? status.detail
30
30
  : undefined;
31
+ const terminalResult = status.state === "completed"
32
+ ? status.result
33
+ : undefined;
31
34
  const result = {
32
35
  taskId: handle.taskId,
33
36
  state: status.state,
@@ -39,6 +42,8 @@ export function defineBackgroundTaskFactory(metadata) {
39
42
  result.error = error;
40
43
  if (detail !== undefined)
41
44
  result.detail = detail;
45
+ if (terminalResult !== undefined)
46
+ result.result = terminalResult;
42
47
  // Surface fan-out tag count from the provision task handle so the
43
48
  // chat kickoff title can say "N tags".
44
49
  const externalHandle = services.taskStore.get(handle.taskId)?.externalHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/ai-service/tasks/factory.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,eAAe,GAIhB,MAAM,0BAA0B,CAAC;AAgFlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B,CAIzC,QAAsD;IAEtD,OAAO,iBAAiB,CACtB,QAAQ,CAAC,IAAI,EACb,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE,CAAC,CAAC;QACzC,kCAAkC,EAChC,QAAQ,CAAC,kCAAkC;QAC7C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,eAAe,CAAC,KAAK;QACtE,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,KAAK,EACZ,KAAY,EACZ,IAA0B,EACA,EAAE;YAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAC3C,QAAQ,CAAC,IAAI,EACb,KAAK,EACL,IAAI,EACJ,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CACxD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAE,MAA8B,CAAC,MAAM;gBACxC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,MAAM,GAAoB;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;YACF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACpD,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACjD,kEAAkE;YAClE,uCAAuC;YACvC,MAAM,cAAc,GAClB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAGrC,EAAE,cAAc,CAAC;YAClB,IACE,OAAO,cAAc,EAAE,QAAQ,KAAK,QAAQ;gBAC5C,cAAc,CAAC,QAAQ,GAAG,CAAC,EAC3B,CAAC;gBACD,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAgB,EAChB,KAA6C;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/ai-service/tasks/factory.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,eAAe,GAIhB,MAAM,0BAA0B,CAAC;AAuFlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B,CAIzC,QAAsD;IAEtD,OAAO,iBAAiB,CACtB,QAAQ,CAAC,IAAI,EACb,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE,CAAC,CAAC;QACzC,kCAAkC,EAChC,QAAQ,CAAC,kCAAkC;QAC7C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,eAAe,CAAC,KAAK;QACtE,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,KAAK,EACZ,KAAY,EACZ,IAA0B,EACA,EAAE;YAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAC3C,QAAQ,CAAC,IAAI,EACb,KAAK,EACL,IAAI,EACJ,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CACxD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAE,MAA8B,CAAC,MAAM;gBACxC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,cAAc,GAClB,MAAM,CAAC,KAAK,KAAK,WAAW;gBAC1B,CAAC,CAAE,MAA+B,CAAC,MAAM;gBACzC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,MAAM,GAAoB;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;YACF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACpD,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACjD,IAAI,cAAc,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;YACjE,kEAAkE;YAClE,uCAAuC;YACvC,MAAM,cAAc,GAClB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAGrC,EAAE,cAAc,CAAC;YAClB,IACE,OAAO,cAAc,EAAE,QAAQ,KAAK,QAAQ;gBAC5C,cAAc,CAAC,QAAQ,GAAG,CAAC,EAC3B,CAAC;gBACD,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAgB,EAChB,KAA6C;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -34,10 +34,18 @@ interface TaskStoreOptions {
34
34
  * - On-disk persistence — that lives in `persistence.ts` and wraps the store.
35
35
  * - Peer push or `<background_tasks>` block — those subscribe to `onStatus`.
36
36
  *
37
+ * A task exists from the moment it is started, not from the moment its
38
+ * `type.start` returns. Kickoff can take a while, and the store is what
39
+ * every watcher reads, so a task that is still starting is still listed and
40
+ * still reported as running. `start` folds the label, handle, and real
41
+ * initial status in once the kickoff hands them over.
42
+ *
37
43
  * Cancellation:
38
44
  * - `cancel(taskId)` aborts the loop, calls `type.cancel?.()`, emits
39
45
  * `{ state: "cancelled" }`. Errors from `type.cancel` are logged and
40
- * swallowed so cancellation always succeeds locally.
46
+ * swallowed so cancellation always succeeds locally. A cancel during
47
+ * kickoff settles locally right away; the `type.cancel?.()` half waits
48
+ * for the handle the kickoff is still fetching.
41
49
  * - `cancelAll()` cancels every currently-running task.
42
50
  * - `dispose()` aborts all loops without changing task state — used on
43
51
  * FSM teardown so a restart can rehydrate the same on-disk records.
@@ -50,6 +58,7 @@ export declare class TaskStore {
50
58
  private readonly tasks;
51
59
  private readonly controllers;
52
60
  private readonly listeners;
61
+ private readonly kickingOff;
53
62
  private disposed;
54
63
  constructor(options?: TaskStoreOptions);
55
64
  register<I, H, R>(type: TaskType<I, H, R>): void;
@@ -78,6 +87,7 @@ export declare class TaskStore {
78
87
  * on already-terminal tasks (no-op).
79
88
  */
80
89
  cancel(taskId: string): Promise<void>;
90
+ private cancelExternal;
81
91
  cancelAll(): Promise<void>;
82
92
  /**
83
93
  * Resolves with the terminal status as soon as the task leaves
@@ -1 +1 @@
1
- {"version":3,"file":"task-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/task-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAE/C,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EAEX,UAAU,EACV,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,KAAK,kBAAkB,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAC3B,IAAI,EAAE,WAAW,KACd,IAAI,CAAC;AAEV,UAAU,gBAAgB;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE,gBAAqB;IAM1C,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAIhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;IAItE;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACrC,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAwDF,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI5C,IAAI,IAAI,WAAW,EAAE;IAIrB,cAAc,IAAI,OAAO;IAOzB;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC;;;;OAIG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IA0C/B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAKlD,+DAA+D;IAC/D,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,qBAAqB;YAkBrC,aAAa;IAqB3B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,cAAc;CAgBvB"}
1
+ {"version":3,"file":"task-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/task-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAG/C,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EAEX,UAAU,EACV,QAAQ,EACT,MAAM,YAAY,CAAC;AA8BpB;;;;;;GAMG;AACH,KAAK,kBAAkB,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAC3B,IAAI,EAAE,WAAW,KACd,IAAI,CAAC;AAEV,UAAU,gBAAgB;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAI3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE,gBAAqB;IAM1C,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAIhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;IAItE;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACrC,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAuFF,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI5C,IAAI,IAAI,WAAW,EAAE;IAIrB,cAAc,IAAI,OAAO;IAOzB;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkB7B,cAAc;IAYtB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC;;;;OAIG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IA0C/B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAKlD,+DAA+D;IAC/D,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,qBAAqB;YAkBrC,aAAa;IAqB3B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,cAAc;CAgBvB"}
@@ -1,4 +1,28 @@
1
+ import { scrubSecrets, stripUnsafeChars } from "../types.js";
1
2
  import { defaultJitter, realClock, runPollLoop, } from "./poll-loop.js";
3
+ /**
4
+ * Name the pending work without letting a broken hook cost the row. The label
5
+ * is cosmetic, but it is read before the task is recorded, so a throw here
6
+ * would abort registration entirely and reproduce the invisible-progress bug
7
+ * this store exists to avoid. An unlabelled row is the safe fallback.
8
+ */
9
+ function pendingLabelOf(type, input) {
10
+ try {
11
+ return type.pendingLabel?.(input);
12
+ }
13
+ catch {
14
+ return undefined;
15
+ }
16
+ }
17
+ const TASK_FAILURE_MAX_LENGTH = 500;
18
+ function sanitizeTaskFailure(error) {
19
+ const raw = error instanceof Error ? error.message : String(error);
20
+ const safe = stripUnsafeChars(scrubSecrets(raw)).trim();
21
+ const fallback = safe || "Task kickoff failed";
22
+ return fallback.length > TASK_FAILURE_MAX_LENGTH
23
+ ? `${fallback.slice(0, TASK_FAILURE_MAX_LENGTH)}...`
24
+ : fallback;
25
+ }
2
26
  /**
3
27
  * Per-session registry + lifecycle owner for background tasks.
4
28
  *
@@ -12,10 +36,18 @@ import { defaultJitter, realClock, runPollLoop, } from "./poll-loop.js";
12
36
  * - On-disk persistence — that lives in `persistence.ts` and wraps the store.
13
37
  * - Peer push or `<background_tasks>` block — those subscribe to `onStatus`.
14
38
  *
39
+ * A task exists from the moment it is started, not from the moment its
40
+ * `type.start` returns. Kickoff can take a while, and the store is what
41
+ * every watcher reads, so a task that is still starting is still listed and
42
+ * still reported as running. `start` folds the label, handle, and real
43
+ * initial status in once the kickoff hands them over.
44
+ *
15
45
  * Cancellation:
16
46
  * - `cancel(taskId)` aborts the loop, calls `type.cancel?.()`, emits
17
47
  * `{ state: "cancelled" }`. Errors from `type.cancel` are logged and
18
- * swallowed so cancellation always succeeds locally.
48
+ * swallowed so cancellation always succeeds locally. A cancel during
49
+ * kickoff settles locally right away; the `type.cancel?.()` half waits
50
+ * for the handle the kickoff is still fetching.
19
51
  * - `cancelAll()` cancels every currently-running task.
20
52
  * - `dispose()` aborts all loops without changing task state — used on
21
53
  * FSM teardown so a restart can rehydrate the same on-disk records.
@@ -28,6 +60,10 @@ export class TaskStore {
28
60
  tasks = new Map();
29
61
  controllers = new Map();
30
62
  listeners = new Set();
63
+ // Tasks whose `type.start` has not returned yet, so they have no external
64
+ // handle to cancel with. `cancel` records the intent locally and `start`
65
+ // does the external half once the handle arrives.
66
+ kickingOff = new Set();
31
67
  disposed = false;
32
68
  constructor(options = {}) {
33
69
  this.clock = options.clock ?? realClock;
@@ -56,42 +92,74 @@ export class TaskStore {
56
92
  if (!type) {
57
93
  throw new Error(`unknown task type: ${typeName}`);
58
94
  }
59
- const startResult = (await type.start(input, opts));
60
- const initialStatus = startResult.initialStatus ?? {
61
- state: "running",
62
- };
95
+ // The task is recorded and announced before `type.start` runs. Kickoff
96
+ // can be slow the dev-database types upload the working directory and
97
+ // wait on the lifecycle API — and a task nobody can see yet reads to the
98
+ // user as nothing happening at all. Everything the kickoff later tells us
99
+ // (label, handle, real initial status) is folded into this same task id,
100
+ // so watchers update a row instead of gaining a second one.
63
101
  const taskId = this.generateId();
64
102
  const task = {
65
103
  taskId,
66
104
  taskType: typeName,
67
- externalHandle: startResult.externalHandle,
68
- label: startResult.label,
105
+ externalHandle: undefined,
106
+ label: pendingLabelOf(type, input),
69
107
  startedAt: new Date(this.clock.now()).toISOString(),
70
- state: initialStatus.state,
71
- message: "message" in initialStatus ? initialStatus.message : undefined,
72
- result: initialStatus.state === "completed"
73
- ? initialStatus.result
74
- : undefined,
75
- error: initialStatus.state === "failed"
76
- ? initialStatus.error
77
- : undefined,
78
- detail: initialStatus.state === "failed"
79
- ? initialStatus.detail
80
- : undefined,
108
+ state: "running",
81
109
  ownerUserId: options.ownerUserId,
82
110
  };
83
111
  this.tasks.set(taskId, task);
84
- this.emit(taskId, initialStatus, task);
112
+ this.kickingOff.add(taskId);
113
+ const controller = new AbortController();
114
+ this.controllers.set(taskId, controller);
115
+ this.emit(taskId, { state: "running" }, task);
116
+ let startResult;
117
+ try {
118
+ startResult = (await type.start(input, opts, controller.signal));
119
+ }
120
+ catch (error) {
121
+ // The row is already on screen, so it has to be closed out here. Left
122
+ // alone it would sit at "running" until the conversation ended.
123
+ this.kickingOff.delete(taskId);
124
+ this.controllers.delete(taskId);
125
+ this.applyStatus(taskId, {
126
+ state: "failed",
127
+ error: sanitizeTaskFailure(error),
128
+ });
129
+ throw error;
130
+ }
131
+ this.kickingOff.delete(taskId);
132
+ task.externalHandle = startResult.externalHandle;
133
+ if (startResult.label !== undefined) {
134
+ task.label = startResult.label;
135
+ }
136
+ // Cancelled while the kickoff was in flight. The external system was
137
+ // still reached, so tell it to stand down now that there is a handle to
138
+ // do it with, and report what the task actually is rather than
139
+ // reviving it with the status the kickoff was about to hand back.
140
+ if (task.state === "cancelled") {
141
+ await this.cancelExternal(type, startResult.externalHandle);
142
+ return {
143
+ taskId,
144
+ initialStatus: { state: "cancelled" },
145
+ label: task.label,
146
+ };
147
+ }
148
+ const initialStatus = startResult.initialStatus ?? {
149
+ state: "running",
150
+ };
151
+ this.applyStatus(taskId, initialStatus);
85
152
  // Already-terminal initialStatus → no poll loop needed.
86
153
  if (initialStatus.state === "running") {
87
- const controller = new AbortController();
88
- this.controllers.set(taskId, controller);
89
154
  void this.spawnPollLoop(taskId, type, controller);
90
155
  }
156
+ else {
157
+ this.controllers.delete(taskId);
158
+ }
91
159
  return {
92
160
  taskId,
93
161
  initialStatus,
94
- label: startResult.label,
162
+ label: task.label,
95
163
  };
96
164
  }
97
165
  get(taskId) {
@@ -120,17 +188,24 @@ export class TaskStore {
120
188
  controller?.abort();
121
189
  this.controllers.delete(taskId);
122
190
  const type = this.types.get(task.taskType);
123
- if (type?.cancel) {
124
- try {
125
- await type.cancel(task.externalHandle);
126
- }
127
- catch {
128
- // Best-effort; loop is already aborted locally regardless.
129
- }
191
+ // Mid-kickoff there is no handle yet. `start` picks the external cancel
192
+ // up as soon as one exists, so the local state can settle now.
193
+ if (!this.kickingOff.has(taskId)) {
194
+ await this.cancelExternal(type, task.externalHandle);
130
195
  }
131
196
  const status = { state: "cancelled" };
132
197
  this.applyStatus(taskId, status);
133
198
  }
199
+ async cancelExternal(type, externalHandle) {
200
+ if (!type?.cancel)
201
+ return;
202
+ try {
203
+ await type.cancel(externalHandle);
204
+ }
205
+ catch {
206
+ // Best-effort; the loop is already aborted locally regardless.
207
+ }
208
+ }
134
209
  async cancelAll() {
135
210
  const ids = [...this.tasks.entries()]
136
211
  .filter(([, t]) => t.state === "running")
@@ -1 +1 @@
1
- {"version":3,"file":"task-store.js","sourceRoot":"","sources":["../../../src/ai-service/tasks/task-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-store.js","sourceRoot":"","sources":["../../../src/ai-service/tasks/task-store.ts"],"names":[],"mappings":"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"}
@@ -84,11 +84,19 @@ export interface TaskType<Input, Handle, Result> {
84
84
  inputSchema: z.ZodType<Input>;
85
85
  /** Schema for the external handle, used to validate rehydrated state. */
86
86
  externalHandleSchema: z.ZodType<Handle>;
87
+ /**
88
+ * Name the work from the tool input alone, before `start` has talked to
89
+ * anything. The framework shows this while the kickoff runs, so a type
90
+ * whose `start` is slow still gets a row the user can see right away.
91
+ * Return `undefined` (or omit the hook) when the input does not say
92
+ * enough to be worth showing; the row then waits for `start`'s label.
93
+ */
94
+ pendingLabel?: (input: Input) => string | undefined;
87
95
  /**
88
96
  * Kick the external system into action. Returns an opaque handle the
89
97
  * framework persists and feeds back into `poll`.
90
98
  */
91
- start: (input: Input, opts: ToolExecutionOptions) => Promise<StartResult<Handle>>;
99
+ start: (input: Input, opts: ToolExecutionOptions, signal?: AbortSignal) => Promise<StartResult<Handle>>;
92
100
  /**
93
101
  * Query the external system once. Implementations must respect `signal`
94
102
  * to bail out when the task is cancelled.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export type IntegrationInfo = {
3
3
  pluginId: string;
4
4
  id: string;
5
5
  };
6
+ export type ExtractApiIntegrationsResult = {
7
+ integrations: IntegrationInfo[];
8
+ unresolvedKeys: string[];
9
+ };
6
10
  /**
7
11
  * Extract integration declarations from an SDK API source file.
8
12
  *
@@ -17,7 +21,79 @@ export type IntegrationInfo = {
17
21
  *
18
22
  * And string variable indirection:
19
23
  * `const ID = "uuid"; integrations: { db: postgres(ID) }`
24
+ *
25
+ * Also resolves top-level `export const` declarations and `as const`
26
+ * literals in the same file (e.g. `export const ID = "uuid" as const;`) —
27
+ * a deliberate, additive improvement over the previous bare-declaration-only
28
+ * behavior. This is still single-file scope: only same-file declarations
29
+ * (exported or not) are considered, imports are never followed.
30
+ *
31
+ * Single-file only: does not follow imports, so an integration declared via
32
+ * an imported constant or an imported `integrations` object cannot be
33
+ * resolved here — it is silently dropped (its key is simply absent from the
34
+ * returned array, with no signal that it was seen but unresolved). Callers
35
+ * that need imported declarations resolved, or that need to know about
36
+ * unresolved keys instead of silently losing them, must use
37
+ * {@link extractApiIntegrations} instead.
20
38
  */
21
39
  export declare function extractIntegrationsFromSource(source: string): IntegrationInfo[];
40
+ /**
41
+ * Single-file only: does not follow imports, so an integration declared via
42
+ * an imported constant or an imported `integrations` object cannot be
43
+ * resolved here — it is silently dropped (its `id` is simply absent from the
44
+ * returned array, with no signal that it was seen but unresolved). Callers
45
+ * that need imported declarations resolved, or that need to know about
46
+ * unresolved keys instead of silently losing them, must use
47
+ * {@link extractApiIntegrations} instead.
48
+ */
22
49
  export declare function extractIntegrationIdsFromSource(source: string): string[];
50
+ /**
51
+ * Async variant of {@link extractIntegrationsFromSource} that also resolves
52
+ * integrations declared via imports from other files, and reports which
53
+ * `integrations` object keys could not be resolved to a complete
54
+ * `{ key, pluginId, id }` triple.
55
+ *
56
+ * Import resolution supports one-hop relative imports (e.g., `../lib/integrations.js`).
57
+ * For each imported name, resolves it in the imported module via:
58
+ * 1. Imported string-literal constants: `export const SHEETS_ID = "sheets-uuid"`
59
+ * (including `as const`/type-assertion wrapping and re-exports via
60
+ * `export { name }` specifiers).
61
+ * 2. Imported integration declarations: `export const jira = restApiIntegration("jira-uuid")`
62
+ * including string-literal indirection within the imported module, and
63
+ * the same `export { name }` specifier form.
64
+ *
65
+ * Non-relative imports (package imports) are not followed.
66
+ *
67
+ * `params.entryPoint` MUST be an app-root-relative posix path (e.g.
68
+ * `server/apis/get-rows.ts`), never an absolute path or one containing a
69
+ * backslash — an entry point that violates this contract skips import
70
+ * resolution entirely (see the guard at the top of
71
+ * `buildImportedIntegrationRefs`). Within that contract, resolved relative
72
+ * import candidates that would escape the app root (e.g. `../../../secrets.ts`)
73
+ * are skipped without reading them, but that `..`-prefix skip is only a
74
+ * best-effort guard against traversal *relative to entryPoint's own
75
+ * directory* — it is not a substitute for real containment enforcement.
76
+ * Authoritative containment against the actual filesystem root lives in the
77
+ * caller's `readSource` implementation (see `resolveContainedPath` in
78
+ * `collect-sdk-apis.mts`), which re-resolves every candidate against the app
79
+ * root before touching disk.
80
+ *
81
+ * `unresolvedKeys` entries are one of:
82
+ * - a specific `integrations` object key that could not be resolved
83
+ * - `"(unknown)"` for an `ObjectProperty` whose key itself couldn't be read
84
+ * (e.g. a computed key)
85
+ * - `"(dynamic)"` for a non-`ObjectProperty` member of the integrations
86
+ * object (spread elements, methods)
87
+ * - `"*"` as a sentinel meaning the whole `integrations` value could not be
88
+ * statically resolved at all (e.g. `api({ integrations })` shorthand, or
89
+ * `api({ integrations: sharedObject })` referencing a non-literal value,
90
+ * or the entry file itself failing to parse) — in this case `integrations`
91
+ * is always `[]`.
92
+ */
93
+ export declare function extractApiIntegrations(params: {
94
+ source: string;
95
+ entryPoint: string;
96
+ readSource: (path: string) => Promise<string | undefined>;
97
+ }): Promise<ExtractApiIntegrationsResult>;
98
+ export declare function resolveRelativeImportPath(fromPath: string, importPath: string): string[];
23
99
  //# sourceMappingURL=extract-api-integrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-api-integrations.d.ts","sourceRoot":"","sources":["../src/extract-api-integrations.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AA6SF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,GACb,eAAe,EAAE,CAkFnB;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxE"}
1
+ {"version":3,"file":"extract-api-integrations.d.ts","sourceRoot":"","sources":["../src/extract-api-integrations.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAySF,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAqIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,GACb,eAAe,EAAE,CAWnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3D,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAsBxC;AAUD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAcV"}