@superblocksteam/vite-plugin-file-sync 2.0.154 → 2.0.155-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 (140) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +23 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +84 -29
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +2 -0
  6. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -1
  7. package/dist/ai-service/agent/subagents/apis/prompt-builder.js +11 -2
  8. package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -1
  9. package/dist/ai-service/agent/tool-permission-delivery.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tool-permission-delivery.js +4 -0
  11. package/dist/ai-service/agent/tool-permission-delivery.js.map +1 -1
  12. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +29 -0
  13. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts.map +1 -0
  14. package/dist/ai-service/agent/tools/app-environment/update-app-environment.js +387 -0
  15. package/dist/ai-service/agent/tools/app-environment/update-app-environment.js.map +1 -0
  16. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.d.ts +58 -0
  17. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.d.ts.map +1 -0
  18. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.js +258 -0
  19. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.js.map +1 -0
  20. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +18 -6
  21. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
  22. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +203 -51
  23. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
  24. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts +12 -10
  25. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools/databases/dev-database-tools.js +29 -8
  27. package/dist/ai-service/agent/tools/databases/dev-database-tools.js.map +1 -1
  28. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +3 -0
  29. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/integrations/metadata.js +10 -2
  31. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
  32. package/dist/ai-service/agent/tools.d.ts +9 -1
  33. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools.js +25 -1
  35. package/dist/ai-service/agent/tools.js.map +1 -1
  36. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +8 -0
  37. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +104 -14
  39. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  40. package/dist/ai-service/app-interface/npm-registry.d.ts +9 -0
  41. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  42. package/dist/ai-service/app-interface/npm-registry.js +50 -1
  43. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  44. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  45. package/dist/ai-service/app-skills/helpers.js +1 -0
  46. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  47. package/dist/ai-service/dev-database-client.d.ts +3 -1
  48. package/dist/ai-service/dev-database-client.d.ts.map +1 -1
  49. package/dist/ai-service/dev-database-client.js.map +1 -1
  50. package/dist/ai-service/features.d.ts +24 -0
  51. package/dist/ai-service/features.d.ts.map +1 -1
  52. package/dist/ai-service/features.js +24 -0
  53. package/dist/ai-service/features.js.map +1 -1
  54. package/dist/ai-service/helper-system-ai-attributes.d.ts +19 -0
  55. package/dist/ai-service/helper-system-ai-attributes.d.ts.map +1 -0
  56. package/dist/ai-service/helper-system-ai-attributes.js +17 -0
  57. package/dist/ai-service/helper-system-ai-attributes.js.map +1 -0
  58. package/dist/ai-service/index.d.ts +58 -2
  59. package/dist/ai-service/index.d.ts.map +1 -1
  60. package/dist/ai-service/index.js +186 -34
  61. package/dist/ai-service/index.js.map +1 -1
  62. package/dist/ai-service/integrations/store.d.ts +3 -0
  63. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  64. package/dist/ai-service/integrations/store.js +3 -0
  65. package/dist/ai-service/integrations/store.js.map +1 -1
  66. package/dist/ai-service/live-edit-events/bridge.d.ts +21 -0
  67. package/dist/ai-service/live-edit-events/bridge.d.ts.map +1 -0
  68. package/dist/ai-service/live-edit-events/bridge.js +52 -0
  69. package/dist/ai-service/live-edit-events/bridge.js.map +1 -0
  70. package/dist/ai-service/live-edit-events/forwarder.d.ts +158 -0
  71. package/dist/ai-service/live-edit-events/forwarder.d.ts.map +1 -0
  72. package/dist/ai-service/live-edit-events/forwarder.js +403 -0
  73. package/dist/ai-service/live-edit-events/forwarder.js.map +1 -0
  74. package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -0
  75. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  76. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  77. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  78. package/dist/ai-service/state-machine/handlers/awaiting-user.js +4 -0
  79. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  80. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  81. package/dist/ai-service/state-machine/handlers/idle.js +3 -0
  82. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  83. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +2 -0
  84. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  85. package/dist/ai-service/state-machine/handlers/llm-generating.js +93 -3
  86. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  87. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.d.ts +27 -0
  88. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.d.ts.map +1 -0
  89. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.js +34 -0
  90. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.js.map +1 -0
  91. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  92. package/dist/ai-service/state-machine/helpers/peer.js +24 -0
  93. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  94. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts.map +1 -1
  95. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js +4 -0
  96. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js.map +1 -1
  97. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +103 -1
  98. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
  99. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +263 -3
  100. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
  101. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +143 -0
  102. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  103. package/dist/ai-service/state-machine/helpers/stable-peer.js +220 -2
  104. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  105. package/dist/ai-service/tasks/peer-push.d.ts.map +1 -1
  106. package/dist/ai-service/tasks/peer-push.js +7 -0
  107. package/dist/ai-service/tasks/peer-push.js.map +1 -1
  108. package/dist/dev-server-ws-smoke-client.d.ts.map +1 -1
  109. package/dist/dev-server-ws-smoke-client.js +1 -0
  110. package/dist/dev-server-ws-smoke-client.js.map +1 -1
  111. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  112. package/dist/file-sync-vite-plugin.js +9 -2
  113. package/dist/file-sync-vite-plugin.js.map +1 -1
  114. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  115. package/dist/lock-service/activity-tracker.js +5 -6
  116. package/dist/lock-service/activity-tracker.js.map +1 -1
  117. package/dist/lock-service/index.d.ts +56 -1
  118. package/dist/lock-service/index.d.ts.map +1 -1
  119. package/dist/lock-service/index.js +158 -13
  120. package/dist/lock-service/index.js.map +1 -1
  121. package/dist/rename-manager.d.ts.map +1 -1
  122. package/dist/rename-manager.js +2 -6
  123. package/dist/rename-manager.js.map +1 -1
  124. package/dist/socket-manager.d.ts +64 -0
  125. package/dist/socket-manager.d.ts.map +1 -1
  126. package/dist/socket-manager.js +236 -51
  127. package/dist/socket-manager.js.map +1 -1
  128. package/dist/util/logger.d.ts +2 -0
  129. package/dist/util/logger.d.ts.map +1 -1
  130. package/dist/util/logger.js +5 -0
  131. package/dist/util/logger.js.map +1 -1
  132. package/package.json +9 -9
  133. package/dist/parsing/entity/to-code-entity.d.ts +0 -3
  134. package/dist/parsing/entity/to-code-entity.d.ts.map +0 -1
  135. package/dist/parsing/entity/to-code-entity.js +0 -77
  136. package/dist/parsing/entity/to-code-entity.js.map +0 -1
  137. package/dist/parsing/entity/to-value-entity.d.ts +0 -8
  138. package/dist/parsing/entity/to-value-entity.d.ts.map +0 -1
  139. package/dist/parsing/entity/to-value-entity.js +0 -129
  140. package/dist/parsing/entity/to-value-entity.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { z } from "zod";
