@cat-factory/worker 0.104.2 → 0.106.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.
- package/dist/infrastructure/container-assembly.js +2 -1
- package/dist/infrastructure/container-assembly.js.map +1 -1
- package/dist/infrastructure/container-trace-sinks.d.ts +22 -0
- package/dist/infrastructure/container-trace-sinks.d.ts.map +1 -0
- package/dist/infrastructure/container-trace-sinks.js +55 -0
- package/dist/infrastructure/container-trace-sinks.js.map +1 -0
- package/dist/infrastructure/container-tracker-deps.d.ts +16 -0
- package/dist/infrastructure/container-tracker-deps.d.ts.map +1 -0
- package/dist/infrastructure/container-tracker-deps.js +135 -0
- package/dist/infrastructure/container-tracker-deps.js.map +1 -0
- package/dist/infrastructure/container.d.ts +2 -12
- package/dist/infrastructure/container.d.ts.map +1 -1
- package/dist/infrastructure/container.js +5 -152
- package/dist/infrastructure/container.js.map +1 -1
- package/dist/infrastructure/repositories/D1MergeTrackRecordRepository.d.ts +27 -0
- package/dist/infrastructure/repositories/D1MergeTrackRecordRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1MergeTrackRecordRepository.js +154 -0
- package/dist/infrastructure/repositories/D1MergeTrackRecordRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ReviewQuestionPostRepository.d.ts +26 -0
- package/dist/infrastructure/repositories/D1ReviewQuestionPostRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ReviewQuestionPostRepository.js +61 -0
- package/dist/infrastructure/repositories/D1ReviewQuestionPostRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1RiskPolicyRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1RiskPolicyRepository.js +7 -3
- package/dist/infrastructure/repositories/D1RiskPolicyRepository.js.map +1 -1
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.js +6 -3
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.js.map +1 -1
- package/migrations/0061_merge_track_records.sql +61 -0
- package/migrations/0062_review_question_writeback.sql +30 -0
- package/package.json +18 -18
|
@@ -38,7 +38,8 @@ import { D1UserRepository } from './repositories/D1UserRepository';
|
|
|
38
38
|
import { D1WorkspaceMemberRepository } from './repositories/D1WorkspaceMemberRepository';
|
|
39
39
|
import { D1WorkspaceMountRepository } from './repositories/D1WorkspaceMountRepository';
|
|
40
40
|
import { D1WorkspaceRepository } from './repositories/D1WorkspaceRepository';
|
|
41
|
-
import { buildAppRegistry, buildExternalNotificationChannel, buildResolveRepoTarget, buildWorkerVcsIdentityRegistry, maybeWrapConsensus, selectAgentExecutor, selectDeployDeps, selectDocumentsDeps, selectEmailInvitationDeps, selectEnvConfigRepairer, selectEnvironmentsDeps, selectFragmentLibraryDeps, selectIncidentEnrichmentDeps, selectMergeLifecycleDeps, selectPackageRegistryDeps,
|
|
41
|
+
import { buildAppRegistry, buildExternalNotificationChannel, buildResolveRepoTarget, buildWorkerVcsIdentityRegistry, maybeWrapConsensus, selectAgentExecutor, selectDeployDeps, selectDocumentsDeps, selectEmailInvitationDeps, selectEnvConfigRepairer, selectEnvironmentsDeps, selectFragmentLibraryDeps, selectIncidentEnrichmentDeps, selectMergeLifecycleDeps, selectPackageRegistryDeps, selectReleaseHealthDeps, selectRepoBootstrapper, selectRequirementsDeps, selectRunnersDeps, selectSandboxDeps, selectSkillLibraryDeps, selectSlackDeps, selectTasksDeps, selectTraceSink, selectWorkRunner, } from './container.js';
|
|
42
|
+
import { selectRecurringDeps } from './container-tracker-deps.js';
|
|
42
43
|
import { selectGitHubDeps } from './github-deps.js';
|
|
43
44
|
/**
|
|
44
45
|
* Assemble the Worker's {@link ServerContainer} from the infra handles + registries
|
|
@@ -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,22 @@
|
|
|
1
|
+
import { type LlmTraceSink } from '@cat-factory/kernel';
|
|
2
|
+
import type { CoreDependencies } from '@cat-factory/orchestration';
|
|
3
|
+
import { type AppConfig, type LangfuseConfig, type OtelConfig } from './config';
|
|
4
|
+
/**
|
|
5
|
+
* The opt-in Langfuse trace sink. Built only when `LANGFUSE_ENABLED=true` and both keys are
|
|
6
|
+
* set. A fetch-based sink, so it runs unchanged on the Worker runtime.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildLangfuseSink(langfuse: LangfuseConfig): LlmTraceSink | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* The opt-in OpenTelemetry OTLP exporter. Built only when `OTEL_ENABLED=true` and an
|
|
11
|
+
* endpoint is set. The Worker uses the FETCH-based exporter (`createOtelSink`) so it runs
|
|
12
|
+
* on workerd; the Node facade uses the official-SDK exporter instead (both conformant).
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildOtelSink(otel: OtelConfig): LlmTraceSink | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Compose every enabled external trace destination into the single sink slot: none ⇒
|
|
17
|
+
* undefined, one ⇒ that sink, both ⇒ a fan-out. The observability service then fans every
|
|
18
|
+
* recorded LLM call (+ tool spans) out to whichever are wired.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildTraceSink(config: AppConfig): CoreDependencies['llmTraceSink'];
|
|
21
|
+
export declare function selectTraceSink(config: AppConfig): Partial<CoreDependencies>;
|
|
22
|
+
//# sourceMappingURL=container-trace-sinks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-trace-sinks.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-trace-sinks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,qBAAqB,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAW/E;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAQpF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAElF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAG5E"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createLangfuseSink } from '@cat-factory/observability-langfuse';
|
|
2
|
+
import { createOtelSink } from '@cat-factory/observability-otel';
|
|
3
|
+
import { composeTraceSinks } from '@cat-factory/kernel';
|
|
4
|
+
import { logger } from '@cat-factory/server';
|
|
5
|
+
import {} from './config';
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// External LLM-TRACE DESTINATIONS for the Worker facade — one cohesive concern lifted out
|
|
8
|
+
// of `container.ts` (which is at its size ratchet), following the same convention as
|
|
9
|
+
// `container-assembly.ts` / `container-registries.ts` / `github-deps.ts`.
|
|
10
|
+
//
|
|
11
|
+
// Both sinks are fetch-based so they run unchanged on workerd; both are opt-in, so a
|
|
12
|
+
// deployment that configures neither leaves the slot empty.
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* The opt-in Langfuse trace sink. Built only when `LANGFUSE_ENABLED=true` and both keys are
|
|
16
|
+
* set. A fetch-based sink, so it runs unchanged on the Worker runtime.
|
|
17
|
+
*/
|
|
18
|
+
export function buildLangfuseSink(langfuse) {
|
|
19
|
+
if (!langfuse.enabled || !langfuse.publicKey || !langfuse.secretKey)
|
|
20
|
+
return undefined;
|
|
21
|
+
return createLangfuseSink({
|
|
22
|
+
publicKey: langfuse.publicKey,
|
|
23
|
+
secretKey: langfuse.secretKey,
|
|
24
|
+
baseUrl: langfuse.baseUrl,
|
|
25
|
+
logger,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The opt-in OpenTelemetry OTLP exporter. Built only when `OTEL_ENABLED=true` and an
|
|
30
|
+
* endpoint is set. The Worker uses the FETCH-based exporter (`createOtelSink`) so it runs
|
|
31
|
+
* on workerd; the Node facade uses the official-SDK exporter instead (both conformant).
|
|
32
|
+
*/
|
|
33
|
+
export function buildOtelSink(otel) {
|
|
34
|
+
if (!otel.enabled || !otel.endpoint)
|
|
35
|
+
return undefined;
|
|
36
|
+
return createOtelSink({
|
|
37
|
+
endpoint: otel.endpoint,
|
|
38
|
+
headers: otel.headers,
|
|
39
|
+
serviceName: otel.serviceName,
|
|
40
|
+
logger,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Compose every enabled external trace destination into the single sink slot: none ⇒
|
|
45
|
+
* undefined, one ⇒ that sink, both ⇒ a fan-out. The observability service then fans every
|
|
46
|
+
* recorded LLM call (+ tool spans) out to whichever are wired.
|
|
47
|
+
*/
|
|
48
|
+
export function buildTraceSink(config) {
|
|
49
|
+
return composeTraceSinks([buildLangfuseSink(config.langfuse), buildOtelSink(config.otel)]);
|
|
50
|
+
}
|
|
51
|
+
export function selectTraceSink(config) {
|
|
52
|
+
const sink = buildTraceSink(config);
|
|
53
|
+
return sink ? { llmTraceSink: sink } : {};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=container-trace-sinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-trace-sinks.js","sourceRoot":"","sources":["../../src/infrastructure/container-trace-sinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAqB,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAwD,MAAM,UAAU,CAAA;AAE/E,8EAA8E;AAC9E,0FAA0F;AAC1F,qFAAqF;AACrF,0EAA0E;AAC1E,EAAE;AACF,qFAAqF;AACrF,4DAA4D;AAC5D,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IACrF,OAAO,kBAAkB,CAAC;QACxB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM;KACP,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IACrD,OAAO,cAAc,CAAC;QACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM;KACP,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC9C,OAAO,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACnC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { D1Database } from '@cloudflare/workers-types';
|
|
2
|
+
import type { Clock, IdGenerator } from '@cat-factory/kernel';
|
|
3
|
+
import type { CoreDependencies } from '@cat-factory/orchestration';
|
|
4
|
+
import { type AppConfig } from '@cat-factory/server';
|
|
5
|
+
import type { Env } from './env.js';
|
|
6
|
+
/**
|
|
7
|
+
* Wire the recurring-pipeline + issue-tracker ports. The schedule + tracker-setting
|
|
8
|
+
* repositories are always available (the feature is workspace-scoped CRUD); the
|
|
9
|
+
* `ticketTrackerProvider` files the tech-debt pipeline's issue and degrades
|
|
10
|
+
* gracefully — it files GitHub issues only when the App is configured (so it can
|
|
11
|
+
* resolve the service's repo + mint a token) and Jira only when the tasks
|
|
12
|
+
* integration's encryption key is set (so it can read the workspace's stored Jira
|
|
13
|
+
* credentials). With neither, the `tracker` step passes through.
|
|
14
|
+
*/
|
|
15
|
+
export declare function selectRecurringDeps(env: Env, config: AppConfig, db: D1Database, clock: Clock, idGenerator: IdGenerator): Partial<CoreDependencies>;
|
|
16
|
+
//# sourceMappingURL=container-tracker-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-tracker-deps.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-tracker-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,qBAAqB,CAAA;AAM9F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAiBnC;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAuH3B"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { FetchGitHubClient, WebCryptoSecretCipher } from '@cat-factory/server';
|
|
2
|
+
import { IssueWritebackService, TicketTrackerService, githubIssuesLogic, } from '@cat-factory/integrations';
|
|
3
|
+
import { buildAppRegistry, buildResolveRepoTarget } from './container.js';
|
|
4
|
+
import { D1GitHubInstallationRepository } from './repositories/D1GitHubInstallationRepository.js';
|
|
5
|
+
import { D1PipelineScheduleRepository } from './repositories/D1PipelineScheduleRepository.js';
|
|
6
|
+
import { D1RateLimitRepository } from './repositories/D1RateLimitRepository.js';
|
|
7
|
+
import { D1ReviewQuestionPostRepository } from './repositories/D1ReviewQuestionPostRepository.js';
|
|
8
|
+
import { D1TaskConnectionRepository } from './repositories/D1TaskConnectionRepository.js';
|
|
9
|
+
import { D1TaskRepository } from './repositories/D1TaskRepository.js';
|
|
10
|
+
import { D1TrackerSettingsRepository } from './repositories/D1TrackerSettingsRepository.js';
|
|
11
|
+
// The recurring-pipeline + issue-tracker slice of the Worker composition root, lifted out of
|
|
12
|
+
// `container.ts` for the per-file line budget in the same shape as the Node facade's
|
|
13
|
+
// `container-github-deps.ts`. It is one cohesive concern: the tech-debt pipeline's ticket
|
|
14
|
+
// FILING and the task-linked-issue WRITEBACK share every credential seam (the App-authenticated
|
|
15
|
+
// GitHub client, the workspace's stored Jira/Linear connections), so they are wired together or
|
|
16
|
+
// not at all. Behaviour-neutral relative to the inline version.
|
|
17
|
+
/**
|
|
18
|
+
* Wire the recurring-pipeline + issue-tracker ports. The schedule + tracker-setting
|
|
19
|
+
* repositories are always available (the feature is workspace-scoped CRUD); the
|
|
20
|
+
* `ticketTrackerProvider` files the tech-debt pipeline's issue and degrades
|
|
21
|
+
* gracefully — it files GitHub issues only when the App is configured (so it can
|
|
22
|
+
* resolve the service's repo + mint a token) and Jira only when the tasks
|
|
23
|
+
* integration's encryption key is set (so it can read the workspace's stored Jira
|
|
24
|
+
* credentials). With neither, the `tracker` step passes through.
|
|
25
|
+
*/
|
|
26
|
+
export function selectRecurringDeps(env, config, db, clock, idGenerator) {
|
|
27
|
+
const trackerDeps = {
|
|
28
|
+
trackerSettingsRepository: new D1TrackerSettingsRepository({ db }),
|
|
29
|
+
// workerd exposes a global fetch; the Jira create call uses it.
|
|
30
|
+
fetchImpl: fetch,
|
|
31
|
+
};
|
|
32
|
+
// Writeback (comment-on-PR-open + close-on-merge of a task's linked issue) shares
|
|
33
|
+
// the same GitHub client + Jira connection seams as the filing tracker above.
|
|
34
|
+
const writebackDeps = {
|
|
35
|
+
trackerSettingsRepository: new D1TrackerSettingsRepository({ db }),
|
|
36
|
+
taskRepository: new D1TaskRepository({ db }),
|
|
37
|
+
fetchImpl: fetch,
|
|
38
|
+
// Idempotency markers for the headless clarification loop's question echo — without them
|
|
39
|
+
// the writeback passes through, since a replaying driver would otherwise re-post.
|
|
40
|
+
reviewQuestionPostRepository: new D1ReviewQuestionPostRepository({ db }),
|
|
41
|
+
clock,
|
|
42
|
+
};
|
|
43
|
+
// GitHub issues: file through the App-authenticated client against the service's
|
|
44
|
+
// linked repo (resolved from the github_repos projection). Only when the App is configured.
|
|
45
|
+
if (config.github.enabled && env.GITHUB_APP_PRIVATE_KEY) {
|
|
46
|
+
const registry = buildAppRegistry(env, config, db, clock);
|
|
47
|
+
const githubClient = new FetchGitHubClient({
|
|
48
|
+
registry,
|
|
49
|
+
rateLimitRepository: new D1RateLimitRepository({ db, idGenerator }),
|
|
50
|
+
idGenerator,
|
|
51
|
+
clock,
|
|
52
|
+
apiBase: config.github.apiBase,
|
|
53
|
+
});
|
|
54
|
+
const resolveRepoTarget = buildResolveRepoTarget(db);
|
|
55
|
+
trackerDeps.fileGitHubIssue = async (request) => {
|
|
56
|
+
const repo = await resolveRepoTarget(request.workspaceId, request.frameId);
|
|
57
|
+
if (!repo)
|
|
58
|
+
return null;
|
|
59
|
+
const issue = await githubClient.createIssue(repo.installationId, { owner: repo.owner, repo: repo.name }, { title: request.title, body: request.body });
|
|
60
|
+
return { externalId: `${repo.owner}/${repo.name}#${issue.number}`, url: issue.url };
|
|
61
|
+
};
|
|
62
|
+
// Writeback resolves the workspace's single installation, then comments/closes the
|
|
63
|
+
// issue named by its `owner/repo#number` external id.
|
|
64
|
+
const installationRepository = new D1GitHubInstallationRepository({ db });
|
|
65
|
+
const resolveIssue = async (workspaceId, externalId) => {
|
|
66
|
+
const parsed = githubIssuesLogic.parseGitHubIssueExternalId(externalId);
|
|
67
|
+
if (!parsed)
|
|
68
|
+
return null;
|
|
69
|
+
const installation = await installationRepository.getByWorkspace(workspaceId);
|
|
70
|
+
if (!installation)
|
|
71
|
+
return null;
|
|
72
|
+
return { installationId: installation.installationId, parsed };
|
|
73
|
+
};
|
|
74
|
+
/** As {@link resolveIssue}, for the writeback that must not mistake "unresolved" for "done". */
|
|
75
|
+
const requireIssue = async (workspaceId, externalId) => {
|
|
76
|
+
const target = await resolveIssue(workspaceId, externalId);
|
|
77
|
+
if (!target)
|
|
78
|
+
throw new Error(`Cannot resolve GitHub issue ${externalId} for this workspace`);
|
|
79
|
+
return target;
|
|
80
|
+
};
|
|
81
|
+
writebackDeps.commentOnGitHubIssue = async (workspaceId, externalId, body) => {
|
|
82
|
+
// An unresolvable target THROWS rather than returning quietly: returning is this seam's
|
|
83
|
+
// promise that the comment landed, and the parked-review writeback would otherwise mark
|
|
84
|
+
// the questions `posted` for an issue that never received them (see the seam docs).
|
|
85
|
+
const target = await requireIssue(workspaceId, externalId);
|
|
86
|
+
await githubClient.comment(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, body);
|
|
87
|
+
};
|
|
88
|
+
writebackDeps.closeGitHubIssue = async (workspaceId, externalId) => {
|
|
89
|
+
const target = await resolveIssue(workspaceId, externalId);
|
|
90
|
+
if (!target)
|
|
91
|
+
return;
|
|
92
|
+
await githubClient.closeIssue(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number);
|
|
93
|
+
};
|
|
94
|
+
writebackDeps.labelGitHubIssue = async (workspaceId, externalId, label) => {
|
|
95
|
+
const target = await resolveIssue(workspaceId, externalId);
|
|
96
|
+
if (!target)
|
|
97
|
+
return;
|
|
98
|
+
await githubClient.applyIssueLabel?.(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, label);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// Jira: read the workspace's stored connection credentials (when the tasks
|
|
102
|
+
// integration's encryption key is configured).
|
|
103
|
+
if (config.tasks.encryptionKey) {
|
|
104
|
+
const taskConnectionRepository = new D1TaskConnectionRepository({
|
|
105
|
+
db,
|
|
106
|
+
cipher: new WebCryptoSecretCipher({
|
|
107
|
+
masterKeyBase64: config.tasks.encryptionKey,
|
|
108
|
+
info: 'cat-factory:tasks',
|
|
109
|
+
}),
|
|
110
|
+
});
|
|
111
|
+
const resolveJiraConnection = async (workspaceId) => {
|
|
112
|
+
const connection = await taskConnectionRepository.getByWorkspace(workspaceId, 'jira');
|
|
113
|
+
const { baseUrl, accountEmail, apiToken } = connection?.credentials ?? {};
|
|
114
|
+
if (!baseUrl || !accountEmail || !apiToken)
|
|
115
|
+
return null;
|
|
116
|
+
return { baseUrl, accountEmail, apiToken };
|
|
117
|
+
};
|
|
118
|
+
trackerDeps.resolveJiraConnection = resolveJiraConnection;
|
|
119
|
+
writebackDeps.resolveJiraConnection = resolveJiraConnection;
|
|
120
|
+
const resolveLinearConnection = async (workspaceId) => {
|
|
121
|
+
const connection = await taskConnectionRepository.getByWorkspace(workspaceId, 'linear');
|
|
122
|
+
const { apiKey, token } = connection?.credentials ?? {};
|
|
123
|
+
return apiKey || token ? { apiKey, token } : null;
|
|
124
|
+
};
|
|
125
|
+
trackerDeps.resolveLinearConnection = resolveLinearConnection;
|
|
126
|
+
writebackDeps.resolveLinearConnection = resolveLinearConnection;
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
pipelineScheduleRepository: new D1PipelineScheduleRepository({ db }),
|
|
130
|
+
trackerSettingsRepository: new D1TrackerSettingsRepository({ db }),
|
|
131
|
+
ticketTrackerProvider: new TicketTrackerService(trackerDeps),
|
|
132
|
+
issueWritebackProvider: new IssueWritebackService(writebackDeps),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=container-tracker-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-tracker-deps.js","sourceRoot":"","sources":["../../src/infrastructure/container-tracker-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type AgentContextRecorder, type AgentExecutor, type Clock, type ExecutionEventPublisher, type IdGenerator, type NotificationChannel, type ResolveBinaryArtifactStore, type VcsIdentityRegistry, type WorkRunner, type ProviderRegistry } from '@cat-factory/kernel';
|
|
2
2
|
import { type AgentKindRegistry } from '@cat-factory/agents';
|
|
3
3
|
import { type EnvironmentBackendRegistry, PersonalSubscriptionService, ProviderSubscriptionService } from '@cat-factory/integrations';
|
|
4
|
+
import { selectTraceSink } from './container-trace-sinks.js';
|
|
5
|
+
export { selectTraceSink };
|
|
4
6
|
import { type CoreDependencies } from '@cat-factory/orchestration';
|
|
5
7
|
import { ContainerEnvConfigRepairer, type ServerContainer } from '@cat-factory/server';
|
|
6
8
|
import { type AppConfig } from './config';
|
|
@@ -163,17 +165,6 @@ export declare function selectSlackDeps(config: AppConfig, db: D1Database): Part
|
|
|
163
165
|
* an account can onboard a SendGrid/Resend key in the UI and have invites emailed.
|
|
164
166
|
*/
|
|
165
167
|
export declare function selectEmailInvitationDeps(config: AppConfig, db: D1Database): Partial<CoreDependencies>;
|
|
166
|
-
export declare function selectTraceSink(config: AppConfig): Partial<CoreDependencies>;
|
|
167
|
-
/**
|
|
168
|
-
* Wire the recurring-pipeline + issue-tracker ports. The schedule + tracker-setting
|
|
169
|
-
* repositories are always available (the feature is workspace-scoped CRUD); the
|
|
170
|
-
* `ticketTrackerProvider` files the tech-debt pipeline's issue and degrades
|
|
171
|
-
* gracefully — it files GitHub issues only when the App is configured (so it can
|
|
172
|
-
* resolve the service's repo + mint a token) and Jira only when the tasks
|
|
173
|
-
* integration's encryption key is set (so it can read the workspace's stored Jira
|
|
174
|
-
* credentials). With neither, the `tracker` step passes through.
|
|
175
|
-
*/
|
|
176
|
-
export declare function selectRecurringDeps(env: Env, config: AppConfig, db: D1Database, clock: Clock, idGenerator: IdGenerator): Partial<CoreDependencies>;
|
|
177
168
|
/**
|
|
178
169
|
* Pick how runs are driven:
|
|
179
170
|
* - a Workflows binding present → durable, server-driven execution
|
|
@@ -306,5 +297,4 @@ export declare function buildContainer(env: Env, overrides?: Partial<CoreDepende
|
|
|
306
297
|
cloudflareModelsEnabled?: boolean;
|
|
307
298
|
gateProviders?: GateProviderOverrides;
|
|
308
299
|
}): Container;
|
|
309
|
-
export {};
|
|
310
300
|
//# sourceMappingURL=container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,KAAK,EAIV,KAAK,uBAAuB,EAI5B,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CompositeNotificationChannel, composeTraceSinks, NoopWorkRunner, } from '@cat-factory/kernel';
|
|
2
2
|
import { AiAgentExecutor, inlineWebSearchOptionsFromEnv, resolveAgentConfig, isProxyableProvider, vendorConcurrencyLimiterFromEnv, } from '@cat-factory/agents';
|
|
3
3
|
import { cloudflareBindingRegistry } from '@cat-factory/provider-cloudflare';
|
|
4
|
-
import { ConfluenceProvider, FigmaProvider, ZeplinProvider, GitHubDocsProvider, GitHubIssuesProvider, JiraProvider, LinearDocumentProvider, LinearTaskProvider, NotionProvider, EMAIL_CIPHER_INFO, PersonalSubscriptionService, ProviderSubscriptionService, RunnerPoolConnectionService, ProvisioningLogRecorder, LoggingRunnerTransport, SLACK_CIPHER_INFO, NOTIFICATION_WEBHOOK_CIPHER_INFO, SlackNotificationChannel, buildNotificationWebhookSupport,
|
|
4
|
+
import { ConfluenceProvider, FigmaProvider, ZeplinProvider, GitHubDocsProvider, GitHubIssuesProvider, JiraProvider, LinearDocumentProvider, LinearTaskProvider, NotionProvider, EMAIL_CIPHER_INFO, PersonalSubscriptionService, ProviderSubscriptionService, RunnerPoolConnectionService, ProvisioningLogRecorder, LoggingRunnerTransport, SLACK_CIPHER_INFO, NOTIFICATION_WEBHOOK_CIPHER_INFO, SlackNotificationChannel, buildNotificationWebhookSupport, OBSERVABILITY_CIPHER_INFO, RegistryReleaseHealthProvider, defaultObservabilityRegistry, RegistrySubscriptionQuotaProvider, defaultSubscriptionQuotaRegistry, WorkspaceIncidentEnrichmentProvider, INCIDENT_ENRICHMENT_CIPHER_INFO, AccountSettingsService, ACCOUNT_SETTINGS_CIPHER_INFO, createEmailSender, } from '@cat-factory/integrations';
|
|
5
5
|
// Opt-in AWS EKS backends (runner + environment), registered by reference on BOTH facades so
|
|
6
6
|
// the runtimes stay symmetric with the native `kubernetes` backend they extend (which likewise
|
|
7
7
|
// rides both). They are pass-throughs until a workspace connects an `eks` backend, and carry NO
|
|
@@ -10,11 +10,11 @@ import { ConfluenceProvider, FigmaProvider, ZeplinProvider, GitHubDocsProvider,
|
|
|
10
10
|
// custom CA (Node/local) — exactly like a private-CA `kubernetes` connection — so on the Worker
|
|
11
11
|
// the kind is offered but a connection to such a cluster fails TLS at run time, not silently.
|
|
12
12
|
import { resolveWorkerRegistries } from './container-registries.js';
|
|
13
|
+
import { buildLangfuseSink, buildOtelSink, buildTraceSink, selectTraceSink, } from './container-trace-sinks.js';
|
|
14
|
+
export { selectTraceSink };
|
|
13
15
|
import { assembleWorkerContainer } from './container-assembly.js';
|
|
14
16
|
import { AgentContextObservabilityService, SearchQueryObservabilityService, PACKAGE_REGISTRY_CIPHER_INFO, resolvePackageRegistriesForDispatch, LlmObservabilityService, makeHarnessCallRecorder, resolvePresetModelForKind, } from '@cat-factory/orchestration';
|
|
15
17
|
import { ISOLATE_SAFE_APP_CACHES_PROFILE, createAppCaches } from '@cat-factory/caching';
|
|
16
|
-
import { createLangfuseSink } from '@cat-factory/observability-langfuse';
|
|
17
|
-
import { createOtelSink } from '@cat-factory/observability-otel';
|
|
18
18
|
import { buildResolveRepoTarget as buildSharedResolveRepoTarget, buildResolveRepoTargets as buildSharedResolveRepoTargets, ContainerEnvConfigRepairer, makeResolveDeployCloneTarget, RunnerJobClient, makeResolveBinaryArtifactStore, ensureWorkBranchViaRest, FanOutEventPublisher, InAppNotificationChannel, PatPreferringAppRegistry, logger, buildInfrastructureCapabilities, createDefaultWebSearchUpstream, createWebSearchUpstream, createScopedModelProviderResolver, wrapResolverWithLimiter, ENV_HELP, configProblem, GitHubIdentityResolver, resolveUrlSafetyPolicy, noRunnerBackendAvailableError, } from '@cat-factory/server';
|
|
19
19
|
import { loadConfig } from './config';
|
|
20
20
|
import { loadLangfuseConfig } from './config/langfuse';
|
|
@@ -68,6 +68,7 @@ import { D1ClarityReviewRepository } from './repositories/D1ClarityReviewReposit
|
|
|
68
68
|
import { D1BrainstormSessionRepository } from './repositories/D1BrainstormSessionRepository';
|
|
69
69
|
import { D1NotificationRepository } from './repositories/D1NotificationRepository';
|
|
70
70
|
import { D1InitiativeRepository } from './repositories/D1InitiativeRepository';
|
|
71
|
+
import { D1MergeTrackRecordRepository } from './repositories/D1MergeTrackRecordRepository';
|
|
71
72
|
import { D1RiskPolicyRepository } from './repositories/D1RiskPolicyRepository';
|
|
72
73
|
import { D1SharedStackRepository } from './repositories/D1SharedStackRepository';
|
|
73
74
|
import { D1SandboxPromptVersionRepository, D1SandboxFixtureRepository, D1SandboxExperimentRepository, D1SandboxRunRepository, D1SandboxGradeRepository, } from './repositories/D1SandboxRepositories';
|
|
@@ -79,8 +80,6 @@ import { D1PackageRegistryConnectionRepository } from './repositories/D1PackageR
|
|
|
79
80
|
import { D1IncidentEnrichmentConnectionRepository } from './repositories/D1IncidentEnrichmentConnectionRepository';
|
|
80
81
|
import { D1AccountSettingsRepository } from './repositories/D1AccountSettingsRepository';
|
|
81
82
|
import { D1ReleaseHealthConfigRepository } from './repositories/D1ReleaseHealthConfigRepository';
|
|
82
|
-
import { D1PipelineScheduleRepository } from './repositories/D1PipelineScheduleRepository';
|
|
83
|
-
import { D1TrackerSettingsRepository } from './repositories/D1TrackerSettingsRepository';
|
|
84
83
|
import { D1ModelPresetRepository } from './repositories/D1ModelPresetRepository';
|
|
85
84
|
import { D1ServiceFragmentDefaultsRepository } from './repositories/D1ServiceFragmentDefaultsRepository';
|
|
86
85
|
// The built-in polling-gate suite (ci / conflicts / post-release-health + on-call). The facade
|
|
@@ -415,6 +414,7 @@ export function selectMergeLifecycleDeps(input) {
|
|
|
415
414
|
const deps = {
|
|
416
415
|
notificationRepository: new D1NotificationRepository({ db }),
|
|
417
416
|
riskPolicyRepository: new D1RiskPolicyRepository({ db }),
|
|
417
|
+
mergeTrackRecordRepository: new D1MergeTrackRecordRepository({ db }),
|
|
418
418
|
// Shared stacks (long-lived compose infra a consumer environment attaches to). CRUD +
|
|
419
419
|
// persistence are runtime-symmetric; the Worker never brings a stack UP (no host daemon),
|
|
420
420
|
// so no `composeRuntime` is wired here — the lifecycle endpoints report "not supported".
|
|
@@ -797,153 +797,6 @@ function buildSystemEmailSender(config) {
|
|
|
797
797
|
return undefined;
|
|
798
798
|
return async () => sender;
|
|
799
799
|
}
|
|
800
|
-
/**
|
|
801
|
-
* The opt-in Langfuse trace sink. Built only when `LANGFUSE_ENABLED=true` and both keys are
|
|
802
|
-
* set. A fetch-based sink, so it runs unchanged on the Worker runtime.
|
|
803
|
-
*/
|
|
804
|
-
function buildLangfuseSink(langfuse) {
|
|
805
|
-
if (!langfuse.enabled || !langfuse.publicKey || !langfuse.secretKey)
|
|
806
|
-
return undefined;
|
|
807
|
-
return createLangfuseSink({
|
|
808
|
-
publicKey: langfuse.publicKey,
|
|
809
|
-
secretKey: langfuse.secretKey,
|
|
810
|
-
baseUrl: langfuse.baseUrl,
|
|
811
|
-
logger,
|
|
812
|
-
});
|
|
813
|
-
}
|
|
814
|
-
/**
|
|
815
|
-
* The opt-in OpenTelemetry OTLP exporter. Built only when `OTEL_ENABLED=true` and an
|
|
816
|
-
* endpoint is set. The Worker uses the FETCH-based exporter (`createOtelSink`) so it runs
|
|
817
|
-
* on workerd; the Node facade uses the official-SDK exporter instead (both conformant).
|
|
818
|
-
*/
|
|
819
|
-
function buildOtelSink(otel) {
|
|
820
|
-
if (!otel.enabled || !otel.endpoint)
|
|
821
|
-
return undefined;
|
|
822
|
-
return createOtelSink({
|
|
823
|
-
endpoint: otel.endpoint,
|
|
824
|
-
headers: otel.headers,
|
|
825
|
-
serviceName: otel.serviceName,
|
|
826
|
-
logger,
|
|
827
|
-
});
|
|
828
|
-
}
|
|
829
|
-
/**
|
|
830
|
-
* Compose every enabled external trace destination into the single sink slot: none ⇒
|
|
831
|
-
* undefined, one ⇒ that sink, both ⇒ a fan-out. The observability service then fans every
|
|
832
|
-
* recorded LLM call (+ tool spans) out to whichever are wired.
|
|
833
|
-
*/
|
|
834
|
-
function buildTraceSink(config) {
|
|
835
|
-
return composeTraceSinks([buildLangfuseSink(config.langfuse), buildOtelSink(config.otel)]);
|
|
836
|
-
}
|
|
837
|
-
export function selectTraceSink(config) {
|
|
838
|
-
const sink = buildTraceSink(config);
|
|
839
|
-
return sink ? { llmTraceSink: sink } : {};
|
|
840
|
-
}
|
|
841
|
-
/**
|
|
842
|
-
* Wire the recurring-pipeline + issue-tracker ports. The schedule + tracker-setting
|
|
843
|
-
* repositories are always available (the feature is workspace-scoped CRUD); the
|
|
844
|
-
* `ticketTrackerProvider` files the tech-debt pipeline's issue and degrades
|
|
845
|
-
* gracefully — it files GitHub issues only when the App is configured (so it can
|
|
846
|
-
* resolve the service's repo + mint a token) and Jira only when the tasks
|
|
847
|
-
* integration's encryption key is set (so it can read the workspace's stored Jira
|
|
848
|
-
* credentials). With neither, the `tracker` step passes through.
|
|
849
|
-
*/
|
|
850
|
-
export function selectRecurringDeps(env, config, db, clock, idGenerator) {
|
|
851
|
-
const trackerDeps = {
|
|
852
|
-
trackerSettingsRepository: new D1TrackerSettingsRepository({ db }),
|
|
853
|
-
// workerd exposes a global fetch; the Jira create call uses it.
|
|
854
|
-
fetchImpl: fetch,
|
|
855
|
-
};
|
|
856
|
-
// Writeback (comment-on-PR-open + close-on-merge of a task's linked issue) shares
|
|
857
|
-
// the same GitHub client + Jira connection seams as the filing tracker above.
|
|
858
|
-
const writebackDeps = {
|
|
859
|
-
trackerSettingsRepository: new D1TrackerSettingsRepository({ db }),
|
|
860
|
-
taskRepository: new D1TaskRepository({ db }),
|
|
861
|
-
fetchImpl: fetch,
|
|
862
|
-
};
|
|
863
|
-
// GitHub issues: file through the App-authenticated client against the service's
|
|
864
|
-
// linked repo (resolved from the github_repos projection). Only when the App is configured.
|
|
865
|
-
if (config.github.enabled && env.GITHUB_APP_PRIVATE_KEY) {
|
|
866
|
-
const registry = buildAppRegistry(env, config, db, clock);
|
|
867
|
-
const githubClient = new FetchGitHubClient({
|
|
868
|
-
registry,
|
|
869
|
-
rateLimitRepository: new D1RateLimitRepository({ db, idGenerator }),
|
|
870
|
-
idGenerator,
|
|
871
|
-
clock,
|
|
872
|
-
apiBase: config.github.apiBase,
|
|
873
|
-
});
|
|
874
|
-
const resolveRepoTarget = buildResolveRepoTarget(db);
|
|
875
|
-
trackerDeps.fileGitHubIssue = async (request) => {
|
|
876
|
-
const repo = await resolveRepoTarget(request.workspaceId, request.frameId);
|
|
877
|
-
if (!repo)
|
|
878
|
-
return null;
|
|
879
|
-
const issue = await githubClient.createIssue(repo.installationId, { owner: repo.owner, repo: repo.name }, { title: request.title, body: request.body });
|
|
880
|
-
return { externalId: `${repo.owner}/${repo.name}#${issue.number}`, url: issue.url };
|
|
881
|
-
};
|
|
882
|
-
// Writeback resolves the workspace's single installation, then comments/closes the
|
|
883
|
-
// issue named by its `owner/repo#number` external id.
|
|
884
|
-
const installationRepository = new D1GitHubInstallationRepository({ db });
|
|
885
|
-
const resolveIssue = async (workspaceId, externalId) => {
|
|
886
|
-
const parsed = githubIssuesLogic.parseGitHubIssueExternalId(externalId);
|
|
887
|
-
if (!parsed)
|
|
888
|
-
return null;
|
|
889
|
-
const installation = await installationRepository.getByWorkspace(workspaceId);
|
|
890
|
-
if (!installation)
|
|
891
|
-
return null;
|
|
892
|
-
return { installationId: installation.installationId, parsed };
|
|
893
|
-
};
|
|
894
|
-
writebackDeps.commentOnGitHubIssue = async (workspaceId, externalId, body) => {
|
|
895
|
-
const target = await resolveIssue(workspaceId, externalId);
|
|
896
|
-
if (!target)
|
|
897
|
-
return;
|
|
898
|
-
await githubClient.comment(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, body);
|
|
899
|
-
};
|
|
900
|
-
writebackDeps.closeGitHubIssue = async (workspaceId, externalId) => {
|
|
901
|
-
const target = await resolveIssue(workspaceId, externalId);
|
|
902
|
-
if (!target)
|
|
903
|
-
return;
|
|
904
|
-
await githubClient.closeIssue(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number);
|
|
905
|
-
};
|
|
906
|
-
writebackDeps.labelGitHubIssue = async (workspaceId, externalId, label) => {
|
|
907
|
-
const target = await resolveIssue(workspaceId, externalId);
|
|
908
|
-
if (!target)
|
|
909
|
-
return;
|
|
910
|
-
await githubClient.applyIssueLabel?.(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, label);
|
|
911
|
-
};
|
|
912
|
-
}
|
|
913
|
-
// Jira: read the workspace's stored connection credentials (when the tasks
|
|
914
|
-
// integration's encryption key is configured).
|
|
915
|
-
if (config.tasks.encryptionKey) {
|
|
916
|
-
const taskConnectionRepository = new D1TaskConnectionRepository({
|
|
917
|
-
db,
|
|
918
|
-
cipher: new WebCryptoSecretCipher({
|
|
919
|
-
masterKeyBase64: config.tasks.encryptionKey,
|
|
920
|
-
info: 'cat-factory:tasks',
|
|
921
|
-
}),
|
|
922
|
-
});
|
|
923
|
-
const resolveJiraConnection = async (workspaceId) => {
|
|
924
|
-
const connection = await taskConnectionRepository.getByWorkspace(workspaceId, 'jira');
|
|
925
|
-
const { baseUrl, accountEmail, apiToken } = connection?.credentials ?? {};
|
|
926
|
-
if (!baseUrl || !accountEmail || !apiToken)
|
|
927
|
-
return null;
|
|
928
|
-
return { baseUrl, accountEmail, apiToken };
|
|
929
|
-
};
|
|
930
|
-
trackerDeps.resolveJiraConnection = resolveJiraConnection;
|
|
931
|
-
writebackDeps.resolveJiraConnection = resolveJiraConnection;
|
|
932
|
-
const resolveLinearConnection = async (workspaceId) => {
|
|
933
|
-
const connection = await taskConnectionRepository.getByWorkspace(workspaceId, 'linear');
|
|
934
|
-
const { apiKey, token } = connection?.credentials ?? {};
|
|
935
|
-
return apiKey || token ? { apiKey, token } : null;
|
|
936
|
-
};
|
|
937
|
-
trackerDeps.resolveLinearConnection = resolveLinearConnection;
|
|
938
|
-
writebackDeps.resolveLinearConnection = resolveLinearConnection;
|
|
939
|
-
}
|
|
940
|
-
return {
|
|
941
|
-
pipelineScheduleRepository: new D1PipelineScheduleRepository({ db }),
|
|
942
|
-
trackerSettingsRepository: new D1TrackerSettingsRepository({ db }),
|
|
943
|
-
ticketTrackerProvider: new TicketTrackerService(trackerDeps),
|
|
944
|
-
issueWritebackProvider: new IssueWritebackService(writebackDeps),
|
|
945
|
-
};
|
|
946
|
-
}
|
|
947
800
|
// The deployment-wide trusted web-search upstream for CONTAINER agents, built from this
|
|
948
801
|
// facade's own `WEB_SEARCH_*` env — the fallback the search proxy uses when a run's account
|
|
949
802
|
// configured none of its own (see `createDefaultWebSearchUpstream` in @cat-factory/server).
|