@paperclipai/db 0.3.0 → 0.3.1-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/backup-lib.d.ts +9 -0
  2. package/dist/backup-lib.d.ts.map +1 -1
  3. package/dist/backup-lib.js +230 -62
  4. package/dist/backup-lib.js.map +1 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +9 -6
  7. package/dist/client.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/migrate.js +21 -15
  13. package/dist/migrate.js.map +1 -1
  14. package/dist/migration-runtime.d.ts +7 -0
  15. package/dist/migration-runtime.d.ts.map +1 -0
  16. package/dist/migration-runtime.js +102 -0
  17. package/dist/migration-runtime.js.map +1 -0
  18. package/dist/migration-status.d.ts +2 -0
  19. package/dist/migration-status.d.ts.map +1 -0
  20. package/dist/migration-status.js +37 -0
  21. package/dist/migration-status.js.map +1 -0
  22. package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
  23. package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
  24. package/dist/migrations/meta/0026_snapshot.json +6193 -0
  25. package/dist/migrations/meta/0027_snapshot.json +6205 -0
  26. package/dist/migrations/meta/_journal.json +14 -0
  27. package/dist/migrations/migrations/0026_lying_pete_wisdom.sql +39 -0
  28. package/dist/migrations/migrations/0027_tranquil_tenebrous.sql +2 -0
  29. package/dist/migrations/migrations/meta/0026_snapshot.json +6193 -0
  30. package/dist/migrations/migrations/meta/0027_snapshot.json +6205 -0
  31. package/dist/migrations/migrations/meta/_journal.json +14 -0
  32. package/dist/runtime-config.d.ts +16 -0
  33. package/dist/runtime-config.d.ts.map +1 -0
  34. package/dist/runtime-config.js +197 -0
  35. package/dist/runtime-config.js.map +1 -0
  36. package/dist/runtime-config.test.d.ts +2 -0
  37. package/dist/runtime-config.test.d.ts.map +1 -0
  38. package/dist/runtime-config.test.js +93 -0
  39. package/dist/runtime-config.test.js.map +1 -0
  40. package/dist/schema/index.d.ts +1 -0
  41. package/dist/schema/index.d.ts.map +1 -1
  42. package/dist/schema/index.js +1 -0
  43. package/dist/schema/index.js.map +1 -1
  44. package/dist/schema/issues.d.ts +19 -0
  45. package/dist/schema/issues.d.ts.map +1 -1
  46. package/dist/schema/issues.js +1 -0
  47. package/dist/schema/issues.js.map +1 -1
  48. package/dist/schema/projects.d.ts +19 -0
  49. package/dist/schema/projects.d.ts.map +1 -1
  50. package/dist/schema/projects.js +2 -1
  51. package/dist/schema/projects.js.map +1 -1
  52. package/dist/schema/workspace_runtime_services.d.ts +452 -0
  53. package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
  54. package/dist/schema/workspace_runtime_services.js +41 -0
  55. package/dist/schema/workspace_runtime_services.js.map +1 -0
  56. package/package.json +2 -2
@@ -183,6 +183,20 @@
183
183
  "when": 1772807461603,
184
184
  "tag": "0025_nasty_salo",
185
185
  "breakpoints": true
186
+ },
187
+ {
188
+ "idx": 26,
189
+ "version": "7",
190
+ "when": 1773089625430,
191
+ "tag": "0026_lying_pete_wisdom",
192
+ "breakpoints": true
193
+ },
194
+ {
195
+ "idx": 27,
196
+ "version": "7",
197
+ "when": 1773150731736,
198
+ "tag": "0027_tranquil_tenebrous",
199
+ "breakpoints": true
186
200
  }
187
201
  ]
188
202
  }