2
- import { DATABASE_LIFECYCLE_MANAGED_BY } from "@superblocksteam/shared";
2
+ import { DATABASE_LIFECYCLE_MANAGED_BY, sanitizeLifecycleProviderDiagnostics, } from "@superblocksteam/shared";
3
3
  import { getLogger } from "../../../../util/logger.js";
4
4
  import { DevDatabaseClientError } from "../../../dev-database-client.js";
5
5
  import { scrubSecrets, stripUnsafeChars } from "../../../types.js";
6
6
  import { PermissionLevel, ToolCategory } from "../../tools2/types.js";
7
+ import { declaresDestructiveChange } from "./destructive-migration-prompt.js";
7
8
  export {};
8
9
  // Master parity: the only user-controlled requirement fields are
9
10
  // `logicalName` and (optionally) `migrationDirectory`. Engine, extensions,
@@ -73,12 +74,24 @@ export const watchDevDatabaseProvisionTaskMetadata = {
73
74
  };
74
75
  // Clark must not pin migrate to a provision-primary bindingKey. The server
75
76
  // fans out migrate_schema across every eligible editor Environments datatag
76
- // (ENG-3469). The only LLM-facing field is acknowledgeDestructive.
77
+ // (ENG-3469). The only LLM-facing fields are the three that describe a
78
+ // deletion; filling any of them is what puts the apply behind a confirmation
79
+ // card. There is no acknowledgement flag: the acknowledgement the server wants
80
+ // is issued by this client only after the user answers that card, so Clark
81
+ // cannot authorize its own destructive apply.
77
82
  const applyMigrationsInputSchema = z.object({
78
- acknowledgeDestructive: z
79
- .boolean()
83
+ destructiveChangeDetails: z
84
+ .string()
85
+ .optional()
86
+ .describe("What the migrations about to run will delete, written for the person approving (for example: 'The 0004_drop_orders.sql migration deletes the orders table, including the 1,200 orders in it.'). Name the tables, columns, and rows in plain words - no SQL, no file paths the reader cannot act on. One short line per migration file. Shown on the confirmation card under 'What changes'."),
87
+ destructiveChangeReason: z
88
+ .string()
80
89
  .optional()
81
- .describe("Set true to re-request a destructive apply after a prior call failed with DESTRUCTIVE_MIGRATION_ACK_REQUIRED (DROP TABLE/DATABASE/SCHEMA, TRUNCATE, DROP COLUMN). This raises a permission request the user must approve before the destructive change runs; you do not need a separate chat confirmation first."),
90
+ .describe("One short sentence saying why the deletion is needed, written for the person approving (for example: 'Orders now live in the purchases table this app just built.'). Shown on the confirmation card under 'Why'."),
91
+ destructiveChangeSummary: z
92
+ .string()
93
+ .optional()
94
+ .describe("The deletion as a short phrase that completes the question 'Ok if I ...?' - for example 'delete the orders table and the 1,200 rows in it' or 'make 3 changes that delete data'. No leading 'Ok if I', no trailing question mark, and do not mention the database (the card says which one). Shown as the confirmation card's headline, so it is the one line the user is guaranteed to read."),
82
95
  });
