@superblocksteam/vite-plugin-file-sync 2.0.127 → 2.0.128-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 (72) hide show
  1. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +1 -0
  2. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  3. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +3 -1
  4. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  5. package/dist/ai-service/index.d.ts +16 -0
  6. package/dist/ai-service/index.d.ts.map +1 -1
  7. package/dist/ai-service/index.js +141 -65
  8. package/dist/ai-service/index.js.map +1 -1
  9. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  10. package/dist/ai-service/integrations/store.js +2 -2
  11. package/dist/ai-service/integrations/store.js.map +1 -1
  12. package/dist/ai-service/llm/client.d.ts.map +1 -1
  13. package/dist/ai-service/llm/client.js +35 -9
  14. package/dist/ai-service/llm/client.js.map +1 -1
  15. package/dist/ai-service/llm/stream/config.d.ts +28 -0
  16. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  17. package/dist/ai-service/llm/stream/config.js +44 -1
  18. package/dist/ai-service/llm/stream/config.js.map +1 -1
  19. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
  20. package/dist/ai-service/llm/stream/errors.js +5 -0
  21. package/dist/ai-service/llm/stream/errors.js.map +1 -1
  22. package/dist/ai-service/llm/stream/event-bus.d.ts +2 -1
  23. package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -1
  24. package/dist/ai-service/llm/stream/event-bus.js.map +1 -1
  25. package/dist/ai-service/llm/stream/idle-monitor.d.ts +27 -3
  26. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  27. package/dist/ai-service/llm/stream/idle-monitor.js +72 -3
  28. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  29. package/dist/ai-service/llm/stream/index.d.ts +1 -1
  30. package/dist/ai-service/llm/stream/index.d.ts.map +1 -1
  31. package/dist/ai-service/llm/stream/index.js +1 -1
  32. package/dist/ai-service/llm/stream/index.js.map +1 -1
  33. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  34. package/dist/ai-service/llm/stream/managed-stream.js +19 -7
  35. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  36. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  37. package/dist/ai-service/llm/stream/orchestrator.js +49 -7
  38. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  39. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  40. package/dist/ai-service/llm/stream/retry-engine.js +16 -10
  41. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  42. package/dist/ai-service/llm/stream/session.d.ts +3 -0
  43. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  44. package/dist/ai-service/llm/stream/session.js +25 -3
  45. package/dist/ai-service/llm/stream/session.js.map +1 -1
  46. package/dist/ai-service/request-deduplicator.d.ts +35 -0
  47. package/dist/ai-service/request-deduplicator.d.ts.map +1 -0
  48. package/dist/ai-service/request-deduplicator.js +53 -0
  49. package/dist/ai-service/request-deduplicator.js.map +1 -0
  50. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts +12 -0
  51. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  52. package/dist/ai-service/state-machine/handlers/agent-planning.js +33 -12
  53. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  54. package/dist/ai-service/util/rpc-timeout.d.ts +12 -0
  55. package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -1
  56. package/dist/ai-service/util/rpc-timeout.js +12 -0
  57. package/dist/ai-service/util/rpc-timeout.js.map +1 -1
  58. package/dist/socket-manager.d.ts.map +1 -1
  59. package/dist/socket-manager.js.map +1 -1
  60. package/dist/sync-service/download.d.ts +10 -2
  61. package/dist/sync-service/download.d.ts.map +1 -1
  62. package/dist/sync-service/download.js +12 -5
  63. package/dist/sync-service/download.js.map +1 -1
  64. package/dist/sync-service/index.d.ts +22 -1
  65. package/dist/sync-service/index.d.ts.map +1 -1
  66. package/dist/sync-service/index.js +54 -1
  67. package/dist/sync-service/index.js.map +1 -1
  68. package/dist/util/logger.d.ts +13 -0
  69. package/dist/util/logger.d.ts.map +1 -1
  70. package/dist/util/logger.js +32 -0
  71. package/dist/util/logger.js.map +1 -1
  72. package/package.json +8 -8
