@cat-factory/worker 0.128.1 → 0.129.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/infrastructure/container-assembly.d.ts +8 -1
  2. package/dist/infrastructure/container-assembly.d.ts.map +1 -1
  3. package/dist/infrastructure/container-assembly.js +8 -1
  4. package/dist/infrastructure/container-assembly.js.map +1 -1
  5. package/dist/infrastructure/container-executor-deps.d.ts +81 -0
  6. package/dist/infrastructure/container-executor-deps.d.ts.map +1 -0
  7. package/dist/infrastructure/container-executor-deps.js +346 -0
  8. package/dist/infrastructure/container-executor-deps.js.map +1 -0
  9. package/dist/infrastructure/container-model-resolver.d.ts +14 -0
  10. package/dist/infrastructure/container-model-resolver.d.ts.map +1 -0
  11. package/dist/infrastructure/container-model-resolver.js +110 -0
  12. package/dist/infrastructure/container-model-resolver.js.map +1 -0
  13. package/dist/infrastructure/container-vcs-identity.d.ts +39 -0
  14. package/dist/infrastructure/container-vcs-identity.d.ts.map +1 -0
  15. package/dist/infrastructure/container-vcs-identity.js +88 -0
  16. package/dist/infrastructure/container-vcs-identity.js.map +1 -0
  17. package/dist/infrastructure/container.d.ts +8 -74
  18. package/dist/infrastructure/container.d.ts.map +1 -1
  19. package/dist/infrastructure/container.js +26 -481
  20. package/dist/infrastructure/container.js.map +1 -1
  21. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.d.ts +2 -0
  22. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.d.ts.map +1 -1
  23. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.js +20 -4
  24. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.js.map +1 -1
  25. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.d.ts +2 -0
  26. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.d.ts.map +1 -1
  27. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.js +22 -4
  28. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.js.map +1 -1
  29. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts +2 -0
  30. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts.map +1 -1
  31. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js +21 -3
  32. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js.map +1 -1
  33. package/dist/infrastructure/repositories/D1NotificationWebhookRepository.d.ts +5 -1
  34. package/dist/infrastructure/repositories/D1NotificationWebhookRepository.d.ts.map +1 -1
  35. package/dist/infrastructure/repositories/D1NotificationWebhookRepository.js +11 -5
  36. package/dist/infrastructure/repositories/D1NotificationWebhookRepository.js.map +1 -1
  37. package/migrations/0072_webhook_run_events.sql +11 -0
  38. package/package.json +18 -18
@@ -3,13 +3,14 @@ import { type CoreDependencies, AgentContextObservabilityService, SearchQueryObs
3
3
  import type { AccountSettingsService, ApiKeyService, LocalModelEndpointService, NotificationWebhookService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, PublicApiKeyService, TestSecretsService, ValidationConfigService, UserSecretService } from '@cat-factory/integrations';
4
4
  import { type ServerContainer, type WebSearchUpstream } from '@cat-factory/server';
5
5
  import { type GateProviderOverrides } from '@cat-factory/gates';
6
- import type { NotificationChannel } from '@cat-factory/kernel';
6
+ import type { NotificationChannel, RunLifecycleSink } from '@cat-factory/kernel';
7
7
  import type { AppConfig } from './config';
8
8
  import type { Env } from './env';
9
9
  import type { WorkerRegistries } from './container-registries.js';
10
10
  import type { ResolveRunnerTransport } from './ai/ContainerAgentExecutor';
11
11
  import { CfGitHubWebhookIngest } from './gateways/GitHubGateways';
12
12
  import { D1ProvisioningLogRepository } from './repositories/D1ProvisioningLogRepository';
13
+ import { type WorkerExecutorDeps } from './container.js';
13
14
  import type { D1Database } from '@cloudflare/workers-types';
14
15
  /**
15
16
  * The pre-built infrastructure handles + app-owned registries `buildContainer` computes
@@ -47,6 +48,8 @@ export interface WorkerContainerAssemblyInput {
47
48
  notificationWebhookSupport: {
48
49
  service: NotificationWebhookService;
49
50
  channel: NotificationChannel;
51
+ /** The run-lifecycle half — same endpoint, same secret, same guard. */
52
+ runLifecycleSink: RunLifecycleSink;
50
53
  } | null;
51
54
  localModelEndpoints: LocalModelEndpointService | undefined;
52
55
  userSecrets: UserSecretService | undefined;
