@tickernelz/wardmote-db 2026.1108.2 → 2026.1111.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/agent-chat-migration.test.js +2 -2
- package/dist/agent-chat-migration.test.js.map +1 -1
- package/dist/backup-lib.d.ts +3 -0
- package/dist/backup-lib.d.ts.map +1 -1
- package/dist/backup-lib.js +29 -6
- package/dist/backup-lib.js.map +1 -1
- package/dist/backup-lib.test.js +31 -16
- package/dist/backup-lib.test.js.map +1 -1
- package/dist/backup.js +4 -4
- package/dist/backup.js.map +1 -1
- package/dist/better-auth-account-issuer-migration.test.js +1 -1
- package/dist/better-auth-account-issuer-migration.test.js.map +1 -1
- package/dist/built-in-agent-unique-marker-migration.test.js +1 -1
- package/dist/built-in-agent-unique-marker-migration.test.js.map +1 -1
- package/dist/chat-github-migration.test.js +1 -1
- package/dist/chat-github-migration.test.js.map +1 -1
- package/dist/chat-identity-migration-reconciliation.test.js +5 -5
- package/dist/chat-identity-migration-reconciliation.test.js.map +1 -1
- package/dist/chat-openwa-migration.test.js +2 -2
- package/dist/chat-openwa-migration.test.js.map +1 -1
- package/dist/chat-telegram-draft-ids-migration.test.js +1 -1
- package/dist/chat-telegram-draft-ids-migration.test.js.map +1 -1
- package/dist/chat-tenant-foreign-keys.test.js +1 -1
- package/dist/chat-tenant-foreign-keys.test.js.map +1 -1
- package/dist/check-migration-safety.js +2 -2
- package/dist/check-migration-safety.js.map +1 -1
- package/dist/check-migration-safety.test.js +10 -1
- package/dist/check-migration-safety.test.js.map +1 -1
- package/dist/client-options.test.js +6 -6
- package/dist/client-options.test.js.map +1 -1
- package/dist/client.d.ts +1 -22
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -16
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +10 -10
- package/dist/client.test.js.map +1 -1
- package/dist/company-secret-proposals-migration.test.js +1 -1
- package/dist/company-secret-proposals-migration.test.js.map +1 -1
- package/dist/connection-grants-phase4-migration.test.js +1 -1
- package/dist/connection-grants-phase4-migration.test.js.map +1 -1
- package/dist/connections-v3-schema-core-migration.test.js +2 -2
- package/dist/connections-v3-schema-core-migration.test.js.map +1 -1
- package/dist/decision-queue-migrations.test.js +1 -1
- package/dist/decision-queue-migrations.test.js.map +1 -1
- package/dist/embedded-identity.d.ts +12 -0
- package/dist/embedded-identity.d.ts.map +1 -0
- package/dist/embedded-identity.js +96 -0
- package/dist/embedded-identity.js.map +1 -0
- package/dist/embedded-identity.test.d.ts +2 -0
- package/dist/embedded-identity.test.d.ts.map +1 -0
- package/dist/embedded-identity.test.js +91 -0
- package/dist/embedded-identity.test.js.map +1 -0
- package/dist/embedded-postgres-lifecycle.d.ts +0 -9
- package/dist/embedded-postgres-lifecycle.d.ts.map +1 -1
- package/dist/embedded-postgres-lifecycle.js +0 -9
- package/dist/embedded-postgres-lifecycle.js.map +1 -1
- package/dist/embedded-postgres-native.test.js +2 -2
- package/dist/embedded-postgres-native.test.js.map +1 -1
- package/dist/heartbeat-run-issue-privacy-migration.test.js +4 -4
- package/dist/heartbeat-run-issue-privacy-migration.test.js.map +1 -1
- package/dist/inbox-archive-agent-policies-migration.test.js +1 -1
- package/dist/inbox-archive-agent-policies-migration.test.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/issue-comment-derived-attribution-migration.test.js +1 -1
- package/dist/issue-comment-derived-attribution-migration.test.js.map +1 -1
- package/dist/issue-comment-on-behalf-migration.test.js +1 -1
- package/dist/issue-comment-on-behalf-migration.test.js.map +1 -1
- package/dist/migration-runtime.d.ts.map +1 -1
- package/dist/migration-runtime.js +21 -11
- package/dist/migration-runtime.js.map +1 -1
- package/dist/migrations/0357_drop_cloud_onboarding_seeds.sql +11 -0
- package/dist/migrations/0358_wardmote_bundled_skill_keys.sql +95 -0
- package/dist/migrations/0359_wardmote_bundled_skill_slugs.sql +100 -0
- package/dist/migrations/0360_wardmote_channel_values.sql +11 -0
- package/dist/migrations/0361_wardmote_stored_modes.sql +14 -0
- package/dist/migrations/0362_wardmote_runner_adapter_type.sql +34 -0
- package/dist/migrations/0363_wardmote_camel_keys.sql +57 -0
- package/dist/migrations/0364_wardmote_catalog_keys.sql +92 -0
- package/dist/migrations/0365_wardmote_plugin_ids.sql +118 -0
- package/dist/migrations/0366_wardmote_managed_environment_key.sql +13 -0
- package/dist/migrations/0367_wardmote_schema_ids.sql +31 -0
- package/dist/migrations/0368_wardmote_mcp_scopes.sql +27 -0
- package/dist/migrations/0369_wardmote_chat_state_key.sql +10 -0
- package/dist/migrations/0370_wardmote_wake_context_key.sql +4 -0
- package/dist/migrations/0371_wardmote_session_config_keys.sql +7 -0
- package/dist/migrations/meta/_journal.json +105 -0
- package/dist/native-runner-recovery-migration.test.js +1 -1
- package/dist/native-runner-recovery-migration.test.js.map +1 -1
- package/dist/nested-skill-folders-migration.test.js +2 -2
- package/dist/orphaned-claimed-wakeups-migration.test.js +1 -1
- package/dist/orphaned-claimed-wakeups-migration.test.js.map +1 -1
- package/dist/pipelines-schema.test.js +1 -1
- package/dist/pipelines-schema.test.js.map +1 -1
- package/dist/postgres-connection-recovery.test.js +1 -1
- package/dist/postgres-connection-recovery.test.js.map +1 -1
- package/dist/private-task-draft-assets-migration.test.js +1 -1
- package/dist/private-task-draft-assets-migration.test.js.map +1 -1
- package/dist/run-event-payload.js +1 -1
- package/dist/run-event-payload.js.map +1 -1
- package/dist/run-event-payload.test.js +1 -1
- package/dist/run-event-payload.test.js.map +1 -1
- package/dist/run-identity-migration.test.js +1 -1
- package/dist/run-identity-migration.test.js.map +1 -1
- package/dist/runtime-config.d.ts.map +1 -1
- package/dist/runtime-config.js +12 -10
- package/dist/runtime-config.js.map +1 -1
- package/dist/runtime-config.test.js +17 -17
- package/dist/runtime-config.test.js.map +1 -1
- package/dist/schema/chat_channels.d.ts +5 -5
- package/dist/schema/chat_channels.d.ts.map +1 -1
- package/dist/schema/chat_channels.js +4 -19
- package/dist/schema/chat_channels.js.map +1 -1
- package/dist/schema/company_secrets.js +1 -1
- package/dist/schema/company_secrets.js.map +1 -1
- package/dist/schema/environments.js +1 -1
- package/dist/schema/environments.js.map +1 -1
- package/dist/schema/heartbeat_runs.js +1 -1
- package/dist/schema/heartbeat_runs.js.map +1 -1
- package/dist/schema/index.d.ts +0 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +0 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/issue_autonomy_windows.d.ts +2 -2
- package/dist/schema/issue_autonomy_windows.js +1 -1
- package/dist/schema/issue_autonomy_windows.js.map +1 -1
- package/dist/schema/plugin_entities.d.ts +0 -14
- package/dist/schema/plugin_entities.d.ts.map +1 -1
- package/dist/schema/plugin_entities.js +0 -14
- package/dist/schema/plugin_entities.js.map +1 -1
- package/dist/schema/plugin_state.d.ts +0 -23
- package/dist/schema/plugin_state.d.ts.map +1 -1
- package/dist/schema/plugin_state.js +0 -23
- package/dist/schema/plugin_state.js.map +1 -1
- package/dist/schema/plugins.d.ts +3 -3
- package/dist/schema/plugins.d.ts.map +1 -1
- package/dist/schema/plugins.js.map +1 -1
- package/dist/schema/tool_access.js +3 -3
- package/dist/schema/tool_access.js.map +1 -1
- package/dist/schema/user_secret_definitions.js +1 -1
- package/dist/schema/user_secret_definitions.js.map +1 -1
- package/dist/session-goal-migration.test.js +3 -3
- package/dist/session-goal-migration.test.js.map +1 -1
- package/dist/speko-voice-migration.test.js +1 -1
- package/dist/speko-voice-migration.test.js.map +1 -1
- package/dist/status-card-migrations.test.js +1 -1
- package/dist/status-card-migrations.test.js.map +1 -1
- package/dist/test-embedded-postgres.d.ts.map +1 -1
- package/dist/test-embedded-postgres.js +14 -13
- package/dist/test-embedded-postgres.js.map +1 -1
- package/dist/test-embedded-postgres.test.js +3 -3
- package/dist/test-embedded-postgres.test.js.map +1 -1
- package/dist/vercel-connect-credential-source-migration.test.js +2 -2
- package/dist/vercel-connect-credential-source-migration.test.js.map +1 -1
- package/dist/wardmote-camel-key-migration.test.d.ts +2 -0
- package/dist/wardmote-camel-key-migration.test.d.ts.map +1 -0
- package/dist/wardmote-camel-key-migration.test.js +111 -0
- package/dist/wardmote-camel-key-migration.test.js.map +1 -0
- package/dist/wardmote-catalog-key-migration.test.d.ts +2 -0
- package/dist/wardmote-catalog-key-migration.test.d.ts.map +1 -0
- package/dist/wardmote-catalog-key-migration.test.js +140 -0
- package/dist/wardmote-catalog-key-migration.test.js.map +1 -0
- package/dist/wardmote-chat-state-key-migration.test.d.ts +2 -0
- package/dist/wardmote-chat-state-key-migration.test.d.ts.map +1 -0
- package/dist/wardmote-chat-state-key-migration.test.js +58 -0
- package/dist/wardmote-chat-state-key-migration.test.js.map +1 -0
- package/dist/wardmote-managed-environment-key-migration.test.d.ts +2 -0
- package/dist/wardmote-managed-environment-key-migration.test.d.ts.map +1 -0
- package/dist/wardmote-managed-environment-key-migration.test.js +67 -0
- package/dist/wardmote-managed-environment-key-migration.test.js.map +1 -0
- package/dist/wardmote-mcp-scope-migration.test.d.ts +2 -0
- package/dist/wardmote-mcp-scope-migration.test.d.ts.map +1 -0
- package/dist/wardmote-mcp-scope-migration.test.js +93 -0
- package/dist/wardmote-mcp-scope-migration.test.js.map +1 -0
- package/dist/wardmote-plugin-id-migration.test.d.ts +2 -0
- package/dist/wardmote-plugin-id-migration.test.d.ts.map +1 -0
- package/dist/wardmote-plugin-id-migration.test.js +127 -0
- package/dist/wardmote-plugin-id-migration.test.js.map +1 -0
- package/dist/wardmote-runner-adapter-type-migration.test.d.ts +2 -0
- package/dist/wardmote-runner-adapter-type-migration.test.d.ts.map +1 -0
- package/dist/wardmote-runner-adapter-type-migration.test.js +124 -0
- package/dist/wardmote-runner-adapter-type-migration.test.js.map +1 -0
- package/dist/wardmote-schema-id-migration.test.d.ts +2 -0
- package/dist/wardmote-schema-id-migration.test.d.ts.map +1 -0
- package/dist/wardmote-schema-id-migration.test.js +113 -0
- package/dist/wardmote-schema-id-migration.test.js.map +1 -0
- package/dist/wardmote-session-config-keys-migration.test.d.ts +2 -0
- package/dist/wardmote-session-config-keys-migration.test.d.ts.map +1 -0
- package/dist/wardmote-session-config-keys-migration.test.js +71 -0
- package/dist/wardmote-session-config-keys-migration.test.js.map +1 -0
- package/dist/wardmote-skill-key-migration.test.d.ts +2 -0
- package/dist/wardmote-skill-key-migration.test.d.ts.map +1 -0
- package/dist/wardmote-skill-key-migration.test.js +121 -0
- package/dist/wardmote-skill-key-migration.test.js.map +1 -0
- package/dist/wardmote-skill-slug-migration.test.d.ts +2 -0
- package/dist/wardmote-skill-slug-migration.test.d.ts.map +1 -0
- package/dist/wardmote-skill-slug-migration.test.js +128 -0
- package/dist/wardmote-skill-slug-migration.test.js.map +1 -0
- package/dist/wardmote-wake-context-key-migration.test.d.ts +2 -0
- package/dist/wardmote-wake-context-key-migration.test.d.ts.map +1 -0
- package/dist/wardmote-wake-context-key-migration.test.js +59 -0
- package/dist/wardmote-wake-context-key-migration.test.js.map +1 -0
- package/package.json +2 -2
- package/dist/schema/company_onboarding_seeds.d.ts +0 -257
- package/dist/schema/company_onboarding_seeds.d.ts.map +0 -1
- package/dist/schema/company_onboarding_seeds.js +0 -35
- package/dist/schema/company_onboarding_seeds.js.map +0 -1
|
@@ -9,7 +9,7 @@ const cleanups = [];
|
|
|
9
9
|
const embeddedPostgresSupport = await getEmbeddedPostgresTestSupport();
|
|
10
10
|
const describeEmbeddedPostgres = embeddedPostgresSupport.supported ? describe : describe.skip;
|
|
11
11
|
async function createTempDatabase() {
|
|
12
|
-
const db = await startEmbeddedPostgresTestDatabase("
|
|
12
|
+
const db = await startEmbeddedPostgresTestDatabase("wardmote-derived-attribution-");
|
|
13
13
|
cleanups.push(db.cleanup);
|
|
14
14
|
return db.connectionString;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-comment-derived-attribution-migration.test.js","sourceRoot":"","sources":["../src/issue-comment-derived-attribution-migration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,MAAM,6BAA6B,GAAG,iDAAiD,CAAC;AAExF,MAAM,QAAQ,GAA+B,EAAE,CAAC;AAChD,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,EAAE,CAAC;AACvE,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE9F,KAAK,UAAU,kBAAkB;IAC/B,MAAM,EAAE,GAAG,MAAM,iCAAiC,CAAC,
|
|
1
|
+
{"version":3,"file":"issue-comment-derived-attribution-migration.test.js","sourceRoot":"","sources":["../src/issue-comment-derived-attribution-migration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ afterEach(async () => {
|
|
|
18
18
|
});
|
|
19
19
|
describeEmbeddedPostgres("issue comment on-behalf attribution migration", () => {
|
|
20
20
|
it("reapplies the migration and round-trips the nullable user attribution FK", async () => {
|
|
21
|
-
const database = await startEmbeddedPostgresTestDatabase("
|
|
21
|
+
const database = await startEmbeddedPostgresTestDatabase("wardmote-comment-on-behalf-");
|
|
22
22
|
cleanups.push(database.cleanup);
|
|
23
23
|
const sql = postgres(database.connectionString, { max: 1, onnotice: () => { } });
|
|
24
24
|
const historicalCompanyId = randomUUID();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-comment-on-behalf-migration.test.js","sourceRoot":"","sources":["../src/issue-comment-on-behalf-migration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,QAAQ,GAA+B,EAAE,CAAC;AAChD,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,EAAE,CAAC;AACvE,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE9F,KAAK,UAAU,aAAa;IAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,gBAAgB,cAAc,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/G,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,wBAAwB,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC7E,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,QAAQ,GAAG,MAAM,iCAAiC,CAAC,
|
|
1
|
+
{"version":3,"file":"issue-comment-on-behalf-migration.test.js","sourceRoot":"","sources":["../src/issue-comment-on-behalf-migration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runtime.d.ts","sourceRoot":"","sources":["../src/migration-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migration-runtime.d.ts","sourceRoot":"","sources":["../src/migration-runtime.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAmKF,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAW/E"}
|
|
@@ -5,6 +5,7 @@ import { ensurePostgresDatabase, getPostgresDataDirectory } from "./client.js";
|
|
|
5
5
|
import { createEmbeddedPostgresLogBuffer, formatEmbeddedPostgresError } from "./embedded-postgres-error.js";
|
|
6
6
|
import { prepareEmbeddedPostgresNativeRuntime } from "./embedded-postgres-native.js";
|
|
7
7
|
import { resolveDatabaseTarget } from "./runtime-config.js";
|
|
8
|
+
import { EMBEDDED_POSTGRES_USER, EMBEDDED_POSTGRES_PASSWORD, EMBEDDED_POSTGRES_DATABASE, embeddedPostgresUrl, embeddedPostgresAdminUrl, migrateEmbeddedPostgresIdentity } from "./embedded-identity.js";
|
|
8
9
|
function readRunningPostmasterPid(postmasterPidFile) {
|
|
9
10
|
if (!existsSync(postmasterPidFile))
|
|
10
11
|
return null;
|
|
@@ -70,20 +71,21 @@ async function ensureEmbeddedPostgresConnection(dataDir, preferredPort) {
|
|
|
70
71
|
const pgVersionFile = path.resolve(dataDir, "PG_VERSION");
|
|
71
72
|
const runningPid = readRunningPostmasterPid(postmasterPidFile);
|
|
72
73
|
const runningPort = readPidFilePort(postmasterPidFile);
|
|
73
|
-
const preferredAdminConnectionString =
|
|
74
|
+
const preferredAdminConnectionString = embeddedPostgresAdminUrl(preferredPort);
|
|
74
75
|
const logBuffer = createEmbeddedPostgresLogBuffer();
|
|
75
76
|
if (!runningPid && existsSync(pgVersionFile)) {
|
|
76
77
|
try {
|
|
78
|
+
await migrateEmbeddedPostgresIdentity({ port: preferredPort, dataDir });
|
|
77
79
|
const actualDataDir = await getPostgresDataDirectory(preferredAdminConnectionString);
|
|
78
80
|
const matchesDataDir = typeof actualDataDir === "string" &&
|
|
79
81
|
path.resolve(actualDataDir) === path.resolve(dataDir);
|
|
80
82
|
if (!matchesDataDir) {
|
|
81
83
|
throw new Error("reachable postgres does not use the expected embedded data directory");
|
|
82
84
|
}
|
|
83
|
-
await ensurePostgresDatabase(preferredAdminConnectionString,
|
|
85
|
+
await ensurePostgresDatabase(preferredAdminConnectionString, EMBEDDED_POSTGRES_DATABASE);
|
|
84
86
|
process.emitWarning(`Adopting an existing PostgreSQL instance on port ${preferredPort} for embedded data dir ${dataDir} because postmaster.pid is missing.`);
|
|
85
87
|
return {
|
|
86
|
-
connectionString:
|
|
88
|
+
connectionString: embeddedPostgresUrl(preferredPort),
|
|
87
89
|
source: `embedded-postgres@${preferredPort}`,
|
|
88
90
|
stop: async () => { },
|
|
89
91
|
};
|
|
@@ -94,18 +96,19 @@ async function ensureEmbeddedPostgresConnection(dataDir, preferredPort) {
|
|
|
94
96
|
}
|
|
95
97
|
if (runningPid) {
|
|
96
98
|
const port = runningPort ?? preferredPort;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
await migrateEmbeddedPostgresIdentity({ port, dataDir });
|
|
100
|
+
const adminConnectionString = embeddedPostgresAdminUrl(port);
|
|
101
|
+
await ensurePostgresDatabase(adminConnectionString, EMBEDDED_POSTGRES_DATABASE);
|
|
99
102
|
return {
|
|
100
|
-
connectionString:
|
|
103
|
+
connectionString: embeddedPostgresUrl(port),
|
|
101
104
|
source: `embedded-postgres@${port}`,
|
|
102
105
|
stop: async () => { },
|
|
103
106
|
};
|
|
104
107
|
}
|
|
105
108
|
const instance = new EmbeddedPostgres({
|
|
106
109
|
databaseDir: dataDir,
|
|
107
|
-
user:
|
|
108
|
-
password:
|
|
110
|
+
user: EMBEDDED_POSTGRES_USER,
|
|
111
|
+
password: EMBEDDED_POSTGRES_PASSWORD,
|
|
109
112
|
port: selectedPort,
|
|
110
113
|
persistent: true,
|
|
111
114
|
initdbFlags: ["--encoding=UTF8", "--locale=C", "--lc-messages=C"],
|
|
@@ -135,10 +138,17 @@ async function ensureEmbeddedPostgresConnection(dataDir, preferredPort) {
|
|
|
135
138
|
recentLogs: logBuffer.getRecentLogs(),
|
|
136
139
|
});
|
|
137
140
|
}
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
try {
|
|
142
|
+
await migrateEmbeddedPostgresIdentity({ port: selectedPort, dataDir });
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
await instance.stop();
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
const adminConnectionString = embeddedPostgresAdminUrl(selectedPort);
|
|
149
|
+
await ensurePostgresDatabase(adminConnectionString, EMBEDDED_POSTGRES_DATABASE);
|
|
140
150
|
return {
|
|
141
|
-
connectionString:
|
|
151
|
+
connectionString: embeddedPostgresUrl(selectedPort),
|
|
142
152
|
source: `embedded-postgres@${selectedPort}`,
|
|
143
153
|
stop: async () => {
|
|
144
154
|
await instance.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runtime.js","sourceRoot":"","sources":["../src/migration-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-runtime.js","sourceRoot":"","sources":["../src/migration-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
DO $$
|
|
2
|
+
BEGIN
|
|
3
|
+
IF to_regclass('public.company_onboarding_seeds') IS NULL THEN
|
|
4
|
+
RETURN;
|
|
5
|
+
END IF;
|
|
6
|
+
IF EXISTS (SELECT 1 FROM "company_onboarding_seeds") THEN
|
|
7
|
+
ALTER TABLE "company_onboarding_seeds" RENAME TO "archived_company_onboarding_seeds";
|
|
8
|
+
ELSE
|
|
9
|
+
DROP TABLE "company_onboarding_seeds";
|
|
10
|
+
END IF;
|
|
11
|
+
END $$;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
DO $$
|
|
2
|
+
BEGIN
|
|
3
|
+
UPDATE "company_skills" AS legacy
|
|
4
|
+
SET
|
|
5
|
+
"key" = 'tickernelz/wardmote/' || substr(legacy."key", length('paperclipai/paperclip/') + 1),
|
|
6
|
+
"metadata" = CASE
|
|
7
|
+
WHEN legacy."metadata" IS NULL THEN NULL
|
|
8
|
+
ELSE (
|
|
9
|
+
SELECT jsonb_object_agg(
|
|
10
|
+
entry.key,
|
|
11
|
+
CASE
|
|
12
|
+
WHEN jsonb_typeof(entry.value) = 'string'
|
|
13
|
+
AND entry.value #>> '{}' LIKE 'paperclipai/paperclip/%'
|
|
14
|
+
THEN to_jsonb('tickernelz/wardmote/' || substr(entry.value #>> '{}', length('paperclipai/paperclip/') + 1))
|
|
15
|
+
ELSE entry.value
|
|
16
|
+
END
|
|
17
|
+
)
|
|
18
|
+
FROM jsonb_each(legacy."metadata") AS entry
|
|
19
|
+
)
|
|
20
|
+
END,
|
|
21
|
+
"updated_at" = now()
|
|
22
|
+
WHERE legacy."key" LIKE 'paperclipai/paperclip/%'
|
|
23
|
+
AND NOT EXISTS (
|
|
24
|
+
SELECT 1 FROM "company_skills" AS current
|
|
25
|
+
WHERE current."company_id" = legacy."company_id"
|
|
26
|
+
AND current."key" = 'tickernelz/wardmote/' || substr(legacy."key", length('paperclipai/paperclip/') + 1)
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
UPDATE "agents"
|
|
30
|
+
SET "adapter_config" = jsonb_set(
|
|
31
|
+
"adapter_config",
|
|
32
|
+
'{paperclipSkillSync,desiredSkills}',
|
|
33
|
+
(
|
|
34
|
+
SELECT COALESCE(jsonb_agg(DISTINCT
|
|
35
|
+
CASE
|
|
36
|
+
WHEN jsonb_typeof(skill) = 'string' AND skill #>> '{}' LIKE 'paperclipai/paperclip/%'
|
|
37
|
+
THEN to_jsonb('tickernelz/wardmote/' || substr(skill #>> '{}', length('paperclipai/paperclip/') + 1))
|
|
38
|
+
ELSE skill
|
|
39
|
+
END
|
|
40
|
+
), '[]'::jsonb)
|
|
41
|
+
FROM jsonb_array_elements("adapter_config" #> '{paperclipSkillSync,desiredSkills}') AS skill
|
|
42
|
+
)
|
|
43
|
+
)
|
|
44
|
+
WHERE jsonb_typeof("adapter_config" #> '{paperclipSkillSync,desiredSkills}') = 'array'
|
|
45
|
+
AND EXISTS (
|
|
46
|
+
SELECT 1
|
|
47
|
+
FROM jsonb_array_elements_text("adapter_config" #> '{paperclipSkillSync,desiredSkills}') AS skill
|
|
48
|
+
WHERE skill LIKE 'paperclipai/paperclip/%'
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
UPDATE "agent_config_revisions" AS revision
|
|
52
|
+
SET
|
|
53
|
+
"before_config" = CASE
|
|
54
|
+
WHEN jsonb_typeof(revision."before_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') = 'array'
|
|
55
|
+
AND (revision."before_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') @? '$[*] ? (@ like_regex "^paperclipai/paperclip/")'
|
|
56
|
+
THEN jsonb_set(
|
|
57
|
+
revision."before_config",
|
|
58
|
+
'{adapterConfig,paperclipSkillSync,desiredSkills}',
|
|
59
|
+
(
|
|
60
|
+
SELECT COALESCE(jsonb_agg(DISTINCT
|
|
61
|
+
CASE
|
|
62
|
+
WHEN jsonb_typeof(skill) = 'string' AND skill #>> '{}' LIKE 'paperclipai/paperclip/%'
|
|
63
|
+
THEN to_jsonb('tickernelz/wardmote/' || substr(skill #>> '{}', length('paperclipai/paperclip/') + 1))
|
|
64
|
+
ELSE skill
|
|
65
|
+
END
|
|
66
|
+
), '[]'::jsonb)
|
|
67
|
+
FROM jsonb_array_elements(revision."before_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') AS skill
|
|
68
|
+
)
|
|
69
|
+
)
|
|
70
|
+
ELSE revision."before_config"
|
|
71
|
+
END,
|
|
72
|
+
"after_config" = CASE
|
|
73
|
+
WHEN jsonb_typeof(revision."after_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') = 'array'
|
|
74
|
+
AND (revision."after_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') @? '$[*] ? (@ like_regex "^paperclipai/paperclip/")'
|
|
75
|
+
THEN jsonb_set(
|
|
76
|
+
revision."after_config",
|
|
77
|
+
'{adapterConfig,paperclipSkillSync,desiredSkills}',
|
|
78
|
+
(
|
|
79
|
+
SELECT COALESCE(jsonb_agg(DISTINCT
|
|
80
|
+
CASE
|
|
81
|
+
WHEN jsonb_typeof(skill) = 'string' AND skill #>> '{}' LIKE 'paperclipai/paperclip/%'
|
|
82
|
+
THEN to_jsonb('tickernelz/wardmote/' || substr(skill #>> '{}', length('paperclipai/paperclip/') + 1))
|
|
83
|
+
ELSE skill
|
|
84
|
+
END
|
|
85
|
+
), '[]'::jsonb)
|
|
86
|
+
FROM jsonb_array_elements(revision."after_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') AS skill
|
|
87
|
+
)
|
|
88
|
+
)
|
|
89
|
+
ELSE revision."after_config"
|
|
90
|
+
END
|
|
91
|
+
WHERE (jsonb_typeof(revision."before_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') = 'array'
|
|
92
|
+
AND (revision."before_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') @? '$[*] ? (@ like_regex "^paperclipai/paperclip/")')
|
|
93
|
+
OR (jsonb_typeof(revision."after_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') = 'array'
|
|
94
|
+
AND (revision."after_config" #> '{adapterConfig,paperclipSkillSync,desiredSkills}') @? '$[*] ? (@ like_regex "^paperclipai/paperclip/")');
|
|
95
|
+
END $$;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
CREATE OR REPLACE FUNCTION pg_temp.wardmote_skill_ref(ref text) RETURNS text
|
|
2
|
+
LANGUAGE sql IMMUTABLE AS $fn$
|
|
3
|
+
SELECT CASE
|
|
4
|
+
WHEN ref ~ '^(tickernelz/wardmote/)?paperclip(-board|-converting-plans-to-tasks|-create-agent)?$'
|
|
5
|
+
THEN regexp_replace(ref, 'paperclip((-board|-converting-plans-to-tasks|-create-agent)?)$', 'wardmote\1')
|
|
6
|
+
ELSE ref
|
|
7
|
+
END
|
|
8
|
+
$fn$;
|
|
9
|
+
--> statement-breakpoint
|
|
10
|
+
CREATE OR REPLACE FUNCTION pg_temp.wardmote_skill_sync(sync jsonb) RETURNS jsonb
|
|
11
|
+
LANGUAGE sql IMMUTABLE AS $fn$
|
|
12
|
+
SELECT CASE
|
|
13
|
+
WHEN jsonb_typeof(sync -> 'desiredSkills') = 'array' THEN jsonb_set(
|
|
14
|
+
sync,
|
|
15
|
+
'{desiredSkills}',
|
|
16
|
+
(
|
|
17
|
+
SELECT COALESCE(jsonb_agg(
|
|
18
|
+
CASE WHEN jsonb_typeof(skill) = 'string' THEN to_jsonb(pg_temp.wardmote_skill_ref(skill #>> '{}')) ELSE skill END
|
|
19
|
+
ORDER BY position
|
|
20
|
+
), '[]'::jsonb)
|
|
21
|
+
FROM jsonb_array_elements(sync -> 'desiredSkills') WITH ORDINALITY AS entry(skill, position)
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
ELSE sync
|
|
25
|
+
END
|
|
26
|
+
$fn$;
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
CREATE OR REPLACE FUNCTION pg_temp.wardmote_adapter_config(config jsonb) RETURNS jsonb
|
|
29
|
+
LANGUAGE sql IMMUTABLE AS $fn$
|
|
30
|
+
SELECT CASE
|
|
31
|
+
WHEN jsonb_typeof(config) = 'object' AND config ? 'paperclipSkillSync' AND NOT config ? 'wardmoteSkillSync'
|
|
32
|
+
THEN (config - 'paperclipSkillSync') || jsonb_build_object('wardmoteSkillSync', pg_temp.wardmote_skill_sync(config -> 'paperclipSkillSync'))
|
|
33
|
+
WHEN jsonb_typeof(config) = 'object' AND config ? 'wardmoteSkillSync'
|
|
34
|
+
THEN jsonb_set(config, '{wardmoteSkillSync}', pg_temp.wardmote_skill_sync(config -> 'wardmoteSkillSync'))
|
|
35
|
+
ELSE config
|
|
36
|
+
END
|
|
37
|
+
$fn$;
|
|
38
|
+
--> statement-breakpoint
|
|
39
|
+
UPDATE "company_skills" AS legacy
|
|
40
|
+
SET
|
|
41
|
+
"key" = pg_temp.wardmote_skill_ref(legacy."key"),
|
|
42
|
+
"slug" = pg_temp.wardmote_skill_ref(legacy."slug"),
|
|
43
|
+
"name" = pg_temp.wardmote_skill_ref(legacy."name"),
|
|
44
|
+
"source_locator" = regexp_replace(
|
|
45
|
+
legacy."source_locator",
|
|
46
|
+
'/skills/paperclip((-board|-converting-plans-to-tasks|-create-agent)?)$',
|
|
47
|
+
'/skills/wardmote\1'
|
|
48
|
+
),
|
|
49
|
+
"updated_at" = now()
|
|
50
|
+
WHERE legacy."key" ~ '^tickernelz/wardmote/paperclip(-board|-converting-plans-to-tasks|-create-agent)?$'
|
|
51
|
+
AND NOT EXISTS (
|
|
52
|
+
SELECT 1 FROM "company_skills" AS current
|
|
53
|
+
WHERE current."company_id" = legacy."company_id"
|
|
54
|
+
AND current."key" = pg_temp.wardmote_skill_ref(legacy."key")
|
|
55
|
+
);
|
|
56
|
+
--> statement-breakpoint
|
|
57
|
+
UPDATE "company_skills"
|
|
58
|
+
SET
|
|
59
|
+
"metadata" = "metadata"
|
|
60
|
+
|| CASE
|
|
61
|
+
WHEN jsonb_typeof("metadata" -> 'skillKey') = 'string'
|
|
62
|
+
THEN jsonb_build_object('skillKey', pg_temp.wardmote_skill_ref("metadata" ->> 'skillKey'))
|
|
63
|
+
ELSE '{}'::jsonb
|
|
64
|
+
END
|
|
65
|
+
|| CASE
|
|
66
|
+
WHEN "metadata" ->> 'sourceKind' = 'paperclip_bundled'
|
|
67
|
+
THEN jsonb_build_object('sourceKind', 'wardmote_bundled')
|
|
68
|
+
ELSE '{}'::jsonb
|
|
69
|
+
END,
|
|
70
|
+
"updated_at" = now()
|
|
71
|
+
WHERE jsonb_typeof("metadata") = 'object'
|
|
72
|
+
AND (
|
|
73
|
+
"metadata" ->> 'sourceKind' = 'paperclip_bundled'
|
|
74
|
+
OR "metadata" ->> 'skillKey' ~ '^tickernelz/wardmote/paperclip(-board|-converting-plans-to-tasks|-create-agent)?$'
|
|
75
|
+
);
|
|
76
|
+
--> statement-breakpoint
|
|
77
|
+
UPDATE "agents"
|
|
78
|
+
SET "adapter_config" = pg_temp.wardmote_adapter_config("adapter_config")
|
|
79
|
+
WHERE "adapter_config" IS DISTINCT FROM pg_temp.wardmote_adapter_config("adapter_config");
|
|
80
|
+
--> statement-breakpoint
|
|
81
|
+
UPDATE "agent_config_revisions"
|
|
82
|
+
SET
|
|
83
|
+
"before_config" = CASE
|
|
84
|
+
WHEN jsonb_typeof("before_config" -> 'adapterConfig') = 'object'
|
|
85
|
+
THEN jsonb_set("before_config", '{adapterConfig}', pg_temp.wardmote_adapter_config("before_config" -> 'adapterConfig'))
|
|
86
|
+
ELSE "before_config"
|
|
87
|
+
END,
|
|
88
|
+
"after_config" = CASE
|
|
89
|
+
WHEN jsonb_typeof("after_config" -> 'adapterConfig') = 'object'
|
|
90
|
+
THEN jsonb_set("after_config", '{adapterConfig}', pg_temp.wardmote_adapter_config("after_config" -> 'adapterConfig'))
|
|
91
|
+
ELSE "after_config"
|
|
92
|
+
END
|
|
93
|
+
WHERE pg_temp.wardmote_adapter_config("before_config" -> 'adapterConfig') IS DISTINCT FROM ("before_config" -> 'adapterConfig')
|
|
94
|
+
OR pg_temp.wardmote_adapter_config("after_config" -> 'adapterConfig') IS DISTINCT FROM ("after_config" -> 'adapterConfig');
|
|
95
|
+
--> statement-breakpoint
|
|
96
|
+
DROP FUNCTION pg_temp.wardmote_adapter_config(jsonb);
|
|
97
|
+
--> statement-breakpoint
|
|
98
|
+
DROP FUNCTION pg_temp.wardmote_skill_sync(jsonb);
|
|
99
|
+
--> statement-breakpoint
|
|
100
|
+
DROP FUNCTION pg_temp.wardmote_skill_ref(text);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
ALTER TABLE "chat_owner_approval_requests" DROP CONSTRAINT "chat_owner_approval_requests_resolved_via_check";--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "chat_owner_grants" DROP CONSTRAINT "chat_owner_grants_approved_via_check";--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "issue_autonomy_windows" DROP CONSTRAINT "issue_autonomy_windows_granted_via_check";--> statement-breakpoint
|
|
4
|
+
UPDATE "chat_owner_approval_requests" SET "resolved_via" = 'wardmote' WHERE "resolved_via" = 'paperclip';--> statement-breakpoint
|
|
5
|
+
UPDATE "chat_owner_grants" SET "approved_via" = 'wardmote' WHERE "approved_via" = 'paperclip';--> statement-breakpoint
|
|
6
|
+
UPDATE "issue_autonomy_windows" SET "granted_via" = 'wardmote' WHERE "granted_via" = 'paperclip';--> statement-breakpoint
|
|
7
|
+
UPDATE "issue_thread_interaction_owner_relays" SET "channel" = 'wardmote' WHERE "channel" = 'paperclip';--> statement-breakpoint
|
|
8
|
+
UPDATE "user" SET "email" = 'local@wardmote.local' WHERE "id" = 'local-board' AND "email" = 'local@paperclip.local';--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "chat_owner_approval_requests" ADD CONSTRAINT "chat_owner_approval_requests_resolved_via_check" CHECK ("chat_owner_approval_requests"."resolved_via" is null or "chat_owner_approval_requests"."resolved_via" in ('whatsapp', 'wardmote'));--> statement-breakpoint
|
|
10
|
+
ALTER TABLE "chat_owner_grants" ADD CONSTRAINT "chat_owner_grants_approved_via_check" CHECK ("chat_owner_grants"."approved_via" in ('whatsapp', 'wardmote'));--> statement-breakpoint
|
|
11
|
+
ALTER TABLE "issue_autonomy_windows" ADD CONSTRAINT "issue_autonomy_windows_granted_via_check" CHECK ("issue_autonomy_windows"."granted_via" in ('whatsapp', 'wardmote'));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
ALTER TABLE "tool_connections" DROP CONSTRAINT "tool_connections_credential_source_check";--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "tool_connections" DROP CONSTRAINT "tool_connections_credential_source_one_of_check";--> statement-breakpoint
|
|
3
|
+
UPDATE "tool_connections" SET "credential_source" = 'wardmote_vault' WHERE "credential_source" = 'paperclip_vault';--> statement-breakpoint
|
|
4
|
+
UPDATE "company_secrets" SET "managed_mode" = 'wardmote_managed' WHERE "managed_mode" = 'paperclip_managed';--> statement-breakpoint
|
|
5
|
+
UPDATE "user_secret_definitions" SET "managed_mode" = 'wardmote_managed' WHERE "managed_mode" = 'paperclip_managed';--> statement-breakpoint
|
|
6
|
+
ALTER TABLE "company_secrets" ALTER COLUMN "managed_mode" SET DEFAULT 'wardmote_managed';--> statement-breakpoint
|
|
7
|
+
ALTER TABLE "tool_connections" ALTER COLUMN "credential_source" SET DEFAULT 'wardmote_vault';--> statement-breakpoint
|
|
8
|
+
ALTER TABLE "user_secret_definitions" ALTER COLUMN "managed_mode" SET DEFAULT 'wardmote_managed';--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "tool_connections" ADD CONSTRAINT "tool_connections_credential_source_check" CHECK ("tool_connections"."credential_source" in ('wardmote_vault', 'vercel_connect'));--> statement-breakpoint
|
|
10
|
+
ALTER TABLE "tool_connections" ADD CONSTRAINT "tool_connections_credential_source_one_of_check" CHECK ((
|
|
11
|
+
("tool_connections"."credential_source" = 'wardmote_vault' and "tool_connections"."external_credential" is null)
|
|
12
|
+
or
|
|
13
|
+
("tool_connections"."credential_source" = 'vercel_connect' and "tool_connections"."external_credential" is not null and jsonb_array_length("tool_connections"."credential_refs") = 0 and jsonb_array_length("tool_connections"."credential_secret_refs") = 0)
|
|
14
|
+
));
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
UPDATE "agents" SET "adapter_type" = 'wardmote_runner' WHERE "adapter_type" = 'paperclip_runner';--> statement-breakpoint
|
|
2
|
+
UPDATE "agent_runtime_state" SET "adapter_type" = 'wardmote_runner' WHERE "adapter_type" = 'paperclip_runner';--> statement-breakpoint
|
|
3
|
+
UPDATE "agent_task_sessions" AS legacy SET "adapter_type" = 'wardmote_runner'
|
|
4
|
+
WHERE legacy."adapter_type" = 'paperclip_runner'
|
|
5
|
+
AND NOT EXISTS (
|
|
6
|
+
SELECT 1 FROM "agent_task_sessions" AS current
|
|
7
|
+
WHERE current."company_id" = legacy."company_id"
|
|
8
|
+
AND current."agent_id" = legacy."agent_id"
|
|
9
|
+
AND current."adapter_type" = 'wardmote_runner'
|
|
10
|
+
AND current."task_key" = legacy."task_key"
|
|
11
|
+
);--> statement-breakpoint
|
|
12
|
+
UPDATE "adapter_auth_sessions" SET "adapter_type" = 'wardmote_runner' WHERE "adapter_type" = 'paperclip_runner';--> statement-breakpoint
|
|
13
|
+
UPDATE "join_requests" SET "adapter_type" = 'wardmote_runner' WHERE "adapter_type" = 'paperclip_runner';--> statement-breakpoint
|
|
14
|
+
UPDATE "finance_events" SET "execution_adapter_type" = 'wardmote_runner' WHERE "execution_adapter_type" = 'paperclip_runner';--> statement-breakpoint
|
|
15
|
+
UPDATE "agent_config_revisions"
|
|
16
|
+
SET
|
|
17
|
+
"before_config" = CASE
|
|
18
|
+
WHEN "before_config" ->> 'adapterType' = 'paperclip_runner'
|
|
19
|
+
THEN jsonb_set("before_config", '{adapterType}', '"wardmote_runner"')
|
|
20
|
+
ELSE "before_config"
|
|
21
|
+
END,
|
|
22
|
+
"after_config" = CASE
|
|
23
|
+
WHEN "after_config" ->> 'adapterType' = 'paperclip_runner'
|
|
24
|
+
THEN jsonb_set("after_config", '{adapterType}', '"wardmote_runner"')
|
|
25
|
+
ELSE "after_config"
|
|
26
|
+
END
|
|
27
|
+
WHERE "before_config" ->> 'adapterType' = 'paperclip_runner'
|
|
28
|
+
OR "after_config" ->> 'adapterType' = 'paperclip_runner';--> statement-breakpoint
|
|
29
|
+
UPDATE "approvals"
|
|
30
|
+
SET "payload" = jsonb_set("payload", '{adapterType}', '"wardmote_runner"')
|
|
31
|
+
WHERE "payload" ->> 'adapterType' = 'paperclip_runner';--> statement-breakpoint
|
|
32
|
+
UPDATE "issue_comments"
|
|
33
|
+
SET "metadata" = jsonb_set("metadata", '{authorizationReason}', '"wardmote_runner_protocol"')
|
|
34
|
+
WHERE "metadata" ->> 'authorizationReason' = 'paperclip_runner_protocol';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
CREATE OR REPLACE FUNCTION "wardmote_rename_retired_keys"(value jsonb) RETURNS jsonb LANGUAGE sql IMMUTABLE AS $$
|
|
2
|
+
SELECT CASE jsonb_typeof(value)
|
|
3
|
+
WHEN 'object' THEN (
|
|
4
|
+
SELECT COALESCE(jsonb_object_agg(
|
|
5
|
+
regexp_replace(regexp_replace(entry.key, '^([a-z][A-Za-z0-9]*)?paperclip([A-Z0-9])', '\1wardmote\2'), '([a-z0-9])Paperclip([A-Z0-9])', '\1Wardmote\2', 'g'),
|
|
6
|
+
"wardmote_rename_retired_keys"(entry.value)
|
|
7
|
+
), '{}'::jsonb)
|
|
8
|
+
FROM jsonb_each(value) AS entry
|
|
9
|
+
)
|
|
10
|
+
WHEN 'array' THEN (
|
|
11
|
+
SELECT COALESCE(jsonb_agg("wardmote_rename_retired_keys"(element.value) ORDER BY element.ordinality), '[]'::jsonb)
|
|
12
|
+
FROM jsonb_array_elements(value) WITH ORDINALITY AS element(value, ordinality)
|
|
13
|
+
)
|
|
14
|
+
ELSE value
|
|
15
|
+
END
|
|
16
|
+
$$;--> statement-breakpoint
|
|
17
|
+
CREATE OR REPLACE FUNCTION "wardmote_has_retired_keys"(value jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE AS $$
|
|
18
|
+
SELECT value IS NOT NULL AND value::text ~ '"([a-z][A-Za-z0-9]*)?(paperclip|[a-z0-9]Paperclip)[A-Z0-9][A-Za-z0-9]*":'
|
|
19
|
+
$$;--> statement-breakpoint
|
|
20
|
+
UPDATE "instance_settings" SET
|
|
21
|
+
"general" = "wardmote_rename_retired_keys"("general"),
|
|
22
|
+
"experimental" = "wardmote_rename_retired_keys"("experimental")
|
|
23
|
+
WHERE "wardmote_has_retired_keys"("general") OR "wardmote_has_retired_keys"("experimental");--> statement-breakpoint
|
|
24
|
+
UPDATE "agents" SET
|
|
25
|
+
"adapter_config" = "wardmote_rename_retired_keys"("adapter_config"),
|
|
26
|
+
"runtime_config" = "wardmote_rename_retired_keys"("runtime_config"),
|
|
27
|
+
"metadata" = "wardmote_rename_retired_keys"("metadata")
|
|
28
|
+
WHERE "wardmote_has_retired_keys"("adapter_config") OR "wardmote_has_retired_keys"("runtime_config") OR "wardmote_has_retired_keys"("metadata");--> statement-breakpoint
|
|
29
|
+
UPDATE "agent_config_revisions" SET
|
|
30
|
+
"before_config" = "wardmote_rename_retired_keys"("before_config"),
|
|
31
|
+
"after_config" = "wardmote_rename_retired_keys"("after_config")
|
|
32
|
+
WHERE "wardmote_has_retired_keys"("before_config") OR "wardmote_has_retired_keys"("after_config");--> statement-breakpoint
|
|
33
|
+
UPDATE "agent_task_sessions" SET "session_params_json" = "wardmote_rename_retired_keys"("session_params_json")
|
|
34
|
+
WHERE "wardmote_has_retired_keys"("session_params_json");--> statement-breakpoint
|
|
35
|
+
UPDATE "agent_wakeup_requests" SET "payload" = "wardmote_rename_retired_keys"("payload")
|
|
36
|
+
WHERE "status" NOT IN ('completed', 'cancelled', 'failed', 'skipped', 'coalesced', 'interrupted') AND "wardmote_has_retired_keys"("payload");--> statement-breakpoint
|
|
37
|
+
UPDATE "plugin_config" SET "config_json" = "wardmote_rename_retired_keys"("config_json")
|
|
38
|
+
WHERE "wardmote_has_retired_keys"("config_json");--> statement-breakpoint
|
|
39
|
+
UPDATE "plugin_company_settings" SET "settings_json" = "wardmote_rename_retired_keys"("settings_json")
|
|
40
|
+
WHERE "wardmote_has_retired_keys"("settings_json");--> statement-breakpoint
|
|
41
|
+
UPDATE "heartbeat_runs" SET "context_snapshot" = (
|
|
42
|
+
SELECT COALESCE(jsonb_object_agg(
|
|
43
|
+
regexp_replace(entry.key, '^paperclip([A-Z0-9])', 'wardmote\1'), entry.value
|
|
44
|
+
), '{}'::jsonb)
|
|
45
|
+
FROM jsonb_each("heartbeat_runs"."context_snapshot") AS entry
|
|
46
|
+
)
|
|
47
|
+
WHERE jsonb_typeof("context_snapshot") = 'object'
|
|
48
|
+
AND ("status" IN ('queued', 'running') OR "created_at" > now() - interval '14 days' OR "context_snapshot" ? 'paperclipSecretRedactions')
|
|
49
|
+
AND EXISTS (SELECT 1 FROM jsonb_object_keys("heartbeat_runs"."context_snapshot") AS key WHERE key ~ '^paperclip[A-Z0-9]');--> statement-breakpoint
|
|
50
|
+
DROP FUNCTION "wardmote_has_retired_keys"(jsonb);--> statement-breakpoint
|
|
51
|
+
DROP FUNCTION "wardmote_rename_retired_keys"(jsonb);--> statement-breakpoint
|
|
52
|
+
DROP INDEX IF EXISTS "agents_company_built_in_agent_key_unique_idx";--> statement-breakpoint
|
|
53
|
+
CREATE UNIQUE INDEX "agents_company_built_in_agent_key_unique_idx"
|
|
54
|
+
ON "agents" ("company_id", (("metadata" -> 'wardmoteBuiltInAgent' ->> 'key')))
|
|
55
|
+
WHERE ("metadata" -> 'wardmoteBuiltInAgent' ->> 'key') IS NOT NULL AND "status" <> 'terminated';--> statement-breakpoint
|
|
56
|
+
DROP INDEX IF EXISTS "heartbeat_runs_company_ctx_issue_redaction_idx";--> statement-breakpoint
|
|
57
|
+
CREATE INDEX "heartbeat_runs_company_ctx_issue_redaction_idx" ON "heartbeat_runs" USING btree ("company_id",("context_snapshot" ->> 'issueId')) WHERE "heartbeat_runs"."context_snapshot" ? 'wardmoteSecretRedactions';
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
DO $$
|
|
2
|
+
BEGIN
|
|
3
|
+
UPDATE "folders" AS legacy
|
|
4
|
+
SET
|
|
5
|
+
"system_key" = 'bundled:wardmote-core',
|
|
6
|
+
"slug" = CASE WHEN legacy."slug" = 'paperclip-core' THEN 'wardmote-core' ELSE legacy."slug" END,
|
|
7
|
+
"name" = CASE WHEN legacy."name" = 'Paperclip Core' THEN 'Wardmote Core' ELSE legacy."name" END,
|
|
8
|
+
"updated_at" = now()
|
|
9
|
+
WHERE legacy."system_key" = 'bundled:paperclip-core'
|
|
10
|
+
AND NOT EXISTS (
|
|
11
|
+
SELECT 1 FROM "folders" AS current
|
|
12
|
+
WHERE current."company_id" = legacy."company_id"
|
|
13
|
+
AND current."kind" = legacy."kind"
|
|
14
|
+
AND current."system_key" = 'bundled:wardmote-core'
|
|
15
|
+
)
|
|
16
|
+
AND NOT EXISTS (
|
|
17
|
+
SELECT 1 FROM "folders" AS sibling
|
|
18
|
+
WHERE sibling."company_id" = legacy."company_id"
|
|
19
|
+
AND sibling."kind" = legacy."kind"
|
|
20
|
+
AND sibling."parent_id" IS NOT DISTINCT FROM legacy."parent_id"
|
|
21
|
+
AND sibling."slug" = 'wardmote-core'
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
UPDATE "company_skills" AS legacy
|
|
25
|
+
SET
|
|
26
|
+
"key" = CASE
|
|
27
|
+
WHEN legacy."key" ~ '^paperclipai/(bundled|optional)/'
|
|
28
|
+
AND NOT EXISTS (
|
|
29
|
+
SELECT 1 FROM "company_skills" AS current
|
|
30
|
+
WHERE current."company_id" = legacy."company_id"
|
|
31
|
+
AND current."key" = regexp_replace(
|
|
32
|
+
regexp_replace(legacy."key", '^paperclipai/', 'tickernelz/'),
|
|
33
|
+
'/paperclip-(operations|capsules)/', '/wardmote-\1/'
|
|
34
|
+
)
|
|
35
|
+
)
|
|
36
|
+
THEN regexp_replace(
|
|
37
|
+
regexp_replace(legacy."key", '^paperclipai/', 'tickernelz/'),
|
|
38
|
+
'/paperclip-(operations|capsules)/', '/wardmote-\1/'
|
|
39
|
+
)
|
|
40
|
+
ELSE legacy."key"
|
|
41
|
+
END,
|
|
42
|
+
"metadata" = CASE
|
|
43
|
+
WHEN legacy."metadata"::text ~ '"paperclipai[/:](bundled|optional)[/:]|paperclip-(operations|capsules)'
|
|
44
|
+
THEN regexp_replace(
|
|
45
|
+
regexp_replace(legacy."metadata"::text, '"paperclipai([/:])(bundled|optional)\1', '"tickernelz\1\2\1', 'g'),
|
|
46
|
+
'([/:"])paperclip-(operations|capsules)([/:"])', '\1wardmote-\2\3', 'g'
|
|
47
|
+
)::jsonb
|
|
48
|
+
ELSE legacy."metadata"
|
|
49
|
+
END,
|
|
50
|
+
"updated_at" = now()
|
|
51
|
+
WHERE (
|
|
52
|
+
legacy."key" ~ '^paperclipai/(bundled|optional)/'
|
|
53
|
+
AND NOT EXISTS (
|
|
54
|
+
SELECT 1 FROM "company_skills" AS current
|
|
55
|
+
WHERE current."company_id" = legacy."company_id"
|
|
56
|
+
AND current."key" = regexp_replace(
|
|
57
|
+
regexp_replace(legacy."key", '^paperclipai/', 'tickernelz/'),
|
|
58
|
+
'/paperclip-(operations|capsules)/', '/wardmote-\1/'
|
|
59
|
+
)
|
|
60
|
+
)
|
|
61
|
+
)
|
|
62
|
+
OR legacy."metadata"::text ~ '"paperclipai[/:](bundled|optional)[/:]|paperclip-(operations|capsules)';
|
|
63
|
+
|
|
64
|
+
UPDATE "agents"
|
|
65
|
+
SET
|
|
66
|
+
"adapter_config" = regexp_replace(
|
|
67
|
+
regexp_replace("adapter_config"::text, '"paperclipai([/:])(bundled|optional)\1', '"tickernelz\1\2\1', 'g'),
|
|
68
|
+
'([/:"])paperclip-(operations|capsules)([/:"])', '\1wardmote-\2\3', 'g'
|
|
69
|
+
)::jsonb,
|
|
70
|
+
"metadata" = CASE
|
|
71
|
+
WHEN "metadata" IS NULL THEN NULL
|
|
72
|
+
ELSE regexp_replace(
|
|
73
|
+
regexp_replace("metadata"::text, '"paperclipai([/:])(bundled|optional)\1', '"tickernelz\1\2\1', 'g'),
|
|
74
|
+
'([/:"])paperclip-(operations|capsules)([/:"])', '\1wardmote-\2\3', 'g'
|
|
75
|
+
)::jsonb
|
|
76
|
+
END
|
|
77
|
+
WHERE "adapter_config"::text ~ '"paperclipai[/:](bundled|optional)[/:]|[/:"]paperclip-(operations|capsules)[/:"]'
|
|
78
|
+
OR "metadata"::text ~ '"paperclipai[/:](bundled|optional)[/:]|[/:"]paperclip-(operations|capsules)[/:"]';
|
|
79
|
+
|
|
80
|
+
UPDATE "agent_config_revisions"
|
|
81
|
+
SET
|
|
82
|
+
"before_config" = regexp_replace(
|
|
83
|
+
regexp_replace("before_config"::text, '"paperclipai([/:])(bundled|optional)\1', '"tickernelz\1\2\1', 'g'),
|
|
84
|
+
'([/:"])paperclip-(operations|capsules)([/:"])', '\1wardmote-\2\3', 'g'
|
|
85
|
+
)::jsonb,
|
|
86
|
+
"after_config" = regexp_replace(
|
|
87
|
+
regexp_replace("after_config"::text, '"paperclipai([/:])(bundled|optional)\1', '"tickernelz\1\2\1', 'g'),
|
|
88
|
+
'([/:"])paperclip-(operations|capsules)([/:"])', '\1wardmote-\2\3', 'g'
|
|
89
|
+
)::jsonb
|
|
90
|
+
WHERE "before_config"::text ~ '"paperclipai[/:](bundled|optional)[/:]|[/:"]paperclip-(operations|capsules)[/:"]'
|
|
91
|
+
OR "after_config"::text ~ '"paperclipai[/:](bundled|optional)[/:]|[/:"]paperclip-(operations|capsules)[/:"]';
|
|
92
|
+
END $$;
|