agent-insight 0.5.1 → 0.5.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 (464) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +6 -0
  6. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  7. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  22. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +1 -1
  23. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  32. package/.next/standalone/.next/server/app/accessconfig/health.rsc +1 -1
  33. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  35. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/accessconfig/install.html +2 -2
  42. package/.next/standalone/.next/server/app/accessconfig/install.rsc +1 -1
  43. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  52. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +1 -1
  53. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  62. package/.next/standalone/.next/server/app/accessconfig.rsc +1 -1
  63. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/agents.html +1 -1
  71. package/.next/standalone/.next/server/app/agents.rsc +1 -1
  72. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  74. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +1 -1
  75. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +1 -1
  76. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  77. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/fleet/trends/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route/app-paths-manifest.json +3 -0
  125. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route/build-manifest.json +11 -0
  126. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route/server-reference-manifest.json +4 -0
  127. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route.js +7 -0
  128. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route.js.map +5 -0
  129. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route.js.nft.json +1 -0
  130. package/.next/standalone/.next/server/app/api/ingest/setup/opencode-offline-fix/route_client-reference-manifest.js +2 -0
  131. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  199. package/.next/standalone/.next/server/app/dashboard.rsc +1 -1
  200. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +1 -1
  201. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  202. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +1 -1
  203. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +1 -1
  204. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  205. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +1 -1
  206. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  207. package/.next/standalone/.next/server/app/dataset.html +1 -1
  208. package/.next/standalone/.next/server/app/dataset.rsc +1 -1
  209. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  211. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +1 -1
  212. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +1 -1
  213. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  214. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +1 -1
  215. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +1 -1
  216. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  217. package/.next/standalone/.next/server/app/eval/trajectory.rsc +1 -1
  218. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +1 -1
  219. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  224. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +1 -1
  225. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +1 -1
  226. package/.next/standalone/.next/server/app/eval.html +1 -1
  227. package/.next/standalone/.next/server/app/eval.rsc +1 -1
  228. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +1 -1
  231. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  233. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +1 -1
  234. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +1 -1
  235. package/.next/standalone/.next/server/app/fault.html +1 -1
  236. package/.next/standalone/.next/server/app/fault.rsc +1 -1
  237. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +1 -1
  240. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  242. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +1 -1
  243. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +1 -1
  244. package/.next/standalone/.next/server/app/index.html +1 -1
  245. package/.next/standalone/.next/server/app/index.rsc +1 -1
  246. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  249. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  250. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  251. package/.next/standalone/.next/server/app/infra/sources.html +1 -1
  252. package/.next/standalone/.next/server/app/infra/sources.rsc +1 -1
  253. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +1 -1
  257. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +1 -1
  260. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +1 -1
  261. package/.next/standalone/.next/server/app/infra.html +1 -1
  262. package/.next/standalone/.next/server/app/infra.rsc +1 -1
  263. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +1 -1
  266. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +1 -1
  268. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +1 -1
  269. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +1 -1
  270. package/.next/standalone/.next/server/app/login.html +1 -1
  271. package/.next/standalone/.next/server/app/login.rsc +1 -1
  272. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  274. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  276. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  277. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  278. package/.next/standalone/.next/server/app/memory.html +1 -1
  279. package/.next/standalone/.next/server/app/memory.rsc +1 -1
  280. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +1 -1
  284. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  286. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  287. package/.next/standalone/.next/server/app/metrics.html +1 -1
  288. package/.next/standalone/.next/server/app/metrics.rsc +1 -1
  289. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +1 -1
  290. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +1 -1
  296. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  297. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +1 -1
  298. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +1 -1
  299. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  301. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +1 -1
  305. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  307. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +1 -1
  308. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +1 -1
  312. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  314. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +1 -1
  315. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +1 -1
  316. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  317. package/.next/standalone/.next/server/app/modelconfig.rsc +1 -1
  318. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  320. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +1 -1
  321. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +1 -1
  322. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +1 -1
  324. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +1 -1
  325. package/.next/standalone/.next/server/app/optapi.html +1 -1
  326. package/.next/standalone/.next/server/app/optapi.rsc +1 -1
  327. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  329. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +1 -1
  331. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +1 -1
  333. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +1 -1
  334. package/.next/standalone/.next/server/app/quality.html +1 -1
  335. package/.next/standalone/.next/server/app/quality.rsc +1 -1
  336. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  338. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +1 -1
  339. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +1 -1
  340. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/security.html +1 -1
  344. package/.next/standalone/.next/server/app/security.rsc +1 -1
  345. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +1 -1
  348. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +1 -1
  352. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  353. package/.next/standalone/.next/server/app/skill-detail.rsc +1 -1
  354. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  356. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +1 -1
  359. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  361. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +1 -1
  362. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  364. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  365. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  368. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +1 -1
  370. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  371. package/.next/standalone/.next/server/app/skill-eval.rsc +1 -1
  372. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +1 -1
  373. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  374. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  377. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +1 -1
  379. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  380. package/.next/standalone/.next/server/app/skill-generator.rsc +1 -1
  381. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +1 -1
  382. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  383. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +1 -1
  384. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  386. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +1 -1
  387. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +1 -1
  388. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  389. package/.next/standalone/.next/server/app/skill-history.rsc +1 -1
  390. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +1 -1
  391. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  392. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +1 -1
  393. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +1 -1
  394. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  395. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +1 -1
  396. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +1 -1
  397. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  398. package/.next/standalone/.next/server/app/skill-opt.rsc +1 -1
  399. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +1 -1
  400. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  401. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +1 -1
  402. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +1 -1
  405. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +1 -1
  406. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  407. package/.next/standalone/.next/server/app/skill-release.rsc +1 -1
  408. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +1 -1
  409. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  410. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +1 -1
  411. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +1 -1
  412. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  413. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +1 -1
  414. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +1 -1
  415. package/.next/standalone/.next/server/app/skills.html +1 -1
  416. package/.next/standalone/.next/server/app/skills.rsc +1 -1
  417. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +1 -1
  418. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  419. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +1 -1
  420. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +1 -1
  421. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  422. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
  423. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
  424. package/.next/standalone/.next/server/app/trace.html +1 -1
  425. package/.next/standalone/.next/server/app/trace.rsc +1 -1
  426. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +1 -1
  427. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  428. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +1 -1
  429. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +1 -1
  430. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  431. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +1 -1
  432. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +1 -1
  433. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__edc6a75f._.js +3 -0
  435. package/.next/standalone/.next/server/chunks/ce889_server_app_api_ingest_setup_opencode-offline-fix_route_actions_13b9e7e1.js +3 -0
  436. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c4a195e5.js +1 -1
  437. package/.next/standalone/.next/server/pages/404.html +1 -1
  438. package/.next/standalone/.next/server/pages/500.html +2 -2
  439. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  440. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  441. package/.next/standalone/Evaluation_and_Research/agent_evaluator_research_qna_2.md +1312 -0
  442. package/.next/standalone/Evaluation_and_Research/agent_evaluator_research_qna_3.md +712 -0
  443. package/.next/standalone/Evaluation_and_Research/agent_evaluator_research_qna_4.md +1228 -0
  444. package/.next/standalone/docker-compose.amd64.yml +1 -1
  445. package/.next/standalone/package.json +1 -1
  446. package/.next/standalone/scripts/opencode-offline-fix.ps1 +93 -0
  447. package/.next/standalone/scripts/opencode_tui_plugin.tsx +23 -1
  448. package/package.json +1 -1
  449. package/scripts/opencode-offline-fix.ps1 +93 -0
  450. package/scripts/opencode_tui_plugin.tsx +23 -1
  451. package/.next/standalone/scripts/activate_telemetry.sh +0 -202
  452. package/.next/standalone/scripts/insight-paths.js +0 -33
  453. package/.next/standalone/scripts/opencode_otel_schema.ts +0 -73
  454. package/.next/standalone/scripts/opencode_plugin.ts +0 -1063
  455. package/scripts/activate_telemetry.sh +0 -202
  456. package/scripts/insight-paths.js +0 -33
  457. package/scripts/opencode_otel_schema.ts +0 -73
  458. package/scripts/opencode_plugin.ts +0 -1063
  459. /package/.next/standalone/.next/static/{xzZesDmllz08gJIxUNkXr → iE8084jR9Kgb7Bhs3Xokh}/_buildManifest.js +0 -0
  460. /package/.next/standalone/.next/static/{xzZesDmllz08gJIxUNkXr → iE8084jR9Kgb7Bhs3Xokh}/_clientMiddlewareManifest.json +0 -0
  461. /package/.next/standalone/.next/static/{xzZesDmllz08gJIxUNkXr → iE8084jR9Kgb7Bhs3Xokh}/_ssgManifest.js +0 -0
  462. /package/.next/static/{xzZesDmllz08gJIxUNkXr → iE8084jR9Kgb7Bhs3Xokh}/_buildManifest.js +0 -0
  463. /package/.next/static/{xzZesDmllz08gJIxUNkXr → iE8084jR9Kgb7Bhs3Xokh}/_clientMiddlewareManifest.json +0 -0
  464. /package/.next/static/{xzZesDmllz08gJIxUNkXr → iE8084jR9Kgb7Bhs3Xokh}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  agent-insight:
