forgebadger 0.2.0-beta.1 → 0.2.0-beta.2

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 (613) hide show
  1. package/dist/gateway/src/adapters/claude.d.ts +2 -0
  2. package/dist/gateway/src/adapters/claude.js +4 -1
  3. package/dist/gateway/src/adapters/claude.js.map +1 -1
  4. package/dist/gateway/src/adapters/index.d.ts +5 -0
  5. package/dist/gateway/src/adapters/index.js +26 -8
  6. package/dist/gateway/src/adapters/index.js.map +1 -1
  7. package/dist/gateway/src/db/migrations/0148_copilot_machine_roots.sql +13 -0
  8. package/dist/gateway/src/db/migrations/0149_sessions_native_session_id.sql +4 -0
  9. package/dist/gateway/src/db/migrations/meta/0024_snapshot.json +5553 -0
  10. package/dist/gateway/src/db/migrations/meta/0025_snapshot.json +5622 -0
  11. package/dist/gateway/src/db/migrations/meta/_journal.json +14 -0
  12. package/dist/gateway/src/db/migrations/meta/migration-checksums.json +3 -1
  13. package/dist/gateway/src/db/repositories/copilot-machine-root-repository.d.ts +26 -0
  14. package/dist/gateway/src/db/repositories/copilot-machine-root-repository.js +41 -0
  15. package/dist/gateway/src/db/repositories/copilot-machine-root-repository.js.map +1 -0
  16. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js +11 -6
  17. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js.map +1 -1
  18. package/dist/gateway/src/db/repositories/session-repository.d.ts +3 -0
  19. package/dist/gateway/src/db/repositories/session-repository.js +3 -0
  20. package/dist/gateway/src/db/repositories/session-repository.js.map +1 -1
  21. package/dist/gateway/src/db/schema.d.ts +17 -0
  22. package/dist/gateway/src/db/schema.js +2 -0
  23. package/dist/gateway/src/db/schema.js.map +1 -1
  24. package/dist/gateway/src/mvp0/api.js +1 -0
  25. package/dist/gateway/src/mvp0/api.js.map +1 -1
  26. package/dist/gateway/src/routes/adapters.js +22 -23
  27. package/dist/gateway/src/routes/adapters.js.map +1 -1
  28. package/dist/gateway/src/routes/copilot-machine-roots.d.ts +10 -0
  29. package/dist/gateway/src/routes/copilot-machine-roots.js +53 -0
  30. package/dist/gateway/src/routes/copilot-machine-roots.js.map +1 -0
  31. package/dist/gateway/src/routes/copilot.js +2 -0
  32. package/dist/gateway/src/routes/copilot.js.map +1 -1
  33. package/dist/gateway/src/routes/session-hooks.js +7 -0
  34. package/dist/gateway/src/routes/session-hooks.js.map +1 -1
  35. package/dist/gateway/src/routes/sessions.js +6 -1
  36. package/dist/gateway/src/routes/sessions.js.map +1 -1
  37. package/dist/gateway/src/server.js +6 -0
  38. package/dist/gateway/src/server.js.map +1 -1
  39. package/dist/gateway/src/services/adapter-operations.d.ts +26 -0
  40. package/dist/gateway/src/services/adapter-operations.js +69 -0
  41. package/dist/gateway/src/services/adapter-operations.js.map +1 -0
  42. package/dist/gateway/src/services/adapter-updates.js +39 -19
  43. package/dist/gateway/src/services/adapter-updates.js.map +1 -1
  44. package/dist/gateway/src/services/agent/catalog-search.js +7 -3
  45. package/dist/gateway/src/services/agent/catalog-search.js.map +1 -1
  46. package/dist/gateway/src/services/agent/llm-client.js +1 -0
  47. package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
  48. package/dist/gateway/src/services/agent/orchestrator.js +29 -3
  49. package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
  50. package/dist/gateway/src/services/agent/read-batch.js +1 -1
  51. package/dist/gateway/src/services/agent/read-batch.js.map +1 -1
  52. package/dist/gateway/src/services/agent/repeat-tool-guard.d.ts +59 -0
  53. package/dist/gateway/src/services/agent/repeat-tool-guard.js +104 -0
  54. package/dist/gateway/src/services/agent/repeat-tool-guard.js.map +1 -0
  55. package/dist/gateway/src/services/agent/retrieval-grounding.d.ts +35 -0
  56. package/dist/gateway/src/services/agent/retrieval-grounding.js +45 -0
  57. package/dist/gateway/src/services/agent/retrieval-grounding.js.map +1 -0
  58. package/dist/gateway/src/services/agent/retrieval-routing.d.ts +19 -0
  59. package/dist/gateway/src/services/agent/retrieval-routing.js +32 -0
  60. package/dist/gateway/src/services/agent/retrieval-routing.js.map +1 -0
  61. package/dist/gateway/src/services/agent/run-ending.d.ts +19 -0
  62. package/dist/gateway/src/services/agent/run-ending.js +40 -0
  63. package/dist/gateway/src/services/agent/run-ending.js.map +1 -0
  64. package/dist/gateway/src/services/agent/run-trace.js +3 -0
  65. package/dist/gateway/src/services/agent/run-trace.js.map +1 -1
  66. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +4 -0
  67. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -1
  68. package/dist/gateway/src/services/agent/skills/copilot-skills.js +18 -0
  69. package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
  70. package/dist/gateway/src/services/agent/tool-artifact-policy.js +2 -2
  71. package/dist/gateway/src/services/agent/tool-artifact-policy.js.map +1 -1
  72. package/dist/gateway/src/services/agent/tool-surface.d.ts +16 -6
  73. package/dist/gateway/src/services/agent/tool-surface.js +23 -8
  74. package/dist/gateway/src/services/agent/tool-surface.js.map +1 -1
  75. package/dist/gateway/src/services/agent/tools/deep-research.d.ts +2 -0
  76. package/dist/gateway/src/services/agent/tools/deep-research.js +58 -0
  77. package/dist/gateway/src/services/agent/tools/deep-research.js.map +1 -0
  78. package/dist/gateway/src/services/agent/tools/index.js +7 -0
  79. package/dist/gateway/src/services/agent/tools/index.js.map +1 -1
  80. package/dist/gateway/src/services/agent/tools/machine-roots.d.ts +13 -0
  81. package/dist/gateway/src/services/agent/tools/machine-roots.js +63 -0
  82. package/dist/gateway/src/services/agent/tools/machine-roots.js.map +1 -0
  83. package/dist/gateway/src/services/agent/tools/machine-search-matcher.d.ts +24 -0
  84. package/dist/gateway/src/services/agent/tools/machine-search-matcher.js +98 -0
  85. package/dist/gateway/src/services/agent/tools/machine-search-matcher.js.map +1 -0
  86. package/dist/gateway/src/services/agent/tools/machine-search.d.ts +9 -0
  87. package/dist/gateway/src/services/agent/tools/machine-search.js +157 -0
  88. package/dist/gateway/src/services/agent/tools/machine-search.js.map +1 -0
  89. package/dist/gateway/src/services/agent/tools/platform-management.js +3 -1
  90. package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
  91. package/dist/gateway/src/services/channels/channel-run-scope.js +13 -4
  92. package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -1
  93. package/dist/gateway/src/services/cli-notification-settings.js +20 -7
  94. package/dist/gateway/src/services/cli-notification-settings.js.map +1 -1
  95. package/dist/gateway/src/services/mcp/project-workflow.d.ts +1 -1
  96. package/dist/gateway/src/services/platform-commands/agent-scope.js +26 -1
  97. package/dist/gateway/src/services/platform-commands/agent-scope.js.map +1 -1
  98. package/dist/gateway/src/services/platform-commands/catalog.d.ts +17 -0
  99. package/dist/gateway/src/services/platform-commands/catalog.js +36 -0
  100. package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
  101. package/dist/gateway/src/services/platform-commands/session-commands.d.ts +1 -0
  102. package/dist/gateway/src/services/platform-commands/session-commands.js +56 -15
  103. package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
  104. package/dist/gateway/src/services/platform-commands/tool-commands.js +1 -1
  105. package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
  106. package/dist/gateway/src/services/session-launch-plan.d.ts +2 -0
  107. package/dist/gateway/src/services/session-launch-plan.js +2 -1
  108. package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
  109. package/dist/gateway/src/services/session-native-id.d.ts +17 -0
  110. package/dist/gateway/src/services/session-native-id.js +245 -0
  111. package/dist/gateway/src/services/session-native-id.js.map +1 -0
  112. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/package.json +3 -3
  113. package/dist/web/standalone/node_modules/.pnpm/react@19.3.1/node_modules/react/package.json +51 -0
  114. package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
  115. package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
  116. package/dist/web/standalone/packages/web/.next/prerender-manifest.json +3 -3
  117. package/dist/web/standalone/packages/web/.next/required-server-files.json +3 -3
  118. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +3 -3
  119. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
  120. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
  121. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +3 -3
  122. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
  123. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
  124. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +3 -3
  125. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
  126. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
  127. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +3 -3
  128. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
  129. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
  130. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/goals/[id]/page/react-loadable-manifest.json +3 -3
  131. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/goals/[id]/page.js.nft.json +1 -1
  132. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/goals/[id]/page_client-reference-manifest.js +1 -1
  133. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/goals/page/react-loadable-manifest.json +3 -3
  134. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/goals/page.js.nft.json +1 -1
  135. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/goals/page_client-reference-manifest.js +1 -1
  136. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +3 -3
  137. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
  138. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
  139. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +3 -3
  140. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
  141. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
  142. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +3 -3
  143. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
  144. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
  145. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +3 -3
  146. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
  147. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
  148. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +3 -3
  149. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
  150. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
  151. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +3 -3
  152. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
  153. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
  154. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +3 -3
  155. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
  156. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  157. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +3 -3
  158. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  159. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  160. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +3 -3
  161. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
  162. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
  163. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +3 -3
  164. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
  165. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
  166. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +3 -3
  167. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
  168. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
  169. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +3 -3
  170. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  171. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  172. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +3 -3
  173. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
  174. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
  175. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +3 -3
  176. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
  177. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  178. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +3 -3
  179. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  180. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  181. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +3 -3
  182. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -1
  183. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +1 -1
  184. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +3 -3
  185. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
  186. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
  187. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +3 -3
  188. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
  189. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  190. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +3 -3
  191. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -1
  192. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +1 -1
  193. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +3 -3
  194. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
  195. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
  196. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +3 -3
  197. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
  198. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
  199. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +3 -3
  200. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
  201. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
  202. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +3 -3
  203. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
  204. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  205. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +3 -3
  206. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
  207. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
  208. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +3 -3
  209. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
  210. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
  211. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  212. package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  213. package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  214. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  215. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  216. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  217. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  218. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  219. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  220. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  221. package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  222. package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +15 -14
  223. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +15 -14
  224. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  225. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  226. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  227. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  228. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  229. package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
  230. package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +27 -26
  231. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
  232. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
  233. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  234. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +27 -26
  235. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
  236. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
  237. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
  238. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
  239. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +27 -26
  240. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
  241. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
  242. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  243. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  244. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +27 -26
  245. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
  246. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
  247. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
  248. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
  249. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +27 -26
  250. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
  251. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
  252. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  253. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  254. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +27 -26
  255. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
  256. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
  257. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
  258. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
  259. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +27 -26
  260. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
  261. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
  262. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  263. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  264. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +27 -26
  265. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
  266. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
  267. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
  268. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.html +1 -1
  269. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.rsc +27 -26
  270. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/!KGRhc2hib2FyZCk/copilot/goals/__PAGE__.segment.rsc +3 -3
  271. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/!KGRhc2hib2FyZCk/copilot/goals.segment.rsc +3 -3
  272. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  273. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  274. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/_full.segment.rsc +27 -26
  275. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/_head.segment.rsc +4 -4
  276. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/_index.segment.rsc +6 -6
  277. package/dist/web/standalone/packages/web/.next/server/app/copilot/goals.segments/_tree.segment.rsc +2 -2
  278. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
  279. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +27 -26
  280. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
  281. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  282. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  283. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  284. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +27 -26
  285. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
  286. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
  287. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
  288. package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
  289. package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +30 -29
  290. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
  291. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  292. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  293. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +30 -29
  294. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
  295. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
  296. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
  297. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
  298. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  299. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
  300. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +17 -16
  301. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +17 -16
  302. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
  303. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
  304. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  305. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
  306. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
  307. package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
  308. package/dist/web/standalone/packages/web/.next/server/app/history.rsc +30 -29
  309. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
  310. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
  311. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  312. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +30 -29
  313. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
  314. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
  315. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  316. package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
  317. package/dist/web/standalone/packages/web/.next/server/app/index.rsc +17 -17
  318. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
  319. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  320. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +17 -17
  321. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  322. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
  323. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  324. package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
  325. package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
  326. package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
  327. package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
  328. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
  329. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
  330. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
  331. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
  332. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
  333. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
  334. package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
  335. package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  336. package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
  337. package/dist/web/standalone/packages/web/.next/server/app/login.rsc +17 -16
  338. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +17 -16
  339. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
  340. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
  341. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  342. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  343. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
  344. package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
  345. package/dist/web/standalone/packages/web/.next/server/app/members.rsc +30 -29
  346. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
  347. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
  348. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  349. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +30 -29
  350. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
  351. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
  352. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
  353. package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
  354. package/dist/web/standalone/packages/web/.next/server/app/models.rsc +30 -29
  355. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
  356. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
  357. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  358. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +30 -29
  359. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
  360. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
  361. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  362. package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
  363. package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +30 -29
  364. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
  365. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
  366. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  367. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +30 -29
  368. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
  369. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
  370. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
  371. package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
  372. package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +30 -29
  373. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
  374. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
  375. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  376. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  377. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +30 -29
  378. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
  379. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
  380. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
  381. package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
  382. package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +30 -29
  383. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
  384. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
  385. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  386. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  387. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +30 -29
  388. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
  389. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
  390. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
  391. package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
  392. package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +30 -29
  393. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
  394. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  395. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  396. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +30 -29
  397. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
  398. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
  399. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  400. package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
  401. package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
  402. package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
  403. package/dist/web/standalone/packages/web/.next/server/app/register.rsc +17 -16
  404. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +17 -16
  405. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
  406. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
  407. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
  408. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
  409. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
  410. package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
  411. package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +30 -29
  412. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
  413. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
  414. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  415. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +30 -29
  416. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
  417. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
  418. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  419. package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
  420. package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +30 -29
  421. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
  422. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
  423. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  424. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +30 -29
  425. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  426. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  427. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  428. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -1
  429. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +30 -29
  430. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +4 -4
  431. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +3 -3
  432. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  433. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  434. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +30 -29
  435. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_head.segment.rsc +4 -4
  436. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +6 -6
  437. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +2 -2
  438. package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
  439. package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +30 -29
  440. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
  441. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
  442. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  443. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  444. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +30 -29
  445. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
  446. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
  447. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
  448. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -1
  449. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +30 -29
  450. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +4 -4
  451. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +3 -3
  452. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  453. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  454. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +30 -29
  455. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +4 -4
  456. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +6 -6
  457. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +2 -2
  458. package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
  459. package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +30 -29
  460. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
  461. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  462. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  463. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +30 -29
  464. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
  465. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
  466. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  467. package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
  468. package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +27 -26
  469. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
  470. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
  471. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  472. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +27 -26
  473. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
  474. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
  475. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
  476. package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
  477. package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +30 -29
  478. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
  479. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
  480. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  481. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +30 -29
  482. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
  483. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
  484. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  485. package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
  486. package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +30 -29
  487. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
  488. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
  489. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  490. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +30 -29
  491. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
  492. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
  493. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
  494. package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
  495. package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +27 -26
  496. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
  497. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
  498. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  499. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +27 -26
  500. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
  501. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
  502. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  503. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__046101y._.js +1 -1
  504. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__056uejg._.js +3 -0
  505. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
  506. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0i66h5c._.js +3 -0
  507. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__13m6tkr._.js +3 -0
  508. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00etwal._.js +3 -0
  509. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09j0_0n._.js +3 -0
  510. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{_0v6nk4o._.js → _0_.c62~._.js} +2 -2
  511. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0bdcc_8._.js +3 -0
  512. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0espgv7._.js +3 -0
  513. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0ge8gs.._.js +3 -0
  514. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h0k4j8._.js +3 -0
  515. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0jpdxve._.js +3 -0
  516. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{_02fwc~2._.js → _0mx_s-8._.js} +2 -2
  517. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nikb1g._.js +3 -0
  518. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nop9ss._.js +1 -1
  519. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0o8v7lt._.js +3 -0
  520. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0q78tdj._.js +1 -1
  521. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qzjbgt._.js +1 -1
  522. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0rxkq.x._.js +1 -1
  523. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0t69a7l._.js +1 -1
  524. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0ta1o79._.js +3 -0
  525. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wldtd9._.js +3 -0
  526. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~nuqc8._.js +3 -0
  527. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{_0riiz2c._.js → _13k5h6x._.js} +2 -2
  528. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
  529. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
  530. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
  531. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_page_tsx_0phmhty._.js +1 -1
  532. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +2 -2
  533. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_usage_page_tsx_018s0ua._.js +1 -1
  534. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotExtensionsPage_tsx_0jl0nnn._.js +1 -1
  535. package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
  536. package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
  537. package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
  538. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  539. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  540. package/dist/web/standalone/packages/web/.next/static/chunks/{0qtrolc551byl.js → 0.0fkprcall4t.js} +1 -1
  541. package/dist/web/standalone/packages/web/.next/static/chunks/01918nt5pq5k~.js +1 -0
  542. package/dist/web/standalone/packages/web/.next/static/chunks/03j0z0av.n4h3.js +1 -0
  543. package/dist/web/standalone/packages/web/.next/static/chunks/03om-_qq2eblm.js +1 -0
  544. package/dist/web/standalone/packages/web/.next/static/chunks/03y2kqvzi4mv1.js +1 -0
  545. package/dist/web/standalone/packages/web/.next/static/chunks/{0pity85rfpx.w.js → 08j8-g2-fgwo9.js} +1 -1
  546. package/dist/web/standalone/packages/web/.next/static/chunks/0968l5kesw2tr.js +1 -0
  547. package/dist/web/standalone/packages/web/.next/static/chunks/096kq4-e.a8f_.js +1 -0
  548. package/dist/web/standalone/packages/web/.next/static/chunks/{089hp3zb_oiwp.js → 0ap2-r_pv6ko9.js} +1 -1
  549. package/dist/web/standalone/packages/web/.next/static/chunks/{05xzyo2pv16xp.js → 0i-fd9c0bd0vm.js} +1 -1
  550. package/dist/web/standalone/packages/web/.next/static/chunks/{0wpamrmc9wxo2.js → 0k8d9qhwjaqf3.js} +1 -1
  551. package/dist/web/standalone/packages/web/.next/static/chunks/0kt59m4o~sunn.js +1 -0
  552. package/dist/web/standalone/packages/web/.next/static/chunks/0o733jzs0se9q.js +1 -0
  553. package/dist/web/standalone/packages/web/.next/static/chunks/{17fhead1.ufvh.js → 0qtjfh0golqy..js} +1 -1
  554. package/dist/web/standalone/packages/web/.next/static/chunks/{0s9641tg~87n4.js → 0r933eug2f_zk.js} +2 -2
  555. package/dist/web/standalone/packages/web/.next/static/chunks/0rff3.owyv10z.css +1 -0
  556. package/dist/web/standalone/packages/web/.next/static/chunks/0tdzn7mwt0zhw.js +1 -0
  557. package/dist/web/standalone/packages/web/.next/static/chunks/0w.s0_aholi3p.js +1 -0
  558. package/dist/web/standalone/packages/web/.next/static/chunks/0wxna1.v9o2gz.js +1 -0
  559. package/dist/web/standalone/packages/web/.next/static/chunks/0y34f_v3w4ph8.js +1 -0
  560. package/dist/web/standalone/packages/web/.next/static/chunks/0yk0vnm0i9zyg.js +1 -0
  561. package/dist/web/standalone/packages/web/.next/static/chunks/0z_col8c1al~y.js +1 -0
  562. package/dist/web/standalone/packages/web/.next/static/chunks/{009hjlrrz8y_s.js → 0z~_1h84a_-h_.js} +1 -1
  563. package/dist/web/standalone/packages/web/.next/static/chunks/12j_mnod591tf.js +1 -0
  564. package/dist/web/standalone/packages/web/.next/static/chunks/16ua86d7gax96.js +2 -0
  565. package/dist/web/standalone/packages/web/.next/static/chunks/{0s1a87y_ytadl.js → 16zq0~qxvc10a.js} +1 -1
  566. package/dist/web/standalone/packages/web/.next/static/chunks/{0l.hl-2q3c36t.js → 17xfygfyipt-d.js} +1 -1
  567. package/dist/web/standalone/packages/web/.next/static/chunks/1840mk~ei~7n2.js +3 -0
  568. package/dist/web/standalone/packages/web/server.js +1 -1
  569. package/package.json +1 -1
  570. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/cjs/react-compiler-runtime.production.js +0 -16
  571. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/cjs/react-jsx-dev-runtime.production.js +0 -14
  572. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/cjs/react-jsx-runtime.production.js +0 -34
  573. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/cjs/react.development.js +0 -1284
  574. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/cjs/react.production.js +0 -542
  575. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/compiler-runtime.js +0 -14
  576. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/index.js +0 -7
  577. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/jsx-dev-runtime.js +0 -7
  578. package/dist/web/standalone/node_modules/.pnpm/node_modules/react/jsx-runtime.js +0 -7
  579. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__02vzycq._.js +0 -3
  580. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hmsfzb._.js +0 -3
  581. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0wpzuv_._.js +0 -3
  582. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.1cpr7._.js +0 -3
  583. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.i9u7y._.js +0 -3
  584. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_01.uuv2._.js +0 -3
  585. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0133d.w._.js +0 -3
  586. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02uuug0._.js +0 -3
  587. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_j1kim._.js +0 -3
  588. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0afxav3._.js +0 -3
  589. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0gn-6wj._.js +0 -3
  590. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0oi7719._.js +0 -3
  591. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0ufpzfz._.js +0 -3
  592. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0w1zsye._.js +0 -3
  593. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_10nhet1._.js +0 -3
  594. package/dist/web/standalone/packages/web/.next/static/chunks/08g33a-bwubre.js +0 -1
  595. package/dist/web/standalone/packages/web/.next/static/chunks/0a8o3a.r~xn3a.js +0 -1
  596. package/dist/web/standalone/packages/web/.next/static/chunks/0bx8oll7.gyme.js +0 -3
  597. package/dist/web/standalone/packages/web/.next/static/chunks/0f1owcwamnmh~.css +0 -1
  598. package/dist/web/standalone/packages/web/.next/static/chunks/0m590.6q8xb6d.js +0 -2
  599. package/dist/web/standalone/packages/web/.next/static/chunks/0qtn6_74yc1a..js +0 -1
  600. package/dist/web/standalone/packages/web/.next/static/chunks/0rdbedtpe-jl-.js +0 -1
  601. package/dist/web/standalone/packages/web/.next/static/chunks/0z65g~_mtc0up.js +0 -1
  602. package/dist/web/standalone/packages/web/.next/static/chunks/10amnubm.fvva.js +0 -1
  603. package/dist/web/standalone/packages/web/.next/static/chunks/126scff7vn.qg.js +0 -1
  604. package/dist/web/standalone/packages/web/.next/static/chunks/12mqdsfzq-jvf.js +0 -1
  605. package/dist/web/standalone/packages/web/.next/static/chunks/13ff-gcr1lkiz.js +0 -1
  606. package/dist/web/standalone/packages/web/.next/static/chunks/13s1tj4zo-7gs.js +0 -1
  607. package/dist/web/standalone/packages/web/.next/static/chunks/14quwp8g-m8-f.js +0 -1
  608. package/dist/web/standalone/packages/web/.next/static/chunks/179-guin0~w1y.js +0 -1
  609. package/dist/web/standalone/packages/web/.next/static/chunks/179f7kc5-~cu2.js +0 -1
  610. package/dist/web/standalone/packages/web/.next/static/chunks/17mvm07ilpk0w.js +0 -1
  611. /package/dist/web/standalone/packages/web/.next/static/{9mWbLyAJi5Ncz-1bt3kiq → Fzx0KWlOUQOGHSSyhkhSo}/_buildManifest.js +0 -0
  612. /package/dist/web/standalone/packages/web/.next/static/{9mWbLyAJi5Ncz-1bt3kiq → Fzx0KWlOUQOGHSSyhkhSo}/_clientMiddlewareManifest.js +0 -0
  613. /package/dist/web/standalone/packages/web/.next/static/{9mWbLyAJi5Ncz-1bt3kiq → Fzx0KWlOUQOGHSSyhkhSo}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-ending.js","sourceRoot":"","sources":["../../../../src/services/agent/run-ending.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAE9F,MAAM,aAAa,GAA2B;IAC5C,qBAAqB,EAAE,QAAQ;IAC/B,mBAAmB,EAAE,UAAU;CAChC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,EAAY,EAAE,MAAc,EAAE,KAAa,EAAE,UAAyB;IACpG,IAAI,CAAC,UAAU,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3E,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IACtD,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,wFAAwF,CAAC;SAC/G,GAAG,CAAC,MAAM,EAAE,KAAK,CAAwC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5F,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAuC,CAAC;IAChJ,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,IAAI,IAAI,CAA4B,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACzH,CAAC;IAAC,MAAM,CAAC,CAAC,oEAAoE,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC;IAC7C,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC"}
