@evermore.work/server 2026.509.0-canary.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 (1045) hide show
  1. package/dist/adapters/builtin-adapter-types.d.ts +5 -0
  2. package/dist/adapters/builtin-adapter-types.d.ts.map +1 -0
  3. package/dist/adapters/builtin-adapter-types.js +17 -0
  4. package/dist/adapters/builtin-adapter-types.js.map +1 -0
  5. package/dist/adapters/codex-models.d.ts +5 -0
  6. package/dist/adapters/codex-models.d.ts.map +1 -0
  7. package/dist/adapters/codex-models.js +105 -0
  8. package/dist/adapters/codex-models.js.map +1 -0
  9. package/dist/adapters/cursor-models.d.ts +13 -0
  10. package/dist/adapters/cursor-models.d.ts.map +1 -0
  11. package/dist/adapters/cursor-models.js +148 -0
  12. package/dist/adapters/cursor-models.js.map +1 -0
  13. package/dist/adapters/http/execute.d.ts +3 -0
  14. package/dist/adapters/http/execute.d.ts.map +1 -0
  15. package/dist/adapters/http/execute.js +51 -0
  16. package/dist/adapters/http/execute.js.map +1 -0
  17. package/dist/adapters/http/execute.test.d.ts +2 -0
  18. package/dist/adapters/http/execute.test.d.ts.map +1 -0
  19. package/dist/adapters/http/execute.test.js +40 -0
  20. package/dist/adapters/http/execute.test.js.map +1 -0
  21. package/dist/adapters/http/index.d.ts +3 -0
  22. package/dist/adapters/http/index.d.ts.map +1 -0
  23. package/dist/adapters/http/index.js +20 -0
  24. package/dist/adapters/http/index.js.map +1 -0
  25. package/dist/adapters/http/test.d.ts +3 -0
  26. package/dist/adapters/http/test.d.ts.map +1 -0
  27. package/dist/adapters/http/test.js +106 -0
  28. package/dist/adapters/http/test.js.map +1 -0
  29. package/dist/adapters/index.d.ts +4 -0
  30. package/dist/adapters/index.d.ts.map +1 -0
  31. package/dist/adapters/index.js +3 -0
  32. package/dist/adapters/index.js.map +1 -0
  33. package/dist/adapters/plugin-loader.d.ts +28 -0
  34. package/dist/adapters/plugin-loader.d.ts.map +1 -0
  35. package/dist/adapters/plugin-loader.js +196 -0
  36. package/dist/adapters/plugin-loader.js.map +1 -0
  37. package/dist/adapters/process/execute.d.ts +3 -0
  38. package/dist/adapters/process/execute.d.ts.map +1 -0
  39. package/dist/adapters/process/execute.js +70 -0
  40. package/dist/adapters/process/execute.js.map +1 -0
  41. package/dist/adapters/process/index.d.ts +3 -0
  42. package/dist/adapters/process/index.d.ts.map +1 -0
  43. package/dist/adapters/process/index.js +23 -0
  44. package/dist/adapters/process/index.js.map +1 -0
  45. package/dist/adapters/process/test.d.ts +3 -0
  46. package/dist/adapters/process/test.d.ts.map +1 -0
  47. package/dist/adapters/process/test.js +77 -0
  48. package/dist/adapters/process/test.js.map +1 -0
  49. package/dist/adapters/registry.d.ts +69 -0
  50. package/dist/adapters/registry.d.ts.map +1 -0
  51. package/dist/adapters/registry.js +566 -0
  52. package/dist/adapters/registry.js.map +1 -0
  53. package/dist/adapters/types.d.ts +2 -0
  54. package/dist/adapters/types.d.ts.map +1 -0
  55. package/dist/adapters/types.js +2 -0
  56. package/dist/adapters/types.js.map +1 -0
  57. package/dist/adapters/utils.d.ts +43 -0
  58. package/dist/adapters/utils.d.ts.map +1 -0
  59. package/dist/adapters/utils.js +52 -0
  60. package/dist/adapters/utils.js.map +1 -0
  61. package/dist/agent-auth-jwt.d.ts +14 -0
  62. package/dist/agent-auth-jwt.d.ts.map +1 -0
  63. package/dist/agent-auth-jwt.js +117 -0
  64. package/dist/agent-auth-jwt.js.map +1 -0
  65. package/dist/app.d.ts +43 -0
  66. package/dist/app.d.ts.map +1 -0
  67. package/dist/app.js +373 -0
  68. package/dist/app.js.map +1 -0
  69. package/dist/attachment-types.d.ts +23 -0
  70. package/dist/attachment-types.d.ts.map +1 -0
  71. package/dist/attachment-types.js +91 -0
  72. package/dist/attachment-types.js.map +1 -0
  73. package/dist/auth/better-auth.d.ts +33 -0
  74. package/dist/auth/better-auth.d.ts.map +1 -0
  75. package/dist/auth/better-auth.js +133 -0
  76. package/dist/auth/better-auth.js.map +1 -0
  77. package/dist/board-claim.d.ts +23 -0
  78. package/dist/board-claim.d.ts.map +1 -0
  79. package/dist/board-claim.js +115 -0
  80. package/dist/board-claim.js.map +1 -0
  81. package/dist/config-file.d.ts +3 -0
  82. package/dist/config-file.d.ts.map +1 -0
  83. package/dist/config-file.js +16 -0
  84. package/dist/config-file.js.map +1 -0
  85. package/dist/config.d.ts +44 -0
  86. package/dist/config.d.ts.map +1 -0
  87. package/dist/config.js +226 -0
  88. package/dist/config.js.map +1 -0
  89. package/dist/dev-runner-worktree.d.ts +15 -0
  90. package/dist/dev-runner-worktree.d.ts.map +1 -0
  91. package/dist/dev-runner-worktree.js +68 -0
  92. package/dist/dev-runner-worktree.js.map +1 -0
  93. package/dist/dev-server-status.d.ts +27 -0
  94. package/dist/dev-server-status.d.ts.map +1 -0
  95. package/dist/dev-server-status.js +74 -0
  96. package/dist/dev-server-status.js.map +1 -0
  97. package/dist/dev-watch-ignore.d.ts +2 -0
  98. package/dist/dev-watch-ignore.d.ts.map +1 -0
  99. package/dist/dev-watch-ignore.js +36 -0
  100. package/dist/dev-watch-ignore.js.map +1 -0
  101. package/dist/errors.d.ts +12 -0
  102. package/dist/errors.d.ts.map +1 -0
  103. package/dist/errors.js +28 -0
  104. package/dist/errors.js.map +1 -0
  105. package/dist/home-paths.d.ts +17 -0
  106. package/dist/home-paths.d.ts.map +1 -0
  107. package/dist/home-paths.js +75 -0
  108. package/dist/home-paths.js.map +1 -0
  109. package/dist/index.d.ts +10 -0
  110. package/dist/index.d.ts.map +1 -0
  111. package/dist/index.js +753 -0
  112. package/dist/index.js.map +1 -0
  113. package/dist/lib/join-request-dedupe.d.ts +11 -0
  114. package/dist/lib/join-request-dedupe.d.ts.map +1 -0
  115. package/dist/lib/join-request-dedupe.js +49 -0
  116. package/dist/lib/join-request-dedupe.js.map +1 -0
  117. package/dist/log-redaction.d.ts +11 -0
  118. package/dist/log-redaction.d.ts.map +1 -0
  119. package/dist/log-redaction.js +122 -0
  120. package/dist/log-redaction.js.map +1 -0
  121. package/dist/middleware/auth.d.ts +12 -0
  122. package/dist/middleware/auth.d.ts.map +1 -0
  123. package/dist/middleware/auth.js +302 -0
  124. package/dist/middleware/auth.js.map +1 -0
  125. package/dist/middleware/board-mutation-guard.d.ts +3 -0
  126. package/dist/middleware/board-mutation-guard.d.ts.map +1 -0
  127. package/dist/middleware/board-mutation-guard.js +67 -0
  128. package/dist/middleware/board-mutation-guard.js.map +1 -0
  129. package/dist/middleware/error-handler.d.ts +17 -0
  130. package/dist/middleware/error-handler.d.ts.map +1 -0
  131. package/dist/middleware/error-handler.js +45 -0
  132. package/dist/middleware/error-handler.js.map +1 -0
  133. package/dist/middleware/http-log-policy.d.ts +2 -0
  134. package/dist/middleware/http-log-policy.d.ts.map +1 -0
  135. package/dist/middleware/http-log-policy.js +52 -0
  136. package/dist/middleware/http-log-policy.js.map +1 -0
  137. package/dist/middleware/index.d.ts +4 -0
  138. package/dist/middleware/index.d.ts.map +1 -0
  139. package/dist/middleware/index.js +4 -0
  140. package/dist/middleware/index.js.map +1 -0
  141. package/dist/middleware/logger.d.ts +4 -0
  142. package/dist/middleware/logger.d.ts.map +1 -0
  143. package/dist/middleware/logger.js +92 -0
  144. package/dist/middleware/logger.js.map +1 -0
  145. package/dist/middleware/private-hostname-guard.d.ts +11 -0
  146. package/dist/middleware/private-hostname-guard.d.ts.map +1 -0
  147. package/dist/middleware/private-hostname-guard.js +78 -0
  148. package/dist/middleware/private-hostname-guard.js.map +1 -0
  149. package/dist/middleware/validate.d.ts +4 -0
  150. package/dist/middleware/validate.d.ts.map +1 -0
  151. package/dist/middleware/validate.js +7 -0
  152. package/dist/middleware/validate.js.map +1 -0
  153. package/dist/onboarding-assets/ceo/AGENTS.md +59 -0
  154. package/dist/onboarding-assets/ceo/HEARTBEAT.md +85 -0
  155. package/dist/onboarding-assets/ceo/SOUL.md +33 -0
  156. package/dist/onboarding-assets/ceo/TOOLS.md +3 -0
  157. package/dist/onboarding-assets/default/AGENTS.md +17 -0
  158. package/dist/paths.d.ts +3 -0
  159. package/dist/paths.d.ts.map +1 -0
  160. package/dist/paths.js +31 -0
  161. package/dist/paths.js.map +1 -0
  162. package/dist/realtime/live-events-ws.d.ts +28 -0
  163. package/dist/realtime/live-events-ws.d.ts.map +1 -0
  164. package/dist/realtime/live-events-ws.js +187 -0
  165. package/dist/realtime/live-events-ws.js.map +1 -0
  166. package/dist/redaction.d.ts +5 -0
  167. package/dist/redaction.d.ts.map +1 -0
  168. package/dist/redaction.js +98 -0
  169. package/dist/redaction.js.map +1 -0
  170. package/dist/routes/access.d.ts +82 -0
  171. package/dist/routes/access.d.ts.map +1 -0
  172. package/dist/routes/access.js +3411 -0
  173. package/dist/routes/access.js.map +1 -0
  174. package/dist/routes/activity.d.ts +3 -0
  175. package/dist/routes/activity.d.ts.map +1 -0
  176. package/dist/routes/activity.js +90 -0
  177. package/dist/routes/activity.js.map +1 -0
  178. package/dist/routes/adapters.d.ts +16 -0
  179. package/dist/routes/adapters.d.ts.map +1 -0
  180. package/dist/routes/adapters.js +527 -0
  181. package/dist/routes/adapters.js.map +1 -0
  182. package/dist/routes/agents.d.ts +6 -0
  183. package/dist/routes/agents.d.ts.map +1 -0
  184. package/dist/routes/agents.js +2753 -0
  185. package/dist/routes/agents.js.map +1 -0
  186. package/dist/routes/approvals.d.ts +6 -0
  187. package/dist/routes/approvals.d.ts.map +1 -0
  188. package/dist/routes/approvals.js +300 -0
  189. package/dist/routes/approvals.js.map +1 -0
  190. package/dist/routes/assets.d.ts +4 -0
  191. package/dist/routes/assets.d.ts.map +1 -0
  192. package/dist/routes/assets.js +309 -0
  193. package/dist/routes/assets.js.map +1 -0
  194. package/dist/routes/auth.d.ts +3 -0
  195. package/dist/routes/auth.d.ts.map +1 -0
  196. package/dist/routes/auth.js +82 -0
  197. package/dist/routes/auth.js.map +1 -0
  198. package/dist/routes/authz.d.ts +19 -0
  199. package/dist/routes/authz.d.ts.map +1 -0
  200. package/dist/routes/authz.js +75 -0
  201. package/dist/routes/authz.js.map +1 -0
  202. package/dist/routes/companies.d.ts +4 -0
  203. package/dist/routes/companies.d.ts.map +1 -0
  204. package/dist/routes/companies.js +359 -0
  205. package/dist/routes/companies.js.map +1 -0
  206. package/dist/routes/company-skills.d.ts +3 -0
  207. package/dist/routes/company-skills.d.ts.map +1 -0
  208. package/dist/routes/company-skills.js +258 -0
  209. package/dist/routes/company-skills.js.map +1 -0
  210. package/dist/routes/costs.d.ts +11 -0
  211. package/dist/routes/costs.d.ts.map +1 -0
  212. package/dist/routes/costs.js +285 -0
  213. package/dist/routes/costs.js.map +1 -0
  214. package/dist/routes/dashboard.d.ts +3 -0
  215. package/dist/routes/dashboard.d.ts.map +1 -0
  216. package/dist/routes/dashboard.js +15 -0
  217. package/dist/routes/dashboard.js.map +1 -0
  218. package/dist/routes/environment-selection.d.ts +13 -0
  219. package/dist/routes/environment-selection.d.ts.map +1 -0
  220. package/dist/routes/environment-selection.js +30 -0
  221. package/dist/routes/environment-selection.js.map +1 -0
  222. package/dist/routes/environments.d.ts +6 -0
  223. package/dist/routes/environments.d.ts.map +1 -0
  224. package/dist/routes/environments.js +401 -0
  225. package/dist/routes/environments.js.map +1 -0
  226. package/dist/routes/execution-workspaces.d.ts +3 -0
  227. package/dist/routes/execution-workspaces.d.ts.map +1 -0
  228. package/dist/routes/execution-workspaces.js +536 -0
  229. package/dist/routes/execution-workspaces.js.map +1 -0
  230. package/dist/routes/goals.d.ts +3 -0
  231. package/dist/routes/goals.d.ts.map +1 -0
  232. package/dist/routes/goals.js +101 -0
  233. package/dist/routes/goals.js.map +1 -0
  234. package/dist/routes/health.d.ts +9 -0
  235. package/dist/routes/health.d.ts.map +1 -0
  236. package/dist/routes/health.js +114 -0
  237. package/dist/routes/health.js.map +1 -0
  238. package/dist/routes/inbox-dismissals.d.ts +3 -0
  239. package/dist/routes/inbox-dismissals.d.ts.map +1 -0
  240. package/dist/routes/inbox-dismissals.js +58 -0
  241. package/dist/routes/inbox-dismissals.js.map +1 -0
  242. package/dist/routes/index.d.ts +22 -0
  243. package/dist/routes/index.d.ts.map +1 -0
  244. package/dist/routes/index.js +22 -0
  245. package/dist/routes/index.js.map +1 -0
  246. package/dist/routes/instance-database-backups.d.ts +15 -0
  247. package/dist/routes/instance-database-backups.d.ts.map +1 -0
  248. package/dist/routes/instance-database-backups.js +12 -0
  249. package/dist/routes/instance-database-backups.js.map +1 -0
  250. package/dist/routes/instance-settings.d.ts +3 -0
  251. package/dist/routes/instance-settings.d.ts.map +1 -0
  252. package/dist/routes/instance-settings.js +110 -0
  253. package/dist/routes/instance-settings.js.map +1 -0
  254. package/dist/routes/issue-tree-control.d.ts +3 -0
  255. package/dist/routes/issue-tree-control.d.ts.map +1 -0
  256. package/dist/routes/issue-tree-control.js +363 -0
  257. package/dist/routes/issue-tree-control.js.map +1 -0
  258. package/dist/routes/issues-checkout-wakeup.d.ts +9 -0
  259. package/dist/routes/issues-checkout-wakeup.d.ts.map +1 -0
  260. package/dist/routes/issues-checkout-wakeup.js +12 -0
  261. package/dist/routes/issues-checkout-wakeup.js.map +1 -0
  262. package/dist/routes/issues.d.ts +23 -0
  263. package/dist/routes/issues.d.ts.map +1 -0
  264. package/dist/routes/issues.js +3886 -0
  265. package/dist/routes/issues.js.map +1 -0
  266. package/dist/routes/llms.d.ts +3 -0
  267. package/dist/routes/llms.d.ts.map +1 -0
  268. package/dist/routes/llms.js +80 -0
  269. package/dist/routes/llms.js.map +1 -0
  270. package/dist/routes/org-chart-svg.d.ts +25 -0
  271. package/dist/routes/org-chart-svg.d.ts.map +1 -0
  272. package/dist/routes/org-chart-svg.js +656 -0
  273. package/dist/routes/org-chart-svg.js.map +1 -0
  274. package/dist/routes/plugin-ui-static.d.ts +69 -0
  275. package/dist/routes/plugin-ui-static.d.ts.map +1 -0
  276. package/dist/routes/plugin-ui-static.js +411 -0
  277. package/dist/routes/plugin-ui-static.js.map +1 -0
  278. package/dist/routes/plugins.d.ts +121 -0
  279. package/dist/routes/plugins.d.ts.map +1 -0
  280. package/dist/routes/plugins.js +2192 -0
  281. package/dist/routes/plugins.js.map +1 -0
  282. package/dist/routes/projects.d.ts +3 -0
  283. package/dist/routes/projects.d.ts.map +1 -0
  284. package/dist/routes/projects.js +566 -0
  285. package/dist/routes/projects.js.map +1 -0
  286. package/dist/routes/routines.d.ts +6 -0
  287. package/dist/routes/routines.d.ts.map +1 -0
  288. package/dist/routes/routines.js +417 -0
  289. package/dist/routes/routines.js.map +1 -0
  290. package/dist/routes/secrets.d.ts +3 -0
  291. package/dist/routes/secrets.d.ts.map +1 -0
  292. package/dist/routes/secrets.js +128 -0
  293. package/dist/routes/secrets.js.map +1 -0
  294. package/dist/routes/sidebar-badges.d.ts +3 -0
  295. package/dist/routes/sidebar-badges.d.ts.map +1 -0
  296. package/dist/routes/sidebar-badges.js +68 -0
  297. package/dist/routes/sidebar-badges.js.map +1 -0
  298. package/dist/routes/sidebar-preferences.d.ts +3 -0
  299. package/dist/routes/sidebar-preferences.d.ts.map +1 -0
  300. package/dist/routes/sidebar-preferences.js +63 -0
  301. package/dist/routes/sidebar-preferences.js.map +1 -0
  302. package/dist/routes/user-profiles.d.ts +3 -0
  303. package/dist/routes/user-profiles.d.ts.map +1 -0
  304. package/dist/routes/user-profiles.js +337 -0
  305. package/dist/routes/user-profiles.js.map +1 -0
  306. package/dist/routes/workspace-command-authz.d.ts +14 -0
  307. package/dist/routes/workspace-command-authz.d.ts.map +1 -0
  308. package/dist/routes/workspace-command-authz.js +83 -0
  309. package/dist/routes/workspace-command-authz.js.map +1 -0
  310. package/dist/routes/workspace-runtime-service-authz.d.ts +12 -0
  311. package/dist/routes/workspace-runtime-service-authz.d.ts.map +1 -0
  312. package/dist/routes/workspace-runtime-service-authz.js +96 -0
  313. package/dist/routes/workspace-runtime-service-authz.js.map +1 -0
  314. package/dist/runtime-api.d.ts +19 -0
  315. package/dist/runtime-api.d.ts.map +1 -0
  316. package/dist/runtime-api.js +137 -0
  317. package/dist/runtime-api.js.map +1 -0
  318. package/dist/secrets/external-stub-providers.d.ts +5 -0
  319. package/dist/secrets/external-stub-providers.d.ts.map +1 -0
  320. package/dist/secrets/external-stub-providers.js +21 -0
  321. package/dist/secrets/external-stub-providers.js.map +1 -0
  322. package/dist/secrets/local-encrypted-provider.d.ts +3 -0
  323. package/dist/secrets/local-encrypted-provider.d.ts.map +1 -0
  324. package/dist/secrets/local-encrypted-provider.js +116 -0
  325. package/dist/secrets/local-encrypted-provider.js.map +1 -0
  326. package/dist/secrets/provider-registry.d.ts +5 -0
  327. package/dist/secrets/provider-registry.d.ts.map +1 -0
  328. package/dist/secrets/provider-registry.js +20 -0
  329. package/dist/secrets/provider-registry.js.map +1 -0
  330. package/dist/secrets/types.d.ts +21 -0
  331. package/dist/secrets/types.d.ts.map +1 -0
  332. package/dist/secrets/types.js +2 -0
  333. package/dist/secrets/types.js.map +1 -0
  334. package/dist/services/access.d.ts +171 -0
  335. package/dist/services/access.d.ts.map +1 -0
  336. package/dist/services/access.js +522 -0
  337. package/dist/services/access.js.map +1 -0
  338. package/dist/services/activity-log.d.ts +19 -0
  339. package/dist/services/activity-log.d.ts.map +1 -0
  340. package/dist/services/activity-log.js +99 -0
  341. package/dist/services/activity-log.js.map +1 -0
  342. package/dist/services/activity.d.ts +462 -0
  343. package/dist/services/activity.d.ts.map +1 -0
  344. package/dist/services/activity.js +443 -0
  345. package/dist/services/activity.js.map +1 -0
  346. package/dist/services/adapter-plugin-store.d.ts +36 -0
  347. package/dist/services/adapter-plugin-store.d.ts.map +1 -0
  348. package/dist/services/adapter-plugin-store.js +154 -0
  349. package/dist/services/adapter-plugin-store.js.map +1 -0
  350. package/dist/services/agent-instructions.d.ts +91 -0
  351. package/dist/services/agent-instructions.d.ts.map +1 -0
  352. package/dist/services/agent-instructions.js +580 -0
  353. package/dist/services/agent-instructions.js.map +1 -0
  354. package/dist/services/agent-permissions.d.ts +6 -0
  355. package/dist/services/agent-permissions.d.ts.map +1 -0
  356. package/dist/services/agent-permissions.js +18 -0
  357. package/dist/services/agent-permissions.js.map +1 -0
  358. package/dist/services/agent-start-lock.d.ts +2 -0
  359. package/dist/services/agent-start-lock.d.ts.map +1 -0
  360. package/dist/services/agent-start-lock.js +43 -0
  361. package/dist/services/agent-start-lock.js.map +1 -0
  362. package/dist/services/agents.d.ts +2253 -0
  363. package/dist/services/agents.d.ts.map +1 -0
  364. package/dist/services/agents.js +609 -0
  365. package/dist/services/agents.js.map +1 -0
  366. package/dist/services/approvals.d.ts +546 -0
  367. package/dist/services/approvals.d.ts.map +1 -0
  368. package/dist/services/approvals.js +212 -0
  369. package/dist/services/approvals.js.map +1 -0
  370. package/dist/services/assets.d.ts +33 -0
  371. package/dist/services/assets.d.ts.map +1 -0
  372. package/dist/services/assets.js +17 -0
  373. package/dist/services/assets.js.map +1 -0
  374. package/dist/services/board-auth.d.ts +239 -0
  375. package/dist/services/board-auth.d.ts.map +1 -0
  376. package/dist/services/board-auth.js +300 -0
  377. package/dist/services/board-auth.js.map +1 -0
  378. package/dist/services/budgets.d.ts +38 -0
  379. package/dist/services/budgets.d.ts.map +1 -0
  380. package/dist/services/budgets.js +784 -0
  381. package/dist/services/budgets.js.map +1 -0
  382. package/dist/services/companies.d.ts +154 -0
  383. package/dist/services/companies.d.ts.map +1 -0
  384. package/dist/services/companies.js +267 -0
  385. package/dist/services/companies.js.map +1 -0
  386. package/dist/services/company-export-readme.d.ts +17 -0
  387. package/dist/services/company-export-readme.d.ts.map +1 -0
  388. package/dist/services/company-export-readme.js +148 -0
  389. package/dist/services/company-export-readme.js.map +1 -0
  390. package/dist/services/company-member-roles.d.ts +9 -0
  391. package/dist/services/company-member-roles.d.ts.map +1 -0
  392. package/dist/services/company-member-roles.js +46 -0
  393. package/dist/services/company-member-roles.js.map +1 -0
  394. package/dist/services/company-portability.d.ts +24 -0
  395. package/dist/services/company-portability.d.ts.map +1 -0
  396. package/dist/services/company-portability.js +4076 -0
  397. package/dist/services/company-portability.js.map +1 -0
  398. package/dist/services/company-search-rate-limit.d.ts +22 -0
  399. package/dist/services/company-search-rate-limit.d.ts.map +1 -0
  400. package/dist/services/company-search-rate-limit.js +38 -0
  401. package/dist/services/company-search-rate-limit.js.map +1 -0
  402. package/dist/services/company-search.d.ts +8 -0
  403. package/dist/services/company-search.d.ts.map +1 -0
  404. package/dist/services/company-search.js +626 -0
  405. package/dist/services/company-search.js.map +1 -0
  406. package/dist/services/company-skills.d.ts +77 -0
  407. package/dist/services/company-skills.d.ts.map +1 -0
  408. package/dist/services/company-skills.js +2120 -0
  409. package/dist/services/company-skills.js.map +1 -0
  410. package/dist/services/costs.d.ts +127 -0
  411. package/dist/services/costs.d.ts.map +1 -0
  412. package/dist/services/costs.js +409 -0
  413. package/dist/services/costs.js.map +1 -0
  414. package/dist/services/cron.d.ts +80 -0
  415. package/dist/services/cron.d.ts.map +1 -0
  416. package/dist/services/cron.js +300 -0
  417. package/dist/services/cron.js.map +1 -0
  418. package/dist/services/dashboard.d.ts +34 -0
  419. package/dist/services/dashboard.d.ts.map +1 -0
  420. package/dist/services/dashboard.js +142 -0
  421. package/dist/services/dashboard.js.map +1 -0
  422. package/dist/services/default-agent-instructions.d.ts +9 -0
  423. package/dist/services/default-agent-instructions.d.ts.map +1 -0
  424. package/dist/services/default-agent-instructions.js +20 -0
  425. package/dist/services/default-agent-instructions.js.map +1 -0
  426. package/dist/services/documents.d.ts +199 -0
  427. package/dist/services/documents.d.ts.map +1 -0
  428. package/dist/services/documents.js +411 -0
  429. package/dist/services/documents.js.map +1 -0
  430. package/dist/services/environment-config.d.ts +43 -0
  431. package/dist/services/environment-config.d.ts.map +1 -0
  432. package/dist/services/environment-config.js +388 -0
  433. package/dist/services/environment-config.js.map +1 -0
  434. package/dist/services/environment-execution-target.d.ts +21 -0
  435. package/dist/services/environment-execution-target.d.ts.map +1 -0
  436. package/dist/services/environment-execution-target.js +119 -0
  437. package/dist/services/environment-execution-target.js.map +1 -0
  438. package/dist/services/environment-probe.d.ts +9 -0
  439. package/dist/services/environment-probe.d.ts.map +1 -0
  440. package/dist/services/environment-probe.js +106 -0
  441. package/dist/services/environment-probe.js.map +1 -0
  442. package/dist/services/environment-run-orchestrator.d.ts +124 -0
  443. package/dist/services/environment-run-orchestrator.d.ts.map +1 -0
  444. package/dist/services/environment-run-orchestrator.js +392 -0
  445. package/dist/services/environment-run-orchestrator.js.map +1 -0
  446. package/dist/services/environment-runtime.d.ts +90 -0
  447. package/dist/services/environment-runtime.d.ts.map +1 -0
  448. package/dist/services/environment-runtime.js +934 -0
  449. package/dist/services/environment-runtime.js.map +1 -0
  450. package/dist/services/environments.d.ts +36 -0
  451. package/dist/services/environments.d.ts.map +1 -0
  452. package/dist/services/environments.js +260 -0
  453. package/dist/services/environments.js.map +1 -0
  454. package/dist/services/execution-workspace-policy.d.ts +30 -0
  455. package/dist/services/execution-workspace-policy.d.ts.map +1 -0
  456. package/dist/services/execution-workspace-policy.js +195 -0
  457. package/dist/services/execution-workspace-policy.js.map +1 -0
  458. package/dist/services/execution-workspaces.d.ts +30 -0
  459. package/dist/services/execution-workspaces.d.ts.map +1 -0
  460. package/dist/services/execution-workspaces.js +635 -0
  461. package/dist/services/execution-workspaces.js.map +1 -0
  462. package/dist/services/feedback-redaction.d.ts +23 -0
  463. package/dist/services/feedback-redaction.d.ts.map +1 -0
  464. package/dist/services/feedback-redaction.js +150 -0
  465. package/dist/services/feedback-redaction.js.map +1 -0
  466. package/dist/services/feedback-share-client.d.ts +9 -0
  467. package/dist/services/feedback-share-client.d.ts.map +1 -0
  468. package/dist/services/feedback-share-client.js +46 -0
  469. package/dist/services/feedback-share-client.js.map +1 -0
  470. package/dist/services/feedback.d.ts +93 -0
  471. package/dist/services/feedback.d.ts.map +1 -0
  472. package/dist/services/feedback.js +1717 -0
  473. package/dist/services/feedback.js.map +1 -0
  474. package/dist/services/finance.d.ts +93 -0
  475. package/dist/services/finance.d.ts.map +1 -0
  476. package/dist/services/finance.js +120 -0
  477. package/dist/services/finance.js.map +1 -0
  478. package/dist/services/github-fetch.d.ts +4 -0
  479. package/dist/services/github-fetch.d.ts.map +1 -0
  480. package/dist/services/github-fetch.js +23 -0
  481. package/dist/services/github-fetch.js.map +1 -0
  482. package/dist/services/goals.d.ts +433 -0
  483. package/dist/services/goals.d.ts.map +1 -0
  484. package/dist/services/goals.js +54 -0
  485. package/dist/services/goals.js.map +1 -0
  486. package/dist/services/heartbeat-run-summary.d.ts +7 -0
  487. package/dist/services/heartbeat-run-summary.d.ts.map +1 -0
  488. package/dist/services/heartbeat-run-summary.js +84 -0
  489. package/dist/services/heartbeat-run-summary.js.map +1 -0
  490. package/dist/services/heartbeat-stop-metadata.d.ts +28 -0
  491. package/dist/services/heartbeat-stop-metadata.d.ts.map +1 -0
  492. package/dist/services/heartbeat-stop-metadata.js +86 -0
  493. package/dist/services/heartbeat-stop-metadata.js.map +1 -0
  494. package/dist/services/heartbeat-stop-metadata.test.d.ts +2 -0
  495. package/dist/services/heartbeat-stop-metadata.test.d.ts.map +1 -0
  496. package/dist/services/heartbeat-stop-metadata.test.js +93 -0
  497. package/dist/services/heartbeat-stop-metadata.test.js.map +1 -0
  498. package/dist/services/heartbeat.d.ts +1484 -0
  499. package/dist/services/heartbeat.d.ts.map +1 -0
  500. package/dist/services/heartbeat.js +7557 -0
  501. package/dist/services/heartbeat.js.map +1 -0
  502. package/dist/services/hire-hook.d.ts +14 -0
  503. package/dist/services/hire-hook.d.ts.map +1 -0
  504. package/dist/services/hire-hook.js +85 -0
  505. package/dist/services/hire-hook.js.map +1 -0
  506. package/dist/services/inbox-dismissals.d.ts +22 -0
  507. package/dist/services/inbox-dismissals.d.ts.map +1 -0
  508. package/dist/services/inbox-dismissals.js +33 -0
  509. package/dist/services/inbox-dismissals.js.map +1 -0
  510. package/dist/services/index.d.ts +44 -0
  511. package/dist/services/index.d.ts.map +1 -0
  512. package/dist/services/index.js +44 -0
  513. package/dist/services/index.js.map +1 -0
  514. package/dist/services/instance-settings.d.ts +11 -0
  515. package/dist/services/instance-settings.d.ts.map +1 -0
  516. package/dist/services/instance-settings.js +138 -0
  517. package/dist/services/instance-settings.js.map +1 -0
  518. package/dist/services/invite-grants.d.ts +15 -0
  519. package/dist/services/invite-grants.d.ts.map +1 -0
  520. package/dist/services/invite-grants.js +50 -0
  521. package/dist/services/invite-grants.js.map +1 -0
  522. package/dist/services/issue-approvals.d.ts +56 -0
  523. package/dist/services/issue-approvals.d.ts.map +1 -0
  524. package/dist/services/issue-approvals.js +153 -0
  525. package/dist/services/issue-approvals.js.map +1 -0
  526. package/dist/services/issue-assignment-wakeup.d.ts +29 -0
  527. package/dist/services/issue-assignment-wakeup.d.ts.map +1 -0
  528. package/dist/services/issue-assignment-wakeup.js +22 -0
  529. package/dist/services/issue-assignment-wakeup.js.map +1 -0
  530. package/dist/services/issue-continuation-summary.d.ts +66 -0
  531. package/dist/services/issue-continuation-summary.d.ts.map +1 -0
  532. package/dist/services/issue-continuation-summary.js +212 -0
  533. package/dist/services/issue-continuation-summary.js.map +1 -0
  534. package/dist/services/issue-execution-policy.d.ts +93 -0
  535. package/dist/services/issue-execution-policy.d.ts.map +1 -0
  536. package/dist/services/issue-execution-policy.js +838 -0
  537. package/dist/services/issue-execution-policy.js.map +1 -0
  538. package/dist/services/issue-goal-fallback.d.ts +18 -0
  539. package/dist/services/issue-goal-fallback.d.ts.map +1 -0
  540. package/dist/services/issue-goal-fallback.js +33 -0
  541. package/dist/services/issue-goal-fallback.js.map +1 -0
  542. package/dist/services/issue-liveness.d.ts +3 -0
  543. package/dist/services/issue-liveness.d.ts.map +1 -0
  544. package/dist/services/issue-liveness.js +2 -0
  545. package/dist/services/issue-liveness.js.map +1 -0
  546. package/dist/services/issue-references.d.ts +21 -0
  547. package/dist/services/issue-references.d.ts.map +1 -0
  548. package/dist/services/issue-references.js +318 -0
  549. package/dist/services/issue-references.js.map +1 -0
  550. package/dist/services/issue-thread-interactions.d.ts +76 -0
  551. package/dist/services/issue-thread-interactions.d.ts.map +1 -0
  552. package/dist/services/issue-thread-interactions.js +923 -0
  553. package/dist/services/issue-thread-interactions.js.map +1 -0
  554. package/dist/services/issue-thread-interactions.test.d.ts +2 -0
  555. package/dist/services/issue-thread-interactions.test.d.ts.map +1 -0
  556. package/dist/services/issue-thread-interactions.test.js +195 -0
  557. package/dist/services/issue-thread-interactions.test.js.map +1 -0
  558. package/dist/services/issue-tree-control.d.ts +89 -0
  559. package/dist/services/issue-tree-control.d.ts.map +1 -0
  560. package/dist/services/issue-tree-control.js +933 -0
  561. package/dist/services/issue-tree-control.js.map +1 -0
  562. package/dist/services/issues.d.ts +710 -0
  563. package/dist/services/issues.d.ts.map +1 -0
  564. package/dist/services/issues.js +3199 -0
  565. package/dist/services/issues.js.map +1 -0
  566. package/dist/services/json-schema-secret-refs.d.ts +5 -0
  567. package/dist/services/json-schema-secret-refs.d.ts.map +1 -0
  568. package/dist/services/json-schema-secret-refs.js +67 -0
  569. package/dist/services/json-schema-secret-refs.js.map +1 -0
  570. package/dist/services/live-events.d.ts +17 -0
  571. package/dist/services/live-events.d.ts.map +1 -0
  572. package/dist/services/live-events.js +33 -0
  573. package/dist/services/live-events.js.map +1 -0
  574. package/dist/services/local-service-supervisor.d.ts +56 -0
  575. package/dist/services/local-service-supervisor.d.ts.map +1 -0
  576. package/dist/services/local-service-supervisor.js +284 -0
  577. package/dist/services/local-service-supervisor.js.map +1 -0
  578. package/dist/services/plugin-capability-validator.d.ts +108 -0
  579. package/dist/services/plugin-capability-validator.d.ts.map +1 -0
  580. package/dist/services/plugin-capability-validator.js +313 -0
  581. package/dist/services/plugin-capability-validator.js.map +1 -0
  582. package/dist/services/plugin-config-validator.d.ts +26 -0
  583. package/dist/services/plugin-config-validator.d.ts.map +1 -0
  584. package/dist/services/plugin-config-validator.js +41 -0
  585. package/dist/services/plugin-config-validator.js.map +1 -0
  586. package/dist/services/plugin-database.d.ts +49 -0
  587. package/dist/services/plugin-database.d.ts.map +1 -0
  588. package/dist/services/plugin-database.js +440 -0
  589. package/dist/services/plugin-database.js.map +1 -0
  590. package/dist/services/plugin-dev-watcher.d.ts +30 -0
  591. package/dist/services/plugin-dev-watcher.d.ts.map +1 -0
  592. package/dist/services/plugin-dev-watcher.js +241 -0
  593. package/dist/services/plugin-dev-watcher.js.map +1 -0
  594. package/dist/services/plugin-environment-driver.d.ts +124 -0
  595. package/dist/services/plugin-environment-driver.d.ts.map +1 -0
  596. package/dist/services/plugin-environment-driver.js +224 -0
  597. package/dist/services/plugin-environment-driver.js.map +1 -0
  598. package/dist/services/plugin-event-bus.d.ts +149 -0
  599. package/dist/services/plugin-event-bus.d.ts.map +1 -0
  600. package/dist/services/plugin-event-bus.js +258 -0
  601. package/dist/services/plugin-event-bus.js.map +1 -0
  602. package/dist/services/plugin-host-service-cleanup.d.ts +14 -0
  603. package/dist/services/plugin-host-service-cleanup.d.ts.map +1 -0
  604. package/dist/services/plugin-host-service-cleanup.js +37 -0
  605. package/dist/services/plugin-host-service-cleanup.js.map +1 -0
  606. package/dist/services/plugin-host-services.d.ts +17 -0
  607. package/dist/services/plugin-host-services.d.ts.map +1 -0
  608. package/dist/services/plugin-host-services.js +1861 -0
  609. package/dist/services/plugin-host-services.js.map +1 -0
  610. package/dist/services/plugin-job-coordinator.d.ts +81 -0
  611. package/dist/services/plugin-job-coordinator.d.ts.map +1 -0
  612. package/dist/services/plugin-job-coordinator.js +172 -0
  613. package/dist/services/plugin-job-coordinator.js.map +1 -0
  614. package/dist/services/plugin-job-scheduler.d.ts +163 -0
  615. package/dist/services/plugin-job-scheduler.d.ts.map +1 -0
  616. package/dist/services/plugin-job-scheduler.js +454 -0
  617. package/dist/services/plugin-job-scheduler.js.map +1 -0
  618. package/dist/services/plugin-job-store.d.ts +208 -0
  619. package/dist/services/plugin-job-store.d.ts.map +1 -0
  620. package/dist/services/plugin-job-store.js +350 -0
  621. package/dist/services/plugin-job-store.js.map +1 -0
  622. package/dist/services/plugin-lifecycle.d.ts +203 -0
  623. package/dist/services/plugin-lifecycle.d.ts.map +1 -0
  624. package/dist/services/plugin-lifecycle.js +476 -0
  625. package/dist/services/plugin-lifecycle.js.map +1 -0
  626. package/dist/services/plugin-loader.d.ts +445 -0
  627. package/dist/services/plugin-loader.d.ts.map +1 -0
  628. package/dist/services/plugin-loader.js +1273 -0
  629. package/dist/services/plugin-loader.js.map +1 -0
  630. package/dist/services/plugin-local-folders.d.ts +48 -0
  631. package/dist/services/plugin-local-folders.d.ts.map +1 -0
  632. package/dist/services/plugin-local-folders.js +461 -0
  633. package/dist/services/plugin-local-folders.js.map +1 -0
  634. package/dist/services/plugin-log-retention.d.ts +20 -0
  635. package/dist/services/plugin-log-retention.d.ts.map +1 -0
  636. package/dist/services/plugin-log-retention.js +63 -0
  637. package/dist/services/plugin-log-retention.js.map +1 -0
  638. package/dist/services/plugin-managed-agents.d.ts +15 -0
  639. package/dist/services/plugin-managed-agents.d.ts.map +1 -0
  640. package/dist/services/plugin-managed-agents.js +414 -0
  641. package/dist/services/plugin-managed-agents.js.map +1 -0
  642. package/dist/services/plugin-managed-routines.d.ts +41 -0
  643. package/dist/services/plugin-managed-routines.d.ts.map +1 -0
  644. package/dist/services/plugin-managed-routines.js +416 -0
  645. package/dist/services/plugin-managed-routines.js.map +1 -0
  646. package/dist/services/plugin-manifest-validator.d.ts +79 -0
  647. package/dist/services/plugin-manifest-validator.d.ts.map +1 -0
  648. package/dist/services/plugin-manifest-validator.js +84 -0
  649. package/dist/services/plugin-manifest-validator.js.map +1 -0
  650. package/dist/services/plugin-registry.d.ts +2550 -0
  651. package/dist/services/plugin-registry.d.ts.map +1 -0
  652. package/dist/services/plugin-registry.js +581 -0
  653. package/dist/services/plugin-registry.js.map +1 -0
  654. package/dist/services/plugin-runtime-sandbox.d.ts +40 -0
  655. package/dist/services/plugin-runtime-sandbox.d.ts.map +1 -0
  656. package/dist/services/plugin-runtime-sandbox.js +154 -0
  657. package/dist/services/plugin-runtime-sandbox.js.map +1 -0
  658. package/dist/services/plugin-secrets-handler.d.ts +81 -0
  659. package/dist/services/plugin-secrets-handler.d.ts.map +1 -0
  660. package/dist/services/plugin-secrets-handler.js +231 -0
  661. package/dist/services/plugin-secrets-handler.js.map +1 -0
  662. package/dist/services/plugin-state-store.d.ts +92 -0
  663. package/dist/services/plugin-state-store.d.ts.map +1 -0
  664. package/dist/services/plugin-state-store.js +190 -0
  665. package/dist/services/plugin-state-store.js.map +1 -0
  666. package/dist/services/plugin-stream-bus.d.ts +29 -0
  667. package/dist/services/plugin-stream-bus.d.ts.map +1 -0
  668. package/dist/services/plugin-stream-bus.js +48 -0
  669. package/dist/services/plugin-stream-bus.js.map +1 -0
  670. package/dist/services/plugin-tool-dispatcher.d.ts +180 -0
  671. package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -0
  672. package/dist/services/plugin-tool-dispatcher.js +224 -0
  673. package/dist/services/plugin-tool-dispatcher.js.map +1 -0
  674. package/dist/services/plugin-tool-registry.d.ts +192 -0
  675. package/dist/services/plugin-tool-registry.d.ts.map +1 -0
  676. package/dist/services/plugin-tool-registry.js +224 -0
  677. package/dist/services/plugin-tool-registry.js.map +1 -0
  678. package/dist/services/plugin-worker-manager.d.ts +262 -0
  679. package/dist/services/plugin-worker-manager.d.ts.map +1 -0
  680. package/dist/services/plugin-worker-manager.js +836 -0
  681. package/dist/services/plugin-worker-manager.js.map +1 -0
  682. package/dist/services/productivity-review.d.ts +83 -0
  683. package/dist/services/productivity-review.d.ts.map +1 -0
  684. package/dist/services/productivity-review.js +652 -0
  685. package/dist/services/productivity-review.js.map +1 -0
  686. package/dist/services/project-workspace-runtime-config.d.ts +4 -0
  687. package/dist/services/project-workspace-runtime-config.d.ts.map +1 -0
  688. package/dist/services/project-workspace-runtime-config.js +54 -0
  689. package/dist/services/project-workspace-runtime-config.js.map +1 -0
  690. package/dist/services/projects.d.ts +99 -0
  691. package/dist/services/projects.d.ts.map +1 -0
  692. package/dist/services/projects.js +879 -0
  693. package/dist/services/projects.js.map +1 -0
  694. package/dist/services/quota-windows.d.ts +9 -0
  695. package/dist/services/quota-windows.d.ts.map +1 -0
  696. package/dist/services/quota-windows.js +56 -0
  697. package/dist/services/quota-windows.js.map +1 -0
  698. package/dist/services/recovery/index.d.ts +10 -0
  699. package/dist/services/recovery/index.d.ts.map +1 -0
  700. package/dist/services/recovery/index.js +6 -0
  701. package/dist/services/recovery/index.js.map +1 -0
  702. package/dist/services/recovery/issue-graph-liveness.d.ts +85 -0
  703. package/dist/services/recovery/issue-graph-liveness.d.ts.map +1 -0
  704. package/dist/services/recovery/issue-graph-liveness.js +343 -0
  705. package/dist/services/recovery/issue-graph-liveness.js.map +1 -0
  706. package/dist/services/recovery/model-profile-hint.d.ts +8 -0
  707. package/dist/services/recovery/model-profile-hint.d.ts.map +1 -0
  708. package/dist/services/recovery/model-profile-hint.js +11 -0
  709. package/dist/services/recovery/model-profile-hint.js.map +1 -0
  710. package/dist/services/recovery/origins.d.ts +36 -0
  711. package/dist/services/recovery/origins.d.ts.map +1 -0
  712. package/dist/services/recovery/origins.js +45 -0
  713. package/dist/services/recovery/origins.js.map +1 -0
  714. package/dist/services/recovery/pause-hold-guard.d.ts +6 -0
  715. package/dist/services/recovery/pause-hold-guard.d.ts.map +1 -0
  716. package/dist/services/recovery/pause-hold-guard.js +6 -0
  717. package/dist/services/recovery/pause-hold-guard.js.map +1 -0
  718. package/dist/services/recovery/run-liveness-continuations.d.ts +50 -0
  719. package/dist/services/recovery/run-liveness-continuations.d.ts.map +1 -0
  720. package/dist/services/recovery/run-liveness-continuations.js +117 -0
  721. package/dist/services/recovery/run-liveness-continuations.js.map +1 -0
  722. package/dist/services/recovery/service.d.ts +195 -0
  723. package/dist/services/recovery/service.d.ts.map +1 -0
  724. package/dist/services/recovery/service.js +2210 -0
  725. package/dist/services/recovery/service.js.map +1 -0
  726. package/dist/services/recovery/successful-run-handoff.d.ts +87 -0
  727. package/dist/services/recovery/successful-run-handoff.d.ts.map +1 -0
  728. package/dist/services/recovery/successful-run-handoff.js +297 -0
  729. package/dist/services/recovery/successful-run-handoff.js.map +1 -0
  730. package/dist/services/recovery/successful-run-handoff.test.d.ts +2 -0
  731. package/dist/services/recovery/successful-run-handoff.test.d.ts.map +1 -0
  732. package/dist/services/recovery/successful-run-handoff.test.js +267 -0
  733. package/dist/services/recovery/successful-run-handoff.test.js.map +1 -0
  734. package/dist/services/routines.d.ts +166 -0
  735. package/dist/services/routines.d.ts.map +1 -0
  736. package/dist/services/routines.js +1937 -0
  737. package/dist/services/routines.js.map +1 -0
  738. package/dist/services/run-continuations.d.ts +3 -0
  739. package/dist/services/run-continuations.d.ts.map +1 -0
  740. package/dist/services/run-continuations.js +2 -0
  741. package/dist/services/run-continuations.js.map +1 -0
  742. package/dist/services/run-liveness.d.ts +46 -0
  743. package/dist/services/run-liveness.d.ts.map +1 -0
  744. package/dist/services/run-liveness.js +275 -0
  745. package/dist/services/run-liveness.js.map +1 -0
  746. package/dist/services/run-log-store.d.ts +34 -0
  747. package/dist/services/run-log-store.d.ts.map +1 -0
  748. package/dist/services/run-log-store.js +111 -0
  749. package/dist/services/run-log-store.js.map +1 -0
  750. package/dist/services/sandbox-provider-runtime.d.ts +132 -0
  751. package/dist/services/sandbox-provider-runtime.d.ts.map +1 -0
  752. package/dist/services/sandbox-provider-runtime.js +216 -0
  753. package/dist/services/sandbox-provider-runtime.js.map +1 -0
  754. package/dist/services/secrets.d.ts +515 -0
  755. package/dist/services/secrets.d.ts.map +1 -0
  756. package/dist/services/secrets.js +290 -0
  757. package/dist/services/secrets.js.map +1 -0
  758. package/dist/services/sidebar-badges.d.ts +14 -0
  759. package/dist/services/sidebar-badges.d.ts.map +1 -0
  760. package/dist/services/sidebar-badges.js +48 -0
  761. package/dist/services/sidebar-badges.js.map +1 -0
  762. package/dist/services/sidebar-preferences.d.ts +9 -0
  763. package/dist/services/sidebar-preferences.d.ts.map +1 -0
  764. package/dist/services/sidebar-preferences.js +82 -0
  765. package/dist/services/sidebar-preferences.js.map +1 -0
  766. package/dist/services/work-products.d.ts +14 -0
  767. package/dist/services/work-products.d.ts.map +1 -0
  768. package/dist/services/work-products.js +100 -0
  769. package/dist/services/work-products.js.map +1 -0
  770. package/dist/services/workspace-operation-log-store.d.ts +33 -0
  771. package/dist/services/workspace-operation-log-store.d.ts.map +1 -0
  772. package/dist/services/workspace-operation-log-store.js +110 -0
  773. package/dist/services/workspace-operation-log-store.js.map +1 -0
  774. package/dist/services/workspace-operations.d.ts +44 -0
  775. package/dist/services/workspace-operations.d.ts.map +1 -0
  776. package/dist/services/workspace-operations.js +211 -0
  777. package/dist/services/workspace-operations.js.map +1 -0
  778. package/dist/services/workspace-realization.d.ts +33 -0
  779. package/dist/services/workspace-realization.d.ts.map +1 -0
  780. package/dist/services/workspace-realization.js +221 -0
  781. package/dist/services/workspace-realization.js.map +1 -0
  782. package/dist/services/workspace-runtime-read-model.d.ts +92 -0
  783. package/dist/services/workspace-runtime-read-model.d.ts.map +1 -0
  784. package/dist/services/workspace-runtime-read-model.js +67 -0
  785. package/dist/services/workspace-runtime-read-model.js.map +1 -0
  786. package/dist/services/workspace-runtime.d.ts +238 -0
  787. package/dist/services/workspace-runtime.d.ts.map +1 -0
  788. package/dist/services/workspace-runtime.js +2388 -0
  789. package/dist/services/workspace-runtime.js.map +1 -0
  790. package/dist/startup-banner.d.ts +32 -0
  791. package/dist/startup-banner.d.ts.map +1 -0
  792. package/dist/startup-banner.js +118 -0
  793. package/dist/startup-banner.js.map +1 -0
  794. package/dist/storage/index.d.ts +6 -0
  795. package/dist/storage/index.d.ts.map +1 -0
  796. package/dist/storage/index.js +29 -0
  797. package/dist/storage/index.js.map +1 -0
  798. package/dist/storage/local-disk-provider.d.ts +3 -0
  799. package/dist/storage/local-disk-provider.d.ts.map +1 -0
  800. package/dist/storage/local-disk-provider.js +79 -0
  801. package/dist/storage/local-disk-provider.js.map +1 -0
  802. package/dist/storage/provider-registry.d.ts +4 -0
  803. package/dist/storage/provider-registry.d.ts.map +1 -0
  804. package/dist/storage/provider-registry.js +15 -0
  805. package/dist/storage/provider-registry.js.map +1 -0
  806. package/dist/storage/s3-provider.d.ts +11 -0
  807. package/dist/storage/s3-provider.d.ts.map +1 -0
  808. package/dist/storage/s3-provider.js +123 -0
  809. package/dist/storage/s3-provider.js.map +1 -0
  810. package/dist/storage/service.d.ts +3 -0
  811. package/dist/storage/service.d.ts.map +1 -0
  812. package/dist/storage/service.js +120 -0
  813. package/dist/storage/service.js.map +1 -0
  814. package/dist/storage/types.d.ts +55 -0
  815. package/dist/storage/types.d.ts.map +1 -0
  816. package/dist/storage/types.js +2 -0
  817. package/dist/storage/types.js.map +1 -0
  818. package/dist/telemetry.d.ts +6 -0
  819. package/dist/telemetry.d.ts.map +1 -0
  820. package/dist/telemetry.js +20 -0
  821. package/dist/telemetry.js.map +1 -0
  822. package/dist/ui-branding.d.ts +13 -0
  823. package/dist/ui-branding.d.ts.map +1 -0
  824. package/dist/ui-branding.js +187 -0
  825. package/dist/ui-branding.js.map +1 -0
  826. package/dist/version.d.ts +2 -0
  827. package/dist/version.d.ts.map +1 -0
  828. package/dist/version.js +5 -0
  829. package/dist/version.js.map +1 -0
  830. package/dist/vite-html-renderer.d.ts +18 -0
  831. package/dist/vite-html-renderer.d.ts.map +1 -0
  832. package/dist/vite-html-renderer.js +61 -0
  833. package/dist/vite-html-renderer.js.map +1 -0
  834. package/dist/worktree-config.d.ts +19 -0
  835. package/dist/worktree-config.d.ts.map +1 -0
  836. package/dist/worktree-config.js +368 -0
  837. package/dist/worktree-config.js.map +1 -0
  838. package/package.json +90 -0
  839. package/skills/diagnose-why-work-stopped/SKILL.md +161 -0
  840. package/skills/evermore/SKILL.md +366 -0
  841. package/skills/evermore/references/api-reference.md +899 -0
  842. package/skills/evermore/references/company-skills.md +193 -0
  843. package/skills/evermore/references/issue-workspaces.md +80 -0
  844. package/skills/evermore/references/routines.md +187 -0
  845. package/skills/evermore/references/workflows.md +141 -0
  846. package/skills/evermore-converting-plans-to-tasks/SKILL.md +42 -0
  847. package/skills/evermore-create-agent/SKILL.md +163 -0
  848. package/skills/evermore-create-agent/references/agent-instruction-templates.md +123 -0
  849. package/skills/evermore-create-agent/references/agents/coder.md +64 -0
  850. package/skills/evermore-create-agent/references/agents/qa.md +88 -0
  851. package/skills/evermore-create-agent/references/agents/securityengineer.md +135 -0
  852. package/skills/evermore-create-agent/references/agents/uxdesigner.md +115 -0
  853. package/skills/evermore-create-agent/references/api-reference.md +110 -0
  854. package/skills/evermore-create-agent/references/baseline-role-guide.md +168 -0
  855. package/skills/evermore-create-agent/references/draft-review-checklist.md +95 -0
  856. package/skills/evermore-create-plugin/SKILL.md +101 -0
  857. package/skills/evermore-dev/SKILL.md +267 -0
  858. package/skills/para-memory-files/SKILL.md +104 -0
  859. package/skills/para-memory-files/references/schemas.md +35 -0
  860. package/skills/terminal-bench-loop/SKILL.md +236 -0
  861. package/ui-dist/android-chrome-192x192.png +0 -0
  862. package/ui-dist/android-chrome-512x512.png +0 -0
  863. package/ui-dist/apple-touch-icon.png +0 -0
  864. package/ui-dist/assets/_basePickBy-Ds9oHp1_.js +1 -0
  865. package/ui-dist/assets/_baseUniq-CHYwQyJ_.js +1 -0
  866. package/ui-dist/assets/apl-B4CMkyY2.js +1 -0
  867. package/ui-dist/assets/arc-CiUKtBzk.js +1 -0
  868. package/ui-dist/assets/architectureDiagram-VXUJARFQ-CAW2b6pT.js +36 -0
  869. package/ui-dist/assets/asciiarmor-Df11BRmG.js +1 -0
  870. package/ui-dist/assets/asn1-EdZsLKOL.js +1 -0
  871. package/ui-dist/assets/asterisk-B-8jnY81.js +1 -0
  872. package/ui-dist/assets/blockDiagram-VD42YOAC-1Rk6YCcn.js +122 -0
  873. package/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
  874. package/ui-dist/assets/c4Diagram-YG6GDRKO-DF5RJtyZ.js +10 -0
  875. package/ui-dist/assets/channel-D7SqxhNi.js +1 -0
  876. package/ui-dist/assets/chunk-4BX2VUAB-BSZDJAxk.js +1 -0
  877. package/ui-dist/assets/chunk-55IACEB6-DgVOW-V3.js +1 -0
  878. package/ui-dist/assets/chunk-B4BG7PRW-C1sGAq6t.js +165 -0
  879. package/ui-dist/assets/chunk-DI55MBZ5-DZyfq3VK.js +220 -0
  880. package/ui-dist/assets/chunk-FMBD7UC4-D6K9nYXi.js +15 -0
  881. package/ui-dist/assets/chunk-QN33PNHL-BJ0Ni2l9.js +1 -0
  882. package/ui-dist/assets/chunk-QZHKN3VN-Cwjr0vxG.js +1 -0
  883. package/ui-dist/assets/chunk-TZMSLE5B-C2RGCkyV.js +1 -0
  884. package/ui-dist/assets/classDiagram-2ON5EDUG-Cx1PlXXb.js +1 -0
  885. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-Cx1PlXXb.js +1 -0
  886. package/ui-dist/assets/clike-B9uivgTg.js +1 -0
  887. package/ui-dist/assets/clojure-BMjYHr_A.js +1 -0
  888. package/ui-dist/assets/clone-5ZE-SRxk.js +1 -0
  889. package/ui-dist/assets/cmake-BQqOBYOt.js +1 -0
  890. package/ui-dist/assets/cobol-CWcv1MsR.js +1 -0
  891. package/ui-dist/assets/coffeescript-S37ZYGWr.js +1 -0
  892. package/ui-dist/assets/commonlisp-DBKNyK5s.js +1 -0
  893. package/ui-dist/assets/cose-bilkent-S5V4N54A-CW0Mh3DC.js +1 -0
  894. package/ui-dist/assets/crystal-SjHAIU92.js +1 -0
  895. package/ui-dist/assets/css-BnMrqG3P.js +1 -0
  896. package/ui-dist/assets/cypher-C_CwsFkJ.js +1 -0
  897. package/ui-dist/assets/cytoscape.esm-jbPEKk2Y.js +321 -0
  898. package/ui-dist/assets/d-pRatUO7H.js +1 -0
  899. package/ui-dist/assets/dagre-6UL2VRFP-BXDbyGyw.js +4 -0
  900. package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  901. package/ui-dist/assets/diagram-PSM6KHXK-BHW-b3P9.js +24 -0
  902. package/ui-dist/assets/diagram-QEK2KX5R-vjGsaMmX.js +43 -0
  903. package/ui-dist/assets/diagram-S2PKOQOG-BHVhRqBj.js +24 -0
  904. package/ui-dist/assets/diff-DbItnlRl.js +1 -0
  905. package/ui-dist/assets/dockerfile-BKs6k2Af.js +1 -0
  906. package/ui-dist/assets/dtd-DF_7sFjM.js +1 -0
  907. package/ui-dist/assets/dylan-DwRh75JA.js +1 -0
  908. package/ui-dist/assets/ebnf-CDyGwa7X.js +1 -0
  909. package/ui-dist/assets/ecl-Cabwm37j.js +1 -0
  910. package/ui-dist/assets/eiffel-CnydiIhH.js +1 -0
  911. package/ui-dist/assets/elm-vLlmbW-K.js +1 -0
  912. package/ui-dist/assets/erDiagram-Q2GNP2WA-DwsdEDB2.js +60 -0
  913. package/ui-dist/assets/erlang-BNw1qcRV.js +1 -0
  914. package/ui-dist/assets/factor-kuTfRLto.js +1 -0
  915. package/ui-dist/assets/fcl-Kvtd6kyn.js +1 -0
  916. package/ui-dist/assets/flowDiagram-NV44I4VS-Bv7drkZu.js +162 -0
  917. package/ui-dist/assets/forth-Ffai-XNe.js +1 -0
  918. package/ui-dist/assets/fortran-DYz_wnZ1.js +1 -0
  919. package/ui-dist/assets/ganttDiagram-JELNMOA3-DyYAGyjV.js +267 -0
  920. package/ui-dist/assets/gas-Bneqetm1.js +1 -0
  921. package/ui-dist/assets/gherkin-heZmZLOM.js +1 -0
  922. package/ui-dist/assets/gitGraphDiagram-V2S2FVAM-DmKJJ2X0.js +65 -0
  923. package/ui-dist/assets/graph-BI12oqz9.js +1 -0
  924. package/ui-dist/assets/groovy-D9Dt4D0W.js +1 -0
  925. package/ui-dist/assets/haskell-Cw1EW3IL.js +1 -0
  926. package/ui-dist/assets/haxe-H-WmDvRZ.js +1 -0
  927. package/ui-dist/assets/http-DBlCnlav.js +1 -0
  928. package/ui-dist/assets/idl-BEugSyMb.js +1 -0
  929. package/ui-dist/assets/index-B1YmgKZD.js +1 -0
  930. package/ui-dist/assets/index-B5EG1mbW.js +1 -0
  931. package/ui-dist/assets/index-B63DPkk7.js +2 -0
  932. package/ui-dist/assets/index-BAalUM2u.js +1 -0
  933. package/ui-dist/assets/index-BCyQqUEQ.js +1 -0
  934. package/ui-dist/assets/index-BSRsyahM.js +1 -0
  935. package/ui-dist/assets/index-B_Iu4zUd.js +1 -0
  936. package/ui-dist/assets/index-C-BdZUIH.js +1 -0
  937. package/ui-dist/assets/index-CGgUnSQj.js +6 -0
  938. package/ui-dist/assets/index-COTIEysQ.js +1 -0
  939. package/ui-dist/assets/index-ChSqseHR.js +1 -0
  940. package/ui-dist/assets/index-Ckf1hADU.js +534 -0
  941. package/ui-dist/assets/index-D4M1TSCO.js +3 -0
  942. package/ui-dist/assets/index-DCTk2CN-.js +7 -0
  943. package/ui-dist/assets/index-DI-wyUUr.js +1 -0
  944. package/ui-dist/assets/index-DNtLqZ-D.js +1 -0
  945. package/ui-dist/assets/index-DSRR_614.css +1 -0
  946. package/ui-dist/assets/index-DarmgkJv.js +1 -0
  947. package/ui-dist/assets/index-DdcxF71a.js +1 -0
  948. package/ui-dist/assets/index-DfwWaMga.js +1 -0
  949. package/ui-dist/assets/index-SzUviW57.js +13 -0
  950. package/ui-dist/assets/index-VjZhELb6.js +1 -0
  951. package/ui-dist/assets/index-mEcmy8wG.js +1 -0
  952. package/ui-dist/assets/index-q7ldlDv6.js +1 -0
  953. package/ui-dist/assets/infoDiagram-HS3SLOUP-CqAxMRbC.js +2 -0
  954. package/ui-dist/assets/init-Gi6I4Gst.js +1 -0
  955. package/ui-dist/assets/javascript-iXu5QeM3.js +1 -0
  956. package/ui-dist/assets/journeyDiagram-XKPGCS4Q-DUJiudtY.js +139 -0
  957. package/ui-dist/assets/julia-DuME0IfC.js +1 -0
  958. package/ui-dist/assets/kanban-definition-3W4ZIXB7-CiRgJ4X2.js +89 -0
  959. package/ui-dist/assets/katex-B95LWT_Q.js +261 -0
  960. package/ui-dist/assets/layout-DJ8V2pqt.js +1 -0
  961. package/ui-dist/assets/linear-BwnNUuyZ.js +1 -0
  962. package/ui-dist/assets/livescript-BwQOo05w.js +1 -0
  963. package/ui-dist/assets/lua-BgMRiT3U.js +1 -0
  964. package/ui-dist/assets/mathematica-DTrFuWx2.js +1 -0
  965. package/ui-dist/assets/mbox-CNhZ1qSd.js +1 -0
  966. package/ui-dist/assets/mermaid.core-DLCiCWj4.js +250 -0
  967. package/ui-dist/assets/mindmap-definition-VGOIOE7T-epIiGA01.js +68 -0
  968. package/ui-dist/assets/mirc-CjQqDB4T.js +1 -0
  969. package/ui-dist/assets/mllike-CXdrOF99.js +1 -0
  970. package/ui-dist/assets/modelica-Dc1JOy9r.js +1 -0
  971. package/ui-dist/assets/mscgen-BA5vi2Kp.js +1 -0
  972. package/ui-dist/assets/mumps-BT43cFF4.js +1 -0
  973. package/ui-dist/assets/nginx-DdIZxoE0.js +1 -0
  974. package/ui-dist/assets/nsis-LdVXkNf5.js +1 -0
  975. package/ui-dist/assets/ntriples-BfvgReVJ.js +1 -0
  976. package/ui-dist/assets/octave-Ck1zUtKM.js +1 -0
  977. package/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
  978. package/ui-dist/assets/oz-BzwKVEFT.js +1 -0
  979. package/ui-dist/assets/pascal--L3eBynH.js +1 -0
  980. package/ui-dist/assets/perl-CdXCOZ3F.js +1 -0
  981. package/ui-dist/assets/pieDiagram-ADFJNKIX-CHx4pJ9Y.js +30 -0
  982. package/ui-dist/assets/pig-CevX1Tat.js +1 -0
  983. package/ui-dist/assets/powershell-CFHJl5sT.js +1 -0
  984. package/ui-dist/assets/properties-C78fOPTZ.js +1 -0
  985. package/ui-dist/assets/protobuf-ChK-085T.js +1 -0
  986. package/ui-dist/assets/pug-DeIclll2.js +1 -0
  987. package/ui-dist/assets/puppet-DMA9R1ak.js +1 -0
  988. package/ui-dist/assets/python-BuPzkPfP.js +1 -0
  989. package/ui-dist/assets/q-pXgVlZs6.js +1 -0
  990. package/ui-dist/assets/quadrantDiagram-AYHSOK5B-D0tXmGxE.js +7 -0
  991. package/ui-dist/assets/r-B6wPVr8A.js +1 -0
  992. package/ui-dist/assets/requirementDiagram-UZGBJVZJ-BgFc9Xc4.js +64 -0
  993. package/ui-dist/assets/rpm-CTu-6PCP.js +1 -0
  994. package/ui-dist/assets/ruby-B2Rjki9n.js +1 -0
  995. package/ui-dist/assets/sankeyDiagram-TZEHDZUN-DqntX5wV.js +10 -0
  996. package/ui-dist/assets/sas-B4kiWyti.js +1 -0
  997. package/ui-dist/assets/scheme-C41bIUwD.js +1 -0
  998. package/ui-dist/assets/sequenceDiagram-WL72ISMW-BfIJeGAT.js +145 -0
  999. package/ui-dist/assets/shell-CjFT_Tl9.js +1 -0
  1000. package/ui-dist/assets/sieve-C3Gn_uJK.js +1 -0
  1001. package/ui-dist/assets/simple-mode-GW_nhZxv.js +1 -0
  1002. package/ui-dist/assets/smalltalk-CnHTOXQT.js +1 -0
  1003. package/ui-dist/assets/solr-DehyRSwq.js +1 -0
  1004. package/ui-dist/assets/sparql-DkYu6x3z.js +1 -0
  1005. package/ui-dist/assets/spreadsheet-BCZA_wO0.js +1 -0
  1006. package/ui-dist/assets/sql-D0XecflT.js +1 -0
  1007. package/ui-dist/assets/stateDiagram-FKZM4ZOC-CBlsmcoW.js +1 -0
  1008. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DJtH2tCS.js +1 -0
  1009. package/ui-dist/assets/stex-C3f8Ysf7.js +1 -0
  1010. package/ui-dist/assets/stylus-B533Al4x.js +1 -0
  1011. package/ui-dist/assets/swift-BzpIVaGY.js +1 -0
  1012. package/ui-dist/assets/tcl-DVfN8rqt.js +1 -0
  1013. package/ui-dist/assets/textile-CnDTJFAw.js +1 -0
  1014. package/ui-dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  1015. package/ui-dist/assets/tiki-DGYXhP31.js +1 -0
  1016. package/ui-dist/assets/timeline-definition-IT6M3QCI-C2XyT4Lo.js +61 -0
  1017. package/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
  1018. package/ui-dist/assets/treemap-GDKQZRPO-DvTrxs0e.js +154 -0
  1019. package/ui-dist/assets/troff-wAsdV37c.js +1 -0
  1020. package/ui-dist/assets/ttcn-CfJYG6tj.js +1 -0
  1021. package/ui-dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  1022. package/ui-dist/assets/turtle-B1tBg_DP.js +1 -0
  1023. package/ui-dist/assets/vb-CmGdzxic.js +1 -0
  1024. package/ui-dist/assets/vbscript-BuJXcnF6.js +1 -0
  1025. package/ui-dist/assets/velocity-D8B20fx6.js +1 -0
  1026. package/ui-dist/assets/verilog-C6RDOZhf.js +1 -0
  1027. package/ui-dist/assets/vhdl-lSbBsy5d.js +1 -0
  1028. package/ui-dist/assets/webidl-ZXfAyPTL.js +1 -0
  1029. package/ui-dist/assets/xquery-DzFWVndE.js +1 -0
  1030. package/ui-dist/assets/xychartDiagram-PRI3JC2R-pTizTbG0.js +7 -0
  1031. package/ui-dist/assets/yacas-BJ4BC0dw.js +1 -0
  1032. package/ui-dist/assets/z80-Hz9HOZM7.js +1 -0
  1033. package/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
  1034. package/ui-dist/brands/opencode-logo-light-square.svg +18 -0
  1035. package/ui-dist/favicon-16x16.png +0 -0
  1036. package/ui-dist/favicon-32x32.png +0 -0
  1037. package/ui-dist/favicon.ico +0 -0
  1038. package/ui-dist/favicon.svg +9 -0
  1039. package/ui-dist/index.html +49 -0
  1040. package/ui-dist/site.webmanifest +30 -0
  1041. package/ui-dist/sw.js +42 -0
  1042. package/ui-dist/worktree-favicon-16x16.png +0 -0
  1043. package/ui-dist/worktree-favicon-32x32.png +0 -0
  1044. package/ui-dist/worktree-favicon.ico +0 -0
  1045. package/ui-dist/worktree-favicon.svg +9 -0
