@shield-agent/kya 0.19.0 → 0.21.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.
Files changed (55) hide show
  1. package/.mcp.json +1 -1
  2. package/README.md +21 -5
  3. package/amp/settings.example.json +1 -1
  4. package/claude/claude_desktop_config.example.json +1 -1
  5. package/cline/cline_mcp_settings.example.json +1 -1
  6. package/copilot/mcp-config.example.json +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +23 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/receipt.d.ts +13 -0
  11. package/dist/commands/receipt.d.ts.map +1 -1
  12. package/dist/commands/receipt.js +20 -0
  13. package/dist/commands/receipt.js.map +1 -1
  14. package/dist/receipt/embeddings.d.ts +34 -0
  15. package/dist/receipt/embeddings.d.ts.map +1 -0
  16. package/dist/receipt/embeddings.js +140 -0
  17. package/dist/receipt/embeddings.js.map +1 -0
  18. package/dist/receipt/live-server.d.ts +3 -0
  19. package/dist/receipt/live-server.d.ts.map +1 -1
  20. package/dist/receipt/live-server.js +24 -3
  21. package/dist/receipt/live-server.js.map +1 -1
  22. package/dist/receipt/receipt-css.d.ts.map +1 -1
  23. package/dist/receipt/receipt-css.js +29 -0
  24. package/dist/receipt/receipt-css.js.map +1 -1
  25. package/dist/receipt/render-receipt.d.ts +4 -1
  26. package/dist/receipt/render-receipt.d.ts.map +1 -1
  27. package/dist/receipt/render-receipt.js +199 -67
  28. package/dist/receipt/render-receipt.js.map +1 -1
  29. package/dist/receipt/search.d.ts +79 -0
  30. package/dist/receipt/search.d.ts.map +1 -0
  31. package/dist/receipt/search.js +475 -0
  32. package/dist/receipt/search.js.map +1 -0
  33. package/dist/receipt/share.d.ts +65 -0
  34. package/dist/receipt/share.d.ts.map +1 -0
  35. package/dist/receipt/share.js +109 -0
  36. package/dist/receipt/share.js.map +1 -0
  37. package/dist/star-cta.d.ts +14 -0
  38. package/dist/star-cta.d.ts.map +1 -0
  39. package/dist/star-cta.js +51 -0
  40. package/dist/star-cta.js.map +1 -0
  41. package/droid/README.md +1 -1
  42. package/droid/mcp.example.json +1 -1
  43. package/gemini/settings.example.json +1 -1
  44. package/grok/README.md +1 -1
  45. package/kilo/kilo.example.json +1 -1
  46. package/kimi/mcp.example.json +1 -1
  47. package/kiro/mcp.example.json +1 -1
  48. package/manifest.json +1 -1
  49. package/mastracode/mcp.example.json +1 -1
  50. package/mcp.json +1 -1
  51. package/openai/codex.config.example.toml +1 -1
  52. package/opencode/opencode.example.json +1 -1
  53. package/package.json +14 -3
  54. package/qwen/settings.example.json +1 -1
  55. package/server.json +2 -2