83
96
  const applyMigrationsHandleSchema = z.object({
84
97
  bindingKey: z.string().min(1).optional(),
@@ -125,8 +138,18 @@ export const provisionDevDatabaseTaskMetadata = {
125
138
  */
126
139
  export const applyDevDatabaseMigrationsTaskMetadata = {
127
140
  category: ToolCategory.DATA,
128
- // ALLOW for additive migrations. Schema-destroying SQL is blocked by the
129
- // server until acknowledgeDestructive is set after an explicit user confirm.
141
+ // ALLOW for additive migrations. An apply Clark says deletes something
142
+ // escalates to a confirmation card via getRequiredPermissions (see the tool
143
+ // factory), and an apply that declares nothing is refused by the server when
144
+ // it turns out to contain destructive SQL.
145
+ //
146
+ // Be precise about the guarantee: the acknowledgment is one boolean for the
147
+ // whole apply, not per statement. It says "a person approved this call", not
148
+ // "every deletion in it was described". A partial declaration - Clark spots
149
+ // one DROP and misses another in the same apply - still authorizes both, and
150
+ // the card only describes what Clark wrote. Closing that needs the server to
151
+ // hand back a token over its findings and the retry to send it back; the
152
+ // guidance below leans on Clark covering every flagged statement until then.
130
153
  defaultPermission: PermissionLevel.ALLOW,
131
154
  // Substance mirrors master's `applyMigrations`: SQL files come from the
132
155
  // binding's `migrationDirectory` set on provisionDatabase (no implicit
@@ -137,7 +160,7 @@ export const applyDevDatabaseMigrationsTaskMetadata = {
137
160
  description: "Run the application's working-state SQL migrations against every eligible editor datatag binding for this application's App Databases as a BACKGROUND TASK. Returns a taskId IMMEDIATELY; the user already sees live progress in the chat's background-tasks indicator. " +
138
161
  "DO NOT call waitForTask right after this — that defeats the whole point of a background task and blocks your turn while migrations run. Instead: keep working on anything that does not need migrations to have landed yet (UI scaffolding, additional API code, the next migration file). When you reach a step that genuinely needs migrationState='migrated' (for example, executing a SELECT against the new tables), FIRST call checkTask({ taskId }) — it returns instantly. Only fall back to waitForTask if checkTask still reports state='running' AND there is nothing else useful to do. " +
139
162
  "REQUIRED after provisionDatabase if any application tables need to exist — provisioning only creates an empty App Database. Reads SQL files from each binding's migrationDirectory set on provisionDatabase and applies any not yet recorded in the in-DB migration ledger; if provisionDatabase did not set a migrationDirectory, no SQL files are loaded. Seed/INSERT rows belong in migrations only when deployed apps will always need that data; for authoring-only test/demo data insert at runtime against the integration instead of a .sql seed file. Re-firing is safe; already-applied versions are skipped. The terminal result includes migrationState='migrated' on success. " +
140
- "If the server returns errorCode DESTRUCTIVE_MIGRATION_ACK_REQUIRED, immediately re-call startApplyDevDatabaseMigrations with acknowledgeDestructive=true. That re-call raises a permission request the user approves or denies in the UI before any destructive change runs - the approval button is the confirmation, so you do not need to ask in chat first. Never run the migration another way (for example raw SQL) or tell the user to drop objects manually.",
163
+ "If any migration this apply will run deletes something (DROP TABLE/DATABASE/SCHEMA, TRUNCATE, DROP COLUMN), say so on THIS call by filling destructiveChangeSummary, destructiveChangeDetails, and destructiveChangeReason. Those three are the plain-language copy on the confirmation card, so write them for a non-technical builder and cover every deleting statement - the user sees your copy and nothing else, so anything you leave out gets deleted without them knowing. Filling them pauses this call, shows the card, and resumes the same call automatically if the user approves; you do not need to ask in chat, set any acknowledgement, or call this tool again. If you do not declare it and the server returns errorCode DESTRUCTIVE_MIGRATION_ACK_REQUIRED, nothing has run: call again with those three fields filled in. Never run the migration another way (for example raw SQL) or tell the user to drop objects manually.",
141
164
  externalHandleSchema: applyMigrationsHandleSchema,
142
165
  inputSchema: applyMigrationsInputSchema,
143
166
  name: "startApplyDevDatabaseMigrations",
@@ -152,15 +175,49 @@ const TERMINAL_LIFECYCLE_STATES = new Set([
152
175
  * lifecycle fields. Matches `SAFE_INTERP_MAX_LEN` in build-install-packages.ts
153
176
  * so a multi-KB provider string cannot crowd out the rest of agent context. */
154
177
  const LIFECYCLE_FAILURE_FIELD_MAX_LEN = 100;
155
- function sanitizeLifecycleFailureField(value) {
178
+ const LIFECYCLE_PROVIDER_DIAGNOSTICS_DETAIL_MAX_LEN = 512;
179
+ function sanitizeLifecycleFailureText(value, maxLength) {
156
180
  // Defense-in-depth for LLM-facing task fields: server already redacts
157
181
  // credential material, but worker messages / labels can still carry
158
182
  // newlines / backticks that would otherwise reach agent context verbatim.
183
+ const scrubbed = stripUnsafeChars(scrubSecrets(value)).trim();
184
+ return scrubbed.length > maxLength
185
+ ? `${scrubbed.slice(0, maxLength - 1).trimEnd()}…`
186
+ : scrubbed;
187
+ }
188
+ function sanitizeLifecycleFailureField(value) {
159
189
  const scrubbed = stripUnsafeChars(scrubSecrets(value)).trim();
160
190
  return scrubbed.length > LIFECYCLE_FAILURE_FIELD_MAX_LEN
161
191
  ? `${scrubbed.slice(0, LIFECYCLE_FAILURE_FIELD_MAX_LEN)}…`
162
192
  : scrubbed;
163
193
  }
194
+ function sanitizeProviderDiagnostics(diagnostics) {
195
+ return (sanitizeLifecycleProviderDiagnostics(diagnostics) ?? []).map((diagnostic) => {
196
+ if (diagnostic.provider === "aws") {
197
+ return {
198
+ errorCode: sanitizeLifecycleFailureField(diagnostic.errorCode),
199
+ nextAction: diagnostic.nextAction,
200
+ operation: sanitizeLifecycleFailureField(diagnostic.operation),
201
+ phase: diagnostic.phase,
202
+ provider: diagnostic.provider,
203
+ ...(diagnostic.requestId
204
+ ? {
205
+ requestId: sanitizeLifecycleFailureField(diagnostic.requestId),
206
+ }
207
+ : {}),
208
+ retryable: diagnostic.retryable,
209
+ service: sanitizeLifecycleFailureField(diagnostic.service),
210
+ };
211
+ }
212
+ return {
213
+ nextAction: diagnostic.nextAction,
214
+ phase: diagnostic.phase,
215
+ provider: diagnostic.provider,
216
+ retryable: diagnostic.retryable,
217
+ sqlState: sanitizeLifecycleFailureField(diagnostic.sqlState),
218
+ };
219
+ });
220
+ }
164
221
  const DEFAULT_PROVIDER_LABEL = "App Database";
165
222
  /**
166
223
  * APPS-5377: Clark historically assumed "Amazon RDS" because tool copy
@@ -270,6 +327,35 @@ const LIFECYCLE_FAILURE_AGENT_GUIDANCE = {
270
327
  unsupported_provider_capability: "The agent does not support this database operation; update OPA lifecycle configuration, then retry.",
271
328
  },
272
329
  };
330
+ function formatProviderDiagnostics(diagnostics) {
331
+ if (!diagnostics?.length) {
332
+ return undefined;
333
+ }
334
+ const details = sanitizeProviderDiagnostics(diagnostics).flatMap((diagnostic) => {
335
+ const phase = sanitizeLifecycleFailureField(diagnostic.phase);
336
+ if (diagnostic.provider === "aws") {
337
+ const service = sanitizeLifecycleFailureField(diagnostic.service.toUpperCase());
338
+ const operation = sanitizeLifecycleFailureField(diagnostic.operation);
339
+ const errorCode = sanitizeLifecycleFailureField(diagnostic.errorCode);
340
+ if (!service || !operation || !errorCode) {
341
+ return [];
342
+ }
343
+ const requestId = diagnostic.requestId
344
+ ? sanitizeLifecycleFailureField(diagnostic.requestId)
345
+ : "";
346
+ return [
347
+ `${service} ${operation} failed with ${errorCode}${requestId ? ` (request ${requestId})` : ""} during ${phase}`,
348
+ ];
349
+ }
350
+ const sqlState = sanitizeLifecycleFailureField(diagnostic.sqlState);
351
+ return sqlState
352
+ ? [`PostgreSQL failed with SQLSTATE ${sqlState} during ${phase}`]
353
+ : [];
354
+ });
355
+ return details.length > 0
356
+ ? sanitizeLifecycleFailureText(`Provider diagnostics: ${details.join("; ")}`, LIFECYCLE_PROVIDER_DIAGNOSTICS_DETAIL_MAX_LEN)
357
+ : undefined;
358
+ }
273
359
  function formatLifecycleTaskFailure(action, response,
274
360
  // Durable id from the persisted task handle when progress omits it
275
361
  // (Scout / Bugbot: ProvisionHandle.requestId must be read, not only written).
@@ -306,6 +392,10 @@ fallbackRequestId) {
306
392
  else {
307
393
  detail = `${action} failed`;
308
394
  }
395
+ const providerDiagnostics = formatProviderDiagnostics(response.errorDiagnostics);
396
+ if (providerDiagnostics) {
397
+ detail = `${detail}. ${providerDiagnostics}`;
398
+ }
309
399
  const agentGuidance = code
310
400
  ? LIFECYCLE_FAILURE_AGENT_GUIDANCE[action][code]
311
401
  : undefined;
@@ -365,20 +455,37 @@ function withEntityTag(response, fallbackLogicalName) {
365
455
  * common case here: the task completes while some datatags carry provider
366
456
  * errors. */
367
457
  function withSanitizedTargets(response) {
458
+ const { errorDiagnostics, ...responseWithoutDiagnostics } = response;
459
+ const sanitizedResponseDiagnostics = sanitizeProviderDiagnostics(errorDiagnostics);
368
460
  if (!response.targets || response.targets.length === 0) {
369
- return response;
461
+ return {
462
+ ...responseWithoutDiagnostics,
463
+ ...(sanitizedResponseDiagnostics.length > 0
464
+ ? { errorDiagnostics: sanitizedResponseDiagnostics }
465
+ : {}),
466
+ };
370
467
  }
371
468
  return {
372
- ...response,
373
- targets: response.targets.map((target) => ({
374
- ...target,
375
- ...(target.errorCode
376
- ? { errorCode: sanitizeLifecycleFailureField(target.errorCode) }
377
- : {}),
378
- ...(target.errorMessage
379
- ? { errorMessage: sanitizeLifecycleFailureField(target.errorMessage) }
380
- : {}),
381
- })),
469
+ ...responseWithoutDiagnostics,
470
+ ...(sanitizedResponseDiagnostics.length > 0
471
+ ? { errorDiagnostics: sanitizedResponseDiagnostics }
472
+ : {}),
473
+ targets: response.targets.map((target) => {
474
+ const { errorDiagnostics: targetDiagnostics, ...targetWithoutDiagnostics } = target;
475
+ const sanitizedTargetDiagnostics = sanitizeProviderDiagnostics(targetDiagnostics);
476
+ return {
477
+ ...targetWithoutDiagnostics,
478
+ ...(target.errorCode
479
+ ? { errorCode: sanitizeLifecycleFailureField(target.errorCode) }
480
+ : {}),
481
+ ...(sanitizedTargetDiagnostics.length > 0
482
+ ? { errorDiagnostics: sanitizedTargetDiagnostics }
483
+ : {}),
484
+ ...(target.errorMessage
485
+ ? { errorMessage: sanitizeLifecycleFailureField(target.errorMessage) }
486
+ : {}),
487
+ };
488
+ }),
382
489
  };
383
490
  }
384
491
  const REGISTERING_CONNECTION_MESSAGE = "Database provisioned; registering the connection";
@@ -455,23 +562,62 @@ const DEFAULT_MIGRATION_TASK_LABEL = "the database schema update";
455
562
  const MAX_MIGRATION_FILENAMES_IN_TASK_LABEL = 3;
456
563
  /**
457
564
  * Deterministic next step for Clark when the server blocks a destructive
458
- * migration. This is deliberately kept out of the length-capped `error`
459
- * field (see the precondition branch below): `error` is clamped to
460
- * LIFECYCLE_FAILURE_FIELD_MAX_LEN, so a findings list would truncate the
461
- * instruction and Clark would improvise (for example try to run the DROP as
462
- * raw SQL, or tell the user to drop the object by hand). `detail` is not
463
- * clamped, so the whole instruction reaches the model verbatim.
565
+ * migration it did not declare. This is the backstop, not the main path: when
566
+ * Clark fills the `destructiveChange*` fields the confirmation card is raised
567
+ * before anything reaches the server, and no block happens.
568
+ *
569
+ * Kept out of the length-capped `error` field (see the precondition branch
570
+ * below): `error` is clamped to LIFECYCLE_FAILURE_FIELD_MAX_LEN, so the
571
+ * instruction and the list of blocked statements would truncate and Clark
572
+ * would improvise (for example try to run the DROP as raw SQL, or tell the
573
+ * user to drop the object by hand). `detail` is not clamped, so the whole
574
+ * instruction reaches the model verbatim.
464
575
  *
465
- * Re-calling with `acknowledgeDestructive=true` is what raises the
466
- * user-facing permission request; the approval button is the confirmation,
467
- * so Clark must not seek a separate chat confirmation first, and must not try
468
- * to bypass the block.
576
+ * Clark writes the user-facing copy because it is the only party holding both
577
+ * the migration SQL and the conversation that asked for it; the statements the
578
+ * server flagged are appended below so the copy can account for all of them.
469
579
  */
470
- const DESTRUCTIVE_MIGRATION_ACK_AGENT_GUIDANCE = "This apply includes destructive schema changes and needs the user's " +
471
- "permission. Re-call startApplyDevDatabaseMigrations with " +
472
- "acknowledgeDestructive=true; that raises a permission request the user " +
473
- "approves or denies before anything is dropped. Do not run the SQL another " +
474
- "way and do not ask the user to drop objects manually.";
580
+ const DESTRUCTIVE_MIGRATION_ACK_AGENT_GUIDANCE = "Nothing ran: these migrations delete something, and you did not say so on " +
581
+ "the call. Call startApplyDevDatabaseMigrations again with " +
582
+ "destructiveChangeSummary, destructiveChangeDetails, and " +
583
+ "destructiveChangeReason filled in: plain-language copy, written for a " +
584
+ "non-technical builder, saying what each flagged statement deletes and why " +
585
+ "it is needed. Read the migration files if you need to before writing it. " +
586
+ "Cover every statement listed below - the user sees only your copy, so " +
587
+ "anything you leave out is deleted without them knowing. If the list ends " +
588
+ "with a count of statements it did not show, say that total on the card and " +
589
+ "describe the rest in aggregate (how many files, what kinds of deletion) " +
590
+ "rather than writing as though the ones you can see are all of them. That " +
591
+ "call shows the user a confirmation card and resumes by itself when they " +
592
+ "approve, so there is no acknowledgement flag to set and nothing to ask in " +
593
+ "chat. Do not run the SQL another way and do not ask the user to drop " +
594
+ "objects manually.";
595
+ const MAX_FLAGGED_STATEMENTS_IN_AGENT_DETAIL = 25;
596
+ /**
597
+ * The blocked statements, for the uncapped `detail` field. Each field is
598
+ * sanitized on its own so a hostile filename cannot smuggle newlines or
599
+ * backticks into agent context, and the list is bounded so a migration set
600
+ * with hundreds of drops cannot crowd out the instruction above it.
601
+ */
602
+ function flaggedStatementsForAgent(findings) {
603
+ if (findings.length === 0) {
604
+ return "";
605
+ }
606
+ const listed = findings
607
+ .slice(0, MAX_FLAGGED_STATEMENTS_IN_AGENT_DETAIL)
608
+ .map((finding) => `${sanitizeLifecycleFailureField(finding.fileName)} (${sanitizeLifecycleFailureField(finding.kind)})`)
609
+ .join("; ");
610
+ const hidden = findings.length - MAX_FLAGGED_STATEMENTS_IN_AGENT_DETAIL;
611
+ if (hidden <= 0) {
612
+ return ` Statements the server flagged (${findings.length} total): ${listed}.`;
613
+ }
614
+ // The total goes first: Clark is told to cover every statement, and without
615
+ // the total it cannot tell that the list it can see is a subset, so it would
616
+ // write copy that reads as complete while N deletions go undescribed.
617
+ return (` Statements the server flagged (${findings.length} total, first ` +
618
+ `${MAX_FLAGGED_STATEMENTS_IN_AGENT_DETAIL} shown): ${listed}; and ` +
619
+ `${hidden} more not shown here.`);
620
+ }
475
621
  const SINGLE_APP_DATABASE_PRECONDITION_AGENT_GUIDANCE = "This application already has an App Database, and only one App Database " +
476
622
  "per application is supported. Explain that limit to the user. Do not add " +
477
623
  "tables, migrations, or schema to the existing database as a substitute for " +
@@ -822,9 +968,18 @@ export function createDevDatabaseTaskTypes(deps) {
822
968
  // every eligible editor Environments datatag. Passing the
823
969
  // provision-primary key left siblings provisioned but without
824
970
  // projected integration configs (migrations never ran there).
971
+ // The acknowledgment rides on Clark's declaration, and a declared
972
+ // apply only reaches this line after the registry showed the user a
973
+ // confirmation card and they approved it (see the tool factory in
974
+ // dev-database-tools.ts). So "declared" here means "a person said
975
+ // yes to this exact call", which is what the server is asking for.
825
976
  response = await deps.getClient().applyMigrations({
826
977
  applicationId: deps.applicationId,
827
- ...(input.acknowledgeDestructive === true
978
+ ...(declaresDestructiveChange({
979
+ details: input.destructiveChangeDetails,
980
+ reason: input.destructiveChangeReason,
981
+ summary: input.destructiveChangeSummary,
982
+ })
828
983
  ? { acknowledgeDestructive: true }
829
984
  : {}),
830
985
  });
@@ -838,28 +993,25 @@ export function createDevDatabaseTaskTypes(deps) {
838
993
  response.errorCode ??
839
994
  "applyMigrations precondition failed");
840
995
  const isDestructiveAck = response.errorCode === "DESTRUCTIVE_MIGRATION_ACK_REQUIRED";
841
- const findingsSuffix = isDestructiveAck &&
842
- Array.isArray(response.findings) &&
843
- response.findings.length > 0
844
- ? sanitizeLifecycleFailureField(`Findings: ${response.findings
845
- .map((finding) => `${sanitizeLifecycleFailureField(finding.fileName)} (${sanitizeLifecycleFailureField(finding.kind)})`)
846
- .join("; ")}`)
847
- : "";
848
- const error = sanitizeLifecycleFailureField(findingsSuffix ? `${baseError} ${findingsSuffix}` : baseError);
996
+ const blockedFindings = isDestructiveAck && Array.isArray(response.findings)
997
+ ? response.findings
998
+ : [];
849
999
  return {
850
1000
  externalHandle: {
851
1001
  requestId: "precondition-failure",
852
1002
  },
853
1003
  initialStatus: {
854
1004
  state: "failed",
855
- error,
856
- // The re-call instruction goes in `detail`, not `error`: `error`
857
- // is clamped, so a findings list would truncate the actionable
858
- // step. `detail` reaches Clark verbatim, so it reliably re-calls
859
- // with acknowledgeDestructive=true and the user gets a permission
860
- // request instead of Clark improvising a bypass.
1005
+ error: baseError,
1006
+ // The instruction and the blocked statements both go in `detail`,
1007
+ // not `error`: `error` is clamped, so either would truncate.
1008
+ // `detail` reaches Clark verbatim, so it reliably calls again with
1009
+ // copy covering every statement which is what raises the
1010
+ // confirmation card — instead of improvising a bypass.
861
1011
  ...(isDestructiveAck
862
- ? { detail: DESTRUCTIVE_MIGRATION_ACK_AGENT_GUIDANCE }
1012
+ ? {
1013
+ detail: `${DESTRUCTIVE_MIGRATION_ACK_AGENT_GUIDANCE}${flaggedStatementsForAgent(blockedFindings)}`,
1014
+ }
863
1015
  : {}),
864
1016
  },
865
1017
  label: DEFAULT_MIGRATION_TASK_LABEL,
@@ -1 +1 @@
1
- {"version":3,"file":"dev-database-tasks.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/databases/dev-database-tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-database-tasks.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/databases/dev-database-tasks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { AiEntityType, AiPermissionType } from "@superblocksteam/library-shared/types";
2
2
  declare const applyMigrationsBaseFactory: import("../../tools2/types.js").ToolFactory<import("../../../tasks/factory.js").BackgroundTaskToolDeps, import("../../tools2/types.js").Tool<unknown, import("../../../tasks/factory.js").StartToolOutput>>;
3
+ /** What the permission card renders: header question plus markdown body. */
4
+ type FormattedApplyMigrationsInput = {
5
+ details?: string;
6
+ summary?: string;
7
+ targets: string[];
8
+ };
3
9
  /**
4
10
  * LLM-facing `startApplyDevDatabaseMigrations` tool factory. Module-scoped
5
11
  * so the registry registers the same instance across turns; the matching
@@ -9,20 +15,16 @@ declare const applyMigrationsBaseFactory: import("../../tools2/types.js").ToolFa
9
15
  * type up by name at `start` time, so the module-scoped factory never
10
16
  * needs the per-session deps itself.
11
17
  *
12
- * When `acknowledgeDestructive` is true (retry after a destructive soft
13
- * fail), escalate to a WRITE permission prompt so the user confirms with
14
- * a button before the authoring-mode apply runs.
18
+ * When Clark says the apply deletes something, the tool reports a WRITE
19
+ * permission. The registry turns that into a confirmation card and stops the
20
+ * call, then re-runs this same call once the user answers yes - the same path
21
+ * `testApi` uses for a write it detected. Clark is not asked to acknowledge
22
+ * anything or to call again; the user's answer is what lets the apply through.
15
23
  */
16
24
  export declare const startApplyDevDatabaseMigrationsToolFactory: {
17
25
  name: string;
18
26
  create: (deps: Parameters<typeof applyMigrationsBaseFactory.create>[0]) => {
19
- formatInput: (input: unknown) => {
20
- targets: string[];
21
- summary?: undefined;
22
- } | {
23
- targets: string[];
24
- summary: string;
25
- };
27
+ formatInput: (input: unknown) => FormattedApplyMigrationsInput;
26
28
  getRequiredPermissions: (input: unknown) => {
27
29
  entityType: AiEntityType;
28
30
  entityId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dev-database-tools.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/databases/dev-database-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAQ/C,QAAA,MAAM,0BAA0B,6MAE/B,CAAC;AAOF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0CAA0C;;mBAEtC,UAAU,CAAC,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;6BAI7C,OAAO;;;;;;;wCAWI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,6MAExC,CAAC"}
1
+ {"version":3,"file":"dev-database-tools.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/databases/dev-database-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAa/C,QAAA,MAAM,0BAA0B,6MAE/B,CAAC;AASF,4EAA4E;AAC5E,KAAK,6BAA6B,GAAG;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAeF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0CAA0C;;mBAEtC,UAAU,CAAC,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;6BAI7C,OAAO,KAAG,6BAA6B;wCAqB5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,6MAExC,CAAC"}
@@ -1,7 +1,17 @@
1
1
  import { AiEntityType, AiPermissionType, } from "@superblocksteam/library-shared/types";
2
+ import { getLogger } from "../../../../util/logger.js";
2
3
  import { defineBackgroundTaskFactory } from "../../../tasks/factory.js";
4
+ import { buildDestructiveApplyPrompt, declaresDestructiveChange, } from "./destructive-migration-prompt.js";
3
5
  import { applyDevDatabaseMigrationsTaskMetadata, provisionDevDatabaseTaskMetadata, } from "./dev-database-tasks.js";
4
6
  const applyMigrationsBaseFactory = defineBackgroundTaskFactory(applyDevDatabaseMigrationsTaskMetadata);
7
+ function copyFrom(input) {
8
+ const { destructiveChangeDetails, destructiveChangeReason, destructiveChangeSummary, } = input;
9
+ return {
10
+ details: destructiveChangeDetails,
11
+ reason: destructiveChangeReason,
12
+ summary: destructiveChangeSummary,
13
+ };
14
+ }
5
15
  /**
6
16
  * LLM-facing `startApplyDevDatabaseMigrations` tool factory. Module-scoped
7
17
  * so the registry registers the same instance across turns; the matching
@@ -11,9 +21,11 @@ const applyMigrationsBaseFactory = defineBackgroundTaskFactory(applyDevDatabaseM
11
21
  * type up by name at `start` time, so the module-scoped factory never
12
22
  * needs the per-session deps itself.
13
23
  *
14
- * When `acknowledgeDestructive` is true (retry after a destructive soft
15
- * fail), escalate to a WRITE permission prompt so the user confirms with
16
- * a button before the authoring-mode apply runs.
24
+ * When Clark says the apply deletes something, the tool reports a WRITE
25
+ * permission. The registry turns that into a confirmation card and stops the
26
+ * call, then re-runs this same call once the user answers yes - the same path
27
+ * `testApi` uses for a write it detected. Clark is not asked to acknowledge
28
+ * anything or to call again; the user's answer is what lets the apply through.
17
29
  */
18
30
  export const startApplyDevDatabaseMigrationsToolFactory = {
19
31
  name: applyMigrationsBaseFactory.name,
@@ -22,18 +34,27 @@ export const startApplyDevDatabaseMigrationsToolFactory = {
22
34
  return {
23
35
  ...tool,
24
36
  formatInput: (input) => {
25
- const { acknowledgeDestructive } = input;
26
- if (acknowledgeDestructive !== true) {
37
+ const copy = copyFrom(input);
38
+ if (!declaresDestructiveChange(copy)) {
27
39
  return { targets: ["dev database"] };
28
40
  }
41
+ const prompt = buildDestructiveApplyPrompt(copy);
42
+ if (prompt.missing.length > 0) {
43
+ // A card missing Clark's copy is the outcome this whole path exists
44
+ // to avoid, so it gets logged rather than quietly shipped: either
45
+ // Clark stopped writing the copy, or it wrote something the card
46
+ // refused to render (credential material).
47
+ getLogger().warn(`[devDatabase] destructive confirmation card is missing copy Clark should have written: ${prompt.missing.join(", ")}`);
48
+ }
29
49
  return {
30
50
  targets: ["dev database"],
31
- summary: "These migrations include destructive schema changes listed in the previous apply error. Ok if I apply them to the dev database?",
51
+ summary: prompt.summary,
52
+ details: prompt.details,
32
53
  };
33
54
  },
34
55
  getRequiredPermissions: (input) => {
35
- const { acknowledgeDestructive, bindingKey } = input;
36
- if (acknowledgeDestructive !== true) {
56
+ const { bindingKey } = input;
57
+ if (!declaresDestructiveChange(copyFrom(input))) {
37
58
  return [];
38
59
  }
39
60
  return [