@pcircle/footprint 1.5.0 → 1.7.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 (249) hide show
  1. package/README.md +301 -132
  2. package/SKILL.md +72 -28
  3. package/bin/footprint.js +16 -0
  4. package/dist/src/adapters/claude.d.ts +2 -0
  5. package/dist/src/adapters/claude.d.ts.map +1 -0
  6. package/dist/src/adapters/claude.js +7 -0
  7. package/dist/src/adapters/claude.js.map +1 -0
  8. package/dist/src/adapters/codex.d.ts +2 -0
  9. package/dist/src/adapters/codex.d.ts.map +1 -0
  10. package/dist/src/adapters/codex.js +7 -0
  11. package/dist/src/adapters/codex.js.map +1 -0
  12. package/dist/src/adapters/gemini.d.ts +2 -0
  13. package/dist/src/adapters/gemini.d.ts.map +1 -0
  14. package/dist/src/adapters/gemini.js +7 -0
  15. package/dist/src/adapters/gemini.js.map +1 -0
  16. package/dist/src/adapters/index.d.ts +5 -0
  17. package/dist/src/adapters/index.d.ts.map +1 -0
  18. package/dist/src/adapters/index.js +12 -0
  19. package/dist/src/adapters/index.js.map +1 -0
  20. package/dist/src/adapters/structured-prefix.d.ts +10 -0
  21. package/dist/src/adapters/structured-prefix.d.ts.map +1 -0
  22. package/dist/src/adapters/structured-prefix.js +59 -0
  23. package/dist/src/adapters/structured-prefix.js.map +1 -0
  24. package/dist/src/adapters/types.d.ts +32 -0
  25. package/dist/src/adapters/types.d.ts.map +1 -0
  26. package/dist/src/adapters/types.js +2 -0
  27. package/dist/src/adapters/types.js.map +1 -0
  28. package/dist/src/cli/context-flow.d.ts +92 -0
  29. package/dist/src/cli/context-flow.d.ts.map +1 -0
  30. package/dist/src/cli/context-flow.js +724 -0
  31. package/dist/src/cli/context-flow.js.map +1 -0
  32. package/dist/src/cli/history-display.d.ts +27 -0
  33. package/dist/src/cli/history-display.d.ts.map +1 -0
  34. package/dist/src/cli/history-display.js +167 -0
  35. package/dist/src/cli/history-display.js.map +1 -0
  36. package/dist/src/cli/index.js +924 -0
  37. package/dist/src/cli/index.js.map +1 -1
  38. package/dist/src/cli/launch-spec.d.ts +31 -0
  39. package/dist/src/cli/launch-spec.d.ts.map +1 -0
  40. package/dist/src/cli/launch-spec.js +182 -0
  41. package/dist/src/cli/launch-spec.js.map +1 -0
  42. package/dist/src/cli/live-demo.d.ts +34 -0
  43. package/dist/src/cli/live-demo.d.ts.map +1 -0
  44. package/dist/src/cli/live-demo.js +254 -0
  45. package/dist/src/cli/live-demo.js.map +1 -0
  46. package/dist/src/cli/pty-transcript.d.ts +34 -0
  47. package/dist/src/cli/pty-transcript.d.ts.map +1 -0
  48. package/dist/src/cli/pty-transcript.js +174 -0
  49. package/dist/src/cli/pty-transcript.js.map +1 -0
  50. package/dist/src/cli/session-display.d.ts +74 -0
  51. package/dist/src/cli/session-display.d.ts.map +1 -0
  52. package/dist/src/cli/session-display.js +922 -0
  53. package/dist/src/cli/session-display.js.map +1 -0
  54. package/dist/src/cli/session-execution.d.ts +55 -0
  55. package/dist/src/cli/session-execution.d.ts.map +1 -0
  56. package/dist/src/cli/session-execution.js +817 -0
  57. package/dist/src/cli/session-execution.js.map +1 -0
  58. package/dist/src/cli/session-runtime.d.ts +5 -0
  59. package/dist/src/cli/session-runtime.d.ts.map +1 -0
  60. package/dist/src/cli/session-runtime.js +11 -0
  61. package/dist/src/cli/session-runtime.js.map +1 -0
  62. package/dist/src/cli/setup.d.ts.map +1 -1
  63. package/dist/src/cli/setup.js +2 -0
  64. package/dist/src/cli/setup.js.map +1 -1
  65. package/dist/src/index.d.ts +4 -0
  66. package/dist/src/index.d.ts.map +1 -1
  67. package/dist/src/index.js +148 -7
  68. package/dist/src/index.js.map +1 -1
  69. package/dist/src/ingestion/deterministic.d.ts +3 -0
  70. package/dist/src/ingestion/deterministic.d.ts.map +1 -0
  71. package/dist/src/ingestion/deterministic.js +862 -0
  72. package/dist/src/ingestion/deterministic.js.map +1 -0
  73. package/dist/src/ingestion/index.d.ts +5 -0
  74. package/dist/src/ingestion/index.d.ts.map +1 -0
  75. package/dist/src/ingestion/index.js +27 -0
  76. package/dist/src/ingestion/index.js.map +1 -0
  77. package/dist/src/ingestion/semantic.d.ts +6 -0
  78. package/dist/src/ingestion/semantic.d.ts.map +1 -0
  79. package/dist/src/ingestion/semantic.js +627 -0
  80. package/dist/src/ingestion/semantic.js.map +1 -0
  81. package/dist/src/ingestion/types.d.ts +10 -0
  82. package/dist/src/ingestion/types.d.ts.map +1 -0
  83. package/dist/src/ingestion/types.js +2 -0
  84. package/dist/src/ingestion/types.js.map +1 -0
  85. package/dist/src/lib/context-memory.d.ts +140 -0
  86. package/dist/src/lib/context-memory.d.ts.map +1 -0
  87. package/dist/src/lib/context-memory.js +974 -0
  88. package/dist/src/lib/context-memory.js.map +1 -0
  89. package/dist/src/lib/history-handoff.d.ts +43 -0
  90. package/dist/src/lib/history-handoff.d.ts.map +1 -0
  91. package/dist/src/lib/history-handoff.js +179 -0
  92. package/dist/src/lib/history-handoff.js.map +1 -0
  93. package/dist/src/lib/observability.d.ts +3 -0
  94. package/dist/src/lib/observability.d.ts.map +1 -0
  95. package/dist/src/lib/observability.js +63 -0
  96. package/dist/src/lib/observability.js.map +1 -0
  97. package/dist/src/lib/session-artifacts.d.ts +51 -0
  98. package/dist/src/lib/session-artifacts.d.ts.map +1 -0
  99. package/dist/src/lib/session-artifacts.js +132 -0
  100. package/dist/src/lib/session-artifacts.js.map +1 -0
  101. package/dist/src/lib/session-filters.d.ts +11 -0
  102. package/dist/src/lib/session-filters.d.ts.map +1 -0
  103. package/dist/src/lib/session-filters.js +16 -0
  104. package/dist/src/lib/session-filters.js.map +1 -0
  105. package/dist/src/lib/session-history.d.ts +50 -0
  106. package/dist/src/lib/session-history.d.ts.map +1 -0
  107. package/dist/src/lib/session-history.js +73 -0
  108. package/dist/src/lib/session-history.js.map +1 -0
  109. package/dist/src/lib/session-trends.d.ts +129 -0
  110. package/dist/src/lib/session-trends.d.ts.map +1 -0
  111. package/dist/src/lib/session-trends.js +361 -0
  112. package/dist/src/lib/session-trends.js.map +1 -0
  113. package/dist/src/lib/storage/database.d.ts +212 -1
  114. package/dist/src/lib/storage/database.d.ts.map +1 -1
  115. package/dist/src/lib/storage/database.js +1694 -114
  116. package/dist/src/lib/storage/database.js.map +1 -1
  117. package/dist/src/lib/storage/export-sessions.d.ts +33 -0
  118. package/dist/src/lib/storage/export-sessions.d.ts.map +1 -0
  119. package/dist/src/lib/storage/export-sessions.js +525 -0
  120. package/dist/src/lib/storage/export-sessions.js.map +1 -0
  121. package/dist/src/lib/storage/index.d.ts +7 -6
  122. package/dist/src/lib/storage/index.d.ts.map +1 -1
  123. package/dist/src/lib/storage/index.js +6 -5
  124. package/dist/src/lib/storage/index.js.map +1 -1
  125. package/dist/src/lib/storage/schema.d.ts +6 -1
  126. package/dist/src/lib/storage/schema.d.ts.map +1 -1
  127. package/dist/src/lib/storage/schema.js +337 -2
  128. package/dist/src/lib/storage/schema.js.map +1 -1
  129. package/dist/src/lib/storage/types.d.ts +122 -0
  130. package/dist/src/lib/storage/types.d.ts.map +1 -1
  131. package/dist/src/prompts/skill-prompt.d.ts.map +1 -1
  132. package/dist/src/prompts/skill-prompt.js +13 -0
  133. package/dist/src/prompts/skill-prompt.js.map +1 -1
  134. package/dist/src/tools/confirm-context-link.d.ts +62 -0
  135. package/dist/src/tools/confirm-context-link.d.ts.map +1 -0
  136. package/dist/src/tools/confirm-context-link.js +36 -0
  137. package/dist/src/tools/confirm-context-link.js.map +1 -0
  138. package/dist/src/tools/context-schemas.d.ts +694 -0
  139. package/dist/src/tools/context-schemas.d.ts.map +1 -0
  140. package/dist/src/tools/context-schemas.js +171 -0
  141. package/dist/src/tools/context-schemas.js.map +1 -0
  142. package/dist/src/tools/export-sessions.d.ts +111 -0
  143. package/dist/src/tools/export-sessions.d.ts.map +1 -0
  144. package/dist/src/tools/export-sessions.js +136 -0
  145. package/dist/src/tools/export-sessions.js.map +1 -0
  146. package/dist/src/tools/get-context.d.ts +208 -0
  147. package/dist/src/tools/get-context.d.ts.map +1 -0
  148. package/dist/src/tools/get-context.js +27 -0
  149. package/dist/src/tools/get-context.js.map +1 -0
  150. package/dist/src/tools/get-history-handoff.d.ts +109 -0
  151. package/dist/src/tools/get-history-handoff.d.ts.map +1 -0
  152. package/dist/src/tools/get-history-handoff.js +85 -0
  153. package/dist/src/tools/get-history-handoff.js.map +1 -0
  154. package/dist/src/tools/get-history-trends.d.ts +155 -0
  155. package/dist/src/tools/get-history-trends.d.ts.map +1 -0
  156. package/dist/src/tools/get-history-trends.js +123 -0
  157. package/dist/src/tools/get-history-trends.js.map +1 -0
  158. package/dist/src/tools/get-session-artifacts.d.ts +151 -0
  159. package/dist/src/tools/get-session-artifacts.d.ts.map +1 -0
  160. package/dist/src/tools/get-session-artifacts.js +184 -0
  161. package/dist/src/tools/get-session-artifacts.js.map +1 -0
  162. package/dist/src/tools/get-session-decisions.d.ts +69 -0
  163. package/dist/src/tools/get-session-decisions.d.ts.map +1 -0
  164. package/dist/src/tools/get-session-decisions.js +99 -0
  165. package/dist/src/tools/get-session-decisions.js.map +1 -0
  166. package/dist/src/tools/get-session-messages.d.ts +55 -0
  167. package/dist/src/tools/get-session-messages.d.ts.map +1 -0
  168. package/dist/src/tools/get-session-messages.js +89 -0
  169. package/dist/src/tools/get-session-messages.js.map +1 -0
  170. package/dist/src/tools/get-session-narrative.d.ts +72 -0
  171. package/dist/src/tools/get-session-narrative.d.ts.map +1 -0
  172. package/dist/src/tools/get-session-narrative.js +106 -0
  173. package/dist/src/tools/get-session-narrative.js.map +1 -0
  174. package/dist/src/tools/get-session-timeline.d.ts +55 -0
  175. package/dist/src/tools/get-session-timeline.d.ts.map +1 -0
  176. package/dist/src/tools/get-session-timeline.js +93 -0
  177. package/dist/src/tools/get-session-timeline.js.map +1 -0
  178. package/dist/src/tools/get-session-trends.d.ts +108 -0
  179. package/dist/src/tools/get-session-trends.d.ts.map +1 -0
  180. package/dist/src/tools/get-session-trends.js +130 -0
  181. package/dist/src/tools/get-session-trends.js.map +1 -0
  182. package/dist/src/tools/get-session.d.ts +251 -0
  183. package/dist/src/tools/get-session.d.ts.map +1 -0
  184. package/dist/src/tools/get-session.js +290 -0
  185. package/dist/src/tools/get-session.js.map +1 -0
  186. package/dist/src/tools/index.d.ts +22 -0
  187. package/dist/src/tools/index.d.ts.map +1 -1
  188. package/dist/src/tools/index.js +22 -0
  189. package/dist/src/tools/index.js.map +1 -1
  190. package/dist/src/tools/list-contexts.d.ts +50 -0
  191. package/dist/src/tools/list-contexts.d.ts.map +1 -0
  192. package/dist/src/tools/list-contexts.js +28 -0
  193. package/dist/src/tools/list-contexts.js.map +1 -0
  194. package/dist/src/tools/list-sessions.d.ts +86 -0
  195. package/dist/src/tools/list-sessions.d.ts.map +1 -0
  196. package/dist/src/tools/list-sessions.js +97 -0
  197. package/dist/src/tools/list-sessions.js.map +1 -0
  198. package/dist/src/tools/merge-contexts.d.ts +58 -0
  199. package/dist/src/tools/merge-contexts.d.ts.map +1 -0
  200. package/dist/src/tools/merge-contexts.js +27 -0
  201. package/dist/src/tools/merge-contexts.js.map +1 -0
  202. package/dist/src/tools/move-session-context.d.ts +62 -0
  203. package/dist/src/tools/move-session-context.d.ts.map +1 -0
  204. package/dist/src/tools/move-session-context.js +33 -0
  205. package/dist/src/tools/move-session-context.js.map +1 -0
  206. package/dist/src/tools/reingest-session.d.ts +31 -0
  207. package/dist/src/tools/reingest-session.d.ts.map +1 -0
  208. package/dist/src/tools/reingest-session.js +43 -0
  209. package/dist/src/tools/reingest-session.js.map +1 -0
  210. package/dist/src/tools/reject-context-link.d.ts +58 -0
  211. package/dist/src/tools/reject-context-link.d.ts.map +1 -0
  212. package/dist/src/tools/reject-context-link.js +26 -0
  213. package/dist/src/tools/reject-context-link.js.map +1 -0
  214. package/dist/src/tools/resolve-context.d.ts +287 -0
  215. package/dist/src/tools/resolve-context.d.ts.map +1 -0
  216. package/dist/src/tools/resolve-context.js +35 -0
  217. package/dist/src/tools/resolve-context.js.map +1 -0
  218. package/dist/src/tools/search-history.d.ts +86 -0
  219. package/dist/src/tools/search-history.d.ts.map +1 -0
  220. package/dist/src/tools/search-history.js +103 -0
  221. package/dist/src/tools/search-history.js.map +1 -0
  222. package/dist/src/tools/session-ui-metadata.d.ts +15 -0
  223. package/dist/src/tools/session-ui-metadata.d.ts.map +1 -0
  224. package/dist/src/tools/session-ui-metadata.js +15 -0
  225. package/dist/src/tools/session-ui-metadata.js.map +1 -0
  226. package/dist/src/tools/set-active-context.d.ts +58 -0
  227. package/dist/src/tools/set-active-context.d.ts.map +1 -0
  228. package/dist/src/tools/set-active-context.js +26 -0
  229. package/dist/src/tools/set-active-context.js.map +1 -0
  230. package/dist/src/tools/split-context.d.ts +62 -0
  231. package/dist/src/tools/split-context.d.ts.map +1 -0
  232. package/dist/src/tools/split-context.js +36 -0
  233. package/dist/src/tools/split-context.js.map +1 -0
  234. package/dist/src/tools/verify-footprint.js +1 -1
  235. package/dist/src/tools/verify-footprint.js.map +1 -1
  236. package/dist/src/types.d.ts +2 -0
  237. package/dist/src/types.d.ts.map +1 -1
  238. package/dist/src/ui/register.d.ts +6 -1
  239. package/dist/src/ui/register.d.ts.map +1 -1
  240. package/dist/src/ui/register.js +60 -16
  241. package/dist/src/ui/register.js.map +1 -1
  242. package/dist/ui/dashboard.html +239 -868
  243. package/dist/ui/detail.html +107 -248
  244. package/dist/ui/export.html +115 -298
  245. package/dist/ui/session-dashboard-live.html +264 -0
  246. package/dist/ui/session-dashboard.html +329 -0
  247. package/dist/ui/session-detail-live.html +336 -0
  248. package/dist/ui/session-detail.html +355 -0
  249. package/package.json +34 -9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pcircle/footprint",
