@cat-factory/node-server 0.112.0 → 0.113.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.
@@ -1 +1 @@
1
- {"version":3,"file":"container-realtime-deps.d.ts","sourceRoot":"","sources":["../src/container-realtime-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,oBAAoB,EAIrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAO1E,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAsEpE,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,YAAY,CAAC,EAAE,cAAc,CAAA;IAC7B,qBAAqB,EAAE,sBAAsB,CAAA;IAC7C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,4BAA4B,EAAE,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB;;;;;EA2DjE"}
1
+ {"version":3,"file":"container-realtime-deps.d.ts","sourceRoot":"","sources":["../src/container-realtime-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,oBAAoB,EAIrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAO1E,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAsEpE,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,YAAY,CAAC,EAAE,cAAc,CAAA;IAC7B,qBAAqB,EAAE,sBAAsB,CAAA;IAC7C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,4BAA4B,EAAE,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB;;;;;;EAoEjE"}
@@ -63,7 +63,7 @@ sourced) {
63
63
  * the (optionally consensus-wrapped) agent executor, and the composite notification channel.
64
64
  */
65
65
  export function buildNodeRealtimeDeps(input) {
66
- const { env, config, repos, sourced, realtimeSink, standardAgentExecutor, modelProviderResolver, resolveWorkspaceModelDefault, agentKindRegistry, } = input;
66
+ const { env, config, repos, sourced, realtimeSink, standardAgentExecutor, modelProviderResolver, resolveWorkspaceModelDefault, agentKindRegistry, extraNotificationChannels, } = input;
67
67
  // Real-time push + notification delivery. When a realtime hub is wired (start()), the
68
68
  // engine pushes execution/board/notification events to subscribed browsers via the
69
69
  // NodeEventPublisher, decorated with FanOutEventPublisher so a shared service's live
@@ -97,16 +97,30 @@ export function buildNodeRealtimeDeps(input) {
97
97
  agentKindRegistry,
98
98
  }))
99
99
  : standardAgentExecutor;
100
+ // EXTERNAL channels = everything that is not the in-app push. They are what a mothership
101
+ // delivers on behalf of a mothership-mode node (`machineNotificationDelivery`), because they are
102
+ // the ones whose credentials never leave the mothership; the in-app frame for a laptop-raised
103
+ // notification already rides the real-time upstream relay, so it must NOT be delivered twice.
104
+ const externalNotificationChannels = [
105
+ ...(slackDeps.notificationChannel ? [slackDeps.notificationChannel] : []),
106
+ ...(extraNotificationChannels ?? []),
107
+ ];
100
108
  const notificationChannels = [];
101
109
  if (executionEventPublisher)
102
110
  notificationChannels.push(new InAppNotificationChannel(executionEventPublisher));
103
- if (slackDeps.notificationChannel)
104
- notificationChannels.push(slackDeps.notificationChannel);
105
- const notificationChannel = notificationChannels.length === 0
106
- ? undefined
107
- : notificationChannels.length === 1
108
- ? notificationChannels[0]
109
- : new CompositeNotificationChannel(notificationChannels);
110
- return { slackDeps, executionEventPublisher, agentExecutor, notificationChannel };
111
+ notificationChannels.push(...externalNotificationChannels);
112
+ return {
113
+ slackDeps,
114
+ executionEventPublisher,
115
+ agentExecutor,
116
+ notificationChannel: composeChannels(notificationChannels),
117
+ externalNotificationChannel: composeChannels(externalNotificationChannels),
118
+ };
119
+ }
120
+ /** One channel as-is, several fanned out, none ⇒ undefined (the port is simply not wired). */
121
+ function composeChannels(channels) {
122
+ if (channels.length === 0)
123
+ return undefined;
124
+ return channels.length === 1 ? channels[0] : new CompositeNotificationChannel(channels);
111
125
  }
112
126
  //# sourceMappingURL=container-realtime-deps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-realtime-deps.js","sourceRoot":"","sources":["../src/container-realtime-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-realtime-deps.js","sourceRoot":"","sources":["../src/container-realtime-deps.ts"],"names":[],"mappings":"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"}
