sandstream-kit 1.1.0 → 1.3.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 (129) hide show
  1. package/README.md +101 -92
  2. package/dist/adapters/expo-eas.js +1 -1
  3. package/dist/adapters/expo-eas.js.map +1 -1
  4. package/dist/audit-logging-service.js +1 -1
  5. package/dist/audit-logging-service.js.map +1 -1
  6. package/dist/author-verification.js +1 -1
  7. package/dist/author-verification.js.map +1 -1
  8. package/dist/check-web-search.js +37 -6
  9. package/dist/check-web-search.js.map +1 -1
  10. package/dist/cli-shared.d.ts +4 -0
  11. package/dist/cli-shared.js +11 -0
  12. package/dist/cli-shared.js.map +1 -0
  13. package/dist/cli.js +175 -1189
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/audit.d.ts +1 -0
  16. package/dist/commands/audit.js +99 -0
  17. package/dist/commands/audit.js.map +1 -0
  18. package/dist/commands/auth.d.ts +1 -0
  19. package/dist/commands/auth.js +121 -0
  20. package/dist/commands/auth.js.map +1 -0
  21. package/dist/commands/env.d.ts +1 -0
  22. package/dist/commands/env.js +149 -0
  23. package/dist/commands/env.js.map +1 -0
  24. package/dist/commands/hooks.d.ts +1 -0
  25. package/dist/commands/hooks.js +146 -0
  26. package/dist/commands/hooks.js.map +1 -0
  27. package/dist/commands/mcp.d.ts +1 -0
  28. package/dist/commands/mcp.js +120 -0
  29. package/dist/commands/mcp.js.map +1 -0
  30. package/dist/commands/memory.d.ts +1 -0
  31. package/dist/commands/memory.js +534 -0
  32. package/dist/commands/memory.js.map +1 -0
  33. package/dist/config.d.ts +2 -0
  34. package/dist/config.js +4 -0
  35. package/dist/config.js.map +1 -1
  36. package/dist/mcp-server.js +59 -6
  37. package/dist/mcp-server.js.map +1 -1
  38. package/dist/memory/amazonq.d.ts +5 -0
  39. package/dist/memory/amazonq.js +161 -0
  40. package/dist/memory/amazonq.js.map +1 -0
  41. package/dist/memory/cline.d.ts +5 -0
  42. package/dist/memory/cline.js +117 -0
  43. package/dist/memory/cline.js.map +1 -0
  44. package/dist/memory/codex.d.ts +5 -0
  45. package/dist/memory/codex.js +150 -0
  46. package/dist/memory/codex.js.map +1 -0
  47. package/dist/memory/continue.d.ts +5 -0
  48. package/dist/memory/continue.js +116 -0
  49. package/dist/memory/continue.js.map +1 -0
  50. package/dist/memory/cursor.d.ts +4 -0
  51. package/dist/memory/cursor.js +116 -0
  52. package/dist/memory/cursor.js.map +1 -0
  53. package/dist/memory/db.d.ts +12 -1
  54. package/dist/memory/db.js +43 -1
  55. package/dist/memory/db.js.map +1 -1
  56. package/dist/memory/gemini.d.ts +5 -0
  57. package/dist/memory/gemini.js +176 -0
  58. package/dist/memory/gemini.js.map +1 -0
  59. package/dist/memory/hook.d.ts +9 -0
  60. package/dist/memory/hook.js +34 -1
  61. package/dist/memory/hook.js.map +1 -1
  62. package/dist/memory/install.js +1 -0
  63. package/dist/memory/install.js.map +1 -1
  64. package/dist/memory/merge.d.ts +18 -0
  65. package/dist/memory/merge.js +109 -0
  66. package/dist/memory/merge.js.map +1 -0
  67. package/dist/memory/parser.d.ts +9 -0
  68. package/dist/memory/parser.js +40 -3
  69. package/dist/memory/parser.js.map +1 -1
  70. package/dist/memory/suggest.d.ts +21 -0
  71. package/dist/memory/suggest.js +36 -0
  72. package/dist/memory/suggest.js.map +1 -0
  73. package/dist/onepassword.js +1 -1
  74. package/dist/onepassword.js.map +1 -1
  75. package/dist/open.js +8 -2
  76. package/dist/open.js.map +1 -1
  77. package/dist/run.js +1 -1
  78. package/dist/run.js.map +1 -1
  79. package/dist/service-auth.d.ts +31 -0
  80. package/dist/service-auth.js +47 -0
  81. package/dist/service-auth.js.map +1 -0
  82. package/dist/stack-detector.js +53 -76
  83. package/dist/stack-detector.js.map +1 -1
  84. package/dist/status.d.ts +9 -0
  85. package/dist/status.js +119 -0
  86. package/dist/status.js.map +1 -0
  87. package/package.json +9 -4
  88. package/dist/memory/backup 2.d.ts +0 -6
  89. package/dist/memory/backup 2.js +0 -80
  90. package/dist/memory/backup 2.js.map +0 -1
  91. package/dist/memory/db 2.d.ts +0 -40
  92. package/dist/memory/db 2.js +0 -233
  93. package/dist/memory/db 2.js.map +0 -1
  94. package/dist/memory/hook 2.d.ts +0 -6
  95. package/dist/memory/hook 2.js +0 -51
  96. package/dist/memory/hook 2.js.map +0 -1
  97. package/dist/memory/hook.test 2.d.ts +0 -1
  98. package/dist/memory/hook.test 2.js +0 -35
  99. package/dist/memory/hook.test 2.js.map +0 -1
  100. package/dist/memory/install 2.d.ts +0 -8
  101. package/dist/memory/install 2.js +0 -72
  102. package/dist/memory/install 2.js.map +0 -1
  103. package/dist/memory/install.test 2.d.ts +0 -1
  104. package/dist/memory/install.test 2.js +0 -59
  105. package/dist/memory/install.test 2.js.map +0 -1
  106. package/dist/memory/pal 2.d.ts +0 -47
  107. package/dist/memory/pal 2.js +0 -154
  108. package/dist/memory/pal 2.js.map +0 -1
  109. package/dist/memory/project 2.d.ts +0 -1
  110. package/dist/memory/project 2.js +0 -24
  111. package/dist/memory/project 2.js.map +0 -1
  112. package/dist/memory/scan 2.d.ts +0 -15
  113. package/dist/memory/scan 2.js +0 -94
  114. package/dist/memory/scan 2.js.map +0 -1
  115. package/dist/memory/scan.test 2.d.ts +0 -1
  116. package/dist/memory/scan.test 2.js +0 -55
  117. package/dist/memory/scan.test 2.js.map +0 -1
  118. package/dist/memory/shared 2.d.ts +0 -33
  119. package/dist/memory/shared 2.js +0 -120
  120. package/dist/memory/shared 2.js.map +0 -1
  121. package/dist/memory/threads 2.d.ts +0 -37
  122. package/dist/memory/threads 2.js +0 -50
  123. package/dist/memory/threads 2.js.map +0 -1
  124. package/dist/memory/threads.test 2.d.ts +0 -1
  125. package/dist/memory/threads.test 2.js +0 -66
  126. package/dist/memory/threads.test 2.js.map +0 -1
  127. package/dist/memory/types 2.d.ts +0 -52
  128. package/dist/memory/types 2.js +0 -5
  129. package/dist/memory/types 2.js.map +0 -1
