aicodeman 1.9.6 → 1.9.8

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 (146) hide show
  1. package/README.md +1 -1
  2. package/dist/config/dependency-registry.d.ts.map +1 -1
  3. package/dist/config/dependency-registry.js +8 -0
  4. package/dist/config/dependency-registry.js.map +1 -1
  5. package/dist/docker-hosts.d.ts.map +1 -1
  6. package/dist/docker-hosts.js +1 -0
  7. package/dist/docker-hosts.js.map +1 -1
  8. package/dist/mux-interface.d.ts +3 -1
  9. package/dist/mux-interface.d.ts.map +1 -1
  10. package/dist/remote-hosts.d.ts.map +1 -1
  11. package/dist/remote-hosts.js +1 -0
  12. package/dist/remote-hosts.js.map +1 -1
  13. package/dist/session.d.ts +6 -1
  14. package/dist/session.d.ts.map +1 -1
  15. package/dist/session.js +27 -12
  16. package/dist/session.js.map +1 -1
  17. package/dist/tmux-manager.d.ts +2 -1
  18. package/dist/tmux-manager.d.ts.map +1 -1
  19. package/dist/tmux-manager.js +46 -5
  20. package/dist/tmux-manager.js.map +1 -1
  21. package/dist/types/session.d.ts +16 -4
  22. package/dist/types/session.d.ts.map +1 -1
  23. package/dist/types/session.js +2 -1
  24. package/dist/types/session.js.map +1 -1
  25. package/dist/utils/antigravity-cli-resolver.d.ts +20 -0
  26. package/dist/utils/antigravity-cli-resolver.d.ts.map +1 -0
  27. package/dist/utils/antigravity-cli-resolver.js +60 -0
  28. package/dist/utils/antigravity-cli-resolver.js.map +1 -0
  29. package/dist/utils/claude-cli-resolver.d.ts +11 -0
  30. package/dist/utils/claude-cli-resolver.d.ts.map +1 -1
  31. package/dist/utils/claude-cli-resolver.js +14 -0
  32. package/dist/utils/claude-cli-resolver.js.map +1 -1
  33. package/dist/utils/index.d.ts +3 -1
  34. package/dist/utils/index.d.ts.map +1 -1
  35. package/dist/utils/index.js +3 -1
  36. package/dist/utils/index.js.map +1 -1
  37. package/dist/utils/node-pty-repair.d.ts +62 -0
  38. package/dist/utils/node-pty-repair.d.ts.map +1 -0
  39. package/dist/utils/node-pty-repair.js +149 -0
  40. package/dist/utils/node-pty-repair.js.map +1 -0
  41. package/dist/web/public/admin-ui.js.gz +0 -0
  42. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  43. package/dist/web/public/{app.adc992cd.js → app.67693130.js} +6 -6
  44. package/dist/web/public/app.67693130.js.br +0 -0
  45. package/dist/web/public/app.67693130.js.gz +0 -0
  46. package/dist/web/public/constants.e7175b95.js.gz +0 -0
  47. package/dist/web/public/cron-ui.js.gz +0 -0
  48. package/dist/web/public/entrance-animations.js +754 -0
  49. package/dist/web/public/entrance-animations.js.br +0 -0
  50. package/dist/web/public/entrance-animations.js.gz +0 -0
  51. package/dist/web/public/i18n.8a202f9d.js +1 -0
  52. package/dist/web/public/i18n.8a202f9d.js.br +0 -0
  53. package/dist/web/public/i18n.8a202f9d.js.gz +0 -0
  54. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  55. package/dist/web/public/index.html +46 -10
  56. package/dist/web/public/index.html.br +0 -0
  57. package/dist/web/public/index.html.gz +0 -0
  58. package/dist/web/public/input-cjk.63794d0b.js.gz +0 -0
  59. package/dist/web/public/keyboard-accessory.9936227d.js.gz +0 -0
  60. package/dist/web/public/mobile-handlers.bc2b8c1d.js.gz +0 -0
  61. package/dist/web/public/mobile-overview.js +684 -0
  62. package/dist/web/public/mobile-overview.js.br +0 -0
  63. package/dist/web/public/mobile-overview.js.gz +0 -0
  64. package/dist/web/public/mobile.e56d787a.css +1 -0
  65. package/dist/web/public/mobile.e56d787a.css.br +0 -0
  66. package/dist/web/public/mobile.e56d787a.css.gz +0 -0
  67. package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
  68. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  69. package/dist/web/public/{panels-ui.3910e1e2.js → panels-ui.600881ae.js} +17 -17
  70. package/dist/web/public/panels-ui.600881ae.js.br +0 -0
  71. package/dist/web/public/panels-ui.600881ae.js.gz +0 -0
  72. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  73. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  74. package/dist/web/public/respawn-ui.2d249da9.js.gz +0 -0
  75. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  76. package/dist/web/public/{session-ui.2d3541c6.js → session-ui.dbc88443.js} +3 -3
  77. package/dist/web/public/session-ui.dbc88443.js.br +0 -0
  78. package/dist/web/public/session-ui.dbc88443.js.gz +0 -0
  79. package/dist/web/public/settings-ui.726e1c19.js +67 -0
  80. package/dist/web/public/settings-ui.726e1c19.js.br +0 -0
  81. package/dist/web/public/settings-ui.726e1c19.js.gz +0 -0
  82. package/dist/web/public/styles.7e638f69.css +1 -0
  83. package/dist/web/public/styles.7e638f69.css.br +0 -0
  84. package/dist/web/public/styles.7e638f69.css.gz +0 -0
  85. package/dist/web/public/{subagent-windows.69b60c35.js → subagent-windows.4cc8b005.js} +27 -3
  86. package/dist/web/public/subagent-windows.4cc8b005.js.br +0 -0
  87. package/dist/web/public/subagent-windows.4cc8b005.js.gz +0 -0
  88. package/dist/web/public/sw.js.gz +0 -0
  89. package/dist/web/public/terminal-ui.edf4d683.js +3 -0
  90. package/dist/web/public/terminal-ui.edf4d683.js.br +0 -0
  91. package/dist/web/public/terminal-ui.edf4d683.js.gz +0 -0
  92. package/dist/web/public/ultracode-panel.js.gz +0 -0
  93. package/dist/web/public/ultracode-windows.js +4 -0
  94. package/dist/web/public/ultracode-windows.js.br +0 -0
  95. package/dist/web/public/ultracode-windows.js.gz +0 -0
  96. package/dist/web/public/upload.html.gz +0 -0
  97. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  98. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  99. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  100. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  101. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  102. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  103. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  104. package/dist/web/public/vendor/xterm.css.gz +0 -0
  105. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  106. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  107. package/dist/web/public/webview-tabs.js.gz +0 -0
  108. package/dist/web/routes/session-routes.d.ts.map +1 -1
  109. package/dist/web/routes/session-routes.js +59 -25
  110. package/dist/web/routes/session-routes.js.map +1 -1
  111. package/dist/web/routes/system-routes.d.ts.map +1 -1
  112. package/dist/web/routes/system-routes.js +9 -1
  113. package/dist/web/routes/system-routes.js.map +1 -1
  114. package/dist/web/schemas.d.ts +16 -0
  115. package/dist/web/schemas.d.ts.map +1 -1
  116. package/dist/web/schemas.js +24 -5
  117. package/dist/web/schemas.js.map +1 -1
  118. package/dist/web/server.d.ts.map +1 -1
  119. package/dist/web/server.js +1 -0
  120. package/dist/web/server.js.map +1 -1
  121. package/package.json +3 -1
  122. package/scripts/fix-node-pty.mjs +261 -0
  123. package/scripts/postinstall.js +21 -24
  124. package/dist/web/public/app.adc992cd.js.br +0 -0
  125. package/dist/web/public/app.adc992cd.js.gz +0 -0
  126. package/dist/web/public/i18n.4dcf1b87.js +0 -1
  127. package/dist/web/public/i18n.4dcf1b87.js.br +0 -0
  128. package/dist/web/public/i18n.4dcf1b87.js.gz +0 -0
  129. package/dist/web/public/mobile.40e2d64e.css +0 -1
  130. package/dist/web/public/mobile.40e2d64e.css.br +0 -0
  131. package/dist/web/public/mobile.40e2d64e.css.gz +0 -0
  132. package/dist/web/public/panels-ui.3910e1e2.js.br +0 -0
  133. package/dist/web/public/panels-ui.3910e1e2.js.gz +0 -0
  134. package/dist/web/public/session-ui.2d3541c6.js.br +0 -0
  135. package/dist/web/public/session-ui.2d3541c6.js.gz +0 -0
  136. package/dist/web/public/settings-ui.08c08e71.js +0 -67
  137. package/dist/web/public/settings-ui.08c08e71.js.br +0 -0
  138. package/dist/web/public/settings-ui.08c08e71.js.gz +0 -0
  139. package/dist/web/public/styles.30e64547.css +0 -1
  140. package/dist/web/public/styles.30e64547.css.br +0 -0
  141. package/dist/web/public/styles.30e64547.css.gz +0 -0
  142. package/dist/web/public/subagent-windows.69b60c35.js.br +0 -0
  143. package/dist/web/public/subagent-windows.69b60c35.js.gz +0 -0
  144. package/dist/web/public/terminal-ui.f3a51974.js +0 -3
  145. package/dist/web/public/terminal-ui.f3a51974.js.br +0 -0
  146. package/dist/web/public/terminal-ui.f3a51974.js.gz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAwB7C;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAazC;AAKD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAyBnD"}
