@rulemetric/cli 0.6.9 → 0.7.1
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 +4 -3
- package/dist/{chunk-SZ7VDCD6.js → chunk-2HK7RGZB.js} +22 -3
- package/dist/chunk-2HK7RGZB.js.map +7 -0
- package/dist/{chunk-RUCSRN7F.js → chunk-2ORJWTNZ.js} +2 -2
- package/dist/{chunk-SLL3OBKN.js → chunk-37LN5O7M.js} +2 -2
- package/dist/chunk-3S7223UR.js +81 -0
- package/dist/chunk-3S7223UR.js.map +7 -0
- package/dist/{chunk-DAJNO4OI.js → chunk-4LYCDS2N.js} +28 -16
- package/dist/chunk-4LYCDS2N.js.map +7 -0
- package/dist/{chunk-UPXIO7CG.js → chunk-4XAWK6S2.js} +8 -8
- package/dist/{chunk-QD6X4L4L.js → chunk-5BAOGNUH.js} +4 -4
- package/dist/chunk-5EDMGK3W.js +39 -0
- package/dist/chunk-5EDMGK3W.js.map +7 -0
- package/dist/{chunk-5ADHO5QF.js → chunk-6NBS5XFS.js} +6 -6
- package/dist/{chunk-BBLTN35F.js → chunk-7DULPSFU.js} +49 -20
- package/dist/chunk-7DULPSFU.js.map +7 -0
- package/dist/chunk-7LVVKQMZ.js +98 -0
- package/dist/chunk-7LVVKQMZ.js.map +7 -0
- package/dist/{chunk-PXVQLD7S.js → chunk-7NNFYWKK.js} +48 -1
- package/dist/chunk-7NNFYWKK.js.map +7 -0
- package/dist/{chunk-DTFXCHHI.js → chunk-DNKSVWMD.js} +4 -4
- package/dist/{chunk-CNMWYYSV.js → chunk-DUJSRBLP.js} +2 -2
- package/dist/chunk-EARWG4EV.js +22 -0
- package/dist/chunk-EARWG4EV.js.map +7 -0
- package/dist/{chunk-6EMZI4Y3.js → chunk-EI5BHWXA.js} +437 -401
- package/dist/chunk-EI5BHWXA.js.map +7 -0
- package/dist/{chunk-HNZLEEG2.js → chunk-EJ3YAFDP.js} +4 -4
- package/dist/{chunk-HNZLEEG2.js.map → chunk-EJ3YAFDP.js.map} +2 -2
- package/dist/{chunk-YSEQWCN4.js → chunk-EYPAAGN5.js} +2 -2
- package/dist/{chunk-JEJ3J5J6.js → chunk-GIUBARWS.js} +2 -2
- package/dist/chunk-GQNJO2P2.js +102 -0
- package/dist/chunk-GQNJO2P2.js.map +7 -0
- package/dist/chunk-ILYDELUE.js +46 -0
- package/dist/chunk-ILYDELUE.js.map +7 -0
- package/dist/chunk-J6QFW4LD.js +55 -0
- package/dist/chunk-J6QFW4LD.js.map +7 -0
- package/dist/{chunk-OTOWLUOJ.js → chunk-JULOLTZS.js} +2 -2
- package/dist/{chunk-DR5WLIOU.js → chunk-KJKBDQ4D.js} +2 -2
- package/dist/{chunk-XN23W5HL.js → chunk-LXKPNATC.js} +93 -7
- package/dist/chunk-LXKPNATC.js.map +7 -0
- package/dist/{chunk-N5A2IQAK.js → chunk-OK3I555A.js} +2 -2
- package/dist/{chunk-XNNOXGP6.js → chunk-OKWCKCPE.js} +38 -19
- package/dist/chunk-OKWCKCPE.js.map +7 -0
- package/dist/{chunk-AHDRN6NE.js → chunk-OO7JDFS4.js} +5 -5
- package/dist/{chunk-N2X35ITW.js → chunk-OQBBVTDG.js} +11 -1
- package/dist/{chunk-N2X35ITW.js.map → chunk-OQBBVTDG.js.map} +2 -2
- package/dist/{chunk-3QH73QOQ.js → chunk-PED7L5GX.js} +2 -2
- package/dist/{chunk-VBGUNFKY.js → chunk-PMI56ED5.js} +5 -5
- package/dist/{chunk-RCMXTLQF.js → chunk-RMTT4KDY.js} +2 -2
- package/dist/{chunk-W4MZXKZ2.js → chunk-UKMLICWS.js} +2 -2
- package/dist/{chunk-3POYC5NA.js → chunk-XK42ZBDE.js} +3 -3
- package/dist/{chunk-ZSGKRCKD.js → chunk-XUV6DDBF.js} +2 -2
- package/dist/{chunk-LAKZUE35.js → chunk-Y3WD5CSW.js} +2 -2
- package/dist/{chunk-3QVMIJUL.js → chunk-YOBA3NAM.js} +5 -5
- package/dist/{chunk-ZRLYHBPN.js → chunk-ZUJBM6HE.js} +20 -2
- package/dist/chunk-ZUJBM6HE.js.map +7 -0
- package/dist/commands/antigravity/backfill.js +5 -4
- package/dist/commands/antigravity/backfill.js.map +1 -1
- package/dist/commands/auth/create-key.js +4 -3
- package/dist/commands/auth/create-key.js.map +1 -1
- package/dist/commands/auth/login.js +13 -9
- package/dist/commands/auth/login.js.map +2 -2
- package/dist/commands/auth/logout.js +4 -3
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/revoke-key.js +4 -3
- package/dist/commands/auth/revoke-key.js.map +1 -1
- package/dist/commands/auth/signup.js +13 -9
- package/dist/commands/auth/signup.js.map +2 -2
- package/dist/commands/auth/status.js +4 -3
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/catalog/index.js +4 -3
- package/dist/commands/catalog/index.js.map +1 -1
- package/dist/commands/catalog/recommend.js +4 -3
- package/dist/commands/catalog/recommend.js.map +1 -1
- package/dist/commands/convert.js +4 -3
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/converters.js +4 -3
- package/dist/commands/converters.js.map +1 -1
- package/dist/commands/crons/list.js +4 -3
- package/dist/commands/crons/list.js.map +1 -1
- package/dist/commands/crons/run.js +4 -3
- package/dist/commands/crons/run.js.map +1 -1
- package/dist/commands/dashboard.js +4 -3
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/diagnostics.js +117 -0
- package/dist/commands/diagnostics.js.map +7 -0
- package/dist/commands/eval-targets/create.js +4 -3
- package/dist/commands/eval-targets/create.js.map +1 -1
- package/dist/commands/eval-targets/list.js +4 -3
- package/dist/commands/eval-targets/list.js.map +1 -1
- package/dist/commands/evals/agent.js +41 -20
- package/dist/commands/evals/agent.js.map +2 -2
- package/dist/commands/evals/benchmark.js +5 -4
- package/dist/commands/evals/benchmark.js.map +1 -1
- package/dist/commands/evals/compare.js +4 -3
- package/dist/commands/evals/compare.js.map +1 -1
- package/dist/commands/evals/create.js +4 -3
- package/dist/commands/evals/create.js.map +1 -1
- package/dist/commands/evals/optimize-description.js +4 -3
- package/dist/commands/evals/optimize-description.js.map +1 -1
- package/dist/commands/evals/optimize.js +4 -3
- package/dist/commands/evals/optimize.js.map +1 -1
- package/dist/commands/evals/run.js +4 -3
- package/dist/commands/evals/run.js.map +1 -1
- package/dist/commands/gateway/ensure.js +75 -5
- package/dist/commands/gateway/ensure.js.map +2 -2
- package/dist/commands/hooks/install.js +76 -23
- package/dist/commands/hooks/install.js.map +2 -2
- package/dist/commands/hooks/run.js +4 -3
- package/dist/commands/hooks/run.js.map +1 -1
- package/dist/commands/hooks/uninstall.js +31 -40
- package/dist/commands/hooks/uninstall.js.map +2 -2
- package/dist/commands/import.js +4 -3
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/instructions/create.js +4 -3
- package/dist/commands/instructions/create.js.map +1 -1
- package/dist/commands/instructions/delete.js +4 -3
- package/dist/commands/instructions/delete.js.map +1 -1
- package/dist/commands/instructions/fork.js +4 -3
- package/dist/commands/instructions/fork.js.map +1 -1
- package/dist/commands/instructions/get.js +4 -3
- package/dist/commands/instructions/get.js.map +1 -1
- package/dist/commands/instructions/list.js +4 -3
- package/dist/commands/instructions/list.js.map +1 -1
- package/dist/commands/instructions/promote.js +4 -3
- package/dist/commands/instructions/promote.js.map +1 -1
- package/dist/commands/instructions/pull.js +4 -3
- package/dist/commands/instructions/pull.js.map +1 -1
- package/dist/commands/instructions/upstream.js +4 -3
- package/dist/commands/instructions/upstream.js.map +1 -1
- package/dist/commands/instructions/versions.js +4 -3
- package/dist/commands/instructions/versions.js.map +1 -1
- package/dist/commands/launcher.js +4 -3
- package/dist/commands/launcher.js.map +1 -1
- package/dist/commands/org/current.js +4 -3
- package/dist/commands/org/current.js.map +1 -1
- package/dist/commands/org/list.js +4 -3
- package/dist/commands/org/list.js.map +1 -1
- package/dist/commands/org/switch.js +4 -3
- package/dist/commands/org/switch.js.map +1 -1
- package/dist/commands/packs/add-instruction.js +4 -3
- package/dist/commands/packs/add-instruction.js.map +1 -1
- package/dist/commands/packs/apply.js +4 -3
- package/dist/commands/packs/apply.js.map +1 -1
- package/dist/commands/packs/create.js +4 -3
- package/dist/commands/packs/create.js.map +1 -1
- package/dist/commands/packs/fork.js +4 -3
- package/dist/commands/packs/fork.js.map +1 -1
- package/dist/commands/packs/get.js +4 -3
- package/dist/commands/packs/get.js.map +1 -1
- package/dist/commands/packs/list.js +4 -3
- package/dist/commands/packs/list.js.map +1 -1
- package/dist/commands/packs/remove-instruction.js +4 -3
- package/dist/commands/packs/remove-instruction.js.map +1 -1
- package/dist/commands/proxy/env.js +7 -4
- package/dist/commands/proxy/env.js.map +1 -1
- package/dist/commands/proxy/logs.js +4 -3
- package/dist/commands/proxy/logs.js.map +1 -1
- package/dist/commands/proxy/restart.js +4 -3
- package/dist/commands/proxy/restart.js.map +1 -1
- package/dist/commands/proxy/setup.js +20 -14
- package/dist/commands/proxy/setup.js.map +2 -2
- package/dist/commands/proxy/start.js +29 -15
- package/dist/commands/proxy/start.js.map +2 -2
- package/dist/commands/proxy/status.js +16 -13
- package/dist/commands/proxy/status.js.map +2 -2
- package/dist/commands/proxy/stop.js +21 -12
- package/dist/commands/proxy/stop.js.map +2 -2
- package/dist/commands/research/backfill.js +5 -4
- package/dist/commands/research/backfill.js.map +1 -1
- package/dist/commands/research/tail-transcript.js +5 -4
- package/dist/commands/research/tail-transcript.js.map +1 -1
- package/dist/commands/service/install.js +6 -6
- package/dist/commands/service/status.js +4 -3
- package/dist/commands/service/status.js.map +1 -1
- package/dist/commands/service/uninstall.js +4 -3
- package/dist/commands/service/uninstall.js.map +1 -1
- package/dist/commands/sessions/analyze.js +4 -3
- package/dist/commands/sessions/analyze.js.map +1 -1
- package/dist/commands/sessions/end.js +4 -3
- package/dist/commands/sessions/end.js.map +1 -1
- package/dist/commands/sessions/import.js +4 -3
- package/dist/commands/sessions/import.js.map +1 -1
- package/dist/commands/sessions/list.js +4 -3
- package/dist/commands/sessions/list.js.map +1 -1
- package/dist/commands/sessions/start.js +4 -3
- package/dist/commands/sessions/start.js.map +1 -1
- package/dist/commands/setup.js +10 -6
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/skills/export-approved.js +4 -3
- package/dist/commands/skills/export-approved.js.map +1 -1
- package/dist/commands/skills/install.js +4 -3
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/list.js +4 -3
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/publish.js +4 -3
- package/dist/commands/skills/publish.js.map +1 -1
- package/dist/commands/skills/search.js +4 -3
- package/dist/commands/skills/search.js.map +1 -1
- package/dist/commands/skills/update.js +4 -3
- package/dist/commands/skills/update.js.map +1 -1
- package/dist/commands/suggestions/accept.js +4 -3
- package/dist/commands/suggestions/accept.js.map +1 -1
- package/dist/commands/suggestions/dismiss.js +4 -3
- package/dist/commands/suggestions/dismiss.js.map +1 -1
- package/dist/commands/suggestions/list.js +4 -3
- package/dist/commands/suggestions/list.js.map +1 -1
- package/dist/commands/suggestions/refresh.js +4 -3
- package/dist/commands/suggestions/refresh.js.map +1 -1
- package/dist/dashboard/Dashboard.js +16 -16
- package/dist/dashboard/data.js +2 -2
- package/dist/dashboard/launcher/ActiveJobsList.js +2 -2
- package/dist/dashboard/launcher/LauncherOverlay.js +7 -7
- package/dist/dashboard/launcher/NewLaunchForm.js +2 -2
- package/dist/dashboard/launcher/api.js +2 -2
- package/dist/dashboard/launcher/useLaunchJobs.js +3 -3
- package/dist/lib/active-org-refresh.js +2 -2
- package/dist/lib/agent-loop.js +19 -17
- package/dist/lib/antigravity-transcript.js +2 -2
- package/dist/lib/api-client.js +1 -1
- package/dist/lib/capture-hosts.js +8 -0
- package/dist/lib/capture-hosts.js.map +7 -0
- package/dist/lib/diagnostics.js +12 -0
- package/dist/lib/diagnostics.js.map +7 -0
- package/dist/lib/editor-proxy-pins.js +14 -0
- package/dist/lib/editor-proxy-pins.js.map +7 -0
- package/dist/lib/ensure-api-key.js +3 -3
- package/dist/lib/eval-benchmark.js +2 -2
- package/dist/lib/eval-conversation-handler.js +2 -2
- package/dist/lib/gateway-entry.js +39 -1
- package/dist/lib/gateway-entry.js.map +2 -2
- package/dist/lib/gateway-identity.js +16 -0
- package/dist/lib/gateway-identity.js.map +7 -0
- package/dist/lib/gateway-lifecycle.js +9 -3
- package/dist/lib/gateway.js +3 -1
- package/dist/lib/handlers/cron-suggest-instructions.js +3 -3
- package/dist/lib/handlers/process-announcement.js +3 -3
- package/dist/lib/handlers/process-changelog.js +2 -2
- package/dist/lib/handlers/process-conversation.js +3 -3
- package/dist/lib/handlers/process-eval.js +2 -2
- package/dist/lib/handlers/process-insights.js +2 -2
- package/dist/lib/handlers/process-launch.js +2 -2
- package/dist/lib/handlers/process-run-cleanup.js +2 -2
- package/dist/lib/handlers/process-session-goal.js +2 -2
- package/dist/lib/hooks-config.js +18 -1
- package/dist/lib/manual-tasks.js +5 -5
- package/dist/lib/pid-identity.js +14 -0
- package/dist/lib/pid-identity.js.map +7 -0
- package/dist/lib/proxy-respawn.js +12 -0
- package/dist/lib/proxy-respawn.js.map +7 -0
- package/dist/lib/research-client.js +2 -2
- package/dist/lib/setup-steps.js +7 -4
- package/dist/lib/statusline-shim.js +3 -1
- package/dist/lib/telemetry.js +4 -2
- package/dist/lib/terminal-target-heartbeat.js +2 -2
- package/oclif.manifest.json +34 -1
- package/package.json +4 -4
- package/dist/chunk-6EMZI4Y3.js.map +0 -7
- package/dist/chunk-BBLTN35F.js.map +0 -7
- package/dist/chunk-DAJNO4OI.js.map +0 -7
- package/dist/chunk-PXVQLD7S.js.map +0 -7
- package/dist/chunk-SZ7VDCD6.js.map +0 -7
- package/dist/chunk-TX2HKJLA.js +0 -55
- package/dist/chunk-TX2HKJLA.js.map +0 -7
- package/dist/chunk-XN23W5HL.js.map +0 -7
- package/dist/chunk-XNNOXGP6.js.map +0 -7
- package/dist/chunk-ZRLYHBPN.js.map +0 -7
- /package/dist/{chunk-RUCSRN7F.js.map → chunk-2ORJWTNZ.js.map} +0 -0
- /package/dist/{chunk-SLL3OBKN.js.map → chunk-37LN5O7M.js.map} +0 -0
- /package/dist/{chunk-UPXIO7CG.js.map → chunk-4XAWK6S2.js.map} +0 -0
- /package/dist/{chunk-QD6X4L4L.js.map → chunk-5BAOGNUH.js.map} +0 -0
- /package/dist/{chunk-5ADHO5QF.js.map → chunk-6NBS5XFS.js.map} +0 -0
- /package/dist/{chunk-DTFXCHHI.js.map → chunk-DNKSVWMD.js.map} +0 -0
- /package/dist/{chunk-CNMWYYSV.js.map → chunk-DUJSRBLP.js.map} +0 -0
- /package/dist/{chunk-YSEQWCN4.js.map → chunk-EYPAAGN5.js.map} +0 -0
- /package/dist/{chunk-JEJ3J5J6.js.map → chunk-GIUBARWS.js.map} +0 -0
- /package/dist/{chunk-OTOWLUOJ.js.map → chunk-JULOLTZS.js.map} +0 -0
- /package/dist/{chunk-DR5WLIOU.js.map → chunk-KJKBDQ4D.js.map} +0 -0
- /package/dist/{chunk-N5A2IQAK.js.map → chunk-OK3I555A.js.map} +0 -0
- /package/dist/{chunk-AHDRN6NE.js.map → chunk-OO7JDFS4.js.map} +0 -0
- /package/dist/{chunk-3QH73QOQ.js.map → chunk-PED7L5GX.js.map} +0 -0
- /package/dist/{chunk-VBGUNFKY.js.map → chunk-PMI56ED5.js.map} +0 -0
- /package/dist/{chunk-RCMXTLQF.js.map → chunk-RMTT4KDY.js.map} +0 -0
- /package/dist/{chunk-W4MZXKZ2.js.map → chunk-UKMLICWS.js.map} +0 -0
- /package/dist/{chunk-3POYC5NA.js.map → chunk-XK42ZBDE.js.map} +0 -0
- /package/dist/{chunk-ZSGKRCKD.js.map → chunk-XUV6DDBF.js.map} +0 -0
- /package/dist/{chunk-LAKZUE35.js.map → chunk-Y3WD5CSW.js.map} +0 -0
- /package/dist/{chunk-3QVMIJUL.js.map → chunk-YOBA3NAM.js.map} +0 -0
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../../chunk-N2X35ITW.js";
|
|
4
|
-
import {
|
|
5
|
-
readClaudeSettings,
|
|
2
|
+
cleanClaudeSettingsFiles,
|
|
6
3
|
removeAntigravityHooks,
|
|
7
4
|
removeAntigravityUserHooks,
|
|
8
|
-
removeClaudeCodeHooks,
|
|
9
5
|
removeCopilotHooks,
|
|
10
6
|
removeCursorHooks,
|
|
11
7
|
removeCursorUserHooks,
|
|
12
8
|
removeCursorUserProxyConfig,
|
|
13
9
|
removeVSCodeProxyConfig,
|
|
14
10
|
removeVSCodeUserProxyConfig,
|
|
15
|
-
uninstallMacOSProxyEnv
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
uninstallMacOSProxyEnv
|
|
12
|
+
} from "../../chunk-LXKPNATC.js";
|
|
13
|
+
import "../../chunk-OQBBVTDG.js";
|
|
18
14
|
import {
|
|
15
|
+
GATEWAY_PORT,
|
|
19
16
|
stopGateway
|
|
20
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-4LYCDS2N.js";
|
|
18
|
+
import "../../chunk-7LVVKQMZ.js";
|
|
19
|
+
import "../../chunk-5EDMGK3W.js";
|
|
21
20
|
import {
|
|
22
21
|
BaseCommand
|
|
23
|
-
} from "../../chunk-
|
|
22
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
24
23
|
import "../../chunk-R56PH7YE.js";
|
|
25
|
-
import "../../chunk-
|
|
24
|
+
import "../../chunk-GQNJO2P2.js";
|
|
25
|
+
import "../../chunk-37LN5O7M.js";
|
|
26
26
|
import "../../chunk-EKJ2CABV.js";
|
|
27
|
-
import "../../chunk-
|
|
27
|
+
import "../../chunk-ZUJBM6HE.js";
|
|
28
28
|
import "../../chunk-W2YERO7E.js";
|
|
29
29
|
import "../../chunk-NSBPE2FW.js";
|
|
30
30
|
|
|
@@ -55,40 +55,31 @@ var HooksUninstall = class extends BaseCommand {
|
|
|
55
55
|
"<%= config.bin %> hooks uninstall"
|
|
56
56
|
];
|
|
57
57
|
async run() {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
const claudeDir = join(process.cwd(), ".claude");
|
|
59
|
+
const cleanups = cleanClaudeSettingsFiles(claudeDir, GATEWAY_PORT);
|
|
60
|
+
if (cleanups.length === 0) {
|
|
61
|
+
this.log("No .claude/settings.json or .claude/settings.local.json found \u2014 nothing to uninstall.");
|
|
61
62
|
return;
|
|
62
63
|
}
|
|
63
|
-
const { settings, recoveredBackup } = readClaudeSettings(configPath);
|
|
64
|
-
if (recoveredBackup) {
|
|
65
|
-
this.log(`[!!] ${configPath} was not valid JSON \u2014 backed up to ${recoveredBackup}; continuing.`);
|
|
66
|
-
}
|
|
67
64
|
let changed = false;
|
|
68
|
-
if (removeClaudeCodeHooks(settings)) {
|
|
69
|
-
this.log("Removed RuleMetric hooks from .claude/settings.json");
|
|
70
|
-
changed = true;
|
|
71
|
-
}
|
|
72
|
-
const env = settings.env;
|
|
73
65
|
let removedProxyEnv = false;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
delete env.NODE_EXTRA_CA_CERTS;
|
|
78
|
-
if (Object.keys(env).length === 0) {
|
|
79
|
-
delete settings.env;
|
|
66
|
+
for (const cleanup of cleanups) {
|
|
67
|
+
if (cleanup.recoveredBackup) {
|
|
68
|
+
this.log(`[!!] ${cleanup.configPath} was not valid JSON \u2014 backed up to ${cleanup.recoveredBackup}; continuing.`);
|
|
80
69
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
70
|
+
if (cleanup.removedHooks) {
|
|
71
|
+
this.log(`Removed RuleMetric hooks from .claude/${cleanup.fileName}`);
|
|
72
|
+
}
|
|
73
|
+
if (cleanup.removedProxyEnv) {
|
|
74
|
+
this.log(`Removed HTTPS_PROXY, NO_PROXY and NODE_EXTRA_CA_CERTS from .claude/${cleanup.fileName}`);
|
|
75
|
+
removedProxyEnv = true;
|
|
76
|
+
}
|
|
77
|
+
if (cleanup.removedStatusline) {
|
|
78
|
+
this.log(`Removed RuleMetric statusline shim from .claude/${cleanup.fileName}`);
|
|
79
|
+
}
|
|
80
|
+
changed = changed || cleanup.changed;
|
|
88
81
|
}
|
|
89
|
-
if (changed) {
|
|
90
|
-
writeClaudeSettingsWithBackup(configPath, settings);
|
|
91
|
-
} else {
|
|
82
|
+
if (!changed) {
|
|
92
83
|
this.log("No hooks or proxy config found \u2014 nothing to uninstall.");
|
|
93
84
|
}
|
|
94
85
|
if (removeCursorHooks(process.cwd())) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/hooks/uninstall.ts"],
|
|
4
|
-
"sourcesContent": ["import { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { spawnSync } from 'node:child_process';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { BaseCommand } from '../../base-command.js';\nimport { stopGateway } from '../../lib/gateway-lifecycle.js';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY,cAAc,qBAAqB;AACxD,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,YAAY;
|
|
4
|
+
"sourcesContent": ["import { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { spawnSync } from 'node:child_process';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { BaseCommand } from '../../base-command.js';\nimport { stopGateway, GATEWAY_PORT } from '../../lib/gateway-lifecycle.js';\nimport { cleanClaudeSettingsFiles, removeCursorHooks, removeCursorUserHooks, removeCopilotHooks, removeAntigravityHooks, removeAntigravityUserHooks, removeVSCodeProxyConfig, uninstallMacOSProxyEnv, removeVSCodeUserProxyConfig, removeCursorUserProxyConfig } from '../../lib/hooks-config.js';\n\nconst CERT_PATH = join(homedir(), '.mitmproxy', 'mitmproxy-ca-cert.pem');\n\n/**\n * Best-effort reverse of install's trustCACert(): remove the mitmproxy root CA\n * from the system trust store. Without this, `hooks uninstall` leaves a MITM\n * root trusted system-wide forever \u2014 a real security residue of a supposedly\n * complete reversal. Runs sudo (symmetric with install, which sudo-trusts it).\n */\nfunction untrustCACert(): boolean {\n if (!existsSync(CERT_PATH)) return false;\n if (process.platform === 'darwin') {\n return spawnSync('sudo', ['security', 'remove-trusted-cert', '-d', CERT_PATH], { stdio: 'inherit' }).status === 0;\n }\n if (process.platform === 'linux') {\n const rm = spawnSync('sudo', ['rm', '-f', '/usr/local/share/ca-certificates/mitmproxy-ca.crt'], { stdio: 'inherit' });\n if (rm.status !== 0) return false;\n return spawnSync('sudo', ['update-ca-certificates', '--fresh'], { stdio: 'inherit' }).status === 0;\n }\n if (process.platform === 'win32') {\n return spawnSync('certutil', ['-delstore', 'Root', 'mitmproxy'], { stdio: 'inherit' }).status === 0;\n }\n return false;\n}\n\nexport default class HooksUninstall extends BaseCommand {\n static override description = 'Remove session tracking hooks from the current project';\n\n static override examples = [\n '<%= config.bin %> hooks uninstall',\n ];\n\n async run(): Promise<void> {\n const claudeDir = join(process.cwd(), '.claude');\n\n // Clean BOTH settings files: legacy installs wrote the shared\n // settings.json; current installs write machine-local state to\n // settings.local.json. Only RuleMetric-owned entries are removed \u2014 the\n // user's own hooks/env/statusLine survive (per-key predicates in\n // removeRulemetricProxyEnv), and a malformed file never crashes uninstall\n // (the one command a user runs precisely because things are broken).\n const cleanups = cleanClaudeSettingsFiles(claudeDir, GATEWAY_PORT);\n if (cleanups.length === 0) {\n this.log('No .claude/settings.json or .claude/settings.local.json found \u2014 nothing to uninstall.');\n return;\n }\n\n let changed = false;\n let removedProxyEnv = false;\n for (const cleanup of cleanups) {\n if (cleanup.recoveredBackup) {\n this.log(`[!!] ${cleanup.configPath} was not valid JSON \u2014 backed up to ${cleanup.recoveredBackup}; continuing.`);\n }\n if (cleanup.removedHooks) {\n this.log(`Removed RuleMetric hooks from .claude/${cleanup.fileName}`);\n }\n if (cleanup.removedProxyEnv) {\n this.log(`Removed HTTPS_PROXY, NO_PROXY and NODE_EXTRA_CA_CERTS from .claude/${cleanup.fileName}`);\n removedProxyEnv = true;\n }\n if (cleanup.removedStatusline) {\n this.log(`Removed RuleMetric statusline shim from .claude/${cleanup.fileName}`);\n }\n changed = changed || cleanup.changed;\n }\n if (!changed) {\n this.log('No hooks or proxy config found \u2014 nothing to uninstall.');\n }\n\n // Remove Cursor hooks\n // Remove Cursor and Copilot hooks\n if (removeCursorHooks(process.cwd())) {\n this.log('Removed RuleMetric hooks from .cursor/hooks.json');\n changed = true;\n }\n if (removeCursorUserHooks()) {\n this.log('Removed RuleMetric hooks from ~/.cursor/hooks.json');\n changed = true;\n }\n\n // Remove Cursor proxy config\n const cursorSettingsPath = join(process.cwd(), '.cursor', 'settings.json');\n if (existsSync(cursorSettingsPath)) {\n try {\n const cursorSettings = JSON.parse(readFileSync(cursorSettingsPath, 'utf-8'));\n if (cursorSettings['http.proxy']?.includes('localhost')) {\n delete cursorSettings['http.proxy'];\n delete cursorSettings['http.proxyStrictSSL'];\n writeFileSync(cursorSettingsPath, JSON.stringify(cursorSettings, null, 2) + '\\n');\n this.log('Removed proxy config from .cursor/settings.json');\n changed = true;\n }\n } catch { /* not valid JSON, skip */ }\n }\n\n // Remove Copilot hooks\n if (removeCopilotHooks(process.cwd())) {\n this.log('Removed RuleMetric hooks from .github/hooks/');\n changed = true;\n }\n\n // Remove Antigravity hooks (workspace + user)\n if (removeAntigravityHooks(process.cwd())) {\n this.log('Removed RuleMetric block from .agents/hooks.json');\n changed = true;\n }\n if (removeAntigravityUserHooks()) {\n this.log('Removed RuleMetric block from ~/.gemini/config/hooks.json');\n changed = true;\n }\n\n // Remove VS Code proxy config (workspace + user settings)\n if (removeVSCodeProxyConfig(process.cwd())) {\n this.log('Removed proxy config from .vscode/settings.json');\n changed = true;\n }\n if (removeVSCodeUserProxyConfig()) {\n this.log('Removed proxy config from VS Code user settings');\n changed = true;\n }\n if (removeCursorUserProxyConfig()) {\n this.log('Removed proxy config from Cursor user settings');\n changed = true;\n }\n\n // Remove macOS LaunchAgent + launchctl env vars\n if (uninstallMacOSProxyEnv()) {\n this.log('Removed HTTPS_PROXY LaunchAgent');\n changed = true;\n }\n\n // Untrust the mitmproxy CA (only if this was a proxy install \u2014 hooks-only\n // users never trusted one, so don't sudo-prompt them). This runs sudo,\n // symmetric with install's sudo-trust; without it a MITM root stays trusted.\n if (removedProxyEnv && existsSync(CERT_PATH)) {\n this.log('Removing the mitmproxy CA from the system trust store (requires sudo)...');\n if (untrustCACert()) {\n this.log('[OK] mitmproxy CA untrusted.');\n } else {\n this.log(`[!!] Could not untrust the CA automatically. Remove it manually:`);\n if (process.platform === 'darwin') {\n this.log(` sudo security remove-trusted-cert -d ${CERT_PATH}`);\n } else if (process.platform === 'linux') {\n this.log(` sudo rm -f /usr/local/share/ca-certificates/mitmproxy-ca.crt && sudo update-ca-certificates --fresh`);\n }\n }\n }\n\n // Stop gateway\n if (stopGateway()) {\n this.log('Gateway stopped.');\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/commands/import.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../chunk-R56PH7YE.js";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../chunk-37LN5O7M.js";
|
|
6
7
|
import "../chunk-EKJ2CABV.js";
|
|
7
8
|
import {
|
|
8
9
|
apiPost
|
|
9
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-ZUJBM6HE.js";
|
|
10
11
|
import "../chunk-W2YERO7E.js";
|
|
11
12
|
import "../chunk-NSBPE2FW.js";
|
|
12
13
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/import.ts"],
|
|
4
4
|
"sourcesContent": ["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../base-command.js';\nimport { apiPost } from '../lib/api-client.js';\nimport type { ImportResult } from '../lib/types.js';\n\nexport default class Import extends BaseCommand {\n static override description = 'Import an existing config file as a RuleMetric instruction';\n\n static override examples = [\n '<%= config.bin %> import .cursorrules',\n '<%= config.bin %> import CLAUDE.md --format claude-md --name \"My Rules\"',\n ];\n\n static override args = {\n file: Args.string({ description: 'Path to file to import', required: true }),\n };\n\n static override flags = {\n format: Flags.string({ description: 'Source format (auto-detected if not provided)' }),\n name: Flags.string({ char: 'n', description: 'Override instruction name' }),\n scope: Flags.string({\n char: 's',\n description: 'Instruction scope',\n options: ['org', 'team', 'project', 'personal'],\n default: 'personal',\n }),\n 'scope-ref': Flags.string({ description: 'Scope reference UUID' }),\n tags: Flags.string({ char: 't', description: 'Comma-separated tags' }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(Import);\n this.requireAuth();\n\n if (!fs.existsSync(args.file)) {\n this.error(`File not found: ${args.file}`);\n }\n\n const content = fs.readFileSync(args.file, 'utf-8');\n const filename = path.basename(args.file);\n\n const body: Record<string, unknown> = {\n content,\n filename,\n scope: flags.scope,\n };\n\n if (flags.format) body.sourceFormat = flags.format;\n if (flags.name) body.name = flags.name;\n if (flags['scope-ref']) body.scopeRef = flags['scope-ref'];\n if (flags.tags) body.tags = flags.tags.split(',').map((t) => t.trim());\n\n const result = await apiPost<ImportResult>('/api/instructions/import', body);\n\n this.log(`Imported ${result.sourceFormat} as instruction: ${result.instruction.name} (${result.instruction.id})`);\n\n if (result.parseWarnings.length > 0) {\n this.warn(`Warnings: ${result.parseWarnings.join(', ')}`);\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAS,MAAM,aAAa;AAK5B,IAAqB,SAArB,MAAqB,gBAAe,YAAY;AAAA,EAC9C,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,OAAO;AAAA,IACrB,MAAM,KAAK,OAAO,EAAE,aAAa,0BAA0B,UAAU,KAAK,CAAC;AAAA,EAC7E;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,QAAQ,MAAM,OAAO,EAAE,aAAa,gDAAgD,CAAC;AAAA,IACrF,MAAM,MAAM,OAAO,EAAE,MAAM,KAAK,aAAa,4BAA4B,CAAC;AAAA,IAC1E,OAAO,MAAM,OAAO;AAAA,MAClB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS,CAAC,OAAO,QAAQ,WAAW,UAAU;AAAA,MAC9C,SAAS;AAAA,IACX,CAAC;AAAA,IACD,aAAa,MAAM,OAAO,EAAE,aAAa,uBAAuB,CAAC;AAAA,IACjE,MAAM,MAAM,OAAO,EAAE,MAAM,KAAK,aAAa,uBAAuB,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,OAAM;AAC/C,SAAK,YAAY;AAEjB,QAAI,CAAI,cAAW,KAAK,IAAI,GAAG;AAC7B,WAAK,MAAM,mBAAmB,KAAK,IAAI,EAAE;AAAA,IAC3C;AAEA,UAAM,UAAa,gBAAa,KAAK,MAAM,OAAO;AAClD,UAAM,WAAgB,cAAS,KAAK,IAAI;AAExC,UAAM,OAAgC;AAAA,MACpC;AAAA,MACA;AAAA,MACA,OAAO,MAAM;AAAA,IACf;AAEA,QAAI,MAAM,OAAQ,MAAK,eAAe,MAAM;AAC5C,QAAI,MAAM,KAAM,MAAK,OAAO,MAAM;AAClC,QAAI,MAAM,WAAW,EAAG,MAAK,WAAW,MAAM,WAAW;AACzD,QAAI,MAAM,KAAM,MAAK,OAAO,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AAErE,UAAM,SAAS,MAAM,QAAsB,4BAA4B,IAAI;AAE3E,SAAK,IAAI,YAAY,OAAO,YAAY,oBAAoB,OAAO,YAAY,IAAI,KAAK,OAAO,YAAY,EAAE,GAAG;AAEhH,QAAI,OAAO,cAAc,SAAS,GAAG;AACnC,WAAK,KAAK,aAAa,OAAO,cAAc,KAAK,IAAI,CAAC,EAAE;AAAA,IAC1D;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import "../../chunk-EKJ2CABV.js";
|
|
7
8
|
import {
|
|
8
9
|
apiPost
|
|
9
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
10
11
|
import "../../chunk-W2YERO7E.js";
|
|
11
12
|
import "../../chunk-NSBPE2FW.js";
|
|
12
13
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/create.ts"],
|
|
4
4
|
"sourcesContent": ["import * as fs from 'node:fs';\nimport { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiPost } from '../../lib/api-client.js';\n\ninterface CreatedInstruction {\n id: string;\n name: string;\n}\n\nexport default class InstructionsCreate extends BaseCommand {\n static override description = 'Create a new instruction';\n\n static override examples = [\n '<%= config.bin %> instructions create ./my-instruction.md --name \"My Rules\"',\n '<%= config.bin %> instructions create ./rules.md -n \"Rules\" -s project',\n ];\n\n static override args = {\n file: Args.string({ description: 'Path to markdown file' }),\n };\n\n static override flags = {\n name: Flags.string({ char: 'n', description: 'Instruction name', required: true }),\n description: Flags.string({ char: 'd', description: 'Instruction description', required: true }),\n scope: Flags.string({\n char: 's',\n description: 'Instruction scope',\n options: ['org', 'team', 'project', 'personal'],\n default: 'personal',\n }),\n 'scope-ref': Flags.string({ description: 'Scope reference UUID' }),\n tags: Flags.string({ char: 't', description: 'Comma-separated tags' }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(InstructionsCreate);\n this.requireAuth();\n\n let content: string;\n\n if (args.file) {\n if (!fs.existsSync(args.file)) {\n this.error(`File not found: ${args.file}`);\n }\n\n content = fs.readFileSync(args.file, 'utf-8');\n } else {\n this.log('No file provided. Paste content (Ctrl+D to finish):');\n const chunks: Buffer[] = [];\n for await (const chunk of process.stdin) {\n chunks.push(chunk as Buffer);\n }\n\n content = Buffer.concat(chunks).toString('utf-8');\n }\n\n const body: Record<string, unknown> = {\n name: flags.name,\n description: flags.description,\n scope: flags.scope,\n content,\n };\n\n if (flags['scope-ref']) {\n body.scopeRef = flags['scope-ref'];\n }\n\n if (flags.tags) {\n body.tags = flags.tags.split(',').map((t) => t.trim());\n }\n\n const result = await apiPost<CreatedInstruction>('/api/instructions', body);\n this.log(`Created instruction: ${result.name} (${result.id})`);\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,SAAS,MAAM,aAAa;AAS5B,IAAqB,qBAArB,MAAqB,4BAA2B,YAAY;AAAA,EAC1D,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,OAAO;AAAA,IACrB,MAAM,KAAK,OAAO,EAAE,aAAa,wBAAwB,CAAC;AAAA,EAC5D;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,MAAM,MAAM,OAAO,EAAE,MAAM,KAAK,aAAa,oBAAoB,UAAU,KAAK,CAAC;AAAA,IACjF,aAAa,MAAM,OAAO,EAAE,MAAM,KAAK,aAAa,2BAA2B,UAAU,KAAK,CAAC;AAAA,IAC/F,OAAO,MAAM,OAAO;AAAA,MAClB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS,CAAC,OAAO,QAAQ,WAAW,UAAU;AAAA,MAC9C,SAAS;AAAA,IACX,CAAC;AAAA,IACD,aAAa,MAAM,OAAO,EAAE,aAAa,uBAAuB,CAAC;AAAA,IACjE,MAAM,MAAM,OAAO,EAAE,MAAM,KAAK,aAAa,uBAAuB,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,mBAAkB;AAC3D,SAAK,YAAY;AAEjB,QAAI;AAEJ,QAAI,KAAK,MAAM;AACb,UAAI,CAAI,cAAW,KAAK,IAAI,GAAG;AAC7B,aAAK,MAAM,mBAAmB,KAAK,IAAI,EAAE;AAAA,MAC3C;AAEA,gBAAa,gBAAa,KAAK,MAAM,OAAO;AAAA,IAC9C,OAAO;AACL,WAAK,IAAI,qDAAqD;AAC9D,YAAM,SAAmB,CAAC;AAC1B,uBAAiB,SAAS,QAAQ,OAAO;AACvC,eAAO,KAAK,KAAe;AAAA,MAC7B;AAEA,gBAAU,OAAO,OAAO,MAAM,EAAE,SAAS,OAAO;AAAA,IAClD;AAEA,UAAM,OAAgC;AAAA,MACpC,MAAM,MAAM;AAAA,MACZ,aAAa,MAAM;AAAA,MACnB,OAAO,MAAM;AAAA,MACb;AAAA,IACF;AAEA,QAAI,MAAM,WAAW,GAAG;AACtB,WAAK,WAAW,MAAM,WAAW;AAAA,IACnC;AAEA,QAAI,MAAM,MAAM;AACd,WAAK,OAAO,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,IACvD;AAEA,UAAM,SAAS,MAAM,QAA4B,qBAAqB,IAAI;AAC1E,SAAK,IAAI,wBAAwB,OAAO,IAAI,KAAK,OAAO,EAAE,GAAG;AAAA,EAC/D;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,14 +3,15 @@ import {
|
|
|
3
3
|
} from "../../chunk-7NYKWN7U.js";
|
|
4
4
|
import {
|
|
5
5
|
BaseCommand
|
|
6
|
-
} from "../../chunk-
|
|
6
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
7
7
|
import "../../chunk-R56PH7YE.js";
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-GQNJO2P2.js";
|
|
9
|
+
import "../../chunk-37LN5O7M.js";
|
|
9
10
|
import "../../chunk-EKJ2CABV.js";
|
|
10
11
|
import {
|
|
11
12
|
apiDelete,
|
|
12
13
|
apiGet
|
|
13
|
-
} from "../../chunk-
|
|
14
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
14
15
|
import "../../chunk-W2YERO7E.js";
|
|
15
16
|
import "../../chunk-NSBPE2FW.js";
|
|
16
17
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/delete.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiGet, apiDelete } from '../../lib/api-client.js';\nimport { validateUuid } from '../../lib/types.js';\nimport type { Instruction } from '../../lib/types.js';\n\nexport default class InstructionsDelete extends BaseCommand {\n static override description = 'Delete (archive) an instruction';\n\n static override examples = [\n '<%= config.bin %> instructions delete <id>',\n '<%= config.bin %> instructions delete <id> --force',\n ];\n\n static override args = {\n id: Args.string({ description: 'Instruction ID', required: true }),\n };\n\n static override flags = {\n force: Flags.boolean({ char: 'f', description: 'Skip confirmation prompt', default: false }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(InstructionsDelete);\n this.requireAuth();\n validateUuid(args.id, 'instruction ID');\n\n const instruction = await apiGet<Instruction>(`/api/instructions/${encodeURIComponent(args.id)}`);\n\n if (!flags.force) {\n const { confirm } = await import('@inquirer/prompts');\n const confirmed = await confirm({\n message: `Are you sure you want to delete \"${instruction.name}\"?`,\n default: false,\n });\n\n if (!confirmed) {\n this.log('Cancelled.');\n return;\n }\n }\n\n await apiDelete(`/api/instructions/${encodeURIComponent(args.id)}`);\n this.log(`Deleted instruction: ${instruction.name}`);\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA,SAAS,MAAM,aAAa;AAM5B,IAAqB,qBAArB,MAAqB,4BAA2B,YAAY;AAAA,EAC1D,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,OAAO;AAAA,IACrB,IAAI,KAAK,OAAO,EAAE,aAAa,kBAAkB,UAAU,KAAK,CAAC;AAAA,EACnE;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,OAAO,MAAM,QAAQ,EAAE,MAAM,KAAK,aAAa,4BAA4B,SAAS,MAAM,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,mBAAkB;AAC3D,SAAK,YAAY;AACjB,iBAAa,KAAK,IAAI,gBAAgB;AAEtC,UAAM,cAAc,MAAM,OAAoB,qBAAqB,mBAAmB,KAAK,EAAE,CAAC,EAAE;AAEhG,QAAI,CAAC,MAAM,OAAO;AAChB,YAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,mBAAmB;AACpD,YAAM,YAAY,MAAM,QAAQ;AAAA,QAC9B,SAAS,oCAAoC,YAAY,IAAI;AAAA,QAC7D,SAAS;AAAA,MACX,CAAC;AAED,UAAI,CAAC,WAAW;AACd,aAAK,IAAI,YAAY;AACrB;AAAA,MACF;AAAA,IACF;AAEA,UAAM,UAAU,qBAAqB,mBAAmB,KAAK,EAAE,CAAC,EAAE;AAClE,SAAK,IAAI,wBAAwB,YAAY,IAAI,EAAE;AAAA,EACrD;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import "../../chunk-EKJ2CABV.js";
|
|
7
8
|
import {
|
|
8
9
|
apiPost
|
|
9
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
10
11
|
import "../../chunk-W2YERO7E.js";
|
|
11
12
|
import "../../chunk-NSBPE2FW.js";
|
|
12
13
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/fork.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiPost } from '../../lib/api-client.js';\n\nexport default class InstructionsFork extends BaseCommand {\n static override description = 'Fork an instruction to your personal scope';\n\n static override examples = [\n '<%= config.bin %> instructions fork <instruction-id>',\n ];\n\n static override args = {\n id: Args.string({ description: 'ID of the instruction to fork', required: true }),\n };\n\n async run(): Promise<void> {\n const { args } = await this.parse(InstructionsFork);\n this.requireAuth();\n\n const result = await apiPost<{ id: string; name: string }>(`/api/instructions/${args.id}/fork`, {});\n this.log(`Forked instruction: ${result.name} (${result.id})`);\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,SAAS,YAAY;AAIrB,IAAqB,mBAArB,MAAqB,0BAAyB,YAAY;AAAA,EACtD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO;AAAA,IACnB,IAAI,KAAK,OAAO,EAAE,aAAa,iCAAiC,UAAU,KAAK,CAAC;AAAA,EACpF;AAAA,EAEA,MAAM,MAAqB;AACvB,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,iBAAgB;AAClD,SAAK,YAAY;AAEjB,UAAM,SAAS,MAAM,QAAsC,qBAAqB,KAAK,EAAE,SAAS,CAAC,CAAC;AAClG,SAAK,IAAI,uBAAuB,OAAO,IAAI,KAAK,OAAO,EAAE,GAAG;AAAA,EAChE;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -7,13 +7,14 @@ import {
|
|
|
7
7
|
} from "../../chunk-BZDKEQKU.js";
|
|
8
8
|
import {
|
|
9
9
|
BaseCommand
|
|
10
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
11
11
|
import "../../chunk-R56PH7YE.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-GQNJO2P2.js";
|
|
13
|
+
import "../../chunk-37LN5O7M.js";
|
|
13
14
|
import "../../chunk-EKJ2CABV.js";
|
|
14
15
|
import {
|
|
15
16
|
apiGet
|
|
16
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
17
18
|
import "../../chunk-W2YERO7E.js";
|
|
18
19
|
import "../../chunk-NSBPE2FW.js";
|
|
19
20
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/get.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiGet } from '../../lib/api-client.js';\nimport { formatDate, formatScope } from '../../lib/output.js';\nimport { validateUuid } from '../../lib/types.js';\nimport type { Instruction } from '../../lib/types.js';\n\nexport default class InstructionsGet extends BaseCommand {\n static override description = 'Get an instruction by ID';\n\n static override examples = [\n '<%= config.bin %> instructions get <id>',\n '<%= config.bin %> instructions get <id> --format raw',\n ];\n\n static override enableJsonFlag = true;\n\n static override args = {\n id: Args.string({ description: 'Instruction ID', required: true }),\n };\n\n static override flags = {\n format: Flags.string({\n char: 'f',\n description: 'Output format',\n options: ['yaml', 'json', 'raw'],\n default: 'yaml',\n }),\n };\n\n async run(): Promise<Instruction> {\n const { args, flags } = await this.parse(InstructionsGet);\n this.requireAuth();\n validateUuid(args.id, 'instruction ID');\n\n const result = await apiGet<Instruction>(`/api/instructions/${encodeURIComponent(args.id)}`);\n\n if (flags.format === 'json') {\n this.log(JSON.stringify(result, null, 2));\n } else if (flags.format === 'raw') {\n this.log(result.content);\n } else {\n this.log(`Name: ${result.name}`);\n this.log(`Description: ${result.description}`);\n this.log(`Scope: ${formatScope(result.scope)}`);\n this.log(`Version: ${result.version}`);\n this.log(`Tags: ${(result.tags ?? []).join(', ') || '(none)'}`);\n this.log(`Created: ${formatDate(result.createdAt)}`);\n this.log(`Updated: ${formatDate(result.updatedAt)}`);\n this.log('');\n this.log('--- Content ---');\n this.log(result.content);\n }\n\n return result;\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,MAAM,aAAa;AAO5B,IAAqB,kBAArB,MAAqB,yBAAwB,YAAY;AAAA,EACvD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,iBAAiB;AAAA,EAEjC,OAAgB,OAAO;AAAA,IACrB,IAAI,KAAK,OAAO,EAAE,aAAa,kBAAkB,UAAU,KAAK,CAAC;AAAA,EACnE;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,QAAQ,MAAM,OAAO;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS,CAAC,QAAQ,QAAQ,KAAK;AAAA,MAC/B,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MAA4B;AAChC,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,gBAAe;AACxD,SAAK,YAAY;AACjB,iBAAa,KAAK,IAAI,gBAAgB;AAEtC,UAAM,SAAS,MAAM,OAAoB,qBAAqB,mBAAmB,KAAK,EAAE,CAAC,EAAE;AAE3F,QAAI,MAAM,WAAW,QAAQ;AAC3B,WAAK,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC1C,WAAW,MAAM,WAAW,OAAO;AACjC,WAAK,IAAI,OAAO,OAAO;AAAA,IACzB,OAAO;AACL,WAAK,IAAI,gBAAgB,OAAO,IAAI,EAAE;AACtC,WAAK,IAAI,gBAAgB,OAAO,WAAW,EAAE;AAC7C,WAAK,IAAI,gBAAgB,YAAY,OAAO,KAAK,CAAC,EAAE;AACpD,WAAK,IAAI,gBAAgB,OAAO,OAAO,EAAE;AACzC,WAAK,IAAI,iBAAiB,OAAO,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,QAAQ,EAAE;AACrE,WAAK,IAAI,gBAAgB,WAAW,OAAO,SAAS,CAAC,EAAE;AACvD,WAAK,IAAI,gBAAgB,WAAW,OAAO,SAAS,CAAC,EAAE;AACvD,WAAK,IAAI,EAAE;AACX,WAAK,IAAI,iBAAiB;AAC1B,WAAK,IAAI,OAAO,OAAO;AAAA,IACzB;AAEA,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,13 +5,14 @@ import {
|
|
|
5
5
|
} from "../../chunk-BZDKEQKU.js";
|
|
6
6
|
import {
|
|
7
7
|
BaseCommand
|
|
8
|
-
} from "../../chunk-
|
|
8
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
9
9
|
import "../../chunk-R56PH7YE.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-GQNJO2P2.js";
|
|
11
|
+
import "../../chunk-37LN5O7M.js";
|
|
11
12
|
import "../../chunk-EKJ2CABV.js";
|
|
12
13
|
import {
|
|
13
14
|
apiGet
|
|
14
|
-
} from "../../chunk-
|
|
15
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
15
16
|
import "../../chunk-W2YERO7E.js";
|
|
16
17
|
import "../../chunk-NSBPE2FW.js";
|
|
17
18
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/list.ts"],
|
|
4
4
|
"sourcesContent": ["import { Flags } from '@oclif/core';\nimport { printTable } from '@oclif/table';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiGet } from '../../lib/api-client.js';\nimport { formatDate, truncate, formatScope } from '../../lib/output.js';\nimport type { InstructionSummary } from '../../lib/types.js';\n\nexport default class InstructionSummarysList extends BaseCommand {\n static override description = 'List your instructions';\n\n static override examples = [\n '<%= config.bin %> instructions list',\n '<%= config.bin %> instructions list --json',\n ];\n\n static override enableJsonFlag = true;\n\n static override flags = {\n format: Flags.string({\n char: 'f',\n description: 'Output format',\n options: ['table', 'json'],\n default: 'table',\n }),\n };\n\n async run(): Promise<InstructionSummary[]> {\n const { flags } = await this.parse(InstructionSummarysList);\n this.requireAuth();\n\n const results = await apiGet<InstructionSummary[]>('/api/instructions');\n\n if (results.length === 0) {\n this.log('No instructions found. Create one with `rulemetric instructions create`.');\n return results;\n }\n\n if (flags.format === 'json') {\n this.log(JSON.stringify(results, null, 2));\n } else {\n printTable({\n data: results.map((i) => ({\n Name: truncate(i.name, 40),\n Scope: formatScope(i.scope),\n Version: i.version,\n Tags: (i.tags ?? []).join(', '),\n Updated: formatDate(i.updatedAt),\n })),\n columns: ['Name', 'Scope', 'Version', 'Tags', 'Updated'],\n });\n }\n\n return results;\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAM3B,IAAqB,0BAArB,MAAqB,iCAAgC,YAAY;AAAA,EAC/D,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,iBAAiB;AAAA,EAEjC,OAAgB,QAAQ;AAAA,IACtB,QAAQ,MAAM,OAAO;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS,CAAC,SAAS,MAAM;AAAA,MACzB,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MAAqC;AACzC,UAAM,EAAE,MAAM,IAAI,MAAM,KAAK,MAAM,wBAAuB;AAC1D,SAAK,YAAY;AAEjB,UAAM,UAAU,MAAM,OAA6B,mBAAmB;AAEtE,QAAI,QAAQ,WAAW,GAAG;AACxB,WAAK,IAAI,0EAA0E;AACnF,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,WAAW,QAAQ;AAC3B,WAAK,IAAI,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAAA,IAC3C,OAAO;AACL,iBAAW;AAAA,QACT,MAAM,QAAQ,IAAI,CAAC,OAAO;AAAA,UACxB,MAAM,SAAS,EAAE,MAAM,EAAE;AAAA,UACzB,OAAO,YAAY,EAAE,KAAK;AAAA,UAC1B,SAAS,EAAE;AAAA,UACX,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,IAAI;AAAA,UAC9B,SAAS,WAAW,EAAE,SAAS;AAAA,QACjC,EAAE;AAAA,QACF,SAAS,CAAC,QAAQ,SAAS,WAAW,QAAQ,SAAS;AAAA,MACzD,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import "../../chunk-EKJ2CABV.js";
|
|
7
8
|
import {
|
|
8
9
|
apiPost
|
|
9
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
10
11
|
import "../../chunk-W2YERO7E.js";
|
|
11
12
|
import "../../chunk-NSBPE2FW.js";
|
|
12
13
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/promote.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiPost } from '../../lib/api-client.js';\n\nexport default class InstructionsPromote extends BaseCommand {\n static override description = 'Promote an instruction to a higher scope (personal \u2192 team \u2192 org)';\n\n static override examples = [\n '<%= config.bin %> instructions promote <id> --scope team --ref <team-id>',\n '<%= config.bin %> instructions promote <id> --scope org --ref <org-id>',\n ];\n\n static override args = {\n id: Args.string({ description: 'ID of the instruction to promote', required: true }),\n };\n\n static override flags = {\n scope: Flags.string({ description: 'Target scope', required: true, options: ['team', 'org'] }),\n ref: Flags.string({ description: 'Target scope ref (team or org ID)', required: true }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(InstructionsPromote);\n this.requireAuth();\n\n const result = await apiPost<{ scope: string; name: string }>(`/api/instructions/${args.id}/promote`, {\n scope: flags.scope,\n scopeRef: flags.ref,\n });\n this.log(`Promoted \"${result.name}\" to ${result.scope} scope`);\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,SAAS,MAAM,aAAa;AAI5B,IAAqB,sBAArB,MAAqB,6BAA4B,YAAY;AAAA,EACzD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACvB;AAAA,IACA;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO;AAAA,IACnB,IAAI,KAAK,OAAO,EAAE,aAAa,oCAAoC,UAAU,KAAK,CAAC;AAAA,EACvF;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACpB,OAAO,MAAM,OAAO,EAAE,aAAa,gBAAgB,UAAU,MAAM,SAAS,CAAC,QAAQ,KAAK,EAAE,CAAC;AAAA,IAC7F,KAAK,MAAM,OAAO,EAAE,aAAa,qCAAqC,UAAU,KAAK,CAAC;AAAA,EAC1F;AAAA,EAEA,MAAM,MAAqB;AACvB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,oBAAmB;AAC5D,SAAK,YAAY;AAEjB,UAAM,SAAS,MAAM,QAAyC,qBAAqB,KAAK,EAAE,YAAY;AAAA,MAClG,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AAAA,IACpB,CAAC;AACD,SAAK,IAAI,aAAa,OAAO,IAAI,QAAQ,OAAO,KAAK,QAAQ;AAAA,EACjE;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import "../../chunk-EKJ2CABV.js";
|
|
7
8
|
import {
|
|
8
9
|
apiPost
|
|
9
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
10
11
|
import "../../chunk-W2YERO7E.js";
|
|
11
12
|
import "../../chunk-NSBPE2FW.js";
|
|
12
13
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/pull.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiPost } from '../../lib/api-client.js';\n\nexport default class InstructionsPull extends BaseCommand {\n static override description = 'Pull upstream changes into a forked instruction';\n\n static override args = {\n id: Args.string({ description: 'ID of the forked instruction', required: true }),\n };\n\n async run(): Promise<void> {\n const { args } = await this.parse(InstructionsPull);\n this.requireAuth();\n\n const result = await apiPost<{ hasConflicts: boolean; merged?: string; instruction?: { name: string } }>(\n `/api/instructions/${args.id}/pull-upstream`,\n {},\n );\n\n if (result.hasConflicts) {\n this.log('Merge conflicts detected. Resolve in the web UI:');\n this.log(result.merged ?? '');\n } else {\n this.log(`Successfully pulled upstream changes into \"${result.instruction?.name}\"`);\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,SAAS,YAAY;AAIrB,IAAqB,mBAArB,MAAqB,0BAAyB,YAAY;AAAA,EACtD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,OAAO;AAAA,IACnB,IAAI,KAAK,OAAO,EAAE,aAAa,gCAAgC,UAAU,KAAK,CAAC;AAAA,EACnF;AAAA,EAEA,MAAM,MAAqB;AACvB,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,iBAAgB;AAClD,SAAK,YAAY;AAEjB,UAAM,SAAS,MAAM;AAAA,MACjB,qBAAqB,KAAK,EAAE;AAAA,MAC5B,CAAC;AAAA,IACL;AAEA,QAAI,OAAO,cAAc;AACrB,WAAK,IAAI,kDAAkD;AAC3D,WAAK,IAAI,OAAO,UAAU,EAAE;AAAA,IAChC,OAAO;AACH,WAAK,IAAI,8CAA8C,OAAO,aAAa,IAAI,GAAG;AAAA,IACtF;AAAA,EACJ;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import "../../chunk-EKJ2CABV.js";
|
|
7
8
|
import {
|
|
8
9
|
apiGet
|
|
9
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
10
11
|
import "../../chunk-W2YERO7E.js";
|
|
11
12
|
import "../../chunk-NSBPE2FW.js";
|
|
12
13
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/upstream.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiGet } from '../../lib/api-client.js';\n\nexport default class InstructionsUpstream extends BaseCommand {\n static override description = 'Check if a forked instruction has upstream updates';\n\n static override args = {\n id: Args.string({ description: 'ID of the forked instruction', required: true }),\n };\n\n async run(): Promise<void> {\n const { args } = await this.parse(InstructionsUpstream);\n this.requireAuth();\n\n const result = await apiGet<{ hasUpdate: boolean; currentVersion: string; upstreamVersion: string; parentName: string }>(\n `/api/instructions/${args.id}/upstream`,\n );\n\n if (result.hasUpdate) {\n this.log(`Upstream update available: ${result.parentName} is at ${result.upstreamVersion} (you have ${result.currentVersion})`);\n this.log(`Run: rulemetric instructions pull ${args.id}`);\n } else {\n this.log('Up to date with upstream.');\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,SAAS,YAAY;AAIrB,IAAqB,uBAArB,MAAqB,8BAA6B,YAAY;AAAA,EAC1D,OAAgB,cAAc;AAAA,EAE9B,OAAgB,OAAO;AAAA,IACnB,IAAI,KAAK,OAAO,EAAE,aAAa,gCAAgC,UAAU,KAAK,CAAC;AAAA,EACnF;AAAA,EAEA,MAAM,MAAqB;AACvB,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,qBAAoB;AACtD,SAAK,YAAY;AAEjB,UAAM,SAAS,MAAM;AAAA,MACjB,qBAAqB,KAAK,EAAE;AAAA,IAChC;AAEA,QAAI,OAAO,WAAW;AAClB,WAAK,IAAI,8BAA8B,OAAO,UAAU,UAAU,OAAO,eAAe,cAAc,OAAO,cAAc,GAAG;AAC9H,WAAK,IAAI,qCAAqC,KAAK,EAAE,EAAE;AAAA,IAC3D,OAAO;AACH,WAAK,IAAI,2BAA2B;AAAA,IACxC;AAAA,EACJ;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,13 +6,14 @@ import {
|
|
|
6
6
|
} from "../../chunk-BZDKEQKU.js";
|
|
7
7
|
import {
|
|
8
8
|
BaseCommand
|
|
9
|
-
} from "../../chunk-
|
|
9
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
10
10
|
import "../../chunk-R56PH7YE.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-GQNJO2P2.js";
|
|
12
|
+
import "../../chunk-37LN5O7M.js";
|
|
12
13
|
import "../../chunk-EKJ2CABV.js";
|
|
13
14
|
import {
|
|
14
15
|
apiGet
|
|
15
|
-
} from "../../chunk-
|
|
16
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
16
17
|
import "../../chunk-W2YERO7E.js";
|
|
17
18
|
import "../../chunk-NSBPE2FW.js";
|
|
18
19
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/instructions/versions.ts"],
|
|
4
4
|
"sourcesContent": ["import { Args } from '@oclif/core';\nimport { printTable } from '@oclif/table';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiGet } from '../../lib/api-client.js';\nimport { formatDate } from '../../lib/output.js';\nimport { validateUuid } from '../../lib/types.js';\nimport type { InstructionVersion } from '../../lib/types.js';\n\nexport default class InstructionsVersions extends BaseCommand {\n static override description = 'List version history for an instruction';\n\n static override examples = ['<%= config.bin %> instructions versions <id>'];\n\n static override enableJsonFlag = true;\n\n static override args = {\n id: Args.string({ description: 'Instruction ID', required: true }),\n };\n\n async run(): Promise<InstructionVersion[]> {\n const { args } = await this.parse(InstructionsVersions);\n this.requireAuth();\n validateUuid(args.id, 'instruction ID');\n\n const versions = await apiGet<InstructionVersion[]>(`/api/instructions/${encodeURIComponent(args.id)}/versions`);\n\n if (versions.length === 0) {\n this.log('No versions found.');\n return versions;\n }\n\n printTable({\n data: versions.map((v) => ({\n Version: String(v.versionNumber),\n 'Change Summary': v.changeSummary ?? '(none)',\n 'Created At': formatDate(v.createdAt),\n })),\n columns: ['Version', 'Change Summary', 'Created At'],\n });\n\n return versions;\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAO3B,IAAqB,uBAArB,MAAqB,8BAA6B,YAAY;AAAA,EAC5D,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW,CAAC,8CAA8C;AAAA,EAE1E,OAAgB,iBAAiB;AAAA,EAEjC,OAAgB,OAAO;AAAA,IACrB,IAAI,KAAK,OAAO,EAAE,aAAa,kBAAkB,UAAU,KAAK,CAAC;AAAA,EACnE;AAAA,EAEA,MAAM,MAAqC;AACzC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,qBAAoB;AACtD,SAAK,YAAY;AACjB,iBAAa,KAAK,IAAI,gBAAgB;AAEtC,UAAM,WAAW,MAAM,OAA6B,qBAAqB,mBAAmB,KAAK,EAAE,CAAC,WAAW;AAE/G,QAAI,SAAS,WAAW,GAAG;AACzB,WAAK,IAAI,oBAAoB;AAC7B,aAAO;AAAA,IACT;AAEA,eAAW;AAAA,MACT,MAAM,SAAS,IAAI,CAAC,OAAO;AAAA,QACzB,SAAS,OAAO,EAAE,aAAa;AAAA,QAC/B,kBAAkB,EAAE,iBAAiB;AAAA,QACrC,cAAc,WAAW,EAAE,SAAS;AAAA,MACtC,EAAE;AAAA,MACF,SAAS,CAAC,WAAW,kBAAkB,YAAY;AAAA,IACrD,CAAC;AAED,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../chunk-R56PH7YE.js";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../chunk-37LN5O7M.js";
|
|
6
7
|
import "../chunk-EKJ2CABV.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-ZUJBM6HE.js";
|
|
8
9
|
import "../chunk-W2YERO7E.js";
|
|
9
10
|
import "../chunk-NSBPE2FW.js";
|
|
10
11
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/launcher.ts"],
|
|
4
4
|
"sourcesContent": ["import { Flags } from '@oclif/core';\nimport { BaseCommand } from '../base-command.js';\n\nexport default class Launcher extends BaseCommand {\n static override description = 'Open the launcher overlay (alias for `dashboard --launcher`)';\n\n static override examples = [\n '<%= config.bin %> launcher',\n '<%= config.bin %> launcher --period today',\n ];\n\n static override flags = {\n period: Flags.string({\n char: 'p',\n default: 'week',\n options: ['today', 'week', '30days', 'month', 'all'],\n description: 'Initial time period for the dashboard panels behind the overlay',\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Launcher);\n const { renderDashboard } = await import('../dashboard/Dashboard.js');\n await renderDashboard(\n flags.period as 'today' | 'week' | '30days' | 'month' | 'all',\n { openLauncher: true },\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAAA,SAAS,aAAa;AAGtB,IAAqB,WAArB,MAAqB,kBAAiB,YAAY;AAAA,EAChD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,QAAQ,MAAM,OAAO;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS,CAAC,SAAS,QAAQ,UAAU,SAAS,KAAK;AAAA,MACnD,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,IAAI,MAAM,KAAK,MAAM,SAAQ;AAC3C,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,2BAA2B;AACpE,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,EAAE,cAAc,KAAK;AAAA,IACvB;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import {
|
|
7
8
|
clearActiveOrg,
|
|
8
9
|
isStale,
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
import {
|
|
13
14
|
ApiError,
|
|
14
15
|
apiGet
|
|
15
|
-
} from "../../chunk-
|
|
16
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
16
17
|
import {
|
|
17
18
|
isAuthenticated
|
|
18
19
|
} from "../../chunk-W2YERO7E.js";
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/commands/org/current.ts"],
|
|
4
4
|
"sourcesContent": ["import { BaseCommand } from '../../base-command.js';\nimport { apiGet, ApiError } from '../../lib/api-client.js';\nimport { isAuthenticated } from '../../lib/auth.js';\nimport {\n readActiveOrg,\n writeActiveOrg,\n clearActiveOrg,\n isStale,\n} from '../../lib/active-org.js';\n\ninterface ProfileResponse {\n id: string;\n email: string | null;\n displayName: string | null;\n activeOrgId: string | null;\n}\n\ninterface Org {\n id: string;\n name: string;\n slug: string;\n role: string;\n}\n\nexport default class OrgCurrent extends BaseCommand {\n static override description = 'Show the current active organization';\n\n static override examples = ['<%= config.bin %> org current'];\n\n async run(): Promise<void> {\n await this.parse(OrgCurrent);\n\n // Env override path \u2014 print and exit. Don't auth-check, don't refresh:\n // the env override is meant to be ephemeral and self-explanatory.\n const envId = process.env.RULEMETRIC_ORG_ID?.trim();\n if (envId) {\n this.log(`${envId} (env override)`);\n return;\n }\n\n // Don't use `requireAuth()` here because it kicks off a background\n // refresh that races our own explicit refresh below. Check auth\n // directly instead.\n if (!isAuthenticated()) {\n this.error('Not logged in. Run `rulemetric auth login` to authenticate.');\n }\n\n let cached = readActiveOrg();\n\n // Stale cache: refresh from /api/profile and look up the slug. If the\n // refresh fails (network, auth), fall back to the cached value rather\n // than telling the user \"no active org\" incorrectly.\n if (cached && isStale(cached)) {\n try {\n const profile = await apiGet<ProfileResponse>('/api/profile');\n if (!profile.activeOrgId) {\n clearActiveOrg();\n cached = null;\n } else if (profile.activeOrgId !== cached.orgId) {\n const orgs = await apiGet<Org[]>('/api/orgs');\n const match = orgs.find((o) => o.id === profile.activeOrgId);\n cached = {\n orgId: profile.activeOrgId,\n orgSlug: match?.slug,\n syncedAt: Date.now(),\n };\n writeActiveOrg(cached);\n } else {\n cached = {\n ...cached,\n syncedAt: Date.now(),\n };\n writeActiveOrg(cached);\n }\n } catch (err) {\n if (!(err instanceof ApiError)) throw err;\n // network/auth errors: keep the stale cache, just print it\n }\n }\n\n if (!cached) {\n this.log('No active organization. Run `rulemetric org switch <slug>`.');\n return;\n }\n\n if (cached.orgSlug) {\n this.log(`${cached.orgSlug} (${cached.orgId})`);\n } else {\n this.log(cached.orgId);\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAqB,aAArB,MAAqB,oBAAmB,YAAY;AAAA,EAClD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW,CAAC,+BAA+B;AAAA,EAE3D,MAAM,MAAqB;AACzB,UAAM,KAAK,MAAM,WAAU;AAI3B,UAAM,QAAQ,QAAQ,IAAI,mBAAmB,KAAK;AAClD,QAAI,OAAO;AACT,WAAK,IAAI,GAAG,KAAK,iBAAiB;AAClC;AAAA,IACF;AAKA,QAAI,CAAC,gBAAgB,GAAG;AACtB,WAAK,MAAM,6DAA6D;AAAA,IAC1E;AAEA,QAAI,SAAS,cAAc;AAK3B,QAAI,UAAU,QAAQ,MAAM,GAAG;AAC7B,UAAI;AACF,cAAM,UAAU,MAAM,OAAwB,cAAc;AAC5D,YAAI,CAAC,QAAQ,aAAa;AACxB,yBAAe;AACf,mBAAS;AAAA,QACX,WAAW,QAAQ,gBAAgB,OAAO,OAAO;AAC/C,gBAAM,OAAO,MAAM,OAAc,WAAW;AAC5C,gBAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,EAAE,OAAO,QAAQ,WAAW;AAC3D,mBAAS;AAAA,YACP,OAAO,QAAQ;AAAA,YACf,SAAS,OAAO;AAAA,YAChB,UAAU,KAAK,IAAI;AAAA,UACrB;AACA,yBAAe,MAAM;AAAA,QACvB,OAAO;AACL,mBAAS;AAAA,YACP,GAAG;AAAA,YACH,UAAU,KAAK,IAAI;AAAA,UACrB;AACA,yBAAe,MAAM;AAAA,QACvB;AAAA,MACF,SAAS,KAAK;AACZ,YAAI,EAAE,eAAe,UAAW,OAAM;AAAA,MAExC;AAAA,IACF;AAEA,QAAI,CAAC,QAAQ;AACX,WAAK,IAAI,6DAA6D;AACtE;AAAA,IACF;AAEA,QAAI,OAAO,SAAS;AAClB,WAAK,IAAI,GAAG,OAAO,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAChD,OAAO;AACL,WAAK,IAAI,OAAO,KAAK;AAAA,IACvB;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseCommand
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2HK7RGZB.js";
|
|
4
4
|
import "../../chunk-R56PH7YE.js";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-GQNJO2P2.js";
|
|
6
|
+
import "../../chunk-37LN5O7M.js";
|
|
6
7
|
import {
|
|
7
8
|
readActiveOrg
|
|
8
9
|
} from "../../chunk-EKJ2CABV.js";
|
|
9
10
|
import {
|
|
10
11
|
apiGet
|
|
11
|
-
} from "../../chunk-
|
|
12
|
+
} from "../../chunk-ZUJBM6HE.js";
|
|
12
13
|
import "../../chunk-W2YERO7E.js";
|
|
13
14
|
import "../../chunk-NSBPE2FW.js";
|
|
14
15
|
|