@@ -4,26 +4,20 @@ import { type DeployCloneTarget, type GitHubClient, type GitHubInstallationRepos
4
4
  import { type CoreDependencies, type GateRegistry, type StepResolverRegistry } from '@cat-factory/orchestration';
5
5
  import { type AppConfig, type ResolveRepoOrigin, type ResolveRunnerTransport, type ServerContainer } from '@cat-factory/server';
6
6
  import { type GateProviderOverrides } from '@cat-factory/gates';
7
- import type { AppCaches, InitiativePresetRegistry, PipelineRegistry, PreviewTransport, ProviderRegistry, TaskTypeRegistry, VcsProviderRegistry } from '@cat-factory/kernel';
7
+ import type { AppCaches, InitiativePresetRegistry, NotificationChannel, PipelineRegistry, PreviewTransport, ProviderRegistry, TaskTypeRegistry, VcsProviderRegistry } from '@cat-factory/kernel';
8
8
  import type { PgBoss } from 'pg-boss';
9
+ import { selectNodeGitHubDeps } from './container-github-deps.js';
10
+ import { buildNodeModelDeps } from './container-model-deps.js';
11
+ import { buildNodeRunServices } from './container-run-services-deps.js';
12
+ import { buildNodeBootstrapper, buildNodeTransportDeploy } from './container-transport-deps.js';
13
+ import { buildNodeAccountDeps } from './container-account-deps.js';
14
+ import { buildNodeRealtimeDeps } from './container-realtime-deps.js';
9
15
  import type { DrizzleDb } from './db/client.js';
10
16
  import type { LocalEventSink } from './realtime.js';
11
17
  import { createDrizzleRepositories } from './repositories/drizzle.js';
12
18
  import type { ContentStorageBackend } from '@cat-factory/contracts';
19
+ export { pickRepoSource } from './container-foundation.js';
13
20
  export { buildNodeResolveTransport, missingContainerExecutorPrereqs, withProvisioningLog, } from './container-executor-deps.js';
14
- /**
15
- * Source one org/durable repository that a standard build constructs directly from the Drizzle
16
- * `db`. In mothership mode (no Postgres) `remote` is the full-surface remote registry — a
17
- * `Proxy` (`createRemoteRepositoryRegistry`) that forwards any repo name to the hosted
18
- * mothership over the `/internal/persistence` RPC — so the repo comes from THERE instead of the
19
- * absent db; otherwise `build()` constructs the Drizzle repo over `db` as before. This is the
20
- * Phase-3 `db: undefined` audit seam: every direct-db store on the board-load + run path routes
21
- * through it. Routing is orthogonal to the server-side allow-list — an un-allow-listed remote
22
- * method still returns a clean `unknown_method`, never a `db`-undefined `TypeError`. Mirrors the
23
- * credential-repo override seam (`providerApiKeyRepository`), which keeps credentials local while
24
- * org state goes remote. See docs/initiatives/mothership-mode.md (Phase 3, part 1).
25
- */
26
- export declare function pickRepoSource<T>(remote: Record<string, unknown> | undefined, name: string, build: () => T): T;
27
21
  /**
28
22
  * The subscription-credential lease seams `buildNodeContainer` hands to
29
23
  * {@link NodeContainerOptions.wrapModelProviderResolver}. Present only when the corresponding
@@ -238,6 +232,13 @@ export interface NodeContainerOptions {
238
232
  * falls back to the no-op publisher (no live push), exactly as before.
239
233
  */
240
234
  realtimeSink?: LocalEventSink;
235
+ /**
236
+ * Extra notification delivery channels composed alongside the ones this facade builds (in-app +
237
+ * Slack). The local facade contributes its mothership `RemoteNotificationChannel` here, so a
238
+ * notification raised on a laptop is delivered by the mothership through the org's external
239
+ * transports (whose credentials never reach the machine). Unset on a stock Node deployment.
240
+ */
241
+ notificationChannels?: NotificationChannel[];
241
242
  /**
242
243
  * The app-owned cache bag (docs/initiatives/caching-layer.md). `start()` builds it once
243
244
  * per process via `createAppCaches` — with the Redis-backed invalidation notification
@@ -337,5 +338,20 @@ export interface NodeContainerOptions {
337
338
  */
338
339
  contentStorageDefaultBackend?: ContentStorageBackend;
339
340
  }
341
+ export type NodeModelDepsResult = ReturnType<typeof buildNodeModelDeps>;
342
+ export type NodeTransportDeployResult = ReturnType<typeof buildNodeTransportDeploy>;
343
+ export type NodeRunServicesResult = ReturnType<typeof buildNodeRunServices>;
344
+ export type NodeGitHubDepsResult = ReturnType<typeof selectNodeGitHubDeps>;
345
+ export type NodeBootstrapperResult = ReturnType<typeof buildNodeBootstrapper>;
346
+ export type NodeRealtimeDepsResult = ReturnType<typeof buildNodeRealtimeDeps>;
347
+ export type NodeAccountDepsResult = ReturnType<typeof buildNodeAccountDeps>;
340
348
  export declare function buildNodeContainer(options: NodeContainerOptions): ServerContainer;
349
+ /**
350
+ * Wire the task-source integration for the Node facade when it is enabled (the
351
+ * `tasks` module then assembles so tenants can connect Jira through the existing
352
+ * UI). Returns the `CoreDependencies` fragment plus the connection repository so the
353
+ * tracker can resolve each workspace's Jira credentials from the same store.
354
+ * No registered providers → `{ deps: {} }` and both the tasks module and the Jira
355
+ * tracker stay off (the encryption key is guaranteed present by `loadTasksConfig`).
356
+ */
341
357
  //# sourceMappingURL=container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}