@cat-factory/node-server 0.89.3 → 0.90.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.
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +18 -169
- package/dist/container.js.map +1 -1
- package/dist/db/schema.d.ts +157 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +21 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/repositories/drizzle.d.ts +2 -1
- package/dist/repositories/drizzle.d.ts.map +1 -1
- package/dist/repositories/drizzle.js +75 -2
- package/dist/repositories/drizzle.js.map +1 -1
- package/dist/retention.d.ts +3 -1
- package/dist/retention.d.ts.map +1 -1
- package/dist/retention.js +9 -0
- package/dist/retention.js.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/wireCredentialServices.d.ts +45 -0
- package/dist/wireCredentialServices.d.ts.map +1 -0
- package/dist/wireCredentialServices.js +175 -0
- package/dist/wireCredentialServices.js.map +1 -0
- package/drizzle/20260709100710_sparkling_dragon_man/migration.sql +15 -0
- package/drizzle/20260709100710_sparkling_dragon_man/snapshot.json +15326 -0
- package/package.json +17 -17
package/dist/retention.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentContextSnapshotRepository, AgentSearchQueryRepository, ResolveBinaryArtifactStore, Clock, CommitProjectionRepository, LlmCallMetricRepository, PasswordResetTokenRepository, PipelineScheduleRepository, ProvisioningLogRepository, SubscriptionActivationRepository, TokenUsageRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { AgentContextSnapshotRepository, AgentSearchQueryRepository, ResolveBinaryArtifactStore, Clock, CommitProjectionRepository, LlmCallMetricRepository, PasswordResetTokenRepository, PipelineScheduleRepository, ProvisioningLogRepository, SubscriptionActivationRepository, SubscriptionQuotaCycleRepository, TokenUsageRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger, RetentionConfig } from '@cat-factory/server';
|
|
3
3
|
/** The Node-persisted repositories with an age-based prune. */
|
|
4
4
|
export interface RetentionRepos {
|
|
@@ -8,6 +8,7 @@ export interface RetentionRepos {
|
|
|
8
8
|
agentSearchQueryRepository: Pick<AgentSearchQueryRepository, 'deleteOlderThan'>;
|
|
9
9
|
pipelineScheduleRepository: Pick<PipelineScheduleRepository, 'pruneRunsBefore'>;
|
|
10
10
|
subscriptionActivationRepository: Pick<SubscriptionActivationRepository, 'deleteExpired'>;
|
|
11
|
+
subscriptionQuotaCycleRepository: Pick<SubscriptionQuotaCycleRepository, 'deleteOlderThan'>;
|
|
11
12
|
provisioningLogRepository: Pick<ProvisioningLogRepository, 'deleteOlderThan'>;
|
|
12
13
|
passwordResetTokenRepository: Pick<PasswordResetTokenRepository, 'deleteExpired'>;
|
|
13
14
|
commitRepository: Pick<CommitProjectionRepository, 'deleteOlderThan'>;
|
|
@@ -20,6 +21,7 @@ export interface RetentionResult {
|
|
|
20
21
|
agentSearchQueries: number;
|
|
21
22
|
scheduleRuns: number;
|
|
22
23
|
activations: number;
|
|
24
|
+
subscriptionQuotaCycles: number;
|
|
23
25
|
provisioningLog: number;
|
|
24
26
|
passwordResetTokens: number;
|
|
25
27
|
commits: number;
|
package/dist/retention.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAuBlE,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IACnE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAA;IAEzE,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAA;IAEvF,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAC/E,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAG/E,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAA;IAEzF,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAA;IAE3F,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAA;IAE7E,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAA;IAKjF,gBAAgB,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;CACtE;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;CAChB;AAmBD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAkBZ;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,0BAA0B,EACxC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAC7D,kBAAkB,EAAE,IAAI,CAAC,2BAA2B,EAAE,KAAK,CAAC,EAC5D,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CA4BZ"}
|
package/dist/retention.js
CHANGED
|
@@ -2,6 +2,13 @@ import { DEFAULT_WORKSPACE_SETTINGS } from '@cat-factory/kernel';
|
|
|
2
2
|
import { sweepBinaryArtifactRetention } from '@cat-factory/orchestration';
|
|
3
3
|
/** Recurring-pipeline run history is kept ~1 week (the inspector's window). */
|
|
4
4
|
const SCHEDULE_RUN_RETENTION_MS = 7 * 24 * 60 * 60 * 1000;
|
|
5
|
+
/**
|
|
6
|
+
* Idle subscription quota-cycle rows are pruned after 30 days. A fixed window (not the
|
|
7
|
+
* configurable retention policy), deliberately far beyond the longest quota window (the
|
|
8
|
+
* 7-day weekly one) so a live cycle is never deleted mid-window — a row untouched for
|
|
9
|
+
* 30 days has long since reset and only holds stale counters.
|
|
10
|
+
*/
|
|
11
|
+
const SUBSCRIPTION_QUOTA_CYCLE_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
|
|
5
12
|
/**
|
|
6
13
|
* How often the retention sweep runs. The windows are measured in days, so an hourly
|
|
7
14
|
* pass keeps the tables bounded at negligible cost — each prune is an indexed range
|
|
@@ -31,6 +38,8 @@ export async function sweepRetention(repos, retention, now) {
|
|
|
31
38
|
scheduleRuns: await prune(SCHEDULE_RUN_RETENTION_MS, now, (c) => repos.pipelineScheduleRepository.pruneRunsBefore(c)),
|
|
32
39
|
// Delete activations whose own TTL (expires_at) has passed — `now`, not a window.
|
|
33
40
|
activations: await repos.subscriptionActivationRepository.deleteExpired(now),
|
|
41
|
+
// Idle quota cycles past the fixed 30-day window (well beyond the weekly one).
|
|
42
|
+
subscriptionQuotaCycles: await prune(SUBSCRIPTION_QUOTA_CYCLE_RETENTION_MS, now, (c) => repos.subscriptionQuotaCycleRepository.deleteOlderThan(c)),
|
|
34
43
|
provisioningLog: await prune(retention.provisioningLogMs, now, (c) => repos.provisioningLogRepository.deleteOlderThan(c)),
|
|
35
44
|
// Reset tokens past their own expiry — `now`, not a window (like activations).
|
|
36
45
|
passwordResetTokens: await repos.passwordResetTokenRepository.deleteExpired(now),
|
package/dist/retention.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -230,6 +230,7 @@ async function bootServer(options, env) {
|
|
|
230
230
|
agentSearchQueryRepository: repos.agentSearchQueryRepository,
|
|
231
231
|
pipelineScheduleRepository: repos.pipelineScheduleRepository,
|
|
232
232
|
subscriptionActivationRepository: new DrizzleSubscriptionActivationRepository(db),
|
|
233
|
+
subscriptionQuotaCycleRepository: repos.subscriptionQuotaCycleRepository,
|
|
233
234
|
provisioningLogRepository: repos.provisioningLogRepository,
|
|
234
235
|
passwordResetTokenRepository: repos.passwordResetTokenRepository,
|
|
235
236
|
commitRepository: new DrizzleCommitProjectionRepository(db),
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAEL,oBAAoB,EAGpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,MAAM,EACN,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAA6B,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EACL,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,uCAAuC,EAAE,MAAM,wCAAwC,CAAA;AAChG,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAQ1C,wFAAwF;AACxF,MAAM,UAAU,SAAS,CACvB,SAA0B,EAC1B,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,GAAG,CAAC,GAAG,CACL,GAAG,EACH,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7F,8EAA8E;QAC9E,+EAA+E;QAC/E,mCAAmC;QACnC,YAAY,EAAE,CAAC,GAAG,oBAAoB,CAAC;KACxC,CAAC,CACH,CAAA;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC7B,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnD,mFAAmF;IACnF,2EAA2E;IAC3E,aAAa,CAAC,GAAG,CAAC,CAAA;IAElB,uBAAuB,CAAC,GAAG,CAAC,CAAA;IAC5B,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,OAAO,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACxF,2FAA2F;IAC3F,4FAA4F;IAC5F,qBAAqB;IACrB,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,YAAY,CAAC,CAAA;IAC7E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;AACjC,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,GAAsB,EAAE,IAAa;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;IACtD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAyB,EACzB,GAAsB,EACtB,IAAa;IAEb,MAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EACxC,qHAAqH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CACtJ,CAAA;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACnF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,EAAE,8CAA8C,CAAC,CAAA;IAClG,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAO,GAyDH,EAAE;IAEN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4FAA4F;QAC5F,+FAA+F;QAC/F,8FAA8F;QAC9F,wDAAwD;QACxD,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;YAC9E,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,KAAK,UAAU,UAAU,CACvB,OAAiD,EACjD,GAAsB;IAEtB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACnD,gGAAgG;IAChG,gGAAgG;IAChG,iGAAiG;IACjG,kFAAkF;IAClF,cAAc,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAA;IACpC,6EAA6E;IAC7E,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEpD,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,kBAAkB,CAAA;IACnE,sFAAsF;IACtF,kFAAkF;IAClF,mFAAmF;IACnF,iFAAiF;IACjF,kDAAkD;IAClD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;IACzC,0FAA0F;IAC1F,4FAA4F;IAC5F,4FAA4F;IAC5F,4FAA4F;IAC5F,gBAAgB;IAChB,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5E,qFAAqF;IACrF,sFAAsF;IACtF,qFAAqF;IACrF,sFAAsF;IACtF,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,uBAAuB,EAAE,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC;QACnE,MAAM;QACN,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,cAAc,CAAC;QAC/B,EAAE;QACF,IAAI;QACJ,GAAG;QACH,KAAK;QACL,YAAY,EAAE,kBAAkB;QAChC,MAAM;QACN,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QAC1D,mFAAmF;QACnF,yFAAyF;QACzF,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAC,CAAA;IACF,0FAA0F;IAC1F,iCAAiC;IACjC,MAAM,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtC,wFAAwF;IACxF,wFAAwF;IACxF,6FAA6F;IAC7F,yBAAyB,CAAC;QACxB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;QAC9C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;KAC1E,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvD,oFAAoF;IACpF,qEAAqE;IACrE,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;QACjE,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAA;IACF,kFAAkF;IAClF,uDAAuD;IACvD,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;QACjE,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAA;IACF,4FAA4F;IAC5F,oDAAoD;IACpD,MAAM,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;QACvE,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC;QACpD,GAAG;QACH,WAAW;QACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;QAC3B,GAAG;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,yBAAyB;KACjC,CAAC,CAAA;IAEF,mFAAmF;IACnF,uFAAuF;IACvF,wFAAwF;IACxF,kBAAkB;IAClB,MAAM,WAAW,GAAG,oBAAoB,CACtC,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;IACD,uFAAuF;IACvF,iFAAiF;IACjF,kFAAkF;IAClF,MAAM,aAAa,GAAG,qBAAqB,CACzC;QACE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,8BAA8B,EAAE,KAAK,CAAC,8BAA8B;QACpE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,gCAAgC,EAAE,IAAI,uCAAuC,CAAC,EAAE,CAAC;QACjF,gCAAgC,EAAE,KAAK,CAAC,gCAAgC;QACxE,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;QAC1D,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;QAChE,gBAAgB,EAAE,IAAI,iCAAiC,CAAC,EAAE,CAAC;KAC5D,EACD,SAAS,CAAC,MAAM,CAAC,SAAS,EAC1B,KAAK,EACL,MAAM,CACP,CAAA;IACD,2FAA2F;IAC3F,0FAA0F;IAC1F,wCAAwC;IACxC,MAAM,qBAAqB,GAAG,SAAS,CAAC,0BAA0B;QAChE,CAAC,CAAC,6BAA6B,CAC3B,SAAS,CAAC,0BAA0B,EACpC,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,2BAA2B,EACjC,KAAK,EACL,MAAM,CACP;QACH,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;IACZ,6EAA6E;IAC7E,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1E,8FAA8F;IAC9F,+FAA+F;IAC/F,8FAA8F;IAC9F,iGAAiG;IACjG,+FAA+F;IAC/F,MAAM,kBAAkB,GAAG,0BAA0B,CACnD,SAAS,EACT,KAAK,EACL,MAAM,EACN,oBAAoB,CAAC,GAAG,CAAC,CAC1B,CAAA;IACD,oFAAoF;IACpF,qCAAqC;IACrC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAChF,+EAA+E;IAC/E,uEAAuE;IACvE,MAAM,0BAA0B,GAAG,kCAAkC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC/F,kFAAkF;IAClF,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACtE,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM;QAC1C,CAAC,CAAC,2BAA2B,CACzB;YACE,wBAAwB,EAAE,IAAI,+BAA+B,CAAC,EAAE,CAAC;YACjE,sBAAsB,EAAE,IAAI,mCAAmC,CAAC,EAAE,CAAC;YACnE,YAAY,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAC1C,SAAS,CAAC,MAAO,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC;SACxE,EACD,KAAK,EACL,MAAM,CACP;QACH,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;IAEZ,oFAAoF;IACpF,mFAAmF;IACnF,+EAA+E;IAC/E,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,IAAI,YAAY;YAAE,OAAM;QACxB,YAAY,GAAG,IAAI,CAAA;QACnB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,uCAAuC,CAAC,CAAA;QAChE,WAAW,EAAE,CAAA;QACb,aAAa,EAAE,CAAA;QACf,qBAAqB,EAAE,CAAA;QACvB,mBAAmB,EAAE,CAAA;QACrB,kBAAkB,EAAE,CAAA;QACpB,sBAAsB,EAAE,CAAA;QACxB,0BAA0B,EAAE,CAAA;QAC5B,iBAAiB,EAAE,CAAA;QACnB,mBAAmB,EAAE,CAAA;QACrB,YAAY,EAAE,CAAA;QACd,sFAAsF;QACtF,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAC/B,wFAAwF;QACxF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,CAAC;YACH,qFAAqF;YACrF,0FAA0F;YAC1F,wFAAwF;YACxF,YAAY;YACZ,MAAM,SAAS,CAAC,UAAU,EAAE,EAAE,CAAA;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAC7F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAErD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ApiKeyService, LocalModelEndpointService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, PublicApiKeyService, UserSecretService, type UserSecretKindRegistry } from '@cat-factory/integrations';
|
|
2
|
+
import type { Clock, LocalModelEndpointRepository, PersonalSubscriptionRepository, ProviderApiKeyRepository, ProviderSubscriptionTokenRepository, SubscriptionActivationRepository } from '@cat-factory/kernel';
|
|
3
|
+
import type { CoreDependencies } from '@cat-factory/orchestration';
|
|
4
|
+
import type { DrizzleDb } from './db/client.js';
|
|
5
|
+
/**
|
|
6
|
+
* Build the workspace subscription-token pool service for the Node/local facade
|
|
7
|
+
* (Postgres-backed), or undefined when the shared ENCRYPTION_KEY is absent. Tokens
|
|
8
|
+
* are sealed under a subscriptions-scoped HKDF info of the shared master key.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildNodeSubscriptionService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, workspaceRepository: CoreDependencies['workspaceRepository'], idGenerator: CoreDependencies['idGenerator'], clock: Clock, repositoryOverride?: ProviderSubscriptionTokenRepository): ProviderSubscriptionService | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Build the direct-provider API-key pool (account/workspace/user) for the Node/local
|
|
13
|
+
* facade (Postgres-backed), or undefined when the shared ENCRYPTION_KEY is absent.
|
|
14
|
+
* Keys are sealed under an api-keys-scoped HKDF info of the shared master key. Mirrors
|
|
15
|
+
* the Worker's buildApiKeyService.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildNodeApiKeyService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, workspaceRepository: CoreDependencies['workspaceRepository'], idGenerator: CoreDependencies['idGenerator'], clock: Clock, repositoryOverride?: ProviderApiKeyRepository): ApiKeyService | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Build the INBOUND public-API key store for the Node/local facade (Postgres-backed), or
|
|
20
|
+
* undefined when the shared ENCRYPTION_KEY is absent. Uses ENCRYPTION_KEY as the HMAC pepper for
|
|
21
|
+
* the one-way secret hash (a public-API key is verified, never decrypted). Mirrors the Worker's
|
|
22
|
+
* buildPublicApiKeyService.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildNodePublicApiKeyService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, idGenerator: CoreDependencies['idGenerator'], clock: Clock): PublicApiKeyService | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The per-USER locally-run model endpoints store (Ollama / LM Studio / …) for the
|
|
27
|
+
* Node/local facade (Postgres-backed), or undefined when the shared ENCRYPTION_KEY is
|
|
28
|
+
* absent (the optional bearer key is sealed with the single system cipher). Mirror of
|
|
29
|
+
* the Worker's `buildLocalModelEndpointService`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildNodeLocalModelEndpointService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, clock: Clock, repositoryOverride?: LocalModelEndpointRepository): LocalModelEndpointService | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Build the per-USER generic secret service (a GitHub PAT today), or undefined when the
|
|
34
|
+
* shared ENCRYPTION_KEY is absent. Single system-cipher (no password layer); also backs
|
|
35
|
+
* `ResolveUserGitHubToken`. Mirror of the Worker's `buildUserSecretService`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildNodeUserSecretService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, clock: Clock, userSecretKindRegistry: UserSecretKindRegistry): UserSecretService | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* The per-WORKSPACE OpenRouter dynamic-catalog service, or undefined when the API-key pool
|
|
40
|
+
* isn't wired (no ENCRYPTION_KEY) — refresh leases the workspace's pooled OpenRouter key.
|
|
41
|
+
* Mirror of the Worker's `buildOpenRouterCatalogService`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildNodeOpenRouterCatalogService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, clock: Clock, apiKeys: ApiKeyService | undefined, spendCurrency: string): OpenRouterCatalogService | undefined;
|
|
44
|
+
export declare function buildNodePersonalSubscriptionService(env: NodeJS.ProcessEnv, db: DrizzleDb | undefined, idGenerator: CoreDependencies['idGenerator'], clock: Clock, personalOverride?: PersonalSubscriptionRepository, activationOverride?: SubscriptionActivationRepository): PersonalSubscriptionService | undefined;
|
|
45
|
+
//# sourceMappingURL=wireCredentialServices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wireCredentialServices.d.ts","sourceRoot":"","sources":["../src/wireCredentialServices.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,sBAAsB,EAE5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,mCAAmC,EACnC,gCAAgC,EACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAoB/C;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC5D,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAC5C,KAAK,EAAE,KAAK,EAIZ,kBAAkB,CAAC,EAAE,mCAAmC,GACvD,2BAA2B,GAAG,SAAS,CAgBzC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC5D,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAC5C,KAAK,EAAE,KAAK,EAGZ,kBAAkB,CAAC,EAAE,wBAAwB,GAC5C,aAAa,GAAG,SAAS,CAgB3B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAC5C,KAAK,EAAE,KAAK,GACX,mBAAmB,GAAG,SAAS,CASjC;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,KAAK,EAAE,KAAK,EAEZ,kBAAkB,CAAC,EAAE,4BAA4B,GAChD,yBAAyB,GAAG,SAAS,CAcvC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,sBAAsB,GAC7C,iBAAiB,GAAG,SAAS,CAW/B;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,aAAa,EAAE,MAAM,GACpB,wBAAwB,GAAG,SAAS,CAatC;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAC5C,KAAK,EAAE,KAAK,EAKZ,gBAAgB,CAAC,EAAE,8BAA8B,EACjD,kBAAkB,CAAC,EAAE,gCAAgC,GACpD,2BAA2B,GAAG,SAAS,CAmBzC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { ApiKeyService, LocalModelEndpointService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, PublicApiKeyService, UserSecretService, usdRateForSpendCurrency, } from '@cat-factory/integrations';
|
|
2
|
+
import { WebCryptoPersonalSecretCipher, WebCryptoSecretCipher } from '@cat-factory/server';
|
|
3
|
+
import { baseUrlForNode } from './modelProvider.js';
|
|
4
|
+
import { DrizzleProviderSubscriptionTokenRepository } from './repositories/providerSubscription.js';
|
|
5
|
+
import { DrizzleProviderApiKeyRepository } from './repositories/providerApiKey.js';
|
|
6
|
+
import { DrizzlePublicApiKeyRepository } from './repositories/publicApiKey.js';
|
|
7
|
+
import { DrizzlePersonalSubscriptionRepository, DrizzleSubscriptionActivationRepository, } from './repositories/personalSubscription.js';
|
|
8
|
+
import { DrizzleLocalModelEndpointRepository } from './repositories/localModelEndpoint.js';
|
|
9
|
+
import { DrizzleUserSecretRepository } from './repositories/userSecret.js';
|
|
10
|
+
import { DrizzleProviderModelCatalogRepository } from './repositories/providerModelCatalog.js';
|
|
11
|
+
// The sealed per-scope credential / subscription / provider-key stores for the Node/local
|
|
12
|
+
// facade (Postgres-backed, with local-sqlite override seams for mothership mode), each keyed
|
|
13
|
+
// on the shared ENCRYPTION_KEY. Grouped out of `container.ts` as the first per-concern wiring
|
|
14
|
+
// helper of modularisation split #4; every builder is a pure move (identical signatures +
|
|
15
|
+
// bodies), re-imported at its original call site. Symmetric with the Worker facade's
|
|
16
|
+
// `wireCredentialServices.ts`.
|
|
17
|
+
/**
|
|
18
|
+
* Build the workspace subscription-token pool service for the Node/local facade
|
|
19
|
+
* (Postgres-backed), or undefined when the shared ENCRYPTION_KEY is absent. Tokens
|
|
20
|
+
* are sealed under a subscriptions-scoped HKDF info of the shared master key.
|
|
21
|
+
*/
|
|
22
|
+
export function buildNodeSubscriptionService(env, db, workspaceRepository, idGenerator, clock,
|
|
23
|
+
// Mothership mode injects the local `node:sqlite` credential store here, so the pooled
|
|
24
|
+
// subscription tokens stay on the laptop (the LOCAL container executor leases + decrypts
|
|
25
|
+
// them). Else the Drizzle repo over `db`, and the service turns off without either.
|
|
26
|
+
repositoryOverride) {
|
|
27
|
+
const masterKeyBase64 = env.ENCRYPTION_KEY?.trim();
|
|
28
|
+
if (!masterKeyBase64)
|
|
29
|
+
return undefined;
|
|
30
|
+
const providerSubscriptionTokenRepository = repositoryOverride ?? (db ? new DrizzleProviderSubscriptionTokenRepository(db) : undefined);
|
|
31
|
+
if (!providerSubscriptionTokenRepository)
|
|
32
|
+
return undefined;
|
|
33
|
+
return new ProviderSubscriptionService({
|
|
34
|
+
providerSubscriptionTokenRepository,
|
|
35
|
+
workspaceRepository,
|
|
36
|
+
secretCipher: new WebCryptoSecretCipher({
|
|
37
|
+
masterKeyBase64,
|
|
38
|
+
info: 'cat-factory:provider-subscriptions',
|
|
39
|
+
}),
|
|
40
|
+
idGenerator,
|
|
41
|
+
clock,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build the direct-provider API-key pool (account/workspace/user) for the Node/local
|
|
46
|
+
* facade (Postgres-backed), or undefined when the shared ENCRYPTION_KEY is absent.
|
|
47
|
+
* Keys are sealed under an api-keys-scoped HKDF info of the shared master key. Mirrors
|
|
48
|
+
* the Worker's buildApiKeyService.
|
|
49
|
+
*/
|
|
50
|
+
export function buildNodeApiKeyService(env, db, workspaceRepository, idGenerator, clock,
|
|
51
|
+
// Mothership mode injects the local `node:sqlite` credential store here, so the key pool
|
|
52
|
+
// stays on the laptop (the mothership's key never reaches it). Else the Drizzle repo over `db`.
|
|
53
|
+
repositoryOverride) {
|
|
54
|
+
const masterKeyBase64 = env.ENCRYPTION_KEY?.trim();
|
|
55
|
+
if (!masterKeyBase64)
|
|
56
|
+
return undefined;
|
|
57
|
+
const providerApiKeyRepository = repositoryOverride ?? (db ? new DrizzleProviderApiKeyRepository(db) : undefined);
|
|
58
|
+
if (!providerApiKeyRepository)
|
|
59
|
+
return undefined;
|
|
60
|
+
return new ApiKeyService({
|
|
61
|
+
providerApiKeyRepository,
|
|
62
|
+
workspaceRepository,
|
|
63
|
+
secretCipher: new WebCryptoSecretCipher({
|
|
64
|
+
masterKeyBase64,
|
|
65
|
+
info: 'cat-factory:provider-api-keys',
|
|
66
|
+
}),
|
|
67
|
+
idGenerator,
|
|
68
|
+
clock,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build the INBOUND public-API key store for the Node/local facade (Postgres-backed), or
|
|
73
|
+
* undefined when the shared ENCRYPTION_KEY is absent. Uses ENCRYPTION_KEY as the HMAC pepper for
|
|
74
|
+
* the one-way secret hash (a public-API key is verified, never decrypted). Mirrors the Worker's
|
|
75
|
+
* buildPublicApiKeyService.
|
|
76
|
+
*/
|
|
77
|
+
export function buildNodePublicApiKeyService(env, db, idGenerator, clock) {
|
|
78
|
+
const pepper = env.ENCRYPTION_KEY?.trim();
|
|
79
|
+
if (!pepper || !db)
|
|
80
|
+
return undefined;
|
|
81
|
+
return new PublicApiKeyService({
|
|
82
|
+
repository: new DrizzlePublicApiKeyRepository(db),
|
|
83
|
+
pepper,
|
|
84
|
+
idGenerator,
|
|
85
|
+
clock,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The per-USER locally-run model endpoints store (Ollama / LM Studio / …) for the
|
|
90
|
+
* Node/local facade (Postgres-backed), or undefined when the shared ENCRYPTION_KEY is
|
|
91
|
+
* absent (the optional bearer key is sealed with the single system cipher). Mirror of
|
|
92
|
+
* the Worker's `buildLocalModelEndpointService`.
|
|
93
|
+
*/
|
|
94
|
+
export function buildNodeLocalModelEndpointService(env, db, clock,
|
|
95
|
+
// The symmetric local-sqlite credential seam (mothership mode); else Drizzle over `db`.
|
|
96
|
+
repositoryOverride) {
|
|
97
|
+
const masterKeyBase64 = env.ENCRYPTION_KEY?.trim();
|
|
98
|
+
if (!masterKeyBase64)
|
|
99
|
+
return undefined;
|
|
100
|
+
const localModelEndpointRepository = repositoryOverride ?? (db ? new DrizzleLocalModelEndpointRepository(db) : undefined);
|
|
101
|
+
if (!localModelEndpointRepository)
|
|
102
|
+
return undefined;
|
|
103
|
+
return new LocalModelEndpointService({
|
|
104
|
+
localModelEndpointRepository,
|
|
105
|
+
secretCipher: new WebCryptoSecretCipher({
|
|
106
|
+
masterKeyBase64,
|
|
107
|
+
info: 'cat-factory:local-model-endpoints',
|
|
108
|
+
}),
|
|
109
|
+
clock,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Build the per-USER generic secret service (a GitHub PAT today), or undefined when the
|
|
114
|
+
* shared ENCRYPTION_KEY is absent. Single system-cipher (no password layer); also backs
|
|
115
|
+
* `ResolveUserGitHubToken`. Mirror of the Worker's `buildUserSecretService`.
|
|
116
|
+
*/
|
|
117
|
+
export function buildNodeUserSecretService(env, db, clock, userSecretKindRegistry) {
|
|
118
|
+
const masterKeyBase64 = env.ENCRYPTION_KEY?.trim();
|
|
119
|
+
// No Postgres (mothership mode): the per-user secret store is not yet a local-sqlite
|
|
120
|
+
// bucket (PR 3), so it is off.
|
|
121
|
+
if (!masterKeyBase64 || !db)
|
|
122
|
+
return undefined;
|
|
123
|
+
return new UserSecretService({
|
|
124
|
+
userSecretRepository: new DrizzleUserSecretRepository(db),
|
|
125
|
+
secretCipher: new WebCryptoSecretCipher({ masterKeyBase64, info: 'cat-factory:user-secret' }),
|
|
126
|
+
clock,
|
|
127
|
+
userSecretKindRegistry,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The per-WORKSPACE OpenRouter dynamic-catalog service, or undefined when the API-key pool
|
|
132
|
+
* isn't wired (no ENCRYPTION_KEY) — refresh leases the workspace's pooled OpenRouter key.
|
|
133
|
+
* Mirror of the Worker's `buildOpenRouterCatalogService`.
|
|
134
|
+
*/
|
|
135
|
+
export function buildNodeOpenRouterCatalogService(env, db, clock, apiKeys, spendCurrency) {
|
|
136
|
+
// The dynamic-catalog projection is Postgres-only for now (PR 3), so it is off without a db
|
|
137
|
+
// even though the API-key pool (which it leases through) may be local-sqlite-backed.
|
|
138
|
+
if (!apiKeys || !db)
|
|
139
|
+
return undefined;
|
|
140
|
+
return new OpenRouterCatalogService({
|
|
141
|
+
providerModelCatalogRepository: new DrizzleProviderModelCatalogRepository(db),
|
|
142
|
+
apiKeys,
|
|
143
|
+
clock,
|
|
144
|
+
baseUrl: baseUrlForNode('openrouter', env),
|
|
145
|
+
// OpenRouter quotes USD; convert to the deployment's spend currency so persisted prices
|
|
146
|
+
// (and the spend overlay) match the rest of the budget table.
|
|
147
|
+
usdToCurrencyRate: usdRateForSpendCurrency(spendCurrency),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
export function buildNodePersonalSubscriptionService(env, db, idGenerator, clock,
|
|
151
|
+
// Mothership mode injects the local `node:sqlite` credential store for BOTH repos (they stay on
|
|
152
|
+
// the laptop — the double-encrypted personal credential + its per-run activation are leased +
|
|
153
|
+
// decrypted by the LOCAL container executor). Both must come from the same store, so both are
|
|
154
|
+
// overridden together; else the Drizzle repos over `db`, and the service is off without either.
|
|
155
|
+
personalOverride, activationOverride) {
|
|
156
|
+
const masterKeyBase64 = env.ENCRYPTION_KEY?.trim();
|
|
157
|
+
if (!masterKeyBase64)
|
|
158
|
+
return undefined;
|
|
159
|
+
const personalSubscriptionRepository = personalOverride ?? (db ? new DrizzlePersonalSubscriptionRepository(db) : undefined);
|
|
160
|
+
const subscriptionActivationRepository = activationOverride ?? (db ? new DrizzleSubscriptionActivationRepository(db) : undefined);
|
|
161
|
+
if (!personalSubscriptionRepository || !subscriptionActivationRepository)
|
|
162
|
+
return undefined;
|
|
163
|
+
return new PersonalSubscriptionService({
|
|
164
|
+
personalSubscriptionRepository,
|
|
165
|
+
subscriptionActivationRepository,
|
|
166
|
+
secretCipher: new WebCryptoSecretCipher({
|
|
167
|
+
masterKeyBase64,
|
|
168
|
+
info: 'cat-factory:personal-subscriptions',
|
|
169
|
+
}),
|
|
170
|
+
personalCipher: new WebCryptoPersonalSecretCipher(),
|
|
171
|
+
idGenerator,
|
|
172
|
+
clock,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=wireCredentialServices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wireCredentialServices.js","sourceRoot":"","sources":["../src/wireCredentialServices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
CREATE TABLE "subscription_quota_cycles" (
|
|
2
|
+
"id" text PRIMARY KEY,
|
|
3
|
+
"scope" text NOT NULL,
|
|
4
|
+
"scope_id" text NOT NULL,
|
|
5
|
+
"vendor" text NOT NULL,
|
|
6
|
+
"window_kind" text NOT NULL,
|
|
7
|
+
"window_started_at" bigint NOT NULL,
|
|
8
|
+
"input_tokens" bigint DEFAULT 0 NOT NULL,
|
|
9
|
+
"output_tokens" bigint DEFAULT 0 NOT NULL,
|
|
10
|
+
"request_count" integer DEFAULT 0 NOT NULL,
|
|
11
|
+
"updated_at" bigint NOT NULL
|
|
12
|
+
);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
CREATE UNIQUE INDEX "idx_subscription_quota_cycles_key" ON "subscription_quota_cycles" ("scope","scope_id","vendor","window_kind");--> statement-breakpoint
|
|
15
|
+
CREATE INDEX "idx_subscription_quota_cycles_window" ON "subscription_quota_cycles" ("window_started_at");
|