@shield-agent/kya 0.23.1 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor-plugin/plugin.json +2 -2
- package/.mcp.json +1 -1
- package/README.md +42 -10
- package/amp/settings.example.json +1 -1
- package/assets/report-activity.png +0 -0
- package/assets/report-certify.png +0 -0
- package/assets/report-changes.png +0 -0
- package/assets/report-gateway-backends.png +0 -0
- package/assets/report-gateway-listeners.png +0 -0
- package/assets/report-gateway-playground.png +0 -0
- package/assets/report-gateway-policies.png +0 -0
- package/assets/report-gateway-routes.png +0 -0
- package/assets/report-gateway.png +0 -0
- package/assets/report-overview.png +0 -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/certify/context.d.ts +7 -0
- package/dist/certify/context.d.ts.map +1 -1
- package/dist/certify/context.js +9 -1
- package/dist/certify/context.js.map +1 -1
- package/dist/certify/evaluate.d.ts.map +1 -1
- package/dist/certify/evaluate.js +13 -1
- package/dist/certify/evaluate.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/hook.d.ts +6 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +203 -46
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/import-traces.d.ts +1 -1
- package/dist/commands/import-traces.d.ts.map +1 -1
- package/dist/commands/import-traces.js +10 -6
- package/dist/commands/import-traces.js.map +1 -1
- package/dist/commands/investigate.d.ts.map +1 -1
- package/dist/commands/investigate.js +4 -0
- package/dist/commands/investigate.js.map +1 -1
- package/dist/commands/notify-flush.d.ts.map +1 -1
- package/dist/commands/notify-flush.js +1 -1
- package/dist/commands/notify-flush.js.map +1 -1
- package/dist/importers/agt.d.ts +24 -0
- package/dist/importers/agt.d.ts.map +1 -0
- package/dist/importers/agt.js +242 -0
- package/dist/importers/agt.js.map +1 -0
- package/dist/importers/formats.d.ts +8 -5
- package/dist/importers/formats.d.ts.map +1 -1
- package/dist/importers/formats.js +16 -10
- package/dist/importers/formats.js.map +1 -1
- package/dist/importers/index.d.ts +17 -0
- package/dist/importers/index.d.ts.map +1 -1
- package/dist/importers/index.js +67 -18
- package/dist/importers/index.js.map +1 -1
- package/dist/investigate/incidents.d.ts +3 -1
- package/dist/investigate/incidents.d.ts.map +1 -1
- package/dist/investigate/incidents.js +4 -0
- package/dist/investigate/incidents.js.map +1 -1
- package/dist/investigate/index.d.ts +2 -0
- package/dist/investigate/index.d.ts.map +1 -1
- package/dist/investigate/index.js +2 -0
- package/dist/investigate/index.js.map +1 -1
- package/dist/investigate/last-run.d.ts +33 -0
- package/dist/investigate/last-run.d.ts.map +1 -0
- package/dist/investigate/last-run.js +157 -0
- package/dist/investigate/last-run.js.map +1 -0
- package/dist/node-upgrade.js +1 -1
- package/dist/node-upgrade.js.map +1 -1
- package/dist/notify/index.d.ts +1 -0
- package/dist/notify/index.d.ts.map +1 -1
- package/dist/notify/index.js +6 -0
- package/dist/notify/index.js.map +1 -1
- package/dist/notify/log.d.ts +45 -0
- package/dist/notify/log.d.ts.map +1 -0
- package/dist/notify/log.js +163 -0
- package/dist/notify/log.js.map +1 -0
- package/dist/notify/sender.d.ts +14 -0
- package/dist/notify/sender.d.ts.map +1 -1
- package/dist/notify/sender.js +32 -8
- package/dist/notify/sender.js.map +1 -1
- package/dist/offline-evaluate.d.ts +8 -0
- package/dist/offline-evaluate.d.ts.map +1 -1
- package/dist/offline-evaluate.js +19 -8
- package/dist/offline-evaluate.js.map +1 -1
- package/dist/otel/exporter.d.ts +5 -2
- package/dist/otel/exporter.d.ts.map +1 -1
- package/dist/otel/exporter.js +8 -2
- package/dist/otel/exporter.js.map +1 -1
- package/dist/otel/stats.d.ts +21 -0
- package/dist/otel/stats.d.ts.map +1 -0
- package/dist/otel/stats.js +80 -0
- package/dist/otel/stats.js.map +1 -0
- package/dist/receipt/render-receipt.d.ts +31 -0
- package/dist/receipt/render-receipt.d.ts.map +1 -1
- package/dist/receipt/render-receipt.js +204 -2
- package/dist/receipt/render-receipt.js.map +1 -1
- package/dist/trail.d.ts +10 -0
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +7 -0
- 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 +2 -2
- package/qwen/settings.example.json +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `kya import --from agt`: ingest the audit log written by Microsoft Agent
|
|
3
|
+
* Governance Toolkit's Claude Code plugin (default ~/.claude/agt/audit-log.json)
|
|
4
|
+
* so KYA is the report-and-proof layer on top of AGT enforcement.
|
|
5
|
+
*
|
|
6
|
+
* AGT entries are `{timestamp, agentId, action, decision, previousHash, hash}`
|
|
7
|
+
* with NO tool arguments, so imported events carry no args, argsHash, diff or
|
|
8
|
+
* target path - only the decision, tool name and session. The log is either a
|
|
9
|
+
* bare array (anchored to a zero genesis hash) or `{seamHash, entries}` after
|
|
10
|
+
* AGT rolled over its 10,000-entry cap.
|
|
11
|
+
*
|
|
12
|
+
* The chain is verified like AGT's own verifier (unkeyed SHA-256 over
|
|
13
|
+
* `{timestamp, agentId, action, decision, previousHash}`). A broken chain is a
|
|
14
|
+
* warning with the first bad index; every event from that file is imported with
|
|
15
|
+
* `chainVerified: false`. A file that is not valid JSON or has the wrong shape
|
|
16
|
+
* imports nothing. Re-imports are idempotent: rows already in the trail with
|
|
17
|
+
* the same AGT entry hash are skipped.
|
|
18
|
+
*/
|
|
19
|
+
import { createHash } from "node:crypto";
|
|
20
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
21
|
+
import { homedir } from "node:os";
|
|
22
|
+
import { join } from "node:path";
|
|
23
|
+
import { appendTrail, globalTrailPath } from "../trail.js";
|
|
24
|
+
import { redactTrailText } from "../trail-summary.js";
|
|
25
|
+
const GENESIS_HASH = "0".repeat(64);
|
|
26
|
+
const MAX_TOOL_ID_LEN = 160;
|
|
27
|
+
const MAX_SESSION_ID_LEN = 160;
|
|
28
|
+
/** AGT names agents `claude-code:<session_id>`. */
|
|
29
|
+
const AGENT_PREFIX = "claude-code:";
|
|
30
|
+
/** Override AGT itself honours for its audit path. */
|
|
31
|
+
export const AGT_AUDIT_PATH_ENV = "AGT_CLAUDE_AUDIT_PATH";
|
|
32
|
+
export function defaultAgtAuditPath(env = process.env) {
|
|
33
|
+
return env[AGT_AUDIT_PATH_ENV] || join(homedir(), ".claude", "agt", "audit-log.json");
|
|
34
|
+
}
|
|
35
|
+
/** AGT writes allow|deny|review (lib/audit.mjs); "ask" is the hook-side name for review. */
|
|
36
|
+
const DECISIONS = new Map([
|
|
37
|
+
["allow", "ALLOW"],
|
|
38
|
+
["deny", "DENY"],
|
|
39
|
+
["review", "REQUIRE_APPROVE"],
|
|
40
|
+
["ask", "REQUIRE_APPROVE"],
|
|
41
|
+
]);
|
|
42
|
+
/** Entries dated outside [2000-01-01, now + 1 day] are rejected as malformed. */
|
|
43
|
+
const MIN_TS_MS = Date.UTC(2000, 0, 1);
|
|
44
|
+
const FUTURE_SLACK_MS = 24 * 60 * 60 * 1000;
|
|
45
|
+
/** AGT writes Date#toISOString(); anything else is not an AGT timestamp. */
|
|
46
|
+
const ISO_TS = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
47
|
+
const HEX64 = /^[0-9a-f]{64}$/;
|
|
48
|
+
/** Control chars (incl. ESC, NUL, newlines) become spaces; whitespace collapses. */
|
|
49
|
+
function cleanText(v) {
|
|
50
|
+
// eslint-disable-next-line no-control-regex
|
|
51
|
+
return v.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g, " ").replace(/\s+/g, " ").trim();
|
|
52
|
+
}
|
|
53
|
+
function isObj(v) {
|
|
54
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
55
|
+
}
|
|
56
|
+
function entryHash(e) {
|
|
57
|
+
// Key order is part of the hash input: it must match AGT's computeHash exactly.
|
|
58
|
+
return createHash("sha256")
|
|
59
|
+
.update(JSON.stringify({
|
|
60
|
+
timestamp: e.timestamp,
|
|
61
|
+
agentId: e.agentId,
|
|
62
|
+
action: e.action,
|
|
63
|
+
decision: e.decision,
|
|
64
|
+
previousHash: e.previousHash,
|
|
65
|
+
}))
|
|
66
|
+
.digest("hex");
|
|
67
|
+
}
|
|
68
|
+
/** Mirror of AGT's verifyAuditEntries, but reports the first bad index instead of a boolean. */
|
|
69
|
+
export function verifyAgtChain(entries, seamHash) {
|
|
70
|
+
let prev = seamHash ?? GENESIS_HASH;
|
|
71
|
+
for (let i = 0; i < entries.length; i++) {
|
|
72
|
+
const e = entries[i];
|
|
73
|
+
if (!isObj(e))
|
|
74
|
+
return { ok: false, index: i, reason: "entry is not an object" };
|
|
75
|
+
if (e.previousHash !== prev) {
|
|
76
|
+
return { ok: false, index: i, reason: "previousHash does not match the preceding entry" };
|
|
77
|
+
}
|
|
78
|
+
if (typeof e.hash !== "string" || e.hash !== entryHash(e)) {
|
|
79
|
+
return { ok: false, index: i, reason: "hash does not match the entry content" };
|
|
80
|
+
}
|
|
81
|
+
prev = e.hash;
|
|
82
|
+
}
|
|
83
|
+
return { ok: true };
|
|
84
|
+
}
|
|
85
|
+
function errMsg(e) {
|
|
86
|
+
return e instanceof Error ? e.message : String(e);
|
|
87
|
+
}
|
|
88
|
+
/** Imported AGT rows by key (full scan: readTrail is tail-capped at 1MB). */
|
|
89
|
+
function importedAgtHashes(env) {
|
|
90
|
+
const seen = { any: new Set(), verified: new Set() };
|
|
91
|
+
const path = globalTrailPath(env);
|
|
92
|
+
if (!existsSync(path))
|
|
93
|
+
return seen;
|
|
94
|
+
for (const line of readFileSync(path, "utf8").split("\n")) {
|
|
95
|
+
if (!line.includes('"importedFrom":"agt"'))
|
|
96
|
+
continue;
|
|
97
|
+
try {
|
|
98
|
+
const e = JSON.parse(line);
|
|
99
|
+
if (e.importedFrom !== "agt" || typeof e.sourceHash !== "string")
|
|
100
|
+
continue;
|
|
101
|
+
seen.any.add(e.sourceHash);
|
|
102
|
+
if (e.chainVerified === true)
|
|
103
|
+
seen.verified.add(e.sourceHash);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
/* skip bad lines */
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return seen;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Map one entry. The dedupe key / sourceHash is the hash RECOMPUTED from the
|
|
113
|
+
* entry content with AGT's formula, never the stored `hash` field: a stored
|
|
114
|
+
* hash that does not match its content marks the entry tampered
|
|
115
|
+
* (chainVerified=false) and cannot squat the key of the genuine entry.
|
|
116
|
+
*/
|
|
117
|
+
function mapEntry(raw, chainOk, nowMs) {
|
|
118
|
+
if (!isObj(raw))
|
|
119
|
+
return { ok: false, error: "not an object" };
|
|
120
|
+
const { timestamp, agentId, action, decision, hash } = raw;
|
|
121
|
+
if (typeof action !== "string" || !cleanText(action))
|
|
122
|
+
return { ok: false, error: "missing action" };
|
|
123
|
+
if (typeof agentId !== "string" || !cleanText(agentId))
|
|
124
|
+
return { ok: false, error: "missing agentId" };
|
|
125
|
+
if (typeof hash !== "string" || !HEX64.test(hash)) {
|
|
126
|
+
return { ok: false, error: "hash is not 64 lowercase hex characters" };
|
|
127
|
+
}
|
|
128
|
+
const verdict = typeof decision === "string" ? DECISIONS.get(decision.toLowerCase()) : undefined;
|
|
129
|
+
if (!verdict)
|
|
130
|
+
return { ok: false, error: `unknown decision ${JSON.stringify(String(decision).slice(0, 40))}` };
|
|
131
|
+
const t = typeof timestamp === "string" && ISO_TS.test(timestamp) ? Date.parse(timestamp) : NaN;
|
|
132
|
+
if (Number.isNaN(t))
|
|
133
|
+
return { ok: false, error: "missing or invalid timestamp" };
|
|
134
|
+
if (t < MIN_TS_MS || t > nowMs + FUTURE_SLACK_MS) {
|
|
135
|
+
return { ok: false, error: "timestamp outside 2000-01-01 .. now+1d" };
|
|
136
|
+
}
|
|
137
|
+
const act = cleanText(action);
|
|
138
|
+
const toolId = (act.startsWith("tool.") ? act.slice("tool.".length) : act).trim().slice(0, MAX_TOOL_ID_LEN);
|
|
139
|
+
const agent = cleanText(agentId);
|
|
140
|
+
const session = (agent.startsWith(AGENT_PREFIX) ? agent.slice(AGENT_PREFIX.length) : agent)
|
|
141
|
+
.trim()
|
|
142
|
+
.slice(0, MAX_SESSION_ID_LEN);
|
|
143
|
+
// Genuine AGT entries can have an empty tool ("tool.") or session ("claude-code:"
|
|
144
|
+
// with an empty session_id): keep the decision, label the gap, and count it.
|
|
145
|
+
const recomputed = entryHash(raw);
|
|
146
|
+
return {
|
|
147
|
+
ok: true,
|
|
148
|
+
fallback: !toolId || !session,
|
|
149
|
+
event: {
|
|
150
|
+
ts: new Date(t).toISOString(),
|
|
151
|
+
sessionId: session || "unknown-session",
|
|
152
|
+
host: "import",
|
|
153
|
+
toolId: toolId || "unknown-tool",
|
|
154
|
+
verdict,
|
|
155
|
+
reasonCode: `IMPORTED_AGT_${verdict === "REQUIRE_APPROVE" ? "REVIEW" : verdict}`,
|
|
156
|
+
mode: "observe",
|
|
157
|
+
summary: cleanText(redactTrailText(`AGT decision for ${toolId || "unknown-tool"}`)),
|
|
158
|
+
importedFrom: "agt",
|
|
159
|
+
sourceHash: recomputed,
|
|
160
|
+
chainVerified: chainOk && recomputed === hash,
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/** Import one AGT audit log. Returns errors (never throws) on a bad or unreadable file. */
|
|
165
|
+
export function importAgt(opts) {
|
|
166
|
+
const { file, text, cwd } = opts;
|
|
167
|
+
const env = opts.env ?? process.env;
|
|
168
|
+
const fail = (msg) => ({ imported: 0, skipped: 0, errors: [msg] });
|
|
169
|
+
let json;
|
|
170
|
+
try {
|
|
171
|
+
json = JSON.parse(text);
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
return fail(`${file} is not valid JSON - ${errMsg(e)}; nothing imported`);
|
|
175
|
+
}
|
|
176
|
+
let entries;
|
|
177
|
+
let seam = null;
|
|
178
|
+
if (Array.isArray(json)) {
|
|
179
|
+
entries = json;
|
|
180
|
+
}
|
|
181
|
+
else if (isObj(json) && Array.isArray(json.entries)) {
|
|
182
|
+
entries = json.entries;
|
|
183
|
+
seam = typeof json.seamHash === "string" ? json.seamHash : null;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
return fail(`${file} is not an AGT audit log (expected an array or {seamHash, entries}); nothing imported`);
|
|
187
|
+
}
|
|
188
|
+
const warnings = [];
|
|
189
|
+
const chain = verifyAgtChain(entries, seam);
|
|
190
|
+
if (!chain.ok) {
|
|
191
|
+
warnings.push(`hash chain broken at entry index ${chain.index} (0-based): ${chain.reason}; ` +
|
|
192
|
+
`imported events are flagged chainVerified=false`);
|
|
193
|
+
}
|
|
194
|
+
let seen;
|
|
195
|
+
try {
|
|
196
|
+
seen = importedAgtHashes(env);
|
|
197
|
+
}
|
|
198
|
+
catch (e) {
|
|
199
|
+
return fail(`cannot read the existing trail - ${errMsg(e)}; nothing imported`);
|
|
200
|
+
}
|
|
201
|
+
const nowMs = Date.now();
|
|
202
|
+
const errors = [];
|
|
203
|
+
let imported = 0;
|
|
204
|
+
let skipped = 0;
|
|
205
|
+
let duplicates = 0;
|
|
206
|
+
let fallbacks = 0;
|
|
207
|
+
for (let i = 0; i < entries.length; i++) {
|
|
208
|
+
const mapped = mapEntry(entries[i], chain.ok, nowMs);
|
|
209
|
+
if (!mapped.ok) {
|
|
210
|
+
skipped++;
|
|
211
|
+
errors.push(`record ${i + 1}: ${mapped.error}`);
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
const hash = mapped.event.sourceHash;
|
|
215
|
+
// A verified row is never blocked by an earlier unverified one (forged-first import).
|
|
216
|
+
const dup = seen.verified.has(hash) || (mapped.event.chainVerified !== true && seen.any.has(hash));
|
|
217
|
+
if (dup) {
|
|
218
|
+
skipped++;
|
|
219
|
+
duplicates++;
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
try {
|
|
223
|
+
appendTrail(cwd, mapped.event, env);
|
|
224
|
+
seen.any.add(hash);
|
|
225
|
+
if (mapped.event.chainVerified === true)
|
|
226
|
+
seen.verified.add(hash);
|
|
227
|
+
imported++;
|
|
228
|
+
if (mapped.fallback)
|
|
229
|
+
fallbacks++;
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
skipped++;
|
|
233
|
+
errors.push(`record ${i + 1}: trail append failed - ${errMsg(e)}`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if (fallbacks > 0) {
|
|
237
|
+
warnings.push(`${fallbacks} imported entr${fallbacks === 1 ? "y has" : "ies have"} an empty tool name or session id ` +
|
|
238
|
+
`(labelled unknown-tool / unknown-session)`);
|
|
239
|
+
}
|
|
240
|
+
return { imported, skipped, errors, warnings, duplicates };
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=agt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agt.js","sourceRoot":"","sources":["../../src/importers/agt.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
* Foreign trace format mappers for the trace importer.
|
|
3
3
|
* Sources: LangSmith runs, Langfuse observations, Phoenix spans, OTLP/JSON spans.
|
|
4
4
|
* Each mapper converts one foreign record into a TrailEvent (mode "observe",
|
|
5
|
-
* host "import", no packId) or returns a
|
|
5
|
+
* host "import", importFormat set to the source, no packId) or returns a
|
|
6
|
+
* per-record error - it never throws.
|
|
6
7
|
* Raw input/output values are never copied into the event; summaries render
|
|
7
8
|
* input key names only, redacted via redactTrailText.
|
|
8
9
|
*/
|
|
9
|
-
import type { TrailEvent } from "../trail.js";
|
|
10
|
-
|
|
10
|
+
import type { TrailEvent, TrailImportFormat } from "../trail.js";
|
|
11
|
+
/** Formats mapped record by record here; "agt" has its own importer (agt.ts). */
|
|
12
|
+
export type TraceSource = TrailImportFormat;
|
|
13
|
+
export type ImportSource = TraceSource | "agt";
|
|
11
14
|
export type MapResult = {
|
|
12
15
|
readonly ok: true;
|
|
13
16
|
readonly event: TrailEvent;
|
|
@@ -16,11 +19,11 @@ export type MapResult = {
|
|
|
16
19
|
readonly error: string;
|
|
17
20
|
};
|
|
18
21
|
/** Map one foreign record to a TrailEvent; returns an error string on bad records. */
|
|
19
|
-
export declare function mapRecord(source:
|
|
22
|
+
export declare function mapRecord(source: TraceSource, rec: unknown, fallbackSession: string): MapResult;
|
|
20
23
|
/**
|
|
21
24
|
* Extract the record list from a whole-file JSON document, per source.
|
|
22
25
|
* Bare arrays are accepted for every source; otherwise the known container
|
|
23
26
|
* keys are tried. Returns [] when the shape is not recognized.
|
|
24
27
|
*/
|
|
25
|
-
export declare function extractRecords(source:
|
|
28
|
+
export declare function extractRecords(source: TraceSource, json: unknown): unknown[];
|
|
26
29
|
//# sourceMappingURL=formats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/importers/formats.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/importers/formats.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjE,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAC5C,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,KAAK,CAAC;AAQ/C,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAoOnD,sFAAsF;AACtF,wBAAgB,SAAS,CACvB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,MAAM,GACtB,SAAS,CASX;AAyCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAa5E"}
|
|
@@ -217,21 +217,27 @@ function mapOtel(rec, fallbackSession) {
|
|
|
217
217
|
/** Map one foreign record to a TrailEvent; returns an error string on bad records. */
|
|
218
218
|
export function mapRecord(source, rec, fallbackSession) {
|
|
219
219
|
try {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return mapLangfuse(rec, fallbackSession);
|
|
225
|
-
case "phoenix":
|
|
226
|
-
return mapPhoenix(rec, fallbackSession);
|
|
227
|
-
case "otel":
|
|
228
|
-
return mapOtel(rec, fallbackSession);
|
|
229
|
-
}
|
|
220
|
+
const mapped = mapRecordBySource(source, rec, fallbackSession);
|
|
221
|
+
// Stamp the source format so the report can break imports down per format
|
|
222
|
+
// even when the foreign record carried its own session id.
|
|
223
|
+
return mapped.ok ? { ok: true, event: { ...mapped.event, importFormat: source } } : mapped;
|
|
230
224
|
}
|
|
231
225
|
catch (e) {
|
|
232
226
|
return err(e instanceof Error ? e.message : String(e));
|
|
233
227
|
}
|
|
234
228
|
}
|
|
229
|
+
function mapRecordBySource(source, rec, fallbackSession) {
|
|
230
|
+
switch (source) {
|
|
231
|
+
case "langsmith":
|
|
232
|
+
return mapLangSmith(rec, fallbackSession);
|
|
233
|
+
case "langfuse":
|
|
234
|
+
return mapLangfuse(rec, fallbackSession);
|
|
235
|
+
case "phoenix":
|
|
236
|
+
return mapPhoenix(rec, fallbackSession);
|
|
237
|
+
case "otel":
|
|
238
|
+
return mapOtel(rec, fallbackSession);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
235
241
|
function arr(v) {
|
|
236
242
|
return Array.isArray(v) ? v : undefined;
|
|
237
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/importers/formats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/importers/formats.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,oFAAoF;AACpF,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAM3B,SAAS,KAAK,CAAC,CAAU;IACvB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,iFAAiF;AACjF,SAAS,GAAG,CAAC,CAAU;IACrB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,yEAAyE;AACzE,SAAS,OAAO,CAAC,CAAU;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACjE,CAAC;AAED,0EAA0E;AAC1E,SAAS,SAAS,CAAC,QAAgB,EAAE,MAAe;IAClD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,CAAU;IAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtG,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAU,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,CAAS,EAAE,GAAW;IACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,KAAa,EAAE,KAAc;IAChD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7D,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,QAAQ,CAAC,MAAM,IAAI,eAAe;QACvC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC;AAaD,SAAS,UAAU,CAAC,IAAe,EAAE,eAAuB;IAC1D,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACvC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,eAAe,EAAE,kBAAkB,CAAC;QACzE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACrC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU;QACrD,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC;AAED,qIAAqI;AACrI,SAAS,YAAY,CAAC,GAAY,EAAE,eAAuB;IACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,UAAU,CACf;YACE,MAAM,EAAE,IAAI;YACZ,EAAE;YACF,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;YACvD,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS;YAClC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvD,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;YAChC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;SAC3C,EACD,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,SAAS,WAAW,CAAC,GAAY,EAAE,eAAuB;IACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,UAAU,CACf;YACE,MAAM,EAAE,IAAI;YACZ,EAAE;YACF,SAAS,EACP,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;YACpF,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,OAAO;YAC/C,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3E,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACjF,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC;SACzC,EACD,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,SAAS,UAAU,CAAC,GAAY,EAAE,eAAuB;IACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,UAAU,CACf;YACE,MAAM,EAAE,IAAI;YACZ,EAAE;YACF,SAAS,EACP,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,OAAO;YACpD,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACpD,EACD,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,SAAS,cAAc,CAAC,CAAU;IAChC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;aACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACjE,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;aACxE,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,mBAAmB,CAAC;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+FAA+F;AAC/F,SAAS,OAAO,CAAC,GAAY,EAAE,eAAuB;IACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,SAAS,GACb,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,OAAO;QAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,UAAU,CACf;YACE,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACvE,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;YACnC,SAAS;YACT,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACpD,EACD,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,SAAS,CACvB,MAAmB,EACnB,GAAY,EACZ,eAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/D,0EAA0E;QAC1E,2DAA2D;QAC3D,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAmB,EACnB,GAAY,EACZ,eAAuB;IAEvB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC5C,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC3C,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC1C,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,oFAAoF;AACpF,SAAS,SAAS,CAAC,IAA6B;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,2BAA2B,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,SAAS;QACzC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,SAAS;YACzB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,IAAa;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5E,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ImportSource } from "./formats.js";
|
|
2
2
|
export type { ImportSource } from "./formats.js";
|
|
3
|
+
export { defaultAgtAuditPath, verifyAgtChain } from "./agt.js";
|
|
3
4
|
export interface ImportOptions {
|
|
4
5
|
readonly from: ImportSource;
|
|
5
6
|
readonly file: string;
|
|
@@ -10,11 +11,27 @@ export interface ImportResult {
|
|
|
10
11
|
readonly imported: number;
|
|
11
12
|
readonly skipped: number;
|
|
12
13
|
readonly errors: string[];
|
|
14
|
+
/** Non-fatal findings (agt: broken hash chain). Absent for the trace importers. */
|
|
15
|
+
readonly warnings?: string[];
|
|
16
|
+
/** Records skipped because the trail already holds them (agt re-import). Included in `skipped`. */
|
|
17
|
+
readonly duplicates?: number;
|
|
13
18
|
}
|
|
14
19
|
/** Import files larger than 50MB are refused before reading. */
|
|
15
20
|
export declare const MAX_IMPORT_BYTES: number;
|
|
16
21
|
/** Size guard, exported for tests: returns an error message when over the cap. */
|
|
17
22
|
export declare function checkImportSize(sizeBytes: number): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Read an import file as text. Explicit paths must be regular files (a FIFO or
|
|
25
|
+
* device reports size 0 and could block or stream forever); stdin spellings are
|
|
26
|
+
* the exception and are read in chunks, failing as soon as the cap is exceeded.
|
|
27
|
+
*/
|
|
28
|
+
export declare function readImportText(file: string): {
|
|
29
|
+
readonly ok: true;
|
|
30
|
+
readonly text: string;
|
|
31
|
+
} | {
|
|
32
|
+
readonly ok: false;
|
|
33
|
+
readonly error: string;
|
|
34
|
+
};
|
|
18
35
|
/**
|
|
19
36
|
* Import one export file into the trail. Returns counts plus per-record
|
|
20
37
|
* errors; resolves even when the file is missing, oversized, or every
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/importers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/importers/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,mGAAmG;IACnG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AAEjD,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAuC/F;AA2BD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAgD7E;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAYhE"}
|
package/dist/importers/index.js
CHANGED
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
* of reading. Bad records never throw: they are skipped and collected in
|
|
9
9
|
* `errors`, and the import continues.
|
|
10
10
|
*/
|
|
11
|
-
import { readFileSync, statSync } from "node:fs";
|
|
11
|
+
import { closeSync, openSync, readFileSync, readSync, statSync } from "node:fs";
|
|
12
12
|
import { appendTrail } from "../trail.js";
|
|
13
|
+
import { importAgt } from "./agt.js";
|
|
13
14
|
import { extractRecords, mapRecord, } from "./formats.js";
|
|
15
|
+
export { defaultAgtAuditPath, verifyAgtChain } from "./agt.js";
|
|
14
16
|
/** Import files larger than 50MB are refused before reading. */
|
|
15
17
|
export const MAX_IMPORT_BYTES = 50 * 1024 * 1024;
|
|
16
18
|
/** Size guard, exported for tests: returns an error message when over the cap. */
|
|
@@ -19,6 +21,62 @@ export function checkImportSize(sizeBytes) {
|
|
|
19
21
|
return undefined;
|
|
20
22
|
return `file is ${sizeBytes} bytes, over the ${MAX_IMPORT_BYTES} byte (50MB) import cap`;
|
|
21
23
|
}
|
|
24
|
+
/** The documented stdin spellings: pipes are allowed there, read with the size cap enforced on bytes read. */
|
|
25
|
+
const STDIN_PATHS = new Set(["/dev/stdin", "/proc/self/fd/0"]);
|
|
26
|
+
/**
|
|
27
|
+
* Read an import file as text. Explicit paths must be regular files (a FIFO or
|
|
28
|
+
* device reports size 0 and could block or stream forever); stdin spellings are
|
|
29
|
+
* the exception and are read in chunks, failing as soon as the cap is exceeded.
|
|
30
|
+
*/
|
|
31
|
+
export function readImportText(file) {
|
|
32
|
+
try {
|
|
33
|
+
if (STDIN_PATHS.has(file)) {
|
|
34
|
+
const fd = openSync(file, "r");
|
|
35
|
+
try {
|
|
36
|
+
const chunks = [];
|
|
37
|
+
let total = 0;
|
|
38
|
+
const buf = Buffer.alloc(64 * 1024);
|
|
39
|
+
for (;;) {
|
|
40
|
+
let n;
|
|
41
|
+
try {
|
|
42
|
+
n = readSync(fd, buf, 0, buf.length, null);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
const code = e.code;
|
|
46
|
+
if (code === "EOF")
|
|
47
|
+
break;
|
|
48
|
+
if (code !== "EAGAIN")
|
|
49
|
+
throw e;
|
|
50
|
+
// Non-blocking stdin with no data yet: wait 10ms and retry.
|
|
51
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 10);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (n === 0)
|
|
55
|
+
break;
|
|
56
|
+
total += n;
|
|
57
|
+
const over = checkImportSize(total);
|
|
58
|
+
if (over)
|
|
59
|
+
return { ok: false, error: over };
|
|
60
|
+
chunks.push(Buffer.from(buf.subarray(0, n)));
|
|
61
|
+
}
|
|
62
|
+
return { ok: true, text: Buffer.concat(chunks).toString("utf8") };
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
closeSync(fd);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const st = statSync(file);
|
|
69
|
+
if (!st.isFile())
|
|
70
|
+
return { ok: false, error: `${file} is not a regular file` };
|
|
71
|
+
const over = checkImportSize(st.size);
|
|
72
|
+
if (over)
|
|
73
|
+
return { ok: false, error: over };
|
|
74
|
+
return { ok: true, text: readFileSync(file, "utf8") };
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
return { ok: false, error: `cannot read ${file} - ${errMsg(e)}` };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
22
80
|
function errMsg(e) {
|
|
23
81
|
return e instanceof Error ? e.message : String(e);
|
|
24
82
|
}
|
|
@@ -52,23 +110,12 @@ export async function importTraces(opts) {
|
|
|
52
110
|
const errors = [];
|
|
53
111
|
let imported = 0;
|
|
54
112
|
let skipped = 0;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return {
|
|
61
|
-
}
|
|
62
|
-
const sizeError = checkImportSize(size);
|
|
63
|
-
if (sizeError)
|
|
64
|
-
return { imported, skipped, errors: [sizeError] };
|
|
65
|
-
let text;
|
|
66
|
-
try {
|
|
67
|
-
text = readFileSync(file, "utf8");
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
return { imported, skipped, errors: [`cannot read ${file} - ${errMsg(e)}`] };
|
|
71
|
-
}
|
|
113
|
+
const read = readImportText(file);
|
|
114
|
+
if (!read.ok)
|
|
115
|
+
return { imported, skipped, errors: [read.error] };
|
|
116
|
+
const text = read.text;
|
|
117
|
+
if (from === "agt")
|
|
118
|
+
return importAgt({ file, text, cwd, env });
|
|
72
119
|
let records;
|
|
73
120
|
const trimmed = text.trim();
|
|
74
121
|
if (trimmed.startsWith("[") || trimmed.startsWith("{")) {
|
|
@@ -112,6 +159,8 @@ export function renderImportSummary(result) {
|
|
|
112
159
|
`imported ${result.imported} trace record(s) into the KYA trail`,
|
|
113
160
|
`skipped ${result.skipped} record(s)`,
|
|
114
161
|
];
|
|
162
|
+
if (result.duplicates)
|
|
163
|
+
lines.push(`already imported: ${result.duplicates} record(s)`);
|
|
115
164
|
if (result.errors.length > 0) {
|
|
116
165
|
const first = result.errors[0];
|
|
117
166
|
const clipped = first.length > 120 ? `${first.slice(0, 119)}…` : first;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/importers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/importers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* sorted by severity rank (critical first) then recency (newest lastTs first).
|
|
4
4
|
*/
|
|
5
5
|
import type { TrailEvent } from "../trail.js";
|
|
6
|
-
import type { Finding, Severity } from "./detectors.js";
|
|
6
|
+
import type { DetectorId, Finding, Severity } from "./detectors.js";
|
|
7
7
|
export interface Incident {
|
|
8
8
|
readonly id: string;
|
|
9
9
|
readonly title: string;
|
|
@@ -15,5 +15,7 @@ export interface Incident {
|
|
|
15
15
|
readonly lastTs: string;
|
|
16
16
|
readonly findings: readonly Finding[];
|
|
17
17
|
}
|
|
18
|
+
/** Short human title for a detector, shared by incidents and the last-run summary. */
|
|
19
|
+
export declare function detectorTitle(id: DetectorId): string;
|
|
18
20
|
export declare function groupIncidents(findings: readonly Finding[], events: readonly TrailEvent[]): Incident[];
|
|
19
21
|
//# sourceMappingURL=incidents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../src/investigate/incidents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../src/investigate/incidents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAkBD,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAEpD;AA2BD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,EAAE,SAAS,UAAU,EAAE,GAC5B,QAAQ,EAAE,CAqCZ"}
|
|
@@ -12,6 +12,10 @@ const TITLES = {
|
|
|
12
12
|
"unknown-tool-hold": "Unknown tool evaluated in hold mode",
|
|
13
13
|
"slow-calls": "Slow gate evaluations",
|
|
14
14
|
};
|
|
15
|
+
/** Short human title for a detector, shared by incidents and the last-run summary. */
|
|
16
|
+
export function detectorTitle(id) {
|
|
17
|
+
return TITLES[id];
|
|
18
|
+
}
|
|
15
19
|
function findingKey(f) {
|
|
16
20
|
const toolId = f.evidence.toolId;
|
|
17
21
|
if (typeof toolId === "string" && toolId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../src/investigate/incidents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../src/investigate/incidents.ts"],"names":[],"mappings":"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"}
|