@shield-agent/kya 0.1.40 → 0.1.42
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/.mcp.json +1 -1
- package/README.md +3 -3
- package/amp/settings.example.json +1 -1
- package/claude/claude_desktop_config.example.json +1 -1
- package/cline/cline_mcp_settings.example.json +1 -1
- package/copilot/mcp-config.example.json +1 -1
- package/dist/commands/receipt-serve.d.ts.map +1 -1
- package/dist/commands/receipt-serve.js +3 -1
- package/dist/commands/receipt-serve.js.map +1 -1
- package/dist/commands/stop.d.ts +2 -0
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +9 -1
- package/dist/commands/stop.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/dash/render.d.ts +2 -1
- package/dist/dash/render.d.ts.map +1 -1
- package/dist/dash/render.js +9 -3
- package/dist/dash/render.js.map +1 -1
- package/dist/receipt/daemon.d.ts +17 -3
- package/dist/receipt/daemon.d.ts.map +1 -1
- package/dist/receipt/daemon.js +110 -13
- package/dist/receipt/daemon.js.map +1 -1
- package/dist/receipt/enrich.d.ts +1 -1
- package/dist/receipt/enrich.d.ts.map +1 -1
- package/dist/receipt/enrich.js +76 -76
- package/dist/receipt/enrich.js.map +1 -1
- package/dist/receipt/live-server.d.ts.map +1 -1
- package/dist/receipt/live-server.js +10 -2
- package/dist/receipt/live-server.js.map +1 -1
- package/dist/receipt/render-receipt.d.ts +3 -0
- package/dist/receipt/render-receipt.d.ts.map +1 -1
- package/dist/receipt/render-receipt.js +59 -23
- package/dist/receipt/render-receipt.js.map +1 -1
- package/dist/trail.d.ts +2 -0
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +73 -3
- package/dist/trail.js.map +1 -1
- package/droid/README.md +1 -1
- package/droid/mcp.example.json +1 -1
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/kilo/kilo.example.json +1 -1
- package/kimi/mcp.example.json +1 -1
- package/kiro/mcp.example.json +1 -1
- package/manifest.json +1 -1
- package/mastracode/mcp.example.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/opencode/opencode.example.json +1 -1
- package/package.json +1 -1
- package/qwen/settings.example.json +1 -1
- package/server.json +2 -2
package/.mcp.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.42", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
package/README.md
CHANGED
|
@@ -129,7 +129,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
|
|
|
129
129
|
"mcpServers": {
|
|
130
130
|
"shield-kya": {
|
|
131
131
|
"command": "npx",
|
|
132
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
132
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.42", "serve-mcp", "--stdio"],
|
|
133
133
|
"env": {
|
|
134
134
|
"KYA_BASE_URL": "http://127.0.0.1:8090",
|
|
135
135
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -156,7 +156,7 @@ npx @shield-agent/kya reject --id <approval-id>
|
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
158
|
# Prefer a preinstalled package (no registry auto-install):
|
|
159
|
-
npx --no-install @shield-agent/kya@0.1.
|
|
159
|
+
npx --no-install @shield-agent/kya@0.1.42 serve-mcp --stdio
|
|
160
160
|
# Or after npm i -g / local install:
|
|
161
161
|
kya serve-mcp --stdio
|
|
162
162
|
```
|
|
@@ -167,7 +167,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
|
|
|
167
167
|
|
|
168
168
|
## OpenAI (Codex / Responses)
|
|
169
169
|
|
|
170
|
-
**Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.
|
|
170
|
+
**Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.42 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
|
|
171
171
|
|
|
172
172
|
**Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
|
|
173
173
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"amp.mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.42", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.42", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.42", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.42", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-serve.d.ts","sourceRoot":"","sources":["../../src/commands/receipt-serve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"receipt-serve.d.ts","sourceRoot":"","sources":["../../src/commands/receipt-serve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
|
@@ -17,7 +17,9 @@ export async function runReceiptServe(config, input) {
|
|
|
17
17
|
await live.waitUntilClosed;
|
|
18
18
|
}
|
|
19
19
|
finally {
|
|
20
|
-
|
|
20
|
+
// Only remove the state file if it is still ours — a successor daemon
|
|
21
|
+
// spawned during our slow shutdown must not lose its state.
|
|
22
|
+
clearDaemonState(config.cwd, process.pid);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=receipt-serve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-serve.js","sourceRoot":"","sources":["../../src/commands/receipt-serve.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,KAA2C;IAE3C,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC;QACxC,MAAM;QACN,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC;IACH,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"receipt-serve.js","sourceRoot":"","sources":["../../src/commands/receipt-serve.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,KAA2C;IAE3C,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC;QACxC,MAAM;QACN,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC;IACH,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,sEAAsE;QACtE,4DAA4D;QAC5D,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
|
package/dist/commands/stop.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface StopResult {
|
|
2
2
|
readonly stopped: boolean;
|
|
3
3
|
readonly pid?: number;
|
|
4
|
+
/** State file pointed at a pid that is not our daemon; it was cleared. */
|
|
5
|
+
readonly stale?: boolean;
|
|
4
6
|
}
|
|
5
7
|
export declare function runStop(cwd: string): Promise<StopResult>;
|
|
6
8
|
export declare function formatStopHuman(r: StopResult): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB9D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAOrD"}
|
package/dist/commands/stop.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `kya stop` — stop the background live-receipt server started by `kya start`.
|
|
3
3
|
*/
|
|
4
|
-
import { clearDaemonState, pidAlive, readDaemonState, } from "../receipt/daemon.js";
|
|
4
|
+
import { clearDaemonState, isReceiptDaemonProcess, pidAlive, readDaemonState, } from "../receipt/daemon.js";
|
|
5
5
|
function sleep(ms) {
|
|
6
6
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
7
7
|
}
|
|
@@ -9,6 +9,11 @@ export async function runStop(cwd) {
|
|
|
9
9
|
const state = readDaemonState(cwd);
|
|
10
10
|
if (!state)
|
|
11
11
|
return { stopped: false };
|
|
12
|
+
if (pidAlive(state.pid) && !isReceiptDaemonProcess(state.pid)) {
|
|
13
|
+
// Planted or recycled pid — never signal a foreign process.
|
|
14
|
+
clearDaemonState(cwd);
|
|
15
|
+
return { stopped: false, stale: true, pid: state.pid };
|
|
16
|
+
}
|
|
12
17
|
if (pidAlive(state.pid)) {
|
|
13
18
|
try {
|
|
14
19
|
process.kill(state.pid, "SIGTERM");
|
|
@@ -24,6 +29,9 @@ export async function runStop(cwd) {
|
|
|
24
29
|
return { stopped: true, pid: state.pid };
|
|
25
30
|
}
|
|
26
31
|
export function formatStopHuman(r) {
|
|
32
|
+
if (r.stale) {
|
|
33
|
+
return `state file was stale (pid ${r.pid} is not the report server) — cleared it`;
|
|
34
|
+
}
|
|
27
35
|
return r.stopped
|
|
28
36
|
? `stopped report server (pid ${r.pid})`
|
|
29
37
|
: "no report server running";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,eAAe,GAChB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,EACR,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAS9B,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACtC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,4DAA4D;QAC5D,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC;YAC1E,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAa;IAC3C,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,6BAA6B,CAAC,CAAC,GAAG,yCAAyC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,CAAC,OAAO;QACd,CAAC,CAAC,8BAA8B,CAAC,CAAC,GAAG,GAAG;QACxC,CAAC,CAAC,0BAA0B,CAAC;AACjC,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export declare function writeFileConfig(cwd: string, patch: KyaFileConfig): KyaF
|
|
|
45
45
|
* Fail-closed: empty API key against network commands exits non-zero.
|
|
46
46
|
*/
|
|
47
47
|
export declare function resolveConfig(options?: ResolveOptions): ResolvedConfig;
|
|
48
|
+
export declare function isLoopbackUrl(raw: string | undefined): boolean;
|
|
48
49
|
/** Ensure parent dir exists for a path. */
|
|
49
50
|
export declare function ensureParentDir(filePath: string): void;
|
|
50
51
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC5D,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,iGAAiG;IACjG,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAKD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CASzD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,CAahF;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc,CAwE1E;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC5D,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,iGAAiG;IACjG,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAKD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CASzD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,CAahF;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc,CAwE1E;AASD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQ9D;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEtD"}
|
package/dist/config.js
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/dash/render.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ export interface StatusStrip {
|
|
|
6
6
|
readonly plane: string;
|
|
7
7
|
readonly pane: DashPane;
|
|
8
8
|
}
|
|
9
|
-
/** Strip C0 / ESC / OSC so plane-controlled strings
|
|
9
|
+
/** Strip C0 / ESC / OSC / bidi / zero-width so plane-controlled strings
|
|
10
|
+
* cannot drive the TTY or spoof display order. */
|
|
10
11
|
export declare function stripEscapes(text: string): string;
|
|
11
12
|
export declare function hline(ch?: string): string;
|
|
12
13
|
export declare function clip(text: string, width?: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/dash/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG9D,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/dash/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG9D,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED;kDACkD;AAClD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wBAAgB,KAAK,CAAC,EAAE,SAAM,GAAG,MAAM,CAEtC;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,CAIvD;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAiBhG;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAGnE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAS5E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAOnD;AAED,wBAAgB,KAAK,CACnB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAqBR;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CA8BlE;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,SAAS,MAAM,EAAE,GAC5B,SAAS,MAAM,EAAE,CAGnB"}
|
package/dist/dash/render.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { FREE_PANES, paneAllowed } from "./entitlement.js";
|
|
2
2
|
export const COLS = 78;
|
|
3
|
-
/** Strip C0 / ESC / OSC so plane-controlled strings
|
|
3
|
+
/** Strip C0 / ESC / OSC / bidi / zero-width so plane-controlled strings
|
|
4
|
+
* cannot drive the TTY or spoof display order. */
|
|
4
5
|
export function stripEscapes(text) {
|
|
5
6
|
return text
|
|
6
7
|
.replace(/\u001b(?:\][^\u0007]*(?:\u0007|\u001b\\)|[@-Z\\-_]|[\[\]()#][0-9;?]*[ -/]*[@-~])/g, "")
|
|
7
|
-
.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g, "")
|
|
8
|
+
.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g, "")
|
|
9
|
+
.replace(/[\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff]/g, "");
|
|
8
10
|
}
|
|
9
11
|
export function hline(ch = "─") {
|
|
10
12
|
return ch.repeat(COLS);
|
|
@@ -83,11 +85,15 @@ export function assertNoSecrets(text, extra) {
|
|
|
83
85
|
/AKIA[A-Z0-9]{12,}/,
|
|
84
86
|
/eyJ[A-Za-z0-9_\-]{20,}\.[A-Za-z0-9_\-]{10,}\.[A-Za-z0-9_\-]{10,}/,
|
|
85
87
|
/[?&#](?:access_token|api[_-]?key|token|secret|password|auth)=[^&\s#"']+/i,
|
|
88
|
+
/[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^/\s:@]+:[^/\s@]+@/,
|
|
89
|
+
/sk-proj-[A-Za-z0-9_\-]{20,}/,
|
|
86
90
|
/Cookie:\s*\S+/i,
|
|
87
91
|
/\bsession=[^\s;&"']{8,}/i,
|
|
88
92
|
/-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/i,
|
|
89
93
|
/-----END [A-Z0-9 ]*PRIVATE KEY-----/i,
|
|
90
|
-
|
|
94
|
+
// Keyword assignments require a realistically long value — short benign
|
|
95
|
+
// mentions ("refreshed token: ab12cd34") must not DoS every render.
|
|
96
|
+
/\b(password|passwd|secret|token|api[_-]?key)\s*[:=]\s*(?!\[redacted\])[^\s#"']{16,}/i,
|
|
91
97
|
/\bxox[baprs]-[A-Za-z0-9-]{10,}/i,
|
|
92
98
|
];
|
|
93
99
|
for (const p of pats) {
|
package/dist/dash/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/dash/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;AASvB
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/dash/render.ts"],"names":[],"mappings":"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"}
|
package/dist/receipt/daemon.d.ts
CHANGED
|
@@ -15,11 +15,25 @@ export declare function daemonStatePath(cwd: string): string;
|
|
|
15
15
|
export declare function daemonLogPath(cwd: string): string;
|
|
16
16
|
export declare function readDaemonState(cwd: string): ReceiptDaemonState | undefined;
|
|
17
17
|
export declare function writeDaemonState(cwd: string, state: ReceiptDaemonState): void;
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Remove the state file. With expectedPid set (daemon shutdown), removal is
|
|
20
|
+
* skipped when the file was already replaced by a newer daemon (pid mismatch)
|
|
21
|
+
* — a dying daemon must not delete its successor's state. Read errors /
|
|
22
|
+
* missing / corrupt state still remove (we own the normal case).
|
|
23
|
+
*/
|
|
24
|
+
export declare function clearDaemonState(cwd: string, expectedPid?: number): void;
|
|
19
25
|
export declare function pidAlive(pid: number): boolean;
|
|
20
26
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
27
|
+
* Verify a pid is really our receipt daemon before signaling it.
|
|
28
|
+
* On non-win32 inspect the process args; on win32 fall back to alive-only.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isReceiptDaemonProcess(pid: number): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Reuse the running daemon only when its pid is alive AND the stored loopback
|
|
33
|
+
* url answers the token handshake; otherwise spawn a fresh detached one and
|
|
34
|
+
* wait for it to publish its state file. A wedged daemon that IS ours is
|
|
35
|
+
* stopped first so failed handshakes cannot leak orphans; a foreign pid is
|
|
36
|
+
* never signaled.
|
|
23
37
|
*/
|
|
24
38
|
export declare function ensureReceiptDaemon(config: ResolvedConfig, input: {
|
|
25
39
|
days: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/receipt/daemon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/receipt/daemon.ts"],"names":[],"mappings":"AAsBA,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAiB3E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAa7E;AAUD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAMxE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAS7C;AAcD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAY3D;AAoCD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GACnE,OAAO,CAAC,mBAAmB,CAAC,CA4C9B"}
|
package/dist/receipt/daemon.js
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* command, which writes the state file once it is listening and removes it on
|
|
7
7
|
* shutdown.
|
|
8
8
|
*/
|
|
9
|
-
import { existsSync, mkdirSync, openSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
|
|
10
|
-
import { spawn } from "node:child_process";
|
|
9
|
+
import { closeSync, existsSync, fchmodSync, lstatSync, mkdirSync, openSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
|
|
10
|
+
import { execFileSync, spawn } from "node:child_process";
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import { fileURLToPath } from "node:url";
|
|
13
|
-
import { configDir } from "../config.js";
|
|
13
|
+
import { configDir, isLoopbackUrl } from "../config.js";
|
|
14
14
|
import { KyaError } from "../errors.js";
|
|
15
15
|
export function daemonStatePath(cwd) {
|
|
16
16
|
return join(configDir(cwd), "receipt-server.json");
|
|
@@ -38,12 +38,40 @@ export function readDaemonState(cwd) {
|
|
|
38
38
|
}
|
|
39
39
|
export function writeDaemonState(cwd, state) {
|
|
40
40
|
mkdirSync(configDir(cwd), { recursive: true });
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
const path = daemonStatePath(cwd);
|
|
42
|
+
// Never write through a planted symlink; force 0600 on pre-existing files
|
|
43
|
+
// (the mode argument only applies at creation).
|
|
44
|
+
removeIfSymlink(path);
|
|
45
|
+
const fd = openSync(path, "w", 0o600);
|
|
46
|
+
try {
|
|
47
|
+
fchmodSync(fd, 0o600);
|
|
48
|
+
writeFileSync(fd, `${JSON.stringify(state, null, 2)}\n`, "utf8");
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
closeSync(fd);
|
|
52
|
+
}
|
|
45
53
|
}
|
|
46
|
-
|
|
54
|
+
function removeIfSymlink(path) {
|
|
55
|
+
try {
|
|
56
|
+
if (lstatSync(path).isSymbolicLink())
|
|
57
|
+
rmSync(path, { force: true });
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
/* absent — nothing to remove */
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Remove the state file. With expectedPid set (daemon shutdown), removal is
|
|
65
|
+
* skipped when the file was already replaced by a newer daemon (pid mismatch)
|
|
66
|
+
* — a dying daemon must not delete its successor's state. Read errors /
|
|
67
|
+
* missing / corrupt state still remove (we own the normal case).
|
|
68
|
+
*/
|
|
69
|
+
export function clearDaemonState(cwd, expectedPid) {
|
|
70
|
+
if (expectedPid !== undefined) {
|
|
71
|
+
const state = readDaemonState(cwd);
|
|
72
|
+
if (state && state.pid !== expectedPid)
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
47
75
|
rmSync(daemonStatePath(cwd), { force: true });
|
|
48
76
|
}
|
|
49
77
|
export function pidAlive(pid) {
|
|
@@ -63,20 +91,89 @@ function sleep(ms) {
|
|
|
63
91
|
}
|
|
64
92
|
function cliJsPath() {
|
|
65
93
|
// dist/receipt/daemon.js → dist/cli.js
|
|
66
|
-
|
|
94
|
+
const built = fileURLToPath(new URL("../cli.js", import.meta.url));
|
|
95
|
+
if (existsSync(built))
|
|
96
|
+
return built;
|
|
97
|
+
// Running from src/ (vitest) — spawn the built CLI.
|
|
98
|
+
return fileURLToPath(new URL("../../dist/cli.js", import.meta.url));
|
|
67
99
|
}
|
|
68
100
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
101
|
+
* Verify a pid is really our receipt daemon before signaling it.
|
|
102
|
+
* On non-win32 inspect the process args; on win32 fall back to alive-only.
|
|
103
|
+
*/
|
|
104
|
+
export function isReceiptDaemonProcess(pid) {
|
|
105
|
+
if (!pidAlive(pid))
|
|
106
|
+
return false;
|
|
107
|
+
if (process.platform === "win32")
|
|
108
|
+
return true;
|
|
109
|
+
try {
|
|
110
|
+
const args = execFileSync("ps", ["-p", String(pid), "-o", "args="], {
|
|
111
|
+
encoding: "utf8",
|
|
112
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
113
|
+
});
|
|
114
|
+
return args.includes("receipt-serve") && args.includes(cliJsPath());
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* A stored state file is only trustworthy if its url is loopback and the
|
|
122
|
+
* server behind it answers a token-authenticated handshake with 200.
|
|
123
|
+
* Uses /healthz: O(1) and decoupled from render failures of the full page.
|
|
124
|
+
*/
|
|
125
|
+
async function verifyStoredDaemon(state) {
|
|
126
|
+
if (!isLoopbackUrl(state.url))
|
|
127
|
+
return false;
|
|
128
|
+
try {
|
|
129
|
+
const target = new URL("/healthz", new URL(state.url));
|
|
130
|
+
const res = await fetch(target, {
|
|
131
|
+
headers: { authorization: `Bearer ${state.token}` },
|
|
132
|
+
redirect: "error",
|
|
133
|
+
signal: AbortSignal.timeout(1500),
|
|
134
|
+
});
|
|
135
|
+
res.body?.cancel().catch(() => undefined);
|
|
136
|
+
return res.status === 200;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/** SIGTERM our own wedged daemon and wait for it to exit (past the live
|
|
143
|
+
* server's 2s force-close, so its shutdown runs before we respawn). */
|
|
144
|
+
async function stopOwnedDaemon(pid) {
|
|
145
|
+
try {
|
|
146
|
+
process.kill(pid, "SIGTERM");
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
for (let waited = 0; waited < 2_500 && pidAlive(pid); waited += 100) {
|
|
152
|
+
await sleep(100);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Reuse the running daemon only when its pid is alive AND the stored loopback
|
|
157
|
+
* url answers the token handshake; otherwise spawn a fresh detached one and
|
|
158
|
+
* wait for it to publish its state file. A wedged daemon that IS ours is
|
|
159
|
+
* stopped first so failed handshakes cannot leak orphans; a foreign pid is
|
|
160
|
+
* never signaled.
|
|
71
161
|
*/
|
|
72
162
|
export async function ensureReceiptDaemon(config, input) {
|
|
73
163
|
const existing = readDaemonState(config.cwd);
|
|
74
164
|
if (existing && pidAlive(existing.pid)) {
|
|
75
|
-
|
|
165
|
+
if (await verifyStoredDaemon(existing)) {
|
|
166
|
+
return { url: existing.url, pid: existing.pid, reused: true };
|
|
167
|
+
}
|
|
168
|
+
if (isReceiptDaemonProcess(existing.pid)) {
|
|
169
|
+
await stopOwnedDaemon(existing.pid);
|
|
170
|
+
}
|
|
76
171
|
}
|
|
77
172
|
clearDaemonState(config.cwd);
|
|
78
173
|
mkdirSync(configDir(config.cwd), { recursive: true });
|
|
79
|
-
const
|
|
174
|
+
const logPath = daemonLogPath(config.cwd);
|
|
175
|
+
removeIfSymlink(logPath);
|
|
176
|
+
const logFd = openSync(logPath, "a");
|
|
80
177
|
const args = [cliJsPath(), "receipt-serve", "--days", String(input.days)];
|
|
81
178
|
if (input.sessionId)
|
|
82
179
|
args.push("--session", input.sessionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/receipt/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/receipt/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/receipt/enrich.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { OrrDisposition, OrrRating } from "../commands/orr.js";
|
|
2
|
-
import {
|
|
2
|
+
import type { KyaFileConfig } from "../config.js";
|
|
3
3
|
import { type HostReload } from "../host-reload.js";
|
|
4
4
|
import type { SandboxRecord } from "../sandbox/types.js";
|
|
5
5
|
import { type ShowbackReport } from "../showback/cost-per-task.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich.d.ts","sourceRoot":"","sources":["../../src/receipt/enrich.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"enrich.d.ts","sourceRoot":"","sources":["../../src/receipt/enrich.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAoDtC;oFACoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAYnE;AAED,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CAC9C;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,WAAW,CAKb;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AASD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAgD5D;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAUxE;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAqBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAkB,EACxB,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1B,YAAY,EAAE,CAuChB"}
|