@namzu/cli 29.1.0 → 30.0.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/CHANGELOG.md +79 -0
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +3 -0
- package/dist/commands/exec.js.map +1 -1
- package/dist/context/environment.d.ts +26 -3
- package/dist/context/environment.d.ts.map +1 -1
- package/dist/context/environment.js +68 -9
- package/dist/context/environment.js.map +1 -1
- package/dist/integrations/notifications/desktop.d.ts +2 -0
- package/dist/integrations/notifications/desktop.d.ts.map +1 -1
- package/dist/integrations/notifications/desktop.js +6 -5
- package/dist/integrations/notifications/desktop.js.map +1 -1
- package/dist/integrations/plugins/runtime.d.ts +8 -2
- package/dist/integrations/plugins/runtime.d.ts.map +1 -1
- package/dist/integrations/plugins/runtime.js +14 -8
- package/dist/integrations/plugins/runtime.js.map +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts +9 -4
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +16 -8
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/web/open-url.d.ts +24 -0
- package/dist/integrations/web/open-url.d.ts.map +1 -0
- package/dist/integrations/web/open-url.js +73 -0
- package/dist/integrations/web/open-url.js.map +1 -0
- package/dist/schedule/build.d.ts +7 -0
- package/dist/schedule/build.d.ts.map +1 -1
- package/dist/schedule/build.js +21 -0
- package/dist/schedule/build.js.map +1 -1
- package/dist/schedule/changes.d.ts +6 -0
- package/dist/schedule/changes.d.ts.map +1 -1
- package/dist/schedule/changes.js +10 -0
- package/dist/schedule/changes.js.map +1 -1
- package/dist/schedule/commands/add.d.ts.map +1 -1
- package/dist/schedule/commands/add.js +2 -14
- package/dist/schedule/commands/add.js.map +1 -1
- package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
- package/dist/schedule/commands/lifecycle.js +2 -1
- package/dist/schedule/commands/lifecycle.js.map +1 -1
- package/dist/schedule/commands/list.d.ts.map +1 -1
- package/dist/schedule/commands/list.js +6 -2
- package/dist/schedule/commands/list.js.map +1 -1
- package/dist/schedule/daemon/daemon.d.ts.map +1 -1
- package/dist/schedule/daemon/daemon.js +5 -0
- package/dist/schedule/daemon/daemon.js.map +1 -1
- package/dist/schedule/daemon/notify.d.ts +8 -1
- package/dist/schedule/daemon/notify.d.ts.map +1 -1
- package/dist/schedule/daemon/notify.js +28 -2
- package/dist/schedule/daemon/notify.js.map +1 -1
- package/dist/schedule/env.d.ts +8 -4
- package/dist/schedule/env.d.ts.map +1 -1
- package/dist/schedule/env.js +13 -6
- package/dist/schedule/env.js.map +1 -1
- package/dist/schedule/fire/calls.d.ts +49 -0
- package/dist/schedule/fire/calls.d.ts.map +1 -0
- package/dist/schedule/fire/calls.js +114 -0
- package/dist/schedule/fire/calls.js.map +1 -0
- package/dist/schedule/fire/fire.d.ts.map +1 -1
- package/dist/schedule/fire/fire.js +9 -1
- package/dist/schedule/fire/fire.js.map +1 -1
- package/dist/schedule/floor.d.ts +27 -7
- package/dist/schedule/floor.d.ts.map +1 -1
- package/dist/schedule/floor.js +339 -101
- package/dist/schedule/floor.js.map +1 -1
- package/dist/schedule/service/index.d.ts +1 -1
- package/dist/schedule/service/index.d.ts.map +1 -1
- package/dist/schedule/service/index.js +20 -11
- package/dist/schedule/service/index.js.map +1 -1
- package/dist/schedule/service/windows-task.d.ts +7 -0
- package/dist/schedule/service/windows-task.d.ts.map +1 -1
- package/dist/schedule/service/windows-task.js +65 -0
- package/dist/schedule/service/windows-task.js.map +1 -1
- package/dist/schedule/service/wsl.d.ts +13 -1
- package/dist/schedule/service/wsl.d.ts.map +1 -1
- package/dist/schedule/service/wsl.js +16 -6
- package/dist/schedule/service/wsl.js.map +1 -1
- package/dist/schedule/types.d.ts +27 -0
- package/dist/schedule/types.d.ts.map +1 -1
- package/dist/skills/directory.d.ts +38 -0
- package/dist/skills/directory.d.ts.map +1 -0
- package/dist/skills/directory.js +51 -0
- package/dist/skills/directory.js.map +1 -0
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +20 -4
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts +13 -1
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.js +26 -4
- package/dist/tui/PermissionOverlay.js.map +1 -1
- package/dist/tui/agent.d.ts +28 -6
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +58 -16
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/open-browser.d.ts +29 -1
- package/dist/tui/open-browser.d.ts.map +1 -1
- package/dist/tui/open-browser.js +83 -11
- package/dist/tui/open-browser.js.map +1 -1
- package/dist/tui/permission-review.d.ts +10 -1
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/permission-review.js +175 -18
- package/dist/tui/permission-review.js.map +1 -1
- package/dist/tui/schedule/host-commands.d.ts.map +1 -1
- package/dist/tui/schedule/host-commands.js +2 -1
- package/dist/tui/schedule/host-commands.js.map +1 -1
- package/dist/tui/schedule/tool-host.d.ts +15 -1
- package/dist/tui/schedule/tool-host.d.ts.map +1 -1
- package/dist/tui/schedule/tool-host.js +259 -74
- package/dist/tui/schedule/tool-host.js.map +1 -1
- package/package.json +6 -6
- package/skills/README.md +5 -0
- package/skills/schedule-task/SKILL.md +8 -2
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* the model wrote reaches a lock screen unless the job asked for its summary
|
|
6
6
|
* (`notify.includeSummary`), and then only as one sanitised line.
|
|
7
7
|
*/
|
|
8
|
-
import type { ScheduleJob } from '../types.js';
|
|
8
|
+
import type { ScheduleCallTally, ScheduleJob } from '../types.js';
|
|
9
9
|
export type NoticeKind = 'finished' | 'failed' | 'timed-out' | 'interrupted' | 'blocked-config' | 'awaiting-approval' | 'approval-expired' | 'catch-up' | 'held' | 'needs-confirmation' | 'auto-paused';
|
|
10
10
|
/** The longest body a notification carries whole (`sendDesktopNotification` cuts the rest). */
|
|
11
11
|
export declare const NOTICE_BODY_MAX = 200;
|
|
@@ -22,6 +22,13 @@ export declare function noticeText(kind: NoticeKind, job: Pick<ScheduleJob, 'nam
|
|
|
22
22
|
* the tool, not the model, and already one sanitised line.
|
|
23
23
|
*/
|
|
24
24
|
readonly handoff?: string;
|
|
25
|
+
/**
|
|
26
|
+
* For a finished run: the calls its permissions refused. The reason
|
|
27
|
+
* may quote the command the model wrote, so it is said only where the
|
|
28
|
+
* job asked for its summary; otherwise the tool is named and `show`
|
|
29
|
+
* says why.
|
|
30
|
+
*/
|
|
31
|
+
readonly refused?: ScheduleCallTally;
|
|
25
32
|
}): {
|
|
26
33
|
title: string;
|
|
27
34
|
body: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../src/schedule/daemon/notify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../src/schedule/daemon/notify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,MAAM,UAAU,GACnB,UAAU,GACV,QAAQ,GACR,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,UAAU,GACV,MAAM,GACN,oBAAoB,GACpB,aAAa,CAAA;AAUhB,+FAA+F;AAC/F,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,wBAAgB,UAAU,CACzB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,EACzC,KAAK,EAAE;IACN,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;CACpC,GACC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkFjC;AAUD,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQnF"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* the model wrote reaches a lock screen unless the job asked for its summary
|
|
6
6
|
* (`notify.includeSummary`), and then only as one sanitised line.
|
|
7
7
|
*/
|
|
8
|
+
import { callsWords } from '../fire/calls.js';
|
|
8
9
|
function clock(at) {
|
|
9
10
|
return new Intl.DateTimeFormat('en-GB', {
|
|
10
11
|
weekday: 'short',
|
|
@@ -19,8 +20,25 @@ export function noticeText(kind, job, extra) {
|
|
|
19
20
|
const when = clock(extra.at);
|
|
20
21
|
const summary = job.notify.includeSummary && extra.summary ? ` — ${extra.summary}` : '';
|
|
21
22
|
switch (kind) {
|
|
22
|
-
case 'finished':
|
|
23
|
-
|
|
23
|
+
case 'finished': {
|
|
24
|
+
const refused = extra.refused;
|
|
25
|
+
if (!refused)
|
|
26
|
+
return { title, body: `finished at ${when}${summary}` };
|
|
27
|
+
const done = `done at ${when}, but ${callsWords(refused, 'refused')}`;
|
|
28
|
+
if (!job.notify.includeSummary)
|
|
29
|
+
return {
|
|
30
|
+
title,
|
|
31
|
+
body: fit(`${done} (${refused.first.tool}); namzu schedule show ${job.name} says why`, `${done} (${refused.first.tool})`),
|
|
32
|
+
};
|
|
33
|
+
// The reason is cut, never the words before it or the summary's absence.
|
|
34
|
+
const head = `${done}: `;
|
|
35
|
+
const room = NOTICE_BODY_MAX - [...head].length - [...summary].length;
|
|
36
|
+
const reason = [...refused.first.reason];
|
|
37
|
+
const said = reason.length <= room
|
|
38
|
+
? refused.first.reason
|
|
39
|
+
: `${reason.slice(0, Math.max(room - 1, 0)).join('')}…`;
|
|
40
|
+
return { title, body: fit(`${head}${said}${summary}`, `${head}${said}`) };
|
|
41
|
+
}
|
|
24
42
|
case 'failed':
|
|
25
43
|
return { title, body: `failed at ${when}${summary}` };
|
|
26
44
|
case 'timed-out':
|
|
@@ -76,6 +94,14 @@ export function noticeText(kind, job, extra) {
|
|
|
76
94
|
return { title, body: `paused after ${extra.failures ?? 'several'} failed runs in a row` };
|
|
77
95
|
}
|
|
78
96
|
}
|
|
97
|
+
/** The first text that fits a notification whole, else the last cut to fit. */
|
|
98
|
+
function fit(...candidates) {
|
|
99
|
+
const whole = candidates.find((text) => [...text].length <= NOTICE_BODY_MAX);
|
|
100
|
+
if (whole !== undefined)
|
|
101
|
+
return whole;
|
|
102
|
+
const last = [...(candidates.at(-1) ?? '')];
|
|
103
|
+
return `${last.slice(0, NOTICE_BODY_MAX - 1).join('')}…`;
|
|
104
|
+
}
|
|
79
105
|
/** The same failure told once: status plus the reason with numbers and ids removed. */
|
|
80
106
|
export function failureSignature(status, reason) {
|
|
81
107
|
const normal = (reason ?? '')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/schedule/daemon/notify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/schedule/daemon/notify.ts"],"names":[],"mappings":"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"}
|
package/dist/schedule/env.d.ts
CHANGED
|
@@ -11,10 +11,14 @@
|
|
|
11
11
|
*/
|
|
12
12
|
/** Variables a child inherits from the daemon. Nothing else. */
|
|
13
13
|
export declare const CHILD_ENV_ALLOWLIST: readonly ["HOME", "USER", "LOGNAME", "LANG", "LC_ALL", "TZ", "TMPDIR", "SHELL", "XDG_RUNTIME_DIR", "XDG_CONFIG_HOME", "DBUS_SESSION_BUS_ADDRESS", "WSL_DISTRO_NAME", "WSL_INTEROP", "SystemRoot", "USERPROFILE", "APPDATA", "LOCALAPPDATA", "DISPLAY", "WAYLAND_DISPLAY", "XAUTHORITY"];
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
/**
|
|
15
|
+
* `PATH` without Windows drive mounts: under WSL a failed lookup through
|
|
16
|
+
* `/mnt/c` costs seconds. The drives are the one-letter directories under
|
|
17
|
+
* the mount root `/etc/wsl.conf` sets (`[automount] root`, `/mnt/` by default).
|
|
18
|
+
*/
|
|
19
|
+
export declare function stripWindowsMounts(path: string | undefined, mountRoot?: string): string;
|
|
20
|
+
/** The environment of a fire child. `mountRoot` is for a test; absent reads `/etc/wsl.conf`. */
|
|
21
|
+
export declare function childEnvironment(source: NodeJS.ProcessEnv, namzuHome: string, mountRoot?: string): NodeJS.ProcessEnv;
|
|
18
22
|
export interface DaemonEnvFile {
|
|
19
23
|
readonly values: Readonly<Record<string, string>>;
|
|
20
24
|
readonly warnings: readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/schedule/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/schedule/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,yRAuBtB,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,SAAS,GAAE,MAA2B,GACpC,MAAM,CAOR;AAED,gGAAgG;AAChG,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,UAAU,CAUnB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CA8BzD"}
|
package/dist/schedule/env.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* have.
|
|
11
11
|
*/
|
|
12
12
|
import { readFileSync, statSync } from 'node:fs';
|
|
13
|
+
import { readWslMountRoot } from '../context/environment.js';
|
|
13
14
|
/** Variables a child inherits from the daemon. Nothing else. */
|
|
14
15
|
export const CHILD_ENV_ALLOWLIST = [
|
|
15
16
|
'HOME',
|
|
@@ -35,15 +36,21 @@ export const CHILD_ENV_ALLOWLIST = [
|
|
|
35
36
|
'WAYLAND_DISPLAY',
|
|
36
37
|
'XAUTHORITY',
|
|
37
38
|
];
|
|
38
|
-
/**
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* `PATH` without Windows drive mounts: under WSL a failed lookup through
|
|
41
|
+
* `/mnt/c` costs seconds. The drives are the one-letter directories under
|
|
42
|
+
* the mount root `/etc/wsl.conf` sets (`[automount] root`, `/mnt/` by default).
|
|
43
|
+
*/
|
|
44
|
+
export function stripWindowsMounts(path, mountRoot = readWslMountRoot()) {
|
|
45
|
+
const root = mountRoot.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
46
|
+
const drive = new RegExp(`^${root}[a-z](/|$)`, 'i');
|
|
40
47
|
return (path ?? '')
|
|
41
48
|
.split(':')
|
|
42
|
-
.filter((entry) => entry !== '' &&
|
|
49
|
+
.filter((entry) => entry !== '' && !drive.test(entry))
|
|
43
50
|
.join(':');
|
|
44
51
|
}
|
|
45
|
-
/** The environment of a fire child. */
|
|
46
|
-
export function childEnvironment(source, namzuHome) {
|
|
52
|
+
/** The environment of a fire child. `mountRoot` is for a test; absent reads `/etc/wsl.conf`. */
|
|
53
|
+
export function childEnvironment(source, namzuHome, mountRoot) {
|
|
47
54
|
const env = {};
|
|
48
55
|
for (const key of CHILD_ENV_ALLOWLIST)
|
|
49
56
|
if (source[key] !== undefined)
|
|
@@ -51,7 +58,7 @@ export function childEnvironment(source, namzuHome) {
|
|
|
51
58
|
env.PATH =
|
|
52
59
|
process.platform === 'win32'
|
|
53
60
|
? (source.PATH ?? source.Path ?? '')
|
|
54
|
-
: stripWindowsMounts(source.PATH);
|
|
61
|
+
: stripWindowsMounts(source.PATH, mountRoot);
|
|
55
62
|
if (!env.PATH)
|
|
56
63
|
env.PATH = '/usr/local/bin:/usr/bin:/bin';
|
|
57
64
|
env.NAMZU_HOME = namzuHome;
|
package/dist/schedule/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/schedule/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/schedule/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,iBAAiB;IACjB,iBAAiB;IACjB,0BAA0B;IAC1B,iBAAiB;IACjB,aAAa;IACb,YAAY;IACZ,aAAa;IACb,SAAS;IACT,cAAc;IACd,sEAAsE;IACtE,sDAAsD;IACtD,SAAS;IACT,iBAAiB;IACjB,YAAY;CACH,CAAA;AAEV;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAAwB,EACxB,YAAoB,gBAAgB,EAAE;IAEtC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrD,IAAI,CAAC,GAAG,CAAC,CAAA;AACZ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAC/B,MAAyB,EACzB,SAAiB,EACjB,SAAkB;IAElB,MAAM,GAAG,GAAsB,EAAE,CAAA;IACjC,KAAK,MAAM,GAAG,IAAI,mBAAmB;QAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5F,GAAG,CAAC,IAAI;QACP,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACpC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,GAAG,CAAC,IAAI,GAAG,8BAA8B,CAAA;IACxD,GAAG,CAAC,UAAU,GAAG,SAAS,CAAA;IAC1B,OAAO,GAAG,CAAA;AACX,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACJ,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACpC,CAAC;IACD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAA;QACxC,IAAI,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,kDAAkD,CAAC,CAAA;QACzE,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAM;QACzC,MAAM,KAAK,GAAG,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,4BAA4B,CAAC,CAAA;YAC/D,OAAM;QACP,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,GAAG,KAAK,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tool calls of one scheduled run that did not do what they were for:
|
|
3
|
+
* refused (they never ran — a gate rule, the scheduled-run floor, the mode, a
|
|
4
|
+
* declined review) and failed (they ran and returned an error).
|
|
5
|
+
*
|
|
6
|
+
* A run ends `completed` when its turn ends normally, whatever its calls
|
|
7
|
+
* did: a run whose only command the floor refused ended `completed`, and its
|
|
8
|
+
* notification said `finished`. How the turn ended stays the status, and the
|
|
9
|
+
* counts with each kind's first reason travel beside it, in the run's
|
|
10
|
+
* result, its history record, the job's state and its notification.
|
|
11
|
+
*/
|
|
12
|
+
import type { ScheduleCallTally } from '../types.js';
|
|
13
|
+
/** How long a recorded reason may be. */
|
|
14
|
+
export declare const CALL_REASON_MAX = 300;
|
|
15
|
+
export interface CallEnd {
|
|
16
|
+
readonly toolName: string;
|
|
17
|
+
readonly isError: boolean;
|
|
18
|
+
readonly output?: string;
|
|
19
|
+
readonly summary: string;
|
|
20
|
+
/** The person declined on the tool's own screen: nothing failed. */
|
|
21
|
+
readonly cancelled?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface CallTallies {
|
|
24
|
+
readonly refusedCalls?: ScheduleCallTally;
|
|
25
|
+
readonly failedCalls?: ScheduleCallTally;
|
|
26
|
+
}
|
|
27
|
+
export declare class CallTally {
|
|
28
|
+
#private;
|
|
29
|
+
/**
|
|
30
|
+
* `withheld`: the tools the run was not given because its permissions
|
|
31
|
+
* never let it use them. A call to one comes back as an unknown tool, and
|
|
32
|
+
* is a refusal, not a failure.
|
|
33
|
+
*/
|
|
34
|
+
constructor(withheld?: Iterable<string>);
|
|
35
|
+
/** Count one finished call. */
|
|
36
|
+
observe(call: CallEnd): void;
|
|
37
|
+
/** The counts so far, each only when above zero. */
|
|
38
|
+
tallies(): CallTallies;
|
|
39
|
+
}
|
|
40
|
+
/** `1 call was refused (bash: <reason>); 2 calls failed (read: <reason>)`, or nothing. */
|
|
41
|
+
export declare function callsLine(result: CallTallies): string;
|
|
42
|
+
/** `1 call refused, 2 failed` for a job's last run, from its state's counts, or nothing. */
|
|
43
|
+
export declare function callsCount(last: {
|
|
44
|
+
readonly refusedCalls?: number;
|
|
45
|
+
readonly failedCalls?: number;
|
|
46
|
+
}): string;
|
|
47
|
+
/** `1 call was refused`, `2 calls failed`: a count in words. */
|
|
48
|
+
export declare function callsWords(tally: ScheduleCallTally, verb: 'refused' | 'failed'): string;
|
|
49
|
+
//# sourceMappingURL=calls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/schedule/fire/calls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAapD,yCAAyC;AACzC,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED,qBAAa,SAAS;;IAOrB;;;;OAIG;gBACS,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAM;IAI3C,+BAA+B;IAC/B,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAiC5B,oDAAoD;IACpD,OAAO,IAAI,WAAW;CAUtB;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAarD;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B,GAAG,MAAM,CAMT;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAKvF"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tool calls of one scheduled run that did not do what they were for:
|
|
3
|
+
* refused (they never ran — a gate rule, the scheduled-run floor, the mode, a
|
|
4
|
+
* declined review) and failed (they ran and returned an error).
|
|
5
|
+
*
|
|
6
|
+
* A run ends `completed` when its turn ends normally, whatever its calls
|
|
7
|
+
* did: a run whose only command the floor refused ended `completed`, and its
|
|
8
|
+
* notification said `finished`. How the turn ended stays the status, and the
|
|
9
|
+
* counts with each kind's first reason travel beside it, in the run's
|
|
10
|
+
* result, its history record, the job's state and its notification.
|
|
11
|
+
*/
|
|
12
|
+
import { sanitizeLine } from '../../integrations/notifications/desktop/sanitize.js';
|
|
13
|
+
/** What the kernel writes in place of a result for a call that never ran (`deniedToolOutput`). */
|
|
14
|
+
const NOT_EXECUTED = /^Error: Tool "[^"]*" was not executed\.\s*/;
|
|
15
|
+
/**
|
|
16
|
+
* What the kernel writes for a call to a tool the session does not have, in
|
|
17
|
+
* each of its forms: `Error: Unknown tool "x"`, followed by `. Available: …`
|
|
18
|
+
* (what the step can call) when the registry says it lacks the name, and
|
|
19
|
+
* `Error: Unknown or unavailable tool "x": …` from a direct call.
|
|
20
|
+
*/
|
|
21
|
+
const UNKNOWN_TOOL = /^Error: Unknown (?:or unavailable )?tool "/;
|
|
22
|
+
/** The gate's prefix, which says nothing the word "refused" does not. */
|
|
23
|
+
const GATE = /^Blocked by the authorization gate:\s*/;
|
|
24
|
+
/** How long a recorded reason may be. */
|
|
25
|
+
export const CALL_REASON_MAX = 300;
|
|
26
|
+
export class CallTally {
|
|
27
|
+
#refused = 0;
|
|
28
|
+
#failed = 0;
|
|
29
|
+
#firstRefused;
|
|
30
|
+
#firstFailed;
|
|
31
|
+
#withheld;
|
|
32
|
+
/**
|
|
33
|
+
* `withheld`: the tools the run was not given because its permissions
|
|
34
|
+
* never let it use them. A call to one comes back as an unknown tool, and
|
|
35
|
+
* is a refusal, not a failure.
|
|
36
|
+
*/
|
|
37
|
+
constructor(withheld = []) {
|
|
38
|
+
this.#withheld = new Set(withheld);
|
|
39
|
+
}
|
|
40
|
+
/** Count one finished call. */
|
|
41
|
+
observe(call) {
|
|
42
|
+
if (!call.isError || call.cancelled)
|
|
43
|
+
return;
|
|
44
|
+
const text = call.output ?? call.summary;
|
|
45
|
+
const refused = NOT_EXECUTED.exec(text);
|
|
46
|
+
if (refused) {
|
|
47
|
+
this.#refused++;
|
|
48
|
+
this.#firstRefused ??= {
|
|
49
|
+
tool: call.toolName,
|
|
50
|
+
reason: sanitizeLine(text.slice(refused[0].length).replace(GATE, ''), CALL_REASON_MAX),
|
|
51
|
+
};
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (this.#withheld.has(call.toolName) && UNKNOWN_TOOL.test(text)) {
|
|
55
|
+
this.#refused++;
|
|
56
|
+
this.#firstRefused ??= {
|
|
57
|
+
tool: call.toolName,
|
|
58
|
+
reason: `the job's permissions never let a run use ${call.toolName}, so the run was not given it`,
|
|
59
|
+
};
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.#failed++;
|
|
63
|
+
this.#firstFailed ??= {
|
|
64
|
+
tool: call.toolName,
|
|
65
|
+
reason: sanitizeLine(text
|
|
66
|
+
.replace(/^Error:\s*/, '')
|
|
67
|
+
.split(/\r?\n/)
|
|
68
|
+
.find((line) => line.trim().length > 0) ?? '', CALL_REASON_MAX),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** The counts so far, each only when above zero. */
|
|
72
|
+
tallies() {
|
|
73
|
+
return {
|
|
74
|
+
...(this.#refused > 0 && this.#firstRefused
|
|
75
|
+
? { refusedCalls: { count: this.#refused, first: this.#firstRefused } }
|
|
76
|
+
: {}),
|
|
77
|
+
...(this.#failed > 0 && this.#firstFailed
|
|
78
|
+
? { failedCalls: { count: this.#failed, first: this.#firstFailed } }
|
|
79
|
+
: {}),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** `1 call was refused (bash: <reason>); 2 calls failed (read: <reason>)`, or nothing. */
|
|
84
|
+
export function callsLine(result) {
|
|
85
|
+
return [
|
|
86
|
+
...(result.refusedCalls
|
|
87
|
+
? [
|
|
88
|
+
`${callsWords(result.refusedCalls, 'refused')} (${result.refusedCalls.first.tool}: ${result.refusedCalls.first.reason})`,
|
|
89
|
+
]
|
|
90
|
+
: []),
|
|
91
|
+
...(result.failedCalls
|
|
92
|
+
? [
|
|
93
|
+
`${callsWords(result.failedCalls, 'failed')} (${result.failedCalls.first.tool}: ${result.failedCalls.first.reason})`,
|
|
94
|
+
]
|
|
95
|
+
: []),
|
|
96
|
+
].join('; ');
|
|
97
|
+
}
|
|
98
|
+
/** `1 call refused, 2 failed` for a job's last run, from its state's counts, or nothing. */
|
|
99
|
+
export function callsCount(last) {
|
|
100
|
+
const refused = last.refusedCalls ?? 0;
|
|
101
|
+
const failed = last.failedCalls ?? 0;
|
|
102
|
+
const calls = (n) => `${n} call${n === 1 ? '' : 's'}`;
|
|
103
|
+
if (refused > 0)
|
|
104
|
+
return `${calls(refused)} refused${failed > 0 ? `, ${failed} failed` : ''}`;
|
|
105
|
+
return failed > 0 ? `${calls(failed)} failed` : '';
|
|
106
|
+
}
|
|
107
|
+
/** `1 call was refused`, `2 calls failed`: a count in words. */
|
|
108
|
+
export function callsWords(tally, verb) {
|
|
109
|
+
const n = tally.count;
|
|
110
|
+
return verb === 'refused'
|
|
111
|
+
? `${n} call${n === 1 ? ' was' : 's were'} refused`
|
|
112
|
+
: `${n} call${n === 1 ? '' : 's'} failed`;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/schedule/fire/calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fire.d.ts","sourceRoot":"","sources":["../../../src/schedule/fire/fire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAgB7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,OAAO,KAAK,EACX,WAAW,EAGX,kBAAkB,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAyB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"fire.d.ts","sourceRoot":"","sources":["../../../src/schedule/fire/fire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAgB7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,OAAO,KAAK,EACX,WAAW,EAGX,kBAAkB,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAyB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAKhF,eAAO,MAAM,WAAW,uDAAuD,CAAA;AAC/E,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA2BnF;AAyBD,eAAO,MAAM,2BAA2B,8KACoI,CAAA;AAE5K,MAAM,WAAW,gBAAgB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAChC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CACpB,cAAc,oBAAoB,CAAC,EACnC,mBAAmB,GAAG,oBAAoB,CAC1C,CAAA;IACD,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAA;CACnD;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC5B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,gBAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,CAuYjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAClD,GAAG,MAAM,CAGT;AAcD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAEpD"}
|
|
@@ -37,6 +37,7 @@ import { compileJobPolicy, withheldTools } from '../policy.js';
|
|
|
37
37
|
import { computeProjectDigest, projectDigestChanges } from '../store/digest.js';
|
|
38
38
|
import { confirmationHolds, readJob } from '../store/jobs.js';
|
|
39
39
|
import { browserPreflight } from './browser-preflight.js';
|
|
40
|
+
import { CallTally } from './calls.js';
|
|
40
41
|
import { writeRunResult } from './result.js';
|
|
41
42
|
import { unattendedNote } from './unattended-note.js';
|
|
42
43
|
export const HOLD_REASON = 'Scheduled run: waiting for the operator to approve';
|
|
@@ -106,6 +107,7 @@ export async function runFire(ctx, paths, args, deps = {}) {
|
|
|
106
107
|
let turnId;
|
|
107
108
|
const warnings = [];
|
|
108
109
|
const found = {};
|
|
110
|
+
let calls = new CallTally();
|
|
109
111
|
const base = () => ({
|
|
110
112
|
v: 1,
|
|
111
113
|
kind: 'schedule-run-result',
|
|
@@ -117,6 +119,7 @@ export async function runFire(ctx, paths, args, deps = {}) {
|
|
|
117
119
|
...(turnId ? { turnId } : {}),
|
|
118
120
|
...(found.credential ? { credentialSource: found.credential } : {}),
|
|
119
121
|
...(warnings.length > 0 ? { warnings: [...warnings] } : {}),
|
|
122
|
+
...calls.tallies(),
|
|
120
123
|
});
|
|
121
124
|
// Once the watchdog has recorded the wall clock, nothing after it rewrites the result.
|
|
122
125
|
let settledByWatchdog = false;
|
|
@@ -226,6 +229,8 @@ export async function runFire(ctx, paths, args, deps = {}) {
|
|
|
226
229
|
],
|
|
227
230
|
subagents: { active: [] },
|
|
228
231
|
};
|
|
232
|
+
const withheld = withheldTools(job.permissions, policy);
|
|
233
|
+
calls = new CallTally(withheld);
|
|
229
234
|
// ── the conversation ──────────────────────────────────────────────────
|
|
230
235
|
let sessions;
|
|
231
236
|
try {
|
|
@@ -257,7 +262,7 @@ export async function runFire(ctx, paths, args, deps = {}) {
|
|
|
257
262
|
},
|
|
258
263
|
rules: policy.rules,
|
|
259
264
|
permissionMode: policy.mode,
|
|
260
|
-
withheldTools:
|
|
265
|
+
withheldTools: withheld,
|
|
261
266
|
...(config.mcpServers ? { mcpServers: config.mcpServers } : {}),
|
|
262
267
|
...(config.plugins ? { plugins: config.plugins } : {}),
|
|
263
268
|
...(config.skills ? { skills: config.skills } : {}),
|
|
@@ -362,6 +367,9 @@ export async function runFire(ctx, paths, args, deps = {}) {
|
|
|
362
367
|
'namzu.tool.name': event.toolName,
|
|
363
368
|
});
|
|
364
369
|
break;
|
|
370
|
+
case 'tool-end':
|
|
371
|
+
calls.observe(event);
|
|
372
|
+
break;
|
|
365
373
|
}
|
|
366
374
|
}
|
|
367
375
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fire.js","sourceRoot":"","sources":["../../../src/schedule/fire/fire.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fire.js","sourceRoot":"","sources":["../../../src/schedule/fire/fire.ts"],"names":[],"mappings":"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"}
|
package/dist/schedule/floor.d.ts
CHANGED
|
@@ -51,13 +51,19 @@
|
|
|
51
51
|
* - **What the lexer cannot account for** — an opaque line (a command
|
|
52
52
|
* substitution, `eval`-like constructs, a syntax error, a construct it does
|
|
53
53
|
* not model), a command whose name expands, or a program that runs text as
|
|
54
|
-
* code (`sh` reading its input, `sudo bash -c`, `
|
|
55
|
-
* …) — is denied when the line's text
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
54
|
+
* code (`sh` reading its input, `sudo bash -c`, `powershell`, `python`,
|
|
55
|
+
* `xargs`, `watch` …) — is denied when the line's text holds something that
|
|
56
|
+
* could reach what the floor protects (see {@link Floor.tripwire}): a
|
|
57
|
+
* `schedule` subcommand that changes something with the CLI or an
|
|
58
|
+
* expansion in reach, the scheduler service's name, a service tool with a
|
|
59
|
+
* namzu name, a process killer, `NAMZU_HOME` by name or path, or the
|
|
60
|
+
* Windows browser's profile folder. That is the tripwire, deliberately
|
|
61
|
+
* textual and cheap. The product's name on its own is not in that list: a
|
|
62
|
+
* message box saying "Namzu: scheduled job running" reaches nothing, and a
|
|
63
|
+
* run that showed one was refused for it. Text such a program may run — an
|
|
64
|
+
* argument, a here-string, a here-document's body — is also read as a
|
|
65
|
+
* command line of its own, so an escape only the inner shell undoes does
|
|
66
|
+
* not hide it.
|
|
61
67
|
|
|
62
68
|
* - **The Windows browser's profiles**, on the same words, spellings and
|
|
63
69
|
* directories: a path whose segments run `AppData/Local/namzu` (any user,
|
|
@@ -101,8 +107,22 @@ export interface FloorOptions {
|
|
|
101
107
|
export type FloorProtected = 'NAMZU_HOME' | 'the browser profiles';
|
|
102
108
|
/** Why the floor denied a call: for tests and diagnostics. */
|
|
103
109
|
export type FloorReason = `names ${FloorProtected}` | 'scheduler command' | `word names ${FloorProtected}` | `assigned value names ${FloorProtected}` | `redirection names ${FloorProtected}` | `loop or case word names ${FloorProtected}` | 'opaque line mentions a protected name' | 'unread text mentions a protected name' | 'too many spellings';
|
|
110
|
+
/** Why the floor denied a call, and what in it matched. */
|
|
111
|
+
export interface FloorFinding {
|
|
112
|
+
readonly reason: FloorReason;
|
|
113
|
+
/**
|
|
114
|
+
* The rule that matched, in words: the token or word, and the argument,
|
|
115
|
+
* redirection or text it stands in. This, not the list of everything the
|
|
116
|
+
* floor protects, is what a refusal says.
|
|
117
|
+
*/
|
|
118
|
+
readonly detail: string;
|
|
119
|
+
}
|
|
104
120
|
/** The floor's reason for denying a call, or null: what the rule below decides on. */
|
|
105
121
|
export declare function scheduledRunFloorVerdict(options: FloorOptions): (call: AuthorizationPredicateCall) => FloorReason | null;
|
|
122
|
+
/** The floor's finding for a call, or null: the reason and what matched. */
|
|
123
|
+
export declare function scheduledRunFloorFinding(options: FloorOptions): (call: AuthorizationPredicateCall) => FloorFinding | null;
|
|
124
|
+
/** What a refusal says: the rule that matched, and that another wording will not help. */
|
|
125
|
+
export declare function floorRefusal(finding: FloorFinding): string;
|
|
106
126
|
/** Whether `rule` is the floor's, and so can only deny. */
|
|
107
127
|
export declare function isFloorRule(rule: AuthorizationRule): boolean;
|
|
108
128
|
/** The floor as one gate rule. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../src/schedule/floor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../src/schedule/floor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAEH,OAAO,EACN,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EAStB,MAAM,YAAY,CAAA;AAEnB,qEAAqE;AACrE,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAkD,CAAA;AAE/F,MAAM,WAAW,YAAY;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAElE,8DAA8D;AAC9D,MAAM,MAAM,WAAW,GACpB,SAAS,cAAc,EAAE,GACzB,mBAAmB,GACnB,cAAc,cAAc,EAAE,GAC9B,wBAAwB,cAAc,EAAE,GACxC,qBAAqB,cAAc,EAAE,GACrC,2BAA2B,cAAc,EAAE,GAC3C,uCAAuC,GACvC,uCAAuC,GACvC,oBAAoB,CAAA;AAEvB,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACvB;AAED,sFAAsF;AACtF,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,YAAY,GACnB,CAAC,IAAI,EAAE,0BAA0B,KAAK,WAAW,GAAG,IAAI,CAG1D;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,YAAY,GACnB,CAAC,IAAI,EAAE,0BAA0B,KAAK,YAAY,GAAG,IAAI,CAG3D;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAE1D;AAQD,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAE5D;AAED,kCAAkC;AAClC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAe9E;AAimCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAStD"}
|