@shield-agent/kya 0.34.0 → 0.35.3
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/.cursor-plugin/plugin.json +2 -2
- package/.mcp.json +1 -1
- package/LIMITATIONS.md +2 -1
- package/README.md +37 -655
- package/amp/settings.example.json +1 -1
- package/assets/report-blocked.png +0 -0
- package/assets/report-certify.png +0 -0
- package/assets/report-overview.png +0 -0
- package/assets/screenshot-features.json +1 -0
- 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/alerts/triage-setup.d.ts +4 -0
- package/dist/alerts/triage-setup.d.ts.map +1 -1
- package/dist/alerts/triage-setup.js +11 -1
- package/dist/alerts/triage-setup.js.map +1 -1
- package/dist/card-png.d.ts +3 -0
- package/dist/card-png.d.ts.map +1 -0
- package/dist/card-png.js +54 -0
- package/dist/card-png.js.map +1 -0
- package/dist/card.d.ts +62 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +154 -0
- package/dist/card.js.map +1 -0
- package/dist/certify/evaluate.d.ts +11 -1
- package/dist/certify/evaluate.d.ts.map +1 -1
- package/dist/certify/evaluate.js +8 -1
- package/dist/certify/evaluate.js.map +1 -1
- package/dist/certify/render.d.ts.map +1 -1
- package/dist/certify/render.js +10 -1
- package/dist/certify/render.js.map +1 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +223 -52
- package/dist/cli.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +4 -3
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +12 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +94 -8
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/receipt.d.ts +19 -0
- package/dist/commands/receipt.d.ts.map +1 -1
- package/dist/commands/receipt.js +21 -1
- package/dist/commands/receipt.js.map +1 -1
- package/dist/commands/serve-mcp.d.ts +2 -0
- package/dist/commands/serve-mcp.d.ts.map +1 -1
- package/dist/commands/serve-mcp.js +2 -0
- package/dist/commands/serve-mcp.js.map +1 -1
- package/dist/commands/start.d.ts +50 -2
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +233 -27
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/team.d.ts +19 -2
- package/dist/commands/team.d.ts.map +1 -1
- package/dist/commands/team.js +93 -13
- package/dist/commands/team.js.map +1 -1
- package/dist/commands/uninstall.d.ts +20 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +378 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/wire-hooks.d.ts +16 -2
- package/dist/commands/wire-hooks.d.ts.map +1 -1
- package/dist/commands/wire-hooks.js +86 -21
- package/dist/commands/wire-hooks.js.map +1 -1
- package/dist/cta.d.ts +3 -1
- package/dist/cta.d.ts.map +1 -1
- package/dist/cta.js +11 -6
- package/dist/cta.js.map +1 -1
- package/dist/fs-atomic.d.ts.map +1 -1
- package/dist/fs-atomic.js +9 -2
- package/dist/fs-atomic.js.map +1 -1
- package/dist/guard-demo.d.ts +23 -0
- package/dist/guard-demo.d.ts.map +1 -0
- package/dist/guard-demo.js +34 -0
- package/dist/guard-demo.js.map +1 -0
- package/dist/guard-entry.d.ts +2 -0
- package/dist/guard-entry.d.ts.map +1 -0
- package/dist/guard-entry.js +50 -0
- package/dist/guard-entry.js.map +1 -0
- package/dist/guard-lite.d.ts +27 -0
- package/dist/guard-lite.d.ts.map +1 -0
- package/dist/guard-lite.js +274 -0
- package/dist/guard-lite.js.map +1 -0
- package/dist/guard-pack.d.ts +7 -2
- package/dist/guard-pack.d.ts.map +1 -1
- package/dist/guard-pack.js +202 -4
- package/dist/guard-pack.js.map +1 -1
- package/dist/hook-health.d.ts +7 -0
- package/dist/hook-health.d.ts.map +1 -0
- package/dist/hook-health.js +105 -0
- package/dist/hook-health.js.map +1 -0
- package/dist/manifest.d.ts +106 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +454 -0
- package/dist/manifest.js.map +1 -0
- package/dist/mcp/http.d.ts +1 -0
- package/dist/mcp/http.d.ts.map +1 -1
- package/dist/mcp/http.js +1 -0
- package/dist/mcp/http.js.map +1 -1
- package/dist/mcp/protocol.d.ts +2 -0
- package/dist/mcp/protocol.d.ts.map +1 -1
- package/dist/mcp/protocol.js +5 -1
- package/dist/mcp/protocol.js.map +1 -1
- package/dist/mcp/stdio.d.ts +1 -0
- package/dist/mcp/stdio.d.ts.map +1 -1
- package/dist/mcp/stdio.js +1 -0
- package/dist/mcp/stdio.js.map +1 -1
- package/dist/never-list-input.d.ts +2 -0
- package/dist/never-list-input.d.ts.map +1 -1
- package/dist/never-list-input.js +30 -30
- package/dist/never-list-input.js.map +1 -1
- package/dist/offline-evaluate.d.ts.map +1 -1
- package/dist/offline-evaluate.js +2 -1
- package/dist/offline-evaluate.js.map +1 -1
- package/dist/parse-args.js +1 -1
- package/dist/parse-args.js.map +1 -1
- package/dist/receipt/changes.d.ts +2 -1
- package/dist/receipt/changes.d.ts.map +1 -1
- package/dist/receipt/changes.js +9 -0
- package/dist/receipt/changes.js.map +1 -1
- package/dist/receipt/dashboard.d.ts +14 -1
- package/dist/receipt/dashboard.d.ts.map +1 -1
- package/dist/receipt/dashboard.js +20 -2
- package/dist/receipt/dashboard.js.map +1 -1
- package/dist/receipt/live-server.d.ts +15 -0
- package/dist/receipt/live-server.d.ts.map +1 -1
- package/dist/receipt/live-server.js +71 -0
- package/dist/receipt/live-server.js.map +1 -1
- package/dist/receipt/receipt-css.d.ts.map +1 -1
- package/dist/receipt/receipt-css.js +45 -0
- package/dist/receipt/receipt-css.js.map +1 -1
- package/dist/receipt/render-receipt.d.ts +14 -0
- package/dist/receipt/render-receipt.d.ts.map +1 -1
- package/dist/receipt/render-receipt.js +451 -79
- package/dist/receipt/render-receipt.js.map +1 -1
- package/dist/receipt/search.d.ts.map +1 -1
- package/dist/receipt/search.js +2 -0
- package/dist/receipt/search.js.map +1 -1
- package/dist/receipt/semantic-setup.d.ts +4 -0
- package/dist/receipt/semantic-setup.d.ts.map +1 -1
- package/dist/receipt/semantic-setup.js +10 -1
- package/dist/receipt/semantic-setup.js.map +1 -1
- package/dist/receipt/share.d.ts +15 -0
- package/dist/receipt/share.d.ts.map +1 -1
- package/dist/receipt/share.js +34 -1
- package/dist/receipt/share.js.map +1 -1
- package/dist/telemetry.d.ts +17 -2
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +67 -7
- package/dist/telemetry.js.map +1 -1
- package/dist/trail.d.ts +39 -0
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +27 -0
- package/dist/trail.js.map +1 -1
- package/dist/write-journal.d.ts +39 -0
- package/dist/write-journal.d.ts.map +1 -0
- package/dist/write-journal.js +107 -0
- package/dist/write-journal.js.map +1 -0
- 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 +2 -2
- 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 +9 -3
- package/qwen/settings.example.json +1 -1
- package/server.json +3 -3
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const SEMANTIC_PACKAGE = "@shield-agent/fastembed@3.0.0";
|
|
2
2
|
export interface SemanticSetupIo {
|
|
3
3
|
readonly error: (msg: string) => void;
|
|
4
|
+
/** `kya start` sets this: the "is off" hint is not printed there, `kya doctor` prints it (see semanticOffNotice). */
|
|
5
|
+
readonly quietHint?: boolean;
|
|
4
6
|
/** Test seam: force interactive / non-interactive. Defaults to "stdin and stderr are TTYs". */
|
|
5
7
|
readonly isTty?: boolean;
|
|
6
8
|
/** Test seam: returns the raw answer line. Defaults to a readline prompt on stdin/stderr. */
|
|
@@ -17,5 +19,7 @@ export declare function installSemanticRuntime(env: NodeJS.ProcessEnv): Promise<
|
|
|
17
19
|
ok: boolean;
|
|
18
20
|
detail?: string;
|
|
19
21
|
}>;
|
|
22
|
+
/** The "search is off" line `kya doctor` prints, or undefined when search is on or switched off on purpose. */
|
|
23
|
+
export declare function semanticOffNotice(env: NodeJS.ProcessEnv): string | undefined;
|
|
20
24
|
export declare function maybeOfferSemanticSearch(io: SemanticSetupIo, env: NodeJS.ProcessEnv): Promise<SemanticSetupResult>;
|
|
21
25
|
//# sourceMappingURL=semantic-setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-setup.d.ts","sourceRoot":"","sources":["../../src/receipt/semantic-setup.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,uFAAuF;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AA8BzG,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBxG;
|
|
1
|
+
{"version":3,"file":"semantic-setup.d.ts","sourceRoot":"","sources":["../../src/receipt/semantic-setup.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,qHAAqH;IACrH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,uFAAuF;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AA8BzG,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBxG;AA0BD,+GAA+G;AAC/G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAI5E;AAED,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsBxH"}
|
|
@@ -82,6 +82,14 @@ async function runInstall(io, env) {
|
|
|
82
82
|
io.error(`Could not install it${r.detail ? ` (${r.detail})` : ""}. Search keeps matching exact words. Try later: ${semanticInstallCommand(env)}`);
|
|
83
83
|
return "failed";
|
|
84
84
|
}
|
|
85
|
+
const OFF_NOTICE = "Plain-language search is off (exact words only). Turn it on: KYA_SEMANTIC=on kya start";
|
|
86
|
+
/** The "search is off" line `kya doctor` prints, or undefined when search is on or switched off on purpose. */
|
|
87
|
+
export function semanticOffNotice(env) {
|
|
88
|
+
const mode = env.KYA_SEMANTIC?.trim().toLowerCase();
|
|
89
|
+
if (mode === "off" || env.KYA_SEARCH_SEMANTIC === "off")
|
|
90
|
+
return undefined;
|
|
91
|
+
return semanticRuntimeInstalled(env) ? undefined : OFF_NOTICE;
|
|
92
|
+
}
|
|
85
93
|
export async function maybeOfferSemanticSearch(io, env) {
|
|
86
94
|
const mode = env.KYA_SEMANTIC?.trim().toLowerCase();
|
|
87
95
|
if (mode === "off" || env.KYA_SEARCH_SEMANTIC === "off")
|
|
@@ -94,7 +102,8 @@ export async function maybeOfferSemanticSearch(io, env) {
|
|
|
94
102
|
return "skipped";
|
|
95
103
|
const interactive = io.isTty ?? Boolean(process.stdin.isTTY && process.stderr.isTTY);
|
|
96
104
|
if (!interactive) {
|
|
97
|
-
|
|
105
|
+
if (!io.quietHint)
|
|
106
|
+
io.error(OFF_NOTICE);
|
|
98
107
|
return "hinted";
|
|
99
108
|
}
|
|
100
109
|
for (const line of NOTICE)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-setup.js","sourceRoot":"","sources":["../../src/receipt/semantic-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE5G,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,CAAC,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"semantic-setup.js","sourceRoot":"","sources":["../../src/receipt/semantic-setup.ts"],"names":[],"mappings":"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"}
|
package/dist/receipt/share.d.ts
CHANGED
|
@@ -9,6 +9,14 @@ export interface ShareStats {
|
|
|
9
9
|
readonly review: number;
|
|
10
10
|
readonly deny: number;
|
|
11
11
|
readonly never: number;
|
|
12
|
+
/**
|
|
13
|
+
* Counts by outcome (what happened to each call). Present when any row records one. `allow`, `review` and `deny`
|
|
14
|
+
* then count ran, held and blocked rows, so `review` is never a call that already ran.
|
|
15
|
+
*/
|
|
16
|
+
readonly ran?: number;
|
|
17
|
+
readonly blocked?: number;
|
|
18
|
+
readonly held?: number;
|
|
19
|
+
readonly error?: number;
|
|
12
20
|
/** Distinct sessions in the window - a count, never ids. */
|
|
13
21
|
readonly sessions: number;
|
|
14
22
|
}
|
|
@@ -63,6 +71,8 @@ export type ShareResult = {
|
|
|
63
71
|
/** Parsed Retry-After seconds from a 429, when present. */
|
|
64
72
|
readonly retryAfterSeconds?: number;
|
|
65
73
|
};
|
|
74
|
+
/** True when both URLs parse, use http or https, and have the same origin. */
|
|
75
|
+
export declare function sameOrigin(url: string, baseUrl: string): boolean;
|
|
66
76
|
/** Clamp a --share-retries flag value: negative/non-numeric → 0, cap at SHARE_MAX_RETRIES. */
|
|
67
77
|
export declare function clampShareRetries(raw: string | undefined): number;
|
|
68
78
|
/** POST the payload; 15s timeout. Never throws - failures come back as {ok:false}. */
|
|
@@ -83,6 +93,11 @@ export declare function shareReceiptWithRetry(payload: SharePayload, opts: {
|
|
|
83
93
|
readonly retries?: number;
|
|
84
94
|
readonly sleep?: (ms: number) => Promise<void>;
|
|
85
95
|
}): Promise<ShareResult>;
|
|
96
|
+
/**
|
|
97
|
+
* One line after a successful share (F4): claiming is on the shared page, and connecting this computer is the
|
|
98
|
+
* device login. A claim never links a computer by itself.
|
|
99
|
+
*/
|
|
100
|
+
export declare const SHARE_CONNECT_HINT = "To claim the report, open the link above and confirm your email. To connect this computer to your account, run kya login.";
|
|
86
101
|
/** One-line hint after a successful share (human output only, never under --json). */
|
|
87
102
|
export declare const SHARE_HOSTED_HINT = "Send it to your security lead: they can turn on hosted audit for the whole team from that page.";
|
|
88
103
|
/** `Shared report: <url> (expires YYYY-MM-DD)`; the date part is left out when unknown or invalid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/receipt/share.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/receipt/share.ts"],"names":[],"mappings":"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"}
|
package/dist/receipt/share.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* a machine, project, or person stays local. Dependency-free: global fetch.
|
|
9
9
|
*/
|
|
10
10
|
import { CLI_VERSION } from "../version.js";
|
|
11
|
+
import { countOutcomes, outcomeOf } from "../trail.js";
|
|
11
12
|
import { aggregateEvents } from "./render-receipt.js";
|
|
12
13
|
export const SHARE_DEFAULT_BASE_URL = "https://shield-agent.com";
|
|
13
14
|
export const SHARE_PATH = "/api/v1/share/reports";
|
|
@@ -35,7 +36,17 @@ export function buildSharePayload(model) {
|
|
|
35
36
|
const v = e.verdict.toUpperCase();
|
|
36
37
|
if (e.neverEvent || e.reasonCode === "NEVER_EVENT")
|
|
37
38
|
never++;
|
|
38
|
-
|
|
39
|
+
const o = outcomeOf(e);
|
|
40
|
+
// An outcome says what happened; the verdict only counts rows written before outcomes existed.
|
|
41
|
+
if (o) {
|
|
42
|
+
if (o === "ran")
|
|
43
|
+
allow++;
|
|
44
|
+
else if (o === "blocked")
|
|
45
|
+
deny++;
|
|
46
|
+
else if (o === "held")
|
|
47
|
+
review++;
|
|
48
|
+
}
|
|
49
|
+
else if (v === "ALLOW")
|
|
39
50
|
allow++;
|
|
40
51
|
else if (v === "DENY")
|
|
41
52
|
deny++;
|
|
@@ -44,6 +55,7 @@ export function buildSharePayload(model) {
|
|
|
44
55
|
sessions.add(e.sessionId?.trim() || "unknown");
|
|
45
56
|
}
|
|
46
57
|
const agg = aggregateEvents(events);
|
|
58
|
+
const oc = countOutcomes(events);
|
|
47
59
|
return {
|
|
48
60
|
version: 1,
|
|
49
61
|
title: model.title,
|
|
@@ -56,6 +68,7 @@ export function buildSharePayload(model) {
|
|
|
56
68
|
review,
|
|
57
69
|
deny,
|
|
58
70
|
never,
|
|
71
|
+
...(oc.recorded > 0 ? { ran: oc.ran, blocked: oc.blocked, held: oc.held, error: oc.error } : {}),
|
|
59
72
|
sessions: sessions.size,
|
|
60
73
|
},
|
|
61
74
|
products: agg.products.slice(0, 6).map(({ label, count }) => ({ label, count })),
|
|
@@ -80,6 +93,17 @@ export function shareBaseUrl(override, env) {
|
|
|
80
93
|
end--;
|
|
81
94
|
return raw.slice(0, end);
|
|
82
95
|
}
|
|
96
|
+
/** True when both URLs parse, use http or https, and have the same origin. */
|
|
97
|
+
export function sameOrigin(url, baseUrl) {
|
|
98
|
+
try {
|
|
99
|
+
const a = new URL(url);
|
|
100
|
+
const b = new URL(baseUrl);
|
|
101
|
+
return (a.protocol === "https:" || a.protocol === "http:") && a.origin === b.origin;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
83
107
|
/** Parse a Retry-After header as integer seconds; undefined when absent/malformed. */
|
|
84
108
|
function parseRetryAfterSeconds(raw) {
|
|
85
109
|
if (!raw)
|
|
@@ -134,6 +158,10 @@ export async function shareReceiptPayload(payload, opts) {
|
|
|
134
158
|
if (!data || typeof data.url !== "string" || !data.url) {
|
|
135
159
|
return { ok: false, error: "share failed: response did not include a url" };
|
|
136
160
|
}
|
|
161
|
+
// The link is shown, copied and opened: it must stay on the server we sent the summary to.
|
|
162
|
+
if (!sameOrigin(data.url, opts.baseUrl)) {
|
|
163
|
+
return { ok: false, error: "share failed: the response link is not on the server that was asked" };
|
|
164
|
+
}
|
|
137
165
|
return typeof data.expiresAt === "string" && data.expiresAt
|
|
138
166
|
? { ok: true, url: data.url, expiresAt: data.expiresAt }
|
|
139
167
|
: { ok: true, url: data.url };
|
|
@@ -171,6 +199,11 @@ export async function shareReceiptWithRetry(payload, opts) {
|
|
|
171
199
|
await sleep(shareRetryDelayMs(result, attempt));
|
|
172
200
|
}
|
|
173
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* One line after a successful share (F4): claiming is on the shared page, and connecting this computer is the
|
|
204
|
+
* device login. A claim never links a computer by itself.
|
|
205
|
+
*/
|
|
206
|
+
export const SHARE_CONNECT_HINT = "To claim the report, open the link above and confirm your email. To connect this computer to your account, run kya login.";
|
|
174
207
|
/** One-line hint after a successful share (human output only, never under --json). */
|
|
175
208
|
export const SHARE_HOSTED_HINT = "Send it to your security lead: they can turn on hosted audit for the whole team from that page.";
|
|
176
209
|
/** `Shared report: <url> (expires YYYY-MM-DD)`; the date part is left out when unknown or invalid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/receipt/share.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AAEzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qEAAqE;AACrE,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC5D,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,mFAAmF;AACnF,MAAM,iBAAiB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/receipt/share.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface TelemetryPayload {
|
|
|
21
21
|
readonly hostId: string;
|
|
22
22
|
readonly gateMode: string;
|
|
23
23
|
readonly hostedLinked: boolean;
|
|
24
|
+
/** Present (true) only when a maintainer sets KYA_TELEMETRY_INTERNAL=1; absent for everyone else. */
|
|
25
|
+
readonly internal?: true;
|
|
24
26
|
}
|
|
25
27
|
export type FetchLike = (input: string, init?: RequestInit) => Promise<Pick<Response, "ok" | "status">>;
|
|
26
28
|
export declare const DEFAULT_TELEMETRY_ENDPOINT = "https://shield-agent.com/api/v1/telemetry/kya";
|
|
@@ -34,8 +36,17 @@ export declare function telemetryDisabledReason(env: NodeJS.ProcessEnv): string
|
|
|
34
36
|
export declare function isTelemetryEnabled(env: NodeJS.ProcessEnv): boolean;
|
|
35
37
|
/** https, or http on a loopback host (tests, self-hosting). Anything else falls back to the default. */
|
|
36
38
|
export declare function telemetryEndpoint(env: NodeJS.ProcessEnv): string;
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Maps the MCP `initialize` clientInfo.name to the allow-list. An unknown name becomes "other":
|
|
41
|
+
* the raw string never reaches the payload (a custom client name could identify a person or a company).
|
|
42
|
+
*/
|
|
43
|
+
export declare function mapClientName(name: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Host slug, in order: the session id `kya connect` writes (`mcp:<host>`); the MCP client's
|
|
46
|
+
* `initialize` name via {@link mapClientName}; the CLAUDECODE marker Claude Code sets (presence only,
|
|
47
|
+
* the value is never read); else "unknown".
|
|
48
|
+
*/
|
|
49
|
+
export declare function telemetryHostId(env: NodeJS.ProcessEnv, clientName?: string): string;
|
|
39
50
|
/**
|
|
40
51
|
* The ONLY fields that ever leave the machine. A test pins this exact key set; adding a field here
|
|
41
52
|
* is a privacy change that needs the server validator, docs/telemetry.md and the privacy page updated.
|
|
@@ -47,6 +58,8 @@ export declare function buildPayload(input: {
|
|
|
47
58
|
readonly surface: TelemetrySurface;
|
|
48
59
|
readonly env: NodeJS.ProcessEnv;
|
|
49
60
|
readonly cwd: string;
|
|
61
|
+
/** Raw MCP clientInfo.name; mapped to the allow-list here, never sent as is. */
|
|
62
|
+
readonly clientName?: string;
|
|
50
63
|
}): TelemetryPayload;
|
|
51
64
|
/**
|
|
52
65
|
* POST one JSON body. Returns whether the server accepted it. Never throws: telemetry must not be
|
|
@@ -57,6 +70,8 @@ export declare function postTelemetry(url: string, body: unknown, fetchImpl?: Fe
|
|
|
57
70
|
export interface SessionBeacon {
|
|
58
71
|
/** Sends `end` (bounded by the send timeout) and stops the heartbeat. Idempotent. */
|
|
59
72
|
stop(): Promise<void>;
|
|
73
|
+
/** Hands over the MCP client's `initialize` name; later events carry the mapped host. First call wins. */
|
|
74
|
+
setClient(name: string): void;
|
|
60
75
|
}
|
|
61
76
|
/**
|
|
62
77
|
* Start reporting for one long-lived process. A no-op unless the user opted in and nothing overrides
|
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AACxF,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AACxF,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;AAE9C,eAAO,MAAM,0BAA0B,kDAAkD,CAAC;AAc1F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAEjE;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,cAAc,CAazE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAGvF;AAMD,iGAAiG;AACjG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAIlE;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAehE;AAoCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,gBAAgB,CAqBnB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAMD,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,0GAA0G;IAC1G,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAWD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE;IACJ,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GACA,aAAa,CAwCf;AAMD,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAEhE;AAED,KAAK,SAAS,GAAG,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,KACvG;IAAE,KAAK,IAAI,IAAI,CAAC;IAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAA;CAAE,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,GAAE,MAAmB,GAAG,OAAO,CAE7F;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAqBV;AAED,yGAAyG;AACzG,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAMD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,cAAc,UAK1B,CAAC;AAaF;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,CAyBnC;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAMD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAC5F,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAkHjB"}
|
package/dist/telemetry.js
CHANGED
|
@@ -109,10 +109,56 @@ function eraseEndpoint(env) {
|
|
|
109
109
|
// ---------------------------------------------------------------------------------------------
|
|
110
110
|
// Payload
|
|
111
111
|
// ---------------------------------------------------------------------------------------------
|
|
112
|
-
/**
|
|
113
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Fixed allow-list of host names the beacon may report. `claude`..`droid` match the `kya connect`
|
|
114
|
+
* registry, so hook pings, connected MCP sessions and clientInfo-detected sessions share one slug.
|
|
115
|
+
*/
|
|
116
|
+
const CLIENT_HOSTS = [
|
|
117
|
+
["claude", "claude"], // clientInfo "claude-code", "claude-ai"
|
|
118
|
+
["cursor", "cursor"],
|
|
119
|
+
["codex", "codex"],
|
|
120
|
+
["copilot", "copilot"],
|
|
121
|
+
["visual studio code", "vscode"],
|
|
122
|
+
["vscode", "vscode"],
|
|
123
|
+
["windsurf", "windsurf"],
|
|
124
|
+
["gemini", "gemini"],
|
|
125
|
+
["grok", "grok"],
|
|
126
|
+
["opencode", "opencode"],
|
|
127
|
+
["kilo", "kilo"],
|
|
128
|
+
["kiro", "kiro"],
|
|
129
|
+
["qwen", "qwen"],
|
|
130
|
+
["kimi", "kimi"],
|
|
131
|
+
["mastracode", "mastracode"],
|
|
132
|
+
["amp", "amp"],
|
|
133
|
+
["cline", "cline"],
|
|
134
|
+
["droid", "droid"],
|
|
135
|
+
["zed", "zed"],
|
|
136
|
+
];
|
|
137
|
+
/**
|
|
138
|
+
* Maps the MCP `initialize` clientInfo.name to the allow-list. An unknown name becomes "other":
|
|
139
|
+
* the raw string never reaches the payload (a custom client name could identify a person or a company).
|
|
140
|
+
*/
|
|
141
|
+
export function mapClientName(name) {
|
|
142
|
+
const n = name.slice(0, 64).trim().toLowerCase();
|
|
143
|
+
// Whole words only: "amp" must not match "example".
|
|
144
|
+
const words = new Set(n.split(/[^a-z0-9]+/));
|
|
145
|
+
return CLIENT_HOSTS.find(([needle]) => words.has(needle) || n === needle)?.[1] ?? "other";
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Host slug, in order: the session id `kya connect` writes (`mcp:<host>`); the MCP client's
|
|
149
|
+
* `initialize` name via {@link mapClientName}; the CLAUDECODE marker Claude Code sets (presence only,
|
|
150
|
+
* the value is never read); else "unknown".
|
|
151
|
+
*/
|
|
152
|
+
export function telemetryHostId(env, clientName) {
|
|
114
153
|
const match = /^mcp:([a-z][a-z0-9-]{0,31})$/.exec(env["KYA_SESSION_ID"] ?? "");
|
|
115
|
-
|
|
154
|
+
if (match?.[1] !== undefined)
|
|
155
|
+
return match[1];
|
|
156
|
+
const mapped = clientName === undefined ? undefined : mapClientName(clientName);
|
|
157
|
+
if (mapped !== undefined && mapped !== "other")
|
|
158
|
+
return mapped;
|
|
159
|
+
if (truthy(env["CLAUDECODE"]))
|
|
160
|
+
return "claude";
|
|
161
|
+
return mapped ?? "unknown";
|
|
116
162
|
}
|
|
117
163
|
/**
|
|
118
164
|
* The ONLY fields that ever leave the machine. A test pins this exact key set; adding a field here
|
|
@@ -129,9 +175,14 @@ export function buildPayload(input) {
|
|
|
129
175
|
os: process.platform,
|
|
130
176
|
arch: process.arch,
|
|
131
177
|
nodeMajor: Number.parseInt(process.versions.node, 10),
|
|
132
|
-
hostId: telemetryHostId(input.env),
|
|
178
|
+
hostId: telemetryHostId(input.env, input.clientName),
|
|
133
179
|
gateMode: resolveGateMode({ cwd: input.cwd, env: input.env }),
|
|
134
|
-
|
|
180
|
+
// KYA_HOSTED_LINKED=1 is a presence flag (never a key): the Claude plugin shim sets it before it
|
|
181
|
+
// removes the key from the environment, so plugin users still count as hosted-linked.
|
|
182
|
+
hostedLinked: (input.env["KYA_API_KEY"] ?? input.env["SHIELD_API_KEY"] ?? "").trim() !== "" ||
|
|
183
|
+
truthy(input.env["KYA_HOSTED_LINKED"]),
|
|
184
|
+
// Maintainers only: lets the public KPIs leave their own machines out.
|
|
185
|
+
...(truthy(input.env["KYA_TELEMETRY_INTERNAL"]) ? { internal: true } : {}),
|
|
135
186
|
};
|
|
136
187
|
}
|
|
137
188
|
/**
|
|
@@ -157,7 +208,7 @@ export async function postTelemetry(url, body, fetchImpl = fetch) {
|
|
|
157
208
|
return false;
|
|
158
209
|
}
|
|
159
210
|
}
|
|
160
|
-
const NOOP_BEACON = { stop: async () => { } };
|
|
211
|
+
const NOOP_BEACON = { stop: async () => { }, setClient: () => { } };
|
|
161
212
|
function heartbeatMs(env, override) {
|
|
162
213
|
if (override !== undefined)
|
|
163
214
|
return override;
|
|
@@ -178,10 +229,11 @@ export function startSessionBeacon(surface, deps) {
|
|
|
178
229
|
const fetchImpl = deps.fetchImpl ?? fetch;
|
|
179
230
|
let failures = 0;
|
|
180
231
|
let stopped = false;
|
|
232
|
+
let clientName;
|
|
181
233
|
const send = async (event) => {
|
|
182
234
|
if (failures >= MAX_CONSECUTIVE_FAILURES)
|
|
183
235
|
return;
|
|
184
|
-
const ok = await postTelemetry(url, buildPayload({ installId, sessionId, event, surface, env: deps.env, cwd: deps.cwd }), fetchImpl);
|
|
236
|
+
const ok = await postTelemetry(url, buildPayload({ installId, sessionId, event, surface, env: deps.env, cwd: deps.cwd, clientName }), fetchImpl);
|
|
185
237
|
failures = ok ? 0 : failures + 1;
|
|
186
238
|
};
|
|
187
239
|
void send("start");
|
|
@@ -190,6 +242,14 @@ export function startSessionBeacon(surface, deps) {
|
|
|
190
242
|
}, heartbeatMs(deps.env, deps.intervalMs));
|
|
191
243
|
timer.unref();
|
|
192
244
|
return {
|
|
245
|
+
setClient(name) {
|
|
246
|
+
if (clientName !== undefined || stopped)
|
|
247
|
+
return;
|
|
248
|
+
clientName = name;
|
|
249
|
+
// `start` went out before the client said who it is; the server keeps the latest host per session.
|
|
250
|
+
if (telemetryHostId(deps.env, name) !== telemetryHostId(deps.env))
|
|
251
|
+
void send("heartbeat");
|
|
252
|
+
},
|
|
193
253
|
async stop() {
|
|
194
254
|
if (stopped)
|
|
195
255
|
return;
|
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAkC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,+CAA+C,CAAC;AAC1F,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,oBAAoB,GAAG,CAAC,GAAG,MAAM,CAAC;AACxC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,iEAAiE,CAAC;AAClF,MAAM,MAAM,GAAG,qBAAqB,CAAC;AAErC,MAAM,MAAM,GAAG,CAAC,KAAyB,EAAW,EAAE,CACpD,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAE3E,gGAAgG;AAChG,gCAAgC;AAChC,gGAAgG;AAEhG,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;QACjG,OAAO;YACL,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAsB,EAAE,KAAqB;IAC/E,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,gGAAgG;AAChG,QAAQ;AACR,gGAAgG;AAEhG,iGAAiG;AACjG,MAAM,UAAU,uBAAuB,CAAC,GAAsB;IAC5D,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAC9D,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACnF,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM;QAAE,OAAO,eAAe,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;AACjE,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC1F,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,GAAsB;IAC3C,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC/D,CAAC;AAED,gGAAgG;AAChG,UAAU;AACV,gGAAgG;AAEhG,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,GAAsB;IACpD,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAO5B;IACC,OAAO;QACL,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,WAAW;QACvB,EAAE,EAAE,OAAO,CAAC,QAAQ;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,QAAQ,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7D,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;KAC7D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,IAAa,EACb,YAAuB,KAAK;IAE5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,wBAAwB,WAAW,EAAE;aACpD;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;SAC7C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAWD,MAAM,WAAW,GAAkB,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;AAE5D,SAAS,WAAW,CAAC,GAAsB,EAAE,QAA4B;IACvE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,+EAA+E;IAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,IAKC;IAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAmB,CAAC;IACnE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,IAAI,GAAG,KAAK,EAAE,KAAyB,EAAiB,EAAE;QAC9D,IAAI,QAAQ,IAAI,wBAAwB;YAAE,OAAO;QACjD,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5B,GAAG,EACH,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EACpF,SAAS,CACV,CAAC;QACF,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,OAAO;QACL,KAAK,CAAC,IAAI;YACR,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,8EAA8E;AAC9E,gGAAgG;AAEhG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAEtD,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAsB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IAClF,OAAO,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAOlC;IACC,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,gEAAgE;QACvG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS;YAC7G,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAiC;YACvF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,IAAK,KAA8B,CAAC,CAC/D,OAAO,CAAC,QAAQ,EAChB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAC5B,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CACtF,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAsB,EACtB,GAAW,EACX,YAAuB,KAAK;IAE5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAmB,CAAC;IAC9D,OAAO,aAAa,CAClB,iBAAiB,CAAC,GAAG,CAAC,EACtB,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAC9F,SAAS,CACV,CAAC;AACJ,CAAC;AAcD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kDAAkD;IAClD,8FAA8F;IAC9F,oEAAoE;IACpE,2GAA2G;CAC5G,CAAC;AAEF,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,mFAAmF;QACnF,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YACrC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAa,EACb,GAAsB;IAEtB,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrF,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,cAAc;QAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,mBAAmB,CAAC,GAAG,EAAE;YACvB,OAAO,EAAE,GAAG;YACZ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,EAAE,CAAC,KAAK,CACN,GAAG;QACD,CAAC,CAAC,kEAAkE;QACpE,CAAC,CAAC,sEAAsE,CAC3E,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,CAAC;AAWD,MAAM,UAAU,GACd,oGAAoG;IACpG,0EAA0E,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA4F,EAC5F,EAAsB,EACtB,GAAsB,EACtB,GAAW,EACX,YAAuB,KAAK;IAE5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAE5C,QAAQ,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,CACZ;oBACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;oBAC9B,SAAS;oBACT,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBAClC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;oBAChC,YAAY,EAAE,MAAM,IAAI,IAAI;iBAC7B,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1G,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnD,EAAE,CAAC,GAAG,CAAC,gCAAgC,MAAM,8BAA8B,CAAC,CAAC;YAC/E,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;YACnD,EAAE,CAAC,GAAG,CAAC,aAAa,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,mBAAmB,CAAC,GAAG,EAAE;gBACvB,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU,EAAE;gBAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnD,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;YAC7F,IAAI,MAAM,KAAK,SAAS;gBAAE,EAAE,CAAC,GAAG,CAAC,SAAS,MAAM,uCAAuC,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,gGAAgG;YAChG,+FAA+F;YAC/F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1D,mBAAmB,CAAC,GAAG,EAAE;gBACvB,OAAO,EAAE,KAAK;gBACd,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,OAAO;aACR,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,EAAE,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBACvE,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,EAAE,CAAC,KAAK,CAAC,oHAAoH,CAAC,CAAC;gBAC/H,OAAO,CAAC,CAAC;YACX,CAAC;YACD,mBAAmB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,EAAE,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,iGAAiG;YACjG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,2CAA2C;gBACzE,SAAS,EAAE,sBAAsB;gBACjC,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,WAAW;gBACpB,GAAG;gBACH,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;YACjG,EAAE,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAC;YACtG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnB,EAAE,CAAC,GAAG,CAAC,aAAa,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5D,EAAE,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBACzE,OAAO,CAAC,CAAC;YACX,CAAC;YACD,mBAAmB,CAAC,GAAG,EAAE;gBACvB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,SAAS,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnD,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YAC9F,OAAO,CAAC,CAAC;QACX,CAAC;QAED;YACE,EAAE,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAC/E,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAoC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,+CAA+C,CAAC;AAC1F,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,oBAAoB,GAAG,CAAC,GAAG,MAAM,CAAC;AACxC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,iEAAiE,CAAC;AAClF,MAAM,MAAM,GAAG,qBAAqB,CAAC;AAErC,MAAM,MAAM,GAAG,CAAC,KAAyB,EAAW,EAAE,CACpD,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAE3E,gGAAgG;AAChG,gCAAgC;AAChC,gGAAgG;AAEhG,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;QACjG,OAAO;YACL,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAsB,EAAE,KAAqB;IAC/E,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,gGAAgG;AAChG,QAAQ;AACR,gGAAgG;AAEhG,iGAAiG;AACjG,MAAM,UAAU,uBAAuB,CAAC,GAAsB;IAC5D,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAC9D,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACnF,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM;QAAE,OAAO,eAAe,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;AACjE,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC1F,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,GAAsB;IAC3C,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC/D,CAAC;AAED,gGAAgG;AAChG,UAAU;AACV,gGAAgG;AAEhG;;;GAGG;AACH,MAAM,YAAY,GAA2D;IAC3E,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,wCAAwC;IAC9D,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,oBAAoB,EAAE,QAAQ,CAAC;IAChC,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,KAAK,EAAE,KAAK,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,oDAAoD;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAsB,EAAE,UAAmB;IACzE,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAS5B;IACC,OAAO;QACL,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,WAAW;QACvB,EAAE,EAAE,OAAO,CAAC,QAAQ;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC;QACpD,QAAQ,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7D,iGAAiG;QACjG,sFAAsF;QACtF,YAAY,EACV,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAC7E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxC,uEAAuE;QACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,IAAa,EACb,YAAuB,KAAK;IAE5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,wBAAwB,WAAW,EAAE;aACpD;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;SAC7C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAaD,MAAM,WAAW,GAAkB,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AAEjF,SAAS,WAAW,CAAC,GAAsB,EAAE,QAA4B;IACvE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,+EAA+E;IAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,IAKC;IAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAmB,CAAC;IACnE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAA8B,CAAC;IAEnC,MAAM,IAAI,GAAG,KAAK,EAAE,KAAyB,EAAiB,EAAE;QAC9D,IAAI,QAAQ,IAAI,wBAAwB;YAAE,OAAO;QACjD,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5B,GAAG,EACH,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAChG,SAAS,CACV,CAAC;QACF,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,OAAO;QACL,SAAS,CAAC,IAAY;YACpB,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO;gBAAE,OAAO;YAChD,UAAU,GAAG,IAAI,CAAC;YAClB,mGAAmG;YACnG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,CAAC,IAAI;YACR,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,8EAA8E;AAC9E,gGAAgG;AAEhG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAEtD,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAsB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IAClF,OAAO,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAOlC;IACC,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,gEAAgE;QACvG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS;YAC7G,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAiC;YACvF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,IAAK,KAA8B,CAAC,CAC/D,OAAO,CAAC,QAAQ,EAChB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAC5B,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CACtF,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAsB,EACtB,GAAW,EACX,YAAuB,KAAK;IAE5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAmB,CAAC;IAC9D,OAAO,aAAa,CAClB,iBAAiB,CAAC,GAAG,CAAC,EACtB,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAC9F,SAAS,CACV,CAAC;AACJ,CAAC;AAcD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kDAAkD;IAClD,8FAA8F;IAC9F,oEAAoE;IACpE,2GAA2G;CAC5G,CAAC;AAEF,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,mFAAmF;QACnF,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YACrC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAa,EACb,GAAsB;IAEtB,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrF,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,cAAc;QAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,mBAAmB,CAAC,GAAG,EAAE;YACvB,OAAO,EAAE,GAAG;YACZ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,EAAE,CAAC,KAAK,CACN,GAAG;QACD,CAAC,CAAC,kEAAkE;QACpE,CAAC,CAAC,sEAAsE,CAC3E,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,CAAC;AAWD,MAAM,UAAU,GACd,oGAAoG;IACpG,0EAA0E,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA4F,EAC5F,EAAsB,EACtB,GAAsB,EACtB,GAAW,EACX,YAAuB,KAAK;IAE5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAE5C,QAAQ,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,CACZ;oBACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;oBAC9B,SAAS;oBACT,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBAClC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;oBAChC,YAAY,EAAE,MAAM,IAAI,IAAI;iBAC7B,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1G,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnD,EAAE,CAAC,GAAG,CAAC,gCAAgC,MAAM,8BAA8B,CAAC,CAAC;YAC/E,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;YACnD,EAAE,CAAC,GAAG,CAAC,aAAa,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,mBAAmB,CAAC,GAAG,EAAE;gBACvB,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU,EAAE;gBAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnD,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;YAC7F,IAAI,MAAM,KAAK,SAAS;gBAAE,EAAE,CAAC,GAAG,CAAC,SAAS,MAAM,uCAAuC,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,gGAAgG;YAChG,+FAA+F;YAC/F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1D,mBAAmB,CAAC,GAAG,EAAE;gBACvB,OAAO,EAAE,KAAK;gBACd,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,OAAO;aACR,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,EAAE,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBACvE,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,EAAE,CAAC,KAAK,CAAC,oHAAoH,CAAC,CAAC;gBAC/H,OAAO,CAAC,CAAC;YACX,CAAC;YACD,mBAAmB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,EAAE,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,iGAAiG;YACjG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,2CAA2C;gBACzE,SAAS,EAAE,sBAAsB;gBACjC,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,WAAW;gBACpB,GAAG;gBACH,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;YACjG,EAAE,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAC;YACtG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnB,EAAE,CAAC,GAAG,CAAC,aAAa,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5D,EAAE,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBACzE,OAAO,CAAC,CAAC;YACX,CAAC;YACD,mBAAmB,CAAC,GAAG,EAAE;gBACvB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,SAAS,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnD,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YAC9F,OAAO,CAAC,CAAC;QACX,CAAC;QAED;YACE,EAAE,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAC/E,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC"}
|
package/dist/trail.d.ts
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
export type TrailProduct = "cursor" | "claude" | "codex" | "gemini" | "grok" | "kimi" | "ide" | "runtime" | "other";
|
|
2
2
|
/** Foreign trace formats the importer accepts (host "import" events). */
|
|
3
3
|
export type TrailImportFormat = "langsmith" | "langfuse" | "phoenix" | "otel" | "adr-sensor" | "openshell";
|
|
4
|
+
/**
|
|
5
|
+
* What happened to the call, as the hook saw it:
|
|
6
|
+
* - ran: the hook exited 0 and let the call go on, whatever the verdict (the host can still decline it).
|
|
7
|
+
* - blocked: the hook denied it (exit 2: a DENY verdict, or a fail-closed deny).
|
|
8
|
+
* - held: the hook stopped it for approval (strict mode, or the hosted plane's approval hold).
|
|
9
|
+
* - error: the hook itself failed or ran degraded, and let the call go on (fail-open path, shadow-mode failure, bad guard config).
|
|
10
|
+
* Rows written before this field existed have none; readers treat them as before (by verdict).
|
|
11
|
+
*/
|
|
12
|
+
export type TrailOutcome = "ran" | "blocked" | "held" | "error";
|
|
13
|
+
export declare const TRAIL_OUTCOMES: readonly TrailOutcome[];
|
|
4
14
|
export interface TrailEvent {
|
|
5
15
|
readonly ts: string;
|
|
6
16
|
readonly sessionId: string;
|
|
@@ -10,7 +20,10 @@ export interface TrailEvent {
|
|
|
10
20
|
/** Project folder basename the event was written from. */
|
|
11
21
|
readonly project?: string;
|
|
12
22
|
readonly toolId: string;
|
|
23
|
+
/** The policy opinion (ALLOW, DENY, REQUIRE_APPROVE). It says what policy thinks, not what happened: see `outcome`. */
|
|
13
24
|
readonly verdict: string;
|
|
25
|
+
/** What happened to the call. Absent on rows written before it existed. */
|
|
26
|
+
readonly outcome?: TrailOutcome;
|
|
14
27
|
readonly reasonCode: string;
|
|
15
28
|
readonly mode: "observe" | "hold" | "offline";
|
|
16
29
|
readonly neverEvent?: boolean;
|
|
@@ -47,6 +60,32 @@ export interface TrailEvent {
|
|
|
47
60
|
/** Privacy-safe class of the tool target (map/target-class.ts). A class, never a path, URL path, argument or command. */
|
|
48
61
|
readonly targetClass?: string;
|
|
49
62
|
}
|
|
63
|
+
/** The recorded outcome, or undefined for a row that has none (an old row, or a bad value). */
|
|
64
|
+
export declare function outcomeOf(e: {
|
|
65
|
+
readonly outcome?: string;
|
|
66
|
+
}): TrailOutcome | undefined;
|
|
67
|
+
/** The call ran, but policy said REQUIRE_APPROVE: strict mode would have held it. */
|
|
68
|
+
export declare function wouldHoldInStrict(e: {
|
|
69
|
+
readonly verdict: string;
|
|
70
|
+
readonly outcome?: string;
|
|
71
|
+
}): boolean;
|
|
72
|
+
export interface OutcomeCounts {
|
|
73
|
+
readonly ran: number;
|
|
74
|
+
readonly blocked: number;
|
|
75
|
+
readonly held: number;
|
|
76
|
+
readonly error: number;
|
|
77
|
+
/** Rows that carry an outcome. */
|
|
78
|
+
readonly recorded: number;
|
|
79
|
+
/** Rows without one (written before the field existed). */
|
|
80
|
+
readonly legacy: number;
|
|
81
|
+
/** Ran rows that policy marked REQUIRE_APPROVE. */
|
|
82
|
+
readonly wouldHold: number;
|
|
83
|
+
}
|
|
84
|
+
/** The one place counts by outcome are made: the report, the share summary and certify all read this. */
|
|
85
|
+
export declare function countOutcomes(events: readonly {
|
|
86
|
+
readonly verdict: string;
|
|
87
|
+
readonly outcome?: string;
|
|
88
|
+
}[]): OutcomeCounts;
|
|
50
89
|
export declare function globalTrailPath(env?: NodeJS.ProcessEnv): string;
|
|
51
90
|
/** The one archive kept by rotation: the previous trail.jsonl, replaced at each rotation. */
|
|
52
91
|
export declare function archivedTrailPath(env?: NodeJS.ProcessEnv): string;
|
package/dist/trail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trail.d.ts","sourceRoot":"","sources":["../src/trail.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trail.d.ts","sourceRoot":"","sources":["../src/trail.ts"],"names":[],"mappings":"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"}
|
package/dist/trail.js
CHANGED
|
@@ -4,6 +4,30 @@
|
|
|
4
4
|
import { appendFileSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, readSync, renameSync, statSync, unlinkSync, } from "node:fs";
|
|
5
5
|
import { basename, join } from "node:path";
|
|
6
6
|
import { configDir, globalConfigDir } from "./config.js";
|
|
7
|
+
export const TRAIL_OUTCOMES = ["ran", "blocked", "held", "error"];
|
|
8
|
+
/** The recorded outcome, or undefined for a row that has none (an old row, or a bad value). */
|
|
9
|
+
export function outcomeOf(e) {
|
|
10
|
+
return TRAIL_OUTCOMES.includes(e.outcome) ? e.outcome : undefined;
|
|
11
|
+
}
|
|
12
|
+
/** The call ran, but policy said REQUIRE_APPROVE: strict mode would have held it. */
|
|
13
|
+
export function wouldHoldInStrict(e) {
|
|
14
|
+
return outcomeOf(e) === "ran" && e.verdict.toUpperCase() === "REQUIRE_APPROVE";
|
|
15
|
+
}
|
|
16
|
+
/** The one place counts by outcome are made: the report, the share summary and certify all read this. */
|
|
17
|
+
export function countOutcomes(events) {
|
|
18
|
+
const c = { ran: 0, blocked: 0, held: 0, error: 0, wouldHold: 0 };
|
|
19
|
+
let recorded = 0;
|
|
20
|
+
for (const e of events) {
|
|
21
|
+
const o = outcomeOf(e);
|
|
22
|
+
if (!o)
|
|
23
|
+
continue;
|
|
24
|
+
recorded++;
|
|
25
|
+
c[o]++;
|
|
26
|
+
if (wouldHoldInStrict(e))
|
|
27
|
+
c.wouldHold++;
|
|
28
|
+
}
|
|
29
|
+
return { ...c, recorded, legacy: events.length - recorded };
|
|
30
|
+
}
|
|
7
31
|
export function globalTrailPath(env = process.env) {
|
|
8
32
|
return join(globalConfigDir(env), "trail.jsonl");
|
|
9
33
|
}
|
|
@@ -190,6 +214,9 @@ function parseTrailEvent(raw) {
|
|
|
190
214
|
verdict: e.verdict,
|
|
191
215
|
reasonCode: e.reasonCode,
|
|
192
216
|
mode: e.mode,
|
|
217
|
+
...(typeof e.outcome === "string" && TRAIL_OUTCOMES.includes(e.outcome)
|
|
218
|
+
? { outcome: e.outcome }
|
|
219
|
+
: {}),
|
|
193
220
|
...(typeof e.host === "string" ? { host: e.host } : {}),
|
|
194
221
|
...(typeof e.product === "string" && TRAIL_PRODUCTS.has(e.product)
|
|
195
222
|
? { product: e.product }
|