@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,56 +1,71 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
this.log(`Run: rulemetric skills install <id> to install a skill`);
|
|
1
|
+
import {
|
|
2
|
+
loadRegistry
|
|
3
|
+
} from "../../chunk-4BHDHHKL.js";
|
|
4
|
+
import {
|
|
5
|
+
BaseCommand
|
|
6
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
7
|
+
import "../../chunk-OGVORIFM.js";
|
|
8
|
+
import "../../chunk-2AM54TUK.js";
|
|
9
|
+
import "../../chunk-EJOI2ZGU.js";
|
|
10
|
+
import "../../chunk-KZRFUXGF.js";
|
|
11
|
+
import "../../chunk-EKJ2CABV.js";
|
|
12
|
+
import "../../chunk-NSBPE2FW.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/skills/search.ts
|
|
15
|
+
import { Args, Flags } from "@oclif/core";
|
|
16
|
+
var SkillsSearch = class _SkillsSearch extends BaseCommand {
|
|
17
|
+
static description = "Search the community skills registry";
|
|
18
|
+
static examples = [
|
|
19
|
+
'<%= config.bin %> skills search "tdd"',
|
|
20
|
+
"<%= config.bin %> skills search --tool cursor --category testing",
|
|
21
|
+
"<%= config.bin %> skills search --language python"
|
|
22
|
+
];
|
|
23
|
+
static args = {
|
|
24
|
+
query: Args.string({ description: "Search term", required: false })
|
|
25
|
+
};
|
|
26
|
+
static flags = {
|
|
27
|
+
tool: Flags.string({ description: "Filter by tool", options: ["claude_code", "cursor", "copilot", "windsurf", "cline", "universal"] }),
|
|
28
|
+
category: Flags.string({ description: "Filter by category", options: ["workflow", "language", "framework", "tool", "security", "testing", "architecture", "devops", "documentation", "performance"] }),
|
|
29
|
+
language: Flags.string({ description: "Filter by programming language" }),
|
|
30
|
+
framework: Flags.string({ description: "Filter by framework" }),
|
|
31
|
+
limit: Flags.integer({ description: "Max results", default: 20 })
|
|
32
|
+
};
|
|
33
|
+
async run() {
|
|
34
|
+
const { args, flags } = await this.parse(_SkillsSearch);
|
|
35
|
+
const catalog = await loadRegistry(this);
|
|
36
|
+
const results = catalog.search({
|
|
37
|
+
query: args.query,
|
|
38
|
+
tool: flags.tool,
|
|
39
|
+
category: flags.category,
|
|
40
|
+
language: flags.language,
|
|
41
|
+
limit: flags.limit
|
|
42
|
+
});
|
|
43
|
+
if (results.length === 0) {
|
|
44
|
+
this.log("No skills found matching your criteria.");
|
|
45
|
+
this.log("\nTry a broader search or run: rulemetric skills list");
|
|
46
|
+
return;
|
|
49
47
|
}
|
|
50
|
-
}
|
|
48
|
+
this.log(`Found ${results.length} skill${results.length === 1 ? "" : "s"}:
|
|
49
|
+
`);
|
|
50
|
+
for (const skill of results) {
|
|
51
|
+
const stars = skill.popularity?.stars ? ` (${formatStars(skill.popularity.stars)} stars)` : "";
|
|
52
|
+
const tools = skill.tools.join(", ");
|
|
53
|
+
this.log(` ${skill.id}`);
|
|
54
|
+
this.log(` ${skill.name} \u2014 ${skill.description}`);
|
|
55
|
+
this.log(` tools: ${tools} category: ${skill.category}${stars}`);
|
|
56
|
+
if (skill.tags.length > 0) {
|
|
57
|
+
this.log(` tags: ${skill.tags.join(", ")}`);
|
|
58
|
+
}
|
|
59
|
+
this.log("");
|
|
60
|
+
}
|
|
61
|
+
this.log(`Run: rulemetric skills install <id> to install a skill`);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
51
64
|
function formatStars(n) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return String(n);
|
|
65
|
+
if (n >= 1e3) return `${(n / 1e3).toFixed(1)}k`;
|
|
66
|
+
return String(n);
|
|
55
67
|
}
|
|
56
|
-
|
|
68
|
+
export {
|
|
69
|
+
SkillsSearch as default
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/skills/search.ts"],
|
|
4
|
+
"sourcesContent": ["import { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { loadRegistry } from '../../lib/skills-loader.js';\nimport type { SkillCategory, ToolId } from '@rulemetric/skills-registry';\n\nexport default class SkillsSearch extends BaseCommand {\n static override description = 'Search the community skills registry';\n\n static override examples = [\n '<%= config.bin %> skills search \"tdd\"',\n '<%= config.bin %> skills search --tool cursor --category testing',\n '<%= config.bin %> skills search --language python',\n ];\n\n static override args = {\n query: Args.string({ description: 'Search term', required: false }),\n };\n\n static override flags = {\n tool: Flags.string({ description: 'Filter by tool', options: ['claude_code', 'cursor', 'copilot', 'windsurf', 'cline', 'universal'] }),\n category: Flags.string({ description: 'Filter by category', options: ['workflow', 'language', 'framework', 'tool', 'security', 'testing', 'architecture', 'devops', 'documentation', 'performance'] }),\n language: Flags.string({ description: 'Filter by programming language' }),\n framework: Flags.string({ description: 'Filter by framework' }),\n limit: Flags.integer({ description: 'Max results', default: 20 }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(SkillsSearch);\n\n const catalog = await loadRegistry(this);\n\n const results = catalog.search({\n query: args.query,\n tool: flags.tool as ToolId | undefined,\n category: flags.category as SkillCategory | undefined,\n language: flags.language,\n limit: flags.limit,\n });\n\n if (results.length === 0) {\n this.log('No skills found matching your criteria.');\n this.log('\\nTry a broader search or run: rulemetric skills list');\n return;\n }\n\n this.log(`Found ${results.length} skill${results.length === 1 ? '' : 's'}:\\n`);\n\n for (const skill of results) {\n const stars = skill.popularity?.stars ? ` (${formatStars(skill.popularity.stars)} stars)` : '';\n const tools = skill.tools.join(', ');\n this.log(` ${skill.id}`);\n this.log(` ${skill.name} \u2014 ${skill.description}`);\n this.log(` tools: ${tools} category: ${skill.category}${stars}`);\n if (skill.tags.length > 0) {\n this.log(` tags: ${skill.tags.join(', ')}`);\n }\n this.log('');\n }\n\n this.log(`Run: rulemetric skills install <id> to install a skill`);\n }\n}\n\nfunction formatStars(n: number): string {\n if (n >= 1000) return `${(n / 1000).toFixed(1)}k`;\n return String(n);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,SAAS,MAAM,aAAa;AAK5B,IAAqB,eAArB,MAAqB,sBAAqB,YAAY;AAAA,EACpD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,OAAO;AAAA,IACrB,OAAO,KAAK,OAAO,EAAE,aAAa,eAAe,UAAU,MAAM,CAAC;AAAA,EACpE;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,MAAM,MAAM,OAAO,EAAE,aAAa,kBAAkB,SAAS,CAAC,eAAe,UAAU,WAAW,YAAY,SAAS,WAAW,EAAE,CAAC;AAAA,IACrI,UAAU,MAAM,OAAO,EAAE,aAAa,sBAAsB,SAAS,CAAC,YAAY,YAAY,aAAa,QAAQ,YAAY,WAAW,gBAAgB,UAAU,iBAAiB,aAAa,EAAE,CAAC;AAAA,IACrM,UAAU,MAAM,OAAO,EAAE,aAAa,iCAAiC,CAAC;AAAA,IACxE,WAAW,MAAM,OAAO,EAAE,aAAa,sBAAsB,CAAC;AAAA,IAC9D,OAAO,MAAM,QAAQ,EAAE,aAAa,eAAe,SAAS,GAAG,CAAC;AAAA,EAClE;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,aAAY;AAErD,UAAM,UAAU,MAAM,aAAa,IAAI;AAEvC,UAAM,UAAU,QAAQ,OAAO;AAAA,MAC7B,OAAO,KAAK;AAAA,MACZ,MAAM,MAAM;AAAA,MACZ,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,IACf,CAAC;AAED,QAAI,QAAQ,WAAW,GAAG;AACxB,WAAK,IAAI,yCAAyC;AAClD,WAAK,IAAI,uDAAuD;AAChE;AAAA,IACF;AAEA,SAAK,IAAI,SAAS,QAAQ,MAAM,SAAS,QAAQ,WAAW,IAAI,KAAK,GAAG;AAAA,CAAK;AAE7E,eAAW,SAAS,SAAS;AAC3B,YAAM,QAAQ,MAAM,YAAY,QAAQ,KAAK,YAAY,MAAM,WAAW,KAAK,CAAC,YAAY;AAC5F,YAAM,QAAQ,MAAM,MAAM,KAAK,IAAI;AACnC,WAAK,IAAI,KAAK,MAAM,EAAE,EAAE;AACxB,WAAK,IAAI,OAAO,MAAM,IAAI,WAAM,MAAM,WAAW,EAAE;AACnD,WAAK,IAAI,cAAc,KAAK,eAAe,MAAM,QAAQ,GAAG,KAAK,EAAE;AACnE,UAAI,MAAM,KAAK,SAAS,GAAG;AACzB,aAAK,IAAI,aAAa,MAAM,KAAK,KAAK,IAAI,CAAC,EAAE;AAAA,MAC/C;AACA,WAAK,IAAI,EAAE;AAAA,IACb;AAEA,SAAK,IAAI,wDAAwD;AAAA,EACnE;AACF;AAEA,SAAS,YAAY,GAAmB;AACtC,MAAI,KAAK,IAAM,QAAO,IAAI,IAAI,KAAM,QAAQ,CAAC,CAAC;AAC9C,SAAO,OAAO,CAAC;AACjB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,41 +1,54 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import {
|
|
2
|
+
BaseCommand
|
|
3
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
4
|
+
import "../../chunk-OGVORIFM.js";
|
|
5
|
+
import "../../chunk-2AM54TUK.js";
|
|
6
|
+
import "../../chunk-EJOI2ZGU.js";
|
|
7
|
+
import "../../chunk-KZRFUXGF.js";
|
|
8
|
+
import "../../chunk-EKJ2CABV.js";
|
|
9
|
+
import "../../chunk-NSBPE2FW.js";
|
|
10
|
+
|
|
11
|
+
// src/commands/skills/update.ts
|
|
12
|
+
import * as fs from "node:fs";
|
|
13
|
+
import * as path from "node:path";
|
|
14
|
+
import * as os from "node:os";
|
|
15
|
+
import { Flags } from "@oclif/core";
|
|
16
|
+
import { fetchAllSources, TIER_1_SOURCES, TIER_2_SOURCES } from "@rulemetric/skills-registry";
|
|
17
|
+
var CACHE_DIR = path.join(os.homedir(), ".config", "rulemetric");
|
|
18
|
+
var REGISTRY_PATH = path.join(CACHE_DIR, "skills-registry.json");
|
|
19
|
+
var SkillsUpdate = class _SkillsUpdate extends BaseCommand {
|
|
20
|
+
static description = "Fetch latest skills from GitHub sources and update local registry";
|
|
21
|
+
static examples = [
|
|
22
|
+
"<%= config.bin %> skills update",
|
|
23
|
+
"<%= config.bin %> skills update --all"
|
|
24
|
+
];
|
|
25
|
+
static flags = {
|
|
26
|
+
all: Flags.boolean({ description: "Include Tier 2 (niche) sources", default: false })
|
|
27
|
+
};
|
|
28
|
+
async run() {
|
|
29
|
+
const { flags } = await this.parse(_SkillsUpdate);
|
|
30
|
+
const sources = flags.all ? [...TIER_1_SOURCES, ...TIER_2_SOURCES] : TIER_1_SOURCES;
|
|
31
|
+
this.log(`Fetching skills from ${sources.length} sources${flags.all ? " (Tier 1 + 2)" : ""}...
|
|
32
|
+
`);
|
|
33
|
+
const result = await fetchAllSources(sources, {
|
|
34
|
+
onProgress: (source, count) => {
|
|
35
|
+
this.log(` ${source}: ${count} skills`);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
const registry = {
|
|
39
|
+
version: "1.0.0",
|
|
40
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
41
|
+
skills: result.entries
|
|
17
42
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const sources = flags.all
|
|
21
|
-
? [...TIER_1_SOURCES, ...TIER_2_SOURCES]
|
|
22
|
-
: TIER_1_SOURCES;
|
|
23
|
-
this.log(`Fetching skills from ${sources.length} sources${flags.all ? ' (Tier 1 + 2)' : ''}...\n`);
|
|
24
|
-
const result = await fetchAllSources(sources, {
|
|
25
|
-
onProgress: (source, count) => {
|
|
26
|
-
this.log(` ${source}: ${count} skills`);
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
const registry = {
|
|
30
|
-
version: '1.0.0',
|
|
31
|
-
generatedAt: new Date().toISOString(),
|
|
32
|
-
skills: result.entries,
|
|
33
|
-
};
|
|
34
|
-
if (!fs.existsSync(CACHE_DIR)) {
|
|
35
|
-
fs.mkdirSync(CACHE_DIR, { recursive: true });
|
|
36
|
-
}
|
|
37
|
-
fs.writeFileSync(REGISTRY_PATH, JSON.stringify(registry));
|
|
38
|
-
this.log(`\nUpdated registry: ${result.entries.length} skills cached at ${REGISTRY_PATH}`);
|
|
43
|
+
if (!fs.existsSync(CACHE_DIR)) {
|
|
44
|
+
fs.mkdirSync(CACHE_DIR, { recursive: true });
|
|
39
45
|
}
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
fs.writeFileSync(REGISTRY_PATH, JSON.stringify(registry));
|
|
47
|
+
this.log(`
|
|
48
|
+
Updated registry: ${result.entries.length} skills cached at ${REGISTRY_PATH}`);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
SkillsUpdate as default
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/skills/update.ts"],
|
|
4
|
+
"sourcesContent": ["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport * as os from 'node:os';\nimport { Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { fetchAllSources, TIER_1_SOURCES, TIER_2_SOURCES } from '@rulemetric/skills-registry';\nimport type { SkillRegistry } from '@rulemetric/skills-registry';\n\nconst CACHE_DIR = path.join(os.homedir(), '.config', 'rulemetric');\nconst REGISTRY_PATH = path.join(CACHE_DIR, 'skills-registry.json');\n\nexport default class SkillsUpdate extends BaseCommand {\n static override description = 'Fetch latest skills from GitHub sources and update local registry';\n\n static override examples = [\n '<%= config.bin %> skills update',\n '<%= config.bin %> skills update --all',\n ];\n\n static override flags = {\n all: Flags.boolean({ description: 'Include Tier 2 (niche) sources', default: false }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(SkillsUpdate);\n\n const sources = flags.all\n ? [...TIER_1_SOURCES, ...TIER_2_SOURCES]\n : TIER_1_SOURCES;\n\n this.log(`Fetching skills from ${sources.length} sources${flags.all ? ' (Tier 1 + 2)' : ''}...\\n`);\n\n const result = await fetchAllSources(sources, {\n onProgress: (source, count) => {\n this.log(` ${source}: ${count} skills`);\n },\n });\n\n const registry: SkillRegistry = {\n version: '1.0.0',\n generatedAt: new Date().toISOString(),\n skills: result.entries,\n };\n\n if (!fs.existsSync(CACHE_DIR)) {\n fs.mkdirSync(CACHE_DIR, { recursive: true });\n }\n\n fs.writeFileSync(REGISTRY_PATH, JSON.stringify(registry));\n this.log(`\\nUpdated registry: ${result.entries.length} skills cached at ${REGISTRY_PATH}`);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,QAAQ;AACpB,SAAS,aAAa;AAEtB,SAAS,iBAAiB,gBAAgB,sBAAsB;AAGhE,IAAM,YAAiB,UAAQ,WAAQ,GAAG,WAAW,YAAY;AACjE,IAAM,gBAAqB,UAAK,WAAW,sBAAsB;AAEjE,IAAqB,eAArB,MAAqB,sBAAqB,YAAY;AAAA,EACpD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,KAAK,MAAM,QAAQ,EAAE,aAAa,kCAAkC,SAAS,MAAM,CAAC;AAAA,EACtF;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,IAAI,MAAM,KAAK,MAAM,aAAY;AAE/C,UAAM,UAAU,MAAM,MAClB,CAAC,GAAG,gBAAgB,GAAG,cAAc,IACrC;AAEJ,SAAK,IAAI,wBAAwB,QAAQ,MAAM,WAAW,MAAM,MAAM,kBAAkB,EAAE;AAAA,CAAO;AAEjG,UAAM,SAAS,MAAM,gBAAgB,SAAS;AAAA,MAC5C,YAAY,CAAC,QAAQ,UAAU;AAC7B,aAAK,IAAI,KAAK,MAAM,KAAK,KAAK,SAAS;AAAA,MACzC;AAAA,IACF,CAAC;AAED,UAAM,WAA0B;AAAA,MAC9B,SAAS;AAAA,MACT,cAAa,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC,QAAQ,OAAO;AAAA,IACjB;AAEA,QAAI,CAAI,cAAW,SAAS,GAAG;AAC7B,MAAG,aAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAAA,IAC7C;AAEA,IAAG,iBAAc,eAAe,KAAK,UAAU,QAAQ,CAAC;AACxD,SAAK,IAAI;AAAA,oBAAuB,OAAO,QAAQ,MAAM,qBAAqB,aAAa,EAAE;AAAA,EAC3F;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,61 +1,84 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import {
|
|
2
|
+
validateUuid
|
|
3
|
+
} from "../../chunk-7NYKWN7U.js";
|
|
4
|
+
import {
|
|
5
|
+
normalizeProjectPath
|
|
6
|
+
} from "../../chunk-EKP32DLN.js";
|
|
7
|
+
import {
|
|
8
|
+
BaseCommand
|
|
9
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
10
|
+
import "../../chunk-OGVORIFM.js";
|
|
11
|
+
import "../../chunk-2AM54TUK.js";
|
|
12
|
+
import {
|
|
13
|
+
apiGet,
|
|
14
|
+
apiPost
|
|
15
|
+
} from "../../chunk-EJOI2ZGU.js";
|
|
16
|
+
import "../../chunk-KZRFUXGF.js";
|
|
17
|
+
import "../../chunk-EKJ2CABV.js";
|
|
18
|
+
import "../../chunk-NSBPE2FW.js";
|
|
19
|
+
|
|
20
|
+
// src/commands/suggestions/accept.ts
|
|
21
|
+
import * as fs from "node:fs";
|
|
22
|
+
import * as path from "node:path";
|
|
23
|
+
import { Args } from "@oclif/core";
|
|
24
|
+
function appendToCLAUDEmd(dir, instructionId, content) {
|
|
25
|
+
const filePath = path.join(dir, "CLAUDE.md");
|
|
26
|
+
const startTag = `<!-- rulemetric:start ${instructionId} -->`;
|
|
27
|
+
const endTag = `<!-- rulemetric:end ${instructionId} -->`;
|
|
28
|
+
const existing = fs.existsSync(filePath) ? fs.readFileSync(filePath, "utf8") : "";
|
|
29
|
+
if (existing.includes(startTag)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const separator = existing.length > 0 && !existing.endsWith("\n") ? "\n\n" : existing.length > 0 ? "\n" : "";
|
|
33
|
+
const block = `${separator}
|
|
34
|
+
${startTag}
|
|
35
|
+
${content}
|
|
36
|
+
${endTag}
|
|
37
|
+
`;
|
|
38
|
+
fs.writeFileSync(filePath, existing + block, "utf8");
|
|
39
|
+
return true;
|
|
27
40
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.log(`Accepted: added ${instruction.name} to CLAUDE.md. It will be active starting in your next session.`);
|
|
54
|
-
}
|
|
55
|
-
await apiPost(`/api/instruction-suggestions/${encodeURIComponent(args.id)}/events`, {
|
|
56
|
-
eventType: 'accepted',
|
|
57
|
-
projectPath,
|
|
58
|
-
});
|
|
41
|
+
var SuggestionsAccept = class _SuggestionsAccept extends BaseCommand {
|
|
42
|
+
static description = "Accept a suggestion and append the instruction to CLAUDE.md";
|
|
43
|
+
static examples = [
|
|
44
|
+
"<%= config.bin %> suggestions accept <id>"
|
|
45
|
+
];
|
|
46
|
+
static args = {
|
|
47
|
+
id: Args.string({ description: "Suggestion UUID from `suggestions list`", required: true })
|
|
48
|
+
};
|
|
49
|
+
async run() {
|
|
50
|
+
const { args } = await this.parse(_SuggestionsAccept);
|
|
51
|
+
this.requireAuth();
|
|
52
|
+
validateUuid(args.id, "suggestion ID");
|
|
53
|
+
const projectPath = normalizeProjectPath(process.cwd());
|
|
54
|
+
const suggestion = await apiGet(
|
|
55
|
+
`/api/instruction-suggestions/${encodeURIComponent(args.id)}`
|
|
56
|
+
);
|
|
57
|
+
let effectiveInstructionId = suggestion.instructionId;
|
|
58
|
+
if (suggestion.instructionScope === "public") {
|
|
59
|
+
const promoted = await apiPost(
|
|
60
|
+
`/api/instructions/${encodeURIComponent(suggestion.instructionId)}/promote-from-public`,
|
|
61
|
+
{ targetScope: "personal" }
|
|
62
|
+
);
|
|
63
|
+
effectiveInstructionId = promoted.instructionId;
|
|
59
64
|
}
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
const instruction = await apiGet(
|
|
66
|
+
`/api/instructions/${encodeURIComponent(effectiveInstructionId)}`
|
|
67
|
+
);
|
|
68
|
+
const modified = appendToCLAUDEmd(process.cwd(), effectiveInstructionId, instruction.content);
|
|
69
|
+
if (!modified) {
|
|
70
|
+
this.log(`Already present: ${instruction.name} is already in CLAUDE.md (block id: ${effectiveInstructionId}).`);
|
|
71
|
+
} else {
|
|
72
|
+
this.log(`Accepted: added ${instruction.name} to CLAUDE.md. It will be active starting in your next session.`);
|
|
73
|
+
}
|
|
74
|
+
await apiPost(`/api/instruction-suggestions/${encodeURIComponent(args.id)}/events`, {
|
|
75
|
+
eventType: "accepted",
|
|
76
|
+
projectPath
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
export {
|
|
81
|
+
appendToCLAUDEmd,
|
|
82
|
+
SuggestionsAccept as default
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=accept.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/suggestions/accept.ts"],
|
|
4
|
+
"sourcesContent": ["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { Args } from '@oclif/core';\nimport { normalizeProjectPath } from '@rulemetric/core/paths';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiGet, apiPost } from '../../lib/api-client.js';\nimport { validateUuid } from '../../lib/types.js';\nimport type { Instruction } from '../../lib/types.js';\n\ninterface SuggestionDetail {\n id: string;\n instructionId: string;\n instructionScope: string;\n score: number;\n reason: string;\n name: string;\n}\n\ninterface PromoteResponse {\n instructionId: string;\n alreadyExisted: boolean;\n}\n\n/**\n * Append an instruction block to CLAUDE.md in the given directory. Idempotent:\n * skips if a block with the same instructionId already exists. Returns true if\n * the file was modified, false if the block was already present.\n */\nexport function appendToCLAUDEmd(dir: string, instructionId: string, content: string): boolean {\n const filePath = path.join(dir, 'CLAUDE.md');\n const startTag = `<!-- rulemetric:start ${instructionId} -->`;\n const endTag = `<!-- rulemetric:end ${instructionId} -->`;\n\n const existing = fs.existsSync(filePath) ? fs.readFileSync(filePath, 'utf8') : '';\n\n if (existing.includes(startTag)) {\n return false;\n }\n\n const separator = existing.length > 0 && !existing.endsWith('\\n')\n ? '\\n\\n'\n : existing.length > 0 ? '\\n' : '';\n const block = `${separator}\\n${startTag}\\n${content}\\n${endTag}\\n`;\n\n fs.writeFileSync(filePath, existing + block, 'utf8');\n return true;\n}\n\nexport default class SuggestionsAccept extends BaseCommand {\n static override description = 'Accept a suggestion and append the instruction to CLAUDE.md';\n\n static override examples = [\n '<%= config.bin %> suggestions accept <id>',\n ];\n\n static override args = {\n id: Args.string({ description: 'Suggestion UUID from `suggestions list`', required: true }),\n };\n\n async run(): Promise<void> {\n const { args } = await this.parse(SuggestionsAccept);\n this.requireAuth();\n validateUuid(args.id, 'suggestion ID');\n\n const projectPath = normalizeProjectPath(process.cwd());\n\n const suggestion = await apiGet<SuggestionDetail>(\n `/api/instruction-suggestions/${encodeURIComponent(args.id)}`,\n );\n\n let effectiveInstructionId = suggestion.instructionId;\n\n if (suggestion.instructionScope === 'public') {\n const promoted = await apiPost<PromoteResponse>(\n `/api/instructions/${encodeURIComponent(suggestion.instructionId)}/promote-from-public`,\n { targetScope: 'personal' },\n );\n effectiveInstructionId = promoted.instructionId;\n }\n\n const instruction = await apiGet<Instruction>(\n `/api/instructions/${encodeURIComponent(effectiveInstructionId)}`,\n );\n\n const modified = appendToCLAUDEmd(process.cwd(), effectiveInstructionId, instruction.content);\n\n if (!modified) {\n this.log(`Already present: ${instruction.name} is already in CLAUDE.md (block id: ${effectiveInstructionId}).`);\n } else {\n this.log(`Accepted: added ${instruction.name} to CLAUDE.md. It will be active starting in your next session.`);\n }\n\n await apiPost(`/api/instruction-suggestions/${encodeURIComponent(args.id)}/events`, {\n eventType: 'accepted',\n projectPath,\n });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAS,YAAY;AA0Bd,SAAS,iBAAiB,KAAa,eAAuB,SAA0B;AAC3F,QAAM,WAAgB,UAAK,KAAK,WAAW;AAC3C,QAAM,WAAW,yBAAyB,aAAa;AACvD,QAAM,SAAS,uBAAuB,aAAa;AAEnD,QAAM,WAAc,cAAW,QAAQ,IAAO,gBAAa,UAAU,MAAM,IAAI;AAE/E,MAAI,SAAS,SAAS,QAAQ,GAAG;AAC7B,WAAO;AAAA,EACX;AAEA,QAAM,YAAY,SAAS,SAAS,KAAK,CAAC,SAAS,SAAS,IAAI,IAC1D,SACA,SAAS,SAAS,IAAI,OAAO;AACnC,QAAM,QAAQ,GAAG,SAAS;AAAA,EAAK,QAAQ;AAAA,EAAK,OAAO;AAAA,EAAK,MAAM;AAAA;AAE9D,EAAG,iBAAc,UAAU,WAAW,OAAO,MAAM;AACnD,SAAO;AACX;AAEA,IAAqB,oBAArB,MAAqB,2BAA0B,YAAY;AAAA,EACvD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO;AAAA,IACnB,IAAI,KAAK,OAAO,EAAE,aAAa,2CAA2C,UAAU,KAAK,CAAC;AAAA,EAC9F;AAAA,EAEA,MAAM,MAAqB;AACvB,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,kBAAiB;AACnD,SAAK,YAAY;AACjB,iBAAa,KAAK,IAAI,eAAe;AAErC,UAAM,cAAc,qBAAqB,QAAQ,IAAI,CAAC;AAEtD,UAAM,aAAa,MAAM;AAAA,MACrB,gCAAgC,mBAAmB,KAAK,EAAE,CAAC;AAAA,IAC/D;AAEA,QAAI,yBAAyB,WAAW;AAExC,QAAI,WAAW,qBAAqB,UAAU;AAC1C,YAAM,WAAW,MAAM;AAAA,QACnB,qBAAqB,mBAAmB,WAAW,aAAa,CAAC;AAAA,QACjE,EAAE,aAAa,WAAW;AAAA,MAC9B;AACA,+BAAyB,SAAS;AAAA,IACtC;AAEA,UAAM,cAAc,MAAM;AAAA,MACtB,qBAAqB,mBAAmB,sBAAsB,CAAC;AAAA,IACnE;AAEA,UAAM,WAAW,iBAAiB,QAAQ,IAAI,GAAG,wBAAwB,YAAY,OAAO;AAE5F,QAAI,CAAC,UAAU;AACX,WAAK,IAAI,oBAAoB,YAAY,IAAI,uCAAuC,sBAAsB,IAAI;AAAA,IAClH,OAAO;AACH,WAAK,IAAI,mBAAmB,YAAY,IAAI,iEAAiE;AAAA,IACjH;AAEA,UAAM,QAAQ,gCAAgC,mBAAmB,KAAK,EAAE,CAAC,WAAW;AAAA,MAChF,WAAW;AAAA,MACX;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,26 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import {
|
|
2
|
+
validateUuid
|
|
3
|
+
} from "../../chunk-7NYKWN7U.js";
|
|
4
|
+
import {
|
|
5
|
+
normalizeProjectPath
|
|
6
|
+
} from "../../chunk-EKP32DLN.js";
|
|
7
|
+
import {
|
|
8
|
+
BaseCommand
|
|
9
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
10
|
+
import "../../chunk-OGVORIFM.js";
|
|
11
|
+
import "../../chunk-2AM54TUK.js";
|
|
12
|
+
import {
|
|
13
|
+
apiPost
|
|
14
|
+
} from "../../chunk-EJOI2ZGU.js";
|
|
15
|
+
import "../../chunk-KZRFUXGF.js";
|
|
16
|
+
import "../../chunk-EKJ2CABV.js";
|
|
17
|
+
import "../../chunk-NSBPE2FW.js";
|
|
18
|
+
|
|
19
|
+
// src/commands/suggestions/dismiss.ts
|
|
20
|
+
import { Args } from "@oclif/core";
|
|
21
|
+
var SuggestionsDismiss = class _SuggestionsDismiss extends BaseCommand {
|
|
22
|
+
static description = "Dismiss a suggestion so it will not re-surface for 30 days";
|
|
23
|
+
static examples = [
|
|
24
|
+
"<%= config.bin %> suggestions dismiss <id>"
|
|
25
|
+
];
|
|
26
|
+
static args = {
|
|
27
|
+
id: Args.string({ description: "Suggestion UUID from `suggestions list`", required: true })
|
|
28
|
+
};
|
|
29
|
+
async run() {
|
|
30
|
+
const { args } = await this.parse(_SuggestionsDismiss);
|
|
31
|
+
this.requireAuth();
|
|
32
|
+
validateUuid(args.id, "suggestion ID");
|
|
33
|
+
const projectPath = normalizeProjectPath(process.cwd());
|
|
34
|
+
await apiPost(`/api/instruction-suggestions/${encodeURIComponent(args.id)}/events`, {
|
|
35
|
+
eventType: "dismissed",
|
|
36
|
+
projectPath
|
|
37
|
+
});
|
|
38
|
+
this.log("Dismissed. Won't re-surface for 30 days.");
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
SuggestionsDismiss as default
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=dismiss.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/suggestions/dismiss.ts"],
|
|
4
|
+
"sourcesContent": ["import { Args } from '@oclif/core';\nimport { normalizeProjectPath } from '@rulemetric/core/paths';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiPost } from '../../lib/api-client.js';\nimport { validateUuid } from '../../lib/types.js';\n\nexport default class SuggestionsDismiss extends BaseCommand {\n static override description = 'Dismiss a suggestion so it will not re-surface for 30 days';\n\n static override examples = [\n '<%= config.bin %> suggestions dismiss <id>',\n ];\n\n static override args = {\n id: Args.string({ description: 'Suggestion UUID from `suggestions list`', required: true }),\n };\n\n async run(): Promise<void> {\n const { args } = await this.parse(SuggestionsDismiss);\n this.requireAuth();\n validateUuid(args.id, 'suggestion ID');\n\n const projectPath = normalizeProjectPath(process.cwd());\n\n await apiPost(`/api/instruction-suggestions/${encodeURIComponent(args.id)}/events`, {\n eventType: 'dismissed',\n projectPath,\n });\n\n this.log(\"Dismissed. Won't re-surface for 30 days.\");\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY;AAMrB,IAAqB,qBAArB,MAAqB,4BAA2B,YAAY;AAAA,EACxD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO;AAAA,IACnB,IAAI,KAAK,OAAO,EAAE,aAAa,2CAA2C,UAAU,KAAK,CAAC;AAAA,EAC9F;AAAA,EAEA,MAAM,MAAqB;AACvB,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,mBAAkB;AACpD,SAAK,YAAY;AACjB,iBAAa,KAAK,IAAI,eAAe;AAErC,UAAM,cAAc,qBAAqB,QAAQ,IAAI,CAAC;AAEtD,UAAM,QAAQ,gCAAgC,mBAAmB,KAAK,EAAE,CAAC,WAAW;AAAA,MAChF,WAAW;AAAA,MACX;AAAA,IACJ,CAAC;AAED,SAAK,IAAI,0CAA0C;AAAA,EACvD;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,40 +1,60 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
1
|
+
import {
|
|
2
|
+
normalizeProjectPath
|
|
3
|
+
} from "../../chunk-EKP32DLN.js";
|
|
4
|
+
import {
|
|
5
|
+
BaseCommand
|
|
6
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
7
|
+
import "../../chunk-OGVORIFM.js";
|
|
8
|
+
import "../../chunk-2AM54TUK.js";
|
|
9
|
+
import {
|
|
10
|
+
apiGet
|
|
11
|
+
} from "../../chunk-EJOI2ZGU.js";
|
|
12
|
+
import "../../chunk-KZRFUXGF.js";
|
|
13
|
+
import "../../chunk-EKJ2CABV.js";
|
|
14
|
+
import "../../chunk-NSBPE2FW.js";
|
|
15
|
+
|
|
16
|
+
// src/commands/suggestions/list.ts
|
|
17
|
+
import { Flags } from "@oclif/core";
|
|
18
|
+
import { printTable } from "@oclif/table";
|
|
19
|
+
var SuggestionsList = class _SuggestionsList extends BaseCommand {
|
|
20
|
+
static description = "List instruction suggestions for a project";
|
|
21
|
+
static examples = [
|
|
22
|
+
"<%= config.bin %> suggestions list",
|
|
23
|
+
"<%= config.bin %> suggestions list --project /path/to/project"
|
|
24
|
+
];
|
|
25
|
+
static flags = {
|
|
26
|
+
project: Flags.string({
|
|
27
|
+
char: "p",
|
|
28
|
+
description: "Project path (defaults to current directory)"
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
async run() {
|
|
32
|
+
const { flags } = await this.parse(_SuggestionsList);
|
|
33
|
+
this.requireAuth();
|
|
34
|
+
const projectPath = normalizeProjectPath(flags.project ?? process.cwd());
|
|
35
|
+
const encoded = encodeURIComponent(projectPath);
|
|
36
|
+
const result = await apiGet(
|
|
37
|
+
`/api/instruction-suggestions?projectPath=${encoded}&limit=10`
|
|
38
|
+
);
|
|
39
|
+
if (result.suggestions.length === 0) {
|
|
40
|
+
this.log(
|
|
41
|
+
"No suggestions for this project. The cron runs daily at 04:30; trigger now with: rulemetric suggestions refresh"
|
|
42
|
+
);
|
|
43
|
+
return;
|
|
38
44
|
}
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
printTable({
|
|
46
|
+
data: result.suggestions.map((s) => ({
|
|
47
|
+
ID: s.id,
|
|
48
|
+
Scope: s.instructionScope,
|
|
49
|
+
Name: s.name,
|
|
50
|
+
Score: s.score.toFixed(2),
|
|
51
|
+
Reason: s.reason.length > 60 ? s.reason.slice(0, 59) + "\u2026" : s.reason
|
|
52
|
+
})),
|
|
53
|
+
columns: ["ID", "Scope", "Name", "Score", "Reason"]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
export {
|
|
58
|
+
SuggestionsList as default
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=list.js.map
|