@cat-factory/node-server 0.161.0 → 0.162.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.
Files changed (37) hide show
  1. package/dist/container-core-deps.js +5 -0
  2. package/dist/container-core-deps.js.map +1 -1
  3. package/dist/db/schema.d.ts +179 -1232
  4. package/dist/db/schema.d.ts.map +1 -1
  5. package/dist/db/schema.js +17 -141
  6. package/dist/db/schema.js.map +1 -1
  7. package/dist/db/tables/model-credentials.d.ts +1085 -0
  8. package/dist/db/tables/model-credentials.d.ts.map +1 -0
  9. package/dist/db/tables/model-credentials.js +160 -0
  10. package/dist/db/tables/model-credentials.js.map +1 -0
  11. package/dist/db/tables/settings.d.ts +82 -0
  12. package/dist/db/tables/settings.d.ts.map +1 -1
  13. package/dist/db/tables/settings.js +16 -0
  14. package/dist/db/tables/settings.js.map +1 -1
  15. package/dist/repositories/drizzle/initiatives.d.ts.map +1 -1
  16. package/dist/repositories/drizzle/initiatives.js +12 -0
  17. package/dist/repositories/drizzle/initiatives.js.map +1 -1
  18. package/dist/repositories/drizzle/settings.d.ts +9 -1
  19. package/dist/repositories/drizzle/settings.d.ts.map +1 -1
  20. package/dist/repositories/drizzle/settings.js +60 -1
  21. package/dist/repositories/drizzle/settings.js.map +1 -1
  22. package/dist/repositories/drizzle/telemetry.d.ts.map +1 -1
  23. package/dist/repositories/drizzle/telemetry.js +10 -1
  24. package/dist/repositories/drizzle/telemetry.js.map +1 -1
  25. package/dist/repositories/drizzle.d.ts +2 -1
  26. package/dist/repositories/drizzle.d.ts.map +1 -1
  27. package/dist/repositories/drizzle.js +2 -1
  28. package/dist/repositories/drizzle.js.map +1 -1
  29. package/dist/repositories/tasks.d.ts +1 -0
  30. package/dist/repositories/tasks.d.ts.map +1 -1
  31. package/dist/repositories/tasks.js +14 -1
  32. package/dist/repositories/tasks.js.map +1 -1
  33. package/drizzle/20260804102833_mute_iron_fist/migration.sql +2 -0
  34. package/drizzle/20260804102833_mute_iron_fist/snapshot.json +19806 -0
  35. package/drizzle/20260804105124_lean_skin/migration.sql +7 -0
  36. package/drizzle/20260804105124_lean_skin/snapshot.json +19900 -0
  37. package/package.json +20 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-credentials.d.ts","sourceRoot":"","sources":["../../../src/db/tables/model-credentials.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBtC,CAAA;AAQD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBnC,CAAA;AAKD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB3B,CAAA;AAKD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BjC,CAAA;AAID,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnC,CAAA;AAMD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAA;AAMD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAA"}