3
- "version": "1.5.0",
4
- "description": "MCP server for Footprint - automatic audit trails and encrypted evidence for AI conversations",
3
+ "version": "1.7.0",
4
+ "description": "Local-first MCP server for AI work history, context memory, and encrypted evidence",
5
5
  "keywords": [
6
6
  "mcp",
7
7
  "model-context-protocol",
@@ -10,6 +10,11 @@
10
10
  "evidence",
11
11
  "encryption",
12
12
  "footprint",
13
+ "history",
14
+ "memory",
15
+ "handoff",
16
+ "continuity",
17
+ "provenance",
13
18
  "claude",
14
19
  "chatgpt",
15
20
  "compliance",
@@ -27,11 +32,11 @@
27
32
  }
28
33
  },
29
34
  "bin": {
30
- "footprint": "./dist/src/cli/index.js"
35
+ "footprint": "./bin/footprint.js"
31
36
  },
32
37
  "files": [
38
+ "bin",
33
39
  "dist/src",
34
- "!dist/src/test-helpers*",
35
40
  "dist/ui",
36
41
  "SKILL.md",
37
42
  "README.md",
@@ -39,23 +44,41 @@
39
44
  ],
40
45
  "repository": {
41
46
  "type": "git",
42
- "url": "https://github.com/PCIRCLE-AI/footprint.git"
47
+ "url": "https://github.com/PCIRCLE-AI/footprint-mcp.git"
43
48
  },
