@cat-factory/server 0.194.0 → 0.196.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/agents/ContainerAgentExecutor.d.ts +29 -5
- package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
- package/dist/agents/ContainerAgentExecutor.js +44 -21
- package/dist/agents/ContainerAgentExecutor.js.map +1 -1
- package/dist/agents/agentContextRecord.d.ts.map +1 -1
- package/dist/agents/agentContextRecord.js +14 -0
- package/dist/agents/agentContextRecord.js.map +1 -1
- package/dist/agents/binaryGenerators.d.ts +34 -0
- package/dist/agents/binaryGenerators.d.ts.map +1 -0
- package/dist/agents/binaryGenerators.js +66 -0
- package/dist/agents/binaryGenerators.js.map +1 -0
- package/dist/agents/containerAgentBody.d.ts +2 -0
- package/dist/agents/containerAgentBody.d.ts.map +1 -1
- package/dist/agents/containerAgentBody.js +8 -1
- package/dist/agents/containerAgentBody.js.map +1 -1
- package/dist/agents/containerAgentLogging.d.ts +4 -3
- package/dist/agents/containerAgentLogging.d.ts.map +1 -1
- package/dist/agents/containerAgentLogging.js +33 -7
- package/dist/agents/containerAgentLogging.js.map +1 -1
- package/dist/agents/toolServers.d.ts +19 -2
- package/dist/agents/toolServers.d.ts.map +1 -1
- package/dist/agents/toolServers.js +1 -1
- package/dist/agents/toolServers.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +8 -0
- package/dist/app.js.map +1 -1
- package/dist/config/platformAlerts.d.ts +4 -0
- package/dist/config/platformAlerts.d.ts.map +1 -1
- package/dist/config/platformAlerts.js +12 -0
- package/dist/config/platformAlerts.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/binaryGenerators/BinaryGeneratorsController.d.ts +48 -0
- package/dist/modules/binaryGenerators/BinaryGeneratorsController.d.ts.map +1 -0
- package/dist/modules/binaryGenerators/BinaryGeneratorsController.js +88 -0
- package/dist/modules/binaryGenerators/BinaryGeneratorsController.js.map +1 -0
- package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.js +97 -26
- package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
- package/dist/observability/operationalMetrics.d.ts +9 -0
- package/dist/observability/operationalMetrics.d.ts.map +1 -0
- package/dist/observability/operationalMetrics.js +31 -0
- package/dist/observability/operationalMetrics.js.map +1 -0
- package/dist/observability/sweepHealth.d.ts +44 -0
- package/dist/observability/sweepHealth.d.ts.map +1 -0
- package/dist/observability/sweepHealth.js +36 -0
- package/dist/observability/sweepHealth.js.map +1 -0
- package/dist/persistence/binaryGenerators.d.ts +56 -0
- package/dist/persistence/binaryGenerators.d.ts.map +1 -0
- package/dist/persistence/binaryGenerators.js +151 -0
- package/dist/persistence/binaryGenerators.js.map +1 -0
- package/dist/runtime/platformHealth.d.ts.map +1 -1
- package/dist/runtime/platformHealth.js +6 -1
- package/dist/runtime/platformHealth.js.map +1 -1
- package/package.json +8 -8
|
@@ -6,7 +6,7 @@ import { logger as sharedLogger } from '../../observability/logger.js';
|
|
|
6
6
|
// The per-area infra-setup projection, extracted so the reachability watcher shares its
|
|
7
7
|
// applicability rule (`infraSetupAreaApplies`) rather than re-deriving a looser one.
|
|
8
8
|
import { snapshotInfraSetup } from './infraSetup.js';
|
|
9
|
-
import { applyInfraReachability, recordedUnreachableAreas, resolveWorkspaceAccess, } from '@cat-factory/kernel';
|
|
9
|
+
import { applyInfraReachability, recordedUnreachableAreas, resolveWorkspaceAccess, runBestEffort, } from '@cat-factory/kernel';
|
|
10
10
|
/**
|
|
11
11
|
* Assemble the account- and user-tier spend widgets for a snapshot: the account-tier
|
|
12
12
|
* status (across the owning account's workspaces), the signed-in caller's user-tier
|
|
@@ -126,6 +126,81 @@ function snapshotCustomTaskTypes(registry) {
|
|
|
126
126
|
const types = registry.all();
|
|
127
127
|
return types.length > 0 ? types : undefined;
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* The deployment's GENERATIVE BINARY INTEGRATIONS as the snapshot carries them, for the pipeline
|
|
131
|
+
* builder's binary-output step picker. Static, identical for every workspace and both facades,
|
|
132
|
+
* exactly like {@link snapshotCustomTaskTypes}.
|
|
133
|
+
*
|
|
134
|
+
* Read through the resolved SOURCE, not the container's own registry, and that is the whole point
|
|
135
|
+
* of the read being here rather than inline: the picker is what SELECTS a `generatorIds` entry and
|
|
136
|
+
* run admission is what resolves it, so the two must be looking at one set. On a mothership-mode
|
|
137
|
+
* node the set is the mothership's, and a picker fed from this node's registry would offer ids
|
|
138
|
+
* admission rejects (or, once a deployment stops double-registering, offer nothing at all while
|
|
139
|
+
* runs resolve fine) — the same drift the source exists to remove, just moved one surface along.
|
|
140
|
+
*
|
|
141
|
+
* Projects IDENTITY ONLY. The view also holds each integration's credential declaration, endpoint
|
|
142
|
+
* and contract summaries, and none of them may cross to a workspace VIEWER: the credential's key
|
|
143
|
+
* name discloses the deployment's environment for no benefit (the picker never uses it), and the
|
|
144
|
+
* endpoint and contracts are the AGENT's interface, delivered as injected context at dispatch.
|
|
145
|
+
*
|
|
146
|
+
* Three outcomes, and the third is why this returns a pair rather than a list. `undefined` means
|
|
147
|
+
* the deployment registers none — the default, since the platform ships no integrations — so the
|
|
148
|
+
* field is simply absent on the stock product. A list means these are the registered ones. And
|
|
149
|
+
* `unavailable` means the set could not be READ: it must not render as the first, because a picker
|
|
150
|
+
* silently offering nothing invites someone to conclude the deployment has no integrations and go
|
|
151
|
+
* looking in the wrong build. It never throws — an unreachable mothership must not take the whole
|
|
152
|
+
* board load down over a picker on one step type.
|
|
153
|
+
*/
|
|
154
|
+
async function snapshotBinaryGenerators(container) {
|
|
155
|
+
const views = await runBestEffort(container.logger, 'snapshot.binaryGenerators', () => container.binaryGenerators.views(), {});
|
|
156
|
+
if (!views)
|
|
157
|
+
return { unavailable: true };
|
|
158
|
+
const generators = views.map((view) => ({
|
|
159
|
+
id: view.id,
|
|
160
|
+
name: view.name,
|
|
161
|
+
summary: view.summary,
|
|
162
|
+
modalities: view.modalities,
|
|
163
|
+
...(view.mediaTypes.length > 0 ? { mediaTypes: view.mediaTypes } : {}),
|
|
164
|
+
}));
|
|
165
|
+
return generators.length > 0 ? { generators } : {};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Every snapshot field projected from an APP-OWNED REGISTRY, in one read.
|
|
169
|
+
*
|
|
170
|
+
* The five have identical provenance and identical lifetime — deployment-registered composition
|
|
171
|
+
* data on the request container, workspace-independent, the same for both facades — and both
|
|
172
|
+
* snapshot routes need the whole set. Computing them one const at a time duplicated the block
|
|
173
|
+
* across the two handlers and put every future registry's line into `workspaceController` twice,
|
|
174
|
+
* which is what pushed that function over its budget when the generative-integration projection
|
|
175
|
+
* arrived. Adding the next one is now a line HERE and nothing in the handlers.
|
|
176
|
+
*
|
|
177
|
+
* Each member is `undefined` rather than empty when its registry holds nothing, so the field is
|
|
178
|
+
* absent on the wire for the stock product and the SPA's `?? []` fallbacks are what answer.
|
|
179
|
+
*
|
|
180
|
+
* ASYNC because one of the five is no longer necessarily in-process: the generative integrations
|
|
181
|
+
* are read through a source a mothership-mode node points at the mothership. The other four stay
|
|
182
|
+
* synchronous reads inside it — an agent kind carries FUNCTIONS, so it could not cross a wire even
|
|
183
|
+
* if we wanted it to, and nothing has asked the rest to.
|
|
184
|
+
*/
|
|
185
|
+
async function snapshotRegistryProjections(container) {
|
|
186
|
+
const binaryGenerators = await snapshotBinaryGenerators(container);
|
|
187
|
+
return {
|
|
188
|
+
customAgentKinds: snapshotCustomAgentKinds(container.agentKindRegistry, container),
|
|
189
|
+
agentKindVariants: snapshotAgentKindVariants(container.agentKindRegistry),
|
|
190
|
+
customTaskTypes: snapshotCustomTaskTypes(container.taskTypeRegistry),
|
|
191
|
+
binaryGenerators: binaryGenerators.generators,
|
|
192
|
+
binaryGeneratorsUnavailable: binaryGenerators.unavailable,
|
|
193
|
+
// The registered initiative presets (built-in generic + any a deployment mixed in), driving
|
|
194
|
+
// the initiative create picker and which planning pipeline "Run planning" starts. Emptiness
|
|
195
|
+
// is folded to `undefined` HERE rather than at each handler, so every member of this bag
|
|
196
|
+
// obeys one rule and a handler can spread the whole thing through `definedFields`.
|
|
197
|
+
initiativePresets: definedIfPresent(container.initiativePresetRegistry.descriptors()),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/** A list, or undefined when it is empty — the absent-on-the-wire convention, applied once. */
|
|
201
|
+
function definedIfPresent(list) {
|
|
202
|
+
return list.length > 0 ? list : undefined;
|
|
203
|
+
}
|
|
129
204
|
/**
|
|
130
205
|
* The account's repo-sourced Claude Skills as lightweight snapshot summaries (`{ id, name,
|
|
131
206
|
* description }`) for the pipeline builder's per-step skill picker (ADR 0024
|
|
@@ -409,19 +484,16 @@ export function workspaceController() {
|
|
|
409
484
|
// account/user tier status + editable settings), because the SPA hydrates its stores
|
|
410
485
|
// directly from this create response — omitting them would leave a freshly-created
|
|
411
486
|
// workspace with no operator caps / tier meters until a separate snapshot refresh.
|
|
412
|
-
|
|
487
|
+
// In the SAME wave as the rest, not awaited after it: on a mothership-mode node one of these
|
|
488
|
+
// projections crosses the machine API, and serialising that round trip behind the batch adds
|
|
489
|
+
// its latency to every workspace create for nothing.
|
|
490
|
+
const [spend, infraSetup, budgetTiers, skills, registryProjections] = await Promise.all([
|
|
413
491
|
container.spendService.status(snapshot.workspace.id),
|
|
414
492
|
snapshotInfraSetup(container, snapshot.workspace.id),
|
|
415
493
|
assembleBudgetTiers(container, { accountId, viewerUserId: user?.id }),
|
|
416
494
|
snapshotSkills(container, accountId),
|
|
495
|
+
snapshotRegistryProjections(container),
|
|
417
496
|
]);
|
|
418
|
-
const customAgentKinds = snapshotCustomAgentKinds(container.agentKindRegistry, container);
|
|
419
|
-
const agentKindVariants = snapshotAgentKindVariants(container.agentKindRegistry);
|
|
420
|
-
const customTaskTypes = snapshotCustomTaskTypes(container.taskTypeRegistry);
|
|
421
|
-
// The registered initiative presets (built-in generic + any a deployment mixed in). Read off the
|
|
422
|
-
// app-owned registry the container carries — identical for every workspace and both facades —
|
|
423
|
-
// attached here in the shared controller (like `customAgentKinds`) rather than per-facade.
|
|
424
|
-
const initiativePresets = container.initiativePresetRegistry.descriptors();
|
|
425
497
|
// The creator's resolved access. The gate doesn't run for the id-less create route, so resolve
|
|
426
498
|
// it here (the creator is auto-enrolled admin, so this is always an admin grant when signed in).
|
|
427
499
|
const resolved = user
|
|
@@ -437,11 +509,11 @@ export function workspaceController() {
|
|
|
437
509
|
...(access ? { access } : {}),
|
|
438
510
|
agentConfigCatalog: snapshotAgentConfigCatalog(snapshot, container.agentKindRegistry),
|
|
439
511
|
deploymentModelDefaults: deploymentModelDefaults(container.config.agents.routing),
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
...(
|
|
512
|
+
// Every app-owned registry projection in one spread: each member is already `undefined`
|
|
513
|
+
// when it has nothing to say, so adding the next registry is a line in the helper and
|
|
514
|
+
// nothing here — which is what that helper promised and what the per-field ladder kept
|
|
515
|
+
// taking back.
|
|
516
|
+
...definedFields({ ...registryProjections, skills }),
|
|
445
517
|
...snapshotBackendKinds(container),
|
|
446
518
|
infraSetup,
|
|
447
519
|
}, 201);
|
|
@@ -455,14 +527,16 @@ export function workspaceController() {
|
|
|
455
527
|
// Every ingredient below is an independent read keyed by the workspace id (only the
|
|
456
528
|
// service catalog chains on the owning account), so they run concurrently: the
|
|
457
529
|
// board-load latency is the slowest read, not the sum of ~15 sequential round-trips.
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
//
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
530
|
+
//
|
|
531
|
+
// The registry projections join that wave rather than following it. They are in-process on
|
|
532
|
+
// every deployment but one — a mothership-mode node reads its generative integrations over
|
|
533
|
+
// the machine API — and a board load is the hottest path this handler has, so awaiting them
|
|
534
|
+
// afterwards put a whole round trip on the end of every refresh for nothing.
|
|
535
|
+
const [slices, registryProjections] = await Promise.all([
|
|
536
|
+
loadSnapshotSlices(container, workspaceId, budgetAccountId),
|
|
537
|
+
snapshotRegistryProjections(container),
|
|
538
|
+
]);
|
|
539
|
+
const { snapshot, spend, bootstrapJobs, envConfigRepairJobs, environmentTestRuns, notifications, riskPolicies, sharedStacks, modelPresets, consensusGroups, serviceFragmentDefaults, recurringPipelines, trackerSettings, initiatives, settings, mounts, serviceCatalog, infraSetup, repoProjections, skills, } = slices;
|
|
466
540
|
// Redact service frames backed by a repo linked via ANOTHER member's personal PAT that this
|
|
467
541
|
// viewer can't reach (fail closed): scrub the frame to a locked stub + drop its subtree, so
|
|
468
542
|
// the SPA shows "Permission denied" instead of the service's contents. A no-op when no repo
|
|
@@ -525,10 +599,7 @@ export function workspaceController() {
|
|
|
525
599
|
settings,
|
|
526
600
|
mounts,
|
|
527
601
|
serviceCatalog: redacted.services,
|
|
528
|
-
|
|
529
|
-
agentKindVariants,
|
|
530
|
-
customTaskTypes,
|
|
531
|
-
initiativePresets: initiativePresets.length ? initiativePresets : undefined,
|
|
602
|
+
...registryProjections,
|
|
532
603
|
skills,
|
|
533
604
|
}),
|
|
534
605
|
}, 200);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type OperationalMetricsCollector } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* The process-wide (Node) / per-isolate (Worker) collector. Services reach it through the
|
|
4
|
+
* injected kernel {@link import('@cat-factory/kernel').OperationalMetrics} port —
|
|
5
|
+
* `CoreDependencies.operationalMetrics`, which both facades wire from HERE — never by importing
|
|
6
|
+
* this module directly from a domain package.
|
|
7
|
+
*/
|
|
8
|
+
export declare const operationalMetrics: OperationalMetricsCollector;
|
|
9
|
+
//# sourceMappingURL=operationalMetrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operationalMetrics.d.ts","sourceRoot":"","sources":["../../src/observability/operationalMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,qBAAqB,CAAA;AAyB5B;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,2BAAiE,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createOperationalMetricsCollector, } from '@cat-factory/kernel';
|
|
2
|
+
// The process-wide operational-metrics collector — the counter half of the observability seam
|
|
3
|
+
// `logger` is the line half of, exported the same way and from the same layer for the same
|
|
4
|
+
// reason: every facade, sweeper and service must count into ONE instance, and the way to
|
|
5
|
+
// guarantee that is for there to be exactly one to reach.
|
|
6
|
+
//
|
|
7
|
+
// "Process-wide" means something different per runtime, and the difference is the whole reason
|
|
8
|
+
// the counters are exported as DELTAS rather than totals:
|
|
9
|
+
//
|
|
10
|
+
// - Node/local: one collector for the life of the process. The platform-metrics sweep drains
|
|
11
|
+
// it on its interval, so nothing is lost between flushes.
|
|
12
|
+
// - Cloudflare: one collector per ISOLATE, because a module-level value is per-isolate there.
|
|
13
|
+
// An isolate is discarded whenever the runtime decides, taking anything unflushed with it,
|
|
14
|
+
// so the Worker flushes at the end of every invocation that recorded something rather than
|
|
15
|
+
// waiting for its cron (which runs in a different isolate that saw none of it).
|
|
16
|
+
//
|
|
17
|
+
// Neither shape can report a cumulative total honestly, and both report a delta honestly: the
|
|
18
|
+
// backend sums whatever arrives, from however many flushers.
|
|
19
|
+
//
|
|
20
|
+
// A deployment that exports no metrics still increments — the collector is a Map and an add, and
|
|
21
|
+
// the samples are simply dropped by `drain()` never being called with anywhere to send them.
|
|
22
|
+
// That is deliberately cheaper to reason about than a conditional counter, and it is what lets a
|
|
23
|
+
// counter live on a hot path (a cache read) without a wiring question at every call site.
|
|
24
|
+
/**
|
|
25
|
+
* The process-wide (Node) / per-isolate (Worker) collector. Services reach it through the
|
|
26
|
+
* injected kernel {@link import('@cat-factory/kernel').OperationalMetrics} port —
|
|
27
|
+
* `CoreDependencies.operationalMetrics`, which both facades wire from HERE — never by importing
|
|
28
|
+
* this module directly from a domain package.
|
|
29
|
+
*/
|
|
30
|
+
export const operationalMetrics = createOperationalMetricsCollector();
|
|
31
|
+
//# sourceMappingURL=operationalMetrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operationalMetrics.js","sourceRoot":"","sources":["../../src/observability/operationalMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iCAAiC,GAClC,MAAM,qBAAqB,CAAA;AAE5B,8FAA8F;AAC9F,2FAA2F;AAC3F,yFAAyF;AACzF,0DAA0D;AAC1D,EAAE;AACF,+FAA+F;AAC/F,0DAA0D;AAC1D,EAAE;AACF,+FAA+F;AAC/F,8DAA8D;AAC9D,gGAAgG;AAChG,+FAA+F;AAC/F,+FAA+F;AAC/F,oFAAoF;AACpF,EAAE;AACF,8FAA8F;AAC9F,6DAA6D;AAC7D,EAAE;AACF,iGAAiG;AACjG,6FAA6F;AAC7F,iGAAiG;AACjG,0FAA0F;AAE1F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC,iCAAiC,EAAE,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type OperationalMetrics } from '@cat-factory/kernel';
|
|
2
|
+
/** One sweeper's current consecutive-failure streak. */
|
|
3
|
+
export interface SweepFailureStreak {
|
|
4
|
+
sweep: string;
|
|
5
|
+
consecutive: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Records each sweep pass's outcome and answers which sweeper is doing worst.
|
|
9
|
+
*
|
|
10
|
+
* The two signals a failed pass produces — the `sweep.failed` COUNTER (a rate) and the STREAK
|
|
11
|
+
* (this) — are emitted by ONE call on purpose. They shipped as two calls at each site, and the
|
|
12
|
+
* two facades promptly drifted into tracking disjoint sets: on Node every `startSweeper` sweep
|
|
13
|
+
* recorded a streak but the two hand-rolled intervals recorded only the counter, while on the
|
|
14
|
+
* Worker exactly one sweep recorded a streak and nothing else recorded either. A site that can
|
|
15
|
+
* do half the job is a site that eventually does.
|
|
16
|
+
*/
|
|
17
|
+
export interface SweepHealthTracker {
|
|
18
|
+
/**
|
|
19
|
+
* A pass of `sweep` threw: increment its streak AND count it under `sweep.failed`. There is
|
|
20
|
+
* deliberately no way to do one without the other.
|
|
21
|
+
*/
|
|
22
|
+
recordFailure(sweep: string): void;
|
|
23
|
+
/** A pass of `sweep` completed. Resets its streak to 0 — the sweeper is working again. */
|
|
24
|
+
recordSuccess(sweep: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* The worst current streak, or `undefined` when every sweeper's last pass succeeded (or
|
|
27
|
+
* none has run yet). `undefined` rather than a zero-valued entry, because the health
|
|
28
|
+
* evaluation treats an absent streak as "not tracked" and a present one as an observation.
|
|
29
|
+
*/
|
|
30
|
+
worst(): SweepFailureStreak | undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build a tracker that reports every failed pass to `metrics` as well as accumulating its
|
|
34
|
+
* streak. A unit test with nothing to export passes `noopOperationalMetrics`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createSweepHealthTracker(metrics?: OperationalMetrics): SweepHealthTracker;
|
|
37
|
+
/**
|
|
38
|
+
* The process-wide (Node) / per-isolate (Worker) tracker, exported like `logger` and
|
|
39
|
+
* `operationalMetrics` for the same reason: every sweeper must record into the ONE instance
|
|
40
|
+
* the health sweep reads. Bound to the sibling `operationalMetrics` collector here, so the
|
|
41
|
+
* counter and the streak can never be wired to different places.
|
|
42
|
+
*/
|
|
43
|
+
export declare const sweepHealth: SweepHealthTracker;
|
|
44
|
+
//# sourceMappingURL=sweepHealth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sweepHealth.d.ts","sourceRoot":"","sources":["../../src/observability/sweepHealth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,qBAAqB,CAAA;AAuBrF,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,0FAA0F;IAC1F,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC;;;;OAIG;IACH,KAAK,IAAI,kBAAkB,GAAG,SAAS,CAAA;CACxC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,kBAA2C,GACnD,kBAAkB,CAoBpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,kBAAiE,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { noopOperationalMetrics } from '@cat-factory/kernel';
|
|
2
|
+
import { operationalMetrics } from './operationalMetrics.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build a tracker that reports every failed pass to `metrics` as well as accumulating its
|
|
5
|
+
* streak. A unit test with nothing to export passes `noopOperationalMetrics`.
|
|
6
|
+
*/
|
|
7
|
+
export function createSweepHealthTracker(metrics = noopOperationalMetrics) {
|
|
8
|
+
const streaks = new Map();
|
|
9
|
+
return {
|
|
10
|
+
recordFailure(sweep) {
|
|
11
|
+
streaks.set(sweep, (streaks.get(sweep) ?? 0) + 1);
|
|
12
|
+
// Dimensioned by sweep name — a bounded set fixed at boot — so one sick sweeper is
|
|
13
|
+
// identifiable among the fourteen rather than lost in a deployment-wide total.
|
|
14
|
+
metrics.increment('sweep.failed', { sweep });
|
|
15
|
+
},
|
|
16
|
+
recordSuccess(sweep) {
|
|
17
|
+
streaks.delete(sweep);
|
|
18
|
+
},
|
|
19
|
+
worst() {
|
|
20
|
+
let worst;
|
|
21
|
+
for (const [sweep, consecutive] of streaks) {
|
|
22
|
+
if (!worst || consecutive > worst.consecutive)
|
|
23
|
+
worst = { sweep, consecutive };
|
|
24
|
+
}
|
|
25
|
+
return worst;
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The process-wide (Node) / per-isolate (Worker) tracker, exported like `logger` and
|
|
31
|
+
* `operationalMetrics` for the same reason: every sweeper must record into the ONE instance
|
|
32
|
+
* the health sweep reads. Bound to the sibling `operationalMetrics` collector here, so the
|
|
33
|
+
* counter and the streak can never be wired to different places.
|
|
34
|
+
*/
|
|
35
|
+
export const sweepHealth = createSweepHealthTracker(operationalMetrics);
|
|
36
|
+
//# sourceMappingURL=sweepHealth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sweepHealth.js","sourceRoot":"","sources":["../../src/observability/sweepHealth.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAsD5D;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAO,GAAuB,sBAAsB;IAEpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,OAAO;QACL,aAAa,CAAC,KAAK;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACjD,mFAAmF;YACnF,+EAA+E;YAC/E,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;QACD,aAAa,CAAC,KAAK;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,KAAK;YACH,IAAI,KAAqC,CAAA;YACzC,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW;oBAAE,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;YAC/E,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAuB,wBAAwB,CAAC,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ApiContractDocument } from '@cat-factory/contracts';
|
|
2
|
+
import type { BinaryGeneratorSource, BinaryGeneratorView } from '@cat-factory/kernel';
|
|
3
|
+
/**
|
|
4
|
+
* A {@link BinaryGeneratorSource} backed by the mothership's `GET /internal/binary-generators`
|
|
5
|
+
* (+ `POST .../contracts`), presenting the node's machine token.
|
|
6
|
+
*
|
|
7
|
+
* **A failed read THROWS; it never degrades to an empty registry.** "The mothership is
|
|
8
|
+
* unreachable" and "this deployment registers no integrations" are the same value and opposite
|
|
9
|
+
* facts, and unlike the estate's case the second one is ADMISSION policy: an empty set refuses
|
|
10
|
+
* every generator-selecting step with `unknown_generator`, which is a false configuration error
|
|
11
|
+
* reported against a correctly configured step — the exact misattribution this whole seam exists
|
|
12
|
+
* to remove. That covers every way the read can fail to produce the set: a transport error, a
|
|
13
|
+
* refusal, a 404 from a mothership older than this node, and a 200 whose payload this client
|
|
14
|
+
* cannot read.
|
|
15
|
+
*
|
|
16
|
+
* Throwing is NOT the same as failing the run, and each caller decides what it means for it.
|
|
17
|
+
* Admission RE-THROWS it unchanged — it is already 503-shaped and retryable, and its
|
|
18
|
+
* `binary_generators_unreachable` reason is kept deliberately apart from
|
|
19
|
+
* `binary_output_generator_invalid`; the dispatch brief keeps its
|
|
20
|
+
* best-effort disposition and injects nothing, which the trait guidance already defines as "the
|
|
21
|
+
* platform could not provide storage — do not attempt any upload; report it"; the workspace
|
|
22
|
+
* snapshot marks the picker unreadable rather than empty. What this class guarantees is that the
|
|
23
|
+
* gap is never spelled as a registry that holds nothing.
|
|
24
|
+
*
|
|
25
|
+
* **On what the reply is trusted to name.** A definition carries its credential's KEY NAME, and
|
|
26
|
+
* this node resolves that key against its OWN environment before the value rides a job body into
|
|
27
|
+
* an agent process. That is a real widening of `createEnvToolSecretResolver`'s default over the
|
|
28
|
+
* standalone case, where the key was named by code this process itself runs — but not a new
|
|
29
|
+
* grant: a mothership already supplies the pipelines, prompts and repo targets of every run this
|
|
30
|
+
* node executes, so it can already reach the laptop's environment through any agent it dispatches.
|
|
31
|
+
* The lever for a deployment that wants the narrower boundary anyway (or simply wants a
|
|
32
|
+
* mis-declared key to fail loudly instead of siphoning a developer's own token) is
|
|
33
|
+
* `EnvToolSecretResolverOptions.allowKeys`, which gates this subject family too.
|
|
34
|
+
*
|
|
35
|
+
* There is no cache here on purpose, for the reason its sibling gives: the reads are already
|
|
36
|
+
* bounded by the callers in front of them, and the set changes only when the mothership is
|
|
37
|
+
* redeployed — a second TTL'd copy with no invalidation path is exactly the homebrew cache the
|
|
38
|
+
* caching seam exists to keep out.
|
|
39
|
+
*/
|
|
40
|
+
export declare class HttpBinaryGeneratorSource implements BinaryGeneratorSource {
|
|
41
|
+
private readonly opts;
|
|
42
|
+
constructor(opts: {
|
|
43
|
+
baseUrl: string;
|
|
44
|
+
/**
|
|
45
|
+
* The machine token to present, as a fixed string OR a provider read PER REQUEST — the
|
|
46
|
+
* same shape `HttpPersistenceRpcClient` takes, so a token cached after boot by the
|
|
47
|
+
* `/local/mothership/connect` login is picked up without a restart.
|
|
48
|
+
*/
|
|
49
|
+
token: string | (() => string | null);
|
|
50
|
+
fetchImpl?: typeof fetch;
|
|
51
|
+
});
|
|
52
|
+
views(): Promise<BinaryGeneratorView[]>;
|
|
53
|
+
documentsFor(ids: string[]): Promise<Map<string, ApiContractDocument[]>>;
|
|
54
|
+
private read;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=binaryGenerators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryGenerators.d.ts","sourceRoot":"","sources":["../../src/persistence/binaryGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AASrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;IAEnE,OAAO,CAAC,QAAQ,CAAC,IAAI;IADvB,YACmB,IAAI,EAAE;QACrB,OAAO,EAAE,MAAM,CAAA;QACf;;;;WAIG;QACH,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA;QACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;KACzB,EACC;IAEE,KAAK,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiB5C;IAEK,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAgB7E;YAEa,IAAI;CA4CnB"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { UnavailableError, describeError } from '@cat-factory/kernel';
|
|
2
|
+
// The client half of the mothership-mode generative-integration read (see
|
|
3
|
+
// `../modules/binaryGenerators/BinaryGeneratorsController.ts` for why the registry crosses the
|
|
4
|
+
// machine API at all). A mothership-mode node resolves a step's `generatorIds` against the
|
|
5
|
+
// mothership's registry instead of its own, so the set the pipeline builder OFFERED and the set
|
|
6
|
+
// admission RESOLVES are the same set however far behind the node's build has drifted.
|
|
7
|
+
/**
|
|
8
|
+
* A {@link BinaryGeneratorSource} backed by the mothership's `GET /internal/binary-generators`
|
|
9
|
+
* (+ `POST .../contracts`), presenting the node's machine token.
|
|
10
|
+
*
|
|
11
|
+
* **A failed read THROWS; it never degrades to an empty registry.** "The mothership is
|
|
12
|
+
* unreachable" and "this deployment registers no integrations" are the same value and opposite
|
|
13
|
+
* facts, and unlike the estate's case the second one is ADMISSION policy: an empty set refuses
|
|
14
|
+
* every generator-selecting step with `unknown_generator`, which is a false configuration error
|
|
15
|
+
* reported against a correctly configured step — the exact misattribution this whole seam exists
|
|
16
|
+
* to remove. That covers every way the read can fail to produce the set: a transport error, a
|
|
17
|
+
* refusal, a 404 from a mothership older than this node, and a 200 whose payload this client
|
|
18
|
+
* cannot read.
|
|
19
|
+
*
|
|
20
|
+
* Throwing is NOT the same as failing the run, and each caller decides what it means for it.
|
|
21
|
+
* Admission RE-THROWS it unchanged — it is already 503-shaped and retryable, and its
|
|
22
|
+
* `binary_generators_unreachable` reason is kept deliberately apart from
|
|
23
|
+
* `binary_output_generator_invalid`; the dispatch brief keeps its
|
|
24
|
+
* best-effort disposition and injects nothing, which the trait guidance already defines as "the
|
|
25
|
+
* platform could not provide storage — do not attempt any upload; report it"; the workspace
|
|
26
|
+
* snapshot marks the picker unreadable rather than empty. What this class guarantees is that the
|
|
27
|
+
* gap is never spelled as a registry that holds nothing.
|
|
28
|
+
*
|
|
29
|
+
* **On what the reply is trusted to name.** A definition carries its credential's KEY NAME, and
|
|
30
|
+
* this node resolves that key against its OWN environment before the value rides a job body into
|
|
31
|
+
* an agent process. That is a real widening of `createEnvToolSecretResolver`'s default over the
|
|
32
|
+
* standalone case, where the key was named by code this process itself runs — but not a new
|
|
33
|
+
* grant: a mothership already supplies the pipelines, prompts and repo targets of every run this
|
|
34
|
+
* node executes, so it can already reach the laptop's environment through any agent it dispatches.
|
|
35
|
+
* The lever for a deployment that wants the narrower boundary anyway (or simply wants a
|
|
36
|
+
* mis-declared key to fail loudly instead of siphoning a developer's own token) is
|
|
37
|
+
* `EnvToolSecretResolverOptions.allowKeys`, which gates this subject family too.
|
|
38
|
+
*
|
|
39
|
+
* There is no cache here on purpose, for the reason its sibling gives: the reads are already
|
|
40
|
+
* bounded by the callers in front of them, and the set changes only when the mothership is
|
|
41
|
+
* redeployed — a second TTL'd copy with no invalidation path is exactly the homebrew cache the
|
|
42
|
+
* caching seam exists to keep out.
|
|
43
|
+
*/
|
|
44
|
+
export class HttpBinaryGeneratorSource {
|
|
45
|
+
opts;
|
|
46
|
+
constructor(opts) {
|
|
47
|
+
this.opts = opts;
|
|
48
|
+
}
|
|
49
|
+
async views() {
|
|
50
|
+
const body = await this.read('/internal/binary-generators');
|
|
51
|
+
// Shape-checked rather than cast, for the same reason every other failure here throws: a
|
|
52
|
+
// reply this code cannot read is a reply whose registered set is unknown, and the one
|
|
53
|
+
// disposition that must never be reachable is answering an unknown set with an empty one. A
|
|
54
|
+
// missing `generators` key is exactly as unreadable as a malformed one — an empty registry
|
|
55
|
+
// is spelled `[]`, which no honest server omits.
|
|
56
|
+
if (!Array.isArray(body.generators))
|
|
57
|
+
throw unreadable('generators');
|
|
58
|
+
// The ELEMENTS are checked too, not just the envelope. A view whose `id` is not a string
|
|
59
|
+
// cannot be matched against a step's `generatorIds` by any caller here, so a reply carrying
|
|
60
|
+
// one is a reply we cannot resolve a selection against — the very thing this class promises
|
|
61
|
+
// never to answer quietly. Checked shallowly and structurally (an id to match on, the
|
|
62
|
+
// content types admission compares): this is a trusted peer serving a projection of its own
|
|
63
|
+
// registry, so the job is to catch a WRONG SHAPE (a route answering something else, a
|
|
64
|
+
// version skew) rather than to re-validate a definition the mothership already boot-checked.
|
|
65
|
+
if (!body.generators.every(isGeneratorView))
|
|
66
|
+
throw unreadable('generators');
|
|
67
|
+
return body.generators;
|
|
68
|
+
}
|
|
69
|
+
async documentsFor(ids) {
|
|
70
|
+
if (ids.length === 0)
|
|
71
|
+
return new Map();
|
|
72
|
+
const body = await this.read('/internal/binary-generators/contracts', {
|
|
73
|
+
ids,
|
|
74
|
+
});
|
|
75
|
+
const documents = body.documents;
|
|
76
|
+
if (!documents || typeof documents !== 'object' || Array.isArray(documents)) {
|
|
77
|
+
throw unreadable('documents');
|
|
78
|
+
}
|
|
79
|
+
const entries = Object.entries(documents);
|
|
80
|
+
// Same rule one level in: a value that is not an array would reach the brief renderer's
|
|
81
|
+
// `.map()` as a TypeError — an unreadable reply escaping as a generic crash instead of the
|
|
82
|
+
// one `UnavailableError` every route to "we do not know what is registered" is supposed to
|
|
83
|
+
// end at, and one the caller's best-effort wrapper would then log under the wrong cause.
|
|
84
|
+
if (!entries.every(([, docs]) => Array.isArray(docs)))
|
|
85
|
+
throw unreadable('documents');
|
|
86
|
+
return new Map(entries);
|
|
87
|
+
}
|
|
88
|
+
async read(path, payload) {
|
|
89
|
+
const fetchImpl = this.opts.fetchImpl ?? fetch;
|
|
90
|
+
const token = typeof this.opts.token === 'function' ? this.opts.token() : this.opts.token;
|
|
91
|
+
const url = `${this.opts.baseUrl.replace(/\/$/, '')}${path}`;
|
|
92
|
+
// The batched contract read carries a LIST, so it is a POST — the same reason the
|
|
93
|
+
// persistence RPC is one. Both are reads; neither is cacheable over the machine API.
|
|
94
|
+
const init = payload
|
|
95
|
+
? {
|
|
96
|
+
method: 'POST',
|
|
97
|
+
headers: {
|
|
98
|
+
authorization: `Bearer ${token ?? ''}`,
|
|
99
|
+
'content-type': 'application/json',
|
|
100
|
+
},
|
|
101
|
+
body: JSON.stringify(payload),
|
|
102
|
+
}
|
|
103
|
+
: { headers: { authorization: `Bearer ${token ?? ''}` } };
|
|
104
|
+
let res;
|
|
105
|
+
try {
|
|
106
|
+
res = await fetchImpl(url, init);
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
// A transport failure is reported as the outage it is. The message names the set rather
|
|
110
|
+
// than the URL, which carries no secret here but would be noise in an operator's log.
|
|
111
|
+
throw new UnavailableError('The deployment’s generative integrations could not be read from the mothership', 'binary_generators_unreachable',
|
|
112
|
+
// Scrubbed through `redactSecrets` — a fetch failure routinely echoes the request URL,
|
|
113
|
+
// which here carries the mothership's address.
|
|
114
|
+
describeError(error));
|
|
115
|
+
}
|
|
116
|
+
if (!res.ok) {
|
|
117
|
+
// Includes the case that matters most: a mothership OLDER than this node, which answers
|
|
118
|
+
// 404 for a route it does not serve. Reading that as "no registered integrations" would
|
|
119
|
+
// refuse every generator-selecting step as misconfigured for the duration of a rollback.
|
|
120
|
+
throw new UnavailableError('The mothership refused the generative-integration read', 'binary_generators_unreachable', { status: res.status });
|
|
121
|
+
}
|
|
122
|
+
const body = (await res.json().catch(() => null));
|
|
123
|
+
if (!body || typeof body !== 'object')
|
|
124
|
+
throw unreadable('body');
|
|
125
|
+
return body;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The shallow structural check one served view must pass to be resolvable here: an `id` to match
|
|
130
|
+
* a step's `generatorIds` against, and the `modalities` admission compares a step's declared
|
|
131
|
+
* content types to. Everything else a view carries is rendered rather than decided on, so a
|
|
132
|
+
* missing field degrades a brief instead of silently changing a verdict.
|
|
133
|
+
*/
|
|
134
|
+
function isGeneratorView(value) {
|
|
135
|
+
if (!value || typeof value !== 'object')
|
|
136
|
+
return false;
|
|
137
|
+
const view = value;
|
|
138
|
+
return typeof view.id === 'string' && Array.isArray(view.modalities);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The unreadable-reply refusal, shared by the envelope check and the two payload checks.
|
|
142
|
+
*
|
|
143
|
+
* One helper rather than three literals because they are one FACT — the mothership answered with
|
|
144
|
+
* something this node cannot resolve a selection against — and the whole point of this class is
|
|
145
|
+
* that every route to "we do not know what is registered" ends at a throw. `field` names which
|
|
146
|
+
* part failed, so an operator can tell a malformed body from a route answering a different shape.
|
|
147
|
+
*/
|
|
148
|
+
function unreadable(field) {
|
|
149
|
+
return new UnavailableError('The mothership returned an unreadable generative-integration set', 'binary_generators_unreachable', { field });
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=binaryGenerators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryGenerators.js","sourceRoot":"","sources":["../../src/persistence/binaryGenerators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformHealth.d.ts","sourceRoot":"","sources":["../../src/runtime/platformHealth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"platformHealth.d.ts","sourceRoot":"","sources":["../../src/runtime/platformHealth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAmBjD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyE9C"}
|