@@ -0,0 +1,160 @@
1
+ import { sql } from 'drizzle-orm';
2
+ import { bigint, index, integer, pgTable, primaryKey, text, uniqueIndex } from 'drizzle-orm/pg-core';
3
+ // The only FK targets in the schema live in `identity.ts`; the two per-USER credential
4
+ // tables here reference `users.id`, so it is imported by name (the same edge
5
+ // `../schema.ts` carries for the tables that stayed there).
6
+ import { users } from './identity.js';
7
+ // ---------------------------------------------------------------------------
8
+ // The OUTBOUND MODEL-PROVIDER CREDENTIAL tables: everything the deployment presents to a
9
+ // model vendor, plus the usage counters that decide WHICH credential a run leases. One cohesive
10
+ // group: the pooled subscription tokens behind the Claude Code / Codex harnesses, the
11
+ // direct-provider API keys, the per-user personal subscriptions and their per-run activations, the
12
+ // per-user locally-run endpoints, the enabled-gateway-model catalog, and the modeled quota-cycle
13
+ // windows all four pools accumulate into.
14
+ //
15
+ // Deliberately NOT here: `public_api_keys`, which points the other way (the credentials
16
+ // external systems present to `/api/v1`, stored as a one-way hash because nothing ever
17
+ // needs to replay them). It stays in `../schema.ts` beside the rest of the platform's own
18
+ // rows; the contrast between the two directions is documented at its definition.
19
+ //
20
+ // Split out of `../schema.ts` so that module stays inside its size budget, exactly as
21
+ // `identity.ts`, `vcs.ts` and `settings.ts` were; it re-exports everything here, so every
22
+ // importer (and drizzle-kit, which follows the re-export) still reaches these through
23
+ // `db/schema.js`. Columns mirror the Cloudflare D1 tables one-for-one, per the
24
+ // runtime-symmetry rule.
25
+ // ---------------------------------------------------------------------------
26
+ // Provider-subscription token pool (mirror of D1 migration 0035): per-workspace,
27
+ // per-vendor subscription credentials (Claude Pro/Max OAuth token, ChatGPT
28
+ // auth.json) authenticating the Claude Code / Codex harnesses. The credential is
29
+ // stored as an opaque SecretCipher envelope; usage counters drive usage-aware
30
+ // rotation. A workspace may hold many tokens per vendor (a pool).
31
+ export const providerSubscriptionTokens = pgTable('provider_subscription_tokens', {
32
+ id: text('id').primaryKey(),
33
+ workspace_id: text('workspace_id').notNull(),
34
+ vendor: text('vendor').notNull(),
35
+ label: text('label').notNull(),
36
+ token_cipher: text('token_cipher').notNull(),
37
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
38
+ last_used_at: bigint('last_used_at', { mode: 'number' }),
39
+ window_started_at: bigint('window_started_at', { mode: 'number' }),
40
+ input_tokens: bigint('input_tokens', { mode: 'number' }).notNull().default(0),
41
+ output_tokens: bigint('output_tokens', { mode: 'number' }).notNull().default(0),
42
+ request_count: integer('request_count').notNull().default(0),
43
+ // Lifecycle flags (0/1): `enabled` gates leasing, `is_default` pins the preferred token
44
+ // for a (workspace, vendor). Mirror of D1 migration 0058.
45
+ enabled: integer('enabled').notNull().default(1),
46
+ is_default: integer('is_default').notNull().default(0),
47
+ deleted_at: bigint('deleted_at', { mode: 'number' }),
48
+ }, (t) => [index('idx_provider_subs_pool').on(t.workspace_id, t.vendor, t.deleted_at)]);
49
+ // Subscription quota-cycle counters (mirror of D1 migration 0047): the MODELED
50
+ // rolling-window usage behind "how much of a subscription's quota cycle is left"
51
+ // (usage-and-quota-tracking, Part B). One row per (scope, scope_id, vendor, window_kind):
52
+ // scope 'pooled' → a provider_subscription_tokens id; scope 'user' → a user id. Each
53
+ // window accumulates the same tokens but resets on its own cadence (window_started_at is
54
+ // the first-use anchor, re-stamped when the window ages out). Never billed.
55
+ export const subscriptionQuotaCycles = pgTable('subscription_quota_cycles', {
56
+ id: text('id').primaryKey(),
57
+ scope: text('scope').notNull(),
58
+ scope_id: text('scope_id').notNull(),
59
+ vendor: text('vendor').notNull(),
60
+ window_kind: text('window_kind').notNull(),
61
+ window_started_at: bigint('window_started_at', { mode: 'number' }).notNull(),
62
+ input_tokens: bigint('input_tokens', { mode: 'number' }).notNull().default(0),
63
+ output_tokens: bigint('output_tokens', { mode: 'number' }).notNull().default(0),
64
+ request_count: integer('request_count').notNull().default(0),
65
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
66
+ }, (t) => [
67
+ uniqueIndex('idx_subscription_quota_cycles_key').on(t.scope, t.scope_id, t.vendor, t.window_kind),
68
+ index('idx_subscription_quota_cycles_window').on(t.window_started_at),
69
+ ]);
70
+ // Direct-provider API-key pool: UI-onboarded vendor API keys scoped to an
71
+ // account, workspace, or user (mirror of D1 migration 0042). The key is stored as
72
+ // an opaque SecretCipher envelope — never plaintext.
73
+ export const providerApiKeys = pgTable('provider_api_keys', {
74
+ id: text('id').primaryKey(),
75
+ scope: text('scope').notNull(),
76
+ scope_id: text('scope_id').notNull(),
77
+ provider: text('provider').notNull(),
78
+ label: text('label').notNull(),
79
+ key_cipher: text('key_cipher').notNull(),
80
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
81
+ last_used_at: bigint('last_used_at', { mode: 'number' }),
82
+ window_started_at: bigint('window_started_at', { mode: 'number' }),
83
+ input_tokens: bigint('input_tokens', { mode: 'number' }).notNull().default(0),
84
+ output_tokens: bigint('output_tokens', { mode: 'number' }).notNull().default(0),
85
+ request_count: integer('request_count').notNull().default(0),
86
+ // Lifecycle flags (0/1): `enabled` gates leasing, `is_default` pins the preferred key
87
+ // for a (scope, scope_id, provider). Mirror of D1 migration 0058.
88
+ enabled: integer('enabled').notNull().default(1),
89
+ is_default: integer('is_default').notNull().default(0),
90
+ deleted_at: bigint('deleted_at', { mode: 'number' }),
91
+ }, (t) => [index('idx_provider_api_keys_pool').on(t.scope, t.scope_id, t.provider, t.deleted_at)]);
92
+ // Individual-usage subscriptions (Claude): per-USER, never pooled (mirror of D1
93
+ // migration 0039). The credential is double-encrypted (password layer inside the
94
+ // system layer).
95
+ export const personalSubscriptions = pgTable('personal_subscriptions', {
96
+ id: text('id').primaryKey(),
97
+ // ON DELETE RESTRICT: can't drop a user that still owns a personal subscription
98
+ // (the orphaned `psub_X -> usr_OLD` row from the incident).
99
+ user_id: text('user_id')
100
+ .notNull()
101
+ .references(() => users.id, { onDelete: 'restrict' }),
102
+ vendor: text('vendor').notNull(),
103
+ label: text('label').notNull(),
104
+ token_cipher: text('token_cipher').notNull(),
105
+ expires_at: bigint('expires_at', { mode: 'number' }),
106
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
107
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
108
+ last_used_at: bigint('last_used_at', { mode: 'number' }),
109
+ deleted_at: bigint('deleted_at', { mode: 'number' }),
110
+ }, (t) => [
111
+ uniqueIndex('idx_personal_subs_user_vendor')
112
+ .on(t.user_id, t.vendor)
113
+ .where(sql `${t.deleted_at} IS NULL`),
114
+ index('idx_personal_subs_expiry')
115
+ .on(t.expires_at)
116
+ .where(sql `${t.deleted_at} IS NULL`),
117
+ ]);
118
+ // Per-run activations of a personal credential: the raw token re-encrypted with the
119
+ // system key only, scoped to one execution with a TTL (mirror of D1 migration 0039).
120
+ export const subscriptionActivations = pgTable('subscription_activations', {
121
+ id: text('id').primaryKey(),
122
+ execution_id: text('execution_id').notNull(),
123
+ // ON DELETE RESTRICT: a users row can't be removed while it still has a run activation.
124
+ user_id: text('user_id')
125
+ .notNull()
126
+ .references(() => users.id, { onDelete: 'restrict' }),
127
+ vendor: text('vendor').notNull(),
128
+ token_cipher: text('token_cipher').notNull(),
129
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
130
+ expires_at: bigint('expires_at', { mode: 'number' }).notNull(),
131
+ }, (t) => [
132
+ uniqueIndex('idx_sub_activations_run').on(t.execution_id, t.user_id, t.vendor),
133
+ index('idx_sub_activations_expiry').on(t.expires_at),
134
+ ]);
135
+ // Per-USER locally-run model endpoints (Ollama / LM Studio / llama.cpp / vLLM / custom),
136
+ // keyed by (user_id, provider). The optional bearer key is system-key-encrypted in
137
+ // `api_key_cipher`; `models` is a JSON array of enabled model ids (mirror of D1
138
+ // migration 0002).
139
+ export const localModelEndpoints = pgTable('local_model_endpoints', {
140
+ user_id: text('user_id').notNull(),
141
+ provider: text('provider').notNull(),
142
+ label: text('label').notNull(),
143
+ base_url: text('base_url').notNull(),
144
+ api_key_cipher: text('api_key_cipher'),
145
+ models: text('models').notNull(),
146
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
147
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
148
+ }, (t) => [primaryKey({ columns: [t.user_id, t.provider] })]);
149
+ // Per-WORKSPACE enabled GATEWAY models (the dynamic catalog subset) — OpenRouter today,
150
+ // LiteLLM and others later. `models` is a JSON array of { id, name, contextLength?,
151
+ // inputPerMillion, outputPerMillion } — the enabled subset with cached context + price
152
+ // (mirror of D1 migration 0006). Keyed by (workspace_id, provider).
153
+ export const providerModelCatalog = pgTable('provider_model_catalog', {
154
+ workspace_id: text('workspace_id').notNull(),
155
+ provider: text('provider').notNull(),
156
+ models: text('models').notNull(),
157
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
158
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
159
+ }, (t) => [primaryKey({ columns: [t.workspace_id, t.provider] })]);
160
+ //# sourceMappingURL=model-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-credentials.js","sourceRoot":"","sources":["../../../src/db/tables/model-credentials.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,88 @@ export declare const userSettings: import("drizzle-orm/pg-core").PgTableWithColu
117
117
  };