@@ -0,0 +1,16 @@
1
+ export type ResolvedDatabaseTarget = {
2
+ mode: "postgres";
3
+ connectionString: string;
4
+ source: "DATABASE_URL" | "paperclip-env" | "config.database.connectionString";
5
+ configPath: string;
6
+ envPath: string;
7
+ } | {
8
+ mode: "embedded-postgres";
9
+ dataDir: string;
10
+ port: number;
11
+ source: `embedded-postgres@${number}`;
12
+ configPath: string;
13
+ envPath: string;
14
+ };
15
+ export declare function resolveDatabaseTarget(): ResolvedDatabaseTarget;
16
+ //# sourceMappingURL=runtime-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,cAAc,GAAG,eAAe,GAAG,kCAAkC,CAAC;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,MAAM,EAAE,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmLN,wBAAgB,qBAAqB,IAAI,sBAAsB,CAoD9D"}
@@ -0,0 +1,197 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ const DEFAULT_INSTANCE_ID = "default";
5
+ const CONFIG_BASENAME = "config.json";
6
+ const ENV_BASENAME = ".env";
7
+ const INSTANCE_ID_RE = /^[a-zA-Z0-9_-]+$/;
8
+ function expandHomePrefix(value) {
9
+ if (value === "~")
10
+ return os.homedir();
11
+ if (value.startsWith("~/"))
12
+ return path.resolve(os.homedir(), value.slice(2));
13
+ return value;
14
+ }
15
+ function resolvePaperclipHomeDir() {
16
+ const envHome = process.env.PAPERCLIP_HOME?.trim();
17
+ if (envHome)
18
+ return path.resolve(expandHomePrefix(envHome));
19
+ return path.resolve(os.homedir(), ".paperclip");
20
+ }
21
+ function resolvePaperclipInstanceId() {
22
+ const raw = process.env.PAPERCLIP_INSTANCE_ID?.trim() || DEFAULT_INSTANCE_ID;
23
+ if (!INSTANCE_ID_RE.test(raw)) {
24
+ throw new Error(`Invalid PAPERCLIP_INSTANCE_ID '${raw}'.`);
25
+ }
26
+ return raw;
27
+ }
28
+ function resolveDefaultConfigPath() {
29
+ return path.resolve(resolvePaperclipHomeDir(), "instances", resolvePaperclipInstanceId(), CONFIG_BASENAME);
30
+ }
31
+ function resolveDefaultEmbeddedPostgresDir() {
32
+ return path.resolve(resolvePaperclipHomeDir(), "instances", resolvePaperclipInstanceId(), "db");
33
+ }
34
+ function resolveHomeAwarePath(value) {
35
+ return path.resolve(expandHomePrefix(value));
36
+ }
37
+ function findConfigFileFromAncestors(startDir) {
38
+ let currentDir = path.resolve(startDir);
39
+ while (true) {
40
+ const candidate = path.resolve(currentDir, ".paperclip", CONFIG_BASENAME);
41
+ if (existsSync(candidate))
42
+ return candidate;
43
+ const nextDir = path.resolve(currentDir, "..");
44
+ if (nextDir === currentDir)
45
+ return null;
46
+ currentDir = nextDir;
47
+ }
48
+ }
49
+ function resolvePaperclipConfigPath() {
50
+ if (process.env.PAPERCLIP_CONFIG?.trim()) {
51
+ return path.resolve(process.env.PAPERCLIP_CONFIG.trim());
52
+ }
53
+ return findConfigFileFromAncestors(process.cwd()) ?? resolveDefaultConfigPath();
54
+ }
55
+ function resolvePaperclipEnvPath(configPath) {
56
+ return path.resolve(path.dirname(configPath), ENV_BASENAME);
57
+ }
58
+ function parseEnvFile(contents) {
59
+ const entries = {};
60
+ for (const rawLine of contents.split(/\r?\n/)) {
61
+ const line = rawLine.trim();
62
+ if (!line || line.startsWith("#"))
63
+ continue;
64
+ const match = rawLine.match(/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)\s*$/);
65
+ if (!match)
66
+ continue;
67
+ const [, key, rawValue] = match;
68
+ const value = rawValue.trim();
69
+ if (!value) {
70
+ entries[key] = "";
71
+ continue;
72
+ }
73
+ if ((value.startsWith("\"") && value.endsWith("\"")) ||
74
+ (value.startsWith("'") && value.endsWith("'"))) {
75
+ entries[key] = value.slice(1, -1);
76
+ continue;
77
+ }
78
+ entries[key] = value.replace(/\s+#.*$/, "").trim();
79
+ }
80
+ return entries;
81
+ }
82
+ function readEnvEntries(envPath) {
83
+ if (!existsSync(envPath))
84
+ return {};
85
+ return parseEnvFile(readFileSync(envPath, "utf8"));
86
+ }
87
+ function migrateLegacyConfig(raw) {
88
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw))
89
+ return null;
90
+ const config = { ...raw };
91
+ const databaseRaw = config.database;
92
+ if (typeof databaseRaw !== "object" || databaseRaw === null || Array.isArray(databaseRaw)) {
93
+ return config;
94
+ }
95
+ const database = { ...databaseRaw };
96
+ if (database.mode === "pglite") {
97
+ database.mode = "embedded-postgres";
98
+ if (typeof database.embeddedPostgresDataDir !== "string" &&
99
+ typeof database.pgliteDataDir === "string") {
100
+ database.embeddedPostgresDataDir = database.pgliteDataDir;
101
+ }
102
+ if (typeof database.embeddedPostgresPort !== "number" &&
103
+ typeof database.pglitePort === "number" &&
104
+ Number.isFinite(database.pglitePort)) {
105
+ database.embeddedPostgresPort = database.pglitePort;
106
+ }
107
+ }
108
+ config.database = database;
109
+ return config;
110
+ }
111
+ function asPositiveInt(value) {
112
+ if (typeof value !== "number" || !Number.isFinite(value))
113
+ return null;
114
+ const rounded = Math.trunc(value);
115
+ return rounded > 0 ? rounded : null;
116
+ }
117
+ function readConfig(configPath) {
118
+ if (!existsSync(configPath))
119
+ return null;
120
+ let parsed;
121
+ try {
122
+ parsed = JSON.parse(readFileSync(configPath, "utf8"));
123
+ }
124
+ catch (err) {
125
+ throw new Error(`Failed to parse config at ${configPath}: ${err instanceof Error ? err.message : String(err)}`);
126
+ }
127
+ const migrated = migrateLegacyConfig(parsed);
128
+ if (migrated === null || typeof migrated !== "object" || Array.isArray(migrated)) {
129
+ throw new Error(`Invalid config at ${configPath}: expected a JSON object`);
130
+ }
131
+ const database = typeof migrated.database === "object" &&
132
+ migrated.database !== null &&
133
+ !Array.isArray(migrated.database)
134
+ ? migrated.database
135
+ : undefined;
136
+ return {
137
+ database: database
138
+ ? {
139
+ mode: database.mode === "postgres" ? "postgres" : "embedded-postgres",
140
+ connectionString: typeof database.connectionString === "string" ? database.connectionString : undefined,
141
+ embeddedPostgresDataDir: typeof database.embeddedPostgresDataDir === "string"
142
+ ? database.embeddedPostgresDataDir
143
+ : undefined,
144
+ embeddedPostgresPort: asPositiveInt(database.embeddedPostgresPort) ?? undefined,
145
+ pgliteDataDir: typeof database.pgliteDataDir === "string" ? database.pgliteDataDir : undefined,
146
+ pglitePort: asPositiveInt(database.pglitePort) ?? undefined,
147
+ }
148
+ : undefined,
149
+ };
150
+ }
151
+ export function resolveDatabaseTarget() {
152
+ const configPath = resolvePaperclipConfigPath();
153
+ const envPath = resolvePaperclipEnvPath(configPath);
154
+ const envEntries = readEnvEntries(envPath);
155
+ const envUrl = process.env.DATABASE_URL?.trim();
156
+ if (envUrl) {
157
+ return {
158
+ mode: "postgres",
159
+ connectionString: envUrl,
160
+ source: "DATABASE_URL",
161
+ configPath,
162
+ envPath,
163
+ };
164
+ }
165
+ const fileEnvUrl = envEntries.DATABASE_URL?.trim();
166
+ if (fileEnvUrl) {
167
+ return {
168
+ mode: "postgres",
169
+ connectionString: fileEnvUrl,
170
+ source: "paperclip-env",
171
+ configPath,
172
+ envPath,
173
+ };
174
+ }
175
+ const config = readConfig(configPath);
176
+ const connectionString = config?.database?.connectionString?.trim();
177
+ if (config?.database?.mode === "postgres" && connectionString) {
178
+ return {
179
+ mode: "postgres",
180
+ connectionString,
181
+ source: "config.database.connectionString",
182
+ configPath,
183
+ envPath,
184
+ };
185
+ }
186
+ const port = config?.database?.embeddedPostgresPort ?? 54329;
187
+ const dataDir = resolveHomeAwarePath(config?.database?.embeddedPostgresDataDir ?? resolveDefaultEmbeddedPostgresDir());
188
+ return {
189
+ mode: "embedded-postgres",
190
+ dataDir,
191
+ port,
192
+ source: `embedded-postgres@${port}`,
193
+ configPath,
194
+ envPath,
195
+ };
196
+ }
197
+ //# sourceMappingURL=runtime-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.test.d.ts","sourceRoot":"","sources":["../src/runtime-config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, describe, expect, it } from "vitest";
5
+ import { resolveDatabaseTarget } from "./runtime-config.js";
6
+ const ORIGINAL_CWD = process.cwd();
7
+ const ORIGINAL_ENV = { ...process.env };
8
+ function writeJson(filePath, value) {
9
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
10
+ fs.writeFileSync(filePath, JSON.stringify(value, null, 2));
11
+ }
12
+ function writeText(filePath, value) {
13
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
14
+ fs.writeFileSync(filePath, value);
15
+ }
16
+ afterEach(() => {
17
+ process.chdir(ORIGINAL_CWD);
18
+ for (const key of Object.keys(process.env)) {
19
+ if (!(key in ORIGINAL_ENV))
20
+ delete process.env[key];
21
+ }
22
+ for (const [key, value] of Object.entries(ORIGINAL_ENV)) {
23
+ if (value === undefined)
24
+ delete process.env[key];
25
+ else
26
+ process.env[key] = value;
27
+ }
28
+ });
29
+ describe("resolveDatabaseTarget", () => {
30
+ it("uses DATABASE_URL from process env first", () => {
31
+ process.env.DATABASE_URL = "postgres://env-user:env-pass@db.example.com:5432/paperclip";
32
+ const target = resolveDatabaseTarget();
33
+ expect(target).toMatchObject({
34
+ mode: "postgres",
35
+ connectionString: "postgres://env-user:env-pass@db.example.com:5432/paperclip",
36
+ source: "DATABASE_URL",
37
+ });
38
+ });
39
+ it("uses DATABASE_URL from repo-local .paperclip/.env", () => {
40
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "paperclip-db-runtime-"));
41
+ const projectDir = path.join(tempDir, "repo");
42
+ fs.mkdirSync(projectDir, { recursive: true });
43
+ process.chdir(projectDir);
44
+ delete process.env.PAPERCLIP_CONFIG;
45
+ writeJson(path.join(projectDir, ".paperclip", "config.json"), {
46
+ database: { mode: "embedded-postgres", embeddedPostgresPort: 54329 },
47
+ });
48
+ writeText(path.join(projectDir, ".paperclip", ".env"), 'DATABASE_URL="postgres://file-user:file-pass@db.example.com:6543/paperclip"\n');
49
+ const target = resolveDatabaseTarget();
50
+ expect(target).toMatchObject({
51
+ mode: "postgres",
52
+ connectionString: "postgres://file-user:file-pass@db.example.com:6543/paperclip",
53
+ source: "paperclip-env",
54
+ });
55
+ });
56
+ it("uses config postgres connection string when configured", () => {
57
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "paperclip-db-runtime-"));
58
+ const configPath = path.join(tempDir, "instance", "config.json");
59
+ process.env.PAPERCLIP_CONFIG = configPath;
60
+ writeJson(configPath, {
61
+ database: {
62
+ mode: "postgres",
63
+ connectionString: "postgres://cfg-user:cfg-pass@db.example.com:5432/paperclip",
64
+ },
65
+ });
66
+ const target = resolveDatabaseTarget();
67
+ expect(target).toMatchObject({
68
+ mode: "postgres",
69
+ connectionString: "postgres://cfg-user:cfg-pass@db.example.com:5432/paperclip",
70
+ source: "config.database.connectionString",
71
+ });
72
+ });
73
+ it("falls back to embedded postgres settings from config", () => {
74
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "paperclip-db-runtime-"));
75
+ const configPath = path.join(tempDir, "instance", "config.json");
76
+ process.env.PAPERCLIP_CONFIG = configPath;
77
+ writeJson(configPath, {
78
+ database: {
79
+ mode: "embedded-postgres",
80
+ embeddedPostgresDataDir: "~/paperclip-test-db",
81
+ embeddedPostgresPort: 55444,
82
+ },
83
+ });
84
+ const target = resolveDatabaseTarget();
85
+ expect(target).toMatchObject({
86
+ mode: "embedded-postgres",
87
+ dataDir: path.resolve(os.homedir(), "paperclip-test-db"),
88
+ port: 55444,
89
+ source: "embedded-postgres@55444",
90
+ });
91
+ });
92
+ });
93
+ //# sourceMappingURL=runtime-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.test.js","sourceRoot":"","sources":["../src/runtime-config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,YAAY,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAExC,SAAS,SAAS,CAAC,QAAgB,EAAE,KAAc;IACjD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,KAAa;IAChD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;YAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAChC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,4DAA4D,CAAC;QAExF,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,4DAA4D;YAC9E,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE;YAC5D,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,EAAE;SACrE,CAAC,CAAC;QACH,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,EAC3C,+EAA+E,CAChF,CAAC;QAEF,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,8DAA8D;YAChF,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC1C,SAAS,CAAC,UAAU,EAAE;YACpB,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAU;gBAChB,gBAAgB,EAAE,4DAA4D;aAC/E;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,4DAA4D;YAC9E,MAAM,EAAE,kCAAkC;SAC3C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC1C,SAAS,CAAC,UAAU,EAAE;YACpB,QAAQ,EAAE;gBACR,IAAI,EAAE,mBAAmB;gBACzB,uBAAuB,EAAE,qBAAqB;gBAC9C,oBAAoB,EAAE,KAAK;aAC5B;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC;YACxD,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,yBAAyB;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -13,6 +13,7 @@ export { agentTaskSessions } from "./agent_task_sessions.js";
13
13
  export { agentWakeupRequests } from "./agent_wakeup_requests.js";
