codesift-mcp 0.10.2 → 0.12.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 (389) hide show
  1. package/dist/cache/hono-cache.d.ts.map +1 -1
  2. package/dist/cli/commands.d.ts.map +1 -1
  3. package/dist/cli/commands.js +91 -6
  4. package/dist/cli/commands.js.map +1 -1
  5. package/dist/cli/embed-child.js +3 -0
  6. package/dist/cli/embed-child.js.map +1 -1
  7. package/dist/cli/git-hooks-installer.js.map +1 -1
  8. package/dist/cli/help.d.ts +1 -1
  9. package/dist/cli/help.d.ts.map +1 -1
  10. package/dist/cli/help.js +22 -0
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
  13. package/dist/cli/hooks/pre-tool-use.js +182 -7
  14. package/dist/cli/hooks/pre-tool-use.js.map +1 -1
  15. package/dist/cli/hooks/shared.d.ts.map +1 -1
  16. package/dist/cli/hooks/shared.js +6 -1
  17. package/dist/cli/hooks/shared.js.map +1 -1
  18. package/dist/cli/orphan-guard.d.ts +34 -0
  19. package/dist/cli/orphan-guard.d.ts.map +1 -0
  20. package/dist/cli/orphan-guard.js +52 -0
  21. package/dist/cli/orphan-guard.js.map +1 -0
  22. package/dist/cli/service.d.ts +133 -0
  23. package/dist/cli/service.d.ts.map +1 -0
  24. package/dist/cli/service.js +317 -0
  25. package/dist/cli/service.js.map +1 -0
  26. package/dist/cli/setup/codex.js +1 -1
  27. package/dist/cli/setup/codex.js.map +1 -1
  28. package/dist/cli/setup/fs.js.map +1 -1
  29. package/dist/cli/setup/mcp.d.ts +24 -1
  30. package/dist/cli/setup/mcp.d.ts.map +1 -1
  31. package/dist/cli/setup/mcp.js +33 -5
  32. package/dist/cli/setup/mcp.js.map +1 -1
  33. package/dist/cli/setup/types.d.ts +5 -0
  34. package/dist/cli/setup/types.d.ts.map +1 -1
  35. package/dist/cli/setup.d.ts.map +1 -1
  36. package/dist/cli/telemetry-commands.js.map +1 -1
  37. package/dist/cli.js.map +1 -1
  38. package/dist/config.d.ts +2 -0
  39. package/dist/config.d.ts.map +1 -1
  40. package/dist/config.js +5 -0
  41. package/dist/config.js.map +1 -1
  42. package/dist/formatter-dispatch.d.ts.map +1 -1
  43. package/dist/instructions.d.ts +1 -1
  44. package/dist/instructions.d.ts.map +1 -1
  45. package/dist/instructions.js +1 -0
  46. package/dist/instructions.js.map +1 -1
  47. package/dist/lsp/lsp-client.d.ts.map +1 -1
  48. package/dist/lsp/lsp-client.js.map +1 -1
  49. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  50. package/dist/lsp/lsp-tools.d.ts.map +1 -1
  51. package/dist/lsp/lsp-tools.js +21 -1
  52. package/dist/lsp/lsp-tools.js.map +1 -1
  53. package/dist/parser/astro-template/state.d.ts.map +1 -1
  54. package/dist/parser/extractors/_shared.d.ts +4 -4
  55. package/dist/parser/extractors/_shared.d.ts.map +1 -1
  56. package/dist/parser/extractors/_shared.js.map +1 -1
  57. package/dist/parser/extractors/conversation.js.map +1 -1
  58. package/dist/parser/extractors/go.d.ts +2 -2
  59. package/dist/parser/extractors/go.d.ts.map +1 -1
  60. package/dist/parser/extractors/go.js.map +1 -1
  61. package/dist/parser/extractors/gradle-kts.d.ts +2 -2
  62. package/dist/parser/extractors/gradle-kts.d.ts.map +1 -1
  63. package/dist/parser/extractors/gradle-kts.js.map +1 -1
  64. package/dist/parser/extractors/hono-app-discovery.d.ts +2 -2
  65. package/dist/parser/extractors/hono-app-discovery.d.ts.map +1 -1
  66. package/dist/parser/extractors/hono-app-discovery.js.map +1 -1
  67. package/dist/parser/extractors/hono-ast-utils.d.ts +4 -4
  68. package/dist/parser/extractors/hono-ast-utils.d.ts.map +1 -1
  69. package/dist/parser/extractors/hono-ast-utils.js.map +1 -1
  70. package/dist/parser/extractors/hono-context-extractor.d.ts +2 -2
  71. package/dist/parser/extractors/hono-context-extractor.d.ts.map +1 -1
  72. package/dist/parser/extractors/hono-context-extractor.js.map +1 -1
  73. package/dist/parser/extractors/hono-inline-analyzer.d.ts +2 -2
  74. package/dist/parser/extractors/hono-inline-analyzer.d.ts.map +1 -1
  75. package/dist/parser/extractors/hono-inline-analyzer.js.map +1 -1
  76. package/dist/parser/extractors/hono-middleware-extractor.d.ts +2 -2
  77. package/dist/parser/extractors/hono-middleware-extractor.d.ts.map +1 -1
  78. package/dist/parser/extractors/hono-middleware-extractor.js.map +1 -1
  79. package/dist/parser/extractors/hono-openapi-extractor.d.ts +2 -2
  80. package/dist/parser/extractors/hono-openapi-extractor.d.ts.map +1 -1
  81. package/dist/parser/extractors/hono-openapi-extractor.js.map +1 -1
  82. package/dist/parser/extractors/hono-route-extractor.d.ts +2 -2
  83. package/dist/parser/extractors/hono-route-extractor.d.ts.map +1 -1
  84. package/dist/parser/extractors/hono-route-extractor.js.map +1 -1
  85. package/dist/parser/extractors/hono-route-utils.d.ts +2 -2
  86. package/dist/parser/extractors/hono-route-utils.d.ts.map +1 -1
  87. package/dist/parser/extractors/hono-route-utils.js.map +1 -1
  88. package/dist/parser/extractors/hono-runtime-extractor.d.ts +2 -2
  89. package/dist/parser/extractors/hono-runtime-extractor.d.ts.map +1 -1
  90. package/dist/parser/extractors/hono-runtime-extractor.js.map +1 -1
  91. package/dist/parser/extractors/hono.d.ts.map +1 -1
  92. package/dist/parser/extractors/hono.js.map +1 -1
  93. package/dist/parser/extractors/javascript.d.ts +2 -2
  94. package/dist/parser/extractors/javascript.d.ts.map +1 -1
  95. package/dist/parser/extractors/javascript.js.map +1 -1
  96. package/dist/parser/extractors/kotlin-ast-helpers.d.ts +9 -9
  97. package/dist/parser/extractors/kotlin-ast-helpers.d.ts.map +1 -1
  98. package/dist/parser/extractors/kotlin-ast-helpers.js.map +1 -1
  99. package/dist/parser/extractors/kotlin-test-symbols.d.ts +4 -4
  100. package/dist/parser/extractors/kotlin-test-symbols.d.ts.map +1 -1
  101. package/dist/parser/extractors/kotlin-test-symbols.js.map +1 -1
  102. package/dist/parser/extractors/kotlin.d.ts +2 -2
  103. package/dist/parser/extractors/kotlin.d.ts.map +1 -1
  104. package/dist/parser/extractors/kotlin.js.map +1 -1
  105. package/dist/parser/extractors/php.d.ts +2 -2
  106. package/dist/parser/extractors/php.d.ts.map +1 -1
  107. package/dist/parser/extractors/php.js.map +1 -1
  108. package/dist/parser/extractors/python.d.ts +2 -2
  109. package/dist/parser/extractors/python.d.ts.map +1 -1
  110. package/dist/parser/extractors/python.js.map +1 -1
  111. package/dist/parser/extractors/rust.d.ts +2 -2
  112. package/dist/parser/extractors/rust.d.ts.map +1 -1
  113. package/dist/parser/extractors/rust.js.map +1 -1
  114. package/dist/parser/extractors/sql-boundaries.js.map +1 -1
  115. package/dist/parser/extractors/typescript-cjs-nodes.d.ts +3 -3
  116. package/dist/parser/extractors/typescript-cjs-nodes.d.ts.map +1 -1
  117. package/dist/parser/extractors/typescript-cjs-nodes.js.map +1 -1
  118. package/dist/parser/extractors/typescript-class-nodes.d.ts +6 -6
  119. package/dist/parser/extractors/typescript-class-nodes.d.ts.map +1 -1
  120. package/dist/parser/extractors/typescript-class-nodes.js.map +1 -1
  121. package/dist/parser/extractors/typescript-declaration-nodes.d.ts +3 -3
  122. package/dist/parser/extractors/typescript-declaration-nodes.d.ts.map +1 -1
  123. package/dist/parser/extractors/typescript-declaration-nodes.js.map +1 -1
  124. package/dist/parser/extractors/typescript-module-nodes.d.ts +4 -4
  125. package/dist/parser/extractors/typescript-module-nodes.d.ts.map +1 -1
  126. package/dist/parser/extractors/typescript-module-nodes.js.map +1 -1
  127. package/dist/parser/extractors/typescript-react.d.ts +6 -6
  128. package/dist/parser/extractors/typescript-react.d.ts.map +1 -1
  129. package/dist/parser/extractors/typescript-react.js.map +1 -1
  130. package/dist/parser/extractors/typescript-shared.d.ts +8 -8
  131. package/dist/parser/extractors/typescript-shared.d.ts.map +1 -1
  132. package/dist/parser/extractors/typescript-shared.js.map +1 -1
  133. package/dist/parser/extractors/typescript-test-nodes.d.ts +2 -2
  134. package/dist/parser/extractors/typescript-test-nodes.d.ts.map +1 -1
  135. package/dist/parser/extractors/typescript-test-nodes.js.map +1 -1
  136. package/dist/parser/extractors/typescript-type-nodes.d.ts +4 -4
  137. package/dist/parser/extractors/typescript-type-nodes.d.ts.map +1 -1
  138. package/dist/parser/extractors/typescript-type-nodes.js.map +1 -1
  139. package/dist/parser/extractors/typescript.d.ts +2 -2
  140. package/dist/parser/extractors/typescript.d.ts.map +1 -1
  141. package/dist/parser/extractors/typescript.js.map +1 -1
  142. package/dist/parser/parse-cache.d.ts +3 -3
  143. package/dist/parser/parse-cache.d.ts.map +1 -1
  144. package/dist/parser/parse-cache.js.map +1 -1
  145. package/dist/parser/parser-manager.d.ts +3 -2
  146. package/dist/parser/parser-manager.d.ts.map +1 -1
  147. package/dist/parser/parser-manager.js +9 -3
  148. package/dist/parser/parser-manager.js.map +1 -1
  149. package/dist/parser/parser-pool.js.map +1 -1
  150. package/dist/parser/symbol-extractor.d.ts +2 -2
  151. package/dist/parser/symbol-extractor.d.ts.map +1 -1
  152. package/dist/parser/symbol-extractor.js.map +1 -1
  153. package/dist/register-tool-groups/handler-wrappers.d.ts.map +1 -1
  154. package/dist/register-tool-groups/handler-wrappers.js +20 -6
  155. package/dist/register-tool-groups/handler-wrappers.js.map +1 -1
  156. package/dist/register-tool-groups/meta.js.map +1 -1
  157. package/dist/register-tool-groups/shared.d.ts.map +1 -1
  158. package/dist/register-tools/discovery.d.ts +18 -0
  159. package/dist/register-tools/discovery.d.ts.map +1 -1
  160. package/dist/register-tools/discovery.js +63 -0
  161. package/dist/register-tools/discovery.js.map +1 -1
  162. package/dist/register-tools/runtime.d.ts +3 -3
  163. package/dist/register-tools/runtime.d.ts.map +1 -1
  164. package/dist/register-tools/runtime.js +24 -8
  165. package/dist/register-tools/runtime.js.map +1 -1
  166. package/dist/register-tools.d.ts +32 -2
  167. package/dist/register-tools.d.ts.map +1 -1
  168. package/dist/register-tools.js +88 -12
  169. package/dist/register-tools.js.map +1 -1
  170. package/dist/retrieval/codebase-retrieval.js.map +1 -1
  171. package/dist/retrieval/retrieval-schemas.d.ts +13 -13
  172. package/dist/search/semantic.d.ts +6 -4
  173. package/dist/search/semantic.d.ts.map +1 -1
  174. package/dist/search/semantic.js +54 -31
  175. package/dist/search/semantic.js.map +1 -1
  176. package/dist/search/static-embedding-provider.d.ts.map +1 -1
  177. package/dist/search/static-embedding-provider.js.map +1 -1
  178. package/dist/search/tool-embedding-storage.d.ts.map +1 -1
  179. package/dist/search/tool-embedding-storage.js +5 -1
  180. package/dist/search/tool-embedding-storage.js.map +1 -1
  181. package/dist/server-helpers/repo-resolution.d.ts +18 -4
  182. package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
  183. package/dist/server-helpers/repo-resolution.js +72 -12
  184. package/dist/server-helpers/repo-resolution.js.map +1 -1
  185. package/dist/server-helpers/request-context.d.ts +59 -0
  186. package/dist/server-helpers/request-context.d.ts.map +1 -0
  187. package/dist/server-helpers/request-context.js +31 -0
  188. package/dist/server-helpers/request-context.js.map +1 -0
  189. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  190. package/dist/server-helpers/response-hints.js +42 -0
  191. package/dist/server-helpers/response-hints.js.map +1 -1
  192. package/dist/server.d.ts +1 -11
  193. package/dist/server.d.ts.map +1 -1
  194. package/dist/server.js +97 -70
  195. package/dist/server.js.map +1 -1
  196. package/dist/storage/_shared.d.ts +15 -0
  197. package/dist/storage/_shared.d.ts.map +1 -1
  198. package/dist/storage/_shared.js +39 -2
  199. package/dist/storage/_shared.js.map +1 -1
  200. package/dist/storage/chunk-store.d.ts.map +1 -1
  201. package/dist/storage/chunk-store.js +38 -6
  202. package/dist/storage/chunk-store.js.map +1 -1
  203. package/dist/storage/embedding-store.d.ts +14 -5
  204. package/dist/storage/embedding-store.d.ts.map +1 -1
  205. package/dist/storage/embedding-store.js +48 -3
  206. package/dist/storage/embedding-store.js.map +1 -1
  207. package/dist/storage/index-store.d.ts +2 -0
  208. package/dist/storage/index-store.d.ts.map +1 -1
  209. package/dist/storage/index-store.js +101 -22
  210. package/dist/storage/index-store.js.map +1 -1
  211. package/dist/storage/registry.d.ts.map +1 -1
  212. package/dist/storage/registry.js +48 -19
  213. package/dist/storage/registry.js.map +1 -1
  214. package/dist/storage/telemetry/env-profile.js.map +1 -1
  215. package/dist/storage/usage-tracker.d.ts +13 -0
  216. package/dist/storage/usage-tracker.d.ts.map +1 -1
  217. package/dist/storage/usage-tracker.js +58 -4
  218. package/dist/storage/usage-tracker.js.map +1 -1
  219. package/dist/tools/agent-config-tools.js.map +1 -1
  220. package/dist/tools/ast-query-tools.d.ts.map +1 -1
  221. package/dist/tools/ast-query-tools.js +12 -2
  222. package/dist/tools/ast-query-tools.js.map +1 -1
  223. package/dist/tools/astro-actions/ast.d.ts +7 -7
  224. package/dist/tools/astro-actions/ast.d.ts.map +1 -1
  225. package/dist/tools/astro-actions/ast.js.map +1 -1
  226. package/dist/tools/astro-actions/parser.d.ts.map +1 -1
  227. package/dist/tools/astro-actions/parser.js +3 -0
  228. package/dist/tools/astro-actions/parser.js.map +1 -1
  229. package/dist/tools/astro-actions/types.d.ts.map +1 -1
  230. package/dist/tools/astro-actions/zod-ast.d.ts +3 -3
  231. package/dist/tools/astro-actions/zod-ast.d.ts.map +1 -1
  232. package/dist/tools/astro-actions/zod-ast.js.map +1 -1
  233. package/dist/tools/astro-audit.js.map +1 -1
  234. package/dist/tools/astro-config.d.ts.map +1 -1
  235. package/dist/tools/astro-config.js +3 -0
  236. package/dist/tools/astro-config.js.map +1 -1
  237. package/dist/tools/astro-content-collections/discovery.d.ts +2 -2
  238. package/dist/tools/astro-content-collections/discovery.d.ts.map +1 -1
  239. package/dist/tools/astro-content-collections/discovery.js.map +1 -1
  240. package/dist/tools/astro-content-collections/schema.d.ts +2 -2
  241. package/dist/tools/astro-content-collections/schema.d.ts.map +1 -1
  242. package/dist/tools/astro-content-collections/schema.js.map +1 -1
  243. package/dist/tools/astro-content-collections.d.ts.map +1 -1
  244. package/dist/tools/astro-content-collections.js +5 -1
  245. package/dist/tools/astro-content-collections.js.map +1 -1
  246. package/dist/tools/astro-db-audit.d.ts.map +1 -1
  247. package/dist/tools/astro-db-audit.js +8 -0
  248. package/dist/tools/astro-db-audit.js.map +1 -1
  249. package/dist/tools/astro-db-parser.d.ts.map +1 -1
  250. package/dist/tools/astro-db-parser.js +3 -0
  251. package/dist/tools/astro-db-parser.js.map +1 -1
  252. package/dist/tools/astro-env-validator.d.ts.map +1 -1
  253. package/dist/tools/astro-env-validator.js +4 -0
  254. package/dist/tools/astro-env-validator.js.map +1 -1
  255. package/dist/tools/astro-helpers.d.ts +6 -6
  256. package/dist/tools/astro-helpers.d.ts.map +1 -1
  257. package/dist/tools/astro-helpers.js.map +1 -1
  258. package/dist/tools/astro-middleware.d.ts.map +1 -1
  259. package/dist/tools/astro-middleware.js +4 -0
  260. package/dist/tools/astro-middleware.js.map +1 -1
  261. package/dist/tools/astro-sessions.d.ts.map +1 -1
  262. package/dist/tools/astro-sessions.js +4 -0
  263. package/dist/tools/astro-sessions.js.map +1 -1
  264. package/dist/tools/complexity-tools.d.ts.map +1 -1
  265. package/dist/tools/complexity-tools.js +51 -15
  266. package/dist/tools/complexity-tools.js.map +1 -1
  267. package/dist/tools/context-tools.js.map +1 -1
  268. package/dist/tools/cross-repo-outbound-lexer/context.d.ts.map +1 -1
  269. package/dist/tools/cross-repo-outbound-lexer/context.js.map +1 -1
  270. package/dist/tools/dependency-audit-lockfile-tools.js.map +1 -1
  271. package/dist/tools/hono-api-contract.js.map +1 -1
  272. package/dist/tools/hono-visualize.js.map +1 -1
  273. package/dist/tools/index-shared.d.ts.map +1 -1
  274. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  275. package/dist/tools/index-tools/folder-indexer.js +29 -1
  276. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  277. package/dist/tools/index-tools/folder-merge.d.ts.map +1 -1
  278. package/dist/tools/index-tools/folder-merge.js +47 -1
  279. package/dist/tools/index-tools/folder-merge.js.map +1 -1
  280. package/dist/tools/index-tools/parse.d.ts.map +1 -1
  281. package/dist/tools/index-tools/parse.js +6 -2
  282. package/dist/tools/index-tools/parse.js.map +1 -1
  283. package/dist/tools/index-tools/registry.d.ts.map +1 -1
  284. package/dist/tools/index-tools/registry.js +32 -2
  285. package/dist/tools/index-tools/registry.js.map +1 -1
  286. package/dist/tools/index-tools/snapshots.js.map +1 -1
  287. package/dist/tools/index-tools/types.d.ts +7 -0
  288. package/dist/tools/index-tools/types.d.ts.map +1 -1
  289. package/dist/tools/insights-tools.js.map +1 -1
  290. package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
  291. package/dist/tools/journal-generator-helpers.js.map +1 -1
  292. package/dist/tools/journal-git-client.js.map +1 -1
  293. package/dist/tools/journal-llm-client.d.ts.map +1 -1
  294. package/dist/tools/journal-llm-client.js.map +1 -1
  295. package/dist/tools/journal-migrator.d.ts.map +1 -1
  296. package/dist/tools/journal-phase-detector.d.ts.map +1 -1
  297. package/dist/tools/journal-sentinel.d.ts.map +1 -1
  298. package/dist/tools/nest-audit-tools.js.map +1 -1
  299. package/dist/tools/nest-ext-tools.js.map +1 -1
  300. package/dist/tools/nextjs-api-contract-readers.d.ts +5 -5
  301. package/dist/tools/nextjs-api-contract-readers.d.ts.map +1 -1
  302. package/dist/tools/nextjs-api-contract-readers.js.map +1 -1
  303. package/dist/tools/nextjs-boundary-tools.d.ts +2 -2
  304. package/dist/tools/nextjs-boundary-tools.d.ts.map +1 -1
  305. package/dist/tools/nextjs-boundary-tools.js.map +1 -1
  306. package/dist/tools/nextjs-component-readers.d.ts +3 -3
  307. package/dist/tools/nextjs-component-readers.d.ts.map +1 -1
  308. package/dist/tools/nextjs-component-readers.js.map +1 -1
  309. package/dist/tools/nextjs-framework-audit-tools.js.map +1 -1
  310. package/dist/tools/nextjs-metadata-tools.d.ts.map +1 -1
  311. package/dist/tools/nextjs-route-readers.d.ts +2 -2
  312. package/dist/tools/nextjs-route-readers.d.ts.map +1 -1
  313. package/dist/tools/nextjs-route-readers.js.map +1 -1
  314. package/dist/tools/nextjs-security-readers.d.ts +6 -6
  315. package/dist/tools/nextjs-security-readers.d.ts.map +1 -1
  316. package/dist/tools/nextjs-security-readers.js.map +1 -1
  317. package/dist/tools/pg-introspection.js.map +1 -1
  318. package/dist/tools/php-active-record-tools.js.map +1 -1
  319. package/dist/tools/php-view-tools.js.map +1 -1
  320. package/dist/tools/plan-turn/orchestrator.d.ts.map +1 -1
  321. package/dist/tools/plan-turn/orchestrator.js +14 -4
  322. package/dist/tools/plan-turn/orchestrator.js.map +1 -1
  323. package/dist/tools/plan-turn/recommendations.js +2 -2
  324. package/dist/tools/plan-turn/recommendations.js.map +1 -1
  325. package/dist/tools/project-profile-extractors.js.map +1 -1
  326. package/dist/tools/project-tools.d.ts.map +1 -1
  327. package/dist/tools/project-tools.js.map +1 -1
  328. package/dist/tools/pydantic-models.js.map +1 -1
  329. package/dist/tools/python-audit/aggregate.js.map +1 -1
  330. package/dist/tools/python-circular-imports.d.ts.map +1 -1
  331. package/dist/tools/python-circular-imports.js +3 -0
  332. package/dist/tools/python-circular-imports.js.map +1 -1
  333. package/dist/tools/python-constants-tools.d.ts.map +1 -1
  334. package/dist/tools/python-constants-tools.js +14 -0
  335. package/dist/tools/python-constants-tools.js.map +1 -1
  336. package/dist/tools/query-tools.js.map +1 -1
  337. package/dist/tools/review-diff/constants.d.ts.map +1 -1
  338. package/dist/tools/search-tools/ripgrep.d.ts.map +1 -1
  339. package/dist/tools/search-tools/ripgrep.js +32 -2
  340. package/dist/tools/search-tools/ripgrep.js.map +1 -1
  341. package/dist/tools/search-tools/text-search.js.map +1 -1
  342. package/dist/tools/taint-tools.d.ts.map +1 -1
  343. package/dist/tools/taint-tools.js +4 -0
  344. package/dist/tools/taint-tools.js.map +1 -1
  345. package/dist/tools/typescript-constants-tools.d.ts.map +1 -1
  346. package/dist/tools/typescript-constants-tools.js +14 -0
  347. package/dist/tools/typescript-constants-tools.js.map +1 -1
  348. package/dist/tools/wiki-manifest.js.map +1 -1
  349. package/dist/tools/workspace-tools.d.ts.map +1 -1
  350. package/dist/tools/yii-migrations-tools.js.map +1 -1
  351. package/dist/tools/yii-modules-tools.js.map +1 -1
  352. package/dist/utils/git-head.js.map +1 -1
  353. package/dist/utils/git-validation.d.ts.map +1 -1
  354. package/dist/utils/import-graph.d.ts.map +1 -1
  355. package/dist/utils/import-graph.js +10 -0
  356. package/dist/utils/import-graph.js.map +1 -1
  357. package/dist/utils/language-detect.d.ts.map +1 -1
  358. package/dist/utils/language-detect.js +6 -3
  359. package/dist/utils/language-detect.js.map +1 -1
  360. package/dist/utils/nextjs-ast-readers.d.ts +3 -3
  361. package/dist/utils/nextjs-ast-readers.d.ts.map +1 -1
  362. package/dist/utils/nextjs-ast-readers.js.map +1 -1
  363. package/dist/utils/nextjs-audit-cache.d.ts +3 -3
  364. package/dist/utils/nextjs-audit-cache.d.ts.map +1 -1
  365. package/dist/utils/nextjs-audit-cache.js.map +1 -1
  366. package/dist/utils/nextjs-metadata-readers.d.ts +4 -4
  367. package/dist/utils/nextjs-metadata-readers.d.ts.map +1 -1
  368. package/dist/utils/nextjs-metadata-readers.js.map +1 -1
  369. package/dist/utils/overlay-cache.d.ts.map +1 -1
  370. package/dist/utils/overlay-cache.js.map +1 -1
  371. package/dist/utils/python-imports.d.ts +2 -2
  372. package/dist/utils/python-imports.d.ts.map +1 -1
  373. package/dist/utils/python-imports.js.map +1 -1
  374. package/dist/utils/ts-imports.d.ts +2 -2
  375. package/dist/utils/ts-imports.d.ts.map +1 -1
  376. package/dist/utils/ts-imports.js.map +1 -1
  377. package/dist/utils/walk/filters.d.ts.map +1 -1
  378. package/dist/utils/walk/filters.js +22 -1
  379. package/dist/utils/walk/filters.js.map +1 -1
  380. package/dist/utils/walk/limits.d.ts.map +1 -1
  381. package/dist/utils/worktree.d.ts +60 -0
  382. package/dist/utils/worktree.d.ts.map +1 -0
  383. package/dist/utils/worktree.js +170 -0
  384. package/dist/utils/worktree.js.map +1 -0
  385. package/package.json +13 -7
  386. package/rules/codesift.md +5 -1
  387. package/rules/codesift.mdc +5 -1
  388. package/rules/codex.md +5 -1
  389. package/rules/gemini.md +5 -1
