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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.js","sourceRoot":"","sources":["../../src/memory/suggest.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAUrD,MAAM,UAAU,kBAAkB,CAAC,EAAgB,EAAE,OAA2B,EAAE;IAChF,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAa;QACtB,0DAA0D,OAAO,IAAI;QACrE,EAAE;QACF,iCAAiC;KAClC,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzE,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CACR,4EAA4E,EAC5E,2EAA2E,EAC3E,mFAAmF,EACnF,yFAAyF,EACzF,EAAE,EACF,8CAA8C,EAC9C,gCAAgC,EAChC,0EAA0E,CAC3E,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACnG,CAAC"}
@@ -134,7 +134,7 @@ export function generate1PasswordRef(vault, item, field) {
134
134
  */
135
135
  export function validate1PasswordRef(ref) {
136
136
  // ref should be op://vault/item or op://vault/item/field
137
- const pattern = /^op:\/\/[^\/]+\/[^\/]+(\/.+)?$/;
137
+ const pattern = /^op:\/\/[^/]+\/[^/]+(\/.+)?$/;
138
138
  return pattern.test(ref);
139
139
  }
140
140
  //# sourceMappingURL=onepassword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onepassword.js","sourceRoot":"","sources":["../src/onepassword.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onepassword.js","sourceRoot":"","sources":["../src/onepassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAsBvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;YAChE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,wCAAwC;aAChD,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,iFAAiF;aACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,KAAK;YACpB,KAAK,EACH,gGAAgG;SACnG,CAAC;IACJ,CAAC;AACH,CAAC;AAWD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE;YACxE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAyB,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAoBD,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,wDAAwD;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,gEAAgE;SACvE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,yDAAyD;SAChE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,qDAAqD;SAC5D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EACF,4EAA4E;YAC5E,iEAAiE;KACpE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE;YACtE,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAC3B,IAAI,EACJ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,EACrD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,IAAY,EACZ,KAAc;IAEd,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,yDAAyD;IACzD,MAAM,OAAO,GAAG,8BAA8B,CAAC;IAC/C,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
package/dist/open.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { platform } from "node:os";
3
+ import { isNonInteractive } from "./environment.js";
3
4
  /** Known service dashboard mappings */
4
5
  const SERVICES = [
5
6
  {
@@ -99,13 +100,18 @@ export function getServiceUrl(name, env) {
99
100
  * Falls back to printing the URL if opening fails.
100
101
  */
101
102
  export async function openInBrowser(url) {
103
+ // Never spawn a browser in automation/CI/tests — print the URL instead. This
104
+ // mirrors login.ts's runInteractive guard and keeps `npm test` hermetic
105
+ // (no service's dashboard, e.g. Stripe's, pops a window during the suite).
106
+ if (isNonInteractive()) {
107
+ return { success: true, message: `Non-interactive — visit: ${url}` };
108
+ }
102
109
  // Determine the open command based on platform
103
110
  const cmd = platform() === "darwin" ? "open" : platform() === "win32" ? "start" : "xdg-open";
104
111
  return new Promise((resolve) => {
105
112
  const child = spawn(cmd, [url], { stdio: "pipe" });
106
- let timeout;
107
113
  // Set a timeout to consider it successful if no error within 100ms
108
- timeout = setTimeout(() => {
114
+ const timeout = setTimeout(() => {
109
115
  resolve({
110
116
  success: true,
111
117
  message: `Opened in browser: ${url}`,
package/dist/open.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../src/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASnC,uCAAuC;AACvC,MAAM,QAAQ,GAAuB;IACnC;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,yBAAyB;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,8BAA8B;KACnD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,2BAA2B;QACnC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,oBAAoB,CAAC;YACrC,OAAO,GAAG,CAAC,CAAC,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC;QAClG,CAAC;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,yBAAyB;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,8BAA8B;KACnD;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,+BAA+B;KACpD;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,wBAAwB;QAChC,YAAY,EAAE,GAAG,EAAE,CAAC,mBAAmB;KACxC;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,yBAAyB;KAC9C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,wBAAwB;QAChC,YAAY,EAAE,GAAG,EAAE,CAAC,2BAA2B;KAChD;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,yBAAyB;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;KACzC;IACD;QACE,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,6BAA6B;QACrC,YAAY,EAAE,GAAG,EAAE,CAAC,gCAAgC;KACrD;IACD;QACE,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,+BAA+B;QACvC,YAAY,EAAE,GAAG,EAAE,CAAC,kCAAkC;KACvD;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,kCAAkC;QAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,0BAA0B;KAC/C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,mCAAmC;QAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,mCAAmC;KACxD;CACF,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,GAA2B;IACrE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,+CAA+C;IAC/C,MAAM,GAAG,GAAG,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IAE7F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnD,IAAI,OAAsC,CAAC;QAE3C,mEAAmE;QACnE,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,OAAO,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sBAAsB,GAAG,EAAE;aACrC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC,GAAG,EAAE;aACpD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC;oBACN,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,sBAAsB,GAAG,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,qCAAqC,GAAG,EAAE;iBACpD,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,GAA2B,EAC3B,UAAU,GAAG,KAAK;IAElB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,oBAAoB,WAAW,EAAE;YAC1C,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEhF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,wBAAwB,OAAO,CAAC,KAAK,EAAE;YAChD,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,EAAE,SAAS;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../src/open.ts"],"names":[],"mappings":"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"}
package/dist/run.js CHANGED
@@ -12,7 +12,7 @@ export async function executeCommand(opts) {
12
12
  throw new Error("No command provided");
13
13
  }
14
14
  // Build environment
15
- let env = inheritEnv ? { ...process.env } : {};
15
+ const env = inheritEnv ? { ...process.env } : {};
16
16
  // Load .env.local if it exists
17
17
  const envPath = resolve(cwd, ".env.local");
18
18
  try {
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * kit service auth strategies — how kit obtains each service's credential.
3
+ *
4
+ * Deterministic resolver (no side effects, no model calls). A service declares
5
+ * `auth` in .kit.toml; absent that, it's inferred:
6
+ *
7
+ * - "vault" — credential lives in the configured vault; `kit secrets`
8
+ * resolves it into the env. No interactive login.
9
+ * - "interactive" — the tool owns its auth; kit runs its `login` command
10
+ * (e.g. `gh auth login`). Default when a login command exists.
11
+ * - "capture" — kit prompts for the token once and stores it to the vault
12
+ * (capture-to-vault). Execution is intentionally NOT wired
13
+ * here yet — this resolver only PLANS; `kit login --plan`
14
+ * surfaces it. (The capture UX is a deliberate follow-up.)
15
+ *
16
+ * Passkey-awareness: some interactive logins open a browser / require a passkey,
17
+ * so they can't be scripted on a fresh machine — the plan flags that explicitly.
18
+ */
19
+ import type { ServiceConfig } from "./config.js";
20
+ export type AuthStrategy = "vault" | "capture" | "interactive";
21
+ export interface ResolvedAuth {
22
+ name: string;
23
+ strategy: AuthStrategy;
24
+ /** Interactive login likely opens a browser / needs a passkey (can't be scripted). */
25
+ passkey: boolean;
26
+ /** Deterministic next-step description. */
27
+ instruction: string;
28
+ }
29
+ export declare function resolveServiceAuth(name: string, config: ServiceConfig): ResolvedAuth;
30
+ /** Resolve every service's auth plan, sorted by name for stable output. */
31
+ export declare function resolveAllAuth(services: Record<string, ServiceConfig>): ResolvedAuth[];
@@ -0,0 +1,47 @@
1
+ // Interactive logins that open a browser and may require a passkey / device approval.
2
+ const PASSKEY_SERVICES = new Set([
3
+ "github",
4
+ "gh",
5
+ "vercel",
6
+ "supabase",
7
+ "cloudflare",
8
+ "fly",
9
+ "railway",
10
+ "gcloud",
11
+ "aws",
12
+ "azure",
13
+ ]);
14
+ function isStrategy(v) {
15
+ return v === "vault" || v === "capture" || v === "interactive";
16
+ }
17
+ export function resolveServiceAuth(name, config) {
18
+ const explicit = config.auth;
19
+ const strategy = isStrategy(explicit)
20
+ ? explicit
21
+ : config.login
22
+ ? "interactive"
23
+ : "vault";
24
+ const passkey = strategy === "interactive" && PASSKEY_SERVICES.has(name.toLowerCase());
25
+ let instruction;
26
+ switch (strategy) {
27
+ case "vault":
28
+ instruction = "credential resolved from the configured vault (run `kit secrets`)";
29
+ break;
30
+ case "capture":
31
+ instruction = "capture-to-vault: `kit secrets set <KEY> --stdin` (paste once, stored in the vault)";
32
+ break;
33
+ case "interactive":
34
+ instruction = config.login
35
+ ? `interactive login: ${config.login}${passkey ? " — needs a browser/passkey, can't be scripted on a fresh machine" : ""}`
36
+ : "interactive login required (no login command configured)";
37
+ break;
38
+ }
39
+ return { name, strategy, passkey, instruction };
40
+ }
41
+ /** Resolve every service's auth plan, sorted by name for stable output. */
42
+ export function resolveAllAuth(services) {
43
+ return Object.keys(services)
44
+ .sort()
45
+ .map((name) => resolveServiceAuth(name, services[name]));
46
+ }
47
+ //# sourceMappingURL=service-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-auth.js","sourceRoot":"","sources":["../src/service-auth.ts"],"names":[],"mappings":"AA+BA,sFAAsF;AACtF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,KAAK;IACL,SAAS;IACT,QAAQ;IACR,KAAK;IACL,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,aAAa,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAqB;IACpE,MAAM,QAAQ,GAAI,MAA6B,CAAC,IAAI,CAAC;IACrD,MAAM,QAAQ,GAAiB,UAAU,CAAC,QAAQ,CAAC;QACjD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,CAAC,KAAK;YACZ,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,OAAO,GAAG,QAAQ,KAAK,aAAa,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvF,IAAI,WAAmB,CAAC;IACxB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,WAAW,GAAG,mEAAmE,CAAC;YAClF,MAAM;QACR,KAAK,SAAS;YACZ,WAAW,GAAG,qFAAqF,CAAC;YACpG,MAAM;QACR,KAAK,aAAa;YAChB,WAAW,GAAG,MAAM,CAAC,KAAK;gBACxB,CAAC,CAAC,sBAAsB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1H,CAAC,CAAC,0DAA0D,CAAC;YAC/D,MAAM;IACV,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,QAAuC;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SACzB,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -48,6 +48,40 @@ function detectPackageManager(pkg, cwd) {
48
48
  return "npm";
49
49
  })();
50
50
  }
51
+ // Service = matched if any dep is present OR any marker file exists. Order here
52
+ // is the order services are reported. Adding a service is one row, not a new if.
53
+ const SERVICE_DETECTORS = [
54
+ { service: "stripe", deps: ["stripe"] },
55
+ { service: "supabase", deps: ["@supabase/supabase-js"], files: ["supabase"] },
56
+ { service: "prisma", deps: ["prisma", "@prisma/client"] },
57
+ { service: "resend", deps: ["resend"] },
58
+ { service: "clerk", deps: ["@clerk/nextjs", "@clerk/clerk-react"] },
59
+ { service: "drizzle", deps: ["drizzle-orm"] },
60
+ { service: "liveblocks", deps: ["liveblocks", "@liveblocks/client"] },
61
+ { service: "trigger", deps: ["@trigger.dev/sdk", "trigger.dev"] },
62
+ { service: "inngest", deps: ["inngest"] },
63
+ { service: "vercel", deps: ["@vercel/analytics", "vercel"], files: ["vercel.json"] },
64
+ { service: "expo", files: [".expo"] },
65
+ {
66
+ service: "sentry",
67
+ deps: ["@sentry/nextjs", "@sentry/node", "@sentry/react", "@sentry/svelte", "@sentry/astro", "@sentry/remix"],
68
+ },
69
+ { service: "typeorm", deps: ["typeorm", "@nestjs/typeorm"] },
70
+ { service: "mongoose", deps: ["mongoose", "@nestjs/mongoose"] },
71
+ { service: "netlify", files: ["netlify.toml"] },
72
+ { service: "cloudflare-pages", files: ["wrangler.toml"] },
73
+ ];
74
+ // Framework = first match wins (priority order: meta-frameworks before their base).
75
+ const FRAMEWORK_DETECTORS = [
76
+ { framework: "nextjs", deps: ["next"] },
77
+ { framework: "remix", deps: ["@remix-run/node", "@remix-run/react"] },
78
+ { framework: "astro", deps: ["astro"] },
79
+ { framework: "sveltekit", deps: ["@sveltejs/kit"] },
80
+ { framework: "nestjs", deps: ["@nestjs/core"] },
81
+ { framework: "express", deps: ["express"] },
82
+ { framework: "react", deps: ["react"] },
83
+ { framework: "vue", deps: ["vue"] },
84
+ ];
51
85
  async function detectFromPackageJson(cwd) {
52
86
  const pkg = await readJson(join(cwd, "package.json"));
53
87
  if (!pkg)
@@ -58,83 +92,26 @@ async function detectFromPackageJson(cwd) {
58
92
  if (pm !== "npm")
59
93
  tools[pm] = "latest";
60
94
  const services = [];
61
- // Detect services by dependencies
62
- if (hasDep(pkg, "stripe"))
63
- services.push("stripe");
64
- if (hasDep(pkg, "@supabase/supabase-js") || (await fileExists(join(cwd, "supabase")))) {
65
- services.push("supabase");
66
- }
67
- if (hasDep(pkg, "prisma") || hasDep(pkg, "@prisma/client")) {
68
- services.push("prisma");
69
- }
70
- if (hasDep(pkg, "resend"))
71
- services.push("resend");
72
- if (hasDep(pkg, "@clerk/nextjs") || hasDep(pkg, "@clerk/clerk-react")) {
73
- services.push("clerk");
74
- }
75
- if (hasDep(pkg, "drizzle-orm"))
76
- services.push("drizzle");
77
- if (hasDep(pkg, "liveblocks") || hasDep(pkg, "@liveblocks/client")) {
78
- services.push("liveblocks");
79
- }
80
- if (hasDep(pkg, "@trigger.dev/sdk") || hasDep(pkg, "trigger.dev")) {
81
- services.push("trigger");
82
- }
83
- if (hasDep(pkg, "inngest"))
84
- services.push("inngest");
85
- if (hasDep(pkg, "@vercel/analytics") ||
86
- hasDep(pkg, "vercel") ||
87
- (await fileExists(join(cwd, "vercel.json")))) {
88
- services.push("vercel");
89
- }
90
- if (await fileExists(join(cwd, ".expo")))
91
- services.push("expo");
92
- // Sentry — any @sentry/* package
93
- if (hasDep(pkg, "@sentry/nextjs") ||
94
- hasDep(pkg, "@sentry/node") ||
95
- hasDep(pkg, "@sentry/react") ||
96
- hasDep(pkg, "@sentry/svelte") ||
97
- hasDep(pkg, "@sentry/astro") ||
98
- hasDep(pkg, "@sentry/remix")) {
99
- services.push("sentry");
100
- }
101
- // NestJS specific: TypeORM, Mongoose
102
- if (hasDep(pkg, "typeorm") || hasDep(pkg, "@nestjs/typeorm")) {
103
- services.push("typeorm");
104
- }
105
- if (hasDep(pkg, "mongoose") || hasDep(pkg, "@nestjs/mongoose")) {
106
- services.push("mongoose");
107
- }
108
- // Netlify / Cloudflare Pages via config files
109
- if (await fileExists(join(cwd, "netlify.toml")))
110
- services.push("netlify");
111
- if (await fileExists(join(cwd, "wrangler.toml")))
112
- services.push("cloudflare-pages");
113
- // Detect framework
95
+ // Detect services by dependency or marker file (table-driven; preserves order).
96
+ for (const d of SERVICE_DETECTORS) {
97
+ const byDep = d.deps?.some((dep) => hasDep(pkg, dep)) ?? false;
98
+ let byFile = false;
99
+ for (const file of d.files ?? []) {
100
+ if (await fileExists(join(cwd, file))) {
101
+ byFile = true;
102
+ break;
103
+ }
104
+ }
105
+ if (byDep || byFile)
106
+ services.push(d.service);
107
+ }
108
+ // Framework — first match wins (priority order in FRAMEWORK_DETECTORS).
114
109
  let framework;
115
- if (hasDep(pkg, "next")) {
116
- framework = "nextjs";
117
- }
118
- else if (hasDep(pkg, "@remix-run/node") || hasDep(pkg, "@remix-run/react")) {
119
- framework = "remix";
120
- }
121
- else if (hasDep(pkg, "astro")) {
122
- framework = "astro";
123
- }
124
- else if (hasDep(pkg, "@sveltejs/kit")) {
125
- framework = "sveltekit";
126
- }
127
- else if (hasDep(pkg, "@nestjs/core")) {
128
- framework = "nestjs";
129
- }
130
- else if (hasDep(pkg, "express")) {
131
- framework = "express";
132
- }
133
- else if (hasDep(pkg, "react")) {
134
- framework = "react";
135
- }
136
- else if (hasDep(pkg, "vue")) {
137
- framework = "vue";
110
+ for (const fw of FRAMEWORK_DETECTORS) {
111
+ if (fw.deps.some((dep) => hasDep(pkg, dep))) {
112
+ framework = fw.framework;
113
+ break;
114
+ }
138
115
  }
139
116
  const confidence = framework ? 0.9 : 0.6;
140
117
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"stack-detector.js","sourceRoot":"","sources":["../src/stack-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-detector.js","sourceRoot":"","sources":["../src/stack-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface StatusItem {
2
+ key: string;
3
+ label: string;
4
+ ok: boolean;
5
+ detail: string;
6
+ /** Rule-based next step when not ok (deterministic, no inference). */
7
+ hint?: string;
8
+ }
9
+ export declare function gatherStatus(cwd?: string): Promise<StatusItem[]>;
package/dist/status.js ADDED
@@ -0,0 +1,119 @@
1
+ /**
2
+ * kit status — a deterministic "where you are + what to do next" view across kit.
3
+ *
4
+ * Pure facts + rule-based next steps (never LLM advice). Each signal is checked
5
+ * against real local state: the config file, the vault declaration, the agent
6
+ * managed block, the memory store, the installed hooks. Designed to grow: add a
7
+ * StatusItem per subsystem (prescan drift, supply-chain, elevation, …).
8
+ */
9
+ import { existsSync, readFileSync } from "node:fs";
10
+ import { join } from "node:path";
11
+ import { loadConfig } from "./config.js";
12
+ import { KIT_BLOCK_BEGIN } from "./agent-config.js";
13
+ import { checkGitignore } from "./check-gitignore.js";
14
+ import { openMemoryDb, getStats } from "./memory/db.js";
15
+ import { getClaudeSettingsPath } from "./memory/install.js";
16
+ // Dependency allowlist file (kept as a literal here, matching security-policy.ts
17
+ // + post-pull-audit.ts — the convention isn't exported).
18
+ const ALLOWLIST_FILE = ".kit-allowlist.json";
19
+ function fileIncludes(path, needle) {
20
+ if (!existsSync(path))
21
+ return false;
22
+ try {
23
+ return readFileSync(path, "utf8").includes(needle);
24
+ }
25
+ catch {
26
+ return false; // unreadable — treat as absent
27
+ }
28
+ }
29
+ export async function gatherStatus(cwd = process.cwd()) {
30
+ const items = [];
31
+ const configPath = join(cwd, ".kit.toml");
32
+ const hasConfig = existsSync(configPath);
33
+ items.push({
34
+ key: "config",
35
+ label: ".kit.toml",
36
+ ok: hasConfig,
37
+ detail: hasConfig ? "present" : "missing",
38
+ hint: hasConfig ? undefined : "run `kit init`",
39
+ });
40
+ if (hasConfig) {
41
+ try {
42
+ const cfg = await loadConfig(configPath);
43
+ const hasVault = !!(cfg.secrets &&
44
+ (cfg.secrets.store || (cfg.secrets.keys && Object.keys(cfg.secrets.keys).length > 0)));
45
+ items.push({
46
+ key: "vault",
47
+ label: "secrets vault",
48
+ ok: hasVault,
49
+ detail: hasVault ? `store: ${cfg.secrets?.store ?? "keys"}` : "none configured",
50
+ hint: hasVault ? undefined : "configure [secrets] + `kit secrets`",
51
+ });
52
+ const toolCount = cfg.tools ? Object.keys(cfg.tools).length : 0;
53
+ items.push({
54
+ key: "tools",
55
+ label: "tools",
56
+ ok: toolCount > 0,
57
+ detail: `${toolCount} declared`,
58
+ hint: toolCount > 0 ? undefined : "declare [tools] in .kit.toml",
59
+ });
60
+ }
61
+ catch {
62
+ // malformed config — skip the derived checks rather than crash
63
+ }
64
+ }
65
+ // Secret hygiene — does .gitignore cover the sensitive paths kit cares about?
66
+ const ignore = await checkGitignore(cwd);
67
+ items.push({
68
+ key: "gitignore",
69
+ label: "gitignore hygiene",
70
+ ok: ignore.missingPatterns.length === 0,
71
+ detail: ignore.missingPatterns.length === 0
72
+ ? "sensitive paths covered"
73
+ : `${ignore.missingPatterns.length} sensitive path(s) unignored`,
74
+ hint: ignore.missingPatterns.length === 0 ? undefined : "run `kit security check-gitignore --fix`",
75
+ });
76
+ // Supply chain — is there a dependency allowlist to enforce on install?
77
+ const hasAllowlist = existsSync(join(cwd, ALLOWLIST_FILE));
78
+ items.push({
79
+ key: "dep-policy",
80
+ label: "dependency policy",
81
+ ok: hasAllowlist,
82
+ detail: hasAllowlist ? "allowlist present" : "no allowlist",
83
+ hint: hasAllowlist ? undefined : "run `kit security policy init`",
84
+ });
85
+ const wired = fileIncludes(join(cwd, "CLAUDE.md"), KIT_BLOCK_BEGIN);
86
+ items.push({
87
+ key: "agent-config",
88
+ label: "agent wired",
89
+ ok: wired,
90
+ detail: wired ? "CLAUDE.md kit block present" : "not wired",
91
+ hint: wired ? undefined : "run `kit agent-config`",
92
+ });
93
+ let messages = 0;
94
+ try {
95
+ const db = openMemoryDb();
96
+ messages = getStats(db).messages;
97
+ db.close();
98
+ }
99
+ catch {
100
+ // memory store unavailable — reported as 0
101
+ }
102
+ items.push({
103
+ key: "memory",
104
+ label: "memory indexed",
105
+ ok: messages > 0,
106
+ detail: `${messages} messages`,
107
+ hint: messages > 0 ? undefined : "run `kit memory index`",
108
+ });
109
+ const hooked = fileIncludes(getClaudeSettingsPath(), "kit memory hook");
110
+ items.push({
111
+ key: "memory-hooks",
112
+ label: "memory hooks",
113
+ ok: hooked,
114
+ detail: hooked ? "installed" : "not installed",
115
+ hint: hooked ? undefined : "run `kit memory install`",
116
+ });
117
+ return items;
118
+ }
119
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sandstream-kit",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "developer kit. zero LLM, local-first, multi-vault. one command from git clone to working dev environment.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -28,7 +28,8 @@
28
28
  "build:prod": "npm run build --workspace=packages/adapter-sdk && npm run build --workspace=packages/kit-plugin-railway && npm run build --workspace=packages/kit-plugin-supabase && npm run build --workspace=packages/kit-plugin-vercel && npm run build --workspace=packages/kit-plugin-github && npm run build --workspace=packages/kit-plugin-stripe && npm run build --workspace=packages/kit-plugin-fly && npm run build --workspace=packages/kit-plugin-cloudflare && npm run build --workspace=packages/kit-plugin-snyk && npm run build --workspace=packages/kit-plugin-wiz && npm run build --workspace=packages/kit-plugin-sentry && rm -rf dist && tsc -p tsconfig.prod.json && chmod +x dist/cli.js",
29
29
  "prepublishOnly": "npm run build:prod",
30
30
  "dev": "tsx src/cli.ts",
31
- "test": "KIT_BUMBLEBEE=0 KIT_NO_FAILURE_SIM=1 KIT_NO_UPDATE_CHECK=1 node --test --test-timeout=180000 --test-concurrency=2 dist/*.test.js dist/**/*.test.js"
31
+ "test": "KIT_NON_INTERACTIVE=1 KIT_BUMBLEBEE=0 KIT_NO_FAILURE_SIM=1 KIT_NO_UPDATE_CHECK=1 node --test --test-timeout=180000 --test-concurrency=2 dist/*.test.js dist/**/*.test.js",
32
+ "lint": "eslint src"
32
33
  },
33
34
  "dependencies": {
34
35
  "@modelcontextprotocol/sdk": "1.29.0",
@@ -37,9 +38,13 @@
37
38
  "zod": "4.3.6"
38
39
  },
39
40
  "devDependencies": {
41
+ "@eslint/js": "^9.39.4",
40
42
  "@types/node": "22.19.15",
41
- "tsx": "4.21.0",
42
- "typescript": "5.9.3"
43
+ "eslint": "^9.39.4",
44
+ "globals": "^17.6.0",
45
+ "tsx": "^4.22.4",
46
+ "typescript": "5.9.3",
47
+ "typescript-eslint": "^8.61.1"
43
48
  },
44
49
  "repository": {
45
50
  "type": "git",
@@ -1,6 +0,0 @@
1
- /** Reject a too-short or obviously-weak backup passphrase (fail before encrypting). */
2
- export declare function validatePassphrase(passphrase: string): void;
3
- /** Encrypt the memory DB file into `outPath`. WAL is checkpointed first so the file is complete. */
4
- export declare function backupEncrypted(passphrase: string, srcPath?: string, outPath?: string): void;
5
- /** Decrypt a backup blob into `destPath`. Throws on a wrong passphrase or tampered blob (GCM auth). */
6
- export declare function restoreEncrypted(passphrase: string, inPath: string, destPath: string): void;