@rulemetric/cli 0.2.1 → 0.2.3
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.
- package/dist/base-command.js +13 -52
- package/dist/base-command.js.map +7 -1
- package/dist/chunk-2AM54TUK.js +59 -0
- package/dist/chunk-2AM54TUK.js.map +7 -0
- package/dist/chunk-3TIMQ3O6.js +96 -0
- package/dist/chunk-3TIMQ3O6.js.map +7 -0
- package/dist/chunk-4BHDHHKL.js +48 -0
- package/dist/chunk-4BHDHHKL.js.map +7 -0
- package/dist/chunk-4D537GXE.js +99 -0
- package/dist/chunk-4D537GXE.js.map +7 -0
- package/dist/chunk-4SCZK7AL.js +129 -0
- package/dist/chunk-4SCZK7AL.js.map +7 -0
- package/dist/chunk-4WFE4PFP.js +61 -0
- package/dist/chunk-4WFE4PFP.js.map +7 -0
- package/dist/chunk-52WIYRZH.js +73 -0
- package/dist/chunk-52WIYRZH.js.map +7 -0
- package/dist/chunk-7FAA3YNB.js +1549 -0
- package/dist/chunk-7FAA3YNB.js.map +7 -0
- package/dist/chunk-7NYKWN7U.js +12 -0
- package/dist/chunk-7NYKWN7U.js.map +7 -0
- package/dist/chunk-AULP2OWH.js +99 -0
- package/dist/chunk-AULP2OWH.js.map +7 -0
- package/dist/chunk-B5KNTGMJ.js +1788 -0
- package/dist/chunk-B5KNTGMJ.js.map +7 -0
- package/dist/chunk-BD7CY42U.js +23 -0
- package/dist/chunk-BD7CY42U.js.map +7 -0
- package/dist/chunk-BO76WKJR.js +42 -0
- package/dist/chunk-BO76WKJR.js.map +7 -0
- package/dist/chunk-BRD5RUGM.js +53 -0
- package/dist/chunk-BRD5RUGM.js.map +7 -0
- package/dist/chunk-BT6Z6545.js +43 -0
- package/dist/chunk-BT6Z6545.js.map +7 -0
- package/dist/chunk-BZDKEQKU.js +39 -0
- package/dist/chunk-BZDKEQKU.js.map +7 -0
- package/dist/chunk-CROYS75W.js +161 -0
- package/dist/chunk-CROYS75W.js.map +7 -0
- package/dist/chunk-DGHWRQXL.js +17 -0
- package/dist/chunk-DGHWRQXL.js.map +7 -0
- package/dist/chunk-DQ3KELXD.js +74 -0
- package/dist/chunk-DQ3KELXD.js.map +7 -0
- package/dist/chunk-DTFXCHHI.js +108 -0
- package/dist/chunk-DTFXCHHI.js.map +7 -0
- package/dist/chunk-DU73QUS3.js +75 -0
- package/dist/chunk-DU73QUS3.js.map +7 -0
- package/dist/chunk-EHZJ6OXD.js +307 -0
- package/dist/chunk-EHZJ6OXD.js.map +7 -0
- package/dist/chunk-EJOI2ZGU.js +109 -0
- package/dist/chunk-EJOI2ZGU.js.map +7 -0
- package/dist/chunk-EKJ2CABV.js +76 -0
- package/dist/chunk-EKJ2CABV.js.map +7 -0
- package/dist/chunk-EKP32DLN.js +16 -0
- package/dist/chunk-EKP32DLN.js.map +7 -0
- package/dist/chunk-EOOP6WTC.js +148 -0
- package/dist/chunk-EOOP6WTC.js.map +7 -0
- package/dist/chunk-ERPMDAO3.js +20 -0
- package/dist/chunk-ERPMDAO3.js.map +7 -0
- package/dist/chunk-FTJRMUID.js +96 -0
- package/dist/chunk-FTJRMUID.js.map +7 -0
- package/dist/chunk-FZKLLNDS.js +228 -0
- package/dist/chunk-FZKLLNDS.js.map +7 -0
- package/dist/chunk-GQCISMAH.js +157 -0
- package/dist/chunk-GQCISMAH.js.map +7 -0
- package/dist/chunk-IGXX624H.js +55 -0
- package/dist/chunk-IGXX624H.js.map +7 -0
- package/dist/chunk-IJGF2ETG.js +68 -0
- package/dist/chunk-IJGF2ETG.js.map +7 -0
- package/dist/chunk-IWYCRLEK.js +220 -0
- package/dist/chunk-IWYCRLEK.js.map +7 -0
- package/dist/chunk-J7N3DLH6.js +117 -0
- package/dist/chunk-J7N3DLH6.js.map +7 -0
- package/dist/chunk-JX5UI6RW.js +99 -0
- package/dist/chunk-JX5UI6RW.js.map +7 -0
- package/dist/chunk-K3BFZ7KG.js +154 -0
- package/dist/chunk-K3BFZ7KG.js.map +7 -0
- package/dist/chunk-KHJUQFIK.js +51 -0
- package/dist/chunk-KHJUQFIK.js.map +7 -0
- package/dist/chunk-KRBQLMOP.js +41 -0
- package/dist/chunk-KRBQLMOP.js.map +7 -0
- package/dist/chunk-KZRFUXGF.js +145 -0
- package/dist/chunk-KZRFUXGF.js.map +7 -0
- package/dist/chunk-L674RNKQ.js +492 -0
- package/dist/chunk-L674RNKQ.js.map +7 -0
- package/dist/chunk-N52AHNBH.js +47 -0
- package/dist/chunk-N52AHNBH.js.map +7 -0
- package/dist/chunk-NIDLJO6F.js +228 -0
- package/dist/chunk-NIDLJO6F.js.map +7 -0
- package/dist/chunk-NSBPE2FW.js +17 -0
- package/dist/chunk-NSBPE2FW.js.map +7 -0
- package/dist/chunk-OGVORIFM.js +70 -0
- package/dist/chunk-OGVORIFM.js.map +7 -0
- package/dist/chunk-OQSQC7VB.js +77 -0
- package/dist/chunk-OQSQC7VB.js.map +7 -0
- package/dist/chunk-PHLMIZKM.js +153 -0
- package/dist/chunk-PHLMIZKM.js.map +7 -0
- package/dist/chunk-PQU7GZ7A.js +92 -0
- package/dist/chunk-PQU7GZ7A.js.map +7 -0
- package/dist/chunk-PXVQLD7S.js +196 -0
- package/dist/chunk-PXVQLD7S.js.map +7 -0
- package/dist/chunk-QD6X4L4L.js +79 -0
- package/dist/chunk-QD6X4L4L.js.map +7 -0
- package/dist/chunk-QJQS6TUN.js +44 -0
- package/dist/chunk-QJQS6TUN.js.map +7 -0
- package/dist/chunk-QJXAULRC.js +191 -0
- package/dist/chunk-QJXAULRC.js.map +7 -0
- package/dist/chunk-QN34TGD3.js +83 -0
- package/dist/chunk-QN34TGD3.js.map +7 -0
- package/dist/chunk-R5MFHGHR.js +122 -0
- package/dist/chunk-R5MFHGHR.js.map +7 -0
- package/dist/chunk-RH7NHVSK.js +16 -0
- package/dist/chunk-RH7NHVSK.js.map +7 -0
- package/dist/chunk-RJ7BHDLM.js +121 -0
- package/dist/chunk-RJ7BHDLM.js.map +7 -0
- package/dist/chunk-RQ2TMLKG.js +142 -0
- package/dist/chunk-RQ2TMLKG.js.map +7 -0
- package/dist/chunk-S56LOTGQ.js +63 -0
- package/dist/chunk-S56LOTGQ.js.map +7 -0
- package/dist/chunk-UF73WX2J.js +49 -0
- package/dist/chunk-UF73WX2J.js.map +7 -0
- package/dist/chunk-W53GKIZQ.js +50 -0
- package/dist/chunk-W53GKIZQ.js.map +7 -0
- package/dist/chunk-WA4MWYRW.js +254 -0
- package/dist/chunk-WA4MWYRW.js.map +7 -0
- package/dist/chunk-WFULKPEQ.js +269 -0
- package/dist/chunk-WFULKPEQ.js.map +7 -0
- package/dist/chunk-XC6M4CSW.js +44 -0
- package/dist/chunk-XC6M4CSW.js.map +7 -0
- package/dist/chunk-XPUEGHXN.js +243 -0
- package/dist/chunk-XPUEGHXN.js.map +7 -0
- package/dist/chunk-XZXS2W24.js +148 -0
- package/dist/chunk-XZXS2W24.js.map +7 -0
- package/dist/chunk-YBNW7ARH.js +167 -0
- package/dist/chunk-YBNW7ARH.js.map +7 -0
- package/dist/chunk-YNIH3KMU.js +121 -0
- package/dist/chunk-YNIH3KMU.js.map +7 -0
- package/dist/commands/antigravity/backfill.js +135 -0
- package/dist/commands/antigravity/backfill.js.map +7 -0
- package/dist/commands/auth/create-key.js +48 -33
- package/dist/commands/auth/create-key.js.map +7 -1
- package/dist/commands/auth/login.js +58 -46
- package/dist/commands/auth/login.js.map +7 -1
- package/dist/commands/auth/logout.js +28 -13
- package/dist/commands/auth/logout.js.map +7 -1
- package/dist/commands/auth/revoke-key.js +32 -18
- package/dist/commands/auth/revoke-key.js.map +7 -1
- package/dist/commands/auth/status.js +40 -22
- package/dist/commands/auth/status.js.map +7 -1
- package/dist/commands/catalog/index.js +50 -34
- package/dist/commands/catalog/index.js.map +7 -1
- package/dist/commands/catalog/recommend.js +41 -26
- package/dist/commands/catalog/recommend.js.map +7 -1
- package/dist/commands/convert.js +72 -54
- package/dist/commands/convert.js.map +7 -1
- package/dist/commands/converters.js +52 -38
- package/dist/commands/converters.js.map +7 -1
- package/dist/commands/crons/list.js +50 -24
- package/dist/commands/crons/list.js.map +7 -1
- package/dist/commands/crons/run.js +72 -47
- package/dist/commands/crons/run.js.map +7 -1
- package/dist/commands/dashboard.js +45 -24
- package/dist/commands/dashboard.js.map +7 -1
- package/dist/commands/eval-targets/create.js +51 -39
- package/dist/commands/eval-targets/create.js.map +7 -1
- package/dist/commands/eval-targets/list.js +52 -35
- package/dist/commands/eval-targets/list.js.map +7 -1
- package/dist/commands/evals/agent.js +292 -0
- package/dist/commands/evals/agent.js.map +7 -0
- package/dist/commands/evals/benchmark.js +70 -51
- package/dist/commands/evals/benchmark.js.map +7 -1
- package/dist/commands/evals/compare.js +90 -78
- package/dist/commands/evals/compare.js.map +7 -1
- package/dist/commands/evals/create.js +64 -50
- package/dist/commands/evals/create.js.map +7 -1
- package/dist/commands/evals/optimize-description.js +225 -222
- package/dist/commands/evals/optimize-description.js.map +7 -1
- package/dist/commands/evals/optimize.js +206 -196
- package/dist/commands/evals/optimize.js.map +7 -1
- package/dist/commands/evals/run.js +178 -164
- package/dist/commands/evals/run.js.map +7 -1
- package/dist/commands/gateway/ensure.js +33 -19
- package/dist/commands/gateway/ensure.js.map +7 -1
- package/dist/commands/hooks/install.js +335 -275
- package/dist/commands/hooks/install.js.map +7 -1
- package/dist/commands/hooks/run.js +72 -53
- package/dist/commands/hooks/run.js.map +7 -1
- package/dist/commands/hooks/uninstall.js +117 -94
- package/dist/commands/hooks/uninstall.js.map +7 -1
- package/dist/commands/import.js +63 -53
- package/dist/commands/import.js.map +7 -1
- package/dist/commands/instructions/create.js +71 -58
- package/dist/commands/instructions/create.js.map +7 -1
- package/dist/commands/instructions/delete.js +53 -36
- package/dist/commands/instructions/delete.js.map +7 -1
- package/dist/commands/instructions/fork.js +33 -19
- package/dist/commands/instructions/fork.js.map +7 -1
- package/dist/commands/instructions/get.js +66 -49
- package/dist/commands/instructions/get.js.map +7 -1
- package/dist/commands/instructions/list.js +63 -46
- package/dist/commands/instructions/list.js.map +7 -1
- package/dist/commands/instructions/promote.js +41 -27
- package/dist/commands/instructions/promote.js.map +7 -1
- package/dist/commands/instructions/pull.js +37 -21
- package/dist/commands/instructions/pull.js.map +7 -1
- package/dist/commands/instructions/upstream.js +36 -21
- package/dist/commands/instructions/upstream.js.map +7 -1
- package/dist/commands/instructions/versions.js +51 -33
- package/dist/commands/instructions/versions.js.map +7 -1
- package/dist/commands/launcher.js +39 -0
- package/dist/commands/launcher.js.map +7 -0
- package/dist/commands/org/current.js +74 -68
- package/dist/commands/org/current.js.map +7 -1
- package/dist/commands/org/list.js +50 -36
- package/dist/commands/org/list.js.map +7 -1
- package/dist/commands/org/switch.js +69 -51
- package/dist/commands/org/switch.js.map +7 -1
- package/dist/commands/packs/add-instruction.js +36 -22
- package/dist/commands/packs/add-instruction.js.map +7 -1
- package/dist/commands/packs/apply.js +38 -24
- package/dist/commands/packs/apply.js.map +7 -1
- package/dist/commands/packs/create.js +47 -33
- package/dist/commands/packs/create.js.map +7 -1
- package/dist/commands/packs/fork.js +33 -19
- package/dist/commands/packs/fork.js.map +7 -1
- package/dist/commands/packs/get.js +54 -35
- package/dist/commands/packs/get.js.map +7 -1
- package/dist/commands/packs/list.js +64 -47
- package/dist/commands/packs/list.js.map +7 -1
- package/dist/commands/packs/remove-instruction.js +34 -20
- package/dist/commands/packs/remove-instruction.js.map +7 -1
- package/dist/commands/proxy/env.js +126 -116
- package/dist/commands/proxy/env.js.map +7 -1
- package/dist/commands/proxy/logs.js +83 -74
- package/dist/commands/proxy/logs.js.map +7 -1
- package/dist/commands/proxy/restart.js +34 -36
- package/dist/commands/proxy/restart.js.map +7 -1
- package/dist/commands/proxy/setup.js +432 -375
- package/dist/commands/proxy/setup.js.map +7 -1
- package/dist/commands/proxy/start.js +289 -289
- package/dist/commands/proxy/start.js.map +7 -1
- package/dist/commands/proxy/status.js +74 -64
- package/dist/commands/proxy/status.js.map +7 -1
- package/dist/commands/proxy/stop.js +81 -75
- package/dist/commands/proxy/stop.js.map +7 -1
- package/dist/commands/research/backfill.js +58 -0
- package/dist/commands/research/backfill.js.map +7 -0
- package/dist/commands/research/tail-transcript.js +69 -0
- package/dist/commands/research/tail-transcript.js.map +7 -0
- package/dist/commands/service/install.js +639 -405
- package/dist/commands/service/install.js.map +7 -1
- package/dist/commands/service/status.js +178 -111
- package/dist/commands/service/status.js.map +7 -1
- package/dist/commands/service/uninstall.js +85 -110
- package/dist/commands/service/uninstall.js.map +7 -1
- package/dist/commands/sessions/analyze.js +46 -25
- package/dist/commands/sessions/analyze.js.map +7 -1
- package/dist/commands/sessions/end.js +81 -79
- package/dist/commands/sessions/end.js.map +7 -1
- package/dist/commands/sessions/import.js +44 -27
- package/dist/commands/sessions/import.js.map +7 -1
- package/dist/commands/sessions/list.js +46 -33
- package/dist/commands/sessions/list.js.map +7 -1
- package/dist/commands/sessions/start.js +88 -87
- package/dist/commands/sessions/start.js.map +7 -1
- package/dist/commands/signals/report.js +42 -34
- package/dist/commands/signals/report.js.map +7 -1
- package/dist/commands/skills/export-approved.js +44 -30
- package/dist/commands/skills/export-approved.js.map +7 -1
- package/dist/commands/skills/install.js +99 -84
- package/dist/commands/skills/install.js.map +7 -1
- package/dist/commands/skills/list.js +59 -42
- package/dist/commands/skills/list.js.map +7 -1
- package/dist/commands/skills/publish.js +95 -78
- package/dist/commands/skills/publish.js.map +7 -1
- package/dist/commands/skills/search.js +68 -53
- package/dist/commands/skills/search.js.map +7 -1
- package/dist/commands/skills/update.js +52 -39
- package/dist/commands/skills/update.js.map +7 -1
- package/dist/commands/suggestions/accept.js +82 -59
- package/dist/commands/suggestions/accept.js.map +7 -1
- package/dist/commands/suggestions/dismiss.js +44 -26
- package/dist/commands/suggestions/dismiss.js.map +7 -1
- package/dist/commands/suggestions/list.js +59 -39
- package/dist/commands/suggestions/list.js.map +7 -1
- package/dist/commands/suggestions/refresh.js +26 -11
- package/dist/commands/suggestions/refresh.js.map +7 -1
- package/dist/cursor-BGQJ4CWI.js +134 -0
- package/dist/cursor-BGQJ4CWI.js.map +7 -0
- package/dist/dashboard/Dashboard.js +229 -126
- package/dist/dashboard/Dashboard.js.map +7 -1
- package/dist/dashboard/data.js +13 -137
- package/dist/dashboard/data.js.map +7 -1
- package/dist/dashboard/launcher/ActiveJobsList.js +10 -0
- package/dist/dashboard/launcher/ActiveJobsList.js.map +7 -0
- package/dist/dashboard/launcher/LauncherOverlay.js +14 -0
- package/dist/dashboard/launcher/LauncherOverlay.js.map +7 -0
- package/dist/dashboard/launcher/NewLaunchForm.js +10 -0
- package/dist/dashboard/launcher/NewLaunchForm.js.map +7 -0
- package/dist/dashboard/launcher/api.js +14 -0
- package/dist/dashboard/launcher/api.js.map +7 -0
- package/dist/dashboard/launcher/tool-labels.js +10 -0
- package/dist/dashboard/launcher/tool-labels.js.map +7 -0
- package/dist/dashboard/launcher/types.js +1 -0
- package/dist/dashboard/launcher/types.js.map +7 -0
- package/dist/dashboard/launcher/useLaunchJobs.js +9 -0
- package/dist/dashboard/launcher/useLaunchJobs.js.map +7 -0
- package/dist/dashboard/panels/friction.js +10 -22
- package/dist/dashboard/panels/friction.js.map +7 -1
- package/dist/dashboard/panels/insights.js +10 -109
- package/dist/dashboard/panels/insights.js.map +7 -1
- package/dist/dashboard/panels/instructions.js +10 -17
- package/dist/dashboard/panels/instructions.js.map +7 -1
- package/dist/dashboard/panels/outcomes.js +9 -28
- package/dist/dashboard/panels/outcomes.js.map +7 -1
- package/dist/dashboard/panels/overview.js +10 -20
- package/dist/dashboard/panels/overview.js.map +7 -1
- package/dist/dashboard/panels/shared.js +18 -61
- package/dist/dashboard/panels/shared.js.map +7 -1
- package/dist/dashboard/types.js +23 -26
- package/dist/dashboard/types.js.map +7 -1
- package/dist/dist-CSUYFYKI.js +52 -0
- package/dist/dist-CSUYFYKI.js.map +7 -0
- package/dist/index.js +8 -2
- package/dist/index.js.map +7 -1
- package/dist/lib/active-org-refresh.js +15 -108
- package/dist/lib/active-org-refresh.js.map +7 -1
- package/dist/lib/active-org.js +15 -95
- package/dist/lib/active-org.js.map +7 -1
- package/dist/lib/agent-loop.js +44 -0
- package/dist/lib/agent-loop.js.map +7 -0
- package/dist/lib/antigravity-transcript.js +22 -0
- package/dist/lib/antigravity-transcript.js.map +7 -0
- package/dist/lib/api-client.js +21 -92
- package/dist/lib/api-client.js.map +7 -1
- package/dist/lib/auth.js +26 -137
- package/dist/lib/auth.js.map +7 -1
- package/dist/lib/detect-languages.js +8 -113
- package/dist/lib/detect-languages.js.map +7 -1
- package/dist/lib/detect-tmux.js +9 -0
- package/dist/lib/detect-tmux.js.map +7 -0
- package/dist/lib/eval-analyzer.js +9 -89
- package/dist/lib/eval-analyzer.js.map +7 -1
- package/dist/lib/eval-benchmark.js +12 -92
- package/dist/lib/eval-benchmark.js.map +7 -1
- package/dist/lib/eval-conversation-handler.js +13 -200
- package/dist/lib/eval-conversation-handler.js.map +7 -1
- package/dist/lib/eval-executor.js +8 -83
- package/dist/lib/eval-executor.js.map +7 -1
- package/dist/lib/eval-grader.js +9 -123
- package/dist/lib/eval-grader.js.map +7 -1
- package/dist/lib/eval-meta-judge.js +9 -116
- package/dist/lib/eval-meta-judge.js.map +7 -1
- package/dist/lib/eval-trigger-tester.js +11 -96
- package/dist/lib/eval-trigger-tester.js.map +7 -1
- package/dist/lib/eval-worktree.js +8 -87
- package/dist/lib/eval-worktree.js.map +7 -1
- package/dist/lib/gateway-entry.js +20 -18
- package/dist/lib/gateway-entry.js.map +7 -1
- package/dist/lib/gateway-lifecycle.js +22 -97
- package/dist/lib/gateway-lifecycle.js.map +7 -1
- package/dist/lib/gateway.js +12 -216
- package/dist/lib/gateway.js.map +7 -1
- package/dist/lib/handlers/cron-close-stale-sessions.js +18 -7
- package/dist/lib/handlers/cron-close-stale-sessions.js.map +7 -1
- package/dist/lib/handlers/cron-data-integrity-audit.js +21 -15
- package/dist/lib/handlers/cron-data-integrity-audit.js.map +7 -1
- package/dist/lib/handlers/cron-refresh-skills.js +7 -90
- package/dist/lib/handlers/cron-refresh-skills.js.map +7 -1
- package/dist/lib/handlers/cron-suggest-instructions.js +14 -158
- package/dist/lib/handlers/cron-suggest-instructions.js.map +7 -1
- package/dist/lib/handlers/process-announcement.js +11 -0
- package/dist/lib/handlers/process-announcement.js.map +7 -0
- package/dist/lib/handlers/process-changelog.js +11 -0
- package/dist/lib/handlers/process-changelog.js.map +7 -0
- package/dist/lib/handlers/process-conversation.js +14 -35
- package/dist/lib/handlers/process-conversation.js.map +7 -1
- package/dist/lib/handlers/process-eval.js +15 -207
- package/dist/lib/handlers/process-eval.js.map +7 -1
- package/dist/lib/handlers/process-insights.js +14 -300
- package/dist/lib/handlers/process-insights.js.map +7 -1
- package/dist/lib/handlers/process-launch.js +16 -41
- package/dist/lib/handlers/process-launch.js.map +7 -1
- package/dist/lib/handlers/process-run-cleanup.js +13 -0
- package/dist/lib/handlers/process-run-cleanup.js.map +7 -0
- package/dist/lib/handlers/process-send-message.js +10 -0
- package/dist/lib/handlers/process-send-message.js.map +7 -0
- package/dist/lib/handlers/process-session-goal.js +11 -74
- package/dist/lib/handlers/process-session-goal.js.map +7 -1
- package/dist/lib/hooks-config.js +52 -544
- package/dist/lib/hooks-config.js.map +7 -1
- package/dist/lib/insights-prompts.js +12 -145
- package/dist/lib/insights-prompts.js.map +7 -1
- package/dist/lib/job-helpers.js +1 -0
- package/dist/lib/job-helpers.js.map +7 -0
- package/dist/lib/llm-client.js +16 -274
- package/dist/lib/llm-client.js.map +7 -1
- package/dist/lib/manual-tasks.js +22 -0
- package/dist/lib/manual-tasks.js.map +7 -0
- package/dist/lib/output.js +12 -36
- package/dist/lib/output.js.map +7 -1
- package/dist/lib/permanent-job-error.js +10 -23
- package/dist/lib/permanent-job-error.js.map +7 -1
- package/dist/lib/provider-aggregator.js +57 -55
- package/dist/lib/provider-aggregator.js.map +7 -1
- package/dist/lib/research-client.js +12 -0
- package/dist/lib/research-client.js.map +7 -0
- package/dist/lib/skills-loader.js +8 -51
- package/dist/lib/skills-loader.js.map +7 -1
- package/dist/lib/statusline-shim.js +16 -0
- package/dist/lib/statusline-shim.js.map +7 -0
- package/dist/lib/terminal-target-heartbeat.js +15 -0
- package/dist/lib/terminal-target-heartbeat.js.map +7 -0
- package/dist/lib/tmux.js +16 -0
- package/dist/lib/tmux.js.map +7 -0
- package/dist/lib/transcript-rate-limit-watcher.js +22 -0
- package/dist/lib/transcript-rate-limit-watcher.js.map +7 -0
- package/dist/lib/types.js +8 -7
- package/dist/lib/types.js.map +7 -1
- package/dist/lib/version-check.js +10 -106
- package/dist/lib/version-check.js.map +7 -1
- package/dist/lib/which.js +8 -0
- package/dist/lib/which.js.map +7 -0
- package/dist/lib/worktree.js +17 -0
- package/dist/lib/worktree.js.map +7 -0
- package/dist/opencode-IQ7X5YMJ.js +190 -0
- package/dist/opencode-IQ7X5YMJ.js.map +7 -0
- package/oclif.manifest.json +299 -66
- package/package.json +26 -10
- package/dist/base-command.d.ts +0 -12
- package/dist/base-command.d.ts.map +0 -1
- package/dist/commands/auth/create-key.d.ts +0 -11
- package/dist/commands/auth/create-key.d.ts.map +0 -1
- package/dist/commands/auth/login.d.ts +0 -11
- package/dist/commands/auth/login.d.ts.map +0 -1
- package/dist/commands/auth/logout.d.ts +0 -7
- package/dist/commands/auth/logout.d.ts.map +0 -1
- package/dist/commands/auth/revoke-key.d.ts +0 -10
- package/dist/commands/auth/revoke-key.d.ts.map +0 -1
- package/dist/commands/auth/status.d.ts +0 -7
- package/dist/commands/auth/status.d.ts.map +0 -1
- package/dist/commands/catalog/index.d.ts +0 -11
- package/dist/commands/catalog/index.d.ts.map +0 -1
- package/dist/commands/catalog/recommend.d.ts +0 -9
- package/dist/commands/catalog/recommend.d.ts.map +0 -1
- package/dist/commands/convert.d.ts +0 -15
- package/dist/commands/convert.d.ts.map +0 -1
- package/dist/commands/converters.d.ts +0 -12
- package/dist/commands/converters.d.ts.map +0 -1
- package/dist/commands/crons/list.d.ts +0 -7
- package/dist/commands/crons/list.d.ts.map +0 -1
- package/dist/commands/crons/run.d.ts +0 -13
- package/dist/commands/crons/run.d.ts.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -10
- package/dist/commands/dashboard.d.ts.map +0 -1
- package/dist/commands/eval-targets/create.d.ts +0 -14
- package/dist/commands/eval-targets/create.d.ts.map +0 -1
- package/dist/commands/eval-targets/list.d.ts +0 -10
- package/dist/commands/eval-targets/list.d.ts.map +0 -1
- package/dist/commands/evals/benchmark.d.ts +0 -13
- package/dist/commands/evals/benchmark.d.ts.map +0 -1
- package/dist/commands/evals/compare.d.ts +0 -15
- package/dist/commands/evals/compare.d.ts.map +0 -1
- package/dist/commands/evals/create.d.ts +0 -17
- package/dist/commands/evals/create.d.ts.map +0 -1
- package/dist/commands/evals/listen.d.ts +0 -37
- package/dist/commands/evals/listen.d.ts.map +0 -1
- package/dist/commands/evals/listen.js +0 -188
- package/dist/commands/evals/listen.js.map +0 -1
- package/dist/commands/evals/listen.test.d.ts +0 -2
- package/dist/commands/evals/listen.test.d.ts.map +0 -1
- package/dist/commands/evals/listen.test.js +0 -48
- package/dist/commands/evals/listen.test.js.map +0 -1
- package/dist/commands/evals/optimize-description.d.ts +0 -22
- package/dist/commands/evals/optimize-description.d.ts.map +0 -1
- package/dist/commands/evals/optimize.d.ts +0 -22
- package/dist/commands/evals/optimize.d.ts.map +0 -1
- package/dist/commands/evals/run.d.ts +0 -21
- package/dist/commands/evals/run.d.ts.map +0 -1
- package/dist/commands/gateway/ensure.d.ts +0 -7
- package/dist/commands/gateway/ensure.d.ts.map +0 -1
- package/dist/commands/hooks/install.d.ts +0 -16
- package/dist/commands/hooks/install.d.ts.map +0 -1
- package/dist/commands/hooks/run.d.ts +0 -11
- package/dist/commands/hooks/run.d.ts.map +0 -1
- package/dist/commands/hooks/uninstall.d.ts +0 -7
- package/dist/commands/hooks/uninstall.d.ts.map +0 -1
- package/dist/commands/import.d.ts +0 -17
- package/dist/commands/import.d.ts.map +0 -1
- package/dist/commands/instructions/create.d.ts +0 -17
- package/dist/commands/instructions/create.d.ts.map +0 -1
- package/dist/commands/instructions/delete.d.ts +0 -13
- package/dist/commands/instructions/delete.d.ts.map +0 -1
- package/dist/commands/instructions/fork.d.ts +0 -10
- package/dist/commands/instructions/fork.d.ts.map +0 -1
- package/dist/commands/instructions/get.d.ts +0 -15
- package/dist/commands/instructions/get.d.ts.map +0 -1
- package/dist/commands/instructions/list.d.ts +0 -12
- package/dist/commands/instructions/list.d.ts.map +0 -1
- package/dist/commands/instructions/promote.d.ts +0 -14
- package/dist/commands/instructions/promote.d.ts.map +0 -1
- package/dist/commands/instructions/pull.d.ts +0 -9
- package/dist/commands/instructions/pull.d.ts.map +0 -1
- package/dist/commands/instructions/upstream.d.ts +0 -9
- package/dist/commands/instructions/upstream.d.ts.map +0 -1
- package/dist/commands/instructions/versions.d.ts +0 -12
- package/dist/commands/instructions/versions.d.ts.map +0 -1
- package/dist/commands/org/current.d.ts +0 -7
- package/dist/commands/org/current.d.ts.map +0 -1
- package/dist/commands/org/list.d.ts +0 -7
- package/dist/commands/org/list.d.ts.map +0 -1
- package/dist/commands/org/switch.d.ts +0 -13
- package/dist/commands/org/switch.d.ts.map +0 -1
- package/dist/commands/packs/add-instruction.d.ts +0 -11
- package/dist/commands/packs/add-instruction.d.ts.map +0 -1
- package/dist/commands/packs/apply.d.ts +0 -13
- package/dist/commands/packs/apply.d.ts.map +0 -1
- package/dist/commands/packs/create.d.ts +0 -13
- package/dist/commands/packs/create.d.ts.map +0 -1
- package/dist/commands/packs/fork.d.ts +0 -10
- package/dist/commands/packs/fork.d.ts.map +0 -1
- package/dist/commands/packs/get.d.ts +0 -10
- package/dist/commands/packs/get.d.ts.map +0 -1
- package/dist/commands/packs/list.d.ts +0 -22
- package/dist/commands/packs/list.d.ts.map +0 -1
- package/dist/commands/packs/remove-instruction.d.ts +0 -11
- package/dist/commands/packs/remove-instruction.d.ts.map +0 -1
- package/dist/commands/proxy/env.d.ts +0 -14
- package/dist/commands/proxy/env.d.ts.map +0 -1
- package/dist/commands/proxy/logs.d.ts +0 -11
- package/dist/commands/proxy/logs.d.ts.map +0 -1
- package/dist/commands/proxy/restart.d.ts +0 -11
- package/dist/commands/proxy/restart.d.ts.map +0 -1
- package/dist/commands/proxy/setup.d.ts +0 -23
- package/dist/commands/proxy/setup.d.ts.map +0 -1
- package/dist/commands/proxy/start.d.ts +0 -17
- package/dist/commands/proxy/start.d.ts.map +0 -1
- package/dist/commands/proxy/status.d.ts +0 -7
- package/dist/commands/proxy/status.d.ts.map +0 -1
- package/dist/commands/proxy/stop.d.ts +0 -8
- package/dist/commands/proxy/stop.d.ts.map +0 -1
- package/dist/commands/service/install.d.ts +0 -33
- package/dist/commands/service/install.d.ts.map +0 -1
- package/dist/commands/service/install.test.d.ts +0 -2
- package/dist/commands/service/install.test.d.ts.map +0 -1
- package/dist/commands/service/install.test.js +0 -345
- package/dist/commands/service/install.test.js.map +0 -1
- package/dist/commands/service/status.d.ts +0 -6
- package/dist/commands/service/status.d.ts.map +0 -1
- package/dist/commands/service/uninstall.d.ts +0 -6
- package/dist/commands/service/uninstall.d.ts.map +0 -1
- package/dist/commands/sessions/analyze.d.ts +0 -10
- package/dist/commands/sessions/analyze.d.ts.map +0 -1
- package/dist/commands/sessions/end.d.ts +0 -9
- package/dist/commands/sessions/end.d.ts.map +0 -1
- package/dist/commands/sessions/import.d.ts +0 -13
- package/dist/commands/sessions/import.d.ts.map +0 -1
- package/dist/commands/sessions/list.d.ts +0 -11
- package/dist/commands/sessions/list.d.ts.map +0 -1
- package/dist/commands/sessions/start.d.ts +0 -11
- package/dist/commands/sessions/start.d.ts.map +0 -1
- package/dist/commands/signals/report.d.ts +0 -10
- package/dist/commands/signals/report.d.ts.map +0 -1
- package/dist/commands/signals/report.test.d.ts +0 -2
- package/dist/commands/signals/report.test.d.ts.map +0 -1
- package/dist/commands/signals/report.test.js +0 -65
- package/dist/commands/signals/report.test.js.map +0 -1
- package/dist/commands/skills/export-approved.d.ts +0 -10
- package/dist/commands/skills/export-approved.d.ts.map +0 -1
- package/dist/commands/skills/install.d.ts +0 -15
- package/dist/commands/skills/install.d.ts.map +0 -1
- package/dist/commands/skills/list.d.ts +0 -11
- package/dist/commands/skills/list.d.ts.map +0 -1
- package/dist/commands/skills/publish.d.ts +0 -17
- package/dist/commands/skills/publish.d.ts.map +0 -1
- package/dist/commands/skills/search.d.ts +0 -17
- package/dist/commands/skills/search.d.ts.map +0 -1
- package/dist/commands/skills/update.d.ts +0 -10
- package/dist/commands/skills/update.d.ts.map +0 -1
- package/dist/commands/suggestions/accept.d.ts +0 -16
- package/dist/commands/suggestions/accept.d.ts.map +0 -1
- package/dist/commands/suggestions/accept.test.d.ts +0 -2
- package/dist/commands/suggestions/accept.test.d.ts.map +0 -1
- package/dist/commands/suggestions/accept.test.js +0 -52
- package/dist/commands/suggestions/accept.test.js.map +0 -1
- package/dist/commands/suggestions/dismiss.d.ts +0 -10
- package/dist/commands/suggestions/dismiss.d.ts.map +0 -1
- package/dist/commands/suggestions/list.d.ts +0 -10
- package/dist/commands/suggestions/list.d.ts.map +0 -1
- package/dist/commands/suggestions/refresh.d.ts +0 -7
- package/dist/commands/suggestions/refresh.d.ts.map +0 -1
- package/dist/dashboard/Dashboard.d.ts +0 -3
- package/dist/dashboard/Dashboard.d.ts.map +0 -1
- package/dist/dashboard/data.d.ts +0 -11
- package/dist/dashboard/data.d.ts.map +0 -1
- package/dist/dashboard/panels/friction.d.ts +0 -7
- package/dist/dashboard/panels/friction.d.ts.map +0 -1
- package/dist/dashboard/panels/insights.d.ts +0 -8
- package/dist/dashboard/panels/insights.d.ts.map +0 -1
- package/dist/dashboard/panels/instructions.d.ts +0 -9
- package/dist/dashboard/panels/instructions.d.ts.map +0 -1
- package/dist/dashboard/panels/outcomes.d.ts +0 -7
- package/dist/dashboard/panels/outcomes.d.ts.map +0 -1
- package/dist/dashboard/panels/overview.d.ts +0 -8
- package/dist/dashboard/panels/overview.d.ts.map +0 -1
- package/dist/dashboard/panels/shared.d.ts +0 -17
- package/dist/dashboard/panels/shared.d.ts.map +0 -1
- package/dist/dashboard/types.d.ts +0 -80
- package/dist/dashboard/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/active-org-refresh.d.ts +0 -22
- package/dist/lib/active-org-refresh.d.ts.map +0 -1
- package/dist/lib/active-org-refresh.test.d.ts +0 -2
- package/dist/lib/active-org-refresh.test.d.ts.map +0 -1
- package/dist/lib/active-org-refresh.test.js +0 -190
- package/dist/lib/active-org-refresh.test.js.map +0 -1
- package/dist/lib/active-org.d.ts +0 -43
- package/dist/lib/active-org.d.ts.map +0 -1
- package/dist/lib/active-org.test.d.ts +0 -2
- package/dist/lib/active-org.test.d.ts.map +0 -1
- package/dist/lib/active-org.test.js +0 -147
- package/dist/lib/active-org.test.js.map +0 -1
- package/dist/lib/api-client.d.ts +0 -17
- package/dist/lib/api-client.d.ts.map +0 -1
- package/dist/lib/api-client.test.d.ts +0 -2
- package/dist/lib/api-client.test.d.ts.map +0 -1
- package/dist/lib/api-client.test.js +0 -161
- package/dist/lib/api-client.test.js.map +0 -1
- package/dist/lib/auth.d.ts +0 -27
- package/dist/lib/auth.d.ts.map +0 -1
- package/dist/lib/auth.test.d.ts +0 -2
- package/dist/lib/auth.test.d.ts.map +0 -1
- package/dist/lib/auth.test.js +0 -110
- package/dist/lib/auth.test.js.map +0 -1
- package/dist/lib/cron-registry.d.ts +0 -47
- package/dist/lib/cron-registry.d.ts.map +0 -1
- package/dist/lib/cron-registry.js +0 -102
- package/dist/lib/cron-registry.js.map +0 -1
- package/dist/lib/cron-registry.test.d.ts +0 -2
- package/dist/lib/cron-registry.test.d.ts.map +0 -1
- package/dist/lib/cron-registry.test.js +0 -136
- package/dist/lib/cron-registry.test.js.map +0 -1
- package/dist/lib/cron-runner.d.ts +0 -16
- package/dist/lib/cron-runner.d.ts.map +0 -1
- package/dist/lib/cron-runner.js +0 -68
- package/dist/lib/cron-runner.js.map +0 -1
- package/dist/lib/detect-languages.d.ts +0 -7
- package/dist/lib/detect-languages.d.ts.map +0 -1
- package/dist/lib/detect-languages.test.d.ts +0 -2
- package/dist/lib/detect-languages.test.d.ts.map +0 -1
- package/dist/lib/detect-languages.test.js +0 -29
- package/dist/lib/detect-languages.test.js.map +0 -1
- package/dist/lib/eval-analyzer.d.ts +0 -23
- package/dist/lib/eval-analyzer.d.ts.map +0 -1
- package/dist/lib/eval-benchmark.d.ts +0 -17
- package/dist/lib/eval-benchmark.d.ts.map +0 -1
- package/dist/lib/eval-conversation-handler.d.ts +0 -9
- package/dist/lib/eval-conversation-handler.d.ts.map +0 -1
- package/dist/lib/eval-executor.d.ts +0 -21
- package/dist/lib/eval-executor.d.ts.map +0 -1
- package/dist/lib/eval-executor.test.d.ts +0 -2
- package/dist/lib/eval-executor.test.d.ts.map +0 -1
- package/dist/lib/eval-executor.test.js +0 -8
- package/dist/lib/eval-executor.test.js.map +0 -1
- package/dist/lib/eval-grader.d.ts +0 -38
- package/dist/lib/eval-grader.d.ts.map +0 -1
- package/dist/lib/eval-grader.test.d.ts +0 -2
- package/dist/lib/eval-grader.test.d.ts.map +0 -1
- package/dist/lib/eval-grader.test.js +0 -8
- package/dist/lib/eval-grader.test.js.map +0 -1
- package/dist/lib/eval-meta-judge.d.ts +0 -28
- package/dist/lib/eval-meta-judge.d.ts.map +0 -1
- package/dist/lib/eval-trigger-tester.d.ts +0 -19
- package/dist/lib/eval-trigger-tester.d.ts.map +0 -1
- package/dist/lib/eval-worktree.d.ts +0 -11
- package/dist/lib/eval-worktree.d.ts.map +0 -1
- package/dist/lib/eval-worktree.test.d.ts +0 -2
- package/dist/lib/eval-worktree.test.d.ts.map +0 -1
- package/dist/lib/eval-worktree.test.js +0 -68
- package/dist/lib/eval-worktree.test.js.map +0 -1
- package/dist/lib/gateway-entry.d.ts +0 -3
- package/dist/lib/gateway-entry.d.ts.map +0 -1
- package/dist/lib/gateway-lifecycle.d.ts +0 -9
- package/dist/lib/gateway-lifecycle.d.ts.map +0 -1
- package/dist/lib/gateway.d.ts +0 -11
- package/dist/lib/gateway.d.ts.map +0 -1
- package/dist/lib/graphile-worker-runner.d.ts +0 -124
- package/dist/lib/graphile-worker-runner.d.ts.map +0 -1
- package/dist/lib/graphile-worker-runner.js +0 -530
- package/dist/lib/graphile-worker-runner.js.map +0 -1
- package/dist/lib/graphile-worker-runner.test.d.ts +0 -2
- package/dist/lib/graphile-worker-runner.test.d.ts.map +0 -1
- package/dist/lib/graphile-worker-runner.test.js +0 -153
- package/dist/lib/graphile-worker-runner.test.js.map +0 -1
- package/dist/lib/handlers/cron-close-stale-sessions.d.ts +0 -3
- package/dist/lib/handlers/cron-close-stale-sessions.d.ts.map +0 -1
- package/dist/lib/handlers/cron-data-integrity-audit.d.ts +0 -3
- package/dist/lib/handlers/cron-data-integrity-audit.d.ts.map +0 -1
- package/dist/lib/handlers/cron-refresh-skills.d.ts +0 -3
- package/dist/lib/handlers/cron-refresh-skills.d.ts.map +0 -1
- package/dist/lib/handlers/cron-refresh-skills.test.d.ts +0 -2
- package/dist/lib/handlers/cron-refresh-skills.test.d.ts.map +0 -1
- package/dist/lib/handlers/cron-refresh-skills.test.js +0 -114
- package/dist/lib/handlers/cron-refresh-skills.test.js.map +0 -1
- package/dist/lib/handlers/cron-regenerate-insights.d.ts +0 -3
- package/dist/lib/handlers/cron-regenerate-insights.d.ts.map +0 -1
- package/dist/lib/handlers/cron-regenerate-insights.js +0 -6
- package/dist/lib/handlers/cron-regenerate-insights.js.map +0 -1
- package/dist/lib/handlers/cron-suggest-instructions.d.ts +0 -3
- package/dist/lib/handlers/cron-suggest-instructions.d.ts.map +0 -1
- package/dist/lib/handlers/cron-suggest-instructions.test.d.ts +0 -2
- package/dist/lib/handlers/cron-suggest-instructions.test.d.ts.map +0 -1
- package/dist/lib/handlers/cron-suggest-instructions.test.js +0 -80
- package/dist/lib/handlers/cron-suggest-instructions.test.js.map +0 -1
- package/dist/lib/handlers/process-conversation.d.ts +0 -35
- package/dist/lib/handlers/process-conversation.d.ts.map +0 -1
- package/dist/lib/handlers/process-eval.d.ts +0 -32
- package/dist/lib/handlers/process-eval.d.ts.map +0 -1
- package/dist/lib/handlers/process-insights.d.ts +0 -39
- package/dist/lib/handlers/process-insights.d.ts.map +0 -1
- package/dist/lib/handlers/process-launch.d.ts +0 -29
- package/dist/lib/handlers/process-launch.d.ts.map +0 -1
- package/dist/lib/handlers/process-session-goal.d.ts +0 -29
- package/dist/lib/handlers/process-session-goal.d.ts.map +0 -1
- package/dist/lib/handlers/process-session-goal.test.d.ts +0 -2
- package/dist/lib/handlers/process-session-goal.test.d.ts.map +0 -1
- package/dist/lib/handlers/process-session-goal.test.js +0 -134
- package/dist/lib/handlers/process-session-goal.test.js.map +0 -1
- package/dist/lib/hooks-config.d.ts +0 -119
- package/dist/lib/hooks-config.d.ts.map +0 -1
- package/dist/lib/hooks-config.test.d.ts +0 -2
- package/dist/lib/hooks-config.test.d.ts.map +0 -1
- package/dist/lib/hooks-config.test.js +0 -231
- package/dist/lib/hooks-config.test.js.map +0 -1
- package/dist/lib/insights-prompts.d.ts +0 -13
- package/dist/lib/insights-prompts.d.ts.map +0 -1
- package/dist/lib/llm-client.d.ts +0 -26
- package/dist/lib/llm-client.d.ts.map +0 -1
- package/dist/lib/llm-client.test.d.ts +0 -2
- package/dist/lib/llm-client.test.d.ts.map +0 -1
- package/dist/lib/llm-client.test.js +0 -62
- package/dist/lib/llm-client.test.js.map +0 -1
- package/dist/lib/mirror-writer-db.d.ts +0 -12
- package/dist/lib/mirror-writer-db.d.ts.map +0 -1
- package/dist/lib/mirror-writer-db.js +0 -51
- package/dist/lib/mirror-writer-db.js.map +0 -1
- package/dist/lib/mirror-writer.d.ts +0 -35
- package/dist/lib/mirror-writer.d.ts.map +0 -1
- package/dist/lib/mirror-writer.js +0 -27
- package/dist/lib/mirror-writer.js.map +0 -1
- package/dist/lib/mirror-writer.test.d.ts +0 -2
- package/dist/lib/mirror-writer.test.d.ts.map +0 -1
- package/dist/lib/mirror-writer.test.js +0 -47
- package/dist/lib/mirror-writer.test.js.map +0 -1
- package/dist/lib/output.d.ts +0 -4
- package/dist/lib/output.d.ts.map +0 -1
- package/dist/lib/output.test.d.ts +0 -2
- package/dist/lib/output.test.d.ts.map +0 -1
- package/dist/lib/output.test.js +0 -71
- package/dist/lib/output.test.js.map +0 -1
- package/dist/lib/permanent-job-error.d.ts +0 -17
- package/dist/lib/permanent-job-error.d.ts.map +0 -1
- package/dist/lib/permanent-job-error.test.d.ts +0 -2
- package/dist/lib/permanent-job-error.test.d.ts.map +0 -1
- package/dist/lib/permanent-job-error.test.js +0 -29
- package/dist/lib/permanent-job-error.test.js.map +0 -1
- package/dist/lib/provider-aggregator.d.ts +0 -24
- package/dist/lib/provider-aggregator.d.ts.map +0 -1
- package/dist/lib/provider-aggregator.test.d.ts +0 -2
- package/dist/lib/provider-aggregator.test.d.ts.map +0 -1
- package/dist/lib/provider-aggregator.test.js +0 -103
- package/dist/lib/provider-aggregator.test.js.map +0 -1
- package/dist/lib/skills-loader.d.ts +0 -6
- package/dist/lib/skills-loader.d.ts.map +0 -1
- package/dist/lib/types.d.ts +0 -48
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/version-check.d.ts +0 -11
- package/dist/lib/version-check.d.ts.map +0 -1
- package/dist/test-helpers.d.ts +0 -58
- package/dist/test-helpers.d.ts.map +0 -1
- package/dist/test-helpers.js +0 -58
- package/dist/test-helpers.js.map +0 -1
|
@@ -1,300 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* `PATCH /api/insights-jobs/:id/progress` endpoint, just keyed by the
|
|
16
|
-
* mirror row's id.
|
|
17
|
-
*
|
|
18
|
-
* The session-analysis branch (selected when `payload.config.sessionId`
|
|
19
|
-
* is set) lives inline below — it's a different code path but cheap to
|
|
20
|
-
* keep co-located.
|
|
21
|
-
*
|
|
22
|
-
* The `buildDataSummary*` helpers are duplicated here as private locals;
|
|
23
|
-
* Task 21 will hoist them into a shared `insights-data.ts` once
|
|
24
|
-
* `insights-worker.ts` is deleted.
|
|
25
|
-
*
|
|
26
|
-
* User-facing notifications go through the API's `notifyUser()` path
|
|
27
|
-
* (insert into `notifications` → Supabase Realtime → service-worker
|
|
28
|
-
* `showNotification` with a deep-link). The worker no longer fires native
|
|
29
|
-
* `osascript` banners — those duplicated the browser path, weren't
|
|
30
|
-
* clickable to a URL, and stacked one-per-project on macOS.
|
|
31
|
-
*/
|
|
32
|
-
export async function processInsights(payload, helpers) {
|
|
33
|
-
const { mirrorId, projectPath, config } = payload;
|
|
34
|
-
const log = (msg) => helpers.logger.info(msg);
|
|
35
|
-
// Session-analysis branch — single-session deep analysis through tool CLI
|
|
36
|
-
if (config?.sessionId) {
|
|
37
|
-
return processSessionAnalysisInline({ mirrorId, sessionId: config.sessionId }, log);
|
|
38
|
-
}
|
|
39
|
-
log(`Processing insights job ${mirrorId}...`);
|
|
40
|
-
// Update status to running
|
|
41
|
-
await apiPatch(`/api/insights-jobs/${mirrorId}/progress`, {
|
|
42
|
-
status: 'running',
|
|
43
|
-
progress: { step: 'reading_data' },
|
|
44
|
-
});
|
|
45
|
-
// Self-heal orphan analyses missing `analyzed_at`. Without this, the
|
|
46
|
-
// freshness banner on the dashboard nags forever — the worker's
|
|
47
|
-
// facet-drain query (`hasAnalysis=false`) skips already-analyzed rows,
|
|
48
|
-
// so pre-instrumentation orphans never get touched. Stamps a conservative
|
|
49
|
-
// lower bound (`analyzed_at = started_at`); idempotent on subsequent runs.
|
|
50
|
-
// Best-effort: a failure here must not block the recommendation pass.
|
|
51
|
-
try {
|
|
52
|
-
const { repaired } = await apiPost('/api/sessions/repair-analyzed-at', {});
|
|
53
|
-
if (repaired > 0) {
|
|
54
|
-
log(` Repaired analyzed_at on ${repaired} orphan session(s).`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (repairErr) {
|
|
58
|
-
log(` Warning: analyzed_at repair failed: ${repairErr instanceof Error ? repairErr.message : String(repairErr)}`);
|
|
59
|
-
}
|
|
60
|
-
// API-based summary is the only source. The previous file-based fallback
|
|
61
|
-
// (`buildDataSummary` reading ~/.claude/usage-data/) was deleted on
|
|
62
|
-
// 2026-05-05 — it required `rulemetric insights sync` to populate JSON
|
|
63
|
-
// files locally, which nobody ever ran. The DB-derived summary is
|
|
64
|
-
// tool-agnostic and authoritative.
|
|
65
|
-
const data = await buildDataSummaryFromApi(projectPath);
|
|
66
|
-
if (!data) {
|
|
67
|
-
throw new PermanentJobError('No session data found — ensure sessions are captured and enriched.');
|
|
68
|
-
}
|
|
69
|
-
log(` Found ${data.stats.sessions} sessions, generating recommendations...`);
|
|
70
|
-
// Drain un-analyzed sessions in batches until empty (or until we hit the
|
|
71
|
-
// hard cap, to keep the per-job runtime bounded). Previously this took at
|
|
72
|
-
// most 20 sessions per run, which meant catch-up after a backlog could
|
|
73
|
-
// span days. Batching keeps memory bounded while letting one job clear
|
|
74
|
-
// the entire queue when needed.
|
|
75
|
-
const FACET_BATCH_SIZE = 20;
|
|
76
|
-
const FACET_HARD_CAP = 200; // protect against runaway runtime
|
|
77
|
-
if (detectLlmBackend() !== 'none') {
|
|
78
|
-
let totalFaceted = 0;
|
|
79
|
-
try {
|
|
80
|
-
while (totalFaceted < FACET_HARD_CAP) {
|
|
81
|
-
const unfaceted = await apiGet(`/api/sessions?hasAnalysis=false&limit=${FACET_BATCH_SIZE}`);
|
|
82
|
-
if (unfaceted.length === 0)
|
|
83
|
-
break;
|
|
84
|
-
log(` Generating facets for ${unfaceted.length} un-analyzed sessions (drained ${totalFaceted} so far)...`);
|
|
85
|
-
for (const session of unfaceted) {
|
|
86
|
-
if (totalFaceted >= FACET_HARD_CAP)
|
|
87
|
-
break;
|
|
88
|
-
try {
|
|
89
|
-
const events = await apiGet(`/api/sessions/${session.id}/events?limit=100`);
|
|
90
|
-
if (events.length < 2) {
|
|
91
|
-
totalFaceted++;
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
const eventSummary = events
|
|
95
|
-
.filter(e => e.eventType === 'user_message' || e.eventType === 'human')
|
|
96
|
-
.map(e => e.content?.slice(0, 200) ?? '')
|
|
97
|
-
.filter(Boolean)
|
|
98
|
-
.join('\n---\n');
|
|
99
|
-
if (!eventSummary) {
|
|
100
|
-
totalFaceted++;
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
const facets = await runLlmPrompt(FACET_GENERATION_PROMPT, eventSummary, 4096);
|
|
104
|
-
if (facets) {
|
|
105
|
-
const userMessageCount = events.filter(e => e.eventType === 'user_message' || e.eventType === 'human').length;
|
|
106
|
-
await apiPatch(`/api/sessions/${session.id}/enrich`, {
|
|
107
|
-
analysis: { source: 'generated_facets', ...facets },
|
|
108
|
-
analyzedEventCount: events.length,
|
|
109
|
-
analyzedTurnCount: userMessageCount,
|
|
110
|
-
});
|
|
111
|
-
log(` Generated facets for session ${session.id} (${session.tool})`);
|
|
112
|
-
}
|
|
113
|
-
totalFaceted++;
|
|
114
|
-
}
|
|
115
|
-
catch (sessionErr) {
|
|
116
|
-
log(` Failed to generate facets for session ${session.id}: ${sessionErr instanceof Error ? sessionErr.message : String(sessionErr)}`);
|
|
117
|
-
totalFaceted++; // count it so we don't infinite-loop on a poison row
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
// If the batch returned fewer than the requested size, the queue is
|
|
121
|
-
// empty — break before another fetch.
|
|
122
|
-
if (unfaceted.length < FACET_BATCH_SIZE)
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch (facetErr) {
|
|
127
|
-
log(` Warning: facet generation failed after ${totalFaceted} sessions: ${facetErr instanceof Error ? facetErr.message : String(facetErr)}`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// Run recommendation prompts sequentially
|
|
131
|
-
const recommendations = {};
|
|
132
|
-
const totalPrompts = RECOMMENDATION_PROMPTS.length + 1; // +1 for at_a_glance
|
|
133
|
-
// Persist sections-so-far on every progress PATCH so the web UI can render
|
|
134
|
-
// them incrementally — each prompt takes 30-60s and shipping a label-only
|
|
135
|
-
// progress update for that whole window leaves the page looking dead. The
|
|
136
|
-
// detail page reads `progress.partial` and renders each section card as it
|
|
137
|
-
// arrives.
|
|
138
|
-
for (let i = 0; i < RECOMMENDATION_PROMPTS.length; i++) {
|
|
139
|
-
const spec = RECOMMENDATION_PROMPTS[i];
|
|
140
|
-
log(` [${i + 1}/${totalPrompts}] Generating ${spec.name}...`);
|
|
141
|
-
try {
|
|
142
|
-
await apiPatch(`/api/insights-jobs/${mirrorId}/progress`, {
|
|
143
|
-
status: 'running',
|
|
144
|
-
progress: {
|
|
145
|
-
step: spec.name,
|
|
146
|
-
current: i + 1,
|
|
147
|
-
total: totalPrompts,
|
|
148
|
-
partial: { ...recommendations },
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
catch (patchErr) {
|
|
153
|
-
log(` Warning: progress update failed for ${spec.name}: ${patchErr instanceof Error ? patchErr.message : String(patchErr)}`);
|
|
154
|
-
}
|
|
155
|
-
log(` Running LLM prompt for ${spec.name}...`);
|
|
156
|
-
const result = await runLlmPrompt(spec.prompt, data.summary, spec.maxTokens);
|
|
157
|
-
if (result) {
|
|
158
|
-
recommendations[spec.name] = result;
|
|
159
|
-
log(` Got result for ${spec.name}`);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
log(` No result for ${spec.name} (LLM returned null)`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// At a glance (uses outputs from previous prompts)
|
|
166
|
-
log(` [${totalPrompts}/${totalPrompts}] Generating at_a_glance...`);
|
|
167
|
-
await apiPatch(`/api/insights-jobs/${mirrorId}/progress`, {
|
|
168
|
-
status: 'running',
|
|
169
|
-
progress: {
|
|
170
|
-
step: 'at_a_glance',
|
|
171
|
-
current: totalPrompts,
|
|
172
|
-
total: totalPrompts,
|
|
173
|
-
partial: { ...recommendations },
|
|
174
|
-
},
|
|
175
|
-
});
|
|
176
|
-
const glanceData = [
|
|
177
|
-
data.summary,
|
|
178
|
-
recommendations.what_works ? `\n## What Works\n${JSON.stringify(recommendations.what_works)}` : '',
|
|
179
|
-
recommendations.friction_analysis ? `\n## Friction\n${JSON.stringify(recommendations.friction_analysis)}` : '',
|
|
180
|
-
recommendations.suggestions ? `\n## Suggestions\n${JSON.stringify(recommendations.suggestions)}` : '',
|
|
181
|
-
recommendations.on_the_horizon ? `\n## On the Horizon\n${JSON.stringify(recommendations.on_the_horizon)}` : '',
|
|
182
|
-
].join('\n');
|
|
183
|
-
const glance = await runLlmPrompt(AT_A_GLANCE_PROMPT, glanceData, 8192);
|
|
184
|
-
if (glance) {
|
|
185
|
-
recommendations.at_a_glance = glance;
|
|
186
|
-
}
|
|
187
|
-
log(' Uploading results...');
|
|
188
|
-
log(` Done! Recommendations generated for job ${mirrorId}`);
|
|
189
|
-
const result = { recommendations };
|
|
190
|
-
// Graphile discards task return values, so persist `{ recommendations }`
|
|
191
|
-
// onto the mirror row here so the dashboard can read it. Best-effort.
|
|
192
|
-
await apiPatch(`/api/insights-jobs/${mirrorId}/state`, { result }).catch((err) => {
|
|
193
|
-
log(`result persist failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
194
|
-
});
|
|
195
|
-
return result;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Single-session deep analysis branch. Runs the session's own tool CLI
|
|
199
|
-
* against the captured event stream to produce facets, then enriches the
|
|
200
|
-
* session row.
|
|
201
|
-
*
|
|
202
|
-
* Idempotency guard: if the session already has analysis from a prior
|
|
203
|
-
* `session_analysis` run, we short-circuit. This is independent of the
|
|
204
|
-
* Graphile-side `job_key` dedup added in Task 9 — that prevents duplicate
|
|
205
|
-
* enqueues; this prevents redoing work even if a different mirrorId
|
|
206
|
-
* targets the same session.
|
|
207
|
-
*/
|
|
208
|
-
async function processSessionAnalysisInline(args, log) {
|
|
209
|
-
const { mirrorId, sessionId } = args;
|
|
210
|
-
log(`Analyzing session ${sessionId} via tool CLI...`);
|
|
211
|
-
await apiPatch(`/api/insights-jobs/${mirrorId}/progress`, {
|
|
212
|
-
status: 'running',
|
|
213
|
-
progress: { step: 'fetching_session' },
|
|
214
|
-
});
|
|
215
|
-
const session = await apiGet(`/api/sessions/${sessionId}`);
|
|
216
|
-
// Idempotency: skip if session already has analysis from a prior run
|
|
217
|
-
if (session.analysis && session.analysis.source === 'session_analysis') {
|
|
218
|
-
log(` Session ${sessionId} already analyzed — skipping (idempotency guard)`);
|
|
219
|
-
return { sessionId, skipped: true, reason: 'already_analyzed' };
|
|
220
|
-
}
|
|
221
|
-
const events = await apiGet(`/api/sessions/${sessionId}/events?limit=100`);
|
|
222
|
-
if (events.length < 2) {
|
|
223
|
-
throw new PermanentJobError('Session has too few events to analyze');
|
|
224
|
-
}
|
|
225
|
-
const eventSummary = events
|
|
226
|
-
.filter(e => e.eventType === 'user_message' || e.eventType === 'human')
|
|
227
|
-
.map(e => e.content?.slice(0, 200) ?? '')
|
|
228
|
-
.filter(Boolean)
|
|
229
|
-
.join('\n---\n');
|
|
230
|
-
if (!eventSummary) {
|
|
231
|
-
throw new PermanentJobError('No user messages found in session');
|
|
232
|
-
}
|
|
233
|
-
await apiPatch(`/api/insights-jobs/${mirrorId}/progress`, {
|
|
234
|
-
status: 'running',
|
|
235
|
-
progress: { step: 'running_analysis', tool: session.tool },
|
|
236
|
-
});
|
|
237
|
-
// Run through the session's tool CLI
|
|
238
|
-
const facets = runToolPrompt(session.tool, FACET_GENERATION_PROMPT, eventSummary);
|
|
239
|
-
if (!facets) {
|
|
240
|
-
throw new Error(`Analysis failed — ${session.tool} CLI returned no result`);
|
|
241
|
-
}
|
|
242
|
-
const userMessageCount = events.filter(e => e.eventType === 'user_message' || e.eventType === 'human').length;
|
|
243
|
-
await apiPatch(`/api/sessions/${sessionId}/enrich`, {
|
|
244
|
-
analysis: { source: 'session_analysis', tool: session.tool, ...facets },
|
|
245
|
-
analyzedEventCount: events.length,
|
|
246
|
-
analyzedTurnCount: userMessageCount,
|
|
247
|
-
});
|
|
248
|
-
log(` Session ${sessionId} analyzed via ${session.tool}`);
|
|
249
|
-
return { sessionId, tool: session.tool, facets };
|
|
250
|
-
}
|
|
251
|
-
// ---------------------------------------------------------------------------
|
|
252
|
-
// Local helpers (copied from `insights-worker.ts`; Task 21 hoists to shared)
|
|
253
|
-
// ---------------------------------------------------------------------------
|
|
254
|
-
async function buildDataSummaryFromApi(projectPath) {
|
|
255
|
-
try {
|
|
256
|
-
const params = new URLSearchParams();
|
|
257
|
-
if (projectPath)
|
|
258
|
-
params.set('projectPath', projectPath);
|
|
259
|
-
const computed = await apiGet(`/api/insights/compute?${params}`);
|
|
260
|
-
if (!computed || computed.total_sessions === 0)
|
|
261
|
-
return null;
|
|
262
|
-
// Build the same text summary format the prompts expect
|
|
263
|
-
const topTools = Object.entries(computed.tool_counts ?? {})
|
|
264
|
-
.sort((a, b) => b[1] - a[1])
|
|
265
|
-
.slice(0, 10)
|
|
266
|
-
.map(([t, c]) => `${t}: ${c}`)
|
|
267
|
-
.join(', ');
|
|
268
|
-
const summary = [
|
|
269
|
-
`Sessions: ${computed.total_sessions}, Messages: ${computed.total_messages}, Hours: ${Math.round(computed.total_duration_hours)}`,
|
|
270
|
-
`Top tools: ${topTools}`,
|
|
271
|
-
computed.goal_categories && Object.keys(computed.goal_categories).length > 0
|
|
272
|
-
? `Goals: ${JSON.stringify(computed.goal_categories)}`
|
|
273
|
-
: '',
|
|
274
|
-
computed.friction && Object.keys(computed.friction).length > 0
|
|
275
|
-
? `Friction: ${JSON.stringify(computed.friction)}`
|
|
276
|
-
: '',
|
|
277
|
-
computed.outcomes && Object.keys(computed.outcomes).length > 0
|
|
278
|
-
? `Outcomes: ${JSON.stringify(computed.outcomes)}`
|
|
279
|
-
: '',
|
|
280
|
-
computed.projects && Object.keys(computed.projects).length > 0
|
|
281
|
-
? `Projects: ${JSON.stringify(computed.projects)}`
|
|
282
|
-
: '',
|
|
283
|
-
].filter(Boolean).join('\n');
|
|
284
|
-
return {
|
|
285
|
-
summary,
|
|
286
|
-
stats: {
|
|
287
|
-
sessions: computed.total_sessions,
|
|
288
|
-
totalMessages: computed.total_messages,
|
|
289
|
-
totalHours: computed.total_duration_hours,
|
|
290
|
-
toolCounts: computed.tool_counts,
|
|
291
|
-
goalCounts: computed.goal_categories,
|
|
292
|
-
frictionCounts: computed.friction,
|
|
293
|
-
},
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
catch {
|
|
297
|
-
return null;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
//# sourceMappingURL=process-insights.js.map
|
|
1
|
+
import {
|
|
2
|
+
processInsights
|
|
3
|
+
} from "../../chunk-XPUEGHXN.js";
|
|
4
|
+
import "../../chunk-XZXS2W24.js";
|
|
5
|
+
import "../../chunk-DGHWRQXL.js";
|
|
6
|
+
import "../../chunk-FZKLLNDS.js";
|
|
7
|
+
import "../../chunk-KRBQLMOP.js";
|
|
8
|
+
import "../../chunk-EJOI2ZGU.js";
|
|
9
|
+
import "../../chunk-KZRFUXGF.js";
|
|
10
|
+
import "../../chunk-NSBPE2FW.js";
|
|
11
|
+
export {
|
|
12
|
+
processInsights
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=process-insights.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"process-insights.js","sourceRoot":"","sources":["../../../src/lib/handlers/process-insights.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": [],
|
|
4
|
+
"sourcesContent": [],
|
|
5
|
+
"mappings": "",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,41 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const { mirrorId, tool, config } = payload;
|
|
18
|
-
const log = (msg) => helpers.logger.info(msg);
|
|
19
|
-
// Fail-fast on retry. The launcher spawns subprocesses and registers a
|
|
20
|
-
// session — re-running on Graphile retry would create a second session
|
|
21
|
-
// with no link back to the first. Until the launcher path is properly
|
|
22
|
-
// idempotent (resume from sessionId persisted to the mirror row),
|
|
23
|
-
// surface the failure to the user instead of silently double-launching.
|
|
24
|
-
// See docs/audits/2026-05-07-worker-audit.md "Handlers not idempotent".
|
|
25
|
-
if (helpers.job.attempts > 1) {
|
|
26
|
-
throw new PermanentJobError(`process_launch is not safe to retry (attempt ${helpers.job.attempts}). Re-launch manually.`);
|
|
27
|
-
}
|
|
28
|
-
log(`Launching ${tool}...`);
|
|
29
|
-
const { getLauncher } = await import('@rulemetric/session');
|
|
30
|
-
const launcher = getLauncher(tool);
|
|
31
|
-
const launcherResult = await launcher.launch(config);
|
|
32
|
-
log(`Launch completed: sessionId=${launcherResult.sessionId}`);
|
|
33
|
-
const result = { ...launcherResult };
|
|
34
|
-
// Graphile discards task return values, so persist the launcher result
|
|
35
|
-
// (sessionId, etc.) onto the mirror row. Best-effort.
|
|
36
|
-
await apiPatch(`/api/launch-jobs/${mirrorId}/state`, { result }).catch((err) => {
|
|
37
|
-
log(`result persist failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
38
|
-
});
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=process-launch.js.map
|
|
1
|
+
import {
|
|
2
|
+
processLaunch,
|
|
3
|
+
resolveWorktreeForLaunch
|
|
4
|
+
} from "../../chunk-4WFE4PFP.js";
|
|
5
|
+
import "../../chunk-EOOP6WTC.js";
|
|
6
|
+
import "../../chunk-DGHWRQXL.js";
|
|
7
|
+
import "../../chunk-B5KNTGMJ.js";
|
|
8
|
+
import "../../chunk-KRBQLMOP.js";
|
|
9
|
+
import "../../chunk-EJOI2ZGU.js";
|
|
10
|
+
import "../../chunk-KZRFUXGF.js";
|
|
11
|
+
import "../../chunk-NSBPE2FW.js";
|
|
12
|
+
export {
|
|
13
|
+
processLaunch,
|
|
14
|
+
resolveWorktreeForLaunch
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=process-launch.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": [],
|
|
4
|
+
"sourcesContent": [],
|
|
5
|
+
"mappings": "",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
processRunCleanup
|
|
3
|
+
} from "../../chunk-AULP2OWH.js";
|
|
4
|
+
import "../../chunk-EOOP6WTC.js";
|
|
5
|
+
import "../../chunk-DGHWRQXL.js";
|
|
6
|
+
import "../../chunk-B5KNTGMJ.js";
|
|
7
|
+
import "../../chunk-7FAA3YNB.js";
|
|
8
|
+
import "../../chunk-KRBQLMOP.js";
|
|
9
|
+
import "../../chunk-NSBPE2FW.js";
|
|
10
|
+
export {
|
|
11
|
+
processRunCleanup
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=process-run-cleanup.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
processSendMessage
|
|
3
|
+
} from "../../chunk-W53GKIZQ.js";
|
|
4
|
+
import "../../chunk-DGHWRQXL.js";
|
|
5
|
+
import "../../chunk-KRBQLMOP.js";
|
|
6
|
+
import "../../chunk-NSBPE2FW.js";
|
|
7
|
+
export {
|
|
8
|
+
processSendMessage
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=process-send-message.js.map
|
|
@@ -1,74 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* Generates a short "what is the user trying to do" summary and writes it
|
|
13
|
-
* to `sessions.analysis.goalSummary` + `goalSummaryAt`, preserving any
|
|
14
|
-
* existing analysis keys.
|
|
15
|
-
*
|
|
16
|
-
* Guards:
|
|
17
|
-
* - stale: skip if no activity in last 30 min (session is dead, don't waste an LLM call)
|
|
18
|
-
* - recent: skip if we already generated a summary in the last 5 min (dedup milestone burst)
|
|
19
|
-
*
|
|
20
|
-
* No mirror table — this is fire-and-forget, similar to crons. Errors
|
|
21
|
-
* propagate so Graphile retries.
|
|
22
|
-
*/
|
|
23
|
-
export async function processSessionGoal(payload, deps = {}) {
|
|
24
|
-
const db = deps.db ?? getDb();
|
|
25
|
-
const llm = deps.llm ?? runLlmPrompt;
|
|
26
|
-
const now = deps.now ?? Date.now;
|
|
27
|
-
const [s] = await db
|
|
28
|
-
.select()
|
|
29
|
-
.from(sessions)
|
|
30
|
-
.where(eq(sessions.id, payload.sessionId))
|
|
31
|
-
.limit(1);
|
|
32
|
-
if (!s)
|
|
33
|
-
return { skipped: 'not_found' };
|
|
34
|
-
// Single-roundtrip MAX(timestamp) — fall back to startedAt if no events yet.
|
|
35
|
-
const lastAtRows = await db.execute(sql `SELECT MAX(timestamp) AS last_at FROM session_events WHERE session_id = ${payload.sessionId}`);
|
|
36
|
-
const lastAtRaw = lastAtRows?.[0]?.last_at ?? s.startedAt;
|
|
37
|
-
const lastAt = new Date(lastAtRaw).getTime();
|
|
38
|
-
if (now() - lastAt > ACTIVE_WINDOW_MS)
|
|
39
|
-
return { skipped: 'stale' };
|
|
40
|
-
const analysis = (s.analysis ?? {});
|
|
41
|
-
const lastGoalAt = analysis.goalSummaryAt
|
|
42
|
-
? new Date(analysis.goalSummaryAt).getTime()
|
|
43
|
-
: 0;
|
|
44
|
-
if (lastGoalAt && now() - lastGoalAt < RECENT_WINDOW_MS) {
|
|
45
|
-
return { skipped: 'recent' };
|
|
46
|
-
}
|
|
47
|
-
const events = await db
|
|
48
|
-
.select()
|
|
49
|
-
.from(sessionEvents)
|
|
50
|
-
.where(eq(sessionEvents.sessionId, payload.sessionId))
|
|
51
|
-
.orderBy(asc(sessionEvents.timestamp))
|
|
52
|
-
.limit(MAX_TURNS * 2);
|
|
53
|
-
const turns = events
|
|
54
|
-
.filter((e) => e.content &&
|
|
55
|
-
(e.eventType === 'user_message' || e.eventType === 'assistant_response'))
|
|
56
|
-
.map((e) => `${e.eventType === 'user_message' ? 'USER' : 'ASSISTANT'}: ${e.content}`)
|
|
57
|
-
.join('\n\n');
|
|
58
|
-
if (!turns)
|
|
59
|
-
return { skipped: 'no_content' };
|
|
60
|
-
// Let LLM errors throw — Graphile will retry.
|
|
61
|
-
const parsed = await llm(PROMPT, turns, 200);
|
|
62
|
-
const summary = typeof parsed?.goalSummary === 'string' ? parsed.goalSummary.trim() : '';
|
|
63
|
-
if (!summary)
|
|
64
|
-
return { skipped: 'llm_empty' };
|
|
65
|
-
const goalSummaryAt = new Date(now()).toISOString();
|
|
66
|
-
await db
|
|
67
|
-
.update(sessions)
|
|
68
|
-
.set({
|
|
69
|
-
analysis: { ...analysis, goalSummary: summary, goalSummaryAt },
|
|
70
|
-
})
|
|
71
|
-
.where(eq(sessions.id, payload.sessionId));
|
|
72
|
-
return { goalSummary: summary };
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=process-session-goal.js.map
|
|
1
|
+
import {
|
|
2
|
+
processSessionGoal
|
|
3
|
+
} from "../../chunk-IGXX624H.js";
|
|
4
|
+
import "../../chunk-FZKLLNDS.js";
|
|
5
|
+
import "../../chunk-7FAA3YNB.js";
|
|
6
|
+
import "../../chunk-KRBQLMOP.js";
|
|
7
|
+
import "../../chunk-NSBPE2FW.js";
|
|
8
|
+
export {
|
|
9
|
+
processSessionGoal
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=process-session-goal.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": [],
|
|
4
|
+
"sourcesContent": [],
|
|
5
|
+
"mappings": "",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|