44
49
  "bugs": {
45
- "url": "https://github.com/PCIRCLE-AI/footprint/issues"
50
+ "url": "https://github.com/PCIRCLE-AI/footprint-mcp/issues"
46
51
  },
47
52
  "homepage": "https://footprint.memesh.ai",
53
+ "publishConfig": {
54
+ "access": "public",
55
+ "provenance": true
56
+ },
48
57
  "scripts": {
49
58
  "build": "pnpm build:ui && tsc",
50
- "build:ui": "mkdir -p dist/ui && pnpm build:ui:dashboard && pnpm build:ui:detail && pnpm build:ui:export",
59
+ "build:ui": "mkdir -p dist/ui && pnpm build:ui:dashboard && pnpm build:ui:detail && pnpm build:ui:export && pnpm build:ui:session-dashboard && pnpm build:ui:session-detail && pnpm build:ui:session-dashboard-live && pnpm build:ui:session-detail-live",
51
60
  "build:ui:dashboard": "cross-env INPUT=ui/dashboard.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/dashboard.html dist/ui/dashboard.html",
52
61
  "build:ui:detail": "cross-env INPUT=ui/detail.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/detail.html dist/ui/detail.html",
53
62
  "build:ui:export": "cross-env INPUT=ui/export.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/export.html dist/ui/export.html",
63
+ "build:ui:session-dashboard": "cross-env INPUT=ui/session-dashboard.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/session-dashboard.html dist/ui/session-dashboard.html",
64
+ "build:ui:session-detail": "cross-env INPUT=ui/session-detail.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/session-detail.html dist/ui/session-detail.html",
65
+ "build:ui:session-dashboard-live": "cross-env INPUT=ui/session-dashboard-live.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/session-dashboard-live.html dist/ui/session-dashboard-live.html",
66
+ "build:ui:session-detail-live": "cross-env INPUT=ui/session-detail-live.html vite build --outDir dist/ui-tmp && cp dist/ui-tmp/ui/session-detail-live.html dist/ui/session-detail-live.html",
54
67
  "dev": "concurrently 'pnpm build:ui --watch' 'tsc --watch'",
68
+ "demo:live": "pnpm build && node bin/footprint.js demo",
69
+ "demo:live:open": "pnpm build && node bin/footprint.js demo --open",
55
70
  "test": "vitest",
56
- "test:run": "vitest run",
71
+ "test:browser": "vitest --browser --config vitest.browser.config.ts run",
72
+ "test:pack-smoke": "node scripts/package-install-smoke.mjs",
73
+ "test:publish-gate": "pnpm audit --audit-level=moderate && pnpm build && pnpm test:run && pnpm test:pack-smoke",
74
+ "test:real-host-smoke": "node scripts/real-host-smoke.mjs",
75
+ "test:macos-smoke": "node scripts/macos-pty-smoke.mjs",
76
+ "test:linux-smoke": "node scripts/linux-pty-smoke.mjs",
77
+ "test:run": "vitest --config vitest.node.config.ts run",
78
+ "publish:npm": "npm publish --access public --provenance",
57
79
  "clean": "rm -rf dist",
58
- "prepublishOnly": "pnpm clean && pnpm build && pnpm test:run"
80
+ "prepack": "pnpm clean && pnpm build",
81
+ "prepublishOnly": "pnpm test:publish-gate"
59
82
  },
60
83
  "dependencies": {
61
84
  "@modelcontextprotocol/ext-apps": "^1.0.1",
@@ -76,8 +99,10 @@
76
99
  "@types/node": "^22.19.11",
77
100
  "@types/prompts": "^2.4.9",
78
101
  "@types/zxcvbn": "^4.4.5",
102
+ "@vitest/browser-playwright": "^4.0.18",
79
103
  "concurrently": "^9.2.1",
80
104
  "cross-env": "^10.1.0",
105
+ "playwright": "^1.58.2",
81
106
  "tsx": "^4.21.0",
82
107
  "typescript": "^5.9.3",
83
108
  "vite": "^7.3.1",