@garygentry/system1-core 0.4.1 → 0.5.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/config/consent.d.ts +11 -0
- package/dist/config/consent.d.ts.map +1 -1
- package/dist/config/consent.js +56 -2
- package/dist/config/consent.js.map +1 -1
- package/dist/config/load.d.ts +3 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +14 -1
- package/dist/config/load.js.map +1 -1
- package/dist/decide.d.ts +2 -0
- package/dist/decide.d.ts.map +1 -1
- package/dist/decide.js +2 -1
- package/dist/decide.js.map +1 -1
- package/dist/guard/check.d.ts +44 -0
- package/dist/guard/check.d.ts.map +1 -0
- package/dist/guard/check.js +325 -0
- package/dist/guard/check.js.map +1 -0
- package/dist/guard/done-check.d.ts +67 -0
- package/dist/guard/done-check.d.ts.map +1 -0
- package/dist/guard/done-check.js +165 -0
- package/dist/guard/done-check.js.map +1 -0
- package/dist/guard/gather.d.ts +65 -0
- package/dist/guard/gather.d.ts.map +1 -0
- package/dist/guard/gather.js +288 -0
- package/dist/guard/gather.js.map +1 -0
- package/dist/guard/git.d.ts +15 -0
- package/dist/guard/git.d.ts.map +1 -0
- package/dist/guard/git.js +44 -0
- package/dist/guard/git.js.map +1 -0
- package/dist/guard/packs.d.ts +51 -0
- package/dist/guard/packs.d.ts.map +1 -0
- package/dist/guard/packs.js +160 -0
- package/dist/guard/packs.js.map +1 -0
- package/dist/guard/state.d.ts +94 -0
- package/dist/guard/state.d.ts.map +1 -0
- package/dist/guard/state.js +181 -0
- package/dist/guard/state.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/opportunities/backlog.d.ts.map +1 -1
- package/dist/opportunities/backlog.js +9 -34
- package/dist/opportunities/backlog.js.map +1 -1
- package/dist/prepare.d.ts +2 -0
- package/dist/prepare.d.ts.map +1 -1
- package/dist/prepare.js +1 -0
- package/dist/prepare.js.map +1 -1
- package/dist/run/spend.d.ts +3 -0
- package/dist/run/spend.d.ts.map +1 -1
- package/dist/run/spend.js +1 -0
- package/dist/run/spend.js.map +1 -1
- package/dist/sources/read.d.ts +2 -0
- package/dist/sources/read.d.ts.map +1 -1
- package/dist/sources/read.js +31 -17
- package/dist/sources/read.js.map +1 -1
- package/dist/sources/types.d.ts +4 -1
- package/dist/sources/types.d.ts.map +1 -1
- package/dist/store/file.d.ts +25 -0
- package/dist/store/file.d.ts.map +1 -0
- package/dist/store/file.js +111 -0
- package/dist/store/file.js.map +1 -0
- package/dist/tools/context.d.ts +3 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +2 -1
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/doctor.d.ts +8 -1
- package/dist/tools/doctor.d.ts.map +1 -1
- package/dist/tools/doctor.js +83 -1
- package/dist/tools/doctor.js.map +1 -1
- package/dist/tools/hook.d.ts +46 -0
- package/dist/tools/hook.d.ts.map +1 -0
- package/dist/tools/hook.js +156 -0
- package/dist/tools/hook.js.map +1 -0
- package/dist/tools/schemas.d.ts +24 -0
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -0
- package/dist/tools/schemas.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -1
package/dist/tools/doctor.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type Harness } from "../config/session.js";
|
|
|
2
2
|
import { type ContextOptions } from "./context.js";
|
|
3
3
|
export type CheckStatus = "ok" | "warn" | "fail";
|
|
4
4
|
/** Every check doctor can report, in report order. `docs/troubleshooting.md` covers each. */
|
|
5
|
-
export declare const DOCTOR_CHECKS: readonly ["cli", "config", "config-keys", "path", "path-version", "key", "consent", "route", "backlog", "network"];
|
|
5
|
+
export declare const DOCTOR_CHECKS: readonly ["cli", "config", "config-keys", "path", "path-version", "key", "consent", "route", "guard", "backlog", "network"];
|
|
6
6
|
export interface DoctorCheck {
|
|
7
7
|
name: (typeof DOCTOR_CHECKS)[number];
|
|
8
8
|
status: CheckStatus;
|
|
@@ -34,6 +34,13 @@ export interface DoctorOptions extends ContextOptions {
|
|
|
34
34
|
*/
|
|
35
35
|
probeVersion?: (path: string) => Promise<string | undefined>;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Codex runs a plugin's hooks only after the user trusts them, recorded per
|
|
39
|
+
* hook in `$CODEX_HOME/config.toml` (M10 spike). `absent`: the system1 plugin
|
|
40
|
+
* isn't installed in Codex, so there's nothing to trust. The hash itself
|
|
41
|
+
* isn't checked: only that a trust entry exists for the Stop hook.
|
|
42
|
+
*/
|
|
43
|
+
export declare function codexHookTrust(env: NodeJS.ProcessEnv, home?: string): "absent" | "trusted" | "untrusted";
|
|
37
44
|
export declare const CODEX_RULE = "prefix_rule(pattern = [\"decide\"], decision = \"allow\")";
|
|
38
45
|
export declare function runDoctor(options: DoctorOptions): Promise<DoctorResult>;
|
|
39
46
|
/** The first executable file `name` on `path`, like `command -v`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/tools/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/tools/doctor.ts"],"names":[],"mappings":"AAYA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAOlE,OAAO,EAAE,KAAK,cAAc,EAAmC,MAAM,cAAc,CAAA;AAEnF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,6FAA6F;AAC7F,eAAO,MAAM,aAAa,YACxB,KAAK,EACL,QAAQ,EACR,aAAa,EACb,MAAM,EACN,cAAc,EACd,KAAK,EACL,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,CACD,CAAA;AAEV,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAA;IAChB,2FAA2F;IAC3F,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAC7D;AA+CD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,GAAE,MAAkB,GACvB,QAAQ,GAAG,SAAS,GAAG,WAAW,CA+BpC;AA6DD,eAAO,MAAM,UAAU,8DAA0D,CAAA;AAEjF,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAwI7E;AAwFD,qEAAqE;AACrE,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUpE"}
|
package/dist/tools/doctor.js
CHANGED
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
* Unlike the other tools it builds its own context: a broken config is one of
|
|
7
7
|
* the things it diagnoses, so it must not fail before it can report it.
|
|
8
8
|
*/
|
|
9
|
-
import { accessSync, constants, existsSync, statSync } from "node:fs";
|
|
9
|
+
import { accessSync, constants, existsSync, readFileSync, statSync } from "node:fs";
|
|
10
|
+
import { homedir } from "node:os";
|
|
10
11
|
import { delimiter, join } from "node:path";
|
|
11
12
|
import { userConfigDir } from "../config/load.js";
|
|
12
13
|
import { detectHarness } from "../config/session.js";
|
|
13
14
|
import { isDecisionsError } from "../errors.js";
|
|
15
|
+
import { PACK_NAMES } from "../guard/packs.js";
|
|
14
16
|
import { backlogPath, readBacklog } from "../opportunities/backlog.js";
|
|
15
17
|
import { ping } from "../ping.js";
|
|
16
18
|
import { activeTriggers, route } from "../route/route.js";
|
|
@@ -26,9 +28,88 @@ export const DOCTOR_CHECKS = [
|
|
|
26
28
|
"key",
|
|
27
29
|
"consent",
|
|
28
30
|
"route",
|
|
31
|
+
"guard",
|
|
29
32
|
"backlog",
|
|
30
33
|
"network",
|
|
31
34
|
];
|
|
35
|
+
/** Guard packs (M10): which are active, and any enabled without consent (dormant). */
|
|
36
|
+
function guardCheck(config, env, home, cliPath) {
|
|
37
|
+
const enabled = PACK_NAMES.filter((name) => config.guard.packs[name].enabled);
|
|
38
|
+
if (enabled.length === 0)
|
|
39
|
+
return { name: "guard", status: "ok", detail: "no guard pack enabled (all dormant)" };
|
|
40
|
+
if (!config.egress.consent.granted) {
|
|
41
|
+
return {
|
|
42
|
+
name: "guard",
|
|
43
|
+
status: "warn",
|
|
44
|
+
detail: `${enabled.join(", ")} enabled, but this repo has no egress consent: dormant`,
|
|
45
|
+
fix: "grant consent (see the consent check), or turn it off with `decide guard disable <pack>`",
|
|
46
|
+
// The consent check already stands between this shell and a live decision.
|
|
47
|
+
advisory: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const codex = codexHookTrust(env, home);
|
|
51
|
+
if (codex === "untrusted") {
|
|
52
|
+
return {
|
|
53
|
+
name: "guard",
|
|
54
|
+
status: "warn",
|
|
55
|
+
detail: `active: ${enabled.join(", ")}; but Codex hasn't trusted the system1 hooks, so it skips them without a word`,
|
|
56
|
+
fix: "open Codex interactively in this repo once and trust the system1 hooks when it asks (after a plugin update it may ask again)",
|
|
57
|
+
advisory: true,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// The hook runs with SYSTEM1_NO_NPX: it never downloads. Run from npx's
|
|
61
|
+
// cache, it finds this copy (as fast as a global install) until a plugin
|
|
62
|
+
// update or a cache clean removes it; then the check is skipped silently.
|
|
63
|
+
if (cliPath && /[\\/]_npx[\\/]/.test(cliPath)) {
|
|
64
|
+
return {
|
|
65
|
+
name: "guard",
|
|
66
|
+
status: "warn",
|
|
67
|
+
detail: `active: ${enabled.join(", ")}; but decide runs from npx's cache, which the hooks never download into: after a plugin update or an npm cache clean, the check is skipped silently until decide runs once`,
|
|
68
|
+
fix: "npm i -g @garygentry/system1",
|
|
69
|
+
advisory: true,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return { name: "guard", status: "ok", detail: `active: ${enabled.join(", ")}` };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Codex runs a plugin's hooks only after the user trusts them, recorded per
|
|
76
|
+
* hook in `$CODEX_HOME/config.toml` (M10 spike). `absent`: the system1 plugin
|
|
77
|
+
* isn't installed in Codex, so there's nothing to trust. The hash itself
|
|
78
|
+
* isn't checked: only that a trust entry exists for the Stop hook.
|
|
79
|
+
*/
|
|
80
|
+
export function codexHookTrust(env, home = homedir()) {
|
|
81
|
+
const file = join(env.CODEX_HOME?.trim() || join(home, ".codex"), "config.toml");
|
|
82
|
+
let text;
|
|
83
|
+
try {
|
|
84
|
+
text = readFileSync(file, "utf8");
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return "absent";
|
|
88
|
+
}
|
|
89
|
+
const section = (header) => {
|
|
90
|
+
const out = [];
|
|
91
|
+
const lines = text.split(/\r?\n/);
|
|
92
|
+
lines.forEach((line, n) => {
|
|
93
|
+
if (!header.test(line))
|
|
94
|
+
return;
|
|
95
|
+
const body = [];
|
|
96
|
+
for (const next of lines.slice(n + 1)) {
|
|
97
|
+
if (/^\s*\[/.test(next))
|
|
98
|
+
break;
|
|
99
|
+
body.push(next);
|
|
100
|
+
}
|
|
101
|
+
out.push(body.join("\n"));
|
|
102
|
+
});
|
|
103
|
+
return out;
|
|
104
|
+
};
|
|
105
|
+
const plugin = section(/^\s*\[plugins\."system1@[^"]+"\]\s*$/);
|
|
106
|
+
if (plugin.length === 0 || plugin.every((b) => /^\s*enabled\s*=\s*false\b/m.test(b))) {
|
|
107
|
+
return "absent";
|
|
108
|
+
}
|
|
109
|
+
// The key names the hooks file as Codex resolved it; match any form of it.
|
|
110
|
+
const trust = section(/^\s*\[hooks\.state\."system1@[^"]+:[^"]*codex-hooks\.json:stop:[^"]*"\]\s*$/);
|
|
111
|
+
return trust.some((b) => /^\s*trusted_hash\s*=/m.test(b)) ? "trusted" : "untrusted";
|
|
112
|
+
}
|
|
32
113
|
/**
|
|
33
114
|
* The routing hook stays silent on a config error rather than get in the
|
|
34
115
|
* user's way, so this is where a bad pattern shows up.
|
|
@@ -169,6 +250,7 @@ export async function runDoctor(options) {
|
|
|
169
250
|
"prompt's shell escape (not as a chat message) with --confirm added",
|
|
170
251
|
});
|
|
171
252
|
checks.push(routeCheck(config.route));
|
|
253
|
+
checks.push(guardCheck(config, env, options.home, options.cliPath));
|
|
172
254
|
checks.push(backlogCheck(config.repoRoot));
|
|
173
255
|
let reach;
|
|
174
256
|
try {
|
package/dist/tools/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/tools/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/tools/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decide hook <pack>` (M10 §4): run a guard pack on a harness hook event.
|
|
3
|
+
*
|
|
4
|
+
* It reads the event the harness sends on stdin and returns the harness's
|
|
5
|
+
* own hook JSON, not the `{v, ok, …}` envelope (0015, M10 amendment).
|
|
6
|
+
*
|
|
7
|
+
* - **Dormant by default.** Unless the pack is enabled in this repo and the
|
|
8
|
+
* repo has egress consent, it returns `{}` having loaded only the config:
|
|
9
|
+
* nothing is sent, nothing is written.
|
|
10
|
+
* - **Fail open, never silently.** Once a pack is active, any failure
|
|
11
|
+
* (provider, timeout, replay miss, budget, size, git, state, a bug) allows
|
|
12
|
+
* the stop and says why in a `systemMessage`, so the user can tell "checked
|
|
13
|
+
* and fine" from "not checked".
|
|
14
|
+
*/
|
|
15
|
+
import { type LoadOptions } from "../config/load.js";
|
|
16
|
+
import type { DecideMode } from "../decide.js";
|
|
17
|
+
import type { HookOutput, PackContext } from "../guard/done-check.js";
|
|
18
|
+
import { type PackName } from "../guard/packs.js";
|
|
19
|
+
export type { HookEvent, HookOutput } from "../guard/done-check.js";
|
|
20
|
+
/** A hook command's own ceiling: the generated wiring gives the harness 60 s. */
|
|
21
|
+
export declare const HOOK_LATENCY_CEILING_MS = 55000;
|
|
22
|
+
export interface HookOptions extends LoadOptions {
|
|
23
|
+
/** Which harness's wiring ran this; inferred from the event when absent. */
|
|
24
|
+
harness?: "claude" | "codex";
|
|
25
|
+
/** The provider's fetch, for tests. */
|
|
26
|
+
fetch?: typeof fetch;
|
|
27
|
+
/** For tests: replaces a pack's module. */
|
|
28
|
+
packs?: Partial<Record<PackName, PackModule>>;
|
|
29
|
+
now?: Date;
|
|
30
|
+
/** For evals: `record` keeps each live answer as a replay fixture. Default `auto`. */
|
|
31
|
+
mode?: DecideMode;
|
|
32
|
+
}
|
|
33
|
+
export interface PackModule {
|
|
34
|
+
sessionStart(ctx: PackContext): HookOutput | Promise<HookOutput>;
|
|
35
|
+
stop(ctx: PackContext): Promise<HookOutput>;
|
|
36
|
+
}
|
|
37
|
+
/** The same rules as `decide schema hook`: the fields read here, others allowed. */
|
|
38
|
+
export declare function checkHookEvent(input: unknown): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Run `pack` on `rawEvent`. Never throws and never rejects: every outcome is a
|
|
41
|
+
* hook response, so the CLI can always exit 0.
|
|
42
|
+
*/
|
|
43
|
+
export declare function runHook(pack: string, rawEvent: unknown, options?: HookOptions): Promise<HookOutput>;
|
|
44
|
+
/** Why a check didn't happen, in words a user can act on. Never includes content. */
|
|
45
|
+
export declare function failOpenReason(error: unknown, latencyMs: number): string;
|
|
46
|
+
//# sourceMappingURL=hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/tools/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAa,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE7D,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnE,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAE7C,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,4EAA4E;IAC5E,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAC7C,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,sFAAsF;IACtF,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAChE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC5C;AAID,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAevD;AAMD;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAsErB;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA4BxE"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decide hook <pack>` (M10 §4): run a guard pack on a harness hook event.
|
|
3
|
+
*
|
|
4
|
+
* It reads the event the harness sends on stdin and returns the harness's
|
|
5
|
+
* own hook JSON, not the `{v, ok, …}` envelope (0015, M10 amendment).
|
|
6
|
+
*
|
|
7
|
+
* - **Dormant by default.** Unless the pack is enabled in this repo and the
|
|
8
|
+
* repo has egress consent, it returns `{}` having loaded only the config:
|
|
9
|
+
* nothing is sent, nothing is written.
|
|
10
|
+
* - **Fail open, never silently.** Once a pack is active, any failure
|
|
11
|
+
* (provider, timeout, replay miss, budget, size, git, state, a bug) allows
|
|
12
|
+
* the stop and says why in a `systemMessage`, so the user can tell "checked
|
|
13
|
+
* and fine" from "not checked".
|
|
14
|
+
*/
|
|
15
|
+
import { loadConfig } from "../config/load.js";
|
|
16
|
+
import { isDecisionsError } from "../errors.js";
|
|
17
|
+
import { isPackName } from "../guard/packs.js";
|
|
18
|
+
/** A hook command's own ceiling: the generated wiring gives the harness 60 s. */
|
|
19
|
+
export const HOOK_LATENCY_CEILING_MS = 55_000;
|
|
20
|
+
const SESSION_ID = /^[A-Za-z0-9._-]{1,128}$/;
|
|
21
|
+
/** The same rules as `decide schema hook`: the fields read here, others allowed. */
|
|
22
|
+
export function checkHookEvent(input) {
|
|
23
|
+
if (typeof input !== "object" || input === null || Array.isArray(input))
|
|
24
|
+
return ["/ must be an object"];
|
|
25
|
+
const e = input;
|
|
26
|
+
const problems = [];
|
|
27
|
+
for (const key of ["hook_event_name", "session_id", "cwd"]) {
|
|
28
|
+
if (typeof e[key] !== "string" || !e[key])
|
|
29
|
+
problems.push(`/${key} must be a non-empty string`);
|
|
30
|
+
}
|
|
31
|
+
if (e.stop_hook_active !== undefined && typeof e.stop_hook_active !== "boolean")
|
|
32
|
+
problems.push("/stop_hook_active must be a boolean");
|
|
33
|
+
for (const key of ["source", "turn_id"]) {
|
|
34
|
+
if (e[key] !== undefined && typeof e[key] !== "string")
|
|
35
|
+
problems.push(`/${key} must be a string`);
|
|
36
|
+
}
|
|
37
|
+
return problems;
|
|
38
|
+
}
|
|
39
|
+
const say = (pack, text) => ({
|
|
40
|
+
systemMessage: `System 1 ${pack}: ${text}`,
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Run `pack` on `rawEvent`. Never throws and never rejects: every outcome is a
|
|
44
|
+
* hook response, so the CLI can always exit 0.
|
|
45
|
+
*/
|
|
46
|
+
export async function runHook(pack, rawEvent, options = {}) {
|
|
47
|
+
const now = options.now ?? new Date();
|
|
48
|
+
const event = rawEvent;
|
|
49
|
+
const problems = checkHookEvent(rawEvent);
|
|
50
|
+
// Where to look for config: the event's cwd, else where the harness ran us.
|
|
51
|
+
const cwd = problems.length === 0 ? event.cwd : (options.cwd ?? process.cwd());
|
|
52
|
+
const harness = options.harness ?? (typeof event?.turn_id === "string" ? "codex" : "claude");
|
|
53
|
+
const usableId = problems.length === 0 && SESSION_ID.test(event.session_id);
|
|
54
|
+
// The pack's decide calls go to the ledger under the harness's session, the
|
|
55
|
+
// same id the agent's own calls use, so the per-session cap can find them.
|
|
56
|
+
const env = options.env ?? process.env;
|
|
57
|
+
const session = env.SYSTEM1_SESSION || (usableId ? `${harness}:${event.session_id}` : undefined);
|
|
58
|
+
let config;
|
|
59
|
+
try {
|
|
60
|
+
config = loadConfig({
|
|
61
|
+
...options,
|
|
62
|
+
cwd,
|
|
63
|
+
env: session ? { ...env, SYSTEM1_SESSION: session } : env,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// A broken config can't say whether a pack is on; `decide doctor` reports it.
|
|
68
|
+
return {};
|
|
69
|
+
}
|
|
70
|
+
// An unknown pack is a wiring/version mismatch, not an active check: stay
|
|
71
|
+
// dormant rather than speak in every session of every repo (doctor can tell).
|
|
72
|
+
if (!isPackName(pack))
|
|
73
|
+
return {};
|
|
74
|
+
const settings = config.guard.packs[pack];
|
|
75
|
+
if (!settings.enabled || !config.egress.consent.granted)
|
|
76
|
+
return {};
|
|
77
|
+
if (problems.length > 0) {
|
|
78
|
+
return say(pack, `not checked: the harness sent an unexpected event (${problems[0]})`);
|
|
79
|
+
}
|
|
80
|
+
if (event.stop_hook_active === true)
|
|
81
|
+
return {};
|
|
82
|
+
if (!usableId)
|
|
83
|
+
return say(pack, "not checked: the harness sent a session id it can't use");
|
|
84
|
+
const latencyMs = Math.min(settings.latencyMs, HOOK_LATENCY_CEILING_MS);
|
|
85
|
+
const controller = new AbortController();
|
|
86
|
+
let timer;
|
|
87
|
+
const deadline = new Promise((resolve) => {
|
|
88
|
+
timer = setTimeout(() => {
|
|
89
|
+
controller.abort();
|
|
90
|
+
resolve(say(pack, `not checked: it took longer than ${latencyMs} ms (latencyMs)`));
|
|
91
|
+
}, latencyMs);
|
|
92
|
+
});
|
|
93
|
+
const work = (async () => {
|
|
94
|
+
const mod = options.packs?.[pack] ?? (await import("../guard/done-check.js"));
|
|
95
|
+
const ctx = {
|
|
96
|
+
repoRoot: config.repoRoot,
|
|
97
|
+
sessionKey: `${harness}:${event.session_id}`,
|
|
98
|
+
ledgerSession: config.session ?? `${harness}:${event.session_id}`,
|
|
99
|
+
tool: {
|
|
100
|
+
cwd: config.repoRoot,
|
|
101
|
+
env: session ? { ...env, SYSTEM1_SESSION: session } : env,
|
|
102
|
+
...(options.home ? { home: options.home } : {}),
|
|
103
|
+
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
104
|
+
},
|
|
105
|
+
harness,
|
|
106
|
+
pack: settings,
|
|
107
|
+
event,
|
|
108
|
+
signal: controller.signal,
|
|
109
|
+
now,
|
|
110
|
+
...(options.mode ? { mode: options.mode } : {}),
|
|
111
|
+
};
|
|
112
|
+
if (event.hook_event_name === "SessionStart")
|
|
113
|
+
return mod.sessionStart(ctx);
|
|
114
|
+
if (event.hook_event_name === "Stop")
|
|
115
|
+
return mod.stop(ctx);
|
|
116
|
+
return {};
|
|
117
|
+
})().catch((error) => say(pack, `not checked: ${failOpenReason(error, latencyMs)}`));
|
|
118
|
+
try {
|
|
119
|
+
return await Promise.race([work, deadline]);
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
clearTimeout(timer);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/** Why a check didn't happen, in words a user can act on. Never includes content. */
|
|
126
|
+
export function failOpenReason(error, latencyMs) {
|
|
127
|
+
if (error?.name === "AbortError")
|
|
128
|
+
return `it took longer than ${latencyMs} ms (latencyMs)`;
|
|
129
|
+
if (!isDecisionsError(error))
|
|
130
|
+
return "an internal error; run `decide doctor`";
|
|
131
|
+
switch (error.code) {
|
|
132
|
+
case "egress-refused":
|
|
133
|
+
return "this repo has no egress consent";
|
|
134
|
+
case "no-key":
|
|
135
|
+
return "no API key is set";
|
|
136
|
+
case "provider-unreachable":
|
|
137
|
+
case "provider-http":
|
|
138
|
+
case "malformed-response":
|
|
139
|
+
case "unknown-model":
|
|
140
|
+
return `the decision model's provider failed (${error.code})`;
|
|
141
|
+
case "replay-miss":
|
|
142
|
+
return "replay is forced (SYSTEM1_REPLAY) and has no recorded answer";
|
|
143
|
+
case "budget-exceeded":
|
|
144
|
+
return error.message.split("\n")[0] ?? "the spend cap was reached";
|
|
145
|
+
case "state-too-large":
|
|
146
|
+
return "the change is too large to send";
|
|
147
|
+
case "source-error":
|
|
148
|
+
return `git failed (${error.message})`;
|
|
149
|
+
case "invalid-request":
|
|
150
|
+
case "config-error":
|
|
151
|
+
return error.message.split("\n")[0] ?? error.code;
|
|
152
|
+
default:
|
|
153
|
+
return "an internal error; run `decide doctor`";
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/tools/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAoB,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAI7D,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAmB7C,MAAM,UAAU,GAAG,yBAAyB,CAAA;AAE5C,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAChC,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC,CAAA;IAChG,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,SAAS;QAC7E,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;IACtD,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ;YACpD,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAY,EAAc,EAAE,CAAC,CAAC;IACvD,aAAa,EAAE,YAAY,IAAI,KAAK,IAAI,EAAE;CAC3C,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAY,EACZ,QAAiB,EACjB,OAAO,GAAgB,EAAE;IAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,QAAqB,CAAA;IACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,4EAA4E;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC5F,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChG,IAAI,MAAqC,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC;YAClB,GAAG,OAAO;YACV,GAAG;YACH,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG;SAC1D,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;QAC9E,OAAO,EAAE,CAAA;IACX,CAAC;IACD,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,IAAI,EAAE,sDAAsD,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,yDAAyD,CAAC,CAAA;IAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAA;IACvE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,IAAI,KAAiC,CAAA;IACrC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE;QACnD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAA;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,oCAAoC,SAAS,iBAAiB,CAAC,CAAC,CAAA;QACpF,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,KAAK,IAAyB,EAAE;QAC5C,MAAM,GAAG,GAAe,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACzF,MAAM,GAAG,GAAgB;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,GAAG,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE;YAC5C,aAAa,EAAE,MAAM,CAAC,OAAO,IAAI,GAAG,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE;YACjE,IAAI,EAAE;gBACJ,GAAG,EAAE,MAAM,CAAC,QAAQ;gBACpB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG;gBACzD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD;YACD,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,GAAG;YACH,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAA;QACD,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc;YAAE,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1E,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1D,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7F,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7C,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,SAAiB;IAC9D,IAAK,KAA4B,EAAE,IAAI,KAAK,YAAY;QACtD,OAAO,uBAAuB,SAAS,iBAAiB,CAAA;IAC1D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,wCAAwC,CAAA;IAC7E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,iCAAiC,CAAA;QAC1C,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAA;QAC5B,KAAK,sBAAsB,CAAC;QAC5B,KAAK,eAAe,CAAC;QACrB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,eAAe;YAClB,OAAO,yCAAyC,KAAK,CAAC,IAAI,GAAG,CAAA;QAC/D,KAAK,aAAa;YAChB,OAAO,8DAA8D,CAAA;QACvE,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAA;QACpE,KAAK,iBAAiB;YACpB,OAAO,iCAAiC,CAAA;QAC1C,KAAK,cAAc;YACjB,OAAO,eAAe,KAAK,CAAC,OAAO,GAAG,CAAA;QACxC,KAAK,iBAAiB,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAA;QACnD;YACE,OAAO,wCAAwC,CAAA;IACnD,CAAC;AACH,CAAC"}
|
package/dist/tools/schemas.d.ts
CHANGED
|
@@ -215,6 +215,20 @@ export declare const RouteInput: Type.TObject<{
|
|
|
215
215
|
/** The user's prompt, as the harness hook received it. */
|
|
216
216
|
prompt: Type.TString;
|
|
217
217
|
}>;
|
|
218
|
+
/**
|
|
219
|
+
* A harness hook event, as Claude Code and Codex send it to `decide hook`.
|
|
220
|
+
* Only the fields the runner reads are described; harnesses add others.
|
|
221
|
+
*/
|
|
222
|
+
export declare const HookEvent: Type.TObject<{
|
|
223
|
+
hook_event_name: Type.TString;
|
|
224
|
+
session_id: Type.TString;
|
|
225
|
+
cwd: Type.TString;
|
|
226
|
+
source: Type.TOptional<Type.TString>;
|
|
227
|
+
stop_hook_active: Type.TOptional<Type.TBoolean>;
|
|
228
|
+
transcript_path: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
229
|
+
turn_id: Type.TOptional<Type.TString>;
|
|
230
|
+
last_assistant_message: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
231
|
+
}>;
|
|
218
232
|
export type AskInput = Static<typeof AskInput>;
|
|
219
233
|
export type ManyInput = Static<typeof ManyInput>;
|
|
220
234
|
export type UsageInput = Static<typeof UsageInput>;
|
|
@@ -440,6 +454,16 @@ export declare const TOOL_SCHEMAS: {
|
|
|
440
454
|
/** The user's prompt, as the harness hook received it. */
|
|
441
455
|
prompt: Type.TString;
|
|
442
456
|
}>;
|
|
457
|
+
readonly hook: Type.TObject<{
|
|
458
|
+
hook_event_name: Type.TString;
|
|
459
|
+
session_id: Type.TString;
|
|
460
|
+
cwd: Type.TString;
|
|
461
|
+
source: Type.TOptional<Type.TString>;
|
|
462
|
+
stop_hook_active: Type.TOptional<Type.TBoolean>;
|
|
463
|
+
transcript_path: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
464
|
+
turn_id: Type.TOptional<Type.TString>;
|
|
465
|
+
last_assistant_message: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
466
|
+
}>;
|
|
443
467
|
};
|
|
444
468
|
export type ToolName = keyof typeof TOOL_SCHEMAS;
|
|
445
469
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAqE3C,eAAO,MAAM,QAAQ;IA7BnB,0DAA0D;;IAE1D,8DAA8D;;;;;;;;;;;;;;IAE9D,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;IAErE;;;OAGG;;IAEH,qDAAqD;;IAErD,8DAA8D;;IAE9D,kFAAkF;;;;IAIlF;;;OAGG;;EAO8C,CAAA;AAEnD,eAAO,MAAM,SAAS;IA/BpB,0DAA0D;;IAE1D,8DAA8D;;;;;;;;;;;;;;IAE9D,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;IAErE;;;OAGG;;IAEH,qDAAqD;;IAErD,8DAA8D;;IAE9D,kFAAkF;;;;IAIlF;;;OAGG;;;;IAcD,2CAA2C;;IAE3C,8DAA8D;;IAE9D,oCAAoC;;;EAKvC,CAAA;AAED,eAAO,MAAM,UAAU;IAEnB,oEAAoE;;IAEpE,6BAA6B;;EAIhC,CAAA;AAED,eAAO,MAAM,cAAc;IAEvB,iDAAiD;;IAEjD,6FAA6F;;;IAG7F,oCAAoC;;EAIvC,CAAA;AAED,eAAO,MAAM,aAAa;IAEtB,+EAA+E;;EAIlF,CAAA;AAED,eAAO,MAAM,qBAAqB;IAE9B,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIjE,CAAA;AAED,eAAO,MAAM,sBAAsB;IAE/B,qFAAqF;;IAErF,sDAAsD;;;IAGtD,6DAA6D;;EAIhE,CAAA;AAED,eAAO,MAAM,uBAAuB,kBAA0B,CAAA;AAE9D,eAAO,MAAM,UAAU;IAEnB,0DAA0D;;EAI7D,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAA;AAC9C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAA;AAChD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAA;AAClD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAA;AAC1D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAA;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAA;AACxD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACxE,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE1E,eAAO,MAAM,YAAY;aACvB,GAAG;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/schemas.js
CHANGED
|
@@ -110,6 +110,20 @@ export const RouteInput = Type.Object({
|
|
|
110
110
|
/** The user's prompt, as the harness hook received it. */
|
|
111
111
|
prompt: Type.String(),
|
|
112
112
|
}, strict);
|
|
113
|
+
/**
|
|
114
|
+
* A harness hook event, as Claude Code and Codex send it to `decide hook`.
|
|
115
|
+
* Only the fields the runner reads are described; harnesses add others.
|
|
116
|
+
*/
|
|
117
|
+
export const HookEvent = Type.Object({
|
|
118
|
+
hook_event_name: Type.String({ minLength: 1, description: "SessionStart or Stop" }),
|
|
119
|
+
session_id: Type.String({ minLength: 1 }),
|
|
120
|
+
cwd: Type.String({ minLength: 1 }),
|
|
121
|
+
source: Type.Optional(Type.String({ description: "SessionStart: startup, resume, clear, compact" })),
|
|
122
|
+
stop_hook_active: Type.Optional(Type.Boolean()),
|
|
123
|
+
transcript_path: Type.Optional(Type.Union([Type.String(), Type.Null()])),
|
|
124
|
+
turn_id: Type.Optional(Type.String({ description: "Codex only" })),
|
|
125
|
+
last_assistant_message: Type.Optional(Type.Union([Type.String(), Type.Null()])),
|
|
126
|
+
}, { additionalProperties: true });
|
|
113
127
|
export const TOOL_SCHEMAS = {
|
|
114
128
|
ask: AskInput,
|
|
115
129
|
many: ManyInput,
|
|
@@ -120,5 +134,6 @@ export const TOOL_SCHEMAS = {
|
|
|
120
134
|
"opportunities-list": OpportunitiesListInput,
|
|
121
135
|
"opportunities-check": OpportunitiesCheckInput,
|
|
122
136
|
route: RouteInput,
|
|
137
|
+
hook: HookEvent,
|
|
123
138
|
};
|
|
124
139
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// GENERATED — DO NOT EDIT (source: catalog.yaml, via tools/generate.ts)
|
|
2
|
-
export const VERSION = "0.
|
|
2
|
+
export const VERSION = "0.5.0";
|
|
3
3
|
/** The npm package that provides `decide`. */
|
|
4
4
|
export const CLI_PACKAGE = "@garygentry/system1";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@garygentry/system1-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Engine for decision-model calls: model profiles, transport, sources, fixtures, spend.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
"./route": {
|
|
44
44
|
"types": "./dist/tools/route.d.ts",
|
|
45
45
|
"default": "./dist/tools/route.js"
|
|
46
|
+
},
|
|
47
|
+
"./hook": {
|
|
48
|
+
"types": "./dist/tools/hook.d.ts",
|
|
49
|
+
"default": "./dist/tools/hook.js"
|
|
46
50
|
}
|
|
47
51
|
},
|
|
48
52
|
"files": [
|