118
118
  dialect: 'pg';
119
119
  }>;
120
+ export declare const tutorialProgress: import("drizzle-orm/pg-core").PgTableWithColumns<{
121
+ name: "tutorial_progress";
122
+ schema: undefined;
123
+ columns: {
124
+ user_id: import("drizzle-orm/pg-core").PgBuildColumn<"tutorial_progress", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
125
+ name: string;
126
+ tableName: "tutorial_progress";
127
+ dataType: "string";
128
+ data: string;
129
+ driverParam: string;
130
+ notNull: true;
131
+ hasDefault: false;
132
+ isPrimaryKey: false;
133
+ isAutoincrement: false;
134
+ hasRuntimeDefault: false;
135
+ enumValues: undefined;
136
+ identity: undefined;
137
+ generated: undefined;
138
+ }>;
139
+ decision: import("drizzle-orm/pg-core").PgBuildColumn<"tutorial_progress", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
140
+ name: string;
141
+ tableName: "tutorial_progress";
142
+ dataType: "string";
143
+ data: string;
144
+ driverParam: string;
145
+ notNull: false;
146
+ hasDefault: false;
147
+ isPrimaryKey: false;
148
+ isAutoincrement: false;
149
+ hasRuntimeDefault: false;
150
+ enumValues: undefined;
151
+ identity: undefined;
152
+ generated: undefined;
153
+ }>;
154
+ completed_tour_ids: import("drizzle-orm/pg-core").PgBuildColumn<"tutorial_progress", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
155
+ name: string;
156
+ tableName: "tutorial_progress";
157
+ dataType: "string";
158
+ data: string;
159
+ driverParam: string;
160
+ notNull: true;
161
+ hasDefault: true;
162
+ isPrimaryKey: false;
163
+ isAutoincrement: false;
164
+ hasRuntimeDefault: false;
165
+ enumValues: undefined;
166
+ identity: undefined;
167
+ generated: undefined;
168
+ }>;
169
+ nudged_tour_ids: import("drizzle-orm/pg-core").PgBuildColumn<"tutorial_progress", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
170
+ name: string;
171
+ tableName: "tutorial_progress";
172
+ dataType: "string";
173
+ data: string;
174
+ driverParam: string;
175
+ notNull: true;
176
+ hasDefault: true;
177
+ isPrimaryKey: false;
178
+ isAutoincrement: false;
179
+ hasRuntimeDefault: false;
180
+ enumValues: undefined;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }>;
184
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"tutorial_progress", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
185
+ name: string;
186
+ tableName: "tutorial_progress";
187
+ dataType: "number int53";
188
+ data: number;
189
+ driverParam: string | number;
190
+ notNull: true;
191
+ hasDefault: false;
192
+ isPrimaryKey: false;
193
+ isAutoincrement: false;
194
+ hasRuntimeDefault: false;
195
+ enumValues: undefined;
196
+ identity: undefined;
197
+ generated: undefined;
198
+ }>;
199
+ };
200
+ dialect: 'pg';
201
+ }>;
120
202
  export declare const workspaceAgentSettings: import("drizzle-orm/pg-core").PgTableWithColumns<{
121
203
  name: "workspace_agent_settings";
122
204
  schema: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/db/tables/settings.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAA;AAUF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlC,CAAA;AAKD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD5B,CAAA"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/db/tables/settings.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAA;AAWF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAA;AAUF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlC,CAAA;AAKD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD5B,CAAA"}