1
+ {"version":3,"file":"claude-cli-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAwB7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAazC;AAKD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAyBnD"}
@@ -53,6 +53,20 @@ export function findClaudeDir() {
53
53
  _claudeDir = ''; // mark as searched, not found
54
54
  return null;
55
55
  }
56
+ /**
57
+ * Returns an absolute path to the `claude` binary, falling back to the bare
58
+ * name `'claude'` when it cannot be located (so PATH resolution still gets a
59
+ * chance).
60
+ *
61
+ * Preferred over passing `'claude'` to `pty.spawn()`: a PTY child resolves the
62
+ * command against the environment it is handed, and an install that lives in
63
+ * `~/.local/bin` or `~/.claude/local` is frequently absent from the PATH the
64
+ * server process inherited (issue #6).
65
+ */
66
+ export function getClaudeBinaryPath() {
67
+ const dir = findClaudeDir();
68
+ return dir ? join(dir, 'claude') : 'claude';
69
+ }
56
70
  /** Cached augmented PATH string */
57
71
  let _augmentedPath = null;
58
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,10 @@ export { isSafePushEndpoint } from './push-endpoint-validation.js';
17
17
  export { stringSimilarity, fuzzyPhraseMatch, todoContentHash } from './string-similarity.js';
18
18
  export { assertNever } from './type-safety.js';