@@ -55,6 +58,10 @@ export interface WorkerContainerAssemblyInput {
55
58
  agentContextObservability: AgentContextObservabilityService;
56
59
  searchQueryObservability: SearchQueryObservabilityService;
57
60
  accountSettings: AccountSettingsService | undefined;
61
+ /** The container executor's private-registry resolver — see {@link WorkerExecutorDeps}. */
62
+ executorPackageRegistries: WorkerExecutorDeps['resolvePackageRegistries'];
63
+ /** The container executor's dedicated, uncached account-settings reader — see {@link WorkerExecutorDeps}. */
64
+ webSearchAccountSettings: AccountSettingsService | undefined;
58
65
  defaultWebSearchUpstream: WebSearchUpstream | undefined;
59
66
  resolveBinaryArtifactStore: ResolveBinaryArtifactStore;
60
67
  githubWebhookIngest: CfGitHubWebhookIngest;
@@ -1 +1 @@
1
- {"version":3,"file":"container-assembly.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-assembly.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ import { selectGitHubDeps } from './github-deps.js';
62
62
  * behaviour change.
63
63
  */
64
64
  function buildWorkerCoreDependencies(input) {
65
- const { env, config, db, telemetryDb, clock, idGenerator, caches, overrides, cloudflareModelsEnabled, registries, provisioningLogRepository, resolveTransport, subscriptions, testSecretsService, validationConfigService, personalSubscriptions, apiKeys, notificationWebhookSupport, localModelEndpoints, openRouterCatalog, eventPublisher, agentContextObservability, searchQueryObservability, accountSettings, resolveBinaryArtifactStore, githubWebhookIngest, } = input;
65
+ const { env, config, db, telemetryDb, clock, idGenerator, caches, overrides, cloudflareModelsEnabled, registries, provisioningLogRepository, resolveTransport, subscriptions, testSecretsService, validationConfigService, personalSubscriptions, apiKeys, notificationWebhookSupport, localModelEndpoints, openRouterCatalog, eventPublisher, agentContextObservability, searchQueryObservability, accountSettings, executorPackageRegistries, webSearchAccountSettings, resolveBinaryArtifactStore, githubWebhookIngest, } = input;
66
66
  const { environmentBackendRegistry, runnerBackendRegistry, customManifestTypeRegistry, agentKindRegistry, gateRegistry, judgeRegistry, stepResolverRegistry, initiativePresetRegistry, providerRegistry, } = registries;
67
67
  return {
68
68
  // The structured logger every domain service emits through. Must be wired on BOTH facades
@@ -132,6 +132,8 @@ function buildWorkerCoreDependencies(input) {
132
132
  subscriptions,
133
133
  personalSubscriptions,
134
134
  agentContextObservability,
135
+ resolvePackageRegistries: executorPackageRegistries,
136
+ webSearchAccountSettings,
135
137
  }), env, config, db, eventPublisher, agentKindRegistry),
136
138
  agentKindRegistry,
137
139
  // The app-owned gate + step-resolver registries; the engine's gate machine + completion hub
@@ -190,6 +192,11 @@ function buildWorkerCoreDependencies(input) {
190
192
  providerRegistry,
191
193
  webhookChannel: notificationWebhookSupport?.channel,
192
194
  }),
195
+ // The run-lifecycle push: the terminal/started edges a headless integration would otherwise
196
+ // have to poll for. Absent (no encryption key ⇒ no webhook feature) ⇒ nothing is pushed.
197
+ ...(notificationWebhookSupport
198
+ ? { runLifecycleSink: notificationWebhookSupport.runLifecycleSink }
199
+ : {}),
193
200
  // A fresh workspace's model-preset library is seeded with Kimi K2.7 as the default
194
201
  // (Cloudflare-runnable on the bare AI binding). A deployment overrides the out-of-the-box
195
202
  // default by passing `defaultModelPresetId` through `createApp`'s / `buildContainer`'s
@@ -1 +1 @@
1
- {"version":3,"file":"container-assembly.js","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-assembly.js","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { type AgentContextRecorder, type AgentExecutor, type Clock, type ExecutionEventPublisher, type RunnerPoolProvider } from '@cat-factory/kernel';
2
+ import { type AgentKindRegistry } from '@cat-factory/agents';
3
+ import { type RunnerBackendRegistry, PersonalSubscriptionService, ProviderSubscriptionService, ProvisioningLogRecorder } from '@cat-factory/integrations';
4
+ import { type WebSearchUpstream } from '@cat-factory/server';
5
+ import { type AppConfig } from './config';
6
+ import type { Env } from './env';
7
+ import { type ResolveRunnerTransport } from './ai/ContainerAgentExecutor';
8
+ import type { AccountSettingsService } from '@cat-factory/integrations';
9
+ import type { JobPackageRegistrySpec } from '@cat-factory/server';
10
+ import type { D1Database } from '@cloudflare/workers-types';
11
+ /**
12
+ * The shared prerequisites both the composite executor selection and its container leg
13
+ * need — the Worker's infra handles (`env`/`config`/`db`/`clock`), the resolved runner
14
+ * transport, the agent-kind registry, and the optional subscription / observability seams.
15
+ * Bundled so the two builders take one dependency object rather than nine positional args.
16
+ */
17
+ export interface WorkerExecutorDeps {
18
+ env: Env;
19
+ config: AppConfig;
20
+ db: D1Database;
21
+ clock: Clock;
22
+ resolveTransport: ResolveRunnerTransport | null;
23
+ agentKindRegistry: AgentKindRegistry;
24
+ subscriptions?: ProviderSubscriptionService;
25
+ personalSubscriptions?: PersonalSubscriptionService;
26
+ agentContextObservability?: AgentContextRecorder;
27
+ /**
28
+ * Resolve a workspace's private package registries onto a container job, so the checkout can
29
+ * install private dependencies. Passed in rather than built here: the builder is the
30
+ * composition root's, and the root imports THIS module — so taking it as a dependency is what
31
+ * keeps the graph one-way.
32
+ */
33
+ resolvePackageRegistries: ((workspaceId: string) => Promise<JobPackageRegistrySpec[]>) | undefined;
34
+ /**
35
+ * The account-settings reader used ONLY to answer "does this run's account have web-search
36
+ * keys of its own". A DEDICATED instance with no `settingsCache`: the `accountSettings` slice
37
+ * is pass-through on the Worker's isolate-safe profile, so caching it here would be a no-op,
38
+ * and the primary instance (whose decrypted view drives the runtime resolvers) is the one that
39
+ * gets the shared slice. Undefined when account settings aren't wired.
40
+ */
41
+ webSearchAccountSettings: AccountSettingsService | undefined;
42
+ }
43
+ /**
44
+ * Pick the agent that performs pipeline steps: real LLM work via the Vercel AI
45
+ * SDK, composed with a per-run sandbox for the repo-operating steps (`coder`,
46
+ * `mocker`, `playwright`, …). Container-based implementation is ALWAYS on — the
47
+ * sandbox is a hard requirement, so this throws at startup if it can't be built.
48
+ * Tests bypass this entirely by overriding `agentExecutor` with a fake.
49
+ *
50
+ * There is intentionally NO inline fallback for the sandbox kinds — a one-shot
51
+ * LLM call cannot clone/edit/commit/open a PR, so a degraded inline implementer is
52
+ * silently broken rather than usefully degraded. If the sandbox prerequisites are
53
+ * missing we fail the deploy loudly here rather than starting with a half-wired
54
+ * implementer that would only fault the moment a repo-operating step is dispatched.
55
+ */
56
+ export declare function selectAgentExecutor(deps: WorkerExecutorDeps): AgentExecutor;
57
+ /**
58
+ * Wrap the standard executor with the optional consensus mechanism when
59
+ * `CONSENSUS_ENABLED` is set: register the consensus capability traits (so the builder
60
+ * offers "Enable Consensus" on eligible steps) and route consensus-enabled steps through
61
+ * a multi-model process, persisting + pushing the transcript. Off ⇒ returns `standard`
62
+ * unchanged (no traits, no wrapping), so behaviour is identical to before.
63
+ */
64
+ export declare function maybeWrapConsensus(standard: AgentExecutor, env: Env, config: AppConfig, db: D1Database, eventPublisher: ExecutionEventPublisher | undefined, agentKindRegistry: AgentKindRegistry): AgentExecutor;
65
+ /**
66
+ * Build the factory that picks a job's runner backend: a workspace's own
67
+ * self-hosted runner pool when one is registered (and runner pools are enabled),
68
+ * otherwise the per-run Cloudflare Container. Returns null when neither backend is
69
+ * available, so {@link buildContainerExecutor} falls back to inline work.
70
+ */
71
+ export declare function buildResolveTransport(deps: {
72
+ env: Env;
73
+ config: AppConfig;
74
+ db: D1Database;
75
+ clock: Clock;
76
+ provisioningLog: ProvisioningLogRecorder | undefined;
77
+ runnerBackendRegistry: RunnerBackendRegistry;
78
+ injectedPoolProvider?: RunnerPoolProvider;
79
+ }): ResolveRunnerTransport | null;
80
+ export declare function buildDefaultWebSearchUpstream(env: Env): WebSearchUpstream | undefined;
81
+ //# sourceMappingURL=container-executor-deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-executor-deps.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-executor-deps.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EAGxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,2BAA2B,EAE3B,uBAAuB,EAIxB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAUL,KAAK,iBAAiB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAiBjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAW3D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,UAAU,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;IACZ,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAA;IAC/C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,aAAa,CAAC,EAAE,2BAA2B,CAAA;IAC3C,qBAAqB,CAAC,EAAE,2BAA2B,CAAA;IACnD,yBAAyB,CAAC,EAAE,oBAAoB,CAAA;IAChD;;;;;OAKG;IACH,wBAAwB,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAClG;;;;;;OAMG;IACH,wBAAwB,EAAE,sBAAsB,GAAG,SAAS,CAAA;CAC7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CA6B3E;AAOD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,iBAAiB,EAAE,iBAAiB,GACnC,aAAa,CAaf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,UAAU,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe,EAAE,uBAAuB,GAAG,SAAS,CAAA;IAEpD,qBAAqB,EAAE,qBAAqB,CAAA;IAI5C,oBAAoB,CAAC,EAAE,kBAAkB,CAAA;CAC1C,GAAG,sBAAsB,GAAG,IAAI,CAgFhC;AAOD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,GAAG,iBAAiB,GAAG,SAAS,CAMrF"}
@@ -0,0 +1,346 @@
1
+ // The Worker's AGENT-EXECUTOR wiring: which backend runs a job (`buildResolveTransport` — a
2
+ // workspace's own self-hosted runner pool, else the per-run Cloudflare Container), the container
3
+ // executor built on it, the composite that routes inline vs. sandbox kinds, and the optional
4
+ // consensus wrap around the result.
5
+ //
6
+ // Split out of `container.ts` along the seam the Node facade already draws with
7
+ // `container-executor-deps.ts`, so the composition root holds the spine and the per-concern
8
+ // `select*Deps` selectors rather than the executor's own backend selection. Model resolution is
9
+ // imported from `container-model-resolver.ts` rather than from the root, so the graph is acyclic.
10
+ import {} from '@cat-factory/kernel';
11
+ import { AiAgentExecutor, inlineWebSearchOptionsFromEnv, } from '@cat-factory/agents';
12
+ import { PersonalSubscriptionService, ProviderSubscriptionService, RunnerPoolConnectionService, ProvisioningLogRecorder, LoggingRunnerTransport, RegistrySubscriptionQuotaProvider, defaultSubscriptionQuotaRegistry, } from '@cat-factory/integrations';
13
+ import { buildTraceSink } from './container-trace-sinks.js';
14
+ import { LlmObservabilityService, makeHarnessCallRecorder } from '@cat-factory/orchestration';
15
+ import { ensureWorkBranchViaRest, logger, createDefaultWebSearchUpstream, createWebSearchUpstream, ENV_HELP, configProblem, resolveUrlSafetyPolicy, noRunnerBackendAvailableError, createEnvToolSecretResolver, } from '@cat-factory/server';
16
+ import {} from './config';
17
+ import { requireTelemetryDb } from './env';
18
+ import { ContainerAgentExecutor } from './ai/ContainerAgentExecutor';
19
+ import { CloudflareContainerTransport } from './containers/CloudflareContainerTransport';
20
+ import { ContainerInstanceRegistry } from './containers/ContainerInstanceRegistry';
21
+ import { D1LiveContainerRepository } from './repositories/D1LiveContainerRepository';
22
+ import { HttpRunnerPoolProvider } from './runners/HttpRunnerPoolProvider';
23
+ import { D1RunnerPoolConnectionRepository } from './repositories/D1RunnerPoolConnectionRepository';
24
+ import { CompositeAgentExecutor } from './ai/CompositeAgentExecutor';
25
+ import { ContainerSessionService } from './containers/ContainerSessionService';
26
+ import { D1LlmCallMetricRepository } from './repositories/D1LlmCallMetricRepository';
27
+ import { D1WorkspaceRepository } from './repositories/D1WorkspaceRepository';
28
+ import { D1ConsensusSessionRepository } from './repositories/D1ConsensusSessionRepository';
29
+ import { ConsensusAgentExecutor, registerConsensusTraits } from '@cat-factory/consensus';
30
+ import { D1WorkspaceSettingsRepository } from './repositories/D1WorkspaceSettingsRepository';
31
+ import { D1SubscriptionQuotaCycleRepository } from './repositories/D1SubscriptionQuotaCycleRepository';
32
+ import { WebCryptoSecretCipher } from './environments/WebCryptoSecretCipher';
33
+ import { buildResolveUserGitHubToken, buildTestSecretsService } from './wireCredentialServices';
34
+ import { CryptoIdGenerator } from './runtime';
35
+ import { buildModelProviderResolver, buildResolveWorkspaceModelDefault, } from './container-model-resolver.js';
36
+ import { buildAppRegistry, buildResolveRepoTarget, buildResolveRepoTargets, } from './container-vcs-identity.js';
37
+ /**
38
+ * Pick the agent that performs pipeline steps: real LLM work via the Vercel AI
39
+ * SDK, composed with a per-run sandbox for the repo-operating steps (`coder`,
40
+ * `mocker`, `playwright`, …). Container-based implementation is ALWAYS on — the
41
+ * sandbox is a hard requirement, so this throws at startup if it can't be built.
42
+ * Tests bypass this entirely by overriding `agentExecutor` with a fake.
43
+ *
44
+ * There is intentionally NO inline fallback for the sandbox kinds — a one-shot
45
+ * LLM call cannot clone/edit/commit/open a PR, so a degraded inline implementer is
46
+ * silently broken rather than usefully degraded. If the sandbox prerequisites are
47
+ * missing we fail the deploy loudly here rather than starting with a half-wired
48
+ * implementer that would only fault the moment a repo-operating step is dispatched.
49
+ */
50
+ export function selectAgentExecutor(deps) {
51
+ const { env, config, db, agentKindRegistry } = deps;
52
+ const inline = new AiAgentExecutor({
53
+ modelProviderResolver: buildModelProviderResolver(env, db),
54
+ agentRouting: config.agents.routing,
55
+ resolveBlockModel: config.agents.resolveBlockModel,
56
+ // Inline (non-sandbox) kinds honour the workspace's per-kind defaults too, so
57
+ // the resolution precedence is uniform across every agent kind, not just the
58
+ // container kinds.
59
+ resolveWorkspaceModelDefault: buildResolveWorkspaceModelDefault(db),
60
+ // Opt-in provider web search for the inline design/research kinds (no-op unless
61
+ // INLINE_WEB_SEARCH_ENABLED and an Anthropic/OpenAI model).
62
+ webSearch: inlineWebSearchOptionsFromEnv(env),
63
+ agentKindRegistry,
64
+ });
65
+ // The sandbox MUST build — a null here means a prerequisite (GitHub App private
66
+ // key, WORKER_PUBLIC_URL, AUTH_SESSION_SECRET, or a runner backend: the
67
+ // EXEC_CONTAINER binding or a registered runner pool) is missing. We refuse to
68
+ // start with a half-configured implementer rather than quietly running the
69
+ // repo-operating steps as useless one-shot LLM calls.
70
+ const container = buildContainerExecutor(deps);
71
+ if (!container) {
72
+ throw configProblem({ key: 'CONTAINER_EXECUTOR', ...ENV_HELP.CONTAINER_EXECUTOR });
73
+ }
74
+ // Always the composite: non-sandbox kinds run inline; sandbox kinds run in the
75
+ // container.
76
+ return new CompositeAgentExecutor(inline, container, agentKindRegistry);
77
+ }
78
+ /** Truthy env flag (`true`/`1`/`yes`). */
79
+ function isTruthy(value) {
80
+ return value === 'true' || value === '1' || value === 'yes';
81
+ }
82
+ /**
83
+ * Wrap the standard executor with the optional consensus mechanism when
84
+ * `CONSENSUS_ENABLED` is set: register the consensus capability traits (so the builder
85
+ * offers "Enable Consensus" on eligible steps) and route consensus-enabled steps through
86
+ * a multi-model process, persisting + pushing the transcript. Off ⇒ returns `standard`
87
+ * unchanged (no traits, no wrapping), so behaviour is identical to before.
88
+ */
89
+ export function maybeWrapConsensus(standard, env, config, db, eventPublisher, agentKindRegistry) {
90
+ if (!isTruthy(env.CONSENSUS_ENABLED))
91
+ return standard;
92
+ registerConsensusTraits(agentKindRegistry);
93
+ return new ConsensusAgentExecutor({
94
+ standard,
95
+ modelProviderResolver: buildModelProviderResolver(env, db),
96
+ agentRouting: config.agents.routing,
97
+ resolveBlockModel: config.agents.resolveBlockModel,
98
+ resolveWorkspaceModelDefault: buildResolveWorkspaceModelDefault(db),
99
+ sessionRepository: new D1ConsensusSessionRepository({ db }),
100
+ ...(eventPublisher ? { eventPublisher } : {}),
101
+ agentKindRegistry,
102
+ });
103
+ }
104
+ /**
105
+ * Build the factory that picks a job's runner backend: a workspace's own
106
+ * self-hosted runner pool when one is registered (and runner pools are enabled),
107
+ * otherwise the per-run Cloudflare Container. Returns null when neither backend is
108
+ * available, so {@link buildContainerExecutor} falls back to inline work.
109
+ */
110
+ export function buildResolveTransport(deps) {
111
+ const { env, config, db, clock, provisioningLog, runnerBackendRegistry, injectedPoolProvider } = deps;
112
+ // The Cloudflare backend folds in instance-level reaping: the registry records
113
+ // each dispatched container in the live inventory and clears it on release, so the
114
+ // cron reaper (index.ts) can kill anything that outlived its lifetime — covering
115
+ // run/blueprint/bootstrap through this one transport with no per-flow wiring.
116
+ const cloudflare = env.EXEC_CONTAINER
117
+ ? new CloudflareContainerTransport(env.EXEC_CONTAINER, new ContainerInstanceRegistry(env.EXEC_CONTAINER, new D1LiveContainerRepository({ db }), clock), env.HARNESS_SHARED_SECRET?.trim() || undefined)
118
+ : null;
119
+ // The self-hosted backend path: a connection service that resolves each workspace's
120
+ // runner-backend config (manifest pool OR native Kubernetes) to a live transport via
121
+ // the runner-backend provider registry. The shared manifest HTTP provider (its OAuth
122
+ // cache reused) is threaded in for the `manifest` kind.
123
+ let runnerService;
124
+ if (config.runners.enabled) {
125
+ const urlPolicy = resolveUrlSafetyPolicy(config.runners);
126
+ runnerService = new RunnerPoolConnectionService({
127
+ runnerPoolConnectionRepository: new D1RunnerPoolConnectionRepository({ db }),
128
+ workspaceRepository: new D1WorkspaceRepository({ db }),
129
+ secretCipher: new WebCryptoSecretCipher({
130
+ masterKeyBase64: config.runners.encryptionKey,
131
+ info: 'cat-factory:runners',
132
+ }),
133
+ clock,
134
+ logger,
135
+ runnerBackendRegistry,
136
+ ...(urlPolicy ? { urlPolicy } : {}),
137
+ runnerPoolProvider: injectedPoolProvider ?? new HttpRunnerPoolProvider(urlPolicy ? { urlPolicy } : {}),
138
+ });
139
+ }
140
+ if (!cloudflare && !runnerService)
141
+ return null;
142
+ // Wrap a resolved transport so every dispatch/release/poll-failure appends a
143
+ // provisioning-log event tagged with the right subsystem (a self-hosted pool vs a
144
+ // per-run Cloudflare container). No-op when the separate log store isn't wired.
145
+ // The dedup set is closure-owned so it outlives each (per-resolution) wrapper.
146
+ const loggedPollFailures = new Set();
147
+ const log = (inner, subsystem, workspaceId, providerId) => provisioningLog
148
+ ? new LoggingRunnerTransport({
149
+ inner,
150
+ recorder: provisioningLog,
151
+ workspaceId: workspaceId ?? '',
152
+ subsystem,
153
+ providerId,
154
+ loggedPollFailures,
155
+ })
156
+ : inner;
157
+ return async (workspaceId) => {
158
+ if (runnerService && workspaceId) {
159
+ const resolved = await runnerService.resolve(workspaceId);
160
+ if (resolved) {
161
+ return log(resolved.transport, 'runner-pool', workspaceId, resolved.providerId);
162
+ }
163
+ }
164
+ if (cloudflare)
165
+ return log(cloudflare, 'container', workspaceId);
166
+ // The shared factory throws a ConflictError carrying the machine reason (see its doc): a clean
167
+ // 409 synchronously, and classifyDispatchFailure lifts the reason onto the run's AgentFailure on
168
+ // the async dispatch path (SPA shows "Agent backend not configured", not "container failed to
169
+ // start"). The Cloudflare facade also offers "enable Cloudflare Containers" in the remedy.
170
+ throw noRunnerBackendAvailableError(workspaceId, { cloudflareContainers: true });
171
+ };
172
+ }
173
+ // The deployment-wide trusted web-search upstream for CONTAINER agents, built from this
174
+ // facade's own `WEB_SEARCH_*` env — the fallback the search proxy uses when a run's account
175
+ // configured none of its own (see `createDefaultWebSearchUpstream` in @cat-factory/server).
176
+ // Public endpoints only on workerd (no loopback-SearXNG story); kept symmetric with the Node
177
+ // facade so a stock Cloudflare deployment can also set a deployment-wide default.
178
+ export function buildDefaultWebSearchUpstream(env) {
179
+ return createDefaultWebSearchUpstream({
180
+ braveApiKey: env.WEB_SEARCH_BRAVE_API_KEY,
181
+ searxngUrl: env.WEB_SEARCH_SEARXNG_URL,
182
+ searxngApiKey: env.WEB_SEARCH_SEARXNG_API_KEY,
183
+ });
184
+ }
185
+ /**
186
+ * Build the container-based implementation executor, or return null when its
187
+ * prerequisites are missing (a runner backend — Cloudflare Containers and/or a
188
+ * self-hosted pool — plus a configured GitHub App, the proxy's public URL and the
189
+ * signing secret) — the caller then falls back to inline work.
190
+ */
191
+ function buildContainerExecutor(deps) {
192
+ const { env, config, db, clock, resolveTransport, agentKindRegistry, subscriptions, personalSubscriptions, agentContextObservability, resolvePackageRegistries, webSearchAccountSettings: webSearchSettings, } = deps;
193
+ if (!config.github.enabled ||
194
+ !env.GITHUB_APP_PRIVATE_KEY ||
195
+ !env.WORKER_PUBLIC_URL ||
196
+ !env.AUTH_SESSION_SECRET) {
197
+ return null;
198
+ }
199
+ if (!resolveTransport)
200
+ return null;
201
+ const registry = buildAppRegistry(env, config, db, clock);
202
+ const resolveRepoTarget = buildResolveRepoTarget(db);
203
+ // Record a subscription harness's (Claude Code / Codex) per-call telemetry into the
204
+ // SAME `llm_call_metrics` store the LLM proxy writes for Pi — those harnesses bypass
205
+ // the proxy, so the executor lifts the metrics off the CLI stream and feeds them here.
206
+ // A standalone service over the required telemetry DB (the proxy path builds its own
207
+ // from the same table; both are stateless writers). The settings repository is REQUIRED
208
+ // here, not optional hygiene: a subscription harness's `stream-json` carries the FULL
209
+ // prompt and response, and an absent repository makes `createStoreAgentContextGate` an
210
+ // open gate — so without it an opted-out workspace's bodies are retained anyway, which is
211
+ // exactly the privacy half of C2 (observability-logging-gaps.md) wearing a different hat.
212
+ const recordHarnessCalls = makeHarnessCallRecorder(new LlmObservabilityService({
213
+ llmCallMetricRepository: new D1LlmCallMetricRepository({ db: requireTelemetryDb(env) }),
214
+ idGenerator: new CryptoIdGenerator(),
215
+ clock,
216
+ recordPrompts: config.observability.recordPrompts,
217
+ workspaceSettingsRepository: new D1WorkspaceSettingsRepository({ db }),
218
+ logger,
219
+ }));
220
+ // Modeled subscription quota-cycle provider (usage-and-quota-tracking, Part B): folds a
221
+ // finished subscription run's tokens into rolling windows (real vendor reads land in B2,
222
+ // so its adapter registry is empty today — every vendor reports modeled).
223
+ const subscriptionQuotaProvider = new RegistrySubscriptionQuotaProvider({
224
+ subscriptionQuotaCycleRepository: new D1SubscriptionQuotaCycleRepository({ db }),
225
+ idGenerator: new CryptoIdGenerator(),
226
+ clock,
227
+ registry: defaultSubscriptionQuotaRegistry,
228
+ });
229
+ // Prefer the run initiator's per-user PAT (when stored) over the App token, so the
230
+ // container's clone/push/PR is attributed to them. Falls back to the App token.
231
+ const resolveUserGitHubToken = buildResolveUserGitHubToken(env, db, clock);
232
+ const mintInstallationToken = async (installationId, ctx) => {
233
+ if (resolveUserGitHubToken && ctx?.initiatedBy) {
234
+ const pat = await resolveUserGitHubToken(ctx.initiatedBy);
235
+ if (pat)
236
+ return pat;
237
+ }
238
+ return registry.installationToken(installationId);
239
+ };
240
+ // Decrypt the service frame's sensitive test credentials onto the tester job body (out of band).
241
+ const testSecretsForDispatch = buildTestSecretsService(env, db, clock);
242
+ const resolveTestSecrets = testSecretsForDispatch
243
+ ? (workspaceId, blockId) => testSecretsForDispatch.resolveValuesForBlock(workspaceId, blockId)
244
+ : undefined;
245
+ // Advertise Pi's `web_search` tool to a run only when a usable upstream exists — either the
246
+ // deployment-wide default (⇒ always on) or the run's account has its own keys (else the tool
247
+ // would just fail / return nothing). The per-account check runs off `webSearchAccountSettings`.
248
+ const defaultWebSearchUpstream = buildDefaultWebSearchUpstream(env);
249
+ const resolveWebSearchAvailability = defaultWebSearchUpstream || webSearchSettings
250
+ ? async (workspaceId) => {
251
+ // Mirror the proxy's own resolution (`accountUpstream ?? defaultWebSearchUpstream`):
252
+ // the run's account keys WIN and the deployment default is only the fallback, so the
253
+ // surfaced provider matches the one that will actually serve the run's searches. Build
254
+ // the account upstream the SAME way the proxy does before falling back to the default.
255
+ if (webSearchSettings) {
256
+ const accountId = await new D1WorkspaceRepository({ db }).accountOf(workspaceId);
257
+ if (accountId) {
258
+ const accountUpstream = createWebSearchUpstream((await webSearchSettings.resolve(accountId)).webSearch ?? {});
259
+ if (accountUpstream)
260
+ return { available: true, provider: accountUpstream.provider };
261
+ }
262
+ }
263
+ if (defaultWebSearchUpstream)
264
+ return { available: true, provider: defaultWebSearchUpstream.provider };
265
+ return { available: false, provider: null };
266
+ }
267
+ : undefined;
268
+ return new ContainerAgentExecutor({
269
+ resolveTransport,
270
+ agentRouting: config.agents.routing,
271
+ resolveBlockModel: config.agents.resolveBlockModel,
272
+ // The workspace's per-agent-kind default model, consulted when a block pins none
273
+ // (block-pinned > workspace per-kind default > env routing > env default).
274
+ resolveWorkspaceModelDefault: buildResolveWorkspaceModelDefault(db),
275
+ resolveRepoTarget,
276
+ // Multi-repo coding (service-connections phase 3): the implementer fans a cross-service
277
+ // change out across the task's own repo + each connected involved-service repo.
278
+ resolveRepoTargets: buildResolveRepoTargets(db),
279
+ // Resolve the workspace's owning account so the proxy can lease account-scoped keys.
280
+ resolveAccountId: (workspaceId) => new D1WorkspaceRepository({ db }).accountOf(workspaceId),
281
+ mintInstallationToken,
282
+ // Ensure the shared per-task work branch up front so every agent (including the
283
+ // read-only architect) operates on the same branch — idempotent, best-effort. Writers
284
+ // create it from base; read-only agents only probe (`options.create`).
285
+ ensureWorkBranch: async (repo, branch, options) => ensureWorkBranchViaRest({
286
+ ...(config.github.apiBase ? { apiBase: config.github.apiBase } : {}),
287
+ token: await registry.installationToken(repo.installationId),
288
+ owner: repo.owner,
289
+ name: repo.name,
290
+ baseBranch: repo.baseBranch,
291
+ branch,
292
+ create: options.create,
293
+ }),
294
+ sessionService: new ContainerSessionService({ secret: env.AUTH_SESSION_SECRET }),
295
+ // The subscription harnesses (Claude Code / Codex) lease a pooled token and
296
+ // attribute usage back for usage-aware rotation; absent ⇒ those harnesses are
297
+ // unavailable and a subscription-only model fails loudly at dispatch.
298
+ ...(subscriptions
299
+ ? {
300
+ leaseSubscriptionToken: (workspaceId, vendor) => subscriptions.leaseToken(workspaceId, vendor),
301
+ recordSubscriptionUsage: (workspaceId, tokenId, usage) => subscriptions.recordTokenUsage(workspaceId, tokenId, usage),
302
+ hasSubscriptionToken: (workspaceId, vendor) => subscriptions.hasToken(workspaceId, vendor),
303
+ }
304
+ : {}),
305
+ // Per-call telemetry for the subscription harnesses (proxy-bypassing), recorded
306
+ // into `llm_call_metrics` alongside the proxy-metered Pi rows.
307
+ recordHarnessCalls,
308
+ // Modeled subscription quota-cycle tracking (Part B): fold a finished subscription
309
+ // run's tokens into the rolling windows, for BOTH pooled and personal runs.
310
+ recordSubscriptionQuotaUsage: (target, usage) => subscriptionQuotaProvider.recordUsage(target, usage),
311
+ // Individual-usage harnesses (Claude) lease the run-initiator's OWN activated
312
+ // personal credential; absent ⇒ such models fail loudly at dispatch.
313
+ ...(personalSubscriptions
314
+ ? {
315
+ leasePersonalSubscriptionToken: (executionId, userId, vendor) => personalSubscriptions.leaseForRun(executionId, userId, vendor),
316
+ // Route a dual-mode individual model (GLM) to the initiator's own subscription
317
+ // when they have one; otherwise dispatch keeps it on the Cloudflare base.
318
+ hasPersonalSubscription: (userId, vendor) => personalSubscriptions.has(userId, vendor),
319
+ }
320
+ : {}),
321
+ proxyBaseUrl: `${env.WORKER_PUBLIC_URL.replace(/\/+$/, '')}/v1`,
322
+ // Point container agents' web search at the backend search proxy (no provider key in
323
+ // the sandbox), but only for a run whose account has keys (see resolver above).
324
+ ...(resolveWebSearchAvailability ? { resolveWebSearchAvailability } : {}),
325
+ // Decrypt the workspace's private-registry entries onto the job body (rendered by
326
+ // the harness into ~/.npmrc), so private dependencies resolve on install.
327
+ ...(resolvePackageRegistries ? { resolvePackageRegistries } : {}),
328
+ // Decrypt the service frame's SENSITIVE test credentials onto the tester job body (out of
329
+ // band — injected as container env vars by the harness, never in the prompt/telemetry).
330
+ ...(resolveTestSecrets ? { resolveTestSecrets } : {}),
331
+ // Resolve the credentials a registered kind's TOOL SERVER (MCP) declared, off the Worker's own
332
+ // configured vars. A deployment needing per-workspace credentials replaces this with its own
333
+ // `ToolSecretResolver`; the rest of the dispatch path is unchanged either way.
334
+ resolveToolSecrets: createEnvToolSecretResolver(env),
335
+ logger,
336
+ githubApiBase: config.github.apiBase,
337
+ // Forward container tool spans to the external trace sink(s) (Langfuse and/or OTLP)
338
+ // grouped under the run trace — the same sink the LLM proxy fans generations to.
339
+ // (Langfuse nests them as children; the OTLP exporter groups them by shared trace id.)
340
+ llmTraceSink: buildTraceSink(config),
341
+ // Record the complete provided context per dispatch (best-effort, gated in the sink).
342
+ ...(agentContextObservability ? { agentContextObservability } : {}),
343
+ agentKindRegistry,
344
+ });
345
+ }
346
+ //# sourceMappingURL=container-executor-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-executor-deps.js","sourceRoot":"","sources":["../../src/infrastructure/container-executor-deps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type ModelProviderResolver } from '@cat-factory/kernel';
2
+ import type { Env } from './env';
3
+ import type { D1Database } from '@cloudflare/workers-types';
4
+ export declare function buildModelProviderResolver(env: Env, db: D1Database): ModelProviderResolver;
5
+ /**
6
+ * The resolver every executor consults for a step's default model (block-pinned >
7
+ * the task's selected/default model preset > env routing). Backed by the D1
8
+ * model-preset repo; shared by the inline LLM executor and the container executor so
9
+ * both honour the workspace presets identically. The built-in default preset points
10
+ * every agent kind at Kimi K2.7, so an unpinned step resolves to it even before the
11
+ * preset library is materialised.
12
+ */
13
+ export declare function buildResolveWorkspaceModelDefault(db: D1Database): (workspaceId: string, agentKind: string, modelPresetId?: string) => Promise<string | undefined>;
14
+ //# sourceMappingURL=container-model-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-model-resolver.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-model-resolver.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,qBAAqB,EAAqB,MAAM,qBAAqB,CAAA;AAcnF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAShC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAgB3D,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,GAAG,qBAAqB,CA2D1F;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,UAAU,GACb,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAIjG"}