@@ -8,6 +8,9 @@ const DETAIL_KEYS = new Set([
8
8
  'status', 'toolName', 'decision', 'reason', 'attempt', 'tokens', 'durationMs',
9
9
  'executionMode', 'phase', 'kind', 'childRunId',
10
10
  'source', 'parentRunId',
11
+ // machine_search evidence: which local root was queried, how, and how many
12
+ // matches it surfaced (scalar-only, never file content).
13
+ 'root', 'query', 'matchCount', 'mode',
11
14
  ]);
12
15
  function isScalar(value) {
13
16
  return value === null || ['string', 'number', 'boolean'].includes(typeof value);
@@ -1 +1 @@
1
- {"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../../../../src/services/agent/run-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB;IACvD,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB;IACrE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY;CAC1D,CAAC;AAKX,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY;IAC7E,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAC9C,QAAQ,EAAE,aAAa;CACxB,CAAC,CAAC;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AAClF,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACxD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAY,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EACtF,KAAoB,EAAE,MAAuB,EAAE,MAAe;IAC9D,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,CAAC;QACH,MAAM,GAAG,GAAI,EAAE,CAAC,OAAO,CAAC,4EAA4E,CAAC,CAAC,GAAG,CAAC,KAAK,CAAqB,CAAC,GAAG,CAAC;QACzI,EAAE,CAAC,OAAO,CAAC,2HAA2H,CAAC;aACpI,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,EACjE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;AAChD,CAAC;AAID,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,EAAY,EAAE,MAAc,EAAE,KAAa;IACtE,OAAO,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC;SACtG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAoB,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../../../../src/services/agent/run-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB;IACvD,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB;IACrE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY;CAC1D,CAAC;AAKX,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY;IAC7E,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAC9C,QAAQ,EAAE,aAAa;IACvB,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM;CACtC,CAAC,CAAC;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AAClF,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACxD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAY,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EACtF,KAAoB,EAAE,MAAuB,EAAE,MAAe;IAC9D,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,CAAC;QACH,MAAM,GAAG,GAAI,EAAE,CAAC,OAAO,CAAC,4EAA4E,CAAC,CAAC,GAAG,CAAC,KAAK,CAAqB,CAAC,GAAG,CAAC;QACzI,EAAE,CAAC,OAAO,CAAC,2HAA2H,CAAC;aACpI,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,EACjE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;AAChD,CAAC;AAID,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,EAAY,EAAE,MAAc,EAAE,KAAa;IACtE,OAAO,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC;SACtG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAoB,CAAC;AAC3C,CAAC"}
@@ -42,6 +42,10 @@ const baselines = [
42
42
  { "name": "session-dispatch", "version": "4.1.0", "digest": "c390210c9004a5f471b45d867bd9f08feaab4bf21cf14fc90293e5b7b72cbbd6", "commit": "bundled-2026-10-10" },
43
43
  { "name": "project-insights", "version": "2.1.0", "digest": "489f808e0956817d6472c2c1f34d336c5be5350c7f1f00a3aeeb5973866325b3", "commit": "bundled-2026-10-10" },
44
44
  { "name": "safety-and-approvals", "version": "3.1.0", "digest": "3fcf1d426818475fc8adb3ef5fa0f2db62435da3ab8f129e0c5b9fb4139013c0", "commit": "bundled-2026-10-10" },
45
+ // 2026-11-11: session-lifecycle added so "create/start/stop a session" tasks
46
+ // have a loadable playbook; it names create_session first and keeps the
47
+ // server-bound stop discipline of session-dispatch.
48
+ { "name": "session-lifecycle", "version": "1.0.0", "digest": "f11be305f81d96d303d24deb4bdf2fa957fb02924d7fe977df85cc42218b67b9", "commit": "bundled-2026-11-11" },
45
49
  ];
46
50
  export function isUnmodifiedBuiltin(snapshot) {
47
51
  if (snapshot.files.length !== 1 || snapshot.incompatibilityReasons.length)
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-skill-baselines.js","sourceRoot":"","sources":["../../../../../src/services/agent/skills/copilot-skill-baselines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-skill-baselines.js","sourceRoot":"","sources":["../../../../../src/services/agent/skills/copilot-skill-baselines.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,24 @@ Use search_memory {query,scope?,projectId?,limit?} and list_memory {scope?,proje
48
48
  Scopes are global, project (requires projectId), or session. Kinds include fact, preference, decision and project_note. The server enforces acting-user and conversation scope. Global records do not become accessible merely because project records are accessible.
49
49
 
50
50
  Project/session memory written from a direct user turn follows the routine scoped risk policy. Global memory changes still require exact approval. Loading this document never authorizes a write. Keep wording precise, distinguish observations from assumptions, and cite current evidence when updating an earlier conclusion.`
51
+ },
52
+ {
53
+ name: 'session-lifecycle', version: '1.0.0',
54
+ description: 'Create, start, stop and monitor CLI sessions in the selected project without guessing identities.',
55
+ requiredTools: ['list_sessions', 'create_session', 'start_session', 'stop_session', 'get_session_output', 'dispatch_task_to_session'],
56
+ body: `# Session lifecycle
57
+
58
+ 1. Resolve before creating. Call list_sessions {projectId, limit?} for the selected project. A usable session is one whose status is running or stopped. Status lost means the CLI exited and the session is not a live target; it may be started again only by an explicit owner request, never as a substitute for a fresh session.
59
+
60
+ 2. Create exactly one new session per request with create_session {projectId, aiTool, name?}. The aiTool is the CLI the user named (claude, codex, kimi, opencode or pi); a plain terminal is aiTool terminal. Do not call create_session more than once for the same request: a second call after an approved first call duplicates the session. The platform parks the create for owner approval; while it is pending, report the pending decision and wait, do not open a terminal or start another session instead.
61
+
62
+ 3. Start only an existing stopped session of the selected project with start_session {sessionId}. Sessions of other projects are authority-rejected; when the selected project has no session yet, create one instead of starting a foreign one. start_session never submits a task.
63
+
64
+ 4. Monitor with get_session_output {sessionId, maxLines:120}. Keep every stop_session target attached to the output it was read from: copy target.observationId and target.taskTitle exactly, never match titles to IDs by list order. A stale or mismatched target requires a fresh read and a new approval.
65
+
66
+ 5. Stop exactly the observed session with stop_session after the owner approves the server-bound target. A terminal/process-group stop does not prove detached or shared background work stopped; report the returned scope and never stop a shared Codex daemon to clear a thread lock.
67
+
68
+ 6. Deliver work to a running session only through dispatch_task_to_session {sessionId, message}, which is confirmed only when the composer consumes the task. COPILOT_DELIVERY_UNCONFIRMED means the task may already have reached the CLI: inspect the terminal, never retry automatically.`
51
69
  },
52
70
  {
53
71
  name: 'usage-analysis', version: '2.0.0',
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-skills.js","sourceRoot":"","sources":["../../../../../src/services/agent/skills/copilot-skills.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D;QACE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO;QACnD,WAAW,EAAE,wGAAwG;QACrH,aAAa,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,CAAC;QAChL,IAAI,EAAE;;;;;;;;idAQuc;KAC9c;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO;QAC1C,WAAW,EAAE,0FAA0F;QACvG,aAAa,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;QACjE,IAAI,EAAE;;;;;;2PAMiP;KACxP;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO;QAC1C,WAAW,EAAE,+FAA+F;QAC5G,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC;QACjE,IAAI,EAAE;;;;;;qOAM2N;KAClO;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;QACzC,WAAW,EAAE,uEAAuE;QACpF,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC;QAC/D,IAAI,EAAE;;;;;;mUAMyT;KAChU;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO;QACxC,WAAW,EAAE,qFAAqF;QAClG,aAAa,EAAE,CAAC,mBAAmB,CAAC;QACpC,IAAI,EAAE;;;;;;wQAM8P;KACrQ;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO;QAC9C,WAAW,EAAE,uEAAuE;QACpF,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE;;;;;;;;uMAQ6L;KACpM;CACF,CAAC;AACF,MAAM,UAAU,yBAAyB;IACvC,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,WAAW,EAAC,EAAC,EAAE,CAAA,CAAC,EAAC,IAAI,EAAC,WAAW,EAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,KAAG,IAAI,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"copilot-skills.js","sourceRoot":"","sources":["../../../../../src/services/agent/skills/copilot-skills.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D;QACE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO;QACnD,WAAW,EAAE,wGAAwG;QACrH,aAAa,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,CAAC;QAChL,IAAI,EAAE;;;;;;;;idAQuc;KAC9c;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO;QAC1C,WAAW,EAAE,0FAA0F;QACvG,aAAa,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;QACjE,IAAI,EAAE;;;;;;2PAMiP;KACxP;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO;QAC1C,WAAW,EAAE,+FAA+F;QAC5G,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC;QACjE,IAAI,EAAE;;;;;;qOAM2N;KAClO;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;QACzC,WAAW,EAAE,uEAAuE;QACpF,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC;QAC/D,IAAI,EAAE;;;;;;mUAMyT;KAChU;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO;QAC3C,WAAW,EAAE,mGAAmG;QAChH,aAAa,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,0BAA0B,CAAC;QACrI,IAAI,EAAE;;;;;;;;;;;;6RAYmR;KAC1R;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO;QACxC,WAAW,EAAE,qFAAqF;QAClG,aAAa,EAAE,CAAC,mBAAmB,CAAC;QACpC,IAAI,EAAE;;;;;;wQAM8P;KACrQ;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO;QAC9C,WAAW,EAAE,uEAAuE;QACpF,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE;;;;;;;;uMAQ6L;KACpM;CACF,CAAC;AACF,MAAM,UAAU,yBAAyB;IACvC,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,WAAW,EAAC,EAAC,EAAE,CAAA,CAAC,EAAC,IAAI,EAAC,WAAW,EAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,KAAG,IAAI,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** Explicit built-in read snapshots only. Never extend this to terminal history or external tools. */
2
2
  export const ARCHIVABLE_TOOLS = new Set(['get_project',
3
- 'list_project_files', 'read_project_file', 'search_project_files', 'read_project_diff']);
4
- export const FILE_ARTIFACT_TOOLS = new Set(['list_project_files', 'read_project_file', 'search_project_files', 'read_project_diff']);
3
+ 'list_project_files', 'read_project_file', 'search_project_files', 'machine_search', 'read_machine_file', 'read_project_diff']);
4
+ export const FILE_ARTIFACT_TOOLS = new Set(['list_project_files', 'read_project_file', 'search_project_files', 'machine_search', 'read_machine_file', 'read_project_diff']);
5
5
  export const MAX_ARTIFACT_BYTES = 2 * 1024 * 1024;
6
6
  export const MAX_RUN_ARTIFACT_BYTES = 16 * 1024 * 1024;
7
7
  export const MAX_USER_ARTIFACT_BYTES = 64 * 1024 * 1024;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-artifact-policy.js","sourceRoot":"","sources":["../../../../src/services/agent/tool-artifact-policy.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa;IACpD,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACrI,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"tool-artifact-policy.js","sourceRoot":"","sources":["../../../../src/services/agent/tool-artifact-policy.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa;IACpD,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClI,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC5K,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -4,13 +4,23 @@ import type { TurnInput } from './run-ledger.js';
4
4
  /**
5
5
  * Plane A of the tool surface: one named, ordered layer computation that both
6
6
  * the model-visible catalog and the execution-time gate project from. Layers
7
- * run retired → scheduled-readonly → restricted-mode →
8
- * session-runtime → mcp-source → owner-disabled; each exclusion records its
9
- * layer so rejection provenance (e.g. the run-trace tool_gate reason) names
10
- * the plane that closed the tool. The execution gate in orchestrator.toolStep
11
- * preserves its historical check ORDER — ordering is behavior there.
7
+ * run retired → scheduled-readonly → restricted-mode → session-runtime →
8
+ * mcp-source → owner-disabled → goal-catalog → on-demand; each exclusion
9
+ * records its layer so rejection provenance (e.g. the run-trace tool_gate
10
+ * reason) names the plane that closed the tool. The execution gate in
11
+ * orchestrator.toolStep preserves its historical check ORDER — ordering is
12
+ * behavior there.
12
13
  */
13
14
  export declare const RETIRED_TOOLS: Set<string>;
15
+ /**
16
+ * On-demand tools: surfaced only to runs that opt into tool discovery.
17
+ * In a normal run the model-visible catalog is already complete, and a
18
+ * permanent "search for tools" affordance was pulling runs into search loops
19
+ * that the step budget then ended. (2026-11-11 remediation WP4.)
20
+ */
21
+ export declare const ON_DEMAND_TOOLS: Set<string>;
22
+ /** Local paths and contents stay out of channel-originated model context. */
23
+ export declare const LOCAL_MACHINE_ROOT_TOOLS: Set<string>;
14
24
  export declare const SESSION_RUNTIME_TOOLS: Set<string>;
15
25
  /** Goal self-management and sandbox tools are only visible to runs carrying a goal (or a coding sub-run). */
16
26
  export declare const GOAL_TOOLS: Set<string>;
@@ -30,7 +40,7 @@ export declare const CODING_READS: ReadonlySet<string>;
30
40
  */
31
41
  export declare const CODING_OPERATES: ReadonlySet<string>;
32
42
  /** Layer names in evaluation order. */
33
- export declare const TOOL_SURFACE_LAYERS: readonly ["retired", "scheduled-readonly", "restricted-mode", "session-runtime", "mcp-source", "owner-disabled", "goal-catalog"];
43
+ export declare const TOOL_SURFACE_LAYERS: readonly ["retired", "scheduled-readonly", "restricted-mode", "session-runtime", "mcp-source", "owner-disabled", "goal-catalog", "on-demand"];
34
44
  export type ToolSurfaceLayer = (typeof TOOL_SURFACE_LAYERS)[number];
35
45
  export interface ToolSurfaceInput {
36
46
  source?: TurnInput['source'];
@@ -1,19 +1,30 @@
1
1
  /**
2
2
  * Plane A of the tool surface: one named, ordered layer computation that both
3
3
  * the model-visible catalog and the execution-time gate project from. Layers
4
- * run retired → scheduled-readonly → restricted-mode →
5
- * session-runtime → mcp-source → owner-disabled; each exclusion records its
6
- * layer so rejection provenance (e.g. the run-trace tool_gate reason) names
7
- * the plane that closed the tool. The execution gate in orchestrator.toolStep
8
- * preserves its historical check ORDER — ordering is behavior there.
4
+ * run retired → scheduled-readonly → restricted-mode → session-runtime →
5
+ * mcp-source → owner-disabled → goal-catalog → on-demand; each exclusion
6
+ * records its layer so rejection provenance (e.g. the run-trace tool_gate
7
+ * reason) names the plane that closed the tool. The execution gate in
8
+ * orchestrator.toolStep preserves its historical check ORDER — ordering is
9
+ * behavior there.
9
10
  */
10
11
  export const RETIRED_TOOLS = new Set(['pm_start_task_packet', 'list_skills', 'load_skill']);
11
- export const SESSION_RUNTIME_TOOLS = new Set(['takeover_session', 'get_session_writer', 'get_session_output', 'start_session', 'stop_session', 'dispatch_task_to_session', 'pm_execute_task_packet', 'terminal_run', 'terminal_open', 'terminal_close']);
12
+ /**
13
+ * On-demand tools: surfaced only to runs that opt into tool discovery.
14
+ * In a normal run the model-visible catalog is already complete, and a
15
+ * permanent "search for tools" affordance was pulling runs into search loops
16
+ * that the step budget then ended. (2026-11-11 remediation WP4.)
17
+ */
18
+ export const ON_DEMAND_TOOLS = new Set(['discover_tools']);
19
+ /** Local paths and contents stay out of channel-originated model context. */
20
+ export const LOCAL_MACHINE_ROOT_TOOLS = new Set(['machine_search', 'read_machine_file', 'machine_tree',
21
+ 'list_machine_roots', 'register_machine_root', 'unregister_machine_root', 'verify_retrieval_evidence']);
22
+ export const SESSION_RUNTIME_TOOLS = new Set(['takeover_session', 'get_session_writer', 'get_session_output', 'start_session', 'stop_session', 'dispatch_task_to_session', 'create_session', 'pm_execute_task_packet', 'terminal_run', 'terminal_open', 'terminal_close']);
12
23
  /** Goal self-management and sandbox tools are only visible to runs carrying a goal (or a coding sub-run). */
13
24
  export const GOAL_TOOLS = new Set(['goal_add_tasks', 'goal_update_task', 'goal_write_journal', 'goal_ask_user',
14
25
  'goal_file_read', 'goal_file_write', 'goal_file_edit', 'goal_run_checks', 'goal_delegate', 'goal_dispatch_task']);
15
26
  /** Read-only project task catalog (research/review) plus the repair submission exception. */
16
- export const PROJECT_READS = new Set(['get_project_git_status', 'read_project_diff', 'read_tool_result', 'get_project', 'list_project_files', 'read_project_file', 'search_project_files',
27
+ export const PROJECT_READS = new Set(['get_project_git_status', 'read_project_diff', 'read_tool_result', 'get_project', 'list_project_files', 'read_project_file', 'search_project_files', 'machine_search', 'read_machine_file', 'machine_tree', 'list_machine_roots', 'verify_retrieval_evidence', 'route_query',
17
28
  'project_graph_search', 'project_graph_symbol_detail', 'project_graph_impact', 'project_graph_affected_paths',
18
29
  'get_development_task', 'list_development_tasks', 'pm_get_task_progress']);
19
30
  /**
@@ -31,7 +42,7 @@ export const CODING_READS = new Set([...PROJECT_READS,
31
42
  */
32
43
  export const CODING_OPERATES = new Set(['goal_run_checks']);
33
44
  /** Layer names in evaluation order. */
34
- export const TOOL_SURFACE_LAYERS = ['retired', 'scheduled-readonly', 'restricted-mode', 'session-runtime', 'mcp-source', 'owner-disabled', 'goal-catalog'];
45
+ export const TOOL_SURFACE_LAYERS = ['retired', 'scheduled-readonly', 'restricted-mode', 'session-runtime', 'mcp-source', 'owner-disabled', 'goal-catalog', 'on-demand'];
35
46
  /**
36
47
  * Project board planning tools (~2.4k schema tokens). Offered to goal runs —
37
48
  * where long-lived planning happens — and to discovery-mode runs, which load
@@ -51,6 +62,8 @@ function exclusionReasons(input, context, name, risk) {
51
62
  verdicts.push({ layer: 'scheduled-readonly', reason: 'NON_USER_SOURCE_HIDDEN' });
52
63
  if (scheduled && risk !== 'read')
53
64
  verdicts.push({ layer: 'scheduled-readonly', reason: 'SCHEDULED_READ_ONLY' });
65
+ if (input.channelScope && LOCAL_MACHINE_ROOT_TOOLS.has(name))
66
+ verdicts.push({ layer: 'restricted-mode', reason: 'CHANNEL_LOCAL_MACHINE_ROOTS_CLOSED' });
54
67
  const codingOperate = input.executionMode === 'coding' && CODING_OPERATES.has(name);
55
68
  if (input.executionMode && !repairSubmit && (!(input.executionMode === 'coding' ? CODING_READS : PROJECT_READS).has(name) || (risk !== 'read' && !codingOperate)))
56
69
  verdicts.push({ layer: 'restricted-mode', reason: 'RESTRICTED_MODE' });
@@ -64,6 +77,8 @@ function exclusionReasons(input, context, name, risk) {
64
77
  verdicts.push({ layer: 'goal-catalog', reason: 'GOAL_CATALOG' });
65
78
  if (BOARD_PLANNING_TOOLS.has(name) && !input.goalId && input.toolDiscovery !== true)
66
79
  verdicts.push({ layer: 'goal-catalog', reason: 'GOAL_CATALOG' });
80
+ if (ON_DEMAND_TOOLS.has(name) && input.toolDiscovery !== true)
81
+ verdicts.push({ layer: 'on-demand', reason: 'ON_DEMAND_TOOL' });
67
82
  return verdicts;
68
83
  }
69
84
  export function computeToolSurface(input, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-surface.js","sourceRoot":"","sources":["../../../../src/services/agent/tool-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-surface.js","sourceRoot":"","sources":["../../../../src/services/agent/tool-surface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { AgentTool } from '../tool-registry.js';
2
+ export declare function createDeepResearchTools(): AgentTool[];
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ import { readSource } from '../../development/workspace.js';
3
+ import { sourcePathSchema } from '../../development/contracts.js';
4
+ import { redactAgentText } from '../redaction.js';
5
+ import { CopilotMachineRootRepository } from '../../../db/repositories/copilot-machine-root-repository.js';
6
+ import { GROUNDING_LEVELS, verifyEvidence } from '../retrieval-grounding.js';
7
+ import { routeQuery } from '../retrieval-routing.js';
8
+ const id = z.string().min(1).max(128);
9
+ const groundingSchema = z.enum(GROUNDING_LEVELS);
10
+ const evidenceInput = z.object({
11
+ root: id,
12
+ /** Slash-relative file path within the root. */
13
+ path: sourcePathSchema,
14
+ /** 1-based line number of the cited evidence. */
15
+ line: z.number().int().min(1).max(65536),
16
+ /** The cited text; must be present (whitespace-normalized) on that line or the claim is falsified. */
17
+ snippet: z.string().trim().min(1).max(500),
18
+ /** The grounding level the agent proposes for this evidence. */
19
+ proposedGrounding: groundingSchema,
20
+ }).strict();
21
+ const routeInput = z.object({
22
+ query: z.string().trim().min(1).max(4000),
23
+ }).strict();
24
+ export function createDeepResearchTools() {
25
+ return [
26
+ {
27
+ name: 'verify_retrieval_evidence',
28
+ description: 'Falsify/ground a cited piece of evidence: re-read the exact path+line from an owner-registered local root and check the cited snippet is really there. '
29
+ + 'OA-RAG grounding levels: entailed > supported > related > unrelated. A strong label is returned only if the evidence is present on the cited line; otherwise it is downgraded to unrelated. '
30
+ + 'Use it to back a claim before reporting, so no claim rests on unverified evidence (FALCA-style propose/falsify).',
31
+ risk: 'read',
32
+ requiresApproval: false,
33
+ inputSchema: evidenceInput,
34
+ async execute(raw, context) {
35
+ const input = evidenceInput.parse(raw);
36
+ const rootEntry = new CopilotMachineRootRepository(context.db, context.userId).getById(input.root);
37
+ if (!rootEntry)
38
+ throw new Error('MACHINE_ROOT_NOT_FOUND: register this local path first with register_machine_root');
39
+ const source = readSource(rootEntry.path, input.path);
40
+ const lines = source.content.split('\n');
41
+ const result = verifyEvidence(lines[input.line - 1], input.snippet, input.proposedGrounding, input.line);
42
+ return { ...result, line: input.line, snippet: redactAgentText(input.snippet), lineText: redactAgentText(lines[input.line - 1] ?? '').slice(0, 500) };
43
+ },
44
+ },
45
+ {
46
+ name: 'route_query',
47
+ description: 'Decide whether a document question warrants multi-step research or a direct answer (RouteDRAG-style routing). Returns mode (direct|research) with the signals that drove it. Heuristic, not learned.',
48
+ risk: 'read',
49
+ requiresApproval: false,
50
+ inputSchema: routeInput,
51
+ async execute(raw) {
52
+ const input = routeInput.parse(raw);
53
+ return { ...routeQuery(input.query) };
54
+ },
55
+ },
56
+ ];
57
+ }
58
+ //# sourceMappingURL=deep-research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-research.js","sourceRoot":"","sources":["../../../../../src/services/agent/tools/deep-research.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ import { createNativeLifecycleTools } from '../../mcp/lifecycle-tools.js';
2
2
  import { createProjectDiffTools } from './project-diff.js';
3
3
  import { createResearchTools } from "./research.js";
4
4
  import { createSourceSearchTools } from "./source-search.js";
5
+ import { createMachineSearchTools } from "./machine-search.js";
6
+ import { createMachineRootTools, createMachineRootListTools } from "./machine-roots.js";
7
+ import { createDeepResearchTools } from "./deep-research.js";
5
8
  import { createDevelopmentTools } from './development.js';
6
9
  import { createDiscoveryTools } from './discovery.js';
7
10
  import { createPlatformCoverageTools } from "./platform-coverage.js";
@@ -23,6 +26,10 @@ export function createPlatformTools() {
23
26
  ...createProjectDiffTools(),
24
27
  ...createResearchTools(),
25
28
  ...createSourceSearchTools(),
29
+ ...createMachineSearchTools(),
30
+ ...createMachineRootTools(),
31
+ ...createMachineRootListTools(),
32
+ ...createDeepResearchTools(),
26
33
  ...createDiscoveryTools(),
27
34
  ...createDevelopmentTools(),
28
35
  ...createPlatformCoverageTools(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AASzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,GAAG,sBAAsB,EAAE;QAC3B,GAAG,mBAAmB,EAAE;QACxB,GAAG,uBAAuB,EAAE;QAC5B,GAAG,oBAAoB,EAAE;QACzB,GAAG,sBAAsB,EAAE;QAC3B,GAAG,2BAA2B,EAAE;QAChC,GAAG,qBAAqB,EAAE;QAC1B,GAAG,6BAA6B,EAAE;QAClC,GAAG,0BAA0B,EAAE;QAC/B,GAAG,gBAAgB,EAAE;QACrB,GAAG,kBAAkB,EAAE;QACvB,GAAG,kBAAkB,EAAE;QACvB,GAAG,mBAAmB,EAAE;QACxB,GAAG,iBAAiB,EAAE;QACtB,GAAG,gBAAgB,EAAE;QACrB,GAAG,yBAAyB,EAAE;QAC9B,GAAG,gBAAgB,EAAE;QACrB,GAAG,eAAe,EAAE;QACpB,GAAG,sBAAsB,EAAE;QAC3B,GAAG,uBAAuB,EAAE;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AASzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,GAAG,sBAAsB,EAAE;QAC3B,GAAG,mBAAmB,EAAE;QACxB,GAAG,uBAAuB,EAAE;QAC5B,GAAG,wBAAwB,EAAE;QAC7B,GAAG,sBAAsB,EAAE;QAC3B,GAAG,0BAA0B,EAAE;QAC/B,GAAG,uBAAuB,EAAE;QAC5B,GAAG,oBAAoB,EAAE;QACzB,GAAG,sBAAsB,EAAE;QAC3B,GAAG,2BAA2B,EAAE;QAChC,GAAG,qBAAqB,EAAE;QAC1B,GAAG,6BAA6B,EAAE;QAClC,GAAG,0BAA0B,EAAE;QAC/B,GAAG,gBAAgB,EAAE;QACrB,GAAG,kBAAkB,EAAE;QACvB,GAAG,kBAAkB,EAAE;QACvB,GAAG,mBAAmB,EAAE;QACxB,GAAG,iBAAiB,EAAE;QACtB,GAAG,gBAAgB,EAAE;QACrB,GAAG,yBAAyB,EAAE;QAC9B,GAAG,gBAAgB,EAAE;QACrB,GAAG,eAAe,EAAE;QACpB,GAAG,sBAAsB,EAAE;QAC3B,GAAG,uBAAuB,EAAE;KAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { AgentTool } from "../tool-registry.js";
2
+ /**
3
+ * Read-only listing of the owner's registered local search roots. Pairs with the
4
+ * operate register/unregister tools: this is how the model discovers which roots
5
+ * (and their ids) it may pass to machine_search / read_machine_file.
6
+ */
7
+ export declare function createMachineRootListTools(): AgentTool[];
8
+ /**
9
+ * Owner-granted local roots for the read-only `machine_search` tool. Registering
10
+ * or revoking a root is an operate-class action, so both are approval-gated and
11
+ * audited like every other platform write.
12
+ */
13
+ export declare function createMachineRootTools(): AgentTool[];
@@ -0,0 +1,63 @@
1
+ import { executeAgentAction } from "../../platform-commands/agent-actions.js";
2
+ import { z } from "zod";
3
+ import { CopilotMachineRootRepository } from "../../../db/repositories/copilot-machine-root-repository.js";
4
+ const registerInput = z.object({
5
+ label: z.string().trim().min(1).max(200),
6
+ /** Absolute local directory path (any OS). Validated as a real directory and root-guarded. */
7
+ path: z.string().trim().min(1).max(1024),
8
+ }).strict();
9
+ const unregisterInput = z.object({ rootId: z.string().min(1).max(128) }).strict();
10
+ /**
11
+ * Read-only listing of the owner's registered local search roots. Pairs with the
12
+ * operate register/unregister tools: this is how the model discovers which roots
13
+ * (and their ids) it may pass to machine_search / read_machine_file.
14
+ */
15
+ export function createMachineRootListTools() {
16
+ return [
17
+ {
18
+ name: "list_machine_roots",
19
+ description: "List the local directories this owner has registered as read-only search roots (id, label, path)." +
20
+ " Use the returned root id as the `root` argument to machine_search and read_machine_file.",
21
+ risk: "read",
22
+ requiresApproval: false,
23
+ inputSchema: z.object({}).strict(),
24
+ async execute(_input, context) {
25
+ const roots = new CopilotMachineRootRepository(context.db, context.userId).list()
26
+ .map(({ id, label, path }) => ({ id, label, path }));
27
+ return { roots, count: roots.length };
28
+ }
29
+ }
30
+ ];
31
+ }
32
+ /**
33
+ * Owner-granted local roots for the read-only `machine_search` tool. Registering
34
+ * or revoking a root is an operate-class action, so both are approval-gated and
35
+ * audited like every other platform write.
36
+ */
37
+ export function createMachineRootTools() {
38
+ return [
39
+ {
40
+ name: "register_machine_root",
41
+ description: "Register an existing local directory as a read-only search root so machine_search can traverse it. Owner-approved.",
42
+ risk: "operate",
43
+ requiresApproval: true,
44
+ riskClass: "medium",
45
+ inputSchema: registerInput,
46
+ async execute(input, context) {
47
+ return executeAgentAction("register_machine_root", registerInput.parse(input), context);
48
+ }
49
+ },
50
+ {
51
+ name: "unregister_machine_root",
52
+ description: "Revoke a previously registered local search root. Owner-approved.",
53
+ risk: "operate",
54
+ requiresApproval: true,
55
+ riskClass: "medium",
56
+ inputSchema: unregisterInput,
57
+ async execute(input, context) {
58
+ return executeAgentAction("unregister_machine_root", unregisterInput.parse(input), context);
59
+ }
60
+ }
61
+ ];
62
+ }
63
+ //# sourceMappingURL=machine-roots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-roots.js","sourceRoot":"","sources":["../../../../../src/services/agent/tools/machine-roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,6DAA6D,CAAC;AAG3G,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,8FAA8F;IAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CACzC,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAElF;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,mGAAmG;gBAC9G,2FAA2F;YAC7F,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;YAClC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;gBAC3B,MAAM,KAAK,GAAG,IAAI,4BAA4B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;qBAC9E,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,oHAAoH;YACjI,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,aAAa;YAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;gBAC1B,OAAO,kBAAkB,CAAC,uBAAuB,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1F,CAAC;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,mEAAmE;YAChF,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,eAAe;YAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;gBAC1B,OAAO,kBAAkB,CAAC,yBAAyB,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9F,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ export interface SearchMatchInput {
2
+ files: Array<{
3
+ path: string;
4
+ content: string | null;
5
+ }>;
6
+ query: string;
7
+ mode: 'literal' | 'regex';
8
+ pathGlob?: string | undefined;
9
+ lineOffset: number;
10
+ limit: number;
11
+ }
12
+ export interface SearchMatchResult {
13
+ matches: Array<{
14
+ path: string;
15
+ line: number;
16
+ text: string;
17
+ }>;
18
+ scannedFiles: number;
19
+ resume: {
20
+ fileOffset: number;
21
+ lineOffset: number;
22
+ } | null;
23
+ }
24
+ export declare function matchSearchPage(input: SearchMatchInput, signal?: AbortSignal): Promise<SearchMatchResult>;
@@ -0,0 +1,98 @@
1
+ import { Worker } from 'node:worker_threads';
2
+ const SEARCH_TIMEOUT_MS = 2000;
3
+ const MAX_ACTIVE_SEARCHES = 4;
4
+ let activeSearches = 0;
5
+ // Only this fixed source is executable. User patterns and bounded file snapshots
6
+ // travel as structured data; both query regexes and glob regexes stay off the
7
+ // Gateway event loop. An inline worker also works in tsx and the compiled CLI.
8
+ const MATCHER_SOURCE = String.raw `
9
+ const { parentPort, workerData: input } = require('node:worker_threads');
10
+ function globPattern(glob) {
11
+ let out = '^';
12
+ for (let i = 0; i < glob.length; i++) {
13
+ const c = glob[i];
14
+ if (c === '*') {
15
+ if (glob[i + 1] === '*') { out += '.*'; i++; }
16
+ else out += '[^/]*';
17
+ } else if (c === '?') out += '[^/]';
18
+ else if ('\\^$.|+()[]{}'.includes(c)) out += '\\' + c;
19
+ else out += c;
20
+ }
21
+ return new RegExp(out + '$');
22
+ }
23
+ try {
24
+ const glob = input.pathGlob ? globPattern(input.pathGlob) : null;
25
+ const query = input.mode === 'regex' ? new RegExp(input.query, 'i') : null;
26
+ const literal = input.query.toLowerCase();
27
+ const matches = [];
28
+ let scannedFiles = 0;
29
+ let resume = null;
30
+ for (let fileOffset = 0; fileOffset < input.files.length; fileOffset++) {
31
+ const file = input.files[fileOffset];
32
+ scannedFiles++;
33
+ if (file.content === null || glob && !glob.test(file.path)) continue;
34
+ const lines = file.content.split('\n');
35
+ for (let index = fileOffset === 0 ? input.lineOffset : 0; index < lines.length; index++) {
36
+ const text = lines[index];
37
+ if (query ? query.test(text) : text.toLowerCase().includes(literal)) {
38
+ matches.push({ path: file.path, line: index + 1, text });
39
+ if (matches.length >= input.limit) {
40
+ resume = { fileOffset, lineOffset: index + 1 };
41
+ break;
42
+ }
43
+ }
44
+ }
45
+ if (resume) break;
46
+ }
47
+ parentPort.postMessage({ matches, scannedFiles, resume });
48
+ } catch {
49
+ parentPort.postMessage({ error: 'MACHINE_SEARCH_INVALID_PATTERN' });
50
+ }
51
+ `;
52
+ export async function matchSearchPage(input, signal) {
53
+ if (signal?.aborted)
54
+ throw new Error('MACHINE_SEARCH_CANCELLED');
55
+ if (activeSearches >= MAX_ACTIVE_SEARCHES)
56
+ throw new Error('MACHINE_SEARCH_BUSY: retry after another search finishes');
57
+ const worker = new Worker(MATCHER_SOURCE, {
58
+ eval: true, workerData: input, env: {}, execArgv: [],
59
+ resourceLimits: { maxOldGenerationSizeMb: 64, maxYoungGenerationSizeMb: 16, stackSizeMb: 2 },
60
+ });
61
+ activeSearches++;
62
+ return new Promise((resolve, reject) => {
63
+ let settled = false;
64
+ const finish = (result, error) => {
65
+ if (settled)
66
+ return;
67
+ settled = true;
68
+ clearTimeout(timer);
69
+ signal?.removeEventListener('abort', cancel);
70
+ // Wait for termination before freeing capacity or completing the call.
71
+ // Keep the error listener until exit so shutdown cannot emit unhandled errors.
72
+ void worker.terminate().then(() => {
73
+ activeSearches--;
74
+ if (error)
75
+ reject(error);
76
+ else
77
+ resolve(result);
78
+ }, () => {
79
+ activeSearches--;
80
+ reject(new Error('MACHINE_SEARCH_WORKER_FAILED'));
81
+ });
82
+ };
83
+ const cancel = () => finish(undefined, new Error('MACHINE_SEARCH_CANCELLED'));
84
+ const timer = setTimeout(() => finish(undefined, new Error('MACHINE_SEARCH_TIMEOUT: simplify the pattern or narrow the search')), SEARCH_TIMEOUT_MS);
85
+ worker.once('message', (result) => {
86
+ if ('error' in result)
87
+ finish(undefined, new Error(result.error));
88
+ else
89
+ finish(result);
90
+ });
91
+ worker.once('error', () => finish(undefined, new Error('MACHINE_SEARCH_WORKER_FAILED')));
92
+ worker.once('exit', () => finish(undefined, new Error('MACHINE_SEARCH_WORKER_FAILED')));
93
+ signal?.addEventListener('abort', cancel, { once: true });
94
+ if (signal?.aborted)
95
+ cancel();
96
+ });
97
+ }
98
+ //# sourceMappingURL=machine-search-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-search-matcher.js","sourceRoot":"","sources":["../../../../../src/services/agent/tools/machine-search-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { AgentTool } from '../tool-registry.js';
2
+ /**
3
+ * Read-only agent search over an owner-registered local root. This is the
4
+ * machine-file half of "agent search": the orchestrator already drives the
5
+ * search -> read -> re-search loop, so this tool only exposes a cross-platform
6
+ * file finder that reuses the development workspace's guarded readers
7
+ * (per-segment symlink lstat, O_NOFOLLOW, 64 KiB cap, secret/hidden skip).
8
+ */
9
+ export declare function createMachineSearchTools(): AgentTool[];