@@ -30,6 +30,22 @@ export const userSettings = pgTable('user_settings', {
30
30
  spend_monthly_limit: doublePrecision('spend_monthly_limit'),
31
31
  updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
32
32
  });
33
+ // Per-user in-app tutorial progress (mirror of D1 migration 0080). PK is the user id, like
34
+ // `user_settings` above. Mirrors the SPA's browser-persisted store so a person's walkthrough
35
+ // history follows THEM rather than a browser profile.
36
+ //
37
+ // The two id lists are JSON arrays rather than a join table: grow-only sets of at most a few dozen
38
+ // opaque tour ids, always read and written whole, never joined or aggregated over. `decision` is
39
+ // NULL when the launch prompt was never answered, which is a real state distinct from 'declined'.
40
+ // The row's ABSENCE is what "Reset progress" restores, so the reset deletes rather than rewriting
41
+ // defaults.
42
+ export const tutorialProgress = pgTable('tutorial_progress', {
43
+ user_id: text('user_id').primaryKey(),
44
+ decision: text('decision'),
45
+ completed_tour_ids: text('completed_tour_ids').notNull().default('[]'),
46
+ nudged_tour_ids: text('nudged_tour_ids').notNull().default('[]'),
47
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
48
+ });
33
49
  // Per-workspace, per-agent-kind generation settings (mirror of D1 migration 0071), edited from