3
- image: karaggagent/agent-insight:0.5.0-amd64
3
+ image: karaggagent/agent-insight:0.5.1-amd64
4
4
  container_name: agent-insight
5
5
  platform: linux/amd64
6
6
  restart: unless-stopped
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-insight",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Agent Skill 评估与观测平台 — 量化评估 Skills 在 Agent 上的实际运行效果",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -0,0 +1,93 @@
1
+ <#
2
+ opencode-offline-fix.ps1
3
+ Purpose: make bun's npm-registry request FAIL FAST, so opencode desktop does not
4
+ hang at "connecting to local server" while trying to install
5
+ @opencode-ai/plugin@local over the network (~60s timeout when offline).
6
+ Behavior: auto-detects whether npm is directly reachable; only applies the fix
7
+ when it is NOT; fully reversible.
8
+
9
+ Usage (download then run, so parameters work):
10
+ irm "http://<platform-host>:3000/api/setup/opencode-offline-fix" -OutFile opencode-offline-fix.ps1
11
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 # detect; apply only if npm unreachable
12
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Force # skip detection, apply anyway
13
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Restore # undo, restore original state
14
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Registry "http://your-intranet-mirror/"
15
+ # use an internal npm mirror instead of the
16
+ # dead address (real npm installs still work)
17
+ #>
18
+ param(
19
+ [switch]$Restore,
20
+ [switch]$Force,
21
+ [string]$Registry = "http://127.0.0.1:1/"
22
+ )
23
+ try { [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 } catch {}
24
+ $ErrorActionPreference = "Continue"
25
+
26
+ $npmrc = Join-Path $env:USERPROFILE ".npmrc"
27
+ $backup = Join-Path $env:USERPROFILE ".npmrc.agent-insight-bak"
28
+ $bunfig = Join-Path $env:USERPROFILE ".config\opencode\bunfig.toml"
29
+ $marker = "# agent-insight-opencode-offline-fix"
30
+
31
+ function Test-NpmReachable {
32
+ # Direct TCP connect (does NOT use system proxy) -> mirrors how bun reaches npm.
33
+ try {
34
+ $c = New-Object System.Net.Sockets.TcpClient
35
+ $iar = $c.BeginConnect("registry.npmjs.org", 443, $null, $null)
36
+ $ok = $iar.AsyncWaitHandle.WaitOne(3000, $false)
37
+ $connected = $ok -and $c.Connected
38
+ $c.Close()
39
+ return $connected
40
+ } catch { return $false }
41
+ }
42
+
43
+ # ---------------- RESTORE ----------------
44
+ if ($Restore) {
45
+ if (Test-Path $backup) {
46
+ Move-Item -LiteralPath $backup -Destination $npmrc -Force
47
+ Write-Host "[restore] restored original .npmrc from backup"
48
+ } elseif (Test-Path $npmrc) {
49
+ if ((Get-Content $npmrc -Raw) -match [regex]::Escape($marker)) {
50
+ Remove-Item $npmrc -Force
51
+ Write-Host "[restore] removed the .npmrc created by this script"
52
+ } else {
53
+ Write-Host "[restore] current .npmrc was NOT created by this script (no marker); left untouched: $npmrc"
54
+ }
55
+ } else {
56
+ Write-Host "[restore] nothing to restore"
57
+ }
58
+ if ((Test-Path $bunfig) -and ((Get-Content $bunfig -Raw) -match "127\.0\.0\.1:1")) {
59
+ Remove-Item $bunfig -Force
60
+ Write-Host "[restore] removed leftover test bunfig.toml"
61
+ }
62
+ Write-Host "[restore] done. Fully quit and reopen opencode desktop."
63
+ return
64
+ }
65
+
66
+ # ---------------- DETECT ----------------
67
+ if (-not $Force) {
68
+ Write-Host "[detect] testing direct connection to registry.npmjs.org:443 ..."
69
+ if (Test-NpmReachable) {
70
+ Write-Host "[detect] npm is REACHABLE -> opencode's dependency install returns fast, no hang."
71
+ Write-Host "[detect] fix NOT needed. Use -Force to apply anyway."
72
+ return
73
+ }
74
+ Write-Host "[detect] npm is NOT reachable (offline / intranet / proxy) -> opencode will hang -> applying fix."
75
+ }
76
+
77
+ # ---------------- APPLY ----------------
78
+ if ((Test-Path $npmrc) -and (-not (Test-Path $backup))) {
79
+ if (-not ((Get-Content $npmrc -Raw) -match [regex]::Escape($marker))) {
80
+ Copy-Item $npmrc $backup -Force
81
+ Write-Host "[apply] backed up original .npmrc -> $backup"
82
+ }
83
+ }
84
+ $body = @"
85
+ $marker
86
+ registry=$Registry
87
+ fetch-retries=0
88
+ fetch-timeout=2000
89
+ "@
90
+ Set-Content -Path $npmrc -Value $body -Encoding ascii
91
+ Write-Host "[apply] wrote fast-fail config: $npmrc (registry=$Registry)"
92
+ Write-Host "[apply] now FULLY quit and reopen opencode desktop; it should open instantly with the plugin uploading."
93
+ Write-Host "[apply] to undo: powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Restore"
@@ -4,7 +4,29 @@ import { Show, createEffect, createMemo, createSignal } from "solid-js"
4
4
  import fs from "fs"
5
5
  import path from "path"
6
6
  import { spawn } from "child_process"
7
- import { getExistingInsightDir, getInsightEnvCandidates } from "./insight-paths.js"
7
+ import os from "os"
8
+
9
+ // 自包含:内联 insight 路径解析。原先从 "./insight-paths.js" 导入,但安装脚本从不下发该文件,
10
+ // 会导致本插件在 opencode 加载时报“找不到模块”,进而拖垮 opencode 本地服务启动。改为内联,去除外部相对依赖。
11
+ function getPreferredInsightDir() {
12
+ return path.join(os.homedir(), ".agent-insight")
13
+ }
14
+ function getLegacyInsightDir() {
15
+ return path.join(os.homedir(), ".skill-insight")
16
+ }
17
+ function getExistingInsightDir() {
18
+ const preferred = getPreferredInsightDir()
19
+ const legacy = getLegacyInsightDir()
20
+ if (fs.existsSync(preferred)) return preferred
21
+ if (fs.existsSync(legacy)) return legacy
22
+ return preferred
23
+ }
24
+ function getInsightEnvCandidates() {
25
+ return [
26
+ path.join(getPreferredInsightDir(), ".env"),
27
+ path.join(getLegacyInsightDir(), ".env"),
28
+ ]
29
+ }
8
30
 
9
31
  function parseBool(input: unknown, defaultValue: boolean) {
10
32
  if (input === undefined || input === null) return defaultValue
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-insight",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Agent Skill 评估与观测平台 — 量化评估 Skills 在 Agent 上的实际运行效果",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -0,0 +1,93 @@
1
+ <#
2
+ opencode-offline-fix.ps1
3
+ Purpose: make bun's npm-registry request FAIL FAST, so opencode desktop does not
4
+ hang at "connecting to local server" while trying to install
5
+ @opencode-ai/plugin@local over the network (~60s timeout when offline).
6
+ Behavior: auto-detects whether npm is directly reachable; only applies the fix
7
+ when it is NOT; fully reversible.
8
+
9
+ Usage (download then run, so parameters work):
10
+ irm "http://<platform-host>:3000/api/setup/opencode-offline-fix" -OutFile opencode-offline-fix.ps1
11
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 # detect; apply only if npm unreachable
12
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Force # skip detection, apply anyway
13
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Restore # undo, restore original state
14
+ powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Registry "http://your-intranet-mirror/"
15
+ # use an internal npm mirror instead of the
16
+ # dead address (real npm installs still work)
17
+ #>
18
+ param(
19
+ [switch]$Restore,
20
+ [switch]$Force,
21
+ [string]$Registry = "http://127.0.0.1:1/"
22
+ )
23
+ try { [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 } catch {}
24
+ $ErrorActionPreference = "Continue"
25
+
26
+ $npmrc = Join-Path $env:USERPROFILE ".npmrc"
27
+ $backup = Join-Path $env:USERPROFILE ".npmrc.agent-insight-bak"
28
+ $bunfig = Join-Path $env:USERPROFILE ".config\opencode\bunfig.toml"
29
+ $marker = "# agent-insight-opencode-offline-fix"
30
+
31
+ function Test-NpmReachable {
32
+ # Direct TCP connect (does NOT use system proxy) -> mirrors how bun reaches npm.
33
+ try {
34
+ $c = New-Object System.Net.Sockets.TcpClient
35
+ $iar = $c.BeginConnect("registry.npmjs.org", 443, $null, $null)
36
+ $ok = $iar.AsyncWaitHandle.WaitOne(3000, $false)
37
+ $connected = $ok -and $c.Connected
38
+ $c.Close()
39
+ return $connected
40
+ } catch { return $false }
41
+ }
42
+
43
+ # ---------------- RESTORE ----------------
44
+ if ($Restore) {
45
+ if (Test-Path $backup) {
46
+ Move-Item -LiteralPath $backup -Destination $npmrc -Force
47
+ Write-Host "[restore] restored original .npmrc from backup"
48
+ } elseif (Test-Path $npmrc) {
49
+ if ((Get-Content $npmrc -Raw) -match [regex]::Escape($marker)) {
50
+ Remove-Item $npmrc -Force
51
+ Write-Host "[restore] removed the .npmrc created by this script"
52
+ } else {
53
+ Write-Host "[restore] current .npmrc was NOT created by this script (no marker); left untouched: $npmrc"
54
+ }
55
+ } else {
56
+ Write-Host "[restore] nothing to restore"
57
+ }
58
+ if ((Test-Path $bunfig) -and ((Get-Content $bunfig -Raw) -match "127\.0\.0\.1:1")) {
59
+ Remove-Item $bunfig -Force
60
+ Write-Host "[restore] removed leftover test bunfig.toml"
61
+ }
62
+ Write-Host "[restore] done. Fully quit and reopen opencode desktop."
63
+ return
64
+ }
65
+
66
+ # ---------------- DETECT ----------------
67
+ if (-not $Force) {
68
+ Write-Host "[detect] testing direct connection to registry.npmjs.org:443 ..."
69
+ if (Test-NpmReachable) {
70
+ Write-Host "[detect] npm is REACHABLE -> opencode's dependency install returns fast, no hang."
71
+ Write-Host "[detect] fix NOT needed. Use -Force to apply anyway."
72
+ return
73
+ }
74
+ Write-Host "[detect] npm is NOT reachable (offline / intranet / proxy) -> opencode will hang -> applying fix."
75
+ }
76
+
77
+ # ---------------- APPLY ----------------
78
+ if ((Test-Path $npmrc) -and (-not (Test-Path $backup))) {
79
+ if (-not ((Get-Content $npmrc -Raw) -match [regex]::Escape($marker))) {
80
+ Copy-Item $npmrc $backup -Force
81
+ Write-Host "[apply] backed up original .npmrc -> $backup"
82
+ }
83
+ }
84
+ $body = @"
85
+ $marker
86
+ registry=$Registry
87
+ fetch-retries=0
88
+ fetch-timeout=2000
89
+ "@
90
+ Set-Content -Path $npmrc -Value $body -Encoding ascii
91
+ Write-Host "[apply] wrote fast-fail config: $npmrc (registry=$Registry)"
92
+ Write-Host "[apply] now FULLY quit and reopen opencode desktop; it should open instantly with the plugin uploading."
93
+ Write-Host "[apply] to undo: powershell -ExecutionPolicy Bypass -File .\opencode-offline-fix.ps1 -Restore"
@@ -4,7 +4,29 @@ import { Show, createEffect, createMemo, createSignal } from "solid-js"
4
4
  import fs from "fs"
5
5
  import path from "path"
6
6
  import { spawn } from "child_process"
7
- import { getExistingInsightDir, getInsightEnvCandidates } from "./insight-paths.js"
7
+ import os from "os"
8
+
9
+ // 自包含:内联 insight 路径解析。原先从 "./insight-paths.js" 导入,但安装脚本从不下发该文件,
10
+ // 会导致本插件在 opencode 加载时报“找不到模块”,进而拖垮 opencode 本地服务启动。改为内联,去除外部相对依赖。
11
+ function getPreferredInsightDir() {
12
+ return path.join(os.homedir(), ".agent-insight")
13
+ }
14
+ function getLegacyInsightDir() {
15
+ return path.join(os.homedir(), ".skill-insight")
16
+ }
17
+ function getExistingInsightDir() {
18
+ const preferred = getPreferredInsightDir()
19
+ const legacy = getLegacyInsightDir()
20
+ if (fs.existsSync(preferred)) return preferred
21
+ if (fs.existsSync(legacy)) return legacy
22
+ return preferred
23
+ }
24
+ function getInsightEnvCandidates() {
25
+ return [
26
+ path.join(getPreferredInsightDir(), ".env"),
27
+ path.join(getLegacyInsightDir(), ".env"),
28
+ ]
29
+ }
8
30
 
9
31
  function parseBool(input: unknown, defaultValue: boolean) {
10
32
  if (input === undefined || input === null) return defaultValue
@@ -1,202 +0,0 @@
1
- #!/bin/bash
2
-
3
- # =============================================================================
4
- # Agent-Insight Official Setup Script (Fixed Path Logic)
5
- #
6
- # Installs native telemetry hooks for Claude Code and OpenCode.
7
- # =============================================================================
8
-
9
- # Define project root relative to this script's location
10
- # Using a more robust way to handle 'source' from different shells
11
- if [ -n "$BASH_SOURCE" ]; then
12
- SELF_PATH="$BASH_SOURCE"
13
- else
14
- SELF_PATH="$0"
15
- fi
16
-
17
- # Go to script dir, then up to project root
18
- SCRIPTS_DIR="$( cd -- "$( dirname -- "$SELF_PATH" )" &> /dev/null && pwd )"
19
- PROJECT_ROOT="$( dirname "$SCRIPTS_DIR" )"
20
-
21
- echo "🚀 Starting Agent-Insight Telemetry Setup..."
22
- echo "📂 Project Root: $PROJECT_ROOT"
23
-
24
- # --- 1. Load Configurations ---
25
- if [ -f "$PROJECT_ROOT/.env" ]; then
26
- export $(grep -v '^#' "$PROJECT_ROOT/.env" | xargs)
27
- echo "✅ Configuration loaded from .env"
28
- fi
29
-
30
- # --- 2. Setup OpenCode Plugin (Priority) ---
31
- OPENCODE_PLUGIN_SRC="$SCRIPTS_DIR/opencode_plugin.ts"
32
- OPENCODE_PLUGIN_DEST="$HOME/.opencode/plugins/Witty-Skill-Insight.ts"
33
- OPENCODE_TUI_PLUGIN_SRC="$SCRIPTS_DIR/opencode_tui_plugin.tsx"
34
- OPENCODE_TUI_PLUGIN_DEST="$HOME/.opencode/plugins/Witty-Skill-Insight.tui.tsx"
35
- OPENCODE_CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/opencode"
36
- OPENCODE_CONFIG_PLUGIN_DIR="$OPENCODE_CONFIG_DIR/plugins"
37
-
38
- if [ -f "$OPENCODE_PLUGIN_SRC" ]; then
39
- echo "🛠️ Syncing OpenCode Plugin..."
40
-
41
- # Create plugin directory
42
- mkdir -p "$HOME/.opencode/plugins"
43
- mkdir -p "$OPENCODE_CONFIG_PLUGIN_DIR"
44
- cp "$OPENCODE_PLUGIN_SRC" "$OPENCODE_PLUGIN_DEST"
45
- cp "$OPENCODE_PLUGIN_SRC" "$OPENCODE_CONFIG_PLUGIN_DIR/Witty-Skill-Insight.ts"
46
- echo "✅ OpenCode Plugin installed to $OPENCODE_PLUGIN_DEST"
47
-
48
- if [ -f "$OPENCODE_TUI_PLUGIN_SRC" ]; then
49
- cp "$OPENCODE_TUI_PLUGIN_SRC" "$OPENCODE_TUI_PLUGIN_DEST"
50
- cp "$OPENCODE_TUI_PLUGIN_SRC" "$OPENCODE_CONFIG_PLUGIN_DIR/Witty-Skill-Insight.tui.tsx"
51
- echo "✅ OpenCode TUI Plugin installed to $OPENCODE_TUI_PLUGIN_DEST"
52
- if command -v node &> /dev/null; then
53
- export TUI_PLUGIN_PATH="$OPENCODE_CONFIG_PLUGIN_DIR/Witty-Skill-Insight.tui.tsx"
54
- export TUI_CONFIG_FILE="$OPENCODE_CONFIG_DIR/tui.json"
55
- node - <<'NODE'
56
- const fs = require("fs");
57
- const path = require("path");
58
- const file = process.env.TUI_CONFIG_FILE;
59
- const pluginPath = process.env.TUI_PLUGIN_PATH;
60
- let data = {};
61
- try {
62
- if (fs.existsSync(file)) {
63
- const text = fs.readFileSync(file, "utf8");
64
- data = text && text.trim() ? JSON.parse(text) : {};
65
- }
66
- } catch {}
67
- if (!data || typeof data !== "object") data = {};
68
- const list = Array.isArray(data.plugin) ? data.plugin.slice() : [];
69
- if (pluginPath && !list.includes(pluginPath)) list.push(pluginPath);
70
- data.plugin = list;
71
- fs.mkdirSync(path.dirname(file), { recursive: true });
72
- fs.writeFileSync(file, JSON.stringify(data, null, 2));
73
- NODE
74
- fi
75
- fi
76
-
77
- # --- 2.1 Setup Agent-Insight Config (~/.agent-insight/.env) ---
78
- AGENT_INSIGHT_CONFIG_DIR="$HOME/.agent-insight"
79
- AGENT_INSIGHT_CONFIG_FILE="$AGENT_INSIGHT_CONFIG_DIR/.env"
80
- mkdir -p "$AGENT_INSIGHT_CONFIG_DIR"
81
-
82
- EXISTING_KEY=""
83
- EXISTING_HOST=""
84
- EXISTING_SHOW_TASK_STATS=""
85
- if [ -f "$AGENT_INSIGHT_CONFIG_FILE" ]; then
86
- # match only UNCOMMENTED lines
87
- EXISTING_KEY=$(grep '^AGENT_INSIGHT_API_KEY=' "$AGENT_INSIGHT_CONFIG_FILE" | head -n 1 | cut -d'=' -f2-)
88
- EXISTING_HOST=$(grep '^AGENT_INSIGHT_HOST=' "$AGENT_INSIGHT_CONFIG_FILE" | head -n 1 | cut -d'=' -f2-)
89
- EXISTING_SHOW_TASK_STATS=$(grep '^AGENT_INSIGHT_SHOW_TASK_STATS=' "$AGENT_INSIGHT_CONFIG_FILE" | head -n 1 | cut -d'=' -f2-)
90
- fi
91
-
92
- # API Key Selection Logic
93
- API_KEY=""
94
- if [ -n "$EXISTING_KEY" ]; then
95
- echo "🔑 Found existing API Key in $AGENT_INSIGHT_CONFIG_FILE."
96
- read -p "👉 Use existing key? (y/N, Default: y): " USE_EXISTING < /dev/tty
97
- if [[ "$USE_EXISTING" =~ ^[Nn]$ ]]; then
98
- read -p "👉 Please enter your NEW API Key: " API_KEY < /dev/tty
99
- else
100
- API_KEY="$EXISTING_KEY"
101
- fi
102
- elif [ -n "$AGENT_INSIGHT_API_KEY" ]; then
103
- echo "🔑 Found API Key in current environment/env file: $AGENT_INSIGHT_API_KEY"
104
- read -p "👉 Use this key for global config? (y/N, Default: y): " USE_ENV < /dev/tty
105
- if [[ "$USE_ENV" =~ ^[Nn]$ ]]; then
106
- read -p "👉 Please enter your API Key: " API_KEY < /dev/tty
107
- else
108
- API_KEY="$AGENT_INSIGHT_API_KEY"
109
- fi
110
- else
111
- read -p "👉 Please enter your API Key: " API_KEY < /dev/tty
112
- fi
113
-
114
- # -- Host Logic --
115
- NEW_HOST="${AGENT_INSIGHT_HOST:-127.0.0.1:3000}"
116
- FINAL_HOST="$NEW_HOST"
117
- if [ -n "$EXISTING_HOST" ] && [ "$EXISTING_HOST" != "$NEW_HOST" ]; then
118
- echo "🌐 Current Host in global config: $EXISTING_HOST"
119
- echo "🌐 New Host detected: $NEW_HOST"
120
- read -p "👉 Change to new Host? (y/N, Default: y): " CHANGE_HOST < /dev/tty
121
- if [[ "$CHANGE_HOST" =~ ^[Nn]$ ]]; then
122
- FINAL_HOST="$EXISTING_HOST"
123
- fi
124
- fi
125
-
126
- if [ -z "$API_KEY" ]; then
127
- echo "⚠️ Warning: No API Key provided. Data reporting will fail."
128
- fi
129
-
130
- FINAL_SHOW_TASK_STATS="$EXISTING_SHOW_TASK_STATS"
131
- if [ -z "$FINAL_SHOW_TASK_STATS" ]; then
132
- FINAL_SHOW_TASK_STATS="true"
133
- fi
134
-
135
- echo "⚙️ Syncing configuration to $AGENT_INSIGHT_CONFIG_FILE..."
136
- touch "$AGENT_INSIGHT_CONFIG_FILE"
137
- cp "$AGENT_INSIGHT_CONFIG_FILE" "${AGENT_INSIGHT_CONFIG_FILE}.bak"
138
- grep -v "^AGENT_INSIGHT_API_KEY=" "${AGENT_INSIGHT_CONFIG_FILE}.bak" | grep -v "^AGENT_INSIGHT_HOST=" | grep -v "^AGENT_INSIGHT_SHOW_TASK_STATS=" > "$AGENT_INSIGHT_CONFIG_FILE"
139
- echo "AGENT_INSIGHT_API_KEY=$API_KEY" >> "$AGENT_INSIGHT_CONFIG_FILE"
140
- echo "AGENT_INSIGHT_HOST=$FINAL_HOST" >> "$AGENT_INSIGHT_CONFIG_FILE"
141
- echo "AGENT_INSIGHT_SHOW_TASK_STATS=$FINAL_SHOW_TASK_STATS" >> "$AGENT_INSIGHT_CONFIG_FILE"
142
- rm "${AGENT_INSIGHT_CONFIG_FILE}.bak"
143
- echo "✅ Configuration updated (Other settings preserved)."
144
-
145
- # NEW: Register Sync Hook into .zshrc / .bashrc
146
- SYNC_SCRIPT="$HOME/.agent-insight/sync_skills.js"
147
- if [ -f "$SYNC_SCRIPT" ]; then
148
- SHELL_RC="$HOME/.zshrc"
149
- [ -f "$HOME/.bashrc" ] && SHELL_RC="$HOME/.bashrc"
150
-
151
- # Add aliases if not present
152
- if ! grep -q "witty_sync_wrapper" "$SHELL_RC"; then
153
- echo "" >> "$SHELL_RC"
154
- echo "# Agent-Insight Auto-Sync" >> "$SHELL_RC"
155
- echo "alias opencode='node $SYNC_SCRIPT --agent opencode && opencode'" >> "$SHELL_RC"
156
- echo "alias claude='node $SYNC_SCRIPT --agent claude && claude'" >> "$SHELL_RC"
157
- echo "✅ Auto-sync aliases added to $SHELL_RC"
158
- fi
159
- fi
160
-
161
- else
162
- echo "❌ Error: OpenCode plugin source not found at $OPENCODE_PLUGIN_SRC"
163
- fi
164
-
165
- # --- 3. Setup Claude Code Hook ---
166
- CLAUDE_HOOK="$SCRIPTS_DIR/capture_claude.js"
167
- if [ -f "$CLAUDE_HOOK" ]; then
168
- echo "🛠️ Configuring Claude Code Hook..."
169
- chmod +x "$CLAUDE_HOOK"
170
- if command -v claude &> /dev/null; then
171
- # Check for active Claude processes which can cause config locks/hangs
172
- CLAUDE_PIDS=$(pgrep -x claude 2>/dev/null)
173
- if [ -n "$CLAUDE_PIDS" ]; then
174
- echo "⚠️ Detected running Claude Code process(es): $CLAUDE_PIDS"
175
- echo " Active sessions can prevent configuration updates from completing."
176
- read -p "👉 Would you like to terminate these processes to speed up registration? (y/N): " KILL_CLAUDE < /dev/tty
177
- if [[ "$KILL_CLAUDE" =~ ^[Yy]$ ]]; then
178
- echo "🔪 Terminating Claude processes..."
179
- kill -9 $CLAUDE_PIDS 2>/dev/null
180
- sleep 1
181
- else
182
- echo "⏳ Continuing (Warning: this step may hang if Claude is busy)..."
183
- fi
184
- fi
185
-
186
- claude config set hooks.Stop "$CLAUDE_HOOK" >/dev/null 2>&1
187
- echo "✅ Claude Hook registered: $CLAUDE_HOOK"
188
- fi
189
- else
190
- echo "❌ Error: Claude hook script not found at $CLAUDE_HOOK"
191
- fi
192
-
193
- # --- 4. Final Cleanup ---
194
- unset ANTHROPIC_BASE_URL
195
- unset DEEPSEEK_BASE_URL
196
- unset OPENAI_BASE_URL
197
-
198
- echo ""
199
- echo "🌟 Agent-Insight Telemetry: READY"
200
- echo "------------------------------------------------"
201
- echo "To test, run: opencode run 'hello'"
202
- echo ""
@@ -1,33 +0,0 @@
1
- const fs = require('fs')
2
- const os = require('os')
3
- const path = require('path')
4
-
5
- function getPreferredInsightDir() {
6
- return path.join(os.homedir(), '.agent-insight')
7
- }
8
-
9
- function getLegacyInsightDir() {
10
- return path.join(os.homedir(), '.skill-insight')
11
- }
12
-
13
- function getExistingInsightDir() {
14
- const preferred = getPreferredInsightDir()
15
- const legacy = getLegacyInsightDir()
16
- if (fs.existsSync(preferred)) return preferred
17
- if (fs.existsSync(legacy)) return legacy
18
- return preferred
19
- }
20
-
21
- function getInsightEnvCandidates() {
22
- return [
23
- path.join(getPreferredInsightDir(), '.env'),
24
- path.join(getLegacyInsightDir(), '.env')
25
- ]
26
- }
27
-
28
- module.exports = {
29
- getPreferredInsightDir,
30
- getLegacyInsightDir,
31
- getExistingInsightDir,
32
- getInsightEnvCandidates
33
- }
@@ -1,73 +0,0 @@
1
- import crypto from "node:crypto"
2
-
3
- export type JsonPrimitive = string | number | boolean | null
4
- export type JsonValue = JsonPrimitive | JsonObject | JsonValue[]
5
- export type JsonObject = { [k: string]: JsonValue }
6
-
7
- export type OTelCaptureKind =
8
- | "plugin.start"
9
- | "plugin.error"
10
- | "system.prompt"
11
- | "chat.message"
12
- | "text.complete"
13
- | "event"
14
- | "uploader.checkpoint"
15
-
16
- export type OTelCaptureRecord = {
17
- t: string
18
- kind: OTelCaptureKind
19
- sessionID?: string
20
- parentID?: string
21
- projectID?: string
22
- agent?: string
23
- providerID?: string
24
- modelID?: string
25
- trace_id?: string
26
- span_id?: string
27
- parent_span_id?: string
28
- payload?: JsonValue
29
- }
30
-
31
- export function sha256Hex(text: string): string {
32
- return crypto.createHash("sha256").update(text).digest("hex")
33
- }
34
-
35
- const SECRET_KEYS = new Set(
36
- [
37
- "apiKey",
38
- "api_key",
39
- "apikey",
40
- "authorization",
41
- "Authorization",
42
- "token",
43
- "accessToken",
44
- "refreshToken",
45
- "secret",
46
- "clientSecret",
47
- "privateKey",
48
- "password",
49
- ].map((s) => s.toLowerCase()),
50
- )
51
-
52
- export function isSecretKey(key: string): boolean {
53
- const k = (key || "").toLowerCase()
54
- if (SECRET_KEYS.has(k)) return true
55
- if (k.endsWith("_key") || k.endsWith("_token") || k.endsWith("_secret")) return true
56
- return false
57
- }
58
-
59
- export function redactJson(value: JsonValue): JsonValue {
60
- if (value === null) return value
61
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") return value
62
- if (Array.isArray(value)) return value.map(redactJson)
63
-
64
- const out: JsonObject = {}
65
- for (const [k, v] of Object.entries(value)) {
66
- if (isSecretKey(k)) {
67
- out[k] = "***"
68
- continue
69
- }
70
- out[k] = redactJson(v as JsonValue)
71
- }
72
- return out
73
- }