@superblocksteam/vite-plugin-file-sync 2.0.149 → 2.0.150-next.0
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.
- package/dist/ai-service/agent/prompts/api-prompts.js +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +38 -10
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +20 -4
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js +1 -1
- package/dist/ai-service/agent/tools/apis/analysis.d.ts +6 -0
- package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/analysis.js +130 -26
- package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +2 -2
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +131 -31
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts +2 -2
- package/dist/ai-service/agent/tools/build-delete-file.js +3 -3
- package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.d.ts +41 -21
- package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.js +299 -20
- package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.js +2 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +161 -24
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +312 -55
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +3 -3
- package/dist/ai-service/agent/tools.d.ts +10 -11
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +38 -19
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +9 -8
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
- package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/index.js +2 -3
- package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
- package/dist/ai-service/app-interface/npm-package-lookup.d.ts +22 -0
- package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-package-lookup.js +111 -0
- package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +71 -3
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +575 -23
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/app-interface/vulnerability-gate.d.ts +83 -0
- package/dist/ai-service/app-interface/vulnerability-gate.d.ts.map +1 -0
- package/dist/ai-service/app-interface/vulnerability-gate.js +543 -0
- package/dist/ai-service/app-interface/vulnerability-gate.js.map +1 -0
- package/dist/ai-service/dev-database-client.d.ts +14 -4
- package/dist/ai-service/dev-database-client.d.ts.map +1 -1
- package/dist/ai-service/dev-database-client.js +1 -24
- package/dist/ai-service/dev-database-client.js.map +1 -1
- package/dist/ai-service/features.d.ts +5 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +5 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +2 -0
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +30 -7
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +3 -0
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +2 -0
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/managed-native-db-availability.d.ts +62 -0
- package/dist/ai-service/managed-native-db-availability.d.ts.map +1 -0
- package/dist/ai-service/managed-native-db-availability.js +37 -0
- package/dist/ai-service/managed-native-db-availability.js.map +1 -0
- package/dist/ai-service/security/vulnerability-triage.d.ts +90 -0
- package/dist/ai-service/security/vulnerability-triage.d.ts.map +1 -0
- package/dist/ai-service/security/vulnerability-triage.js +113 -0
- package/dist/ai-service/security/vulnerability-triage.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +13 -0
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +4 -0
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +2 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +11 -0
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +51 -4
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
- package/dist/ai-service/tasks/factory.d.ts +2 -0
- package/dist/ai-service/tasks/factory.d.ts.map +1 -1
- package/dist/ai-service/tasks/factory.js +7 -0
- package/dist/ai-service/tasks/factory.js.map +1 -1
- package/dist/ai-service/types.d.ts +57 -3
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js +20 -0
- package/dist/ai-service/types.js.map +1 -1
- package/dist/migration/restructure.js +1 -1
- package/dist/migration-templates/app-fullstack/client/pages/{Page1 → Home}/index.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/router.tsx +1 -1
- package/dist/migration-templates/app-fullstack/package.json +2 -2
- package/dist/npm/apply-package-json-substitutions.d.ts +19 -0
- package/dist/npm/apply-package-json-substitutions.d.ts.map +1 -0
- package/dist/npm/apply-package-json-substitutions.js +108 -0
- package/dist/npm/apply-package-json-substitutions.js.map +1 -0
- package/dist/policy-gate-callback-mapper.d.ts +1 -1
- package/dist/policy-gate-callback-mapper.d.ts.map +1 -1
- package/dist/policy-gate-callback-mapper.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { DATABASE_LIFECYCLE_MANAGED_BY } from "@superblocksteam/shared";
|
|
2
3
|
import { getLogger } from "../../../../util/logger.js";
|
|
3
4
|
import { DevDatabaseClientError } from "../../../dev-database-client.js";
|
|
4
5
|
import { scrubSecrets, stripUnsafeChars } from "../../../types.js";
|
|
5
6
|
import { PermissionLevel, ToolCategory } from "../../tools2/types.js";
|
|
7
|
+
export {};
|
|
6
8
|
// Master parity: the only user-controlled requirement fields are
|
|
7
9
|
// `logicalName` and (optionally) `migrationDirectory`. Engine, extensions,
|
|
8
10
|
// sizing, replicaCount, version, and the dev environment name are
|
|
@@ -28,23 +30,55 @@ const provisionHandleSchema = z.object({
|
|
|
28
30
|
integrationId: z.string().optional(),
|
|
29
31
|
lifecycleState: z.string().optional(),
|
|
30
32
|
logicalName: z.string().optional(),
|
|
33
|
+
// Datatag (Profile.key) this task is tracking. Set when ensure fans out.
|
|
34
|
+
profile: z.string().min(1).optional(),
|
|
31
35
|
// Correlates to the server-side lifecycle_request row for oncall/debug
|
|
32
36
|
// (mirrors ApplyMigrationsHandle). Persisted on the task handle so
|
|
33
37
|
// classified failures still carry a durable request id even when the
|
|
34
38
|
// user-facing error string omits it.
|
|
35
39
|
requestId: z.string().min(1).optional(),
|
|
36
40
|
requirement: databaseRequirementSchema,
|
|
41
|
+
// Watch tasks this fan-out started for the other datatags. Clark waits on
|
|
42
|
+
// the primary task only, so the primary reports success only once these are
|
|
43
|
+
// done — the migrate step that follows skips datatags that are not ready.
|
|
44
|
+
siblingTaskIds: z.array(z.string().min(1)).optional(),
|
|
45
|
+
// Total editor datatags this ensure covered (including this task). Used
|
|
46
|
+
// by the kickoff tool title to show "N tags".
|
|
47
|
+
tagCount: z.number().int().positive().optional(),
|
|
48
|
+
// Sibling watches set this so poll uses migrationState (not lifecycleState)
|
|
49
|
+
// after ensure already left the binding ready.
|
|
50
|
+
watchKind: z.enum(["provision", "migration"]).optional(),
|
|
37
51
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
52
|
+
/** Poll-only sibling for a fanned-out ensure/migrate target (no second kickoff). */
|
|
53
|
+
const watchProvisionInputSchema = z.object({
|
|
54
|
+
bindingKey: z.string().min(1),
|
|
55
|
+
logicalName: z.string().min(1),
|
|
56
|
+
profile: z.string().min(1),
|
|
57
|
+
requestId: z.string().min(1).optional(),
|
|
58
|
+
initialFailed: z.boolean().optional(),
|
|
59
|
+
initialError: z.string().optional(),
|
|
60
|
+
// provision: complete when lifecycleState is terminal.
|
|
61
|
+
// migration: complete when migrationState is migrated/failed (binding may
|
|
62
|
+
// already be ready from ensure).
|
|
63
|
+
watchKind: z.enum(["provision", "migration"]).optional(),
|
|
44
64
|
});
|
|
65
|
+
export const watchDevDatabaseProvisionTaskMetadata = {
|
|
66
|
+
category: ToolCategory.DATA,
|
|
67
|
+
defaultPermission: PermissionLevel.ALLOW,
|
|
68
|
+
description: "Internal: poll lifecycle progress for one fanned-out datatag binding. Not for direct LLM use.",
|
|
69
|
+
externalHandleSchema: provisionHandleSchema,
|
|
70
|
+
inputSchema: watchProvisionInputSchema,
|
|
71
|
+
name: "watchDevDatabaseProvision",
|
|
72
|
+
pollSchedule: { factor: 1.5, initialMs: 2_000, maxMs: 30_000 },
|
|
73
|
+
};
|
|
74
|
+
// Empty LLM input: Clark must not pin migrate to a provision-primary
|
|
75
|
+
// bindingKey. The server fans out migrate_schema across every eligible
|
|
76
|
+
// editor Environments datatag (ENG-3469).
|
|
77
|
+
const applyMigrationsInputSchema = z.object({});
|
|
45
78
|
const applyMigrationsHandleSchema = z.object({
|
|
46
79
|
bindingKey: z.string().min(1).optional(),
|
|
47
80
|
requestId: z.string().min(1),
|
|
81
|
+
siblingTaskIds: z.array(z.string().min(1)).optional(),
|
|
48
82
|
});
|
|
49
83
|
/**
|
|
50
84
|
* Module-scoped metadata for the provision-dev-database background task.
|
|
@@ -67,9 +101,9 @@ export const provisionDevDatabaseTaskMetadata = {
|
|
|
67
101
|
// dev environment name are platform-controlled, so they're not in the
|
|
68
102
|
// input. BG wrapping (taskId, don't waitForTask, check first) is the
|
|
69
103
|
// only behavioral delta from master.
|
|
70
|
-
description: "Create or reuse a
|
|
104
|
+
description: "Create or reuse a dev App Database binding for this application on Amazon RDS as a BACKGROUND TASK. Clark provisions the database and returns lifecycle progress. Returns a taskId IMMEDIATELY while RDS provisioning runs in the background; the user already sees live progress in the chat's background-tasks indicator. " +
|
|
71
105
|
"DO NOT call waitForTask right after this — that defeats the whole point of a background task and blocks your turn for minutes while RDS spins up. Instead: keep working on whatever does NOT depend on the database (scaffold the UI, draft API code that will use the binding, write SQL migration files, plan next steps). When you reach a step that genuinely cannot proceed without the connection details, FIRST call checkTask({ taskId }) — it returns instantly. Only fall back to waitForTask if checkTask still reports state='running' AND you literally have no other useful work to do. " +
|
|
72
|
-
'On completion the result includes bindingKey, integrationId, lifecycleState, connectionMetadata
|
|
106
|
+
'On completion the result includes bindingKey, integrationId, lifecycleState, and connectionMetadata. App Database bindings use IAM authentication. Use integrationId only for tool inputs or generated source code such as postgres(...); do not repeat internal UUIDs in user-facing chat. When declaring the integration in an SDK API, derive a valid lowercase snake_case integrations map key from requirement.logicalName (normalize non-alphanumeric to _, prefix db_ if needed, disambiguate collisions; e.g. pokemon_tracker → pokemon_tracker: postgres(POKEMON_TRACKER), Orders DB → orders_db) so code and TraceView match the database name — never a generic key like db. This task ONLY creates the database server + an integration; it does NOT apply SQL migrations — query attempts will fail with `relation "X" does not exist` until you call startApplyDevDatabaseMigrations. Cancellation only stops local polling; the underlying RDS provisioning continues on the server.',
|
|
73
107
|
externalHandleSchema: provisionHandleSchema,
|
|
74
108
|
inputSchema: provisionInputSchema,
|
|
75
109
|
name: "provisionDatabase",
|
|
@@ -92,9 +126,9 @@ export const applyDevDatabaseMigrationsTaskMetadata = {
|
|
|
92
126
|
// automatically, which is a lie when provisionDatabase didn't set
|
|
93
127
|
// one). BG wrapping (taskId, don't waitForTask, check first) is the
|
|
94
128
|
// only behavioral delta from master.
|
|
95
|
-
description: "Run the application's working-state SQL migrations against
|
|
129
|
+
description: "Run the application's working-state SQL migrations against every eligible editor datatag binding for this application's Amazon RDS databases as a BACKGROUND TASK. Returns a taskId IMMEDIATELY; the user already sees live progress in the chat's background-tasks indicator. " +
|
|
96
130
|
"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. " +
|
|
97
|
-
"REQUIRED after provisionDatabase if any application tables need to exist — provisioning only creates an empty RDS database. Reads SQL files from
|
|
131
|
+
"REQUIRED after provisionDatabase if any application tables need to exist — provisioning only creates an empty RDS 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 edit-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.",
|
|
98
132
|
externalHandleSchema: applyMigrationsHandleSchema,
|
|
99
133
|
inputSchema: applyMigrationsInputSchema,
|
|
100
134
|
name: "startApplyDevDatabaseMigrations",
|
|
@@ -221,10 +255,31 @@ fallbackRequestId) {
|
|
|
221
255
|
userDefault;
|
|
222
256
|
return { error, detail };
|
|
223
257
|
}
|
|
258
|
+
/** A completed task hands its whole result to the LLM, so per-datatag error text
|
|
259
|
+
* needs the same scrubbing a top-level failure gets. Partial success is the
|
|
260
|
+
* common case here: the task completes while some datatags carry provider
|
|
261
|
+
* errors. */
|
|
262
|
+
function withSanitizedTargets(response) {
|
|
263
|
+
if (!response.targets || response.targets.length === 0) {
|
|
264
|
+
return response;
|
|
265
|
+
}
|
|
266
|
+
return {
|
|
267
|
+
...response,
|
|
268
|
+
targets: response.targets.map((target) => ({
|
|
269
|
+
...target,
|
|
270
|
+
...(target.errorCode
|
|
271
|
+
? { errorCode: sanitizeLifecycleFailureField(target.errorCode) }
|
|
272
|
+
: {}),
|
|
273
|
+
...(target.errorMessage
|
|
274
|
+
? { errorMessage: sanitizeLifecycleFailureField(target.errorMessage) }
|
|
275
|
+
: {}),
|
|
276
|
+
})),
|
|
277
|
+
};
|
|
278
|
+
}
|
|
224
279
|
function lifecycleStatusFor(response, fallbackRequestId) {
|
|
225
280
|
switch (response.lifecycleState) {
|
|
226
281
|
case "ready":
|
|
227
|
-
return { state: "completed", result: response };
|
|
282
|
+
return { state: "completed", result: withSanitizedTargets(response) };
|
|
228
283
|
case "failed": {
|
|
229
284
|
const { error, detail } = formatLifecycleTaskFailure("dev database provisioning", response, fallbackRequestId);
|
|
230
285
|
return { state: "failed", error, detail };
|
|
@@ -239,7 +294,7 @@ function lifecycleStatusFor(response, fallbackRequestId) {
|
|
|
239
294
|
function migrationStatusFor(response, fallbackRequestId) {
|
|
240
295
|
switch (response.migrationState) {
|
|
241
296
|
case "migrated":
|
|
242
|
-
return { state: "completed", result: response };
|
|
297
|
+
return { state: "completed", result: withSanitizedTargets(response) };
|
|
243
298
|
case "failed": {
|
|
244
299
|
const { error, detail } = formatLifecycleTaskFailure("applying migrations", response, fallbackRequestId);
|
|
245
300
|
return { state: "failed", error, detail };
|
|
@@ -252,6 +307,30 @@ function migrationStatusFor(response, fallbackRequestId) {
|
|
|
252
307
|
function isPreconditionFailure(response) {
|
|
253
308
|
return ("ok" in response && response.ok === false && !("bindingKey" in response));
|
|
254
309
|
}
|
|
310
|
+
const DEFAULT_MIGRATION_TASK_LABEL = "the database schema update";
|
|
311
|
+
const MAX_MIGRATION_FILENAMES_IN_TASK_LABEL = 3;
|
|
312
|
+
function migrationTaskLabel(response) {
|
|
313
|
+
if (response.migrationState === "failed") {
|
|
314
|
+
return DEFAULT_MIGRATION_TASK_LABEL;
|
|
315
|
+
}
|
|
316
|
+
const migrations = response.dispatchPayload?.migrations;
|
|
317
|
+
if (migrations === undefined) {
|
|
318
|
+
return response.migrationState === "migrated"
|
|
319
|
+
? "Database migrations already up to date"
|
|
320
|
+
: DEFAULT_MIGRATION_TASK_LABEL;
|
|
321
|
+
}
|
|
322
|
+
if (migrations.length === 0) {
|
|
323
|
+
return "No database migration files to apply";
|
|
324
|
+
}
|
|
325
|
+
const filenames = migrations
|
|
326
|
+
.slice(0, MAX_MIGRATION_FILENAMES_IN_TASK_LABEL)
|
|
327
|
+
.map(({ filename }) => sanitizeLifecycleFailureField(filename));
|
|
328
|
+
if (filenames.some((filename) => filename.length === 0)) {
|
|
329
|
+
return DEFAULT_MIGRATION_TASK_LABEL;
|
|
330
|
+
}
|
|
331
|
+
const remaining = Math.max(0, migrations.length - MAX_MIGRATION_FILENAMES_IN_TASK_LABEL);
|
|
332
|
+
return `Database migrations: ${filenames.join(", ")}${remaining > 0 ? ` (+${remaining} more)` : ""}`;
|
|
333
|
+
}
|
|
255
334
|
function updateProvisionHandleFromResponse(handle, response) {
|
|
256
335
|
handle.engine = response.engine;
|
|
257
336
|
handle.integrationId = response.integrationId;
|
|
@@ -268,17 +347,163 @@ function updateProvisionHandleFromResponse(handle, response) {
|
|
|
268
347
|
*
|
|
269
348
|
* Called once per AiService when the TaskStore is constructed.
|
|
270
349
|
*/
|
|
350
|
+
function provisionLabel(logicalName, profile) {
|
|
351
|
+
return profile
|
|
352
|
+
? `a new database (${logicalName} · ${profile})`
|
|
353
|
+
: `a new database (${logicalName})`;
|
|
354
|
+
}
|
|
355
|
+
function fanOutTargetsFromResponse(response) {
|
|
356
|
+
if (response.targets && response.targets.length > 0) {
|
|
357
|
+
return response.targets;
|
|
358
|
+
}
|
|
359
|
+
return [
|
|
360
|
+
{
|
|
361
|
+
bindingKey: response.bindingKey,
|
|
362
|
+
lifecycleState: response.lifecycleState,
|
|
363
|
+
migrationState: response.migrationState,
|
|
364
|
+
ok: response.lifecycleState !== "failed" && !response.errorCode,
|
|
365
|
+
profile: "default",
|
|
366
|
+
requestId: response.requestId,
|
|
367
|
+
},
|
|
368
|
+
];
|
|
369
|
+
}
|
|
370
|
+
async function spawnSiblingWatchTasks(deps, { logicalName, primaryBindingKey, targets, toolOpts, watchKind = "provision", }) {
|
|
371
|
+
const taskStore = deps.getTaskStore?.();
|
|
372
|
+
if (!taskStore) {
|
|
373
|
+
return [];
|
|
374
|
+
}
|
|
375
|
+
const startedTaskIds = [];
|
|
376
|
+
const ownerUserId = deps.getCurrentOwnerId?.();
|
|
377
|
+
const siblings = targets.filter((target) => target.bindingKey !== primaryBindingKey);
|
|
378
|
+
for (const target of siblings) {
|
|
379
|
+
try {
|
|
380
|
+
const rawInitialError = !target.ok
|
|
381
|
+
? (target.errorMessage ??
|
|
382
|
+
target.errorCode ??
|
|
383
|
+
(watchKind === "migration"
|
|
384
|
+
? "datatag migration failed"
|
|
385
|
+
: "datatag provision failed"))
|
|
386
|
+
: undefined;
|
|
387
|
+
const started = await taskStore.start(watchDevDatabaseProvisionTaskMetadata.name, {
|
|
388
|
+
bindingKey: target.bindingKey,
|
|
389
|
+
logicalName,
|
|
390
|
+
profile: target.profile,
|
|
391
|
+
watchKind,
|
|
392
|
+
...(target.requestId ? { requestId: target.requestId } : {}),
|
|
393
|
+
...(rawInitialError
|
|
394
|
+
? {
|
|
395
|
+
initialFailed: true,
|
|
396
|
+
initialError: sanitizeLifecycleFailureField(rawInitialError),
|
|
397
|
+
}
|
|
398
|
+
: {}),
|
|
399
|
+
}, toolOpts, ownerUserId !== undefined ? { ownerUserId } : undefined);
|
|
400
|
+
startedTaskIds.push(started.taskId);
|
|
401
|
+
}
|
|
402
|
+
catch (error) {
|
|
403
|
+
getLogger().warn({ err: error, profile: target.profile }, "[devDatabase] failed to start sibling watch task for fanned-out datatag");
|
|
404
|
+
// Do not let the primary task report completion without this datatag in
|
|
405
|
+
// siblingTaskIds. That would make Clark proceed to migrations while the
|
|
406
|
+
// unobserved binding may still be provisioning.
|
|
407
|
+
throw error;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return startedTaskIds;
|
|
411
|
+
}
|
|
412
|
+
function stillWorkingSiblingCount(deps, siblingTaskIds) {
|
|
413
|
+
if (!siblingTaskIds || siblingTaskIds.length === 0) {
|
|
414
|
+
return 0;
|
|
415
|
+
}
|
|
416
|
+
const taskStore = deps.getTaskStore?.();
|
|
417
|
+
if (!taskStore) {
|
|
418
|
+
return 0;
|
|
419
|
+
}
|
|
420
|
+
return siblingTaskIds.filter((taskId) => taskStore.get(taskId)?.state === "running").length;
|
|
421
|
+
}
|
|
422
|
+
/** Clark waits on the kickoff task only. Reporting success there while another
|
|
423
|
+
* datatag is still working lets the migrate step that follows run against a
|
|
424
|
+
* datatag that is not ready yet, which silently skips it. */
|
|
425
|
+
function heldForSiblings(deps, status, siblingTaskIds) {
|
|
426
|
+
if (status.state !== "completed") {
|
|
427
|
+
return status;
|
|
428
|
+
}
|
|
429
|
+
const working = stillWorkingSiblingCount(deps, siblingTaskIds);
|
|
430
|
+
if (working === 0) {
|
|
431
|
+
return status;
|
|
432
|
+
}
|
|
433
|
+
return {
|
|
434
|
+
state: "running",
|
|
435
|
+
message: `waiting for ${working} more ${working === 1 ? "datatag" : "datatags"}`,
|
|
436
|
+
};
|
|
437
|
+
}
|
|
271
438
|
export function createDevDatabaseTaskTypes(deps) {
|
|
439
|
+
const watchDevDatabaseProvisionTaskType = {
|
|
440
|
+
...watchDevDatabaseProvisionTaskMetadata,
|
|
441
|
+
start: async (input) => {
|
|
442
|
+
const watchKind = input.watchKind ?? "provision";
|
|
443
|
+
const label = watchKind === "migration"
|
|
444
|
+
? `the database schema update (${input.logicalName} · ${input.profile})`
|
|
445
|
+
: provisionLabel(input.logicalName, input.profile);
|
|
446
|
+
const handle = {
|
|
447
|
+
bindingKey: input.bindingKey,
|
|
448
|
+
logicalName: input.logicalName,
|
|
449
|
+
profile: input.profile,
|
|
450
|
+
requirement: { logicalName: input.logicalName },
|
|
451
|
+
watchKind,
|
|
452
|
+
...(input.requestId ? { requestId: input.requestId } : {}),
|
|
453
|
+
};
|
|
454
|
+
if (input.initialFailed) {
|
|
455
|
+
return {
|
|
456
|
+
externalHandle: handle,
|
|
457
|
+
initialStatus: {
|
|
458
|
+
state: "failed",
|
|
459
|
+
error: input.initialError ??
|
|
460
|
+
(watchKind === "migration"
|
|
461
|
+
? "datatag migration failed"
|
|
462
|
+
: "datatag provision failed"),
|
|
463
|
+
},
|
|
464
|
+
label,
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
return {
|
|
468
|
+
externalHandle: handle,
|
|
469
|
+
initialStatus: { state: "running", message: "pending" },
|
|
470
|
+
label,
|
|
471
|
+
};
|
|
472
|
+
},
|
|
473
|
+
poll: async (handle) => {
|
|
474
|
+
let response;
|
|
475
|
+
try {
|
|
476
|
+
// Progress query accepts exactly one locator — requestId XOR
|
|
477
|
+
// bindingKey. Sibling watches keep both on the handle for labeling /
|
|
478
|
+
// cancel, so prefer the request when present.
|
|
479
|
+
response = await deps
|
|
480
|
+
.getClient()
|
|
481
|
+
.pollProgress(handle.requestId
|
|
482
|
+
? { requestId: handle.requestId }
|
|
483
|
+
: { bindingKey: handle.bindingKey });
|
|
484
|
+
}
|
|
485
|
+
catch (error) {
|
|
486
|
+
throw toToolError(error);
|
|
487
|
+
}
|
|
488
|
+
updateProvisionHandleFromResponse(handle, response);
|
|
489
|
+
if (handle.watchKind === "migration") {
|
|
490
|
+
if (TERMINAL_LIFECYCLE_STATES.has(response.lifecycleState) &&
|
|
491
|
+
response.lifecycleState !== "ready") {
|
|
492
|
+
return lifecycleStatusFor(response, handle.requestId);
|
|
493
|
+
}
|
|
494
|
+
return migrationStatusFor(response, handle.requestId);
|
|
495
|
+
}
|
|
496
|
+
return lifecycleStatusFor(response, handle.requestId);
|
|
497
|
+
},
|
|
498
|
+
};
|
|
272
499
|
const provisionDevDatabaseTaskType = {
|
|
273
500
|
...provisionDevDatabaseTaskMetadata,
|
|
274
|
-
start: async (input) => {
|
|
501
|
+
start: async (input, toolOpts) => {
|
|
275
502
|
let response;
|
|
276
503
|
try {
|
|
277
|
-
//
|
|
278
|
-
//
|
|
279
|
-
//
|
|
280
|
-
// V1 orgs) from the lifecycle policy. Hardcoding `dev` here broke
|
|
281
|
-
// V1 orgs, which have no `dev` profile.
|
|
504
|
+
// Client never sends a profile — the server resolves editor
|
|
505
|
+
// Environments targets and fans out ensure across every eligible
|
|
506
|
+
// datatag (ENG-3469).
|
|
282
507
|
response = await deps.getClient().createDevDb({
|
|
283
508
|
applicationId: deps.applicationId,
|
|
284
509
|
requirement: input.requirement,
|
|
@@ -287,15 +512,6 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
287
512
|
catch (error) {
|
|
288
513
|
throw toToolError(error);
|
|
289
514
|
}
|
|
290
|
-
// Non-technical noun phrase that completes phrases like
|
|
291
|
-
// "Waiting for `<label>`" / "Cancelling `<label>`" naturally for
|
|
292
|
-
// the user. Matches the kickoff phrasing in tool-helpers.ts
|
|
293
|
-
// ("Provisioning a new database (`<name>`)") so the chat reads
|
|
294
|
-
// consistently across the kickoff render and the follow-up
|
|
295
|
-
// check/wait/cancel tool calls. We drop the technical engine
|
|
296
|
-
// suffix to match the input — engine is platform-controlled and
|
|
297
|
-
// not in the LLM-facing schema.
|
|
298
|
-
const label = `a new database (${input.requirement.logicalName})`;
|
|
299
515
|
// The application already has a database (typically under a
|
|
300
516
|
// different name — only one dev database per application is
|
|
301
517
|
// supported), or another precondition blocks provisioning. Surface
|
|
@@ -311,30 +527,55 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
311
527
|
},
|
|
312
528
|
initialStatus: {
|
|
313
529
|
state: "failed",
|
|
314
|
-
error: response.errorMessage ??
|
|
530
|
+
error: sanitizeLifecycleFailureField(response.errorMessage ??
|
|
315
531
|
response.errorCode ??
|
|
316
|
-
"createDevDb precondition failed",
|
|
532
|
+
"createDevDb precondition failed"),
|
|
317
533
|
},
|
|
318
|
-
label,
|
|
534
|
+
label: provisionLabel(input.requirement.logicalName),
|
|
319
535
|
};
|
|
320
536
|
}
|
|
537
|
+
const targets = fanOutTargetsFromResponse(response);
|
|
538
|
+
const primaryProfile = targets.find((target) => target.bindingKey === response.bindingKey)
|
|
539
|
+
?.profile ?? targets[0]?.profile;
|
|
540
|
+
const tagCount = targets.length;
|
|
541
|
+
const label = provisionLabel(input.requirement.logicalName, tagCount > 1 ? primaryProfile : undefined);
|
|
321
542
|
const handle = {
|
|
322
543
|
bindingKey: response.bindingKey,
|
|
323
544
|
requirement: input.requirement,
|
|
545
|
+
...(primaryProfile && primaryProfile !== "default"
|
|
546
|
+
? { profile: primaryProfile }
|
|
547
|
+
: {}),
|
|
548
|
+
...(tagCount > 1 ? { tagCount } : {}),
|
|
324
549
|
};
|
|
325
550
|
updateProvisionHandleFromResponse(handle, response);
|
|
551
|
+
if (tagCount > 1) {
|
|
552
|
+
const siblingTaskIds = await spawnSiblingWatchTasks(deps, {
|
|
553
|
+
logicalName: input.requirement.logicalName,
|
|
554
|
+
primaryBindingKey: response.bindingKey,
|
|
555
|
+
targets,
|
|
556
|
+
toolOpts,
|
|
557
|
+
});
|
|
558
|
+
if (siblingTaskIds.length > 0) {
|
|
559
|
+
handle.siblingTaskIds = siblingTaskIds;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
326
562
|
// Synchronous terminal short-circuit. The poll loop is skipped by
|
|
327
563
|
// TaskStore when initialStatus is non-running.
|
|
328
564
|
if (TERMINAL_LIFECYCLE_STATES.has(response.lifecycleState)) {
|
|
329
565
|
return {
|
|
330
566
|
externalHandle: handle,
|
|
331
|
-
initialStatus: lifecycleStatusFor(response),
|
|
567
|
+
initialStatus: heldForSiblings(deps, lifecycleStatusFor(response), handle.siblingTaskIds),
|
|
332
568
|
label,
|
|
333
569
|
};
|
|
334
570
|
}
|
|
335
571
|
return {
|
|
336
572
|
externalHandle: handle,
|
|
337
|
-
initialStatus: {
|
|
573
|
+
initialStatus: {
|
|
574
|
+
state: "running",
|
|
575
|
+
message: tagCount > 1
|
|
576
|
+
? `${response.lifecycleState}; ${tagCount} tags`
|
|
577
|
+
: response.lifecycleState,
|
|
578
|
+
},
|
|
338
579
|
label,
|
|
339
580
|
};
|
|
340
581
|
},
|
|
@@ -349,12 +590,12 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
349
590
|
throw toToolError(error);
|
|
350
591
|
}
|
|
351
592
|
updateProvisionHandleFromResponse(handle, response);
|
|
352
|
-
return lifecycleStatusFor(response, handle.requestId);
|
|
593
|
+
return heldForSiblings(deps, lifecycleStatusFor(response, handle.requestId), handle.siblingTaskIds);
|
|
353
594
|
},
|
|
354
595
|
};
|
|
355
596
|
const applyDevDatabaseMigrationsTaskType = {
|
|
356
597
|
...applyDevDatabaseMigrationsTaskMetadata,
|
|
357
|
-
start: async (
|
|
598
|
+
start: async (_input, toolOpts) => {
|
|
358
599
|
try {
|
|
359
600
|
await deps.ensureFilesSynced?.();
|
|
360
601
|
}
|
|
@@ -363,26 +604,17 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
363
604
|
}
|
|
364
605
|
let response;
|
|
365
606
|
try {
|
|
366
|
-
//
|
|
367
|
-
//
|
|
368
|
-
//
|
|
369
|
-
//
|
|
607
|
+
// Never pass bindingKey — server fans out migrate_schema across
|
|
608
|
+
// every eligible editor Environments datatag. Passing the
|
|
609
|
+
// provision-primary key left siblings provisioned but without
|
|
610
|
+
// projected integration configs (migrations never ran there).
|
|
370
611
|
response = await deps.getClient().applyMigrations({
|
|
371
612
|
applicationId: deps.applicationId,
|
|
372
|
-
...(input.bindingKey ? { bindingKey: input.bindingKey } : {}),
|
|
373
613
|
});
|
|
374
614
|
}
|
|
375
615
|
catch (error) {
|
|
376
616
|
throw toToolError(error);
|
|
377
617
|
}
|
|
378
|
-
// Non-technical noun phrase that completes phrases like
|
|
379
|
-
// "Waiting for `<label>`" / "Cancelling `<label>`" naturally for
|
|
380
|
-
// the user. Matches the kickoff phrasing in tool-helpers.ts
|
|
381
|
-
// ("Updating the database schema") instead of the technical
|
|
382
|
-
// humanize-from-taskType fallback ("Apply dev database
|
|
383
|
-
// migrations") so the chat reads consistently across the
|
|
384
|
-
// kickoff render and the follow-up check/wait/cancel tool calls.
|
|
385
|
-
const label = "the database schema update";
|
|
386
618
|
if (isPreconditionFailure(response)) {
|
|
387
619
|
return {
|
|
388
620
|
externalHandle: {
|
|
@@ -390,22 +622,37 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
390
622
|
},
|
|
391
623
|
initialStatus: {
|
|
392
624
|
state: "failed",
|
|
393
|
-
error: response.errorMessage ??
|
|
625
|
+
error: sanitizeLifecycleFailureField(response.errorMessage ??
|
|
394
626
|
response.errorCode ??
|
|
395
|
-
"applyMigrations precondition failed",
|
|
627
|
+
"applyMigrations precondition failed"),
|
|
396
628
|
},
|
|
397
|
-
label,
|
|
629
|
+
label: DEFAULT_MIGRATION_TASK_LABEL,
|
|
398
630
|
};
|
|
399
631
|
}
|
|
632
|
+
const label = migrationTaskLabel(response);
|
|
400
633
|
const handle = {
|
|
401
634
|
bindingKey: response.bindingKey,
|
|
402
635
|
requestId: response.requestId,
|
|
403
636
|
};
|
|
637
|
+
const targets = fanOutTargetsFromResponse(response);
|
|
638
|
+
const tagCount = targets.length;
|
|
639
|
+
if (tagCount > 1) {
|
|
640
|
+
const siblingTaskIds = await spawnSiblingWatchTasks(deps, {
|
|
641
|
+
logicalName: response.logicalName ?? "database",
|
|
642
|
+
primaryBindingKey: response.bindingKey,
|
|
643
|
+
targets,
|
|
644
|
+
toolOpts,
|
|
645
|
+
watchKind: "migration",
|
|
646
|
+
});
|
|
647
|
+
if (siblingTaskIds.length > 0) {
|
|
648
|
+
handle.siblingTaskIds = siblingTaskIds;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
404
651
|
// Migrations sometimes finish synchronously (no SQL to apply).
|
|
405
652
|
if (response.migrationState === "migrated") {
|
|
406
653
|
return {
|
|
407
654
|
externalHandle: handle,
|
|
408
|
-
initialStatus: { state: "completed", result: response },
|
|
655
|
+
initialStatus: heldForSiblings(deps, { state: "completed", result: withSanitizedTargets(response) }, handle.siblingTaskIds),
|
|
409
656
|
label,
|
|
410
657
|
};
|
|
411
658
|
}
|
|
@@ -418,7 +665,12 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
418
665
|
}
|
|
419
666
|
return {
|
|
420
667
|
externalHandle: handle,
|
|
421
|
-
initialStatus: {
|
|
668
|
+
initialStatus: {
|
|
669
|
+
state: "running",
|
|
670
|
+
message: tagCount > 1
|
|
671
|
+
? `${response.migrationState}; ${tagCount} tags`
|
|
672
|
+
: response.migrationState,
|
|
673
|
+
},
|
|
422
674
|
label,
|
|
423
675
|
};
|
|
424
676
|
},
|
|
@@ -439,12 +691,13 @@ export function createDevDatabaseTaskTypes(deps) {
|
|
|
439
691
|
response.lifecycleState !== "ready") {
|
|
440
692
|
return lifecycleStatusFor(response, handle.requestId);
|
|
441
693
|
}
|
|
442
|
-
return migrationStatusFor(response, handle.requestId);
|
|
694
|
+
return heldForSiblings(deps, migrationStatusFor(response, handle.requestId), handle.siblingTaskIds);
|
|
443
695
|
},
|
|
444
696
|
};
|
|
445
697
|
return {
|
|
446
698
|
applyDevDatabaseMigrationsTaskType,
|
|
447
699
|
provisionDevDatabaseTaskType,
|
|
700
|
+
watchDevDatabaseProvisionTaskType,
|
|
448
701
|
};
|
|
449
702
|
}
|
|
450
703
|
/**
|
|
@@ -478,6 +731,7 @@ export function primeIntegrationStoreFromResponse(integrationStore, response, co
|
|
|
478
731
|
displayName: name,
|
|
479
732
|
id: response.integrationId,
|
|
480
733
|
lifecycleState: response.lifecycleState,
|
|
734
|
+
managedBy: DATABASE_LIFECYCLE_MANAGED_BY,
|
|
481
735
|
name,
|
|
482
736
|
type,
|
|
483
737
|
});
|
|
@@ -503,12 +757,15 @@ export function primeIntegrationStoreFromResponse(integrationStore, response, co
|
|
|
503
757
|
export function wireDevDatabaseIntegrationPriming(taskStore, integrationStore) {
|
|
504
758
|
return taskStore.onStatus((_taskId, status, task) => {
|
|
505
759
|
if (task.taskType !== provisionDevDatabaseTaskMetadata.name &&
|
|
506
|
-
task.taskType !== applyDevDatabaseMigrationsTaskMetadata.name
|
|
760
|
+
task.taskType !== applyDevDatabaseMigrationsTaskMetadata.name &&
|
|
761
|
+
task.taskType !== watchDevDatabaseProvisionTaskMetadata.name) {
|
|
507
762
|
return;
|
|
508
763
|
}
|
|
764
|
+
const isProvisionLike = task.taskType === provisionDevDatabaseTaskMetadata.name ||
|
|
765
|
+
task.taskType === watchDevDatabaseProvisionTaskMetadata.name;
|
|
509
766
|
const result = status.state === "completed"
|
|
510
767
|
? status.result
|
|
511
|
-
:
|
|
768
|
+
: isProvisionLike
|
|
512
769
|
? task.externalHandle
|
|
513
770
|
: undefined;
|
|
514
771
|
if (!result || typeof result !== "object")
|
|
@@ -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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"}
|