@@ -26,4 +26,5 @@ export declare const exitPlanModeToolFactory: import("../types.js").ToolFactory<
26
26
  success?: undefined;
27
27
  displaced?: undefined;
28
28
  } | undefined>>;
29
+ export declare const EXIT_PLAN_MODE_PLAN_GENERATION_PROMPT_PREFIX = "Based on our conversation and the information gathered, create a specific, actionable plan.";
29
30
  //# sourceMappingURL=exit-plan-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit-plan-mode.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAwC7C;;GAEG;AACH,eAAO,MAAM,uBAAuB;WAMzB,KAAK;cACF,uBAAuB;;;;;;;;;;;;;;;;;;;;;eAyYpC,CAAC"}
1
+ {"version":3,"file":"exit-plan-mode.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAwC7C;;GAEG;AACH,eAAO,MAAM,uBAAuB;WAMzB,KAAK;cACF,uBAAuB;;;;;;;;;;;;;;;;;;;;;eA0YpC,CAAC;AAUF,eAAO,MAAM,4CAA4C,gGACsC,CAAC"}
@@ -132,6 +132,7 @@ ${filteredIntegrations
132
132
  retry: {
133
133
  maxAttempts: 0,
134
134
  },
135
+ observers: services.streamObservers,
135
136
  onError: (error) => {
136
137
  clark.logger.error("[exitPlanMode] LLM stream generation failed", getErrorMeta(error));
137
138
  },
@@ -318,8 +319,9 @@ const PLAN_TIME_ESTIMATES = {
318
319
  Large: "3 minutes",
319
320
  "Extra Large": "5+ minutes",
320
321
  };
322
+ export const EXIT_PLAN_MODE_PLAN_GENERATION_PROMPT_PREFIX = "Based on our conversation and the information gathered, create a specific, actionable plan.";
321
323
  const PLAN_GENERATION_PROMPT = `
322
- Based on our conversation and the information gathered, create a specific, actionable plan.
324
+ ${EXIT_PLAN_MODE_PLAN_GENERATION_PROMPT_PREFIX}
323
325
 
324
326
  IMPORTANT: You MUST output a plan. Even for trivial tasks, provide a brief plan describing what will be done.
325
327
 
@@ -1 +1 @@
1
- {"version":3,"file":"exit-plan-mode.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exit-plan-mode.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
64
64
  private readonly llmClient;
65
65
  private readonly stablePeer;
66
66
  private readonly toolRegistry;
67
+ private readonly requestDeduplicator;
67
68
  private readonly entityPermissionStore;
68
69
  private _onGenerationCompleteCallback;
69
70
  private tokenManagerJwt?;
@@ -190,6 +191,20 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
190
191
  removeIntegrationCache(): Promise<void>;
191
192
  private getLogger;
192
193
  private createClarkTransitionHandler;
194
+ /**
195
+ * Resolves the conversation context for a contextId that is not present
196
+ * locally, by downloading it from Bucketeer. Wired into ContextManagerV2 as
197
+ * its `remoteRestoreFallback`, so it runs on a cold/recycled pod where the
198
+ * editor reconnects and no local context exists.
199
+ *
200
+ * The download is keyed by commitId. It prefers `syncService.lastCommitId`
201
+ * (which `downloadDirectory()` seeds from the server's latest non-draft
202
+ * commit — the exact key the post-generation context upload uses) and only
203
+ * falls back to the most recent chat-history commitId when the sync service
204
+ * has none. Resolving the wrong key here is the context-loss this guards
205
+ * against, so the resolution is logged.
206
+ */
207
+ private remoteRestoreFallback;
193
208
  private getJwt;
194
209
  private buildContextManagementForCurrentClark;
195
210
  /**
@@ -305,6 +320,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
305
320
  approved: boolean;
306
321
  alwaysAllowPermissions?: AiToolPermission[];
307
322
  denyMessage?: string;
323
+ requestId?: string;
308
324
  }): Promise<void>;
309
325
  /**
310
326
  * Builds a continuation prompt when a tool permission is denied.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE7B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EAOlB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAML,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAyB1D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2CAA2C,CAAC;AAOnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAOtE,OAAO,EACL,iBAAiB,EAEjB,KAAK,4BAA4B,EAClC,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAYhE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAYlC,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAU5E,OAAO,EAAE,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAsC9E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAOpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,4BAA4B,CAE/B;AA6JD,wBAAgB,UAAU,CACxB,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAShC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQjD;AA2BD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,MAAM,GACf,CAAC,EAAE,CAkBL;AAsBD,qBAAa,SAAU,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IAyNpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAxNnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,aAAa,CAAgB;IACrC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CACR;IAC5B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CACD;IACrC,OAAO,CAAC,6BAA6B,CAA2B;IAChE,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,wBAAwB,CAAC,CAAmB;IACpD,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAC7C,OAAO,CAAC,oBAAoB,CAAC,CAG3B;IAEF,IAAW,UAAU,IAAI,eAAe,CAEvC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;;;;;;;;OAWG;IACI,oBAAoB,IAAI,iBAAiB;IAIhD;;OAEG;IACI,qBAAqB,CAC1B,UAAU,CAAC,EAAE,UAAU,EACvB,WAAW,CAAC,EAAE,kBAAkB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,IAAI;IAMP;;;OAGG;IACI,sBAAsB,CAAC,QAAQ,EAAE;QACtC,aAAa,EAAE,MAAM,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;KAC3C,GAAG,IAAI;IAID,yBAAyB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5D,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;;OAGG;IACI,YAAY,IAAI,SAAS,GAAG,IAAI;IAQvC;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;OAEG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACI,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACI,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAI7C;;;;OAIG;IACU,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;OAGG;IACI,mBAAmB,IAAI,gBAAgB;IAI9C;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAK/D,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED,IAAW,qBAAqB,IAAI,OAAO,CAE1C;IAED;;;;OAIG;IACI,gBAAgB,IAAI,OAAO;gBAIL,MAAM,EAAE,eAAe;IAsSpD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBnB,wBAAwB;IAiEtC;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,4BAA4B;IAiIpC;;;;;;;;;;;;OAYG;YACW,qBAAqB;IA0CnC,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,qCAAqC;IA8B7C;;;;;;;;;OASG;YACW,UAAU;IAoBxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,6BAA6B;YAYvB,UAAU;IAuBxB;;;;;;;OAOG;YACW,YAAY;YAuCZ,sBAAsB;IAOpC;;;;;;;;;;;OAWG;IACU,4BAA4B,CAAC,OAAO,EAAE;QACjD,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,iBAAiB,CAAC;QAC7B,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqHrD,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,sBAAsB,CAAS;IAE1B,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8G3D,mBAAmB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IA4NH,yBAAyB,CACpC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC;IAwMH,sBAAsB,CACjC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC;IAyJH,uBAAuB,CAClC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IA2HrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8D/B,OAAO,CAAC,0BAA0B;IAqBrB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1D,uBAAuB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvE;;;OAGG;IACU,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7C,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhD;;;OAGG;IACU,yBAAyB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,OAAO,GAAG,WAAW,GAC1B,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,GAAG,aAAa,CAAA;KAAE,CAAC;IA6BjD;;;OAGG;YACW,oBAAoB;IAiDlC;;;;;;;OAOG;YACW,oBAAoB;IA6CrB,kBAAkB,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAiDhB;;;;;;;;OAQG;IACU,+BAA+B,CAAC,OAAO,EAAE;QACpD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6VjB;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IA6B9B,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA0F7D,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4BnD,OAAO,CAAC,mBAAmB;IAQpB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAyB1C,kBAAkB,CAAC,SAAS,EAAE,gBAAgB;IA8C9C,uBAAuB,CAAC,EAAE,EAAE,MAAM;IAYlC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAqCjD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IA8ChE,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAqB/C,4BAA4B,IAAI,IAAI;IAY9B,0BAA0B,CAAC,OAAO,EAAE;QAC/C,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjB;;;;;;;;OAQG;IACU,qBAAqB,CAAC,OAAO,EAAE;QAC1C,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC1C,gBAAgB,CAAC,EAAE,GAAG,CAAC;KACxB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA8HrB,yBAAyB,CAAC,OAAO,EAAE;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CACT,oBAAoB,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CACzE;IAuOM,gBAAgB,CAAC,MAAM,EAAE,UAAU;IAQ7B,aAAa;IA0C1B;;;;OAIG;YACW,6BAA6B;IA6B3C;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMhD;;OAEG;IACU,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;OAEG;IACU,aAAa,CACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,SAAS,CAAC;IAKrB;;OAEG;IACU,WAAW,CACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAoFvB,qBAAqB,CAChC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAgEH,eAAe,CAAC,MAAM,EAAE,SAAS;IAkBvC,MAAM,IAAI,OAAO;IAQjB,cAAc,IAAI,OAAO;IAIhC;;;;OAIG;IACI,YAAY,IAAI,OAAO;IAS9B;;;;;;OAMG;IACU,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzD;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAQpB,gCAAgC,IAAI,OAAO,CAAC,OAAO,CAAC;IAY1D,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS;IAQzD,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB;IAMzD,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAI1C,aAAa,IAAI,aAAa,GAAG,SAAS;IAIjD,OAAO,CAAC,sBAAsB;CAoD/B"}
@@ -53,6 +53,7 @@ import { ClarkProfiler } from "./profiler/clark-profiler.js";
53
53
  import { explainEventHandlerCodePrompt } from "./prompts/explain-code.js";
54
54
  import { buildSummarizeApiUsagePrompt } from "./prompts/summarize-api-usage.js";
55
55
  import { RecordingManager, createRecordingFetch } from "./recording/index.js";
56
+ import { RequestDeduplicator } from "./request-deduplicator.js";
56
57
  import { ClarkStateNames, Clark, SERVICE_STARTED_WITH_DRAFT, USER_ACCEPTED_DRAFT, USER_REJECTED_DRAFT, USER_SENT_PROMPT, USER_CANCELED, AGENT_CANCELED, } from "./state-machine/clark-fsm.js";
57
58
  import { doAgentPlanning } from "./state-machine/handlers/agent-planning.js";
58
59
  import { doAwaitingUser } from "./state-machine/handlers/awaiting-user.js";
@@ -308,6 +309,7 @@ export class AiService extends TracedEventEmitter {
308
309
  llmClient;
309
310
  stablePeer = new StablePeer();
310
311
  toolRegistry = new ToolRegistry();
312
+ requestDeduplicator = new RequestDeduplicator();
311
313
  entityPermissionStore = new SessionEntityPermissionStore();
312
314
  _onGenerationCompleteCallback;
313
315
  tokenManagerJwt;
@@ -639,29 +641,7 @@ export class AiService extends TracedEventEmitter {
639
641
  planApproved: this.clark?.context?.planContext?.approved,
640
642
  };
641
643
  },
642
- remoteRestoreFallback: async (id) => {
643
- const jwt = this.getJwt();
644
- // Prefer the live sync service commitId (set after uploads), but on
645
- // fresh pods downloadDirectory doesn't set it. Fall back to the
646
- // most recent commitId from chat history (server-side, always
647
- // available after ensureLoadedFromServer).
648
- const commitId = this._syncContextProvider?.getLastCommitId() ??
649
- (await this.chatSessionStore.getLatestCommitId());
650
- const branchName = this._syncContextProvider?.getBranchName();
651
- if (!jwt || !commitId || !branchName) {
652
- return null;
653
- }
654
- return downloadContextFromBucketeer({
655
- applicationId: config.applicationId,
656
- commitId,
657
- branchName,
658
- superblocksBaseUrl: config.superblocksBaseUrl,
659
- logger: this.getLogger(),
660
- jwt,
661
- contextId: id,
662
- appRootDirPath: config.appRootDirPath,
663
- });
664
- },
644
+ remoteRestoreFallback: (id) => this.remoteRestoreFallback(id),
665
645
  });
666
646
  this.llmClient = new LLMClient({
667
647
  contextManagerV2: this.contextManagerV2,
@@ -924,6 +904,53 @@ export class AiService extends TracedEventEmitter {
924
904
  };
925
905
  };
926
906
  }
907
+ /**
908
+ * Resolves the conversation context for a contextId that is not present
909
+ * locally, by downloading it from Bucketeer. Wired into ContextManagerV2 as
910
+ * its `remoteRestoreFallback`, so it runs on a cold/recycled pod where the
911
+ * editor reconnects and no local context exists.
912
+ *
913
+ * The download is keyed by commitId. It prefers `syncService.lastCommitId`
914
+ * (which `downloadDirectory()` seeds from the server's latest non-draft
915
+ * commit — the exact key the post-generation context upload uses) and only
916
+ * falls back to the most recent chat-history commitId when the sync service
917
+ * has none. Resolving the wrong key here is the context-loss this guards
918
+ * against, so the resolution is logged.
919
+ */
920
+ async remoteRestoreFallback(id) {
921
+ const jwt = this.getJwt();
922
+ const lastCommitId = this._syncContextProvider?.getLastCommitId();
923
+ const commitId = lastCommitId ?? (await this.chatSessionStore.getLatestCommitId());
924
+ const commitIdSource = lastCommitId
925
+ ? "syncService.lastCommitId"
926
+ : commitId
927
+ ? "chatSessionStore.getLatestCommitId"
928
+ : "unavailable";
929
+ const branchName = this._syncContextProvider?.getBranchName();
930
+ if (!jwt || !commitId || !branchName) {
931
+ // A missing JWT is expected startup churn on a fresh pod (this runs
932
+ // before auth is ready), so stay quiet there. Warn on the authed case
933
+ // with no commitId/branch — that silently drops context, so it must
934
+ // surface in the warn/error dashboards rather than hide at info level.
935
+ if (jwt) {
936
+ this.getLogger().warn(`[context-restore] remoteRestoreFallback found no restore key: commitId=${commitId ?? "<none>"} source=${commitIdSource} branch=${branchName ?? "<none>"}`);
937
+ }
938
+ return null;
939
+ }
940
+ // Make the resolution observable: this class of mismatch was previously
941
+ // silent past "No context found for commitId" / "Creating new context".
942
+ this.getLogger().info(`[context-restore] remoteRestoreFallback resolved commitId=${commitId} source=${commitIdSource} branch=${branchName}`);
943
+ return downloadContextFromBucketeer({
944
+ applicationId: this.config.applicationId,
945
+ commitId,
946
+ branchName,
947
+ superblocksBaseUrl: this.config.superblocksBaseUrl,
948
+ logger: this.getLogger(),
949
+ jwt,
950
+ contextId: id,
951
+ appRootDirPath: this.config.appRootDirPath,
952
+ });
953
+ }
927
954
  getJwt() {
928
955
  if (this.tokenManagerJwt) {
929
956
  return this.tokenManagerJwt;
@@ -1183,54 +1210,76 @@ export class AiService extends TracedEventEmitter {
1183
1210
  if (this.clark.state === ClarkStateNames.Dead) {
1184
1211
  throw new Error("Service is unavailable");
1185
1212
  }
1213
+ // a reconnect can cause the client to re-send this prompt
1214
+ if (request.requestId && this.requestDeduplicator.has(request.requestId)) {
1215
+ this.getLogger().info("[ai-service] Ignoring duplicate aiGenerate re-send", { requestId: request.requestId });
1216
+ return;
1217
+ }
1186
1218
  if (this.isBusy()) {
1187
1219
  this.getLogger().warn("[ai-service] Service is busy. State:", this.clark.state);
1188
1220
  throw new Error("Service is busy");
1189
1221
  }
1190
1222
  await this.ensureAiQuotaAvailable(request.jwt);
1191
- this.clarkProfiler.startSession();
1192
- getLogger().info("AI Service received request with llmConfig:", request.llmConfig || {});
1193
- getLogger().info("[ai-service] handleAiGenerate received request", {
1194
- requestMode: request.mode,
1195
- currentContextMode: this.clark.context.currentMode,
1196
- requestPlanContextApproved: request.planContext?.approved,
1197
- existingPlanContextApproved: this.clark.context.planContext?.approved,
1198
- responseMetadataType: request.responseMetadata?.type,
1199
- });
1200
- // Generate prompt_id for this user interaction
1201
- const promptId = randomUUID();
1202
- getLogger().info("[ai-service] Generated prompt_id for user interaction", {
1203
- promptId,
1204
- applicationId: this.config.applicationId,
1205
- });
1206
- this.clark.updateContext((context) => {
1207
- return {
1208
- ...context,
1223
+ if (request.requestId &&
1224
+ !this.requestDeduplicator.markIfNew(request.requestId)) {
1225
+ this.getLogger().warn("[ai-service] Ignoring duplicate aiGenerate re-send (lost dedup race)", { requestId: request.requestId });
1226
+ return;
1227
+ }
1228
+ // The id is now recorded. If anything below throws before generation is
1229
+ // actually kicked off (the `transitionTo` USER_SENT_PROMPT), evict it so a
1230
+ // legitimate reconnect re-send of this same prompt is not swallowed as a
1231
+ // duplicate while nothing is running. (APPS-4663)
1232
+ try {
1233
+ this.clarkProfiler.startSession();
1234
+ getLogger().info("AI Service received request with llmConfig:", request.llmConfig || {});
1235
+ getLogger().info("[ai-service] handleAiGenerate received request", {
1236
+ requestMode: request.mode,
1237
+ currentContextMode: this.clark.context.currentMode,
1238
+ requestPlanContextApproved: request.planContext?.approved,
1239
+ existingPlanContextApproved: this.clark.context.planContext?.approved,
1240
+ responseMetadataType: request.responseMetadata?.type,
1241
+ });
1242
+ // Generate prompt_id for this user interaction
1243
+ const promptId = randomUUID();
1244
+ getLogger().info("[ai-service] Generated prompt_id for user interaction", {
1209
1245
  promptId,
1210
- useMockGeneration: request.mockGeneration ?? false,
1211
- planContext: mergePlanContexts(context.planContext, request.planContext),
1212
- browserContext: request.browserContext,
1213
- // Initialize workflow metrics tracking
1214
- workflowMetrics: {
1215
- toolCallCount: 0,
1216
- stepCount: 0,
1217
- linesAdded: 0,
1218
- linesEdited: 0,
1219
- linesRemoved: 0,
1220
- llmUsage: [],
1221
- llmCallCount: 0,
1222
- workflowStartedAt: new Date().toISOString(),
1223
- },
1224
- llmConfig: request.llmConfig,
1225
- partialResponse: undefined,
1226
- userPreferences: request.userPreferences,
1227
- };
1228
- });
1229
- const transitionTo = transitionFrom(this.clark);
1230
- void transitionTo({
1231
- type: USER_SENT_PROMPT,
1232
- request,
1233
- });
1246
+ applicationId: this.config.applicationId,
1247
+ });
1248
+ this.clark.updateContext((context) => {
1249
+ return {
1250
+ ...context,
1251
+ promptId,
1252
+ useMockGeneration: request.mockGeneration ?? false,
1253
+ planContext: mergePlanContexts(context.planContext, request.planContext),
1254
+ browserContext: request.browserContext,
1255
+ // Initialize workflow metrics tracking
1256
+ workflowMetrics: {
1257
+ toolCallCount: 0,
1258
+ stepCount: 0,
1259
+ linesAdded: 0,
1260
+ linesEdited: 0,
1261
+ linesRemoved: 0,
1262
+ llmUsage: [],
1263
+ llmCallCount: 0,
1264
+ workflowStartedAt: new Date().toISOString(),
1265
+ },
1266
+ llmConfig: request.llmConfig,
1267
+ partialResponse: undefined,
1268
+ userPreferences: request.userPreferences,
1269
+ };
1270
+ });
1271
+ const transitionTo = transitionFrom(this.clark);
1272
+ void transitionTo({
1273
+ type: USER_SENT_PROMPT,
1274
+ request,
1275
+ });
1276
+ }
1277
+ catch (error) {
1278
+ if (request.requestId) {
1279
+ this.requestDeduplicator.forget(request.requestId);
1280
+ }
1281
+ throw error;
1282
+ }
1234
1283
  }
1235
1284
  async handleAiExplainCode(request) {
1236
1285
  if (this.clark.state === ClarkStateNames.Dead) {
@@ -1854,6 +1903,13 @@ export class AiService extends TracedEventEmitter {
1854
1903
  if (this.clark.state === ClarkStateNames.Dead) {
1855
1904
  throw new Error("Service is unavailable");
1856
1905
  }
1906
+ // peek (do not record) so a re-sent prompt is dropped before the
1907
+ // interrupt path tears down the in-flight generation. `handleAiGenerate` is
1908
+ // the single recording point and stamps the id once this proceeds.
1909
+ if (request.requestId && this.requestDeduplicator.has(request.requestId)) {
1910
+ this.getLogger().info("[ai-service] Ignoring duplicate aiGenerateWithQueue re-send", { requestId: request.requestId, mode });
1911
+ return { status: "started" };
1912
+ }
1857
1913
  if (!this.isBusy()) {
1858
1914
  await this.handleAiGenerate(request);
1859
1915
  return { status: "started" };
@@ -1986,6 +2042,17 @@ export class AiService extends TracedEventEmitter {
1986
2042
  async handleAiRespondToToolPermission(request) {
1987
2043
  const logger = this.getLogger();
1988
2044
  logger.info(`[ai-service] handleAiRespondToToolPermission: messageId=${request.messageId}, approved=${request.approved}`);
2045
+ // a reconnect can cause the client to re-send this response. If
2046
+ // we already applied a response with this requestId, treat the repeat as a
2047
+ // no-op so the tool is not executed (or denied) twice for the same user
2048
+ // decision. Only a peek here — the id is recorded once the response is
2049
+ // accepted below.
2050
+ if (request.requestId && this.requestDeduplicator.has(request.requestId)) {
2051
+ logger.info("[ai-service] Ignoring duplicate tool-permission re-send", {
2052
+ requestId: request.requestId,
2053
+ });
2054
+ return;
2055
+ }
1989
2056
  const pendingRequest = this.clark.context.pendingToolPermissionRequest;
1990
2057
  logger.info(`[ai-service] Pending request: ${JSON.stringify(pendingRequest)}`);
1991
2058
  if (!pendingRequest) {
@@ -1996,6 +2063,15 @@ export class AiService extends TracedEventEmitter {
1996
2063
  logger.warn(`[ai-service] Message ID mismatch: expected=${pendingRequest.messageId}, got=${request.messageId}`);
1997
2064
  throw new Error("Message ID mismatch");
1998
2065
  }
2066
+ // The response is now accepted (matches the pending request). Record its id
2067
+ // and honor the result so a re-send dropped here can't be applied twice. A
2068
+ // duplicate that loses the atomic `markIfNew` bails before the tool runs.
2069
+ // (APPS-4663)
2070
+ if (request.requestId &&
2071
+ !this.requestDeduplicator.markIfNew(request.requestId)) {
2072
+ logger.warn("[ai-service] Ignoring duplicate tool-permission re-send (lost dedup race)", { requestId: request.requestId });
2073
+ return;
2074
+ }
1999
2075
  logger.info(`[ai-service] Clearing pending request`);
2000
2076
  // Clear the pending request and notify UI
2001
2077
  clearPendingToolPermissionRequest(this.clark, "tool-permission-response");