34
50
  // the pipeline builder beside the prompt overrides. The workspace tier of the deployment's
35
51
  // per-kind output-token ceiling: no row (or a NULL `max_output_tokens`) means inherit the
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/db/tables/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEjG,8EAA8E;AAC9E,yFAAyF;AACzF,mFAAmF;AACnF,yFAAyF;AACzF,yFAAyF;AACzF,qFAAqF;AACrF,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,sFAAsF;AACtF,+EAA+E;AAC/E,yBAAyB;AACzB,8EAA8E;AAE9E,0FAA0F;AAC1F,qFAAqF;AACrF,uFAAuF;AACvF,2FAA2F;AAC3F,qFAAqF;AACrF,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE;IACrD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9D,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CAC/D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE;IACnD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE;IACrC,2EAA2E;IAC3E,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CAC/D,CAAC,CAAA;AAEF,+FAA+F;AAC/F,2FAA2F;AAC3F,0FAA0F;AAC1F,2FAA2F;AAC3F,6FAA6F;AAC7F,4FAA4F;AAC5F,yFAAyF;AACzF,mCAAmC;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAC3C,0BAA0B,EAC1B;IACE,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC5C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACxC,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CAC/D,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CACjE,CAAA;AAED,uFAAuF;AACvF,uFAAuF;AACvF,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC7D,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACzD,0BAA0B,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACxF,gCAAgC;IAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjE,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAC/C,kFAAkF;IAClF,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAChD,+EAA+E;IAC/E,qFAAqF;IACrF,mBAAmB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,8BAA8B,EAAE,OAAO,CAAC,gCAAgC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,oFAAoF;IACpF,4EAA4E;IAC5E,uBAAuB,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjF,uFAAuF;IACvF,iCAAiC;IACjC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,sFAAsF;IACtF,yFAAyF;IACzF,iCAAiC;IACjC,8BAA8B,EAAE,OAAO,CAAC,gCAAgC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,+FAA+F;IAC/F,4FAA4F;IAC5F,oFAAoF;IACpF,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3E,0BAA0B,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtF,2BAA2B,EAAE,OAAO,CAAC,6BAA6B,CAAC;IACnE,mCAAmC,EAAE,OAAO,CAAC,qCAAqC,CAAC;IACnF,oFAAoF;IACpF,oCAAoC;IACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACtC,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC;IAC3D,wFAAwF;IACxF,qFAAqF;IACrF,uFAAuF;IACvF,8EAA8E;IAC9E,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;IACtD,6BAA6B,EAAE,IAAI,CAAC,+BAA+B,CAAC;IACpE,4FAA4F;IAC5F,6FAA6F;IAC7F,yFAAyF;IACzF,gDAAgD;IAChD,mBAAmB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,sFAAsF;IACtF,4EAA4E;IAC5E,0EAA0E;IAC1E,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;CAC3B,CAAC,CAAA"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/db/tables/settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initiatives.d.ts","sourceRoot":"","sources":["../../../src/repositories/drizzle/initiatives.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAOnD;;;;;GAKG;AAEH,qBAAa,2BAA4B,YAAW,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOrE;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOjF;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQrD;IAEK,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC,CAYrF;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvE;IAEK,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAkBlB;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;CACF;AAkCD;;;;;;;GAOG;AAEH,qBAAa,2BAA4B,YAAW,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOrE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAOrD;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQhE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3D;CACF;AAqDD;;;;;GAKG;AAEH,qBAAa,4BAA6B,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAOtE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAOtD;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;CACF"}
1
+ {"version":3,"file":"initiatives.d.ts","sourceRoot":"","sources":["../../../src/repositories/drizzle/initiatives.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAOnD;;;;;GAKG;AAEH,qBAAa,2BAA4B,YAAW,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOrE;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOjF;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQrD;IAEK,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC,CAYrF;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvE;IAEK,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAkBlB;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;CACF;AA0CD;;;;;;;GAOG;AAEH,qBAAa,2BAA4B,YAAW,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOrE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAOrD;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQhE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3D;CACF;AAqDD;;;;;GAKG;AAEH,qBAAa,4BAA6B,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAOtE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAOtD;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;CACF"}
@@ -113,6 +113,14 @@ function rowToRiskPolicy(row) {
113
113
  // The column is NOT NULL DEFAULT '{}', but tolerate a null defensively: an empty rule map is
114
114
  // the identity (every class falls back to the score ceilings).
115
115
  classRules: row.class_rules ? JSON.parse(row.class_rules) : {},
116
+ // Same defensive read for the role-scoped pair: the empty value is the identity for each
117
+ // (no role narrows anything, nobody is sandboxed).
118
+ classRulesByRole: row.class_rules_by_role
119
+ ? JSON.parse(row.class_rules_by_role)
120
+ : {},
121
+ dryRunRoles: row.dry_run_roles
122
+ ? JSON.parse(row.dry_run_roles)
123
+ : [],
116
124
  isDefault: row.is_default === 1,
117
125
  ...(row.version != null ? { version: row.version } : {}),
118
126
  createdAt: row.created_at,
@@ -176,6 +184,8 @@ export class DrizzleRiskPolicyRepository {
176
184
  auto_merge_enabled: preset.autoMergeEnabled ? 1 : 0,
177
185
  fork_decision: preset.forkDecision ? JSON.stringify(preset.forkDecision) : null,
178
186
  class_rules: JSON.stringify(preset.classRules ?? {}),
187
+ class_rules_by_role: JSON.stringify(preset.classRulesByRole ?? {}),
188
+ dry_run_roles: JSON.stringify(preset.dryRunRoles ?? []),
179
189
  version: preset.version ?? null,
180
190
  is_default: preset.isDefault ? 1 : 0,
181
191
  created_at: preset.createdAt,
@@ -208,6 +218,8 @@ export class DrizzleRiskPolicyRepository {
208
218
  release_max_attempts: values.release_max_attempts,
209
219
  human_review_grace_minutes: values.human_review_grace_minutes,
210
220
  class_rules: values.class_rules,
221
+ class_rules_by_role: values.class_rules_by_role,
222
+ dry_run_roles: values.dry_run_roles,
211
223
  auto_merge_enabled: values.auto_merge_enabled,
212
224
  fork_decision: values.fork_decision,
213
225
  version: values.version,
@@ -1 +1 @@
1
- {"version":3,"file":"initiatives.js","sourceRoot":"","sources":["../../../src/repositories/drizzle/initiatives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initiatives.js","sourceRoot":"","sources":["../../../src/repositories/drizzle/initiatives.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AccountSettingsConfig, AccountSettingsRecord, AccountSettingsRepository, AgentPromptRepository, AgentPromptRevision, KeyFingerprintStore, LocalSettingsRecord, LocalSettingsRepository, ModelPreset, ModelPresetRepository, NotificationWebhookRecord, NotificationWebhookRepository, ReviewQuestionPostClaimWindow, ReviewQuestionPostKey, ReviewQuestionPostRecord, ReviewQuestionPostRepository, TrackerCommentIngestClaimWindow, TrackerCommentIngestKey, TrackerCommentIngestRecord, TrackerCommentIngestRepository, TrackerSettings, TrackerSettingsRepository, UserSettings, UserSettingsRepository, WorkspaceAgentSettings, WorkspaceAgentSettingsRepository, WorkspaceSettings, WorkspaceSettingsRepository } from '@cat-factory/kernel';
1
+ import type { AccountSettingsConfig, AccountSettingsRecord, AccountSettingsRepository, AgentPromptRepository, AgentPromptRevision, KeyFingerprintStore, LocalSettingsRecord, LocalSettingsRepository, ModelPreset, ModelPresetRepository, NotificationWebhookRecord, NotificationWebhookRepository, ReviewQuestionPostClaimWindow, ReviewQuestionPostKey, ReviewQuestionPostRecord, ReviewQuestionPostRepository, TrackerCommentIngestClaimWindow, TrackerCommentIngestKey, TrackerCommentIngestRecord, TrackerCommentIngestRepository, TrackerSettings, TrackerSettingsRepository, TutorialProgress, TutorialProgressRepository, UserSettings, UserSettingsRepository, WorkspaceAgentSettings, WorkspaceAgentSettingsRepository, WorkspaceSettings, WorkspaceSettingsRepository } from '@cat-factory/kernel';
2
2
  import type { DrizzleDb } from '../../db/client.js';
3
3
  export declare class DrizzleKeyFingerprintStore implements KeyFingerprintStore {
4
4
  private readonly db;
@@ -13,6 +13,14 @@ export declare class DrizzleUserSettingsRepository implements UserSettingsReposi
13
13
  get(userId: string): Promise<UserSettings | null>;
14
14
  upsert(userId: string, settings: UserSettings): Promise<void>;
15
15
  }
16
+ /** Postgres-backed per-user tutorial progress (mirror of D1 migration 0080). */
17
+ export declare class DrizzleTutorialProgressRepository implements TutorialProgressRepository {
18
+ private readonly db;
19
+ constructor(db: DrizzleDb);
20
+ get(userId: string): Promise<TutorialProgress | null>;
21
+ upsert(userId: string, progress: TutorialProgress): Promise<void>;
22
+ remove(userId: string): Promise<void>;
23
+ }
16
24
  /**
17
25
  * Per-workspace model presets over Postgres (the Drizzle mirror of the Worker's
18
26
  * `D1ModelPresetRepository`, migration 0006). A preset is one `base_model_id` applied
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/repositories/drizzle/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/repositories/drizzle/settings.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import { parseStoredAccountSettingsConfig } from '@cat-factory/contracts';
7
7
  import { parseNotificationWebhookTypes, parseProviderPreferenceColumn, parseRunLifecycleEvents, serializeProviderPreferenceColumn, } from '@cat-factory/server';
8
8
  import { and, desc, eq, inArray, lte, or, sql } from 'drizzle-orm';
9
- import { accountSettings, agentPromptRevisions, keyFingerprint, localSettings, modelPresets, notificationWebhooks, reviewQuestionPosts, trackerCommentIngests, trackerSettings, userSettings, workspaceAgentSettings, workspaceSettings, } from '../../db/schema.js';
9
+ import { accountSettings, agentPromptRevisions, keyFingerprint, localSettings, modelPresets, notificationWebhooks, reviewQuestionPosts, trackerCommentIngests, trackerSettings, tutorialProgress, userSettings, workspaceAgentSettings, workspaceSettings, } from '../../db/schema.js';
10
10
  /** The fixed singleton-row id for the deployment's key fingerprint (ADR 0026 D6.1). */
11
11
  const KEY_FINGERPRINT_ID = 'key';
12
12
  export class DrizzleKeyFingerprintStore {
@@ -56,6 +56,65 @@ export class DrizzleUserSettingsRepository {
56
56
  });
57
57
  }
58
58
  }
59
+ /**
60
+ * Parse a stored JSON id array LENIENTLY: anything that is not an array of strings reads as empty.
61
+ *
62
+ * The row is composed by a browser, so an unparseable value means a client wrote something
63
+ * unexpected. Throwing would take down the workspace snapshot this is read as part of, over a
64
+ * tutorial-progress list; forgetting the walkthroughs costs a re-offer, not the board. Byte-for-byte
65
+ * the D1 repository's rule, per the runtime-symmetry requirement that both stores map a row the
66
+ * same way.
67
+ */
68
+ function parseTourIds(raw) {
69
+ try {
70
+ const parsed = JSON.parse(raw);
71
+ return Array.isArray(parsed) ? parsed.filter((id) => typeof id === 'string') : [];
72
+ }
73
+ catch {
74
+ // silent-catch-ok: a malformed list degrades to "no tours remembered"; the fallback IS the
75
+ // report, and there is nothing an operator would do about one row of client-authored JSON.
76
+ return [];
77
+ }
78
+ }
79
+ /** The stored decision, narrowed against the closed vocabulary; anything else = never answered. */
80
+ function parseTutorialDecision(raw) {
81
+ return raw === 'accepted' || raw === 'declined' ? raw : null;
82
+ }
83
+ /** Postgres-backed per-user tutorial progress (mirror of D1 migration 0080). */
84
+ export class DrizzleTutorialProgressRepository {
85
+ db;
86
+ constructor(db) {
87
+ this.db = db;
88
+ }
89
+ async get(userId) {
90
+ const [row] = await this.db
91
+ .select()
92
+ .from(tutorialProgress)
93
+ .where(eq(tutorialProgress.user_id, userId));
94
+ return row
95
+ ? {
96
+ decision: parseTutorialDecision(row.decision),
97
+ completedTourIds: parseTourIds(row.completed_tour_ids),
98
+ nudgedTourIds: parseTourIds(row.nudged_tour_ids),
99
+ }
100
+ : null;
101
+ }
102
+ async upsert(userId, progress) {
103
+ const values = {
104
+ decision: progress.decision,
105
+ completed_tour_ids: JSON.stringify(progress.completedTourIds),
106
+ nudged_tour_ids: JSON.stringify(progress.nudgedTourIds),
107
+ updated_at: Date.now(),
108
+ };
109
+ await this.db
110
+ .insert(tutorialProgress)
111
+ .values({ user_id: userId, ...values })
112
+ .onConflictDoUpdate({ target: tutorialProgress.user_id, set: values });
113
+ }
114
+ async remove(userId) {
115
+ await this.db.delete(tutorialProgress).where(eq(tutorialProgress.user_id, userId));
116
+ }
117
+ }
59
118
  function rowToModelPreset(row) {
60
119
  let overrides = {};
61
120
  try {