@@ -0,0 +1,626 @@
1
+ import { and, desc, eq, isNull, sql } from "drizzle-orm";
2
+ import { agents, companies, issues, projects } from "@evermore.work/db";
3
+ import { COMPANY_SEARCH_MAX_LIMIT, COMPANY_SEARCH_MAX_OFFSET, COMPANY_SEARCH_MAX_TOKENS, } from "@evermore.work/shared";
4
+ const MIN_TOKEN_LENGTH = 2;
5
+ const MIN_FUZZY_QUERY_LENGTH = 4;
6
+ const MIN_FUZZY_TOKEN_LENGTH = 4;
7
+ // Cap fuzzy edits using the shorter of (query token, title word) so common
8
+ // 4–5 letter English words don't sweep in noise (e.g. "serach" vs "each").
9
+ const FUZZY_PAIR_LONG_LENGTH = 6;
10
+ const FUZZY_PAIR_LONG_MAX_EDITS = 2;
11
+ const FUZZY_PAIR_MEDIUM_LENGTH = 5;
12
+ const FUZZY_PAIR_MEDIUM_MAX_EDITS = 1;
13
+ const FUZZY_PAIR_SHORT_MAX_EDITS = 0;
14
+ const FUZZY_IDENTIFIER_SIMILARITY_THRESHOLD = 0.45;
15
+ const SNIPPET_MAX_CHARS = 240;
16
+ export const COMPANY_SEARCH_BRANCH_FETCH_LIMIT = COMPANY_SEARCH_MAX_OFFSET + COMPANY_SEARCH_MAX_LIMIT + 1;
17
+ function normalizeQuery(query) {
18
+ return query.trim().replace(/\s+/g, " ").toLowerCase();
19
+ }
20
+ function escapeLikePattern(value) {
21
+ return value.replace(/[\\%_]/g, "\\$&");
22
+ }
23
+ function tokenizeQuery(normalizedQuery) {
24
+ const matches = normalizedQuery.match(/"[^"]+"|[^\s]+/g) ?? [];
25
+ const tokens = [];
26
+ for (const match of matches) {
27
+ const token = match.replace(/^"|"$/g, "").replace(/^[^\p{L}\p{N}%_\\-]+|[^\p{L}\p{N}%_\\-]+$/gu, "");
28
+ if (token.length < MIN_TOKEN_LENGTH)
29
+ continue;
30
+ if (!tokens.includes(token))
31
+ tokens.push(token);
32
+ if (tokens.length >= COMPANY_SEARCH_MAX_TOKENS)
33
+ break;
34
+ }
35
+ return tokens;
36
+ }
37
+ function fuzzyEligibleTokens(tokens) {
38
+ return tokens.filter((token) => token.length >= MIN_FUZZY_TOKEN_LENGTH);
39
+ }
40
+ function sqlTextArray(values) {
41
+ if (values.length === 0)
42
+ return sql `ARRAY[]::text[]`;
43
+ return sql `ARRAY[${sql.join(values.map((value) => sql `${value}`), sql `, `)}]::text[]`;
44
+ }
45
+ function tokenMatchExpression(textExpression, tokenArray) {
46
+ return sql `
47
+ EXISTS (
48
+ SELECT 1
49
+ FROM unnest(${tokenArray}) AS search_token(value)
50
+ WHERE lower(coalesce(${textExpression}, '')) LIKE '%' || search_token.value || '%' ESCAPE '\\'
51
+ )
52
+ `;
53
+ }
54
+ function noMatchSql() {
55
+ return sql `false`;
56
+ }
57
+ function plainText(value) {
58
+ return (value ?? "")
59
+ .replace(/```[\s\S]*?```/g, " ")
60
+ .replace(/`([^`]+)`/g, "$1")
61
+ .replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
62
+ .replace(/[#>*_~|]+/g, " ")
63
+ .replace(/\s+/g, " ")
64
+ .trim();
65
+ }
66
+ const MARKDOWN_IMAGE_PATTERN = /!\[[^\]]*\]\(\s*([^)\s]+)(?:\s+"[^"]*")?\s*\)/;
67
+ function extractFirstImageUrl(value) {
68
+ if (!value)
69
+ return null;
70
+ const match = MARKDOWN_IMAGE_PATTERN.exec(value);
71
+ return match ? match[1] : null;
72
+ }
73
+ function findFirstMatchIndex(value, terms) {
74
+ const lower = value.toLowerCase();
75
+ let best = -1;
76
+ for (const term of terms) {
77
+ if (term.length === 0)
78
+ continue;
79
+ const index = lower.indexOf(term.toLowerCase());
80
+ if (index >= 0 && (best < 0 || index < best))
81
+ best = index;
82
+ }
83
+ return best;
84
+ }
85
+ function highlightRanges(value, terms) {
86
+ const lower = value.toLowerCase();
87
+ const ranges = [];
88
+ for (const term of terms) {
89
+ const normalized = term.toLowerCase();
90
+ if (normalized.length === 0)
91
+ continue;
92
+ let index = lower.indexOf(normalized);
93
+ while (index >= 0) {
94
+ const next = { start: index, end: index + normalized.length };
95
+ const overlaps = ranges.some((range) => next.start < range.end && next.end > range.start);
96
+ if (!overlaps)
97
+ ranges.push(next);
98
+ index = lower.indexOf(normalized, index + normalized.length);
99
+ }
100
+ }
101
+ return ranges.sort((left, right) => left.start - right.start);
102
+ }
103
+ function createSnippet(field, label, source, terms) {
104
+ const text = plainText(source);
105
+ if (!text)
106
+ return null;
107
+ const firstMatch = findFirstMatchIndex(text, terms);
108
+ const windowStart = firstMatch < 0 ? 0 : Math.max(0, firstMatch - 80);
109
+ const windowEnd = Math.min(text.length, windowStart + SNIPPET_MAX_CHARS);
110
+ const prefix = windowStart > 0 ? "..." : "";
111
+ const suffix = windowEnd < text.length ? "..." : "";
112
+ const slice = text.slice(windowStart, windowEnd).trim();
113
+ const snippetText = `${prefix}${slice}${suffix}`;
114
+ const offset = prefix.length - windowStart;
115
+ return {
116
+ field,
117
+ label,
118
+ text: snippetText,
119
+ highlights: highlightRanges(text, terms)
120
+ .filter((range) => range.end > windowStart && range.start < windowEnd)
121
+ .map((range) => ({
122
+ start: Math.max(0, range.start + offset),
123
+ end: Math.min(snippetText.length, range.end + offset),
124
+ })),
125
+ };
126
+ }
127
+ function iso(value) {
128
+ if (!value)
129
+ return null;
130
+ return value instanceof Date ? value.toISOString() : new Date(value).toISOString();
131
+ }
132
+ function routePrefix(issuePrefix) {
133
+ return issuePrefix?.trim() || "company";
134
+ }
135
+ function issueHref(prefix, issue, suffix = "") {
136
+ return `/${prefix}/issues/${encodeURIComponent(issue.identifier ?? issue.id)}${suffix}`;
137
+ }
138
+ function matchTerms(normalizedQuery, tokens) {
139
+ return [normalizedQuery, ...tokens].filter((term, index, terms) => term.length > 0 && terms.indexOf(term) === index);
140
+ }
141
+ function makeCounts(results) {
142
+ const counts = { issue: 0, agent: 0, project: 0 };
143
+ for (const result of results)
144
+ counts[result.type] += 1;
145
+ return counts;
146
+ }
147
+ function scopeIncludesIssues(scope) {
148
+ return scope === "all" || scope === "issues" || scope === "comments" || scope === "documents";
149
+ }
150
+ function scopeIncludesAgents(scope) {
151
+ return scope === "all" || scope === "agents";
152
+ }
153
+ function scopeIncludesProjects(scope) {
154
+ return scope === "all" || scope === "projects";
155
+ }
156
+ function issueSearchCondition(scope, input) {
157
+ if (scope === "comments")
158
+ return input.commentMatch;
159
+ if (scope === "documents")
160
+ return input.documentMatch;
161
+ if (scope === "issues")
162
+ return sql `(${input.issueTextMatch} OR ${input.fuzzyMatch})`;
163
+ return sql `(${input.issueTextMatch} OR ${input.commentMatch} OR ${input.documentMatch} OR ${input.fuzzyMatch})`;
164
+ }
165
+ function selectPrimarySnippets(row, normalizedQuery, tokens) {
166
+ const terms = matchTerms(normalizedQuery, tokens);
167
+ const matchedFields = new Set(row.matchedFields ?? []);
168
+ const candidates = [];
169
+ if (matchedFields.has("identifier")) {
170
+ candidates.push(createSnippet("identifier", "Identifier", row.identifier, terms));
171
+ }
172
+ if (matchedFields.has("title")) {
173
+ candidates.push(createSnippet("title", "Title", row.title, terms));
174
+ }
175
+ if (matchedFields.has("comment")) {
176
+ candidates.push(createSnippet("comment", "Comment", row.commentSnippet, terms));
177
+ }
178
+ if (matchedFields.has("document")) {
179
+ candidates.push(createSnippet("document", row.documentTitle || "Document", row.documentSnippet, terms));
180
+ }
181
+ if (matchedFields.has("description")) {
182
+ candidates.push(createSnippet("description", "Description", row.description, terms));
183
+ }
184
+ return candidates.filter((snippet) => Boolean(snippet)).slice(0, 2);
185
+ }
186
+ function issueResult(row, prefix, normalizedQuery, tokens) {
187
+ const snippets = selectPrimarySnippets(row, normalizedQuery, tokens);
188
+ const sourceLabel = snippets[0]?.label ?? null;
189
+ const documentSuffix = row.documentKey ? `#document-${encodeURIComponent(row.documentKey)}` : "";
190
+ const commentSuffix = row.commentId ? `#comment-${encodeURIComponent(row.commentId)}` : "";
191
+ const suffix = row.commentId ? commentSuffix : documentSuffix;
192
+ const issue = {
193
+ id: row.id,
194
+ identifier: row.identifier,
195
+ title: row.title,
196
+ status: row.status,
197
+ priority: row.priority,
198
+ assigneeAgentId: row.assigneeAgentId,
199
+ assigneeUserId: row.assigneeUserId,
200
+ projectId: row.projectId,
201
+ updatedAt: iso(row.updatedAt),
202
+ };
203
+ const previewImageUrl = extractFirstImageUrl(row.description) ??
204
+ extractFirstImageUrl(row.commentSnippet) ??
205
+ extractFirstImageUrl(row.documentSnippet);
206
+ return {
207
+ id: row.id,
208
+ type: "issue",
209
+ score: Number(row.score),
210
+ title: row.identifier ? `${row.identifier} ${row.title}` : row.title,
211
+ href: issueHref(prefix, row, suffix),
212
+ matchedFields: row.matchedFields ?? [],
213
+ sourceLabel,
214
+ snippet: snippets[0]?.text ?? null,
215
+ snippets,
216
+ issue,
217
+ updatedAt: issue.updatedAt,
218
+ previewImageUrl,
219
+ };
220
+ }
221
+ function scoreSimpleRow(row, normalizedQuery, tokens) {
222
+ const haystack = [row.title, row.description, row.role].filter(Boolean).join(" ").toLowerCase();
223
+ let score = haystack.includes(normalizedQuery) ? 90 : 0;
224
+ for (const token of tokens) {
225
+ if (haystack.includes(token))
226
+ score += 20;
227
+ }
228
+ if (row.title.toLowerCase().startsWith(normalizedQuery))
229
+ score += 80;
230
+ return score;
231
+ }
232
+ function simpleTextCondition(fields, containsPattern, tokenArray) {
233
+ const phraseConditions = fields.map((field) => sql `lower(coalesce(${field}, '')) LIKE ${containsPattern} ESCAPE '\\'`);
234
+ const tokenConditions = fields.map((field) => tokenMatchExpression(field, tokenArray));
235
+ return sql `(${sql.join([...phraseConditions, ...tokenConditions], sql ` OR `)})`;
236
+ }
237
+ export function companySearchBranchFetchLimit(limit, offset = 0) {
238
+ const normalizedLimit = Number.isFinite(limit) ? Math.max(1, Math.floor(limit)) : COMPANY_SEARCH_MAX_LIMIT;
239
+ const normalizedOffset = Number.isFinite(offset) ? Math.max(0, Math.floor(offset)) : 0;
240
+ return Math.min(COMPANY_SEARCH_BRANCH_FETCH_LIMIT, normalizedOffset + normalizedLimit + 1);
241
+ }
242
+ export function companySearchService(db) {
243
+ return {
244
+ search: async (companyId, query) => {
245
+ const normalizedQuery = normalizeQuery(query.q);
246
+ const tokens = tokenizeQuery(normalizedQuery);
247
+ const scope = query.scope;
248
+ const limit = query.limit;
249
+ const offset = query.offset;
250
+ const emptyCounts = { issue: 0, agent: 0, project: 0 };
251
+ if (normalizedQuery.length === 0) {
252
+ return {
253
+ query: query.q,
254
+ normalizedQuery,
255
+ scope,
256
+ limit,
257
+ offset,
258
+ results: [],
259
+ countsByType: emptyCounts,
260
+ hasMore: false,
261
+ };
262
+ }
263
+ const company = await db
264
+ .select({ issuePrefix: companies.issuePrefix })
265
+ .from(companies)
266
+ .where(eq(companies.id, companyId))
267
+ .then((rows) => rows[0] ?? null);
268
+ const prefix = routePrefix(company?.issuePrefix);
269
+ const fetchLimit = companySearchBranchFetchLimit(limit, offset);
270
+ const escapedTokens = tokens.map(escapeLikePattern);
271
+ const tokenArray = sqlTextArray(escapedTokens);
272
+ const fuzzyTokens = fuzzyEligibleTokens(tokens);
273
+ const fuzzyTokenArray = sqlTextArray(fuzzyTokens);
274
+ const escapedQuery = escapeLikePattern(normalizedQuery);
275
+ const containsPattern = `%${escapedQuery}%`;
276
+ const startsWithPattern = `${escapedQuery}%`;
277
+ const fuzzyEnabled = normalizedQuery.length >= MIN_FUZZY_QUERY_LENGTH && !/[\\%_]/.test(normalizedQuery);
278
+ const fuzzyTokensEnabled = fuzzyEnabled && fuzzyTokens.length > 0;
279
+ const titlePhraseMatch = sql `lower(${issues.title}) LIKE ${containsPattern} ESCAPE '\\'`;
280
+ const titleStartsWith = sql `lower(${issues.title}) LIKE ${startsWithPattern} ESCAPE '\\'`;
281
+ const identifierPhraseMatch = sql `lower(coalesce(${issues.identifier}, '')) LIKE ${containsPattern} ESCAPE '\\'`;
282
+ const identifierStartsWith = sql `lower(coalesce(${issues.identifier}, '')) LIKE ${startsWithPattern} ESCAPE '\\'`;
283
+ const descriptionPhraseMatch = sql `lower(coalesce(${issues.description}, '')) LIKE ${containsPattern} ESCAPE '\\'`;
284
+ const titleTokenMatch = tokenMatchExpression(sql `${issues.title}`, tokenArray);
285
+ const identifierTokenMatch = tokenMatchExpression(sql `${issues.identifier}`, tokenArray);
286
+ const descriptionTokenMatch = tokenMatchExpression(sql `${issues.description}`, tokenArray);
287
+ const issueTextMatch = sql `
288
+ ${titlePhraseMatch}
289
+ OR ${identifierPhraseMatch}
290
+ OR ${descriptionPhraseMatch}
291
+ OR ${titleTokenMatch}
292
+ OR ${identifierTokenMatch}
293
+ OR ${descriptionTokenMatch}
294
+ `;
295
+ const commentMatch = sql `
296
+ EXISTS (
297
+ SELECT 1
298
+ FROM issue_comments search_comments
299
+ WHERE search_comments.company_id = ${companyId}
300
+ AND search_comments.issue_id = issues.id
301
+ AND (
302
+ lower(search_comments.body) LIKE ${containsPattern} ESCAPE '\\'
303
+ OR ${tokenMatchExpression(sql `search_comments.body`, tokenArray)}
304
+ )
305
+ )
306
+ `;
307
+ const documentMatch = sql `
308
+ EXISTS (
309
+ SELECT 1
310
+ FROM issue_documents search_issue_documents
311
+ INNER JOIN documents search_documents
312
+ ON search_documents.id = search_issue_documents.document_id
313
+ WHERE search_issue_documents.company_id = ${companyId}
314
+ AND search_documents.company_id = ${companyId}
315
+ AND search_issue_documents.issue_id = issues.id
316
+ AND (
317
+ lower(coalesce(search_documents.title, '')) LIKE ${containsPattern} ESCAPE '\\'
318
+ OR lower(search_documents.latest_body) LIKE ${containsPattern} ESCAPE '\\'
319
+ OR ${tokenMatchExpression(sql `search_documents.title`, tokenArray)}
320
+ OR ${tokenMatchExpression(sql `search_documents.latest_body`, tokenArray)}
321
+ )
322
+ )
323
+ `;
324
+ // Each query token (length >= MIN_FUZZY_TOKEN_LENGTH) must have at least
325
+ // one title word within Levenshtein edit distance. This handles typos
326
+ // like "serach" -> "search" (transposition) and "mibile" -> "mobile"
327
+ // (substitution) without the trigram noise that drop-character variants
328
+ // produced (e.g. "serac" matching "service"). Edit budget is gated on
329
+ // the SHORTER of the two strings so 4–5 letter English words don't get
330
+ // swept in by lev=2 collisions.
331
+ const fuzzyMaxEditsExpr = sql.raw(`CASE
332
+ WHEN least(length(qt.value), length(title_word.value)) >= ${FUZZY_PAIR_LONG_LENGTH} THEN ${FUZZY_PAIR_LONG_MAX_EDITS}
333
+ WHEN least(length(qt.value), length(title_word.value)) >= ${FUZZY_PAIR_MEDIUM_LENGTH} THEN ${FUZZY_PAIR_MEDIUM_MAX_EDITS}
334
+ ELSE ${FUZZY_PAIR_SHORT_MAX_EDITS}
335
+ END`);
336
+ const fuzzyMinTitleWordLengthExpr = sql.raw(`${MIN_FUZZY_TOKEN_LENGTH}`);
337
+ const fuzzyTokenTitleMatch = fuzzyTokensEnabled
338
+ ? sql `
339
+ coalesce((
340
+ SELECT bool_and(
341
+ EXISTS (
342
+ SELECT 1
343
+ FROM regexp_split_to_table(lower(${issues.title}), '[^a-z0-9]+') AS title_word(value)
344
+ WHERE length(title_word.value) >= ${fuzzyMinTitleWordLengthExpr}
345
+ AND levenshtein_less_equal(qt.value, title_word.value, ${fuzzyMaxEditsExpr}) <= ${fuzzyMaxEditsExpr}
346
+ )
347
+ )
348
+ FROM unnest(${fuzzyTokenArray}) AS qt(value)
349
+ ), false)
350
+ `
351
+ : noMatchSql();
352
+ const fuzzyIdentifierMatch = fuzzyEnabled
353
+ ? sql `similarity(lower(coalesce(${issues.identifier}, '')), ${normalizedQuery}) >= ${FUZZY_IDENTIFIER_SIMILARITY_THRESHOLD}`
354
+ : noMatchSql();
355
+ const fuzzyMatch = sql `(${fuzzyTokenTitleMatch} OR ${fuzzyIdentifierMatch})`;
356
+ const tokenCoverage = sql `
357
+ (
358
+ SELECT count(*)::int
359
+ FROM unnest(${tokenArray}) AS search_token(value)
360
+ WHERE lower(${issues.title}) LIKE '%' || search_token.value || '%' ESCAPE '\\'
361
+ OR lower(coalesce(${issues.identifier}, '')) LIKE '%' || search_token.value || '%' ESCAPE '\\'
362
+ OR lower(coalesce(${issues.description}, '')) LIKE '%' || search_token.value || '%' ESCAPE '\\'
363
+ OR EXISTS (
364
+ SELECT 1
365
+ FROM issue_comments coverage_comments
366
+ WHERE coverage_comments.company_id = ${companyId}
367
+ AND coverage_comments.issue_id = issues.id
368
+ AND lower(coverage_comments.body) LIKE '%' || search_token.value || '%' ESCAPE '\\'
369
+ )
370
+ OR EXISTS (
371
+ SELECT 1
372
+ FROM issue_documents coverage_issue_documents
373
+ INNER JOIN documents coverage_documents
374
+ ON coverage_documents.id = coverage_issue_documents.document_id
375
+ WHERE coverage_issue_documents.company_id = ${companyId}
376
+ AND coverage_documents.company_id = ${companyId}
377
+ AND coverage_issue_documents.issue_id = issues.id
378
+ AND (
379
+ lower(coalesce(coverage_documents.title, '')) LIKE '%' || search_token.value || '%' ESCAPE '\\'
380
+ OR lower(coverage_documents.latest_body) LIKE '%' || search_token.value || '%' ESCAPE '\\'
381
+ )
382
+ )
383
+ )
384
+ `;
385
+ const tokenCount = tokens.length;
386
+ const allTokensMatch = tokenCount > 0
387
+ ? sql `${tokenCoverage} = ${tokenCount}`
388
+ : noMatchSql();
389
+ const score = sql `
390
+ (
391
+ CASE WHEN lower(coalesce(${issues.identifier}, '')) = ${normalizedQuery} THEN 1200 ELSE 0 END
392
+ + CASE WHEN ${identifierStartsWith} THEN 700 ELSE 0 END
393
+ + CASE WHEN lower(${issues.title}) = ${normalizedQuery} THEN 900 ELSE 0 END
394
+ + CASE WHEN ${titleStartsWith} THEN 550 ELSE 0 END
395
+ + CASE WHEN ${titlePhraseMatch} THEN 350 ELSE 0 END
396
+ + CASE WHEN ${identifierPhraseMatch} THEN 320 ELSE 0 END
397
+ + CASE WHEN ${commentMatch} THEN 180 ELSE 0 END
398
+ + CASE WHEN ${documentMatch} THEN 170 ELSE 0 END
399
+ + CASE WHEN ${descriptionPhraseMatch} THEN 120 ELSE 0 END
400
+ + CASE WHEN ${allTokensMatch} THEN 260 ELSE 0 END
401
+ + (${tokenCoverage} * 70)
402
+ + CASE WHEN ${fuzzyMatch} THEN 110 ELSE 0 END
403
+ + CASE ${issues.status} WHEN 'done' THEN 0 WHEN 'cancelled' THEN -30 ELSE 20 END
404
+ )::double precision
405
+ `;
406
+ const matchedFields = sql `
407
+ array_remove(ARRAY[
408
+ CASE WHEN ${identifierPhraseMatch} OR ${identifierTokenMatch} OR ${fuzzyIdentifierMatch} THEN 'identifier' END,
409
+ CASE WHEN ${titlePhraseMatch} OR ${titleTokenMatch} OR ${fuzzyTokenTitleMatch} THEN 'title' END,
410
+ CASE WHEN ${descriptionPhraseMatch} OR ${descriptionTokenMatch} THEN 'description' END,
411
+ CASE WHEN ${commentMatch} THEN 'comment' END,
412
+ CASE WHEN ${documentMatch} THEN 'document' END
413
+ ], NULL)::text[]
414
+ `;
415
+ const issueRows = scopeIncludesIssues(scope)
416
+ ? await db
417
+ .select({
418
+ id: issues.id,
419
+ identifier: issues.identifier,
420
+ title: issues.title,
421
+ description: issues.description,
422
+ status: issues.status,
423
+ priority: issues.priority,
424
+ assigneeAgentId: issues.assigneeAgentId,
425
+ assigneeUserId: issues.assigneeUserId,
426
+ projectId: issues.projectId,
427
+ updatedAt: issues.updatedAt,
428
+ score,
429
+ matchedFields,
430
+ commentSnippet: sql `
431
+ (
432
+ SELECT search_comments.body
433
+ FROM issue_comments search_comments
434
+ WHERE search_comments.company_id = ${companyId}
435
+ AND search_comments.issue_id = issues.id
436
+ AND (
437
+ lower(search_comments.body) LIKE ${containsPattern} ESCAPE '\\'
438
+ OR ${tokenMatchExpression(sql `search_comments.body`, tokenArray)}
439
+ )
440
+ ORDER BY
441
+ CASE WHEN lower(search_comments.body) LIKE ${containsPattern} ESCAPE '\\' THEN 0 ELSE 1 END,
442
+ search_comments.updated_at DESC,
443
+ search_comments.id DESC
444
+ LIMIT 1
445
+ )
446
+ `,
447
+ commentId: sql `
448
+ (
449
+ SELECT search_comments.id
450
+ FROM issue_comments search_comments
451
+ WHERE search_comments.company_id = ${companyId}
452
+ AND search_comments.issue_id = issues.id
453
+ AND (
454
+ lower(search_comments.body) LIKE ${containsPattern} ESCAPE '\\'
455
+ OR ${tokenMatchExpression(sql `search_comments.body`, tokenArray)}
456
+ )
457
+ ORDER BY
458
+ CASE WHEN lower(search_comments.body) LIKE ${containsPattern} ESCAPE '\\' THEN 0 ELSE 1 END,
459
+ search_comments.updated_at DESC,
460
+ search_comments.id DESC
461
+ LIMIT 1
462
+ )
463
+ `,
464
+ documentSnippet: sql `
465
+ (
466
+ SELECT search_documents.latest_body
467
+ FROM issue_documents search_issue_documents
468
+ INNER JOIN documents search_documents
469
+ ON search_documents.id = search_issue_documents.document_id
470
+ WHERE search_issue_documents.company_id = ${companyId}
471
+ AND search_documents.company_id = ${companyId}
472
+ AND search_issue_documents.issue_id = issues.id
473
+ AND (
474
+ lower(coalesce(search_documents.title, '')) LIKE ${containsPattern} ESCAPE '\\'
475
+ OR lower(search_documents.latest_body) LIKE ${containsPattern} ESCAPE '\\'
476
+ OR ${tokenMatchExpression(sql `search_documents.title`, tokenArray)}
477
+ OR ${tokenMatchExpression(sql `search_documents.latest_body`, tokenArray)}
478
+ )
479
+ ORDER BY
480
+ CASE
481
+ WHEN lower(coalesce(search_documents.title, '')) LIKE ${containsPattern} ESCAPE '\\' THEN 0
482
+ WHEN lower(search_documents.latest_body) LIKE ${containsPattern} ESCAPE '\\' THEN 1
483
+ ELSE 2
484
+ END,
485
+ search_documents.updated_at DESC,
486
+ search_documents.id DESC
487
+ LIMIT 1
488
+ )
489
+ `,
490
+ documentTitle: sql `
491
+ (
492
+ SELECT search_documents.title
493
+ FROM issue_documents search_issue_documents
494
+ INNER JOIN documents search_documents
495
+ ON search_documents.id = search_issue_documents.document_id
496
+ WHERE search_issue_documents.company_id = ${companyId}
497
+ AND search_documents.company_id = ${companyId}
498
+ AND search_issue_documents.issue_id = issues.id
499
+ AND (
500
+ lower(coalesce(search_documents.title, '')) LIKE ${containsPattern} ESCAPE '\\'
501
+ OR lower(search_documents.latest_body) LIKE ${containsPattern} ESCAPE '\\'
502
+ OR ${tokenMatchExpression(sql `search_documents.title`, tokenArray)}
503
+ OR ${tokenMatchExpression(sql `search_documents.latest_body`, tokenArray)}
504
+ )
505
+ ORDER BY search_documents.updated_at DESC, search_documents.id DESC
506
+ LIMIT 1
507
+ )
508
+ `,
509
+ documentKey: sql `
510
+ (
511
+ SELECT search_issue_documents.key
512
+ FROM issue_documents search_issue_documents
513
+ INNER JOIN documents search_documents
514
+ ON search_documents.id = search_issue_documents.document_id
515
+ WHERE search_issue_documents.company_id = ${companyId}
516
+ AND search_documents.company_id = ${companyId}
517
+ AND search_issue_documents.issue_id = issues.id
518
+ AND (
519
+ lower(coalesce(search_documents.title, '')) LIKE ${containsPattern} ESCAPE '\\'
520
+ OR lower(search_documents.latest_body) LIKE ${containsPattern} ESCAPE '\\'
521
+ OR ${tokenMatchExpression(sql `search_documents.title`, tokenArray)}
522
+ OR ${tokenMatchExpression(sql `search_documents.latest_body`, tokenArray)}
523
+ )
524
+ ORDER BY search_documents.updated_at DESC, search_documents.id DESC
525
+ LIMIT 1
526
+ )
527
+ `,
528
+ })
529
+ .from(issues)
530
+ .where(and(eq(issues.companyId, companyId), isNull(issues.hiddenAt), issueSearchCondition(scope, { issueTextMatch, commentMatch, documentMatch, fuzzyMatch })))
531
+ .orderBy(desc(score), desc(issues.updatedAt), desc(issues.id))
532
+ .limit(fetchLimit)
533
+ : [];
534
+ const simpleCondition = simpleTextCondition([
535
+ sql `${agents.name}`,
536
+ sql `${agents.role}`,
537
+ sql `${agents.title}`,
538
+ sql `${agents.capabilities}`,
539
+ ], containsPattern, tokenArray);
540
+ const agentRows = scopeIncludesAgents(scope)
541
+ ? await db
542
+ .select({
543
+ id: agents.id,
544
+ title: agents.name,
545
+ description: agents.capabilities,
546
+ role: agents.role,
547
+ updatedAt: agents.updatedAt,
548
+ })
549
+ .from(agents)
550
+ .where(and(eq(agents.companyId, companyId), simpleCondition))
551
+ .orderBy(desc(agents.updatedAt), desc(agents.id))
552
+ .limit(fetchLimit)
553
+ : [];
554
+ const projectCondition = simpleTextCondition([
555
+ sql `${projects.name}`,
556
+ sql `${projects.description}`,
557
+ ], containsPattern, tokenArray);
558
+ const projectRows = scopeIncludesProjects(scope)
559
+ ? await db
560
+ .select({
561
+ id: projects.id,
562
+ title: projects.name,
563
+ description: projects.description,
564
+ updatedAt: projects.updatedAt,
565
+ })
566
+ .from(projects)
567
+ .where(and(eq(projects.companyId, companyId), isNull(projects.archivedAt), projectCondition))
568
+ .orderBy(desc(projects.updatedAt), desc(projects.id))
569
+ .limit(fetchLimit)
570
+ : [];
571
+ const results = [
572
+ ...issueRows.map((row) => issueResult(row, prefix, normalizedQuery, tokens)),
573
+ ...agentRows.map((row) => {
574
+ const terms = matchTerms(normalizedQuery, tokens);
575
+ const snippet = createSnippet("capabilities", "Agent", row.description ?? row.role ?? row.title, terms);
576
+ return {
577
+ id: row.id,
578
+ type: "agent",
579
+ score: scoreSimpleRow(row, normalizedQuery, tokens),
580
+ title: row.title,
581
+ href: `/${prefix}/agents/${encodeURIComponent(row.id)}`,
582
+ matchedFields: ["agent"],
583
+ sourceLabel: snippet?.label ?? null,
584
+ snippet: snippet?.text ?? null,
585
+ snippets: snippet ? [snippet] : [],
586
+ updatedAt: iso(row.updatedAt),
587
+ previewImageUrl: null,
588
+ };
589
+ }),
590
+ ...projectRows.map((row) => {
591
+ const terms = matchTerms(normalizedQuery, tokens);
592
+ const snippet = createSnippet("description", "Project", row.description ?? row.title, terms);
593
+ return {
594
+ id: row.id,
595
+ type: "project",
596
+ score: scoreSimpleRow(row, normalizedQuery, tokens),
597
+ title: row.title,
598
+ href: `/${prefix}/projects/${encodeURIComponent(row.id)}`,
599
+ matchedFields: ["project"],
600
+ sourceLabel: snippet?.label ?? null,
601
+ snippet: snippet?.text ?? null,
602
+ snippets: snippet ? [snippet] : [],
603
+ updatedAt: iso(row.updatedAt),
604
+ previewImageUrl: null,
605
+ };
606
+ }),
607
+ ].sort((left, right) => {
608
+ if (right.score !== left.score)
609
+ return right.score - left.score;
610
+ return (right.updatedAt ?? "").localeCompare(left.updatedAt ?? "");
611
+ });
612
+ const paged = results.slice(offset, offset + limit);
613
+ return {
614
+ query: query.q,
615
+ normalizedQuery,
616
+ scope,
617
+ limit,
618
+ offset,
619
+ results: paged,
620
+ countsByType: makeCounts(results),
621
+ hasMore: results.length > offset + limit,
622
+ };
623
+ },
624
+ };
625
+ }
626
+ //# sourceMappingURL=company-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-search.js","sourceRoot":"","sources":["../../src/services/company-search.ts"],"names":[],"mappings":"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"}