19
19
  export { wrapWithNice } from './nice-wrapper.js';
20
- export { findClaudeDir, getAugmentedPath, getClaudeCliVersion } from './claude-cli-resolver.js';
20
+ export { findClaudeDir, getAugmentedPath, getClaudeCliVersion, getClaudeBinaryPath } from './claude-cli-resolver.js';
21
+ export { spawnPtyWithHelperRepair } from './node-pty-repair.js';
21
22
  export { resolveOpenCodeDir } from './opencode-cli-resolver.js';
22
23
  export { resolveCodexDir, isCodexAvailable } from './codex-cli-resolver.js';
23
24
  export { resolveGeminiDir, isGeminiAvailable } from './gemini-cli-resolver.js';
25
+ export { resolveAntigravityDir, isAntigravityAvailable } from './antigravity-cli-resolver.js';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -16,8 +16,10 @@ export { isSafePushEndpoint } from './push-endpoint-validation.js';
16
16
  export { stringSimilarity, fuzzyPhraseMatch, todoContentHash } from './string-similarity.js';
17
17
  export { assertNever } from './type-safety.js';
18
18
  export { wrapWithNice } from './nice-wrapper.js';
19
- export { findClaudeDir, getAugmentedPath, getClaudeCliVersion } from './claude-cli-resolver.js';
19
+ export { findClaudeDir, getAugmentedPath, getClaudeCliVersion, getClaudeBinaryPath } from './claude-cli-resolver.js';
20
+ export { spawnPtyWithHelperRepair } from './node-pty-repair.js';
20
21
  export { resolveOpenCodeDir } from './opencode-cli-resolver.js';
