@spool-lab/core 0.5.2 → 0.6.1

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 (148) hide show
  1. package/README.md +22 -14
  2. package/dist/db/db.d.ts +2 -2
  3. package/dist/db/db.d.ts.map +1 -1
  4. package/dist/db/db.js +106 -15
  5. package/dist/db/db.js.map +1 -1
  6. package/dist/db/native-binding.d.ts +21 -0
  7. package/dist/db/native-binding.d.ts.map +1 -0
  8. package/dist/db/native-binding.js +32 -0
  9. package/dist/db/native-binding.js.map +1 -0
  10. package/dist/db/published-shares-cache.d.ts +39 -0
  11. package/dist/db/published-shares-cache.d.ts.map +1 -0
  12. package/dist/db/published-shares-cache.js +60 -0
  13. package/dist/db/published-shares-cache.js.map +1 -0
  14. package/dist/db/queries.d.ts +5 -0
  15. package/dist/db/queries.d.ts.map +1 -1
  16. package/dist/db/queries.js +219 -80
  17. package/dist/db/queries.js.map +1 -1
  18. package/dist/db/search-query.d.ts +7 -0
  19. package/dist/db/search-query.d.ts.map +1 -1
  20. package/dist/db/search-query.js +33 -7
  21. package/dist/db/search-query.js.map +1 -1
  22. package/dist/db/share-drafts.d.ts.map +1 -1
  23. package/dist/db/share-drafts.js +1 -3
  24. package/dist/db/share-drafts.js.map +1 -1
  25. package/dist/doctor/checks/config.d.ts.map +1 -1
  26. package/dist/doctor/checks/config.js +3 -3
  27. package/dist/doctor/checks/config.js.map +1 -1
  28. package/dist/doctor/checks/db.d.ts.map +1 -1
  29. package/dist/doctor/checks/db.js +36 -18
  30. package/dist/doctor/checks/db.js.map +1 -1
  31. package/dist/doctor/checks/env.d.ts.map +1 -1
  32. package/dist/doctor/checks/env.js +5 -1
  33. package/dist/doctor/checks/env.js.map +1 -1
  34. package/dist/doctor/checks/index.js +2 -2
  35. package/dist/doctor/checks/index.js.map +1 -1
  36. package/dist/doctor/checks/native.d.ts.map +1 -1
  37. package/dist/doctor/checks/native.js.map +1 -1
  38. package/dist/doctor/checks/versions.d.ts.map +1 -1
  39. package/dist/doctor/checks/versions.js +2 -2
  40. package/dist/doctor/checks/versions.js.map +1 -1
  41. package/dist/doctor/preflight.js +2 -2
  42. package/dist/doctor/preflight.js.map +1 -1
  43. package/dist/doctor/runner.d.ts.map +1 -1
  44. package/dist/doctor/runner.js +1 -1
  45. package/dist/doctor/runner.js.map +1 -1
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/migrations/agent-search-cleanup.d.ts.map +1 -1
  51. package/dist/migrations/agent-search-cleanup.js +10 -6
  52. package/dist/migrations/agent-search-cleanup.js.map +1 -1
  53. package/dist/migrations/worktree-identity-upgrade.d.ts +5 -3
  54. package/dist/migrations/worktree-identity-upgrade.d.ts.map +1 -1
  55. package/dist/migrations/worktree-identity-upgrade.js +26 -3
  56. package/dist/migrations/worktree-identity-upgrade.js.map +1 -1
  57. package/dist/observability/exporter-file.d.ts.map +1 -1
  58. package/dist/observability/exporter-file.js +14 -6
  59. package/dist/observability/exporter-file.js.map +1 -1
  60. package/dist/observability/exporter-pretty.d.ts.map +1 -1
  61. package/dist/observability/exporter-pretty.js +13 -7
  62. package/dist/observability/exporter-pretty.js.map +1 -1
  63. package/dist/observability/layer.d.ts.map +1 -1
  64. package/dist/observability/layer.js +1 -1
  65. package/dist/observability/layer.js.map +1 -1
  66. package/dist/parsers/claude.d.ts.map +1 -1
  67. package/dist/parsers/claude.js +4 -144
  68. package/dist/parsers/claude.js.map +1 -1
  69. package/dist/parsers/codex.d.ts +7 -1
  70. package/dist/parsers/codex.d.ts.map +1 -1
  71. package/dist/parsers/codex.js +43 -186
  72. package/dist/parsers/codex.js.map +1 -1
  73. package/dist/parsers/gemini.d.ts.map +1 -1
  74. package/dist/parsers/gemini.js +113 -13
  75. package/dist/parsers/gemini.js.map +1 -1
  76. package/dist/parsers/opencode.d.ts.map +1 -1
  77. package/dist/parsers/opencode.js +67 -33
  78. package/dist/parsers/opencode.js.map +1 -1
  79. package/dist/parsers/pi.d.ts +18 -0
  80. package/dist/parsers/pi.d.ts.map +1 -0
  81. package/dist/parsers/pi.js +155 -0
  82. package/dist/parsers/pi.js.map +1 -0
  83. package/dist/parsers/spool-prelude.d.ts +1 -15
  84. package/dist/parsers/spool-prelude.d.ts.map +1 -1
  85. package/dist/parsers/spool-prelude.js +3 -20
  86. package/dist/parsers/spool-prelude.js.map +1 -1
  87. package/dist/projects/fs.d.ts.map +1 -1
  88. package/dist/projects/fs.js +1 -1
  89. package/dist/projects/fs.js.map +1 -1
  90. package/dist/projects/groups.d.ts +4 -1
  91. package/dist/projects/groups.d.ts.map +1 -1
  92. package/dist/projects/groups.js +32 -11
  93. package/dist/projects/groups.js.map +1 -1
  94. package/dist/projects/identity-synthesizers.d.ts.map +1 -1
  95. package/dist/projects/identity-synthesizers.js.map +1 -1
  96. package/dist/projects/identity.d.ts +2 -2
  97. package/dist/projects/identity.d.ts.map +1 -1
  98. package/dist/projects/identity.js +24 -13
  99. package/dist/projects/identity.js.map +1 -1
  100. package/dist/projects/sessions.d.ts.map +1 -1
  101. package/dist/projects/sessions.js +11 -10
  102. package/dist/projects/sessions.js.map +1 -1
  103. package/dist/projects/worktree-resolvers.d.ts +3 -0
  104. package/dist/projects/worktree-resolvers.d.ts.map +1 -1
  105. package/dist/projects/worktree-resolvers.js +144 -8
  106. package/dist/projects/worktree-resolvers.js.map +1 -1
  107. package/dist/security/index.d.ts +2 -2
  108. package/dist/security/index.d.ts.map +1 -1
  109. package/dist/security/index.js +1 -1
  110. package/dist/security/index.js.map +1 -1
  111. package/dist/security/maintenance.d.ts.map +1 -1
  112. package/dist/security/maintenance.js +1 -1
  113. package/dist/security/maintenance.js.map +1 -1
  114. package/dist/security/profile.d.ts.map +1 -1
  115. package/dist/security/profile.js +6 -4
  116. package/dist/security/profile.js.map +1 -1
  117. package/dist/security/purge.d.ts +2 -2
  118. package/dist/security/purge.d.ts.map +1 -1
  119. package/dist/security/purge.js +31 -15
  120. package/dist/security/purge.js.map +1 -1
  121. package/dist/security/repo.d.ts +1 -1
  122. package/dist/security/repo.d.ts.map +1 -1
  123. package/dist/security/repo.js +64 -37
  124. package/dist/security/repo.js.map +1 -1
  125. package/dist/security/scan.d.ts +2 -2
  126. package/dist/security/scan.d.ts.map +1 -1
  127. package/dist/security/scan.js +6 -4
  128. package/dist/security/scan.js.map +1 -1
  129. package/dist/security/worker.d.ts +2 -2
  130. package/dist/security/worker.d.ts.map +1 -1
  131. package/dist/security/worker.js +5 -11
  132. package/dist/security/worker.js.map +1 -1
  133. package/dist/sync/source-paths.d.ts.map +1 -1
  134. package/dist/sync/source-paths.js +46 -16
  135. package/dist/sync/source-paths.js.map +1 -1
  136. package/dist/sync/syncer.d.ts.map +1 -1
  137. package/dist/sync/syncer.js +112 -80
  138. package/dist/sync/syncer.js.map +1 -1
  139. package/dist/sync/watcher.d.ts +1 -1
  140. package/dist/sync/watcher.d.ts.map +1 -1
  141. package/dist/sync/watcher.js +17 -4
  142. package/dist/sync/watcher.js.map +1 -1
  143. package/dist/types.d.ts +8 -1
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/util/resolve-bin.d.ts.map +1 -1
  146. package/dist/util/resolve-bin.js +40 -25
  147. package/dist/util/resolve-bin.js.map +1 -1
  148. package/package.json +35 -17
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAA;AAC7E,MAAM,MAAM,MAAM,GAAG,aAAa,CAAA;AAClC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,aAAa,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;yEAEqE;IACrE,gBAAgB,EAAE,MAAM,CAAA;IACxB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAA;IACrB;;6EAEyE;IACzE,eAAe,EAAE,MAAM,CAAA;IACvB;mCAC+B;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,WAAW,GACX,MAAM,GACN,OAAO,GACP,gBAAgB,CAAA;AAEpB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,mBAAmB,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAKD,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,eAAe,CAAA;IAC1B,MAAM,EAAE,aAAa,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAID,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-bin.d.ts","sourceRoot":"","sources":["../../src/util/resolve-bin.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAUnE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BpE;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAU7F;AAeD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,EAAO,GAAG,MAAM,GAAG,IAAI,CAyBhG;AAID,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,GAAG,IAAI,CAKhF;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEpD;AA+BD,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BpH;AAED;;;;qEAIqE;AACrE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWpG;AAED;;0EAE0E;AAC1E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAIhF;AAED;6EAC6E;AAC7E,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAEvE"}
1
+ {"version":3,"file":"resolve-bin.d.ts","sourceRoot":"","sources":["../../src/util/resolve-bin.ts"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAYnE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAmCpE;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAW7F;AAgBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,EAAO,GAAG,MAAM,GAAG,IAAI,CAwBhG;AAID,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,GAAG,IAAI,CAKhF;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEpD;AAsCD,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,gBAAgB,GAAE,MAAM,EAAO,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAED;;;;qEAIqE;AACrE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;0EAE0E;AAC1E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAIhF;AAED;6EAC6E;AAC7E,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAEvE"}
@@ -1,9 +1,13 @@
1
- import { exec, execSync } from 'node:child_process';
1
+ import { execFile, execFileSync } from 'node:child_process';
2
2
  import { existsSync, readdirSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { promisify } from 'node:util';
6
- const execAsync = promisify(exec);
6
+ const execFileAsync = promisify(execFile);
7
+ const SAFE_BINARY_NAME = /^[A-Za-z0-9._+-]+$/;
8
+ function isSafeBinaryName(name) {
9
+ return name.length > 0 && SAFE_BINARY_NAME.test(name);
10
+ }
7
11
  /**
8
12
  * Resolve a binary path that works in both terminal-launched and
9
13
  * GUI-launched (minimal PATH) contexts on macOS.
@@ -15,12 +19,15 @@ const execAsync = promisify(exec);
15
19
  * in .zshrc / .bashrc (mise, asdf, fnm, etc.) rather than only profile files.
16
20
  */
17
21
  export function nvmVersionBins(home, name) {
22
+ if (!isSafeBinaryName(name))
23
+ return [];
18
24
  const versionsDir = join(home, '.nvm', 'versions', 'node');
19
25
  try {
20
26
  return readdirSync(versionsDir)
21
- .filter(d => d.startsWith('v'))
22
- .sort().reverse()
23
- .map(d => join(versionsDir, d, 'bin', name));
27
+ .filter((d) => d.startsWith('v'))
28
+ .sort()
29
+ .reverse()
30
+ .map((d) => join(versionsDir, d, 'bin', name));
24
31
  }
25
32
  catch {
26
33
  return [];
@@ -33,6 +40,8 @@ export function nvmVersionBins(home, name) {
33
40
  * (it's a stable entry point), then scan installed versions newest-first.
34
41
  */
35
42
  export function miseVersionBins(home, name) {
43
+ if (!isSafeBinaryName(name))
44
+ return [];
36
45
  const root = join(home, '.local', 'share', 'mise');
37
46
  const result = [join(root, 'shims', name)];
38
47
  const installsDir = join(root, 'installs');
@@ -53,7 +62,13 @@ export function miseVersionBins(home, name) {
53
62
  continue;
54
63
  }
55
64
  const ordered = versions.includes('latest')
56
- ? ['latest', ...versions.filter(v => v !== 'latest').sort().reverse()]
65
+ ? [
66
+ 'latest',
67
+ ...versions
68
+ .filter((v) => v !== 'latest')
69
+ .sort()
70
+ .reverse(),
71
+ ]
57
72
  : versions.sort().reverse();
58
73
  for (const v of ordered) {
59
74
  result.push(join(pluginDir, v, 'bin', name));
@@ -63,6 +78,8 @@ export function miseVersionBins(home, name) {
63
78
  }
64
79
  /** Ordered list of filesystem paths to probe for `name`. Pure. */
65
80
  export function wellKnownBinPaths(name, home, extras = []) {
81
+ if (!isSafeBinaryName(name))
82
+ return [];
66
83
  return [
67
84
  ...extras,
68
85
  `/usr/local/bin/${name}`,
@@ -74,8 +91,10 @@ export function wellKnownBinPaths(name, home, extras = []) {
74
91
  ];
75
92
  }
76
93
  function shellLookup(shell, flags, name, timeoutMs) {
94
+ if (!isSafeBinaryName(name))
95
+ return null;
77
96
  try {
78
- const p = execSync(`${shell} ${flags} 'command -v ${name}'`, {
97
+ const p = execFileSync(shell, [flags, 'command -v -- "$1"', 'spool-resolve', name], {
79
98
  encoding: 'utf8',
80
99
  timeout: timeoutMs,
81
100
  stdio: ['pipe', 'pipe', 'pipe'],
@@ -87,13 +106,12 @@ function shellLookup(shell, flags, name, timeoutMs) {
87
106
  }
88
107
  }
89
108
  export function resolveSystemBinary(name, extraSearchPaths = []) {
109
+ if (!isSafeBinaryName(name))
110
+ return null;
90
111
  // 1. Current process PATH — fast path for terminal-launched contexts
91
- try {
92
- const p = execSync(`command -v ${name}`, { encoding: 'utf8', timeout: 3000, stdio: ['pipe', 'pipe', 'pipe'] }).trim();
93
- if (p)
94
- return p;
95
- }
96
- catch { }
112
+ const processPathMatch = shellLookup('/bin/sh', '-c', name, 3000);
113
+ if (processPathMatch)
114
+ return processPathMatch;
97
115
  // 2. User's login+interactive shell — covers mise/asdf/fnm activated in .zshrc/.bashrc
98
116
  const userShell = process.env['SHELL'];
99
117
  if (userShell) {
@@ -127,7 +145,7 @@ export function clearResolveCache(name) {
127
145
  delete resolvedPaths[name];
128
146
  }
129
147
  // ── Async API ─────────────────────────────────────────────────────────────
130
- // The sync variants above use execSync('<shell> -ilc ...') which spawns a
148
+ // The sync variants above use execFileSync('<shell>', ['-ilc', ...]) which spawns a
131
149
  // fresh interactive login shell and can take seconds when the user's
132
150
  // .zshrc is heavy. Awaiting calls to those from the Electron main process
133
151
  // stalls the event loop and produces a launch beachball. Async callers
@@ -142,11 +160,10 @@ export function clearResolveCache(name) {
142
160
  // is reserved for users whose binaries genuinely only exist behind a
143
161
  // shell-activated alias or function.
144
162
  async function shellLookupAsync(shell, flags, name, timeoutMs) {
163
+ if (!isSafeBinaryName(name))
164
+ return null;
145
165
  try {
146
- const { stdout } = await execAsync(`${shell} ${flags} 'command -v ${name}'`, {
147
- encoding: 'utf8',
148
- timeout: timeoutMs,
149
- });
166
+ const { stdout } = await execFileAsync(shell, [flags, 'command -v -- "$1"', 'spool-resolve', name], { encoding: 'utf8', timeout: timeoutMs });
150
167
  const p = stdout.trim();
151
168
  return p || null;
152
169
  }
@@ -155,14 +172,12 @@ async function shellLookupAsync(shell, flags, name, timeoutMs) {
155
172
  }
156
173
  }
157
174
  export async function resolveSystemBinaryAsync(name, extraSearchPaths = []) {
175
+ if (!isSafeBinaryName(name))
176
+ return null;
158
177
  // 1. Current process PATH — fastest, covers terminal-launched contexts
159
- try {
160
- const { stdout } = await execAsync(`command -v ${name}`, { encoding: 'utf8', timeout: 3000 });
161
- const p = stdout.trim();
162
- if (p)
163
- return p;
164
- }
165
- catch { }
178
+ const processPathMatch = await shellLookupAsync('/bin/sh', '-c', name, 3000);
179
+ if (processPathMatch)
180
+ return processPathMatch;
166
181
  // 2. Well-known install locations — pure filesystem probes, no shell exec.
167
182
  // Covers homebrew, ~/.local/bin, nvm versions, and mise installs/shims.
168
183
  for (const p of wellKnownBinPaths(name, homedir(), extraSearchPaths)) {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-bin.js","sourceRoot":"","sources":["../../src/util/resolve-bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-bin.js","sourceRoot":"","sources":["../../src/util/resolve-bin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,24 @@
1
1
  {
2
2
  "name": "@spool-lab/core",
3
- "version": "0.5.2",
3
+ "version": "0.6.1",
4
4
  "private": false,
5
+ "homepage": "https://github.com/spool-lab/spool#readme",
6
+ "bugs": {
7
+ "url": "https://github.com/spool-lab/spool/issues"
8
+ },
9
+ "license": "MIT",
10
+ "author": {
11
+ "name": "xinyao",
12
+ "email": "hi@xinyao.me"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/spool-lab/spool.git"
17
+ },
18
+ "funding": "https://github.com/sponsors/xinyao27",
19
+ "files": [
20
+ "dist"
21
+ ],
5
22
  "type": "module",
6
23
  "main": "./dist/index.js",
7
24
  "types": "./dist/index.d.ts",
@@ -11,35 +28,36 @@
11
28
  "types": "./dist/index.d.ts"
12
29
  }
13
30
  },
14
- "files": [
15
- "dist"
16
- ],
17
31
  "publishConfig": {
18
32
  "access": "public"
19
33
  },
20
34
  "dependencies": {
21
- "@effect/opentelemetry": "^0.63.0",
35
+ "@effect/opentelemetry": "^0.64.0",
22
36
  "@opentelemetry/api": "^1.9.1",
23
- "@opentelemetry/resources": "^2.7.1",
24
- "@opentelemetry/sdk-trace-base": "^2.7.1",
25
- "@opentelemetry/sdk-trace-node": "^2.7.1",
26
- "@opentelemetry/semantic-conventions": "^1.41.1",
27
- "better-sqlite3": "^11.10.0",
28
- "effect": "^3.21.2",
29
- "@spool-lab/redact": "0.5.2"
37
+ "@opentelemetry/resources": "^2.9.0",
38
+ "@opentelemetry/sdk-trace-base": "^2.9.0",
39
+ "@opentelemetry/sdk-trace-node": "^2.9.0",
40
+ "@opentelemetry/semantic-conventions": "^1.43.0",
41
+ "better-sqlite3": "12.11.1",
42
+ "effect": "^3.22.0",
43
+ "@spool-lab/redact": "0.6.1",
44
+ "@spool-lab/session-kit": "^0.6.1"
30
45
  },
31
46
  "devDependencies": {
32
- "@effect/vitest": "^0.29.0",
47
+ "@effect/vitest": "^0.30.0",
33
48
  "@types/better-sqlite3": "^7.6.13",
34
- "@types/node": "^22.19.17",
35
- "vitest": "^3.2.4"
49
+ "@types/node": "^26.1.1",
50
+ "vite": "npm:@voidzero-dev/vite-plus-core@0.2.5",
51
+ "vite-plus": "0.2.5",
52
+ "vitest": "4.1.10"
36
53
  },
37
54
  "scripts": {
38
55
  "rebuild:native": "pnpm run rebuild:native:node",
39
56
  "rebuild:native:node": "node ../../scripts/rebuild-better-sqlite3-node.mjs",
40
- "build": "pnpm run clean && tsc",
41
57
  "dev": "tsc --watch",
42
- "test": "pnpm run rebuild:native && vitest run",
58
+ "typecheck": "tsc --noEmit",
59
+ "test": "vp test run",
60
+ "bench:search": "vp run build && node scripts/benchmark-search-preview.mjs",
43
61
  "clean": "rm -rf dist"
44
62
  }
45
63
  }