@tinycloud/courier 0.2.0-beta.37 → 0.2.0-beta.39
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/README.md +369 -12
- package/dist/a2a.d.ts +6 -0
- package/dist/a2a.js +10 -0
- package/dist/a2a.js.map +1 -1
- package/dist/approval.d.ts +6 -5
- package/dist/approval.js +7 -16
- package/dist/approval.js.map +1 -1
- package/dist/args.js +1 -1
- package/dist/args.js.map +1 -1
- package/dist/broker-config.d.ts +24 -0
- package/dist/broker-config.js +99 -0
- package/dist/broker-config.js.map +1 -0
- package/dist/broker.d.ts +77 -0
- package/dist/broker.js +253 -0
- package/dist/broker.js.map +1 -0
- package/dist/commands.js +5 -2
- package/dist/commands.js.map +1 -1
- package/dist/consumed.d.ts +10 -0
- package/dist/consumed.js +54 -0
- package/dist/consumed.js.map +1 -0
- package/dist/guard/binaries.d.ts +17 -0
- package/dist/guard/binaries.js +89 -0
- package/dist/guard/binaries.js.map +1 -0
- package/dist/guard/cleanhome.d.ts +27 -0
- package/dist/guard/cleanhome.js +111 -0
- package/dist/guard/cleanhome.js.map +1 -0
- package/dist/guard/command.d.ts +13 -0
- package/dist/guard/command.js +158 -0
- package/dist/guard/command.js.map +1 -0
- package/dist/guard/expansion.d.ts +10 -0
- package/dist/guard/expansion.js +74 -0
- package/dist/guard/expansion.js.map +1 -0
- package/dist/guard/hook.d.ts +38 -0
- package/dist/guard/hook.js +124 -0
- package/dist/guard/hook.js.map +1 -0
- package/dist/guard/install.d.ts +67 -0
- package/dist/guard/install.js +193 -0
- package/dist/guard/install.js.map +1 -0
- package/dist/guard/network.d.ts +7 -0
- package/dist/guard/network.js +78 -0
- package/dist/guard/network.js.map +1 -0
- package/dist/guard/normalize.d.ts +28 -0
- package/dist/guard/normalize.js +257 -0
- package/dist/guard/normalize.js.map +1 -0
- package/dist/guard/paseo.d.ts +30 -0
- package/dist/guard/paseo.js +148 -0
- package/dist/guard/paseo.js.map +1 -0
- package/dist/guard/paths.d.ts +31 -0
- package/dist/guard/paths.js +180 -0
- package/dist/guard/paths.js.map +1 -0
- package/dist/guard/policy.d.ts +65 -0
- package/dist/guard/policy.js +1179 -0
- package/dist/guard/policy.js.map +1 -0
- package/dist/guard/shell.d.ts +55 -0
- package/dist/guard/shell.js +727 -0
- package/dist/guard/shell.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +4 -1
- package/dist/keys.js +7 -2
- package/dist/keys.js.map +1 -1
- package/dist/main.js +44 -4
- package/dist/main.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +3 -3
- package/dist/node.js.map +1 -1
- package/dist/notify.d.ts +43 -0
- package/dist/notify.js +92 -0
- package/dist/notify.js.map +1 -0
- package/dist/pause.d.ts +32 -0
- package/dist/pause.js +111 -0
- package/dist/pause.js.map +1 -0
- package/dist/profile.d.ts +3 -3
- package/dist/profile.js +12 -12
- package/dist/profile.js.map +1 -1
- package/dist/wake.d.ts +17 -0
- package/dist/wake.js +74 -13
- package/dist/wake.js.map +1 -1
- package/dist/watch-cmd.d.ts +3 -0
- package/dist/watch-cmd.js +56 -2
- package/dist/watch-cmd.js.map +1 -1
- package/dist/watch.d.ts +134 -0
- package/dist/watch.js +697 -13
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
- package/skills/courier/SKILL.md +119 -8
package/dist/profile.d.ts
CHANGED
|
@@ -59,10 +59,10 @@ export interface Profile {
|
|
|
59
59
|
export declare function profileDir(): string;
|
|
60
60
|
export declare function profileExists(): boolean;
|
|
61
61
|
export declare function writeSecure(file: string, obj: unknown): void;
|
|
62
|
-
export declare function loadProfile(): Profile;
|
|
62
|
+
export declare function loadProfile(home?: string): Profile;
|
|
63
63
|
export declare function saveProfile(profile: Profile): void;
|
|
64
|
-
export declare function loadKey(): AgentKey;
|
|
64
|
+
export declare function loadKey(home?: string): AgentKey;
|
|
65
65
|
export declare function saveKey(key: AgentKey): void;
|
|
66
|
-
export declare function loadGrant(): OwnerGrant | undefined;
|
|
66
|
+
export declare function loadGrant(home?: string): OwnerGrant | undefined;
|
|
67
67
|
export declare function saveGrant(grant: OwnerGrant): void;
|
|
68
68
|
export declare function getPeer(p: Profile, handle: string): StoredPeer;
|
package/dist/profile.js
CHANGED
|
@@ -4,10 +4,10 @@ import { randomBytes } from 'node:crypto';
|
|
|
4
4
|
import { cmd } from './program.js';
|
|
5
5
|
import { CourierError } from './errors.js';
|
|
6
6
|
export function profileDir() {
|
|
7
|
-
return process.env.COURIER_HOME
|
|
7
|
+
return process.env.COURIER_HOME || path.join(process.env.HOME ?? '.', '.courier');
|
|
8
8
|
}
|
|
9
|
-
function profilePath(name) {
|
|
10
|
-
return path.join(
|
|
9
|
+
function profilePath(name, home = profileDir()) {
|
|
10
|
+
return path.join(home, name);
|
|
11
11
|
}
|
|
12
12
|
export function profileExists() {
|
|
13
13
|
return fs.existsSync(profilePath('profile.json'));
|
|
@@ -32,14 +32,14 @@ export function writeSecure(file, obj) {
|
|
|
32
32
|
catch { /* renamed or absent */ }
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
function readSecure(name, required) {
|
|
36
|
-
const file = profilePath(name);
|
|
35
|
+
function readSecure(name, required, home = profileDir()) {
|
|
36
|
+
const file = profilePath(name, home);
|
|
37
37
|
if (!fs.existsSync(file)) {
|
|
38
38
|
if (required)
|
|
39
39
|
throw new CourierError('no-profile', `Missing ${name} in ${profileDir()}. Run \`${cmd('init')}\` first.`);
|
|
40
40
|
return undefined;
|
|
41
41
|
}
|
|
42
|
-
const dirMode = fs.statSync(
|
|
42
|
+
const dirMode = fs.statSync(home).mode & 0o777;
|
|
43
43
|
if ((dirMode & 0o077) !== 0) {
|
|
44
44
|
throw new CourierError('profile-permissions', `${profileDir()} must be owner-only (mode 0700); found mode ${dirMode.toString(8)}.`);
|
|
45
45
|
}
|
|
@@ -54,8 +54,8 @@ function readSecure(name, required) {
|
|
|
54
54
|
throw new CourierError('bad-profile', `Invalid ${name}: ${e.message}`);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
export function loadProfile() {
|
|
58
|
-
const loaded = readSecure('profile.json', true);
|
|
57
|
+
export function loadProfile(home = profileDir()) {
|
|
58
|
+
const loaded = readSecure('profile.json', true, home);
|
|
59
59
|
if (!loaded || typeof loaded !== 'object' || !('version' in loaded)) {
|
|
60
60
|
throw new CourierError('bad-profile', `Corrupt profile at ${profilePath('profile.json')}`);
|
|
61
61
|
}
|
|
@@ -73,8 +73,8 @@ export function loadProfile() {
|
|
|
73
73
|
export function saveProfile(profile) {
|
|
74
74
|
writeSecure(profilePath('profile.json'), profile);
|
|
75
75
|
}
|
|
76
|
-
export function loadKey() {
|
|
77
|
-
const key = readSecure('key.json', true);
|
|
76
|
+
export function loadKey(home = profileDir()) {
|
|
77
|
+
const key = readSecure('key.json', true, home);
|
|
78
78
|
if (key.v !== 1 || !key.jwk || !key.did?.startsWith('did:key:')) {
|
|
79
79
|
throw new CourierError('bad-profile', `Corrupt agent key at ${profilePath('key.json')}`);
|
|
80
80
|
}
|
|
@@ -83,8 +83,8 @@ export function loadKey() {
|
|
|
83
83
|
export function saveKey(key) {
|
|
84
84
|
writeSecure(profilePath('key.json'), key);
|
|
85
85
|
}
|
|
86
|
-
export function loadGrant() {
|
|
87
|
-
const grant = readSecure('grant.json', false);
|
|
86
|
+
export function loadGrant(home = profileDir()) {
|
|
87
|
+
const grant = readSecure('grant.json', false, home);
|
|
88
88
|
if (grant && (grant.v !== 1 || !grant.delegationHeader?.Authorization || !grant.delegationCid || !grant.siwe)) {
|
|
89
89
|
throw new CourierError('bad-profile', `Corrupt owner grant at ${profilePath('grant.json')}`);
|
|
90
90
|
}
|
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsD3C,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/wake.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ export interface WakeConfig {
|
|
|
63
63
|
/** Courier profile dir handed to the woken agent. */
|
|
64
64
|
home: string;
|
|
65
65
|
exec?: string;
|
|
66
|
+
/** Test/operator source HOME for the minimal model login and git identity; never inherited by the agent. */
|
|
67
|
+
realHome?: string;
|
|
66
68
|
paseo: {
|
|
67
69
|
bin: string;
|
|
68
70
|
provider: string;
|
|
@@ -73,6 +75,15 @@ export interface WakeConfig {
|
|
|
73
75
|
settings?: string;
|
|
74
76
|
allow: string[];
|
|
75
77
|
};
|
|
78
|
+
/** How a woken agent reaches the guard hook (`node <entry> … guard`); the `paseo` adapter installs it in `cwd`. */
|
|
79
|
+
guard?: {
|
|
80
|
+
argv: string[];
|
|
81
|
+
entry: string;
|
|
82
|
+
};
|
|
83
|
+
/** `--unguarded`: the operator accepts that the `exec` adapter runs without the Courier guard. */
|
|
84
|
+
unguarded?: boolean;
|
|
85
|
+
/** `--env-pass NAME`: extra variables of the watcher's environment a woken agent may inherit (default none). */
|
|
86
|
+
envPass?: string[];
|
|
76
87
|
timeoutMs: number;
|
|
77
88
|
}
|
|
78
89
|
/**
|
|
@@ -80,8 +91,14 @@ export interface WakeConfig {
|
|
|
80
91
|
* `--resume`) gets only what is left of `totalMs`, so the whole wake stays under the claim lease.
|
|
81
92
|
*/
|
|
82
93
|
export declare function deadlineRunner(run: Runner, totalMs: number, now?: () => number): Runner;
|
|
94
|
+
/** Printed on every `exec` wake (stderr, so the service log has it). */
|
|
95
|
+
export declare const UNGUARDED_NOTICE = "this wake is not approval-guarded: the exec adapter installs no Courier guard, so the command it runs can merge, deploy or publish without an approval";
|
|
96
|
+
export declare const UNGUARDED_REFUSAL: string;
|
|
83
97
|
export declare function createWaker(config: WakeConfig, deps: {
|
|
84
98
|
run: Runner;
|
|
85
99
|
sessions: SessionStore;
|
|
86
100
|
env?: NodeJS.ProcessEnv;
|
|
101
|
+
prepareGuard?: () => void;
|
|
102
|
+
prompt?: (request: WakeRequest) => string;
|
|
103
|
+
notice?: (line: string) => void;
|
|
87
104
|
}): Waker;
|
package/dist/wake.js
CHANGED
|
@@ -4,7 +4,13 @@ import os from 'node:os';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { oneLine } from './a2a.js';
|
|
6
6
|
import { defer } from './defer.js';
|
|
7
|
+
import { CourierError } from './errors.js';
|
|
7
8
|
import { cmd } from './program.js';
|
|
9
|
+
import { agentHome, courierEnvOverrides, courierOnlyEnv } from './guard/install.js';
|
|
10
|
+
import { realpathBest } from './guard/paths.js';
|
|
11
|
+
import { startsAgentCli } from './guard/policy.js';
|
|
12
|
+
import { prepareCleanHome, prepareAgentProfile } from './guard/cleanhome.js';
|
|
13
|
+
import { GUARD_LABEL, installProjectGuard, isClaudeProvider, paseoEnv, sameDir, verifyProjectGuard } from './guard/paseo.js';
|
|
8
14
|
/** One JSON object per line on stdout: the watcher log. */
|
|
9
15
|
export function jsonLineLog(write = (line) => process.stdout.write(line)) {
|
|
10
16
|
return (event, fields = {}) => write(`${JSON.stringify({ t: new Date().toISOString(), event, ...fields })}\n`);
|
|
@@ -31,8 +37,9 @@ export function wakePrompt(request, owner) {
|
|
|
31
37
|
if (request.approvals?.length) {
|
|
32
38
|
paragraphs.push(`${who} decided on ${request.approvals.length === 1 ? 'a request' : 'requests'} you filed in thread ${subject} (${request.threadId}): ` +
|
|
33
39
|
`${request.approvals.map((a) => `${a.requestId} (${label(a.decision, 12)})`).join(', ')}. ` +
|
|
34
|
-
`
|
|
35
|
-
`it
|
|
40
|
+
`Check the decision with \`${cmd('approval <requestId> --peek')}\`: it exits non-zero unless the decision is approved, matches your request, is under 24 hours old and unused. ` +
|
|
41
|
+
`If it approves a PR merge, run exactly \`${cmd('run-approved <requestId>')}\`: the broker verifies the stored approval and consumes it before a fixed merge command. Your owner runs other gated actions. The guard always refuses direct gated commands; do not run \`${cmd('approval')}\` without --peek first. ` +
|
|
42
|
+
`If the check fails, or the decision is denied, do not take the action; update the task and tell ${peer} only what ${who} allows.`);
|
|
36
43
|
}
|
|
37
44
|
return paragraphs.join('\n\n');
|
|
38
45
|
}
|
|
@@ -136,23 +143,51 @@ export function deadlineRunner(run, totalMs, now = Date.now) {
|
|
|
136
143
|
return result;
|
|
137
144
|
};
|
|
138
145
|
}
|
|
146
|
+
/** Printed on every `exec` wake (stderr, so the service log has it). */
|
|
147
|
+
export const UNGUARDED_NOTICE = 'this wake is not approval-guarded: the exec adapter installs no Courier guard, so the command it runs can merge, deploy or publish without an approval';
|
|
148
|
+
export const UNGUARDED_REFUSAL = '--wake exec installs no Courier guard (no approval check on merge, deploy, publish or pushes to main), so it needs --unguarded. ' +
|
|
149
|
+
'Use it only for commands that cannot merge, deploy or publish; for an agent that can, use --wake claude or --wake paseo --paseo-provider claude, which are guarded.';
|
|
139
150
|
export function createWaker(config, deps) {
|
|
140
151
|
const env = deps.env ?? process.env;
|
|
141
|
-
const
|
|
152
|
+
const notice = deps.notice ?? ((line) => process.stderr.write(`${line}\n`));
|
|
153
|
+
const prompt = deps.prompt ?? ((request) => wakePrompt(request, config.owner));
|
|
154
|
+
/** Install the project guard in the agent's cwd and prove it works; throws, so the wake stays pending, if it cannot. */
|
|
155
|
+
const prepareGuard = deps.prepareGuard ?? (() => {
|
|
156
|
+
if (!config.guard)
|
|
157
|
+
throw new Error('no guard is configured for this wake adapter; refusing to wake an agent without one');
|
|
158
|
+
verifyProjectGuard(installProjectGuard(config.cwd, config.home, config.guard), config.cwd);
|
|
159
|
+
});
|
|
160
|
+
const prepareHome = () => {
|
|
161
|
+
const courier = realpathBest(config.home);
|
|
162
|
+
const cwd = realpathBest(config.cwd);
|
|
163
|
+
if (cwd === courier || cwd.startsWith(`${courier}${path.sep}`))
|
|
164
|
+
throw new Error('agent cwd must be outside the Courier tree');
|
|
165
|
+
prepareCleanHome({
|
|
166
|
+
realHome: config.realHome ?? env.HOME ?? os.homedir(),
|
|
167
|
+
cleanHome: agentHome(config.home), claude: config.adapter !== 'exec',
|
|
168
|
+
});
|
|
169
|
+
prepareAgentProfile(config.home);
|
|
170
|
+
};
|
|
142
171
|
const exec = async (request) => {
|
|
172
|
+
// The exec adapter installs no guard. It runs only when the operator said so, and says so on every wake.
|
|
173
|
+
if (!config.unguarded)
|
|
174
|
+
throw new CourierError('usage', UNGUARDED_REFUSAL);
|
|
175
|
+
if (config.exec && startsAgentCli(config.exec))
|
|
176
|
+
throw new CourierError('usage', '--unguarded exec cannot start an agent CLI; use a guarded adapter.');
|
|
177
|
+
prepareHome();
|
|
178
|
+
notice(`${UNGUARDED_NOTICE} (thread ${request.threadId}, peer ${label(request.peer)})`);
|
|
143
179
|
const run = deadlineRunner(deps.run, config.timeoutMs);
|
|
144
180
|
const result = await run('/bin/sh', ['-c', config.exec], {
|
|
145
181
|
cwd: config.cwd,
|
|
146
182
|
timeoutMs: config.timeoutMs,
|
|
147
183
|
env: {
|
|
148
|
-
...env,
|
|
149
|
-
COURIER_HOME: config.home,
|
|
184
|
+
...courierOnlyEnv(env, config.home, config.envPass),
|
|
150
185
|
COURIER_THREAD: request.threadId,
|
|
151
186
|
COURIER_PEER: request.peer,
|
|
152
187
|
COURIER_MESSAGES: JSON.stringify(request.messages),
|
|
153
188
|
COURIER_APPROVALS: JSON.stringify(request.approvals ?? []),
|
|
154
189
|
COURIER_SUBJECT: request.subject,
|
|
155
|
-
COURIER_PROMPT: prompt(request)
|
|
190
|
+
COURIER_PROMPT: `${prompt(request)}\n\n${UNGUARDED_NOTICE}.`,
|
|
156
191
|
},
|
|
157
192
|
});
|
|
158
193
|
if (result.code !== 0)
|
|
@@ -161,16 +196,21 @@ export function createWaker(config, deps) {
|
|
|
161
196
|
const claude = async (request) => {
|
|
162
197
|
const run = deadlineRunner(deps.run, config.timeoutMs);
|
|
163
198
|
const key = `${request.peer}/${request.threadId}`;
|
|
199
|
+
// A woken Claude never runs without the guard (spec §7): the settings file always carries the PreToolUse hook.
|
|
200
|
+
if (!config.claude.settings)
|
|
201
|
+
throw new Error('claude wake needs the guard settings file (courier guard settings)');
|
|
202
|
+
prepareHome();
|
|
164
203
|
const attempt = async (session) => {
|
|
165
204
|
const args = ['-p', '--output-format', 'json'];
|
|
166
205
|
if (session)
|
|
167
206
|
args.push('--resume', session);
|
|
168
|
-
|
|
169
|
-
|
|
207
|
+
args.push('--settings', config.claude.settings);
|
|
208
|
+
// No user or project MCP server loads (B3): their tools run with their own credentials, outside the guard.
|
|
209
|
+
args.push('--strict-mcp-config');
|
|
170
210
|
if (config.claude.allow.length)
|
|
171
211
|
args.push('--allowedTools', ...config.claude.allow);
|
|
172
212
|
const result = await run(config.claude.bin, args, {
|
|
173
|
-
cwd: config.cwd, env:
|
|
213
|
+
cwd: config.cwd, env: courierOnlyEnv(env, config.home, config.envPass), input: prompt(request), timeoutMs: config.timeoutMs,
|
|
174
214
|
});
|
|
175
215
|
let parsed;
|
|
176
216
|
for (const line of result.stdout.trim().split('\n').reverse()) {
|
|
@@ -196,8 +236,14 @@ export function createWaker(config, deps) {
|
|
|
196
236
|
const paseo = async (request) => {
|
|
197
237
|
const run = deadlineRunner(deps.run, config.timeoutMs);
|
|
198
238
|
const { bin, provider, mode } = config.paseo;
|
|
199
|
-
|
|
200
|
-
|
|
239
|
+
// Fail closed (spec §7): a Paseo agent is woken only if its cwd carries a guard that was just proven to refuse.
|
|
240
|
+
if (!isClaudeProvider(provider)) {
|
|
241
|
+
throw new Error(`the Courier guard only covers Claude agents (--paseo-provider claude); "${provider}" would run unguarded, so no agent was woken`);
|
|
242
|
+
}
|
|
243
|
+
prepareGuard();
|
|
244
|
+
prepareHome();
|
|
245
|
+
const base = { cwd: config.cwd, timeoutMs: config.timeoutMs, env: paseoEnv(env) };
|
|
246
|
+
const listed = await run(bin, ['ls', '-g', '--json', '--label', `courier-thread=${request.threadId}`, '--label', GUARD_LABEL], base);
|
|
201
247
|
if (listed.code !== 0)
|
|
202
248
|
throw failure('paseo ls', listed);
|
|
203
249
|
let agents;
|
|
@@ -207,7 +253,9 @@ export function createWaker(config, deps) {
|
|
|
207
253
|
catch {
|
|
208
254
|
throw new Error(`paseo ls returned non-JSON: ${tail(listed.stdout)}`);
|
|
209
255
|
}
|
|
210
|
-
|
|
256
|
+
// Only an agent that carries the guard label, runs Claude, and sits in the guarded cwd is ever messaged.
|
|
257
|
+
const existing = agents.find((a) => typeof a.id === 'string' && typeof a.provider === 'string' && isClaudeProvider(a.provider)
|
|
258
|
+
&& typeof a.cwd === 'string' && sameDir(a.cwd, config.cwd))?.id;
|
|
211
259
|
if (existing) {
|
|
212
260
|
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'courier-wake-'));
|
|
213
261
|
const file = path.join(dir, 'prompt.txt');
|
|
@@ -229,13 +277,26 @@ export function createWaker(config, deps) {
|
|
|
229
277
|
'--cwd', config.cwd,
|
|
230
278
|
'--label', `courier-thread=${request.threadId}`,
|
|
231
279
|
'--label', `courier-peer=${request.peer}`,
|
|
232
|
-
'--
|
|
280
|
+
'--label', GUARD_LABEL,
|
|
281
|
+
...Object.entries(courierEnvOverrides(env, config.home, config.envPass)).flatMap(([name, value]) => ['--env', `${name}=${value}`]),
|
|
233
282
|
...(mode ? ['--mode', mode] : []),
|
|
234
283
|
prompt(request),
|
|
235
284
|
];
|
|
236
285
|
const created = await run(bin, args, base);
|
|
237
286
|
if (created.code !== 0)
|
|
238
287
|
throw failure('paseo run', created);
|
|
288
|
+
// The agent must have started where the guard is. A caller-scoped Paseo environment can redirect `--cwd`; stop it if so.
|
|
289
|
+
let started;
|
|
290
|
+
try {
|
|
291
|
+
started = JSON.parse(created.stdout.slice(Math.max(0, created.stdout.indexOf('{'))));
|
|
292
|
+
}
|
|
293
|
+
catch { /* checked below */ }
|
|
294
|
+
const where = started && typeof started.cwd === 'string' ? started.cwd : undefined;
|
|
295
|
+
if (!where || !sameDir(where, config.cwd) || typeof started?.provider !== 'string' || !isClaudeProvider(started.provider)) {
|
|
296
|
+
if (typeof started?.agentId === 'string')
|
|
297
|
+
await run(bin, ['delete', started.agentId], base);
|
|
298
|
+
throw new Error(`paseo started an agent outside the guarded directory ${config.cwd} (${where ?? 'unknown'}); it was stopped and nothing was woken`);
|
|
299
|
+
}
|
|
239
300
|
};
|
|
240
301
|
switch (config.adapter) {
|
|
241
302
|
case 'none': return noWaker;
|
package/dist/wake.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wake.js","sourceRoot":"","sources":["../src/wake.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wake.js","sourceRoot":"","sources":["../src/wake.ts"],"names":[],"mappings":"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"}
|
package/dist/watch-cmd.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { ParsedArgs } from './args.js';
|
|
2
2
|
import { type WatchOptions } from './watch.js';
|
|
3
3
|
import { type WakeConfig } from './wake.js';
|
|
4
|
+
import { type NotifyConfig } from './notify.js';
|
|
4
5
|
export declare function watchOptions(args: ParsedArgs): WatchOptions;
|
|
5
6
|
export declare const watchUsage: () => string;
|
|
6
7
|
export declare function wakeConfig(args: ParsedArgs, owner: string | undefined): WakeConfig;
|
|
8
|
+
/** macOS defaults to desktop notification; other hosts always have the local notifications log. */
|
|
9
|
+
export declare function notifyConfig(args: ParsedArgs, wake: WakeConfig, platform?: string): NotifyConfig;
|
|
7
10
|
/**
|
|
8
11
|
* Stable per profile and machine (`<COURIER_HOME>/watcher-id`, created once, create-only): a restarted watcher is
|
|
9
12
|
* recognised as the same watcher by its wake claims; another profile or machine gets a different id, so never copy or
|
package/dist/watch-cmd.js
CHANGED
|
@@ -8,7 +8,12 @@ import { CourierError } from './errors.js';
|
|
|
8
8
|
import { loadProfile, profileDir, writeSecure } from './profile.js';
|
|
9
9
|
import { courierNode, peerHooks, peerKv } from './node.js';
|
|
10
10
|
import { WATCH_DEFAULTS, Watcher } from './watch.js';
|
|
11
|
-
import { createWaker, jsonLineLog, killAllRunners, spawnRunner } from './wake.js';
|
|
11
|
+
import { UNGUARDED_REFUSAL, createWaker, jsonLineLog, killAllRunners, spawnRunner } from './wake.js';
|
|
12
|
+
import { startsAgentCli } from './guard/policy.js';
|
|
13
|
+
import { guardArgv } from './guard/command.js';
|
|
14
|
+
import { writeGuardSettings } from './guard/install.js';
|
|
15
|
+
import { createNotifier } from './notify.js';
|
|
16
|
+
import { postPausedInform } from './pause.js';
|
|
12
17
|
import { applyPlan, launchdPlan, renderPlan, serviceName, systemdPlan, } from './service.js';
|
|
13
18
|
const ADAPTERS = ['none', 'paseo', 'claude', 'exec'];
|
|
14
19
|
/** Flags that configure the service install, not the watcher it runs. */
|
|
@@ -31,14 +36,24 @@ function value(args, name) {
|
|
|
31
36
|
throw new CourierError('usage', `--${name} needs a value.`);
|
|
32
37
|
return v;
|
|
33
38
|
}
|
|
39
|
+
function wakeBudget(args) {
|
|
40
|
+
if (!args.has('wake-budget'))
|
|
41
|
+
return WATCH_DEFAULTS.wakeBudget;
|
|
42
|
+
const raw = args.get('wake-budget');
|
|
43
|
+
const value = Number(raw);
|
|
44
|
+
if (!Number.isInteger(value) || value < 1 || value > 1000)
|
|
45
|
+
throw new CourierError('usage', `--wake-budget must be a whole number from 1 to 1000 (got "${raw}").`);
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
34
48
|
export function watchOptions(args) {
|
|
35
49
|
return {
|
|
50
|
+
wakeBudget: wakeBudget(args),
|
|
36
51
|
debounceMs: seconds(args, 'debounce', WATCH_DEFAULTS.debounceMs, 0, 600),
|
|
37
52
|
pollMs: seconds(args, 'poll', WATCH_DEFAULTS.pollMs, 10, 3600),
|
|
38
53
|
ticketSeconds: seconds(args, 'ticket', WATCH_DEFAULTS.ticketSeconds * 1000, 5, 300) / 1000,
|
|
39
54
|
};
|
|
40
55
|
}
|
|
41
|
-
export const watchUsage = () => `Usage: ${cmd('watch [--wake none|paseo|claude|exec] [--exec <cmd>] [--cwd dir] [--debounce 30] [--poll 60] [--ticket 25] [--once]')}\n` +
|
|
56
|
+
export const watchUsage = () => `Usage: ${cmd('watch [--wake none|paseo|claude|exec] [--exec <cmd> --unguarded] [--env-pass NAME]… [--cwd dir] [--debounce 30] [--poll 60] [--ticket 25] [--wake-budget 12] [--notify osascript|exec|none] [--once]')}\n` +
|
|
42
57
|
` ${cmd('watch … (--install-launchd | --install-systemd) [--dry-run] [--name n]')}`;
|
|
43
58
|
/** Where a bare `claude`/`paseo` resolves now, so a service with a minimal PATH still finds it. */
|
|
44
59
|
function resolveBin(name, searchPath = process.env.PATH ?? '') {
|
|
@@ -66,13 +81,27 @@ export function wakeConfig(args, owner) {
|
|
|
66
81
|
throw new CourierError('usage', `--wake exec needs --exec <cmd>. ${watchUsage()}`);
|
|
67
82
|
if (exec && adapter !== 'exec')
|
|
68
83
|
throw new CourierError('usage', '--exec only applies with --wake exec.');
|
|
84
|
+
const unguarded = args.has('unguarded');
|
|
85
|
+
if (unguarded && adapter !== 'exec')
|
|
86
|
+
throw new CourierError('usage', '--unguarded only applies with --wake exec; the claude and paseo adapters are always guarded.');
|
|
87
|
+
if (adapter === 'exec' && !unguarded)
|
|
88
|
+
throw new CourierError('usage', `${UNGUARDED_REFUSAL}\n${watchUsage()}`);
|
|
89
|
+
if (adapter === 'exec' && exec && startsAgentCli(exec))
|
|
90
|
+
throw new CourierError('usage', '--unguarded exec cannot start an agent CLI; use the guarded claude or paseo adapter.');
|
|
69
91
|
const allow = args.all('claude-allow');
|
|
92
|
+
const envPass = args.all('env-pass');
|
|
93
|
+
for (const name of envPass) {
|
|
94
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name))
|
|
95
|
+
throw new CourierError('usage', `--env-pass needs a variable name (got "${name}").`);
|
|
96
|
+
}
|
|
70
97
|
return {
|
|
71
98
|
adapter,
|
|
72
99
|
cwd: path.resolve(value(args, 'cwd') ?? process.cwd()),
|
|
73
100
|
owner: owner ?? 'your owner',
|
|
74
101
|
home: profileDir(),
|
|
75
102
|
exec,
|
|
103
|
+
unguarded,
|
|
104
|
+
envPass,
|
|
76
105
|
paseo: { bin: value(args, 'paseo-bin') ?? 'paseo', provider: value(args, 'paseo-provider') ?? 'claude', mode: value(args, 'paseo-mode') },
|
|
77
106
|
// A woken claude may run only Courier commands unless the owner widens it with --claude-settings/--claude-allow.
|
|
78
107
|
claude: { bin: value(args, 'claude-bin') ?? 'claude', settings: value(args, 'claude-settings'), allow: allow.length ? allow : [`Bash(${programName()}:*)`] },
|
|
@@ -80,6 +109,19 @@ export function wakeConfig(args, owner) {
|
|
|
80
109
|
timeoutMs: seconds(args, 'wake-timeout', 15 * 60_000, 10, 30 * 60),
|
|
81
110
|
};
|
|
82
111
|
}
|
|
112
|
+
const NOTIFIERS = ['none', 'osascript', 'exec'];
|
|
113
|
+
/** macOS defaults to desktop notification; other hosts always have the local notifications log. */
|
|
114
|
+
export function notifyConfig(args, wake, platform = process.platform) {
|
|
115
|
+
const exec = value(args, 'notify-exec');
|
|
116
|
+
const adapter = (value(args, 'notify') ?? (exec ? 'exec' : platform === 'darwin' ? 'osascript' : 'none'));
|
|
117
|
+
if (!NOTIFIERS.includes(adapter))
|
|
118
|
+
throw new CourierError('usage', `Unknown --notify "${adapter}". Use none, osascript or exec. Notifications never start or message an agent.`);
|
|
119
|
+
if (adapter === 'exec' && !exec)
|
|
120
|
+
throw new CourierError('usage', '--notify exec needs --notify-exec <cmd>.');
|
|
121
|
+
if (exec && startsAgentCli(exec))
|
|
122
|
+
throw new CourierError('usage', 'notifications cannot start an agent CLI');
|
|
123
|
+
return { adapter, owner: wake.owner, exec, wake };
|
|
124
|
+
}
|
|
83
125
|
/**
|
|
84
126
|
* Stable per profile and machine (`<COURIER_HOME>/watcher-id`, created once, create-only): a restarted watcher is
|
|
85
127
|
* recognised as the same watcher by its wake claims; another profile or machine gets a different id, so never copy or
|
|
@@ -203,9 +245,19 @@ export async function cmdWatch(args) {
|
|
|
203
245
|
const config = wakeConfig(args, profile?.selfHandle);
|
|
204
246
|
if (!profile)
|
|
205
247
|
return installService(args, config);
|
|
248
|
+
if (config.adapter === 'claude' || config.adapter === 'paseo')
|
|
249
|
+
config.guard = { argv: guardArgv(), entry: process.argv[1] ?? '' };
|
|
250
|
+
if (config.adapter === 'claude') {
|
|
251
|
+
// The owner's own --claude-settings is merged under the guard, never used instead of it.
|
|
252
|
+
config.claude.settings = writeGuardSettings({
|
|
253
|
+
...config.guard, home: config.home, ...(config.claude.settings ? { userSettings: config.claude.settings } : {}),
|
|
254
|
+
});
|
|
255
|
+
}
|
|
206
256
|
const log = jsonLineLog();
|
|
207
257
|
const node = await courierNode(profile);
|
|
208
258
|
const watcher = new Watcher({
|
|
259
|
+
notificationHome: config.home,
|
|
260
|
+
notifyOnly: config.adapter === 'none',
|
|
209
261
|
selfKv: node.kv,
|
|
210
262
|
spaceId: profile.spaceId,
|
|
211
263
|
selfHooks: node.hooks,
|
|
@@ -213,6 +265,8 @@ export async function cmdWatch(args) {
|
|
|
213
265
|
loadPeers: () => Object.values(loadProfile().peers),
|
|
214
266
|
kvFor: (peer) => peerKv(node, loadProfile(), peer),
|
|
215
267
|
wake: createWaker(config, { run: spawnRunner, sessions: fileSessions() }),
|
|
268
|
+
postInform: async (peer, threadId, text, pauseId) => { await postPausedInform(node.kv, loadProfile(), peer, threadId, text, pauseId); },
|
|
269
|
+
notify: createNotifier(notifyConfig(args, config), { run: spawnRunner }),
|
|
216
270
|
holder: { profileId: watcherProfileId() },
|
|
217
271
|
log,
|
|
218
272
|
}, opts);
|
package/dist/watch-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../src/watch-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,OAAO,EAAqB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAsC,MAAM,WAAW,CAAC;AACtH,OAAO,EACL,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAC7D,MAAM,cAAc,CAAC;AAEtB,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC9D,yEAAyE;AACzE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzF,SAAS,OAAO,CAAC,IAAgB,EAAE,IAAY,EAAE,UAAkB,EAAE,GAAW,EAAE,GAAW;IAC3F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC1D,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,IAAI,YAAY,GAAG,OAAO,GAAG,kBAAkB,GAAG,KAAK,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,KAAK,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB,EAAE,IAAY;IAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,IAAI,iBAAiB,CAAC,CAAC;IAC1F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC;QACxE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;QAC9D,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,aAAa,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI;KAC3F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAC7B,UAAU,GAAG,CAAC,qHAAqH,CAAC,IAAI;IACxI,UAAU,GAAG,CAAC,wEAAwE,CAAC,EAAE,CAAC;AAE5F,mGAAmG;AACnG,SAAS,UAAU,CAAC,IAAY,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgB,EAAE,KAAyB;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAA0B,CAAC;IAC3F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,2BAA2B,OAAO,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC;IACzH,IAAI,OAAO,KAAK,MAAM,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,mCAAmC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpH,IAAI,IAAI,IAAI,OAAO,KAAK,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,OAAO;QACL,OAAO;QACP,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,KAAK,EAAE,KAAK,IAAI,YAAY;QAC5B,IAAI,EAAE,UAAU,EAAE;QAClB,IAAI;QACJ,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;QACzI,iHAAiH;QACjH,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,WAAW,EAAE,KAAK,CAAC,EAAE;QAC5J,mGAAmG;QACnG,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,GAAuB,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAqB,CAAC;YAC/E,OAAO,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC;IACxB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,yFAAyF;QACzF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;YACtB,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qDAAqD;QACzH,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,GAAG,IAAI,+EAA+E,CAAC,CAAC;IAChI,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,SAAS,YAAY;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,GAA2B,EAAE;QACxC,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IAC9F,CAAC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;QACzB,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,WAAW,CAAC,IAAgB,EAAE,MAAkB,EAAE,aAAuB,OAAO,CAAC,IAAI;IACnG,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ;QAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;QAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnE,8GAA8G;IAC9G,mDAAmD;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;QAC7C,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,MAAkB;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,6DAA6D,CAAC,CAAC;IAC5I,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,+FAA+F,CAAC,CAAC;IACnI,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,8FAA8F,CAAC,CAAC;IAClI,CAAC;IACD,WAAW,EAAE,CAAC,CAAC,uEAAuE;IACtF,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,MAAM,GAAG,GAA2B,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;IAC9G,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC1E,MAAM,IAAI,GAAgB;QACxB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI;KACpI,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClH,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IACD,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAgB;IAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,OAAO,EAAE,OAAO,CAAC,OAAQ;QACzB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC;QACzD,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;QACnD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC;QAClD,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;QACzE,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE;QACzC,GAAG;KACJ,EAAE,IAAI,CAAC,CAAC;IAET,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,+GAA+G;YAC/G,kGAAkG;YAClG,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;YAAS,CAAC;QACT,cAAc,EAAE,CAAC,CAAC,mFAAmF;IACvG,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../src/watch-cmd.ts"],"names":[],"mappings":"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"}
|