21
22
  export { resolveCodexDir, isCodexAvailable } from './codex-cli-resolver.js';
22
23
  export { resolveGeminiDir, isGeminiAvailable } from './gemini-cli-resolver.js';
24
+ export { resolveAntigravityDir, isAntigravityAvailable } from './antigravity-cli-resolver.js';
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview Runtime self-heal for node-pty's macOS `spawn-helper`.
3
+ *
4
+ * node-pty@1.1.0 ships its macOS prebuilt helper as
5
+ * `prebuilds/darwin-<arch>/spawn-helper` with mode 0644 (no execute bit). On
6
+ * macOS every PTY is launched through that helper via posix_spawnp, so a
7
+ * non-executable helper turns every session start into
8
+ * `Error: posix_spawnp failed.` (issues #6 and #204). The bug is macOS-only:
9
+ * `spawn-helper` is an `OS=="mac"` gyp target and pty.cc only spawns it under
10
+ * `#if defined(__APPLE__)`, and node-pty ships no Linux prebuild, so Linux always
11
+ * compiles a correctly-permissioned helper from source.
12
+ *
13
+ * `scripts/fix-node-pty.mjs` fixes this at install time. This module is the
14
+ * safety net for installs that are already broken: the first PTY spawn that
15
+ * fails this way is repaired and retried in-process, so the user never sees a
16
+ * dead session. If the retry still fails, the thrown error carries the manual
17
+ * repair command instead of a bare "posix_spawnp failed".
18
+ *
19
+ * @module utils/node-pty-repair
20
+ */
21
+ /** The one-line fix appended to errors we could not repair automatically. */
22
+ export declare const SPAWN_HELPER_FIX_HINT: string;
23
+ /**
24
+ * True when an error is node-pty failing to launch its spawn-helper.
25
+ *
26
+ * The native throw site is `throw Napi::Error::New(napiEnv, "posix_spawnp failed.")`
27
+ * in pty.cc, reached only on Apple platforms.
28
+ */
29
+ export declare function isSpawnHelperFailure(err: unknown): boolean;
30
+ /** Locates the installed node-pty package root, or null when it can't be resolved. */
31
+ export declare function findNodePtyDir(): string | null;
32
+ /**
33
+ * Lists every `spawn-helper` present in a node-pty install.
34
+ *
35
+ * node-pty's loader checks `build/Release`, `build/Debug`, then
36
+ * `prebuilds/<platform>-<arch>`, and takes the helper from whichever directory
37
+ * the native module loaded out of, so every copy has to be executable, not just
38
+ * the one this machine happens to use.
39
+ */
40
+ export declare function listSpawnHelpers(ptyDir: string): string[];
41
+ /**
42
+ * Adds the execute bit to every `spawn-helper` missing it.
43
+ *
44
+ * @param ptyDir - node-pty package root; resolved automatically when omitted.
45
+ * @returns Paths actually changed (empty when nothing needed repair, or node-pty
46
+ * is missing, or the files are not writable).
47
+ */
48
+ export declare function repairSpawnHelperPermissions(ptyDir?: string): string[];
49
+ /**
50
+ * Runs a `pty.spawn()` call, repairing a non-executable spawn-helper and
51
+ * retrying once if that is why it failed.
52
+ *
53
+ * Any unrelated spawn error is rethrown untouched, so this stays invisible on
54
+ * every platform but a broken macOS install.
55
+ *
56
+ * @param spawn - The `pty.spawn(...)` call to run.
57
+ * @param ptyDir - node-pty package root; resolved automatically when omitted.
58
+ */
59
+ export declare function spawnPtyWithHelperRepair<T>(spawn: () => T, ptyDir?: string): T;
60
+ /** Test seam: forget that a repair was already attempted in this process. */
61
+ export declare function resetSpawnHelperRepairState(): void;
62
+ //# sourceMappingURL=node-pty-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-pty-repair.d.ts","sourceRoot":"","sources":["../../src/utils/node-pty-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,QAE+B,CAAC;AAKlE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED,sFAAsF;AACtF,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAc9C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAezD;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBtE;AAQD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAkB9E;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @fileoverview Runtime self-heal for node-pty's macOS `spawn-helper`.
3
+ *
4
+ * node-pty@1.1.0 ships its macOS prebuilt helper as
5
+ * `prebuilds/darwin-<arch>/spawn-helper` with mode 0644 (no execute bit). On
6
+ * macOS every PTY is launched through that helper via posix_spawnp, so a
7
+ * non-executable helper turns every session start into
8
+ * `Error: posix_spawnp failed.` (issues #6 and #204). The bug is macOS-only:
9
+ * `spawn-helper` is an `OS=="mac"` gyp target and pty.cc only spawns it under
10
+ * `#if defined(__APPLE__)`, and node-pty ships no Linux prebuild, so Linux always
11
+ * compiles a correctly-permissioned helper from source.
12
+ *
13
+ * `scripts/fix-node-pty.mjs` fixes this at install time. This module is the
14
+ * safety net for installs that are already broken: the first PTY spawn that
15
+ * fails this way is repaired and retried in-process, so the user never sees a
16
+ * dead session. If the retry still fails, the thrown error carries the manual
17
+ * repair command instead of a bare "posix_spawnp failed".
18
+ *
19
+ * @module utils/node-pty-repair
20
+ */
21
+ import { chmodSync, existsSync, readdirSync, statSync } from 'node:fs';
22
+ import { createRequire } from 'node:module';
23
+ import { dirname, join } from 'node:path';
24
+ const require = createRequire(import.meta.url);
25
+ /** The one-line fix appended to errors we could not repair automatically. */
26
+ export const SPAWN_HELPER_FIX_HINT = 'node-pty cannot execute its spawn-helper. Repair it with: npm run fix:node-pty ' +
27
+ '(or: chmod +x node_modules/node-pty/prebuilds/*/spawn-helper)';
28
+ /** Set once a repair has been attempted, so a genuinely broken install cannot chmod-storm. */
29
+ let repairAttempted = false;
30
+ /**
31
+ * True when an error is node-pty failing to launch its spawn-helper.
32
+ *
33
+ * The native throw site is `throw Napi::Error::New(napiEnv, "posix_spawnp failed.")`
34
+ * in pty.cc, reached only on Apple platforms.
35
+ */
36
+ export function isSpawnHelperFailure(err) {
37
+ const message = err instanceof Error ? err.message : String(err ?? '');
38
+ return /posix_spawnp|spawn-helper/i.test(message);
39
+ }
40
+ /** Locates the installed node-pty package root, or null when it can't be resolved. */
41
+ export function findNodePtyDir() {
42
+ // node-pty declares no "exports" map, so the package.json subpath resolves and
43
+ // lands on the package root. require.resolve('node-pty') would return
44
+ // <pkg>/lib/index.js, one level deeper than callers need.
45
+ try {
46
+ return dirname(require.resolve('node-pty/package.json'));
47
+ }
48
+ catch {
49
+ /* fall through */
50
+ }
51
+ try {
52
+ return join(dirname(require.resolve('node-pty')), '..');
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
58
+ /**
59
+ * Lists every `spawn-helper` present in a node-pty install.
60
+ *
61
+ * node-pty's loader checks `build/Release`, `build/Debug`, then
62
+ * `prebuilds/<platform>-<arch>`, and takes the helper from whichever directory
63
+ * the native module loaded out of, so every copy has to be executable, not just
64
+ * the one this machine happens to use.
65
+ */
66
+ export function listSpawnHelpers(ptyDir) {
67
+ const dirs = [join(ptyDir, 'build', 'Release'), join(ptyDir, 'build', 'Debug')];
68
+ const prebuilds = join(ptyDir, 'prebuilds');
69
+ if (existsSync(prebuilds)) {
70
+ try {
71
+ for (const entry of readdirSync(prebuilds, { withFileTypes: true })) {
72
+ if (entry.isDirectory())
73
+ dirs.push(join(prebuilds, entry.name));
74
+ }
75
+ }
76
+ catch {
77
+ /* unreadable prebuilds dir: nothing to repair there */
78
+ }
79
+ }
80
+ return dirs.map((d) => join(d, 'spawn-helper')).filter((p) => existsSync(p));
81
+ }
82
+ /**
83
+ * Adds the execute bit to every `spawn-helper` missing it.
84
+ *
85
+ * @param ptyDir - node-pty package root; resolved automatically when omitted.
86
+ * @returns Paths actually changed (empty when nothing needed repair, or node-pty
87
+ * is missing, or the files are not writable).
88
+ */
89
+ export function repairSpawnHelperPermissions(ptyDir) {
90
+ const dir = ptyDir ?? findNodePtyDir();
91
+ if (!dir)
92
+ return [];
93
+ const repaired = [];
94
+ for (const helper of listSpawnHelpers(dir)) {
95
+ try {
96
+ const mode = statSync(helper).mode & 0o777;
97
+ if ((mode & 0o111) === 0o111)
98
+ continue;
99
+ chmodSync(helper, mode | 0o755);
100
+ repaired.push(helper);
101
+ }
102
+ catch {
103
+ // Read-only install (or not ours to chmod): fall through to the hint.
104
+ }
105
+ }
106
+ return repaired;
107
+ }
108
+ /** Wraps an error so the message carries the actionable repair command. */
109
+ function withFixHint(err) {
110
+ const message = err instanceof Error ? err.message : String(err);
111
+ return new Error(`${message}. ${SPAWN_HELPER_FIX_HINT}`, { cause: err });
112
+ }
113
+ /**
114
+ * Runs a `pty.spawn()` call, repairing a non-executable spawn-helper and
115
+ * retrying once if that is why it failed.
116
+ *
117
+ * Any unrelated spawn error is rethrown untouched, so this stays invisible on
118
+ * every platform but a broken macOS install.
119
+ *
120
+ * @param spawn - The `pty.spawn(...)` call to run.
121
+ * @param ptyDir - node-pty package root; resolved automatically when omitted.
122
+ */
123
+ export function spawnPtyWithHelperRepair(spawn, ptyDir) {
124
+ try {
125
+ return spawn();
126
+ }
127
+ catch (err) {
128
+ if (!isSpawnHelperFailure(err))
129
+ throw err;
130
+ if (repairAttempted)
131
+ throw withFixHint(err);
132
+ repairAttempted = true;
133
+ const repaired = repairSpawnHelperPermissions(ptyDir);
134
+ if (repaired.length === 0)
135
+ throw withFixHint(err);
136
+ console.warn(`[node-pty] spawn-helper was not executable, repaired ${repaired.join(', ')} and retrying`);
137
+ try {
138
+ return spawn();
139
+ }
140
+ catch (retryErr) {
141
+ throw withFixHint(retryErr);
142
+ }
143
+ }
144
+ }
145
+ /** Test seam: forget that a repair was already attempted in this process. */
146
+ export function resetSpawnHelperRepairState() {
147
+ repairAttempted = false;
148
+ }
149
+ //# sourceMappingURL=node-pty-repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-pty-repair.js","sourceRoot":"","sources":["../../src/utils/node-pty-repair.ts"],"names":[],"mappings":"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"}
Binary file