@@ -134,16 +134,191 @@ export async function handlePrecheckRead() {
134
134
  process.exit(0);
135
135
  }
136
136
  }
137
+ /** Wrapper commands that precede the real command word (`sudo rg`, `xargs -0 rg`). */
138
+ const COMMAND_PREFIXES = new Set([
139
+ "sudo", "env", "time", "command", "nohup", "nice", "stdbuf", "exec", "builtin", "xargs",
140
+ "if", "elif", "then", "else", "while", "until", "do", "!",
141
+ ]);
142
+ /**
143
+ * Lex a command line into segments, each starting at a command position.
144
+ *
145
+ * A regex over the raw string cannot do this correctly, and the two failure
146
+ * modes both showed up in practice:
147
+ *
148
+ * - Quoted text was treated as shell code, so any command that merely MENTIONS
149
+ * a search tool got intercepted — `echo "use rg instead"`, or a python/node
150
+ * analysis script passed via `-c`/heredoc whose source contains `'rg'`.
151
+ * - Flags were matched across the whole line, so `grep -ic x "$f" | sort -rn`
152
+ * read as a recursive grep because of `sort`'s `-rn`.
153
+ *
154
+ * Quoted regions therefore stay inert for separator splitting but keep their
155
+ * text (so `"rg" "TODO"` is still recognised as ripgrep). UNQUOTED command
156
+ * substitutions (`$(...)`, backticks) split into their own segment so the inner
157
+ * command is still checked. Heredoc bodies are skipped entirely — they are
158
+ * data, not commands.
159
+ *
160
+ * Known limit: a substitution nested INSIDE double quotes (`echo "$(rg x)"`) is
161
+ * consumed as one quoted token, so the inner command is not inspected. That is
162
+ * an accepted under-block: this hook is a nudge toward CodeSift, not a security
163
+ * boundary, and the costly direction is over-blocking — a false deny stops
164
+ * legitimate work, a missed nudge only means the agent used grep.
165
+ */
166
+ function lexShellSegments(cmd) {
167
+ const segments = [];
168
+ let segment = [];
169
+ let text = "";
170
+ let quoted = false;
171
+ let started = false;
172
+ const endToken = () => {
173
+ if (!started)
174
+ return;
175
+ segment.push({ text, quoted });
176
+ text = "";
177
+ quoted = false;
178
+ started = false;
179
+ };
180
+ const endSegment = () => {
181
+ endToken();
182
+ if (segment.length > 0)
183
+ segments.push(segment);
184
+ segment = [];
185
+ };
186
+ let i = 0;
187
+ while (i < cmd.length) {
188
+ const ch = cmd[i];
189
+ // Herestring (`<<<WORD`) is NOT a heredoc and has no body. Without this the
190
+ // scanner skips the first `<`, then reads the remaining `<<WORD` as a
191
+ // heredoc open, finds no closing `WORD` line, and swallows the REST OF THE
192
+ // COMMAND as body — so `cat <<<EOF; rg "TODO" src/` silently under-blocks.
193
+ if (ch === "<" && cmd[i + 1] === "<" && cmd[i + 2] === "<") {
194
+ endToken();
195
+ i += 3;
196
+ continue;
197
+ }
198
+ // Heredoc (`<<EOF`, `<<-EOF`, `<<'EOF'`) — skip the redirect and its body.
199
+ if (ch === "<" && cmd[i + 1] === "<") {
200
+ const marker = /^<<-?\s*(['"]?)([A-Za-z_][A-Za-z0-9_]*)\1/.exec(cmd.slice(i));
201
+ if (marker) {
202
+ endToken();
203
+ i += marker[0].length;
204
+ const rest = cmd.slice(i);
205
+ const end = new RegExp(`\\n[ \\t]*${marker[2]}[ \\t]*(?:\\n|$)`).exec(rest);
206
+ i += end ? end.index + end[0].length : rest.length;
207
+ continue;
208
+ }
209
+ }
210
+ if (ch === "'") {
211
+ started = true;
212
+ quoted = true;
213
+ i++;
214
+ while (i < cmd.length && cmd[i] !== "'") {
215
+ text += cmd[i];
216
+ i++;
217
+ }
218
+ i++;
219
+ continue;
220
+ }
221
+ if (ch === '"') {
222
+ started = true;
223
+ quoted = true;
224
+ i++;
225
+ while (i < cmd.length && cmd[i] !== '"') {
226
+ if (cmd[i] === "\\" && i + 1 < cmd.length) {
227
+ text += cmd[i + 1];
228
+ i += 2;
229
+ continue;
230
+ }
231
+ text += cmd[i];
232
+ i++;
233
+ }
234
+ i++;
235
+ continue;
236
+ }
237
+ if (ch === "\\" && i + 1 < cmd.length) {
238
+ started = true;
239
+ text += cmd[i + 1];
240
+ i += 2;
241
+ continue;
242
+ }
243
+ if (ch === "\n") {
244
+ endSegment();
245
+ i++;
246
+ continue;
247
+ }
248
+ if (/\s/.test(ch)) {
249
+ endToken();
250
+ i++;
251
+ continue;
252
+ }
253
+ // Backtick substitution splits like `$(...)` does. Without this the tick
254
+ // glues onto the command word (`` `grep `` != `grep`) and the whole
255
+ // invocation slips past unrecognised.
256
+ if (ch === ";" || ch === "|" || ch === "&" || ch === "(" || ch === ")" || ch === "{" || ch === "}" || ch === "`") {
257
+ endSegment();
258
+ i++;
259
+ continue;
260
+ }
261
+ started = true;
262
+ text += ch;
263
+ i++;
264
+ }
265
+ endSegment();
266
+ return segments;
267
+ }
268
+ /** The command a segment actually invokes, plus its unquoted argument tokens. */
269
+ function segmentInvocation(tokens) {
270
+ let i = 0;
271
+ while (i < tokens.length) {
272
+ const token = tokens[i];
273
+ // Skip `FOO=bar` env assignments and shell/wrapper words like `sudo`, `do`.
274
+ if (/^[A-Za-z_][A-Za-z0-9_]*=/.test(token.text)) {
275
+ i++;
276
+ continue;
277
+ }
278
+ const base = token.text.split("/").pop() ?? token.text;
279
+ if (COMMAND_PREFIXES.has(base)) {
280
+ i++;
281
+ // A wrapper's own flags (`xargs -0 rg`) precede the real command.
282
+ while (i < tokens.length && tokens[i].text.startsWith("-"))
283
+ i++;
284
+ continue;
285
+ }
286
+ return { name: base, args: tokens.slice(i + 1) };
287
+ }
288
+ return null;
289
+ }
290
+ /** Flags only count when they were written unquoted — `grep "x -r y" f` is a pattern. */
291
+ function hasFlag(args, pattern) {
292
+ return args.some((token) => !token.quoted && pattern.test(token.text));
293
+ }
137
294
  function isFileFindCommand(cmd) {
138
- const hasFind = /\bfind\s/.test(cmd);
139
- const hasNameFilter = /\s-i?name\s/.test(cmd);
140
- const hasDestructive = /\s-(?:exec|delete|ok)\b|\brm\s|\bmv\s/.test(cmd);
141
- return hasFind && hasNameFilter && !hasDestructive;
295
+ for (const segment of lexShellSegments(cmd)) {
296
+ const invocation = segmentInvocation(segment);
297
+ if (invocation?.name !== "find")
298
+ continue;
299
+ const hasNameFilter = hasFlag(invocation.args, /^-i?name$/);
300
+ const hasDestructive = hasFlag(invocation.args, /^-(?:exec|delete|ok)$/) ||
301
+ invocation.args.some((token) => !token.quoted && (token.text === "rm" || token.text === "mv"));
302
+ if (hasNameFilter && !hasDestructive)
303
+ return true;
304
+ }
305
+ return false;
142
306
  }
143
307
  function isContentGrepCommand(cmd) {
144
- const hasRecursiveGrep = /\bgrep\b.*(?:\s-\w*[rR]\w*(?:\s|$)|--recursive(?:\s|$))/.test(cmd) && !/\bgit\s+grep\b/.test(cmd);
145
- const hasRg = /(?:^|[\s;&|"'`])(?:[./\w-]+\/)?rg(?=$|[\s;&|"'`])/.test(cmd);
146
- return hasRecursiveGrep || hasRg;
308
+ for (const segment of lexShellSegments(cmd)) {
309
+ const invocation = segmentInvocation(segment);
310
+ if (!invocation)
311
+ continue;
312
+ if (invocation.name === "rg")
313
+ return true;
314
+ // `git grep` lexes as command `git` with args `grep …`, so it never matches
315
+ // here — which is intended: it is repo-aware already and is left alone.
316
+ if (invocation.name !== "grep" && invocation.name !== "egrep")
317
+ continue;
318
+ if (hasFlag(invocation.args, /^--recursive$/) || hasFlag(invocation.args, /^-[A-Za-z]*[rR]/))
319
+ return true;
320
+ }
321
+ return false;
147
322
  }
148
323
  export async function handlePrecheckBash() {
149
324
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/cli/hooks/pre-tool-use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/cli/hooks/pre-tool-use.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAmB9C,CAAC;AAEH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAMrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAyBjD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAoB9C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAS9C"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAmB9C,CAAC;AAEH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAMrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CA8BjD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAoB9C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAS9C"}
@@ -75,7 +75,12 @@ export function isCodesiftServerRunning() {
75
75
  });
76
76
  }
77
77
  catch {
78
- return true; // cannot tell → behave as before, do not silently disable the hooks
78
+ // Fail OPEN, as the contract above promises. This used to `return true`
79
+ // ("assume running"), which inverted it: callers treat true as "server is
80
+ // up" and go on to deny the tool, so an unreadable process table produced
81
+ // exactly the outage this function exists to prevent — the agent loses the
82
+ // native fallback AND has no CodeSift tools to redirect to.
83
+ return false;
79
84
  }
80
85
  }
81
86
  export function isCurrentRepoIndexed() {
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Exit when the process that spawned us goes away.
3
+ *
4
+ * A detached worker whose parent has died is doing work nobody will read.
5
+ * Measured on this machine: two orphaned `embed-child` processes, left behind
6
+ * by indexing runs killed five hours earlier, were still burning 360% and 340%
7
+ * CPU and holding 5.2 GB and 4.4 GB — 700% CPU and 9.7 GB between them, which
8
+ * is what drove the load average past 600. Nothing stopped them because nothing
9
+ * was watching.
10
+ *
11
+ * `server.ts` guards its own process this way already; the CLI's workers did
12
+ * not. This lives in its own module so the guard can be exercised as a real
13
+ * process without importing a worker's side effects.
14
+ *
15
+ * Polls `process.ppid` rather than watching a pipe: these workers are spawned
16
+ * DETACHED, so there is no pipe, and reparenting to launchd/init (ppid 1) is
17
+ * the signal — the same on macOS and Linux.
18
+ */
19
+ /** How often to check. Long enough to be free, short enough to bound the leak. */
20
+ export declare const PARENT_POLL_MS = 5000;
21
+ export interface OrphanGuardOptions {
22
+ /** Override for tests; production uses PARENT_POLL_MS. */
23
+ pollMs?: number;
24
+ /** Injected so a test can observe the decision instead of dying. */
25
+ onOrphaned?: (startingPpid: number, currentPpid: number) => void;
26
+ }
27
+ /**
28
+ * Start watching. Returns a stop function.
29
+ *
30
+ * The timer is `unref`'d: the point is fewer lingering processes, so the guard
31
+ * must never be the thing that keeps one alive.
32
+ */
33
+ export declare function exitWhenOrphaned(options?: OrphanGuardOptions): () => void;
34
+ //# sourceMappingURL=orphan-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-guard.d.ts","sourceRoot":"","sources":["../../src/cli/orphan-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,kFAAkF;AAClF,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,IAAI,CA6B7E"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Exit when the process that spawned us goes away.
3
+ *
4
+ * A detached worker whose parent has died is doing work nobody will read.
5
+ * Measured on this machine: two orphaned `embed-child` processes, left behind
6
+ * by indexing runs killed five hours earlier, were still burning 360% and 340%
7
+ * CPU and holding 5.2 GB and 4.4 GB — 700% CPU and 9.7 GB between them, which
8
+ * is what drove the load average past 600. Nothing stopped them because nothing
9
+ * was watching.
10
+ *
11
+ * `server.ts` guards its own process this way already; the CLI's workers did
12
+ * not. This lives in its own module so the guard can be exercised as a real
13
+ * process without importing a worker's side effects.
14
+ *
15
+ * Polls `process.ppid` rather than watching a pipe: these workers are spawned
16
+ * DETACHED, so there is no pipe, and reparenting to launchd/init (ppid 1) is
17
+ * the signal — the same on macOS and Linux.
18
+ */
19
+ /** How often to check. Long enough to be free, short enough to bound the leak. */
20
+ export const PARENT_POLL_MS = 5_000;
21
+ /**
22
+ * Start watching. Returns a stop function.
23
+ *
24
+ * The timer is `unref`'d: the point is fewer lingering processes, so the guard
25
+ * must never be the thing that keeps one alive.
26
+ */
27
+ export function exitWhenOrphaned(options = {}) {
28
+ const startingPpid = process.ppid;
29
+ const onOrphaned = options.onOrphaned ??
30
+ ((from, now) => {
31
+ process.stderr.write(`[codesift] parent ${from} gone (now ${now}) — exiting rather than orphaning\n`);
32
+ process.exit(0);
33
+ });
34
+ const timer = setInterval(() => {
35
+ const ppid = process.ppid;
36
+ if (ppid === startingPpid && ppid > 1)
37
+ return;
38
+ onOrphaned(startingPpid, ppid);
39
+ }, options.pollMs ?? PARENT_POLL_MS);
40
+ timer.unref();
41
+ const stopOnSignal = () => process.exit(0);
42
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
43
+ process.on(sig, stopOnSignal);
44
+ }
45
+ return () => {
46
+ clearInterval(timer);
47
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
48
+ process.off(sig, stopOnSignal);
49
+ }
50
+ };
51
+ }
52
+ //# sourceMappingURL=orphan-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-guard.js","sourceRoot":"","sources":["../../src/cli/orphan-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AASpC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAuB,EAAE;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;QAClB,CAAC,CAAC,IAAY,EAAE,GAAW,EAAQ,EAAE;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,IAAI,cAAc,GAAG,qCAAqC,CAChF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IAEL,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO;QAC9C,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IACrC,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * `codesift service` — run the shared daemon as a supervised background service.
3
+ *
4
+ * Without this, `codesift serve` is a foreground process: it dies with the
5
+ * terminal that launched it, does not come back after a crash, and is not there
6
+ * after a reboot. Every client is then configured to talk to a daemon that
7
+ * isn't running. Supervision is what makes the shared-daemon model safe to
8
+ * depend on — it turns "one process for everyone" from a single point of
9
+ * failure into a service that restarts itself.
10
+ *
11
+ * macOS gets a per-user LaunchAgent, Linux a systemd *user* unit. Both are
12
+ * per-user and unprivileged by design: nothing here needs root, and a daemon
13
+ * holding every index on the machine is exactly the thing that should not run
14
+ * as root.
15
+ */
16
+ export declare const SERVICE_LABEL = "com.codesift.daemon";
17
+ export declare const DEFAULT_SERVICE_PORT = 7077;
18
+ /**
19
+ * PATH handed to the service.
20
+ *
21
+ * launchd does NOT give an agent the login shell's PATH — it gets a minimal
22
+ * one. CodeSift shells out to `git` (repo detection, churn analysis, diff
23
+ * tools) and optionally to `rg`, so a daemon started by launchd with the
24
+ * default PATH silently loses those features while looking healthy. Homebrew
25
+ * differs by arch (/opt/homebrew on Apple Silicon, /usr/local on Intel), so
26
+ * both are listed.
27
+ */
28
+ export declare const SERVICE_PATH_ENTRIES: string[];
29
+ export interface ServicePlan {
30
+ label: string;
31
+ port: number;
32
+ host: string;
33
+ /** Absolute path to the node binary that will run the daemon. */
34
+ execPath: string;
35
+ /** Absolute path to the codesift CLI entry point. */
36
+ cliPath: string;
37
+ /** Where the unit file goes. */
38
+ unitPath: string;
39
+ stdoutLog: string;
40
+ stderrLog: string;
41
+ dataDir: string;
42
+ }
43
+ /** Escape a string for inclusion in XML text content. */
44
+ export declare function escapeXml(value: string): string;
45
+ /**
46
+ * True for addresses that keep the daemon reachable only from this machine.
47
+ *
48
+ * This matters more than it looks: the daemon answers MCP tool calls that read
49
+ * any indexed repository, so binding it to a routable interface publishes the
50
+ * user's entire source tree — and their indexed conversation history — to
51
+ * anything that can reach the port. There is no authentication by default.
52
+ */
53
+ export declare function isLoopbackHost(host: string): boolean;
54
+ /** Resolve the CLI entry point for the currently running codesift install. */
55
+ export declare function resolveCliPath(): string;
56
+ export declare function buildServicePlan(opts: {
57
+ port?: number;
58
+ host?: string;
59
+ dataDir: string;
60
+ execPath?: string;
61
+ cliPath?: string;
62
+ home?: string;
63
+ os?: NodeJS.Platform;
64
+ }): ServicePlan;
65
+ /**
66
+ * macOS LaunchAgent.
67
+ *
68
+ * `KeepAlive` restarts the daemon whenever it exits for any reason — crash, OOM
69
+ * kill, or a `kill` from a user cleaning up processes. `ThrottleInterval` is the
70
+ * guard that keeps that from becoming a restart storm if the daemon cannot
71
+ * start at all (port taken by something else, corrupt install): launchd waits
72
+ * between attempts instead of spinning. `RunAtLoad` covers login and reboot.
73
+ *
74
+ * To stop it deliberately, unload the agent (`codesift service uninstall`) —
75
+ * killing the process alone just makes launchd start it again, which is the
76
+ * whole point.
77
+ */
78
+ export declare function buildLaunchAgentPlist(plan: ServicePlan): string;
79
+ /** Linux systemd *user* unit — same supervision contract as the LaunchAgent. */
80
+ export declare function buildSystemdUnit(plan: ServicePlan): string;
81
+ export declare function renderUnit(plan: ServicePlan, os: NodeJS.Platform): string;
82
+ export interface InstallResult {
83
+ status: "installed" | "already-installed" | "unsupported";
84
+ unitPath: string;
85
+ url: string;
86
+ activated: boolean;
87
+ note?: string;
88
+ }
89
+ /** Injectable so tests can exercise install/uninstall without touching launchd. */
90
+ export type CommandRunner = (cmd: string, args: string[]) => {
91
+ ok: boolean;
92
+ message: string;
93
+ };
94
+ export declare function installService(opts: {
95
+ port?: number;
96
+ host?: string;
97
+ dataDir: string;
98
+ force?: boolean;
99
+ os?: NodeJS.Platform;
100
+ home?: string;
101
+ runner?: CommandRunner;
102
+ }): InstallResult;
103
+ export declare function uninstallService(opts: {
104
+ dataDir: string;
105
+ os?: NodeJS.Platform;
106
+ home?: string;
107
+ runner?: CommandRunner;
108
+ }): {
109
+ status: "removed" | "not-installed";
110
+ unitPath: string;
111
+ };
112
+ /**
113
+ * Installed / starting / running, kept distinct on purpose.
114
+ *
115
+ * The daemon writes `daemon.pid` when it takes the lock but `daemon.port` only
116
+ * once the HTTP listener is actually up, and on a machine with large indexes
117
+ * that gap is tens of seconds. Collapsing the gap into "running" reports a
118
+ * daemon nothing can connect to yet as healthy, which sends whoever is
119
+ * debugging a client straight past the real answer ("wait, then retry").
120
+ */
121
+ export declare function serviceStatus(opts: {
122
+ dataDir: string;
123
+ os?: NodeJS.Platform;
124
+ home?: string;
125
+ }): {
126
+ installed: boolean;
127
+ unitPath: string;
128
+ state: "not-installed" | "stopped" | "starting" | "running";
129
+ running: boolean;
130
+ pid: number | null;
131
+ port: number | null;
132
+ };
133
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/cli/service.ts"],"names":[],"mappings":"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"}