@@ -1,50 +0,0 @@
1
- export function saveThread(db, input) {
2
- db.prepare(`INSERT INTO saved_threads (name, session_id, summary, project_path, saved_at)
3
- VALUES (?, ?, ?, ?, datetime('now'))
4
- ON CONFLICT(name) DO UPDATE SET
5
- session_id = excluded.session_id,
6
- summary = COALESCE(excluded.summary, saved_threads.summary),
7
- project_path = COALESCE(excluded.project_path, saved_threads.project_path),
8
- saved_at = datetime('now')`).run(input.name, input.sessionId, input.summary ?? null, input.projectPath ?? null);
9
- }
10
- export function listThreads(db, opts = {}) {
11
- if (opts.projectPath) {
12
- return db
13
- .prepare("SELECT * FROM saved_threads WHERE project_path = ? ORDER BY saved_at DESC")
14
- .all(opts.projectPath);
15
- }
16
- return db
17
- .prepare("SELECT * FROM saved_threads ORDER BY saved_at DESC")
18
- .all();
19
- }
20
- export function getThread(db, name) {
21
- return db.prepare("SELECT * FROM saved_threads WHERE name = ?").get(name);
22
- }
23
- export function removeThread(db, name) {
24
- return Number(db.prepare("DELETE FROM saved_threads WHERE name = ?").run(name).changes) > 0;
25
- }
26
- /** Most recent session that touched this project (by message timestamp). */
27
- export function latestSessionId(db, opts = {}) {
28
- let row;
29
- if (opts.projectPath) {
30
- row = db
31
- .prepare(`SELECT session_id FROM messages
32
- WHERE cwd = ? OR cwd LIKE ?
33
- ORDER BY timestamp DESC LIMIT 1`)
34
- .get(opts.projectPath, `${opts.projectPath}/%`);
35
- }
36
- else {
37
- row = db
38
- .prepare("SELECT session_id FROM messages ORDER BY timestamp DESC LIMIT 1")
39
- .get();
40
- }
41
- return row?.session_id;
42
- }
43
- /** Resolve a thread by name, or by 1-based index into the (scoped) list. */
44
- export function resolveThread(db, ref, opts = {}) {
45
- if (/^\d+$/.test(ref)) {
46
- return listThreads(db, opts)[Number(ref) - 1];
47
- }
48
- return getThread(db, ref);
49
- }
50
- //# sourceMappingURL=threads%202.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"threads 2.js","sourceRoot":"","sources":["../../src/memory/threads 2.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,UAAU,CAAC,EAAgB,EAAE,KAAsB;IACjE,EAAE,CAAC,OAAO,CACR;;;;;;kCAM8B,CAC/B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,EAAgB,EAChB,OAAiC,EAAE;IAEnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,EAAE;aACN,OAAO,CAAC,2EAA2E,CAAC;aACpF,GAAG,CAAC,IAAI,CAAC,WAAW,CAA6B,CAAC;IACvD,CAAC;IACD,OAAO,EAAE;SACN,OAAO,CAAC,oDAAoD,CAAC;SAC7D,GAAG,EAA8B,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAgB,EAAE,IAAY;IACtD,OAAO,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,IAAI,CAE3D,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAgB,EAAE,IAAY;IACzD,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9F,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAC7B,EAAgB,EAChB,OAAiC,EAAE;IAEnC,IAAI,GAAuC,CAAC;IAC5C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,GAAG,EAAE;aACL,OAAO,CACN;;yCAEiC,CAClC;aACA,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,CAAuC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,EAAE;aACL,OAAO,CAAC,iEAAiE,CAAC;aAC1E,GAAG,EAAwC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,EAAE,UAAU,CAAC;AACzB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAC3B,EAAgB,EAChB,GAAW,EACX,OAAiC,EAAE;IAEnC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,66 +0,0 @@
1
- import { describe, it } from "node:test";
2
- import assert from "node:assert/strict";
3
- import { openMemoryDb, upsertSession, insertMessage } from "./db.js";
4
- import { saveThread, listThreads, getThread, removeThread, latestSessionId, resolveThread, } from "./threads.js";
5
- describe("memory threads (named copilots)", () => {
6
- const fresh = () => openMemoryDb(":memory:");
7
- it("save + list + get; name is the key (re-save updates)", () => {
8
- const db = fresh();
9
- saveThread(db, { name: "launch", sessionId: "s1", projectPath: "/repo/app-a" });
10
- saveThread(db, { name: "launch", sessionId: "s2", projectPath: "/repo/app-a" });
11
- assert.equal(listThreads(db).length, 1);
12
- assert.equal(getThread(db, "launch")?.session_id, "s2");
13
- db.close();
14
- });
15
- it("lists scoped by project", () => {
16
- const db = fresh();
17
- saveThread(db, { name: "a", sessionId: "s1", projectPath: "/repo/app-a" });
18
- saveThread(db, { name: "b", sessionId: "s2", projectPath: "/repo/app-b" });
19
- assert.equal(listThreads(db).length, 2);
20
- const scoped = listThreads(db, { projectPath: "/repo/app-a" });
21
- assert.equal(scoped.length, 1);
22
- assert.equal(scoped[0]?.name, "a");
23
- db.close();
24
- });
25
- it("remove tosses a thread", () => {
26
- const db = fresh();
27
- saveThread(db, { name: "x", sessionId: "s1" });
28
- assert.equal(removeThread(db, "x"), true);
29
- assert.equal(listThreads(db).length, 0);
30
- assert.equal(removeThread(db, "x"), false);
31
- db.close();
32
- });
33
- it("latestSessionId picks the most recent session touching the project", () => {
34
- const db = fresh();
35
- upsertSession(db, { sessionId: "old", harness: "claude-code" });
36
- upsertSession(db, { sessionId: "new", harness: "claude-code" });
37
- insertMessage(db, {
38
- uuid: "m1",
39
- sessionId: "old",
40
- type: "user",
41
- content: "a",
42
- cwd: "/repo/app-a",
43
- timestamp: "2026-06-01T00:00:00Z",
44
- });
45
- insertMessage(db, {
46
- uuid: "m2",
47
- sessionId: "new",
48
- type: "user",
49
- content: "b",
50
- cwd: "/repo/app-a",
51
- timestamp: "2026-06-02T00:00:00Z",
52
- });
53
- assert.equal(latestSessionId(db, { projectPath: "/repo/app-a" }), "new");
54
- db.close();
55
- });
56
- it("resolveThread accepts a name or a 1-based index", () => {
57
- const db = fresh();
58
- saveThread(db, { name: "first", sessionId: "s1", projectPath: "/repo/app-a" });
59
- saveThread(db, { name: "second", sessionId: "s2", projectPath: "/repo/app-a" });
60
- assert.equal(resolveThread(db, "first", { projectPath: "/repo/app-a" })?.session_id, "s1");
61
- const list = listThreads(db, { projectPath: "/repo/app-a" });
62
- assert.equal(resolveThread(db, "1", { projectPath: "/repo/app-a" })?.name, list[0]?.name);
63
- db.close();
64
- });
65
- });
66
- //# sourceMappingURL=threads.test%202.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"threads.test 2.js","sourceRoot":"","sources":["../../src/memory/threads.test 2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAE7C,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAChF,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACxD,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3E,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3C,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAChE,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAChE,aAAa,CAAC,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG;YACZ,GAAG,EAAE,aAAa;YAClB,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG;YACZ,GAAG,EAAE,aAAa;YAClB,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/E,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1F,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,52 +0,0 @@
1
- /**
2
- * kit memory — shared types for the local conversation store.
3
- */
4
- export interface SessionInput {
5
- sessionId: string;
6
- /** Which agent harness produced the session: claude-code | codex | cursor | … */
7
- harness: string;
8
- project?: string;
9
- firstMessageAt?: string;
10
- lastMessageAt?: string;
11
- isAgentSidechain?: boolean;
12
- }
13
- export interface MessageInput {
14
- /** Stable id from the transcript — used for idempotent upsert (one row per message). */
15
- uuid: string;
16
- sessionId: string;
17
- parentUuid?: string;
18
- /** Transcript event type, e.g. "user" | "assistant". */
19
- type: string;
20
- role?: string;
21
- content?: string;
22
- model?: string;
23
- inputTokens?: number;
24
- outputTokens?: number;
25
- timestamp?: string;
26
- cwd?: string;
27
- gitBranch?: string;
28
- version?: string;
29
- }
30
- export interface ToolUseInput {
31
- messageUuid?: string;
32
- sessionId?: string;
33
- toolName: string;
34
- toolInput?: string;
35
- timestamp?: string;
36
- }
37
- export interface SearchHit {
38
- id: number;
39
- uuid: string | null;
40
- sessionId: string;
41
- role: string | null;
42
- content: string | null;
43
- timestamp: string | null;
44
- }
45
- export interface MemoryStats {
46
- sessions: number;
47
- messages: number;
48
- toolUses: number;
49
- pendingOpen: number;
50
- dbPath: string;
51
- sizeBytes: number;
52
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * kit memory — shared types for the local conversation store.
3
- */
4
- export {};
5
- //# sourceMappingURL=types%202.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types 2.js","sourceRoot":"","sources":["../../src/memory/types 2.ts"],"names":[],"mappings":"AAAA;;GAEG"}