package/.mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.19.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  [![X](https://img.shields.io/badge/X-%40coscosmico-000000?logo=x&logoColor=white)](https://x.com/coscosmico)
9
9
 
10
10
 
11
- **Audit trail & traceability for AI agents.** Every tool call your coding agents make — gated (Allow / Review / Deny), recorded on a live local dashboard, and certifiable against the Agent Trust Baseline. One command. Free forever under MIT.
11
+ **AI agents audit trail & traceability.** Every tool call your coding agents make — gated (Allow / Review / Deny), recorded on a live local dashboard, and certifiable against the Agent Trust Baseline. One command. Free forever under MIT.
12
12
 
13
13
  ```bash
14
14
  npm i -g @shield-agent/kya@latest && kya start
@@ -132,7 +132,21 @@ Install hub: [https://shield-agent.com/install](https://shield-agent.com/install
132
132
 
133
133
  One trail for all projects: `~/.kya/trail.jsonl` (`KYA_HOME` overrides `~`). `kya receipt --open` from any directory shows activity from every project. Each event carries its project folder name — the report adds a Projects rollup once two or more projects appear, and shows the project on each feed entry. Older per-project `<project>/.kya/trail.jsonl` files are still read and merged; no migration. The trail is capped at 1 MB (tail-read: oldest events drop away), shared across all projects.
134
134
 
135
- The report itself is a dashboard: a hero row on top (live **Certify** result, verdict mix, activity sparkline, showback) with tabbed sections below — **Overview** (analytics, sessions, reasons), **Certify** (the full live requirement table — every requirement grouped by domain with status, evidence, and attestation), **Activity** (the filterable event feed), **System** (wired hosts, sandboxes, ORR). Everything is one standalone offline HTML page; the live daemon from `kya start` re-renders it on every event.
135
+ The report itself is a dashboard: a hero row on top (live **Certify** result, verdict mix, activity sparkline, showback) with tabbed sections below — **Overview** (analytics, sessions, reasons), **Certify** (the full live requirement table — every requirement grouped by domain with status, evidence, and attestation), **Activity** (the filterable event feed), **System** (wired hosts, sandboxes, ORR). Everything is one standalone offline HTML page (the live view adds a single external link: "Star on GitHub"); the live daemon from `kya start` re-renders it on every event.
136
+
137
+ ### Sharing a report
138
+
139
+ `kya receipt --share` publishes a **redacted summary** of the current window (aggregate verdict counts, product and reason-code rollups, and the Certify status — no paths, no tool arguments, no session IDs) to shield-agent.com and prints a public URL (`/r/<id>`, expires after 7 days) anyone can open — every shared page carries the one-line install so readers can audit their own agents. Point it at a different collector with `--share-url <base>` or `KYA_SHARE_URL`.
140
+
141
+ ### Natural-language search
142
+
143
+ The **Activity** search box understands plain English. It runs a hybrid of BM25 over tool IDs, summaries, reason codes, projects, and MCP server labels, plus optional local MiniLM semantic reranking. You can type things like `failed stripe transfers`, `files written by grok`, or `approval required production` — stopwords and stemming are handled automatically, and the same search works across the global trail.
144
+
145
+ - Offline or `KYA_OFFLINE=1` keeps search purely lexical (no model download).
146
+ - By default the live server downloads `BAAI/bge-small-en-v1.5` once into `~/.kya/models` and caches event vectors in `~/.kya/search-index.json`.
147
+ - `KYA_SEARCH_SEMANTIC=off` disables the model while still keeping BM25.
148
+
149
+ The hosted console uses the same hybrid search on the server side (Postgres full-text + optional OpenAI-compatible embeddings), so queries typed in either place behave the same way.
136
150
 
137
151
  ## Dual plane
138
152
 
@@ -161,6 +175,8 @@ Tag sessions with `KYA_HOST=ide` or `KYA_HOST=runtime`. Same policy path either
161
175
  | `KYA_DASH_PLAN` | No | `enterprise` unlocks licensed TUI panes |
162
176
  | `KYA_DIFF_PREVIEW` | No | `0` disables clipped change previews on the receipt |
163
177
  | `KYA_RECEIPT_AUTO` | No | `0` disables auto-open receipt after wrap; `1` forces |
178
+ | `KYA_SEARCH_SEMANTIC` | No | `off` disables MiniLM semantic reranking (BM25 still works) |
179
+ | `KYA_SHARE_URL` | No | `kya receipt --share` collector base (default `https://shield-agent.com`) |
164
180
 
165
181
  Gate mode can also be pinned in the project's `.kya/config.json`:
166
182
  `{"gateMode": "hold"}` or `{"gateMode": "offline"}` (exact values only —
@@ -184,7 +200,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
184
200
  "mcpServers": {
185
201
  "shield-kya": {
186
202
  "command": "npx",
187
- "args": ["--no-install", "@shield-agent/kya@0.19.0", "serve-mcp", "--stdio"],
203
+ "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
188
204
  "env": {
189
205
  "KYA_BASE_URL": "http://127.0.0.1:8090",
190
206
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -224,7 +240,7 @@ Offline evaluate by default (no network, no hosted plane); an explicit config ho
224
240
 
225
241
  ```bash
226
242
  # Prefer a preinstalled package (no registry auto-install):
227
- npx --no-install @shield-agent/kya@0.19.0 serve-mcp --stdio
243
+ npx --no-install @shield-agent/kya@0.21.0 serve-mcp --stdio
228
244
  # Or after npm i -g / local install:
229
245
  kya serve-mcp --stdio
230
246
  ```
@@ -235,7 +251,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
235
251
 
236
252
  ## OpenAI (Codex / Responses)
237
253
 
238
- **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.19.0 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
254
+ **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.21.0 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
239
255
 
240
256
  **Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
241
257
 
@@ -2,7 +2,7 @@
2
2
  "amp.mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.19.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.19.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.19.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.19.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAwLH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAQD,+FAA+F;AAC/F,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAAiB,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0kBjB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA8LH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAQD,+FAA+F;AAC/F,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAAiB,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA6lBjB"}
package/dist/cli.js CHANGED
@@ -21,7 +21,7 @@ import { certifyOptionsFromArgs, formatCertifySummary, runCertify, } from "./com
21
21
  import { runDash } from "./commands/dash.js";
22
22
  import { formatAgentTable, formatApprovalTable, formatSessionTable, requireId, runGetAgent, runGetPassport, runKillAgent, runListAgents, runListApprovals, runListSessions, runShrinkSession, shrinkToFromArgs, } from "./commands/ops.js";
23
23
  import { formatWrapHuman, runWrap, verdictExitCode, wrapExitCode, wrapInputFromArgs, } from "./commands/wrap.js";
24
- import { formatReceiptHuman, openPath, receiptInputFromArgs, runReceipt, } from "./commands/receipt.js";
24
+ import { formatReceiptHuman, openPath, receiptInputFromArgs, runReceipt, runReceiptShare, } from "./commands/receipt.js";
25
25
  import { formatStartHuman, runStart } from "./commands/start.js";
26
26
  import { connectableHosts, formatConnectHuman, runConnect, } from "./commands/connect.js";
27
27
  import { appendTrail, defaultSessionId } from "./trail.js";
@@ -32,6 +32,7 @@ import { runSandboxCommand } from "./commands/sandbox.js";
32
32
  import { runHook } from "./commands/hook.js";
33
33
  import { formatStopHuman, runStop } from "./commands/stop.js";
34
34
  import { runReceiptServe } from "./commands/receipt-serve.js";
35
+ import { maybePrintStarCta } from "./star-cta.js";
35
36
  import { formatGateDoctorHuman, gateMcpUrl, gateSubcommand, runGateDoctor, runGateInit, runGateRun, runGateSetup, runGateStop, } from "./commands/gate.js";
36
37
  import { triggerHostedSyncFromEnv } from "./gate/hosted-sync.js";
37
38
  import { runGateServe } from "./commands/gate-serve.js";
@@ -63,6 +64,7 @@ Commands:
63
64
  hook PreToolUse interception for native-hook hosts (claude|grok|kimi|…)
64
65
  Reads the hook payload from stdin; exit 2 blocks. --strict denies advisory.
65
66
  receipt Activity report HTML/JSON/MD (default: last 3 days, all tools; --open)
67
+ --q pre-fills feed search · --share publishes a redacted summary (see --share-url)
66
68
  invoke Authorize on the plane after Allow or APPROVED. Never runs the write here.
67
69
  approve Human APPROVE an approval id (kya.approve scope)
68
70
  reject Human REJECT an approval id (kya.approve scope)
@@ -94,6 +96,9 @@ Options (shared):
94
96
  --open receipt/certify: open HTML in the browser
95
97
  --days <n> receipt: history window (default 3)
96
98
  --session <id> receipt: single session only (optional)
99
+ --q <query> receipt: pre-fill the activity-feed search
100
+ --share receipt: publish a redacted summary, print the public URL
101
+ --share-url <url> receipt: share endpoint base (or KYA_SHARE_URL; default https://shield-agent.com)
97
102
  --once dash: print one frame and exit (CI / pipes)
98
103
  --window <n> certify: report window in days (default 30)
99
104
  --fail-on <m> certify: gap (default, exit 1 on gaps) | never
@@ -167,6 +172,8 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
167
172
  }
168
173
  else {
169
174
  io.log(formatStartHuman(result));
175
+ if (result.liveUrl)
176
+ maybePrintStarCta(cwd, 3, io.log);
170
177
  }
171
178
  return 0;
172
179
  }
@@ -376,12 +383,27 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
376
383
  offline: true,
377
384
  });
378
385
  const input = receiptInputFromArgs(parsed);
386
+ if (flagBool(parsed.flags, "share")) {
387
+ const shared = await runReceiptShare(config, {
388
+ sessionId: input.sessionId,
389
+ days: input.days,
390
+ shareUrl: flagString(parsed.flags, "share-url"),
391
+ }, env);
392
+ if (!shared.ok) {
393
+ io.error(shared.error);
394
+ return 1;
395
+ }
396
+ io.log(`Shared report: ${shared.url}`);
397
+ return 0;
398
+ }
379
399
  const result = await runReceipt(config, input);
380
400
  if (config.json) {
381
401
  io.log(JSON.stringify(result, null, 2));
382
402
  }
383
403
  else {
384
404
  io.log(formatReceiptHuman(result));
405
+ if (result.liveUrl)
406
+ maybePrintStarCta(cwd, result.days, io.log);
385
407
  }
386
408
  return 0;
387
409
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ResolvedConfig } from "../config.js";
2
2
  import type { ParsedArgs } from "../parse-args.js";
3
+ import { type ShareResult } from "../receipt/share.js";
3
4
  export declare const DEFAULT_RECEIPT_DAYS = 3;
4
5
  /** Serializable receipt artifacts (paths + counts). */
5
6
  export interface ReceiptArtifacts {
@@ -29,12 +30,24 @@ export declare function runReceipt(config: ResolvedConfig, input: {
29
30
  days?: number;
30
31
  open?: boolean;
31
32
  outDir?: string;
33
+ searchQuery?: string;
32
34
  }): Promise<ReceiptResult>;
35
+ /**
36
+ * `kya receipt --share`: build the redacted share payload from the current
37
+ * window's receipt model and POST it to the hosted platform. Returns the
38
+ * public URL on success; failures are returned (not thrown) as {ok:false}.
39
+ */
40
+ export declare function runReceiptShare(config: ResolvedConfig, input: {
41
+ sessionId?: string;
42
+ days?: number;
43
+ shareUrl?: string;
44
+ }, env?: NodeJS.ProcessEnv): Promise<ShareResult>;
33
45
  export declare function receiptInputFromArgs(parsed: ParsedArgs): {
34
46
  sessionId: string | undefined;
35
47
  days: number | undefined;
36
48
  open: boolean;
37
49
  outDir: string | undefined;
50
+ searchQuery: string | undefined;
38
51
  };
39
52
  export declare function formatReceiptHuman(r: ReceiptResult): string;
40
53
  export declare function openPath(target: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/commands/receipt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAWnD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CACnC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEpE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU;;;;;EAStD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAa3D;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS7C"}
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/commands/receipt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAUnD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CACnC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEpE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAClG,OAAO,CAAC,aAAa,CAAC,CAwDxB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU;;;;;;EAUtD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAa3D;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS7C"}
@@ -6,18 +6,21 @@ import { assertNoSecrets } from "../dash/render.js";
6
6
  import { loadReceiptModel, renderReceiptHtml, renderReceiptMarkdown, } from "../receipt/render-receipt.js";
7
7
  import { ensureReceiptDaemon } from "../receipt/daemon.js";
8
8
  import { receiptsDir } from "../trail.js";
9
+ import { buildSharePayload, shareBaseUrl, shareReceiptPayload, } from "../receipt/share.js";
9
10
  export const DEFAULT_RECEIPT_DAYS = 3;
10
11
  export async function runReceipt(config, input) {
11
12
  const sessionId = input.sessionId?.trim();
12
13
  const days = input.days != null && Number.isFinite(input.days) && input.days > 0
13
14
  ? Math.floor(input.days)
14
15
  : DEFAULT_RECEIPT_DAYS;
16
+ const searchQuery = input.searchQuery?.trim() || undefined;
15
17
  // Static on-disk artifacts always use live:false (no EventSource on file://).
16
18
  const model = loadReceiptModel({
17
19
  cwd: config.cwd,
18
20
  sessionId,
19
21
  days,
20
22
  live: false,
23
+ searchQuery,
21
24
  });
22
25
  const dir = input.outDir?.trim() || receiptsDir(config.cwd);
23
26
  mkdirSync(dir, { recursive: true });
@@ -53,6 +56,22 @@ export async function runReceipt(config, input) {
53
56
  daemonReused: daemon.reused,
54
57
  };
55
58
  }
59
+ /**
60
+ * `kya receipt --share`: build the redacted share payload from the current
61
+ * window's receipt model and POST it to the hosted platform. Returns the
62
+ * public URL on success; failures are returned (not thrown) as {ok:false}.
63
+ */
64
+ export async function runReceiptShare(config, input, env = process.env) {
65
+ const sessionId = input.sessionId?.trim();
66
+ const days = input.days != null && Number.isFinite(input.days) && input.days > 0
67
+ ? Math.floor(input.days)
68
+ : DEFAULT_RECEIPT_DAYS;
69
+ const model = loadReceiptModel({ cwd: config.cwd, sessionId, days, live: false });
70
+ const payload = buildSharePayload(model);
71
+ return shareReceiptPayload(payload, {
72
+ baseUrl: shareBaseUrl(input.shareUrl, env),
73
+ });
74
+ }
56
75
  export function receiptInputFromArgs(parsed) {
57
76
  const daysRaw = flagString(parsed.flags, "days");
58
77
  const days = daysRaw ? Number.parseInt(daysRaw, 10) : undefined;
@@ -61,6 +80,7 @@ export function receiptInputFromArgs(parsed) {
61
80
  days: Number.isFinite(days) ? days : undefined,
62
81
  open: parsed.flags["open"] === true || parsed.flags["open"] === "true",
63
82
  outDir: flagString(parsed.flags, "out", "out-dir", "outDir"),
83
+ searchQuery: flagString(parsed.flags, "q", "query", "search"),
64
84
  };
65
85
  }
66
86
  export function formatReceiptHuman(r) {
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/commands/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/commands/receipt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { TrailEvent } from "../trail.js";
2
+ export interface EmbeddingProvider {
3
+ embed(text: string): Promise<number[] | undefined>;
4
+ }
5
+ /** Local MiniLM provider via fastembed; loaded on first use. */
6
+ export declare class LocalMiniLmProvider implements EmbeddingProvider {
7
+ private readonly env;
8
+ private model;
9
+ private tried;
10
+ constructor(env?: NodeJS.ProcessEnv);
11
+ embed(text: string): Promise<number[] | undefined>;
12
+ }
13
+ /** On-disk cache for event embeddings keyed by event id and document sha1. */
14
+ export declare class EventEmbeddingCache {
15
+ private data;
16
+ constructor();
17
+ private load;
18
+ private save;
19
+ getCached(eventId: string, textSha1: string): number[] | undefined;
20
+ setCached(eventId: string, textSha1: string, vector: number[]): void;
21
+ /** Replace many entries in one pass instead of filtering on every item. */
22
+ setMany(batch: readonly {
23
+ readonly id: string;
24
+ readonly sha1: string;
25
+ readonly vector: number[];
26
+ }[]): void;
27
+ }
28
+ /**
29
+ * Build a map of embeddings for the given events. Already-cached entries are
30
+ * returned without calling the provider; missing entries are embedded and
31
+ * written to the cache in a single batch.
32
+ */
33
+ export declare function buildEventEmbeddings(events: readonly TrailEvent[], provider: EmbeddingProvider, cache: EventEmbeddingCache): Promise<Map<string, number[]>>;
34
+ //# sourceMappingURL=embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/receipt/embeddings.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACpD;AAyBD,gEAAgE;AAChE,qBAAa,mBAAoB,YAAW,iBAAiB;IAI/C,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,KAAK,CAAS;gBAEO,GAAG,GAAE,MAAM,CAAC,UAAwB;IAE3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;CAiCzD;AAgBD,8EAA8E;AAC9E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAY;;IAMxB,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,IAAI;IASZ,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAIlE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpE,2EAA2E;IAC3E,OAAO,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,GAAG,IAAI;CAO3G;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAqBhC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Optional local semantic embeddings for activity search.
3
+ *
4
+ * fastembed is imported lazily so that production installs without the
5
+ * package remain lightweight. The provider is gated by environment variables
6
+ * and never throws: any failure logs once to stderr and returns undefined.
7
+ */
8
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
9
+ import { homedir } from "node:os";
10
+ import { join } from "node:path";
11
+ import { eventDocumentText, eventKey, eventTextSha1 } from "./search.js";
12
+ const MODEL_NAME = "BAAI/bge-small-en-v1.5";
13
+ const EXPECTED_DIMS = 384;
14
+ const CACHE_DIR = join(homedir(), ".kya", "models");
15
+ function modelDisabled(env) {
16
+ return (env.KYA_SEARCH_SEMANTIC === "off" ||
17
+ env.KYA_OFFLINE === "1" ||
18
+ env.KYA_OFFLINE === "true");
19
+ }
20
+ /** Local MiniLM provider via fastembed; loaded on first use. */
21
+ export class LocalMiniLmProvider {
22
+ env;
23
+ model;
24
+ tried = false;
25
+ constructor(env = process.env) {
26
+ this.env = env;
27
+ }
28
+ async embed(text) {
29
+ if (modelDisabled(this.env))
30
+ return undefined;
31
+ if (this.tried && !this.model)
32
+ return undefined;
33
+ this.tried = true;
34
+ try {
35
+ const fastembed = (await import("fastembed").catch(() => undefined));
36
+ if (!fastembed)
37
+ return undefined;
38
+ const EmbeddingModel = fastembed.EmbeddingModel?.[MODEL_NAME] ??
39
+ fastembed.EmbeddingModel?.BAAI_BGE_SMALL_EN_V1_5;
40
+ if (!EmbeddingModel)
41
+ return undefined;
42
+ if (!this.model) {
43
+ mkdirSync(CACHE_DIR, { recursive: true });
44
+ const FlagEmbedding = fastembed.FlagEmbedding;
45
+ if (!FlagEmbedding)
46
+ return undefined;
47
+ this.model = await FlagEmbedding.init({
48
+ model: EmbeddingModel,
49
+ cacheDir: CACHE_DIR,
50
+ });
51
+ }
52
+ let result;
53
+ for await (const vec of this.model.embed([text])) {
54
+ result = vec;
55
+ break;
56
+ }
57
+ if (!result || result.length !== EXPECTED_DIMS)
58
+ return undefined;
59
+ return result;
60
+ }
61
+ catch (err) {
62
+ const message = err instanceof Error ? err.message : String(err);
63
+ console.error(`KYA semantic search unavailable: ${message}`);
64
+ return undefined;
65
+ }
66
+ }
67
+ }
68
+ const CACHE_FILE = join(homedir(), ".kya", "search-index.json");
69
+ const CACHE_VERSION = 1;
70
+ /** On-disk cache for event embeddings keyed by event id and document sha1. */
71
+ export class EventEmbeddingCache {
72
+ data;
73
+ constructor() {
74
+ this.data = this.load();
75
+ }
76
+ load() {
77
+ try {
78
+ if (!existsSync(CACHE_FILE))
79
+ return { version: CACHE_VERSION, entries: [] };
80
+ const raw = JSON.parse(readFileSync(CACHE_FILE, "utf8"));
81
+ if (raw.version !== CACHE_VERSION)
82
+ return { version: CACHE_VERSION, entries: [] };
83
+ return raw;
84
+ }
85
+ catch {
86
+ return { version: CACHE_VERSION, entries: [] };
87
+ }
88
+ }
89
+ save() {
90
+ try {
91
+ mkdirSync(join(homedir(), ".kya"), { recursive: true });
92
+ writeFileSync(CACHE_FILE, JSON.stringify(this.data, null, 2), "utf8");
93
+ }
94
+ catch {
95
+ /* best-effort cache */
96
+ }
97
+ }
98
+ getCached(eventId, textSha1) {
99
+ return this.data.entries.find((e) => e.id === eventId && e.sha1 === textSha1)?.vector;
100
+ }
101
+ setCached(eventId, textSha1, vector) {
102
+ this.setMany([{ id: eventId, sha1: textSha1, vector }]);
103
+ }
104
+ /** Replace many entries in one pass instead of filtering on every item. */
105
+ setMany(batch) {
106
+ const replaced = new Set(batch.map((b) => b.id));
107
+ const entries = this.data.entries.filter((e) => !replaced.has(e.id));
108
+ entries.push(...batch);
109
+ this.data = { version: CACHE_VERSION, entries };
110
+ this.save();
111
+ }
112
+ }
113
+ /**
114
+ * Build a map of embeddings for the given events. Already-cached entries are
115
+ * returned without calling the provider; missing entries are embedded and
116
+ * written to the cache in a single batch.
117
+ */
118
+ export async function buildEventEmbeddings(events, provider, cache) {
119
+ const out = new Map();
120
+ const batch = [];
121
+ for (const e of events) {
122
+ const id = eventKey(e);
123
+ const sha1 = eventTextSha1(e);
124
+ const cached = cache.getCached(id, sha1);
125
+ if (cached) {
126
+ out.set(id, cached);
127
+ continue;
128
+ }
129
+ const vector = await provider.embed(eventDocumentText(e));
130
+ if (vector) {
131
+ batch.push({ id, sha1, vector });
132
+ out.set(id, vector);
133
+ }
134
+ }
135
+ if (batch.length > 0) {
136
+ cache.setMany(batch);
137
+ }
138
+ return out;
139
+ }
140
+ //# sourceMappingURL=embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/receipt/embeddings.ts"],"names":[],"mappings":"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"}