wicked-crew 0.7.45 → 0.7.47
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/api/capture.d.ts +2 -2
- package/dist/api/delivery-index.d.ts +21 -0
- package/dist/api/delivery-index.d.ts.map +1 -1
- package/dist/api/delivery-index.js +36 -0
- package/dist/api/delivery-index.js.map +1 -1
- package/dist/api/elicitation-cache.d.ts +12 -0
- package/dist/api/elicitation-cache.d.ts.map +1 -1
- package/dist/api/elicitation-cache.js +17 -1
- package/dist/api/elicitation-cache.js.map +1 -1
- package/dist/api/eval-sample.d.ts +6 -6
- package/dist/api/governance-steering.d.ts.map +1 -1
- package/dist/api/governance-steering.js +1 -0
- package/dist/api/governance-steering.js.map +1 -1
- package/dist/api/mcp.d.ts +10 -10
- package/dist/api/policy-landing.d.ts +55 -0
- package/dist/api/policy-landing.d.ts.map +1 -0
- package/dist/api/policy-landing.js +174 -0
- package/dist/api/policy-landing.js.map +1 -0
- package/dist/api/recording.d.ts +228 -0
- package/dist/api/recording.d.ts.map +1 -0
- package/dist/api/recording.js +1140 -0
- package/dist/api/recording.js.map +1 -0
- package/dist/api/roster-standing.d.ts.map +1 -1
- package/dist/api/roster-standing.js +5 -1
- package/dist/api/roster-standing.js.map +1 -1
- package/dist/api/routes.d.ts +31 -39
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +264 -104
- package/dist/api/routes.js.map +1 -1
- package/dist/api/run-timing-index.d.ts +17 -0
- package/dist/api/run-timing-index.d.ts.map +1 -1
- package/dist/api/run-timing-index.js +43 -1
- package/dist/api/run-timing-index.js.map +1 -1
- package/dist/api/seat-health.d.ts +35 -0
- package/dist/api/seat-health.d.ts.map +1 -1
- package/dist/api/seat-health.js +72 -0
- package/dist/api/seat-health.js.map +1 -1
- package/dist/api/seat-standing.d.ts +2 -2
- package/dist/api/seat-standing.d.ts.map +1 -1
- package/dist/api/seat-standing.js +27 -7
- package/dist/api/seat-standing.js.map +1 -1
- package/dist/api/server.d.ts +12 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +74 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/testing.d.ts +4 -4
- package/dist/api/testing.d.ts.map +1 -1
- package/dist/api/testing.js +3 -0
- package/dist/api/testing.js.map +1 -1
- package/dist/api/watch-routes.d.ts +30 -0
- package/dist/api/watch-routes.d.ts.map +1 -0
- package/dist/api/watch-routes.js +104 -0
- package/dist/api/watch-routes.js.map +1 -0
- package/dist/campaigns/routes.d.ts +2 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adapter.d.ts +36 -0
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js +177 -5
- package/dist/core/adapter.js.map +1 -1
- package/dist/core/run-identity.js +1 -1
- package/dist/core/run-identity.js.map +1 -1
- package/dist/core/walkthrough-root.d.ts +21 -0
- package/dist/core/walkthrough-root.d.ts.map +1 -0
- package/dist/core/walkthrough-root.js +66 -0
- package/dist/core/walkthrough-root.js.map +1 -0
- package/dist/decisions/derive.d.ts +79 -0
- package/dist/decisions/derive.d.ts.map +1 -0
- package/dist/decisions/derive.js +282 -0
- package/dist/decisions/derive.js.map +1 -0
- package/dist/decisions/events.d.ts +23 -0
- package/dist/decisions/events.d.ts.map +1 -0
- package/dist/decisions/events.js +22 -0
- package/dist/decisions/events.js.map +1 -0
- package/dist/decisions/ingest.d.ts +28 -0
- package/dist/decisions/ingest.d.ts.map +1 -0
- package/dist/decisions/ingest.js +92 -0
- package/dist/decisions/ingest.js.map +1 -0
- package/dist/decisions/land.d.ts +100 -0
- package/dist/decisions/land.d.ts.map +1 -0
- package/dist/decisions/land.js +466 -0
- package/dist/decisions/land.js.map +1 -0
- package/dist/decisions/ledger.d.ts +60 -0
- package/dist/decisions/ledger.d.ts.map +1 -0
- package/dist/decisions/ledger.js +246 -0
- package/dist/decisions/ledger.js.map +1 -0
- package/dist/decisions/routes.d.ts +10 -0
- package/dist/decisions/routes.d.ts.map +1 -0
- package/dist/decisions/routes.js +141 -0
- package/dist/decisions/routes.js.map +1 -0
- package/dist/decisions/types.d.ts +120 -0
- package/dist/decisions/types.d.ts.map +1 -0
- package/dist/decisions/types.js +19 -0
- package/dist/decisions/types.js.map +1 -0
- package/dist/interactive/draft-events.d.ts.map +1 -1
- package/dist/interactive/draft-events.js +1 -0
- package/dist/interactive/draft-events.js.map +1 -1
- package/dist/projects/events.d.ts.map +1 -1
- package/dist/projects/events.js +2 -1
- package/dist/projects/events.js.map +1 -1
- package/dist/projects/state-home-preflight.d.ts.map +1 -1
- package/dist/projects/state-home-preflight.js +3 -0
- package/dist/projects/state-home-preflight.js.map +1 -1
- package/dist/projects/state-home-registry.d.ts.map +1 -1
- package/dist/projects/state-home-registry.js +2 -0
- package/dist/projects/state-home-registry.js.map +1 -1
- package/dist/projects/state-home.d.ts +6 -0
- package/dist/projects/state-home.d.ts.map +1 -1
- package/dist/projects/state-home.js +28 -1
- package/dist/projects/state-home.js.map +1 -1
- package/dist/qe/acceptance.d.ts +45 -4
- package/dist/qe/acceptance.d.ts.map +1 -1
- package/dist/qe/acceptance.js +93 -4
- package/dist/qe/acceptance.js.map +1 -1
- package/dist/qe/ledger.d.ts +20 -0
- package/dist/qe/ledger.d.ts.map +1 -1
- package/dist/qe/ledger.js +34 -0
- package/dist/qe/ledger.js.map +1 -1
- package/dist/qe/walkthrough-acceptance.d.ts +82 -0
- package/dist/qe/walkthrough-acceptance.d.ts.map +1 -0
- package/dist/qe/walkthrough-acceptance.js +248 -0
- package/dist/qe/walkthrough-acceptance.js.map +1 -0
- package/dist/skills/base-skill.d.ts.map +1 -1
- package/dist/skills/base-skill.js +3 -2
- package/dist/skills/base-skill.js.map +1 -1
- package/dist/skills/plugin-source.d.ts +19 -1
- package/dist/skills/plugin-source.d.ts.map +1 -1
- package/dist/skills/plugin-source.js +31 -2
- package/dist/skills/plugin-source.js.map +1 -1
- package/dist/skills/runtime.d.ts +11 -2
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +29 -1
- package/dist/skills/runtime.js.map +1 -1
- package/dist/skills/store.d.ts +14 -1
- package/dist/skills/store.d.ts.map +1 -1
- package/dist/skills/store.js +19 -5
- package/dist/skills/store.js.map +1 -1
- package/dist/standing-orders/routes.d.ts +4 -4
- package/dist/standing-orders/store.d.ts +2 -2
- package/dist/watch/checks/check-failed.d.ts +24 -0
- package/dist/watch/checks/check-failed.d.ts.map +1 -0
- package/dist/watch/checks/check-failed.js +56 -0
- package/dist/watch/checks/check-failed.js.map +1 -0
- package/dist/watch/checks/deliver-audit.d.ts +19 -0
- package/dist/watch/checks/deliver-audit.d.ts.map +1 -0
- package/dist/watch/checks/deliver-audit.js +129 -0
- package/dist/watch/checks/deliver-audit.js.map +1 -0
- package/dist/watch/checks/index.d.ts +8 -0
- package/dist/watch/checks/index.d.ts.map +1 -0
- package/dist/watch/checks/index.js +19 -0
- package/dist/watch/checks/index.js.map +1 -0
- package/dist/watch/checks/lag.d.ts +24 -0
- package/dist/watch/checks/lag.d.ts.map +1 -0
- package/dist/watch/checks/lag.js +55 -0
- package/dist/watch/checks/lag.js.map +1 -0
- package/dist/watch/checks/quiet-after-claim.d.ts +17 -0
- package/dist/watch/checks/quiet-after-claim.d.ts.map +1 -0
- package/dist/watch/checks/quiet-after-claim.js +89 -0
- package/dist/watch/checks/quiet-after-claim.js.map +1 -0
- package/dist/watch/checks/ungated.d.ts +12 -0
- package/dist/watch/checks/ungated.d.ts.map +1 -0
- package/dist/watch/checks/ungated.js +64 -0
- package/dist/watch/checks/ungated.js.map +1 -0
- package/dist/watch/emit.d.ts +122 -0
- package/dist/watch/emit.d.ts.map +1 -0
- package/dist/watch/emit.js +443 -0
- package/dist/watch/emit.js.map +1 -0
- package/dist/watch/events.d.ts +21 -0
- package/dist/watch/events.d.ts.map +1 -0
- package/dist/watch/events.js +21 -0
- package/dist/watch/events.js.map +1 -0
- package/dist/watch/keys.d.ts +15 -0
- package/dist/watch/keys.d.ts.map +1 -0
- package/dist/watch/keys.js +23 -0
- package/dist/watch/keys.js.map +1 -0
- package/dist/watch/lanes.d.ts +41 -0
- package/dist/watch/lanes.d.ts.map +1 -0
- package/dist/watch/lanes.js +73 -0
- package/dist/watch/lanes.js.map +1 -0
- package/dist/watch/loader.d.ts +47 -0
- package/dist/watch/loader.d.ts.map +1 -0
- package/dist/watch/loader.js +178 -0
- package/dist/watch/loader.js.map +1 -0
- package/dist/watch/registry.d.ts +137 -0
- package/dist/watch/registry.d.ts.map +1 -0
- package/dist/watch/registry.js +530 -0
- package/dist/watch/registry.js.map +1 -0
- package/dist/watch/ring.d.ts +32 -0
- package/dist/watch/ring.d.ts.map +1 -0
- package/dist/watch/ring.js +90 -0
- package/dist/watch/ring.js.map +1 -0
- package/dist/watch/router.d.ts +25 -0
- package/dist/watch/router.d.ts.map +1 -0
- package/dist/watch/router.js +87 -0
- package/dist/watch/router.js.map +1 -0
- package/dist/watch/sources.d.ts +42 -0
- package/dist/watch/sources.d.ts.map +1 -0
- package/dist/watch/sources.js +104 -0
- package/dist/watch/sources.js.map +1 -0
- package/dist/watch/types.d.ts +110 -0
- package/dist/watch/types.d.ts.map +1 -0
- package/dist/watch/types.js +6 -0
- package/dist/watch/types.js.map +1 -0
- package/endpoint-manifest.json +178 -1
- package/package.json +3 -2
- package/watch/entries/deliver-audit.json +17 -0
- package/watch/entries/quiet-after-claim.json +16 -0
- package/watch/entries/registry-check-failed.json +12 -0
- package/watch/entries/registry-lagging.json +12 -0
- package/watch/entries/ungated.json +13 -0
- package/dist/api/demo.d.ts +0 -90
- package/dist/api/demo.d.ts.map +0 -1
- package/dist/api/demo.js +0 -492
- package/dist/api/demo.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/watch/emit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The watch registry's bus facts (DES-TRIGGER-REGISTRY-001 §4.5, TR-W5a).
|
|
3
|
+
*
|
|
4
|
+
* One owner: crew's watch registry. The event types carry the grammar's bare `crew` segment
|
|
5
|
+
* (`wicked.crew.watch_finding.raised`); the DOMAIN COLUMN is the product-scoped plugin name, as
|
|
6
|
+
* `projects/events.ts` spells it. Declared as `const`s in a file the core event-catalog generator
|
|
7
|
+
* scans (`gen_event_catalog.py` seam list, TR-W3), so the catalog and the emitter cannot drift.
|
|
8
|
+
*/
|
|
9
|
+
/** A check produced a finding, a flag or a proposal. */
|
|
10
|
+
export declare const WATCH_FINDING_RAISED = "wicked.crew.watch_finding.raised";
|
|
11
|
+
/** The condition resolved, the operator dismissed it, or a roll-up replaced it. */
|
|
12
|
+
export declare const WATCH_FINDING_CLEARED = "wicked.crew.watch_finding.cleared";
|
|
13
|
+
/** The prefix both types share: the `/ws` relay's tap and the boot hydrate read it. */
|
|
14
|
+
export declare const WATCH_FINDING_PREFIX = "wicked.crew.watch_finding.";
|
|
15
|
+
/** Crew's bus domain column (the `projects/events.ts` precedent). */
|
|
16
|
+
export declare const WATCH_BUS_DOMAIN = "wicked-crew";
|
|
17
|
+
export declare const WATCH_BUS_SUBDOMAIN = "watch";
|
|
18
|
+
export declare const WATCH_PRODUCER = "wicked-crew";
|
|
19
|
+
/** The ONE envelope type the relay puts on `/ws` (api-types `WatchEventFrame`). */
|
|
20
|
+
export declare const WATCH_EVENT_FRAME = "watchEvent";
|
|
21
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/watch/events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AACvE,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,sCAAsC,CAAC;AAEzE,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,+BAA+B,CAAC;AAEjE,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAE5C,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,eAAe,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The watch registry's bus facts (DES-TRIGGER-REGISTRY-001 §4.5, TR-W5a).
|
|
3
|
+
*
|
|
4
|
+
* One owner: crew's watch registry. The event types carry the grammar's bare `crew` segment
|
|
5
|
+
* (`wicked.crew.watch_finding.raised`); the DOMAIN COLUMN is the product-scoped plugin name, as
|
|
6
|
+
* `projects/events.ts` spells it. Declared as `const`s in a file the core event-catalog generator
|
|
7
|
+
* scans (`gen_event_catalog.py` seam list, TR-W3), so the catalog and the emitter cannot drift.
|
|
8
|
+
*/
|
|
9
|
+
/** A check produced a finding, a flag or a proposal. */
|
|
10
|
+
export const WATCH_FINDING_RAISED = 'wicked.crew.watch_finding.raised';
|
|
11
|
+
/** The condition resolved, the operator dismissed it, or a roll-up replaced it. */
|
|
12
|
+
export const WATCH_FINDING_CLEARED = 'wicked.crew.watch_finding.cleared';
|
|
13
|
+
/** The prefix both types share: the `/ws` relay's tap and the boot hydrate read it. */
|
|
14
|
+
export const WATCH_FINDING_PREFIX = 'wicked.crew.watch_finding.';
|
|
15
|
+
/** Crew's bus domain column (the `projects/events.ts` precedent). */
|
|
16
|
+
export const WATCH_BUS_DOMAIN = 'wicked-crew';
|
|
17
|
+
export const WATCH_BUS_SUBDOMAIN = 'watch';
|
|
18
|
+
export const WATCH_PRODUCER = 'wicked-crew';
|
|
19
|
+
/** The ONE envelope type the relay puts on `/ws` (api-types `WatchEventFrame`). */
|
|
20
|
+
export const WATCH_EVENT_FRAME = 'watchEvent';
|
|
21
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/watch/events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;AACvE,mFAAmF;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,mCAAmC,CAAC;AAEzE,uFAAuF;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEjE,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Watch row keys (DES-TRIGGER-REGISTRY-001 §4.5).
|
|
3
|
+
*
|
|
4
|
+
* Every key is `deterministic_key` byte for byte (wicked-core `crate::bus::deterministic_key`,
|
|
5
|
+
* reproduced in `team/key.ts` and pinned there to the DES-TEAMING-002 vectors) over producer-
|
|
6
|
+
* assigned identity only: never content, never a clock. A replay or an at-least-once redelivery
|
|
7
|
+
* therefore resolves to the row already on the bus (the engine's unique index is the dedupe).
|
|
8
|
+
*/
|
|
9
|
+
/** The raised row's key: `["watch", raised, run_id | "-", entry_id, entry_version, subject]`. */
|
|
10
|
+
export declare function raisedKey(runId: string | null, entryId: string, entryVersion: number, subject: string): string;
|
|
11
|
+
/** `watch_id` = `"w-"` + the raised row's key. */
|
|
12
|
+
export declare function watchIdOf(runId: string | null, entryId: string, entryVersion: number, subject: string): string;
|
|
13
|
+
/** The cleared row's key: `["watch", cleared, watch_id, "cleared"]`. One clearing per row. */
|
|
14
|
+
export declare function clearedKey(watchId: string): string;
|
|
15
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/watch/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9G;AAED,kDAAkD;AAClD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9G;AAED,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Watch row keys (DES-TRIGGER-REGISTRY-001 §4.5).
|
|
3
|
+
*
|
|
4
|
+
* Every key is `deterministic_key` byte for byte (wicked-core `crate::bus::deterministic_key`,
|
|
5
|
+
* reproduced in `team/key.ts` and pinned there to the DES-TEAMING-002 vectors) over producer-
|
|
6
|
+
* assigned identity only: never content, never a clock. A replay or an at-least-once redelivery
|
|
7
|
+
* therefore resolves to the row already on the bus (the engine's unique index is the dedupe).
|
|
8
|
+
*/
|
|
9
|
+
import { deterministicKey } from '../team/key.js';
|
|
10
|
+
import { WATCH_FINDING_CLEARED, WATCH_FINDING_RAISED } from './events.js';
|
|
11
|
+
/** The raised row's key: `["watch", raised, run_id | "-", entry_id, entry_version, subject]`. */
|
|
12
|
+
export function raisedKey(runId, entryId, entryVersion, subject) {
|
|
13
|
+
return deterministicKey(['watch', WATCH_FINDING_RAISED, runId ?? '-', entryId, String(entryVersion), subject]);
|
|
14
|
+
}
|
|
15
|
+
/** `watch_id` = `"w-"` + the raised row's key. */
|
|
16
|
+
export function watchIdOf(runId, entryId, entryVersion, subject) {
|
|
17
|
+
return `w-${raisedKey(runId, entryId, entryVersion, subject)}`;
|
|
18
|
+
}
|
|
19
|
+
/** The cleared row's key: `["watch", cleared, watch_id, "cleared"]`. One clearing per row. */
|
|
20
|
+
export function clearedKey(watchId) {
|
|
21
|
+
return deterministicKey(['watch', WATCH_FINDING_CLEARED, watchId, 'cleared']);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/watch/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE1E,iGAAiG;AACjG,MAAM,UAAU,SAAS,CAAC,KAAoB,EAAE,OAAe,EAAE,YAAoB,EAAE,OAAe;IACpG,OAAO,gBAAgB,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,SAAS,CAAC,KAAoB,EAAE,OAAe,EAAE,YAAoB,EAAE,OAAe;IACpG,OAAO,KAAK,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,gBAAgB,CAAC,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The check lanes (DES-TRIGGER-REGISTRY-001 §4.6).
|
|
3
|
+
*
|
|
4
|
+
* DETERMINISTIC. In-process and sequential (the registry drains one input at a time, so a run's
|
|
5
|
+
* inputs are evaluated in order). Each check has a 5 ms budget: a breach is counted, not cut. A
|
|
6
|
+
* check that throws or does not settle within its timeout yields NO output (a failed check never
|
|
7
|
+
* emits "fine") and is reported to the registry, which raises `registry-check-failed` past its
|
|
8
|
+
* threshold.
|
|
9
|
+
*
|
|
10
|
+
* LLM. Not in this slice: the `llm:*` lane, its seat port and `Core.checkOnce` land with TR-W9a/W9.
|
|
11
|
+
* No shipped check is `lane: "llm"`, and the registry refuses to run one (health `llm.enabled:false`).
|
|
12
|
+
*/
|
|
13
|
+
import type { CheckCtx, CheckOutput, KeyPointInput, LoadedEntry, RunWatchState, WatchCheck } from './types.js';
|
|
14
|
+
export interface LaneStats {
|
|
15
|
+
runs: number;
|
|
16
|
+
budgetBreaches: number;
|
|
17
|
+
failures: number;
|
|
18
|
+
timeouts: number;
|
|
19
|
+
}
|
|
20
|
+
export interface DeterministicLaneOptions {
|
|
21
|
+
/** Per-check budget, ms (a breach is counted). */
|
|
22
|
+
budgetMs?: number;
|
|
23
|
+
/** A check that has not settled by then is abandoned and counted as timed out. */
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
/** A check threw or timed out. */
|
|
26
|
+
onFailure?: (entryId: string, reason: 'threw' | 'timeout', err: unknown) => void;
|
|
27
|
+
clock?: () => number;
|
|
28
|
+
}
|
|
29
|
+
export declare class DeterministicLane {
|
|
30
|
+
private readonly opts;
|
|
31
|
+
/** The failure report, guarded: a throwing reporter never makes `run` reject. */
|
|
32
|
+
private report;
|
|
33
|
+
readonly stats: LaneStats;
|
|
34
|
+
private readonly budgetMs;
|
|
35
|
+
private readonly timeoutMs;
|
|
36
|
+
private readonly clock;
|
|
37
|
+
constructor(opts?: DeterministicLaneOptions);
|
|
38
|
+
/** Never throws. */
|
|
39
|
+
run(check: WatchCheck, entry: LoadedEntry, input: KeyPointInput, state: RunWatchState, ctx: CheckCtx): Promise<CheckOutput[]>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=lanes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lanes.d.ts","sourceRoot":"","sources":["../../src/watch/lanes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/G,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAID,qBAAa,iBAAiB;IAehB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAdjC,iFAAiF;IACjF,OAAO,CAAC,MAAM;IAQd,QAAQ,CAAC,KAAK,EAAE,SAAS,CAA4D;IACrF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAER,IAAI,GAAE,wBAA6B;IAMhE,oBAAoB;IACd,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CA+BpI"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The check lanes (DES-TRIGGER-REGISTRY-001 §4.6).
|
|
3
|
+
*
|
|
4
|
+
* DETERMINISTIC. In-process and sequential (the registry drains one input at a time, so a run's
|
|
5
|
+
* inputs are evaluated in order). Each check has a 5 ms budget: a breach is counted, not cut. A
|
|
6
|
+
* check that throws or does not settle within its timeout yields NO output (a failed check never
|
|
7
|
+
* emits "fine") and is reported to the registry, which raises `registry-check-failed` past its
|
|
8
|
+
* threshold.
|
|
9
|
+
*
|
|
10
|
+
* LLM. Not in this slice: the `llm:*` lane, its seat port and `Core.checkOnce` land with TR-W9a/W9.
|
|
11
|
+
* No shipped check is `lane: "llm"`, and the registry refuses to run one (health `llm.enabled:false`).
|
|
12
|
+
*/
|
|
13
|
+
const TIMED_OUT = Symbol('timed-out');
|
|
14
|
+
export class DeterministicLane {
|
|
15
|
+
opts;
|
|
16
|
+
/** The failure report, guarded: a throwing reporter never makes `run` reject. */
|
|
17
|
+
report(entryId, reason, err) {
|
|
18
|
+
try {
|
|
19
|
+
this.opts.onFailure?.(entryId, reason, err);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
/* counted above; the report itself is best-effort */
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
stats = { runs: 0, budgetBreaches: 0, failures: 0, timeouts: 0 };
|
|
26
|
+
budgetMs;
|
|
27
|
+
timeoutMs;
|
|
28
|
+
clock;
|
|
29
|
+
constructor(opts = {}) {
|
|
30
|
+
this.opts = opts;
|
|
31
|
+
this.budgetMs = opts.budgetMs ?? 5;
|
|
32
|
+
this.timeoutMs = opts.timeoutMs ?? 1_000;
|
|
33
|
+
this.clock = opts.clock ?? (() => performance.now());
|
|
34
|
+
}
|
|
35
|
+
/** Never throws. */
|
|
36
|
+
async run(check, entry, input, state, ctx) {
|
|
37
|
+
if (check.lane !== 'deterministic')
|
|
38
|
+
return [];
|
|
39
|
+
this.stats.runs++;
|
|
40
|
+
const t0 = this.clock();
|
|
41
|
+
let timer;
|
|
42
|
+
try {
|
|
43
|
+
const result = check.evaluate(input, state, entry.params, entry.threshold, ctx);
|
|
44
|
+
const settled = Array.isArray(result)
|
|
45
|
+
? result
|
|
46
|
+
: await Promise.race([
|
|
47
|
+
result,
|
|
48
|
+
new Promise((resolve) => {
|
|
49
|
+
timer = setTimeout(() => resolve(TIMED_OUT), this.timeoutMs);
|
|
50
|
+
timer.unref();
|
|
51
|
+
}),
|
|
52
|
+
]);
|
|
53
|
+
if (settled === TIMED_OUT) {
|
|
54
|
+
this.stats.timeouts++;
|
|
55
|
+
this.report(entry.id, 'timeout', null);
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
return Array.isArray(settled) ? settled : [];
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
this.stats.failures++;
|
|
62
|
+
this.report(entry.id, 'threw', err);
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
if (timer !== undefined)
|
|
67
|
+
clearTimeout(timer);
|
|
68
|
+
if (this.clock() - t0 > this.budgetMs)
|
|
69
|
+
this.stats.budgetBreaches++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=lanes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lanes.js","sourceRoot":"","sources":["../../src/watch/lanes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The entry loader (DES-TRIGGER-REGISTRY-001 §4.2).
|
|
3
|
+
*
|
|
4
|
+
* One file per entry, `packages/crew/watch/entries/<id>.json`, versioned with crew. A violating
|
|
5
|
+
* entry is REFUSED with a reason (listed in `GET /watch/health`) and every other entry still loads:
|
|
6
|
+
* one bad file cannot turn watching off. Refused when:
|
|
7
|
+
* - the JSON does not parse, or its id is not `[a-z0-9-]{3,48}` or differs from the file name;
|
|
8
|
+
* - it names a check the check map does not have, or its params / threshold fail the check's schema;
|
|
9
|
+
* - `emit.as` is anything but finding | flag | proposal (no allow-like value exists in the schema);
|
|
10
|
+
* - a bus source names a type that is not a 4-segment `wicked.<domain>.<noun>.<verb>`.
|
|
11
|
+
*
|
|
12
|
+
* The operator may change only `enabled` and `threshold` of a shipped entry (settings `watch.entries`),
|
|
13
|
+
* applied by {@link applyOverrides}; an override whose threshold fails the check's schema is ignored
|
|
14
|
+
* and reported, never half-applied.
|
|
15
|
+
*/
|
|
16
|
+
import type { WatchSettings } from 'wicked-crew-api-types';
|
|
17
|
+
import type { LoadedEntry, WatchCheck } from './types.js';
|
|
18
|
+
/** The shipped entries directory: `packages/crew/watch/entries` (same depth from `src/` and `dist/`). */
|
|
19
|
+
export declare const SHIPPED_ENTRIES_DIR: string;
|
|
20
|
+
export interface Refusal {
|
|
21
|
+
id: string;
|
|
22
|
+
reason: string;
|
|
23
|
+
}
|
|
24
|
+
export interface LoadResult {
|
|
25
|
+
entries: LoadedEntry[];
|
|
26
|
+
refused: Refusal[];
|
|
27
|
+
}
|
|
28
|
+
/** Validate one parsed entry against the schema and the check map. */
|
|
29
|
+
export declare function validateEntry(raw: unknown, fileId: string, checks: ReadonlyMap<string, WatchCheck>): LoadedEntry | Refusal;
|
|
30
|
+
/** Load every `<id>.json` in `dir`. A missing directory loads nothing and says so. */
|
|
31
|
+
export declare function loadEntries(dir: string, checks: ReadonlyMap<string, WatchCheck>): LoadResult;
|
|
32
|
+
/** Why a settings override was not applied (reported in health, never half-applied). */
|
|
33
|
+
export interface OverrideProblem {
|
|
34
|
+
id: string;
|
|
35
|
+
reason: string;
|
|
36
|
+
}
|
|
37
|
+
/** The effective entries: the operator's `enabled` / `threshold` overrides on the shipped ones. */
|
|
38
|
+
export declare function applyOverrides(entries: readonly LoadedEntry[], settings: WatchSettings | undefined, checks: ReadonlyMap<string, WatchCheck>): {
|
|
39
|
+
entries: LoadedEntry[];
|
|
40
|
+
problems: OverrideProblem[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Validate a `PUT /settings` `watch` patch against the loaded entries. Returns the error text for a
|
|
44
|
+
* 400, or `null`. Only `enabled` and `threshold` of a KNOWN entry, and the boolean `llm`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function validateWatchPatch(patch: unknown, entries: readonly LoadedEntry[], checks: ReadonlyMap<string, WatchCheck>): string | null;
|
|
47
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/watch/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,yGAAyG;AACzG,eAAO,MAAM,mBAAmB,QAAiE,CAAC;AAgClG,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAMD,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,WAAW,GAAG,OAAO,CAuB1H;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,CAuB5F;AAED,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mGAAmG;AACnG,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GACtC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAmBzD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GACtC,MAAM,GAAG,IAAI,CA6Bf"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The entry loader (DES-TRIGGER-REGISTRY-001 §4.2).
|
|
3
|
+
*
|
|
4
|
+
* One file per entry, `packages/crew/watch/entries/<id>.json`, versioned with crew. A violating
|
|
5
|
+
* entry is REFUSED with a reason (listed in `GET /watch/health`) and every other entry still loads:
|
|
6
|
+
* one bad file cannot turn watching off. Refused when:
|
|
7
|
+
* - the JSON does not parse, or its id is not `[a-z0-9-]{3,48}` or differs from the file name;
|
|
8
|
+
* - it names a check the check map does not have, or its params / threshold fail the check's schema;
|
|
9
|
+
* - `emit.as` is anything but finding | flag | proposal (no allow-like value exists in the schema);
|
|
10
|
+
* - a bus source names a type that is not a 4-segment `wicked.<domain>.<noun>.<verb>`.
|
|
11
|
+
*
|
|
12
|
+
* The operator may change only `enabled` and `threshold` of a shipped entry (settings `watch.entries`),
|
|
13
|
+
* applied by {@link applyOverrides}; an override whose threshold fails the check's schema is ignored
|
|
14
|
+
* and reported, never half-applied.
|
|
15
|
+
*/
|
|
16
|
+
import { readdirSync, readFileSync } from 'node:fs';
|
|
17
|
+
import { basename, join } from 'node:path';
|
|
18
|
+
import { fileURLToPath } from 'node:url';
|
|
19
|
+
import { z } from 'zod';
|
|
20
|
+
/** The shipped entries directory: `packages/crew/watch/entries` (same depth from `src/` and `dist/`). */
|
|
21
|
+
export const SHIPPED_ENTRIES_DIR = fileURLToPath(new URL('../../watch/entries', import.meta.url));
|
|
22
|
+
const ID = /^[a-z0-9-]{3,48}$/;
|
|
23
|
+
const BUS_TYPE = /^wicked\.[a-z0-9_]+\.[a-z0-9_]+\.[a-z0-9_]+$/;
|
|
24
|
+
const EntrySchema = z
|
|
25
|
+
.object({
|
|
26
|
+
id: z.string().regex(ID, 'id must be [a-z0-9-]{3,48}'),
|
|
27
|
+
version: z.number().int().min(1),
|
|
28
|
+
on: z.object({ source: z.enum(['core', 'bus', 'watchdog', 'internal']), type: z.string().min(1).max(128) }).strict(),
|
|
29
|
+
join: z
|
|
30
|
+
.array(z.object({ source: z.enum(['core', 'bus', 'watchdog']), type: z.string().min(1).max(128) }).strict())
|
|
31
|
+
.max(4)
|
|
32
|
+
.optional(),
|
|
33
|
+
filter: z.record(z.unknown()).default({}),
|
|
34
|
+
check: z.string().min(1),
|
|
35
|
+
params: z.record(z.unknown()).default({}),
|
|
36
|
+
threshold: z.record(z.unknown()).default({}),
|
|
37
|
+
emit: z
|
|
38
|
+
.object({
|
|
39
|
+
as: z.enum(['finding', 'flag', 'proposal']),
|
|
40
|
+
severity: z.enum(['high', 'medium', 'info']),
|
|
41
|
+
watch_kind: z.enum(['problem', 'decision', 'done', 'quiet', 'delivery']),
|
|
42
|
+
attach: z.enum(['gate']).nullable().default(null),
|
|
43
|
+
rate: z.object({ per_run: z.number().int().min(1).max(1_000) }).strict(),
|
|
44
|
+
})
|
|
45
|
+
.strict(),
|
|
46
|
+
priority: z.enum(['p0', 'p1', 'p2']),
|
|
47
|
+
enabled: z.boolean(),
|
|
48
|
+
})
|
|
49
|
+
.strict();
|
|
50
|
+
function zodReason(err) {
|
|
51
|
+
return err.issues.map((i) => `${i.path.join('.') || '(entry)'}: ${i.message}`).join('; ');
|
|
52
|
+
}
|
|
53
|
+
/** Validate one parsed entry against the schema and the check map. */
|
|
54
|
+
export function validateEntry(raw, fileId, checks) {
|
|
55
|
+
const parsed = EntrySchema.safeParse(raw);
|
|
56
|
+
if (!parsed.success)
|
|
57
|
+
return { id: fileId, reason: zodReason(parsed.error) };
|
|
58
|
+
const e = parsed.data;
|
|
59
|
+
if (e.id !== fileId)
|
|
60
|
+
return { id: fileId, reason: `id "${e.id}" differs from the file name "${fileId}.json"` };
|
|
61
|
+
for (const point of [e.on, ...(e.join ?? [])]) {
|
|
62
|
+
if (point.source === 'bus' && !BUS_TYPE.test(point.type)) {
|
|
63
|
+
return { id: e.id, reason: `bus type "${point.type}" is not a 4-segment wicked.<domain>.<noun>.<verb> type` };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const check = checks.get(e.check);
|
|
67
|
+
if (check === undefined)
|
|
68
|
+
return { id: e.id, reason: `unknown check "${e.check}"` };
|
|
69
|
+
const params = check.paramsSchema.safeParse(e.params);
|
|
70
|
+
if (!params.success)
|
|
71
|
+
return { id: e.id, reason: `params: ${zodReason(params.error)}` };
|
|
72
|
+
const threshold = check.thresholdSchema.safeParse(e.threshold);
|
|
73
|
+
if (!threshold.success)
|
|
74
|
+
return { id: e.id, reason: `threshold: ${zodReason(threshold.error)}` };
|
|
75
|
+
const { join, ...rest } = e;
|
|
76
|
+
return {
|
|
77
|
+
...rest,
|
|
78
|
+
...(join !== undefined && join.length > 0 ? { join } : {}),
|
|
79
|
+
params: params.data,
|
|
80
|
+
threshold: threshold.data,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/** Load every `<id>.json` in `dir`. A missing directory loads nothing and says so. */
|
|
84
|
+
export function loadEntries(dir, checks) {
|
|
85
|
+
const entries = [];
|
|
86
|
+
const refused = [];
|
|
87
|
+
let names;
|
|
88
|
+
try {
|
|
89
|
+
names = readdirSync(dir).filter((n) => n.endsWith('.json')).sort();
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
return { entries, refused: [{ id: '(entries)', reason: `cannot read ${basename(dir)}: ${err.message}` }] };
|
|
93
|
+
}
|
|
94
|
+
for (const name of names) {
|
|
95
|
+
const fileId = name.slice(0, -'.json'.length);
|
|
96
|
+
let raw;
|
|
97
|
+
try {
|
|
98
|
+
raw = JSON.parse(readFileSync(join(dir, name), 'utf8'));
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
refused.push({ id: fileId, reason: `not JSON: ${err.message}` });
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
const out = validateEntry(raw, fileId, checks);
|
|
105
|
+
if ('reason' in out)
|
|
106
|
+
refused.push(out);
|
|
107
|
+
else
|
|
108
|
+
entries.push(out);
|
|
109
|
+
}
|
|
110
|
+
return { entries, refused };
|
|
111
|
+
}
|
|
112
|
+
/** The effective entries: the operator's `enabled` / `threshold` overrides on the shipped ones. */
|
|
113
|
+
export function applyOverrides(entries, settings, checks) {
|
|
114
|
+
const problems = [];
|
|
115
|
+
const out = entries.map((e) => {
|
|
116
|
+
const o = settings?.entries?.[e.id];
|
|
117
|
+
if (o === undefined)
|
|
118
|
+
return e;
|
|
119
|
+
let next = e;
|
|
120
|
+
// Validated FIRST: a bad threshold leaves the whole override unapplied (enabled included).
|
|
121
|
+
if (o.threshold !== undefined) {
|
|
122
|
+
const parsed = checks.get(e.check)?.thresholdSchema.safeParse({ ...e.threshold, ...o.threshold });
|
|
123
|
+
if (parsed?.success !== true) {
|
|
124
|
+
problems.push({ id: e.id, reason: `threshold override ignored: ${parsed ? zodReason(parsed.error) : 'no check'}` });
|
|
125
|
+
return e;
|
|
126
|
+
}
|
|
127
|
+
next = { ...next, threshold: parsed.data };
|
|
128
|
+
}
|
|
129
|
+
if (typeof o.enabled === 'boolean')
|
|
130
|
+
next = { ...next, enabled: o.enabled };
|
|
131
|
+
return next;
|
|
132
|
+
});
|
|
133
|
+
return { entries: out, problems };
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Validate a `PUT /settings` `watch` patch against the loaded entries. Returns the error text for a
|
|
137
|
+
* 400, or `null`. Only `enabled` and `threshold` of a KNOWN entry, and the boolean `llm`.
|
|
138
|
+
*/
|
|
139
|
+
export function validateWatchPatch(patch, entries, checks) {
|
|
140
|
+
if (typeof patch !== 'object' || patch === null || Array.isArray(patch))
|
|
141
|
+
return 'watch must be an object';
|
|
142
|
+
for (const key of Object.keys(patch)) {
|
|
143
|
+
if (key !== 'entries' && key !== 'llm')
|
|
144
|
+
return `watch.${key} is not a setting (only watch.entries and watch.llm)`;
|
|
145
|
+
}
|
|
146
|
+
const p = patch;
|
|
147
|
+
if (p.llm !== undefined && typeof p.llm !== 'boolean')
|
|
148
|
+
return 'watch.llm must be a boolean';
|
|
149
|
+
if (p.entries === undefined)
|
|
150
|
+
return null;
|
|
151
|
+
if (typeof p.entries !== 'object' || p.entries === null || Array.isArray(p.entries))
|
|
152
|
+
return 'watch.entries must be an object keyed by entry id';
|
|
153
|
+
for (const [id, raw] of Object.entries(p.entries)) {
|
|
154
|
+
const entry = entries.find((e) => e.id === id);
|
|
155
|
+
if (entry === undefined)
|
|
156
|
+
return `watch.entries.${id}: no such entry`;
|
|
157
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
|
|
158
|
+
return `watch.entries.${id} must be an object`;
|
|
159
|
+
for (const k of Object.keys(raw)) {
|
|
160
|
+
if (k !== 'enabled' && k !== 'threshold')
|
|
161
|
+
return `watch.entries.${id}.${k} cannot be changed (only enabled and threshold)`;
|
|
162
|
+
}
|
|
163
|
+
const o = raw;
|
|
164
|
+
if (o.enabled !== undefined && typeof o.enabled !== 'boolean')
|
|
165
|
+
return `watch.entries.${id}.enabled must be a boolean`;
|
|
166
|
+
if (o.threshold !== undefined) {
|
|
167
|
+
if (typeof o.threshold !== 'object' || o.threshold === null || Array.isArray(o.threshold)) {
|
|
168
|
+
return `watch.entries.${id}.threshold must be an object`;
|
|
169
|
+
}
|
|
170
|
+
const parsed = checks.get(entry.check)?.thresholdSchema.safeParse({ ...entry.threshold, ...o.threshold });
|
|
171
|
+
if (parsed === undefined || !parsed.success) {
|
|
172
|
+
return `watch.entries.${id}.threshold: ${parsed ? zodReason(parsed.error) : 'no check'}`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/watch/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,yGAAyG;AACzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAElG,MAAM,EAAE,GAAG,mBAAmB,CAAC;AAC/B,MAAM,QAAQ,GAAG,8CAA8C,CAAC;AAEhE,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,4BAA4B,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IACpH,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3G,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC3C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACzE,CAAC;SACD,MAAM,EAAE;IACX,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC;KACD,MAAM,EAAE,CAAC;AAYZ,SAAS,SAAS,CAAC,GAAe;IAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,MAAc,EAAE,MAAuC;IACjG,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,iCAAiC,MAAM,QAAQ,EAAE,CAAC;IAC/G,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,KAAK,CAAC,IAAI,yDAAyD,EAAE,CAAC;QAChH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACvF,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAChG,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,MAAM,CAAC,IAA+B;QAC9C,SAAS,EAAE,SAAS,CAAC,IAA+B;KACrD,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,MAAuC;IAC9E,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,QAAQ,CAAC,GAAG,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACxH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAc,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5E,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,IAAI,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAQD,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAC5B,OAA+B,EAC/B,QAAmC,EACnC,MAAuC;IAEvC,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,GAAgB,CAAC,CAAC;QAC1B,2FAA2F;QAC3F,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAClG,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,+BAA+B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACpH,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAA+B,EAAE,CAAC;QACxE,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,OAA+B,EAC/B,MAAuC;IAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,yBAAyB,CAAC;IAC1G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,SAAS,GAAG,sDAAsD,CAAC;IACpH,CAAC;IACD,MAAM,CAAC,GAAG,KAA6C,CAAC;IACxD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,6BAA6B,CAAC;IAC5F,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAAE,OAAO,mDAAmD,CAAC;IAChJ,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,iBAAiB,EAAE,iBAAiB,CAAC;QACrE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,iBAAiB,EAAE,oBAAoB,CAAC;QAClH,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW;gBAAE,OAAO,iBAAiB,EAAE,IAAI,CAAC,iDAAiD,CAAC;QAC7H,CAAC;QACD,MAAM,CAAC,GAAG,GAAiD,CAAC;QAC5D,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,iBAAiB,EAAE,4BAA4B,CAAC;QACtH,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1F,OAAO,iBAAiB,EAAE,8BAA8B,CAAC;YAC3D,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1G,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO,iBAAiB,EAAE,eAAe,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|