@cat-factory/node-server 0.92.11 → 0.92.13
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/config.d.ts.map +1 -1
- package/dist/config.js +14 -1
- package/dist/config.js.map +1 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +3 -1
- package/dist/container.js.map +1 -1
- package/dist/execution/githubSyncRunner.d.ts +63 -0
- package/dist/execution/githubSyncRunner.d.ts.map +1 -0
- package/dist/execution/githubSyncRunner.js +122 -0
- package/dist/execution/githubSyncRunner.js.map +1 -0
- package/dist/gateways.d.ts +8 -2
- package/dist/gateways.d.ts.map +1 -1
- package/dist/gateways.js +22 -10
- package/dist/gateways.js.map +1 -1
- package/dist/repositories/drizzle.d.ts +1 -0
- package/dist/repositories/drizzle.d.ts.map +1 -1
- package/dist/repositories/drizzle.js +37 -22
- package/dist/repositories/drizzle.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +7 -0
- package/dist/server.js.map +1 -1
- package/package.json +17 -17
package/dist/gateways.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { type RuntimeGateways } from '@cat-factory/server';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import type { PgBoss } from 'pg-boss';
|
|
3
|
+
/**
|
|
4
|
+
* Build the Node runtime gateways from process env. When the pg-boss durable engine is
|
|
5
|
+
* wired (the real server), async GitHub ingest enqueues onto the `github.sync` queue;
|
|
6
|
+
* without a boss (a pure-logic test container) it falls back to the inline seams so the
|
|
7
|
+
* shared controllers run the sync synchronously.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createNodeGateways(env: NodeJS.ProcessEnv, boss?: PgBoss): RuntimeGateways;
|
|
4
10
|
//# sourceMappingURL=gateways.d.ts.map
|
package/dist/gateways.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateways.d.ts","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"gateways.d.ts","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AA2FrC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAYzF"}
|
package/dist/gateways.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { DEEPSEEK_BASE_URL, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, } from '@cat-factory/agents';
|
|
2
2
|
import {} from '@cat-factory/server';
|
|
3
|
-
|
|
4
|
-
//
|
|
5
|
-
//
|
|
3
|
+
import { PgBossGitHubBackfillScheduler, PgBossGitHubWebhookIngest, } from './execution/githubSyncRunner.js';
|
|
4
|
+
// Node implementations of the runtime gateway seams. Async GitHub ingest is backed by
|
|
5
|
+
// pg-boss when the durable job engine is up (the production/dev path): backfills, webhook
|
|
6
|
+
// deliveries and repo resyncs enqueue on the `github.sync` queue so the request acks fast,
|
|
7
|
+
// draining through `startGitHubSyncWorker` (the analogue of the Worker's `GITHUB_SYNC_QUEUE`
|
|
8
|
+
// consumer + `GitHubBackfillWorkflow`). With no boss (a container built for a pure-logic
|
|
9
|
+
// test) the seams report "not enabled" so the shared controllers run the sync inline. The
|
|
10
|
+
// LLM proxy forwards to OpenAI-compatible providers over HTTP (no in-process binding).
|
|
6
11
|
//
|
|
7
12
|
// Real-time delivery, by contrast, IS implemented — but NOT through this gateway seam.
|
|
8
13
|
// The seam returns a Hono `Response` (the Cloudflare model: a 101 from the per-workspace
|
|
@@ -14,7 +19,7 @@ import {} from '@cat-factory/server';
|
|
|
14
19
|
//
|
|
15
20
|
// Production swap-in for a multi-replica deployment (follow-up): front the in-process
|
|
16
21
|
// `NodeRealtimeHub` with a shared bus (Postgres LISTEN/NOTIFY); single-process Node and
|
|
17
|
-
// local mode need nothing more.
|
|
22
|
+
// local mode need nothing more.
|
|
18
23
|
/**
|
|
19
24
|
* No-op: Node handles the WebSocket upgrade at the HTTP-server level (`attachRealtime`),
|
|
20
25
|
* not through this Response-returning seam — see the file header. Returning null keeps
|
|
@@ -25,13 +30,13 @@ class NodeRealtimeGateway {
|
|
|
25
30
|
return Promise.resolve(null);
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
|
-
/** No
|
|
33
|
+
/** No boss (pure-logic test container): report "not scheduled" so the caller runs it inline. */
|
|
29
34
|
class InlineGitHubBackfillScheduler {
|
|
30
35
|
scheduleBackfill() {
|
|
31
36
|
return Promise.resolve(false);
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
|
-
/** No
|
|
39
|
+
/** No boss (pure-logic test container): report "not queued" so the caller handles it inline. */
|
|
35
40
|
class InlineGitHubWebhookIngest {
|
|
36
41
|
enqueueWebhook() {
|
|
37
42
|
return Promise.resolve(false);
|
|
@@ -76,12 +81,19 @@ class HttpLlmUpstream {
|
|
|
76
81
|
return null;
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
|
-
/**
|
|
80
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Build the Node runtime gateways from process env. When the pg-boss durable engine is
|
|
86
|
+
* wired (the real server), async GitHub ingest enqueues onto the `github.sync` queue;
|
|
87
|
+
* without a boss (a pure-logic test container) it falls back to the inline seams so the
|
|
88
|
+
* shared controllers run the sync synchronously.
|
|
89
|
+
*/
|
|
90
|
+
export function createNodeGateways(env, boss) {
|
|
81
91
|
return {
|
|
82
92
|
realtime: new NodeRealtimeGateway(),
|
|
83
|
-
githubBackfill:
|
|
84
|
-
|
|
93
|
+
githubBackfill: boss
|
|
94
|
+
? new PgBossGitHubBackfillScheduler(boss)
|
|
95
|
+
: new InlineGitHubBackfillScheduler(),
|
|
96
|
+
githubWebhook: boss ? new PgBossGitHubWebhookIngest(boss) : new InlineGitHubWebhookIngest(),
|
|
85
97
|
llmUpstream: new HttpLlmUpstream(env),
|
|
86
98
|
// Container web-search upstream is resolved per-account by the proxy controller
|
|
87
99
|
// (keys moved out of env into the per-account settings store), so no boot-time
|
package/dist/gateways.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateways.js","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAON,MAAM,qBAAqB,CAAA;AAE5B,
|
|
1
|
+
{"version":3,"file":"gateways.js","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,7 @@ export declare class DrizzleWorkspaceSettingsRepository implements WorkspaceSett
|
|
|
83
83
|
private readonly db;
|
|
84
84
|
constructor(db: DrizzleDb);
|
|
85
85
|
get(workspaceId: string): Promise<WorkspaceSettings | null>;
|
|
86
|
+
listByWorkspaceIds(workspaceIds: string[]): Promise<Map<string, WorkspaceSettings>>;
|
|
86
87
|
upsert(workspaceId: string, settings: WorkspaceSettings): Promise<void>;
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../src/repositories/drizzle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../src/repositories/drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,2BAA2B,EAE3B,4BAA4B,EAG5B,iBAAiB,EAIjB,2BAA2B,EAG3B,yBAAyB,EAGzB,8BAA8B,EAE9B,0BAA0B,EAG1B,kBAAkB,EAIlB,eAAe,EACf,KAAK,EAEL,mBAAmB,EAGnB,oBAAoB,EAEpB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EAEvB,sCAAsC,EACtC,oBAAoB,EAGpB,qBAAqB,EAErB,iCAAiC,EAGjC,mCAAmC,EAEnC,6BAA6B,EAE7B,gCAAgC,EAGhC,gBAAgB,EAChB,qBAAqB,EAErB,qBAAqB,EACrB,iCAAiC,EAEjC,uBAAuB,EAKvB,yBAAyB,EAEzB,kBAAkB,EAElB,0BAA0B,EAI1B,0BAA0B,EAC1B,iBAAiB,EAGjB,2BAA2B,EAC3B,mBAAmB,EAEnB,sBAAsB,EAGtB,uBAAuB,EAEvB,6BAA6B,EAC7B,aAAa,EAEb,uBAAuB,EAIvB,2BAA2B,EAE3B,oBAAoB,EAGpB,2BAA2B,EAG3B,wBAAwB,EAExB,sBAAsB,EAEtB,8BAA8B,EAE9B,oBAAoB,EAEpB,OAAO,EACP,YAAY,EACZ,iBAAiB,EAGjB,wBAAwB,EAIxB,oBAAoB,EAKpB,yBAAyB,EAGzB,cAAc,EAEd,sBAAsB,EAItB,mBAAmB,EAEnB,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAgD5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA+yEhD,oFAAoF;AACpF,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAG7C;IAEK,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAMnE;IAEK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAYnE;IAEK,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQhE;IAEK,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAYjD;IAEK,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAWrF;IAEK,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5C;IAEK,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;IAEK,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtC;IAEK,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7C;CACF;AAyKD;;;;;;;GAOG;AACH,qBAAa,kCAAmC,YAAW,2BAA2B;IACxE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAaxF;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAO5E;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC1E;IAEK,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE;CACF;AAmBD;;;;;;GAMG;AACH,qBAAa,6BAA8B,YAAW,sBAAsB;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAa1F;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAS9E;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B7E;IAEK,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE;CACF;AAgYD;;;;GAIG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAChE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAUpF;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAOxE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BtE;IAEK,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvE;CACF;AAs4BD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,GAAG;IACvD,8BAA8B,EAAE,8BAA8B,CAAA;IAC9D,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,sBAAsB,EAAE,sBAAsB,CAAA;CAC/C,CAQA;AAyBD;;;;;GAKG;AACH,qBAAa,kCAAmC,YAAW,2BAA2B;IACxE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAQhE;IAEK,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAWxF;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC5E;CACF;AAsUD;;;;;GAKG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAChE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAS/C;IAEK,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAavD;CACF;AA8FD;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgBvF;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CActE;IAEK,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpD;IAEK,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,cAAc,EAAE,cAAc,CAAA;IAC9B,oBAAoB,EAAE,2BAA2B,CAAA;IACjD,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,eAAe,EAAE,eAAe,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,8BAA8B,EAAE,8BAA8B,CAAA;IAC9D,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,iCAAiC,EAAE,iCAAiC,CAAA;IACpE,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,iCAAiC,EAAE,iCAAiC,CAAA;IACpE,mCAAmC,EAAE,mCAAmC,CAAA;IACxE,sCAAsC,EAAE,sCAAsC,CAAA;IAC9E,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,gCAAgC,EAAE,gCAAgC,CAAA;IAClE,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,yBAAyB,EAAE,yBAAyB,CAAA;CACrD;AAED,2DAA2D;AAC3D,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,CA6CvF"}
|
|
@@ -3540,6 +3540,29 @@ export function createDrizzleSandboxDeps(db) {
|
|
|
3540
3540
|
sandboxGradeRepository: new DrizzleSandboxGradeRepository(db),
|
|
3541
3541
|
};
|
|
3542
3542
|
}
|
|
3543
|
+
function rowToWorkspaceSettings(row) {
|
|
3544
|
+
let perType = null;
|
|
3545
|
+
if (row.task_limit_per_type) {
|
|
3546
|
+
try {
|
|
3547
|
+
perType = JSON.parse(row.task_limit_per_type);
|
|
3548
|
+
}
|
|
3549
|
+
catch {
|
|
3550
|
+
perType = null;
|
|
3551
|
+
}
|
|
3552
|
+
}
|
|
3553
|
+
return {
|
|
3554
|
+
waitingEscalationMinutes: row.waiting_escalation_minutes,
|
|
3555
|
+
taskLimitMode: row.task_limit_mode,
|
|
3556
|
+
taskLimitShared: row.task_limit_shared,
|
|
3557
|
+
taskLimitPerType: perType,
|
|
3558
|
+
storeAgentContext: row.store_agent_context === 1,
|
|
3559
|
+
artifactRetentionDays: row.artifact_retention_days,
|
|
3560
|
+
kaizenEnabled: row.kaizen_enabled === 1,
|
|
3561
|
+
delegateAgentsToRunnerPool: row.delegate_agents_to_runner_pool === 1,
|
|
3562
|
+
spendCurrency: row.spend_currency,
|
|
3563
|
+
spendMonthlyLimit: row.spend_monthly_limit,
|
|
3564
|
+
};
|
|
3565
|
+
}
|
|
3543
3566
|
/**
|
|
3544
3567
|
* Per-workspace runtime settings over Postgres (the Drizzle mirror of the Worker's
|
|
3545
3568
|
* `D1WorkspaceSettingsRepository`, migration 0004). One row per workspace; the service
|
|
@@ -3558,29 +3581,21 @@ export class DrizzleWorkspaceSettingsRepository {
|
|
|
3558
3581
|
.where(eq(workspaceSettings.workspace_id, workspaceId))
|
|
3559
3582
|
.limit(1);
|
|
3560
3583
|
const row = rows[0];
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3584
|
+
return row ? rowToWorkspaceSettings(row) : null;
|
|
3585
|
+
}
|
|
3586
|
+
async listByWorkspaceIds(workspaceIds) {
|
|
3587
|
+
const out = new Map();
|
|
3588
|
+
if (workspaceIds.length === 0)
|
|
3589
|
+
return out;
|
|
3590
|
+
for (let i = 0; i < workspaceIds.length; i += 500) {
|
|
3591
|
+
const rows = await this.db
|
|
3592
|
+
.select()
|
|
3593
|
+
.from(workspaceSettings)
|
|
3594
|
+
.where(inArray(workspaceSettings.workspace_id, workspaceIds.slice(i, i + 500)));
|
|
3595
|
+
for (const row of rows)
|
|
3596
|
+
out.set(row.workspace_id, rowToWorkspaceSettings(row));
|
|
3571
3597
|
}
|
|
3572
|
-
return
|
|
3573
|
-
waitingEscalationMinutes: row.waiting_escalation_minutes,
|
|
3574
|
-
taskLimitMode: row.task_limit_mode,
|
|
3575
|
-
taskLimitShared: row.task_limit_shared,
|
|
3576
|
-
taskLimitPerType: perType,
|
|
3577
|
-
storeAgentContext: row.store_agent_context === 1,
|
|
3578
|
-
artifactRetentionDays: row.artifact_retention_days,
|
|
3579
|
-
kaizenEnabled: row.kaizen_enabled === 1,
|
|
3580
|
-
delegateAgentsToRunnerPool: row.delegate_agents_to_runner_pool === 1,
|
|
3581
|
-
spendCurrency: row.spend_currency,
|
|
3582
|
-
spendMonthlyLimit: row.spend_monthly_limit,
|
|
3583
|
-
};
|
|
3598
|
+
return out;
|
|
3584
3599
|
}
|
|
3585
3600
|
async upsert(workspaceId, settings) {
|
|
3586
3601
|
const values = {
|