14
14
  export { projects } from "./projects.js";
15
15
  export { projectWorkspaces } from "./project_workspaces.js";
16
+ export { workspaceRuntimeServices } from "./workspace_runtime_services.js";
16
17
  export { projectGoals } from "./project_goals.js";
17
18
  export { goals } from "./goals.js";
18
19
  export { issues } from "./issues.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -13,6 +13,7 @@ export { agentTaskSessions } from "./agent_task_sessions.js";
13
13
  export { agentWakeupRequests } from "./agent_wakeup_requests.js";
14
14
  export { projects } from "./projects.js";
15
15
  export { projectWorkspaces } from "./project_workspaces.js";
16
+ export { workspaceRuntimeServices } from "./workspace_runtime_services.js";
16
17
  export { projectGoals } from "./project_goals.js";
17
18
  export { goals } from "./goals.js";
18
19
  export { issues } from "./issues.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -378,6 +378,25 @@ export declare const issues: import("drizzle-orm/pg-core").PgTableWithColumns<{
378
378
  }, {}, {
379
379
  $type: Record<string, unknown>;
380
380
  }>;
381
+ executionWorkspaceSettings: import("drizzle-orm/pg-core").PgColumn<{
382
+ name: "execution_workspace_settings";
383
+ tableName: "issues";
384
+ dataType: "json";
385
+ columnType: "PgJsonb";
386
+ data: Record<string, unknown>;
387
+ driverParam: unknown;
388
+ notNull: false;
389
+ hasDefault: false;
390
+ isPrimaryKey: false;
391
+ isAutoincrement: false;
392
+ hasRuntimeDefault: false;
393
+ enumValues: undefined;
394
+ baseColumn: never;
395
+ identity: undefined;
396
+ generated: undefined;
397
+ }, {}, {
398
+ $type: Record<string, unknown>;
399
+ }>;
381
400
  startedAt: import("drizzle-orm/pg-core").PgColumn<{
382
401
  name: "started_at";
383
402
  tableName: "issues";
@@ -1 +1 @@
1
- {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/schema/issues.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDlB,CAAC"}
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/schema/issues.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDlB,CAAC"}
@@ -27,6 +27,7 @@ export const issues = pgTable("issues", {
27
27
  requestDepth: integer("request_depth").notNull().default(0),
28
28
  billingCode: text("billing_code"),
29
29
  assigneeAdapterOverrides: jsonb("assignee_adapter_overrides").$type(),
30
+ executionWorkspaceSettings: jsonb("execution_workspace_settings").$type(),
30
31
  startedAt: timestamp("started_at", { withTimezone: true }),
31
32
  completedAt: timestamp("completed_at", { withTimezone: true }),
32
33
  cancelledAt: timestamp("cancelled_at", { withTimezone: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/schema/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/schema/issues.ts"],"names":[],"mappings":"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"}
@@ -155,6 +155,25 @@ export declare const projects: import("drizzle-orm/pg-core").PgTableWithColumns<
155
155
  identity: undefined;
156
156
  generated: undefined;
157
157
  }, {}, {}>;
158
+ executionWorkspacePolicy: import("drizzle-orm/pg-core").PgColumn<{
159
+ name: "execution_workspace_policy";
160
+ tableName: "projects";
161
+ dataType: "json";
162
+ columnType: "PgJsonb";
163
+ data: Record<string, unknown>;
164
+ driverParam: unknown;
165
+ notNull: false;
166
+ hasDefault: false;
167
+ isPrimaryKey: false;
168
+ isAutoincrement: false;
169
+ hasRuntimeDefault: false;
170
+ enumValues: undefined;
171
+ baseColumn: never;
172
+ identity: undefined;
173
+ generated: undefined;
174
+ }, {}, {
175
+ $type: Record<string, unknown>;
176
+ }>;
158
177
  archivedAt: import("drizzle-orm/pg-core").PgColumn<{
159
178
  name: "archived_at";
160
179
  tableName: "projects";
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/schema/projects.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBpB,CAAC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/schema/projects.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBpB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { pgTable, uuid, text, timestamp, date, index } from "drizzle-orm/pg-core";
1
+ import { pgTable, uuid, text, timestamp, date, index, jsonb } from "drizzle-orm/pg-core";
2
2
  import { companies } from "./companies.js";
3
3
  import { goals } from "./goals.js";
4
4
  import { agents } from "./agents.js";
@@ -12,6 +12,7 @@ export const projects = pgTable("projects", {
12
12
  leadAgentId: uuid("lead_agent_id").references(() => agents.id),
13
13
  targetDate: date("target_date"),
14
14
  color: text("color"),
15
+ executionWorkspacePolicy: jsonb("execution_workspace_policy").$type(),
15
16
  archivedAt: timestamp("archived_at", { withTimezone: true }),
16
17
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
17
18
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/schema/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC7B,UAAU,EACV;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACtE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnD,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9D,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,UAAU,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAC9D,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/schema/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC7B,UAAU,EACV;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACtE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnD,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9D,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,wBAAwB,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAA2B;IAC9F,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,UAAU,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAC9D,CAAC,CACH,CAAC"}