wicked-crew 0.16.4 → 0.16.6
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/ask-paths.d.ts +5 -2
- package/dist/api/ask-paths.d.ts.map +1 -1
- package/dist/api/ask-paths.js +6 -3
- package/dist/api/ask-paths.js.map +1 -1
- package/dist/api/chat-scope.d.ts +8 -3
- package/dist/api/chat-scope.d.ts.map +1 -1
- package/dist/api/chat-scope.js +17 -5
- package/dist/api/chat-scope.js.map +1 -1
- package/dist/api/chat-workflow.d.ts +60 -0
- package/dist/api/chat-workflow.d.ts.map +1 -0
- package/dist/api/chat-workflow.js +80 -0
- package/dist/api/chat-workflow.js.map +1 -0
- package/dist/api/endpoint-manifest-live.d.ts.map +1 -1
- package/dist/api/endpoint-manifest-live.js +2 -0
- package/dist/api/endpoint-manifest-live.js.map +1 -1
- package/dist/api/needs.d.ts +116 -0
- package/dist/api/needs.d.ts.map +1 -0
- package/dist/api/needs.js +618 -0
- package/dist/api/needs.js.map +1 -0
- package/dist/api/routes.d.ts +23 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +297 -25
- package/dist/api/routes.js.map +1 -1
- package/dist/api/run-liveness.d.ts +8 -0
- package/dist/api/run-liveness.d.ts.map +1 -1
- package/dist/api/run-liveness.js +39 -7
- package/dist/api/run-liveness.js.map +1 -1
- package/dist/api/run-timing-index.d.ts +6 -0
- package/dist/api/run-timing-index.d.ts.map +1 -1
- package/dist/api/run-timing-index.js +18 -0
- package/dist/api/run-timing-index.js.map +1 -1
- package/dist/api/server.d.ts +8 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +149 -3
- package/dist/api/server.js.map +1 -1
- package/dist/api/system-snapshot.d.ts +7 -15
- package/dist/api/system-snapshot.d.ts.map +1 -1
- package/dist/api/system-snapshot.js +7 -115
- package/dist/api/system-snapshot.js.map +1 -1
- package/dist/core/run-identity.d.ts.map +1 -1
- package/dist/core/run-identity.js +3 -0
- package/dist/core/run-identity.js.map +1 -1
- package/dist/evals/capture.d.ts +93 -0
- package/dist/evals/capture.d.ts.map +1 -0
- package/dist/evals/capture.js +419 -0
- package/dist/evals/capture.js.map +1 -0
- package/dist/evals/replay.d.ts +33 -0
- package/dist/evals/replay.d.ts.map +1 -0
- package/dist/evals/replay.js +87 -0
- package/dist/evals/replay.js.map +1 -0
- package/dist/evals/routes.d.ts +48 -0
- package/dist/evals/routes.d.ts.map +1 -0
- package/dist/evals/routes.js +121 -0
- package/dist/evals/routes.js.map +1 -0
- package/dist/evals/run-cli.d.ts +31 -0
- package/dist/evals/run-cli.d.ts.map +1 -0
- package/dist/evals/run-cli.js +128 -0
- package/dist/evals/run-cli.js.map +1 -0
- package/dist/evals/runner.d.ts +34 -0
- package/dist/evals/runner.d.ts.map +1 -0
- package/dist/evals/runner.js +181 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/evals/score.d.ts +31 -0
- package/dist/evals/score.d.ts.map +1 -0
- package/dist/evals/score.js +191 -0
- package/dist/evals/score.js.map +1 -0
- package/dist/evals/seed-needs-you.d.ts +17 -0
- package/dist/evals/seed-needs-you.d.ts.map +1 -0
- package/dist/evals/seed-needs-you.js +57 -0
- package/dist/evals/seed-needs-you.js.map +1 -0
- package/dist/evals/seed-rig.d.ts +9 -0
- package/dist/evals/seed-rig.d.ts.map +1 -0
- package/dist/evals/seed-rig.js +156 -0
- package/dist/evals/seed-rig.js.map +1 -0
- package/dist/evals/stats.d.ts +31 -0
- package/dist/evals/stats.d.ts.map +1 -0
- package/dist/evals/stats.js +59 -0
- package/dist/evals/stats.js.map +1 -0
- package/dist/evals/steering.d.ts +9 -0
- package/dist/evals/steering.d.ts.map +1 -0
- package/dist/evals/steering.js +25 -0
- package/dist/evals/steering.js.map +1 -0
- package/dist/evals/store.d.ts +26 -0
- package/dist/evals/store.d.ts.map +1 -0
- package/dist/evals/store.js +96 -0
- package/dist/evals/store.js.map +1 -0
- package/dist/evals/synthetic.d.ts +17 -0
- package/dist/evals/synthetic.d.ts.map +1 -0
- package/dist/evals/synthetic.js +71 -0
- package/dist/evals/synthetic.js.map +1 -0
- package/dist/evals/types.d.ts +29 -0
- package/dist/evals/types.d.ts.map +1 -0
- package/dist/evals/types.js +25 -0
- package/dist/evals/types.js.map +1 -0
- package/dist/evals/workflow.d.ts +33 -0
- package/dist/evals/workflow.d.ts.map +1 -0
- package/dist/evals/workflow.js +66 -0
- package/dist/evals/workflow.js.map +1 -0
- package/dist/insights/analyze-cli.d.ts +18 -0
- package/dist/insights/analyze-cli.d.ts.map +1 -0
- package/dist/insights/analyze-cli.js +71 -0
- package/dist/insights/analyze-cli.js.map +1 -0
- package/dist/insights/analyze.d.ts +136 -0
- package/dist/insights/analyze.d.ts.map +1 -0
- package/dist/insights/analyze.js +358 -0
- package/dist/insights/analyze.js.map +1 -0
- package/dist/insights/review-service.d.ts +127 -0
- package/dist/insights/review-service.d.ts.map +1 -0
- package/dist/insights/review-service.js +392 -0
- package/dist/insights/review-service.js.map +1 -0
- package/dist/insights/routes.d.ts +15 -0
- package/dist/insights/routes.d.ts.map +1 -0
- package/dist/insights/routes.js +66 -0
- package/dist/insights/routes.js.map +1 -0
- package/dist/insights/run-facts.d.ts +64 -0
- package/dist/insights/run-facts.d.ts.map +1 -0
- package/dist/insights/run-facts.js +152 -0
- package/dist/insights/run-facts.js.map +1 -0
- package/dist/insights/stats.d.ts +38 -0
- package/dist/insights/stats.d.ts.map +1 -0
- package/dist/insights/stats.js +102 -0
- package/dist/insights/stats.js.map +1 -0
- package/dist/insights/store.d.ts +89 -0
- package/dist/insights/store.d.ts.map +1 -0
- package/dist/insights/store.js +87 -0
- package/dist/insights/store.js.map +1 -0
- package/dist/insights/workflow.d.ts +22 -0
- package/dist/insights/workflow.d.ts.map +1 -0
- package/dist/insights/workflow.js +39 -0
- package/dist/insights/workflow.js.map +1 -0
- package/dist/qe/ledger.d.ts +15 -0
- package/dist/qe/ledger.d.ts.map +1 -1
- package/dist/qe/ledger.js +24 -0
- package/dist/qe/ledger.js.map +1 -1
- package/dist/schedules/routes.d.ts +48 -0
- package/dist/schedules/routes.d.ts.map +1 -0
- package/dist/schedules/routes.js +72 -0
- package/dist/schedules/routes.js.map +1 -0
- package/dist/schedules/scheduler.d.ts +58 -0
- package/dist/schedules/scheduler.d.ts.map +1 -0
- package/dist/schedules/scheduler.js +194 -0
- package/dist/schedules/scheduler.js.map +1 -0
- package/dist/schedules/store.d.ts +67 -0
- package/dist/schedules/store.d.ts.map +1 -0
- package/dist/schedules/store.js +148 -0
- package/dist/schedules/store.js.map +1 -0
- package/dist/skills/runtime.d.ts +12 -2
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +27 -1
- package/dist/skills/runtime.js.map +1 -1
- package/dist/team/routes.d.ts +10 -0
- package/dist/team/routes.d.ts.map +1 -1
- package/dist/team/routes.js +3 -0
- package/dist/team/routes.js.map +1 -1
- package/endpoint-manifest.json +132 -1
- package/package.json +4 -3
- package/workflows/review-recent-work.json +54 -0
- package/workflows/run-evals.json +29 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one "needs you" rule (`GET /system.attention[]`, api-types 0.140.0) and its companion,
|
|
3
|
+
* `unresolved[]`.
|
|
4
|
+
*
|
|
5
|
+
* The operator's rule: anything that is work stuck (the system slowing or preventing it, work that
|
|
6
|
+
* cannot move) is counted, prioritized by impact. So `attention[]` holds one item per ROOT CAUSE
|
|
7
|
+
* holding work up right now:
|
|
8
|
+
*
|
|
9
|
+
* - `prevents`: work cannot move until a person acts (an open gate, a stalled run, a recent
|
|
10
|
+
* failure, a down component, a seat gap with no alternative);
|
|
11
|
+
* - `slows`: the system itself slows work (host load).
|
|
12
|
+
*
|
|
13
|
+
* One cause that holds several runs is ONE item, naming them in `blockedRunIds`. A merge needs
|
|
14
|
+
* evidence, never a similar label: the same repo failing the same check on a base that fails it
|
|
15
|
+
* too (plus the run whose stated problem IS that red base, when it waits at a gate: its gate is the
|
|
16
|
+
* item's action); the same down component a held run's denial names; the same seats leaving runs
|
|
17
|
+
* with no distinct judge. Seat problems fold into the run item they block.
|
|
18
|
+
*
|
|
19
|
+
* What is NOT stuck never counts, and is never hidden either (operator, 2026-10-27: "don't let
|
|
20
|
+
* the system go green with stale jobs"): superseded runs, failed runs older than 7 days and asks
|
|
21
|
+
* parked at their turn gate past a day move to `unresolved[]`, each with what it cost and how to
|
|
22
|
+
* resolve it. Answered asks are not stuck. Pending proposals are `toReview`.
|
|
23
|
+
*
|
|
24
|
+
* Order (DEFINITION §4): runs held, then prevents before slows, then a component before one run's own
|
|
25
|
+
* cause (a component also holds every new run), then the longest wait (the gate's arrival, never the
|
|
26
|
+
* run's launch), then the units left.
|
|
27
|
+
*
|
|
28
|
+
* Pure: every input is a reading the route already made.
|
|
29
|
+
*/
|
|
30
|
+
import type { SessionView, SystemAttentionItem, SystemCli, SystemInfraKey, SystemInfraRow, SystemRun, SystemUnresolvedItem } from '../core/types.js';
|
|
31
|
+
/** A failed run launched longer ago than this is history to resolve, not a need. */
|
|
32
|
+
export declare const FAILED_FRESH_MS: number;
|
|
33
|
+
/** An ask parked at its turn gate longer than this is unresolved work. */
|
|
34
|
+
export declare const PARKED_AFTER_MS = 86400000;
|
|
35
|
+
export interface RunCost {
|
|
36
|
+
costUsd: number | null;
|
|
37
|
+
tokens: {
|
|
38
|
+
input: number;
|
|
39
|
+
output: number;
|
|
40
|
+
} | null;
|
|
41
|
+
}
|
|
42
|
+
export interface NeedsInput {
|
|
43
|
+
now: number;
|
|
44
|
+
/** Every run the engine lists (terminal and archived ones too), decorated. */
|
|
45
|
+
views: readonly SessionView[];
|
|
46
|
+
/** `runs[]`: the unfinished runs with computed liveness and their open gate. */
|
|
47
|
+
runs: readonly SystemRun[];
|
|
48
|
+
infra: readonly SystemInfraRow[];
|
|
49
|
+
clis: readonly SystemCli[];
|
|
50
|
+
/** Runs with no distinct judge in their pool (`judgeGaps`). */
|
|
51
|
+
gaps: ReadonlyArray<{
|
|
52
|
+
run: SystemRun;
|
|
53
|
+
creator: string | null;
|
|
54
|
+
blockedBy: SystemCli[];
|
|
55
|
+
}>;
|
|
56
|
+
/** Whether a down component holds every live run (the container floor's gateway, …). */
|
|
57
|
+
infraHoldsLive: (key: SystemInfraKey) => boolean;
|
|
58
|
+
/** Per-run cost, when its log was read; absent ⇒ unknown. */
|
|
59
|
+
costOf?: (runId: string) => RunCost | undefined;
|
|
60
|
+
}
|
|
61
|
+
export interface Needs {
|
|
62
|
+
attention: SystemAttentionItem[];
|
|
63
|
+
unresolved: SystemUnresolvedItem[];
|
|
64
|
+
unresolvedSpend: {
|
|
65
|
+
costUsd: number | null;
|
|
66
|
+
tokens: {
|
|
67
|
+
input: number;
|
|
68
|
+
output: number;
|
|
69
|
+
} | null;
|
|
70
|
+
costKnown: number;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** "1 job", "4 jobs": a count in words, never "job(s)". */
|
|
74
|
+
export declare const plural: (n: number, one: string, many?: string) => string;
|
|
75
|
+
/**
|
|
76
|
+
* Which run replaced this one, if any: a run naming it in `retry_of`, or a LATER run with the same
|
|
77
|
+
* repo, workflow and title that completed or delivered. A failed run with a retry is resolved by
|
|
78
|
+
* that retry (`retried`); anything else superseded is still the operator's to close.
|
|
79
|
+
*/
|
|
80
|
+
export declare function supersession(views: readonly SessionView[]): Map<string, {
|
|
81
|
+
by: string;
|
|
82
|
+
retried: boolean;
|
|
83
|
+
}>;
|
|
84
|
+
/** An ask's TURN gate (answered by the chat's next message): a terminal gate with every unit done.
|
|
85
|
+
* An ask held at an escalation is a real gate (68c26704). */
|
|
86
|
+
export declare function isAnsweredAsk(v: SessionView, run: SystemRun | undefined): boolean;
|
|
87
|
+
export declare function buildNeeds(input: NeedsInput): Needs;
|
|
88
|
+
/** The level: `red` when an attention item is red; `yellow` when anything needs a look OR is
|
|
89
|
+
* unresolved; `green` only when both are empty. */
|
|
90
|
+
export declare function needsLevel(attention: readonly SystemAttentionItem[], unresolved?: readonly SystemUnresolvedItem[]): 'green' | 'yellow' | 'red';
|
|
91
|
+
/** Fold one run's event log into what it cost (`cliUsage` frames). `null` fields when none carried it. */
|
|
92
|
+
export declare function foldRunCost(events: ReadonlyArray<{
|
|
93
|
+
type?: unknown;
|
|
94
|
+
[k: string]: unknown;
|
|
95
|
+
}>): RunCost;
|
|
96
|
+
/** Per-run cost, read once per terminal run (it cannot change) and briefly for an open one. The
|
|
97
|
+
* snapshot never waits past its bound: a run not read yet reads unknown, and the next read has it. */
|
|
98
|
+
export declare class RunCostCache {
|
|
99
|
+
private readonly ttlMs;
|
|
100
|
+
private readonly now;
|
|
101
|
+
private readonly done;
|
|
102
|
+
private inFlight;
|
|
103
|
+
constructor(ttlMs?: number, now?: () => number);
|
|
104
|
+
get(runId: string): RunCost | undefined;
|
|
105
|
+
/** Read every listed run not cached, stale, or whose `stamp` moved (a failed run resumed and ended
|
|
106
|
+
* again has a new end: its cost is read again); resolves when all are read. */
|
|
107
|
+
fill(runs: ReadonlyArray<{
|
|
108
|
+
id: string;
|
|
109
|
+
final: boolean;
|
|
110
|
+
stamp?: string;
|
|
111
|
+
}>, read: (id: string) => Promise<ReadonlyArray<{
|
|
112
|
+
type?: unknown;
|
|
113
|
+
[k: string]: unknown;
|
|
114
|
+
}> | null>): Promise<void>;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=needs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"needs.d.ts","sourceRoot":"","sources":["../../src/api/needs.ts"],"names":[],"mappings":"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"}
|