@rulemetric/cli 0.6.3 → 0.6.5
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/{chunk-MUOUV5LY.js → chunk-3QVMIJUL.js} +2 -2
- package/dist/{chunk-6TPJGYFF.js → chunk-5ADHO5QF.js} +2 -2
- package/dist/{chunk-QNSVCSHG.js → chunk-6EMZI4Y3.js} +391 -374
- package/dist/chunk-6EMZI4Y3.js.map +7 -0
- package/dist/{chunk-VIYUIQHW.js → chunk-AHDRN6NE.js} +2 -2
- package/dist/{chunk-CVMRMSV4.js → chunk-BBLTN35F.js} +4 -4
- package/dist/{chunk-IPOO4IGF.js → chunk-CNMWYYSV.js} +2 -2
- package/dist/{chunk-3AEVHOTS.js → chunk-HNZLEEG2.js} +6 -2
- package/dist/chunk-HNZLEEG2.js.map +7 -0
- package/dist/chunk-TX2HKJLA.js +55 -0
- package/dist/chunk-TX2HKJLA.js.map +7 -0
- package/dist/commands/auth/login.js +6 -2
- package/dist/commands/auth/login.js.map +2 -2
- package/dist/commands/auth/signup.js +6 -2
- package/dist/commands/auth/signup.js.map +2 -2
- package/dist/commands/evals/agent.js +5 -5
- package/dist/commands/hooks/install.js +17 -5
- package/dist/commands/hooks/install.js.map +2 -2
- package/dist/commands/service/install.js +4 -0
- package/dist/commands/service/install.js.map +2 -2
- package/dist/lib/agent-loop.js +5 -5
- package/dist/lib/ensure-api-key.js +2 -1
- package/dist/lib/handlers/process-announcement.js +2 -2
- package/dist/lib/handlers/process-changelog.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/manual-tasks.js +2 -2
- package/dist/lib/telemetry.js +14 -0
- package/dist/lib/telemetry.js.map +7 -0
- package/oclif.manifest.json +83 -83
- package/package.json +6 -6
- package/dist/chunk-3AEVHOTS.js.map +0 -7
- package/dist/chunk-QNSVCSHG.js.map +0 -7
- /package/dist/{chunk-MUOUV5LY.js.map → chunk-3QVMIJUL.js.map} +0 -0
- /package/dist/{chunk-6TPJGYFF.js.map → chunk-5ADHO5QF.js.map} +0 -0
- /package/dist/{chunk-VIYUIQHW.js.map → chunk-AHDRN6NE.js.map} +0 -0
- /package/dist/{chunk-CVMRMSV4.js.map → chunk-BBLTN35F.js.map} +0 -0
- /package/dist/{chunk-IPOO4IGF.js.map → chunk-CNMWYYSV.js.map} +0 -0
package/oclif.manifest.json
CHANGED
|
@@ -812,88 +812,6 @@
|
|
|
812
812
|
"recommend.js"
|
|
813
813
|
]
|
|
814
814
|
},
|
|
815
|
-
"crons:list": {
|
|
816
|
-
"aliases": [],
|
|
817
|
-
"args": {},
|
|
818
|
-
"description": "List manually-runnable maintenance tasks",
|
|
819
|
-
"examples": [
|
|
820
|
-
"<%= config.bin %> crons list"
|
|
821
|
-
],
|
|
822
|
-
"flags": {
|
|
823
|
-
"api-url": {
|
|
824
|
-
"description": "Override API base URL",
|
|
825
|
-
"env": "RULEMETRIC_API_URL",
|
|
826
|
-
"hidden": true,
|
|
827
|
-
"name": "api-url",
|
|
828
|
-
"hasDynamicHelp": false,
|
|
829
|
-
"multiple": false,
|
|
830
|
-
"type": "option"
|
|
831
|
-
}
|
|
832
|
-
},
|
|
833
|
-
"hasDynamicHelp": false,
|
|
834
|
-
"hiddenAliases": [],
|
|
835
|
-
"id": "crons:list",
|
|
836
|
-
"pluginAlias": "@rulemetric/cli",
|
|
837
|
-
"pluginName": "@rulemetric/cli",
|
|
838
|
-
"pluginType": "core",
|
|
839
|
-
"strict": true,
|
|
840
|
-
"enableJsonFlag": false,
|
|
841
|
-
"isESM": true,
|
|
842
|
-
"relativePath": [
|
|
843
|
-
"dist",
|
|
844
|
-
"commands",
|
|
845
|
-
"crons",
|
|
846
|
-
"list.js"
|
|
847
|
-
]
|
|
848
|
-
},
|
|
849
|
-
"crons:run": {
|
|
850
|
-
"aliases": [],
|
|
851
|
-
"args": {
|
|
852
|
-
"name": {
|
|
853
|
-
"description": "Task name (run `rulemetric crons list` to see all)",
|
|
854
|
-
"name": "name",
|
|
855
|
-
"required": true
|
|
856
|
-
}
|
|
857
|
-
},
|
|
858
|
-
"description": "Run a maintenance task synchronously, right now",
|
|
859
|
-
"examples": [
|
|
860
|
-
"<%= config.bin %> crons run cron_check_changelog",
|
|
861
|
-
"<%= config.bin %> crons run cron_suggest_instructions --quiet"
|
|
862
|
-
],
|
|
863
|
-
"flags": {
|
|
864
|
-
"api-url": {
|
|
865
|
-
"description": "Override API base URL",
|
|
866
|
-
"env": "RULEMETRIC_API_URL",
|
|
867
|
-
"hidden": true,
|
|
868
|
-
"name": "api-url",
|
|
869
|
-
"hasDynamicHelp": false,
|
|
870
|
-
"multiple": false,
|
|
871
|
-
"type": "option"
|
|
872
|
-
},
|
|
873
|
-
"quiet": {
|
|
874
|
-
"char": "q",
|
|
875
|
-
"description": "Suppress per-line log output; print summary only",
|
|
876
|
-
"name": "quiet",
|
|
877
|
-
"allowNo": false,
|
|
878
|
-
"type": "boolean"
|
|
879
|
-
}
|
|
880
|
-
},
|
|
881
|
-
"hasDynamicHelp": false,
|
|
882
|
-
"hiddenAliases": [],
|
|
883
|
-
"id": "crons:run",
|
|
884
|
-
"pluginAlias": "@rulemetric/cli",
|
|
885
|
-
"pluginName": "@rulemetric/cli",
|
|
886
|
-
"pluginType": "core",
|
|
887
|
-
"strict": true,
|
|
888
|
-
"enableJsonFlag": false,
|
|
889
|
-
"isESM": true,
|
|
890
|
-
"relativePath": [
|
|
891
|
-
"dist",
|
|
892
|
-
"commands",
|
|
893
|
-
"crons",
|
|
894
|
-
"run.js"
|
|
895
|
-
]
|
|
896
|
-
},
|
|
897
815
|
"eval-targets:create": {
|
|
898
816
|
"aliases": [],
|
|
899
817
|
"args": {},
|
|
@@ -2216,6 +2134,88 @@
|
|
|
2216
2134
|
"versions.js"
|
|
2217
2135
|
]
|
|
2218
2136
|
},
|
|
2137
|
+
"crons:list": {
|
|
2138
|
+
"aliases": [],
|
|
2139
|
+
"args": {},
|
|
2140
|
+
"description": "List manually-runnable maintenance tasks",
|
|
2141
|
+
"examples": [
|
|
2142
|
+
"<%= config.bin %> crons list"
|
|
2143
|
+
],
|
|
2144
|
+
"flags": {
|
|
2145
|
+
"api-url": {
|
|
2146
|
+
"description": "Override API base URL",
|
|
2147
|
+
"env": "RULEMETRIC_API_URL",
|
|
2148
|
+
"hidden": true,
|
|
2149
|
+
"name": "api-url",
|
|
2150
|
+
"hasDynamicHelp": false,
|
|
2151
|
+
"multiple": false,
|
|
2152
|
+
"type": "option"
|
|
2153
|
+
}
|
|
2154
|
+
},
|
|
2155
|
+
"hasDynamicHelp": false,
|
|
2156
|
+
"hiddenAliases": [],
|
|
2157
|
+
"id": "crons:list",
|
|
2158
|
+
"pluginAlias": "@rulemetric/cli",
|
|
2159
|
+
"pluginName": "@rulemetric/cli",
|
|
2160
|
+
"pluginType": "core",
|
|
2161
|
+
"strict": true,
|
|
2162
|
+
"enableJsonFlag": false,
|
|
2163
|
+
"isESM": true,
|
|
2164
|
+
"relativePath": [
|
|
2165
|
+
"dist",
|
|
2166
|
+
"commands",
|
|
2167
|
+
"crons",
|
|
2168
|
+
"list.js"
|
|
2169
|
+
]
|
|
2170
|
+
},
|
|
2171
|
+
"crons:run": {
|
|
2172
|
+
"aliases": [],
|
|
2173
|
+
"args": {
|
|
2174
|
+
"name": {
|
|
2175
|
+
"description": "Task name (run `rulemetric crons list` to see all)",
|
|
2176
|
+
"name": "name",
|
|
2177
|
+
"required": true
|
|
2178
|
+
}
|
|
2179
|
+
},
|
|
2180
|
+
"description": "Run a maintenance task synchronously, right now",
|
|
2181
|
+
"examples": [
|
|
2182
|
+
"<%= config.bin %> crons run cron_check_changelog",
|
|
2183
|
+
"<%= config.bin %> crons run cron_suggest_instructions --quiet"
|
|
2184
|
+
],
|
|
2185
|
+
"flags": {
|
|
2186
|
+
"api-url": {
|
|
2187
|
+
"description": "Override API base URL",
|
|
2188
|
+
"env": "RULEMETRIC_API_URL",
|
|
2189
|
+
"hidden": true,
|
|
2190
|
+
"name": "api-url",
|
|
2191
|
+
"hasDynamicHelp": false,
|
|
2192
|
+
"multiple": false,
|
|
2193
|
+
"type": "option"
|
|
2194
|
+
},
|
|
2195
|
+
"quiet": {
|
|
2196
|
+
"char": "q",
|
|
2197
|
+
"description": "Suppress per-line log output; print summary only",
|
|
2198
|
+
"name": "quiet",
|
|
2199
|
+
"allowNo": false,
|
|
2200
|
+
"type": "boolean"
|
|
2201
|
+
}
|
|
2202
|
+
},
|
|
2203
|
+
"hasDynamicHelp": false,
|
|
2204
|
+
"hiddenAliases": [],
|
|
2205
|
+
"id": "crons:run",
|
|
2206
|
+
"pluginAlias": "@rulemetric/cli",
|
|
2207
|
+
"pluginName": "@rulemetric/cli",
|
|
2208
|
+
"pluginType": "core",
|
|
2209
|
+
"strict": true,
|
|
2210
|
+
"enableJsonFlag": false,
|
|
2211
|
+
"isESM": true,
|
|
2212
|
+
"relativePath": [
|
|
2213
|
+
"dist",
|
|
2214
|
+
"commands",
|
|
2215
|
+
"crons",
|
|
2216
|
+
"run.js"
|
|
2217
|
+
]
|
|
2218
|
+
},
|
|
2219
2219
|
"org:current": {
|
|
2220
2220
|
"aliases": [],
|
|
2221
2221
|
"args": {},
|
|
@@ -4066,5 +4066,5 @@
|
|
|
4066
4066
|
]
|
|
4067
4067
|
}
|
|
4068
4068
|
},
|
|
4069
|
-
"version": "0.6.
|
|
4069
|
+
"version": "0.6.5"
|
|
4070
4070
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rulemetric/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -73,9 +73,9 @@
|
|
|
73
73
|
"postgres": "^3.4.0",
|
|
74
74
|
"react": "^19.0.0",
|
|
75
75
|
"zod": "^3.24.0",
|
|
76
|
-
"@rulemetric/
|
|
77
|
-
"@rulemetric/
|
|
78
|
-
"@rulemetric/
|
|
76
|
+
"@rulemetric/hooks": "0.6.5",
|
|
77
|
+
"@rulemetric/proxy": "0.6.5",
|
|
78
|
+
"@rulemetric/skills-registry": "0.6.5"
|
|
79
79
|
},
|
|
80
80
|
"//deps": "Worker (`evals agent`) runtime deps: the @opentelemetry/* set, @sentry/node, and postgres are STATIC top-level imports loaded at worker startup (via bundled @rulemetric/{telemetry,db}) — they MUST be runtime deps or a clean `npm i -g` crashes with ModuleLoadError. `better-sqlite3` is optionalDependencies (below): it's a native module, lazy `require()`'d inside a try/catch (packages/session providers cursor/opencode) so a missing binary degrades gracefully — making it a hard dep would break `npm i -g` on platforms without prebuilt binaries. `resend` stays a devDep: lazy `await import('resend')` guarded by RESEND_API_KEY, which end-user workers never set (provider falls back to noop). Classification verified via import-graph scan of dist/commands/evals/agent.js + per-importer static/lazy check.",
|
|
81
81
|
"optionalDependencies": {
|
|
@@ -93,13 +93,13 @@
|
|
|
93
93
|
"tsx": "^4.19.0",
|
|
94
94
|
"typescript": "^5.9.0",
|
|
95
95
|
"vitest": "^3.2.0",
|
|
96
|
-
"@rulemetric/api": "0.0.1",
|
|
97
96
|
"@rulemetric/core": "0.0.1",
|
|
98
97
|
"@rulemetric/db": "0.0.1",
|
|
99
98
|
"@rulemetric/email": "0.0.1",
|
|
99
|
+
"@rulemetric/session": "0.2.1",
|
|
100
100
|
"@rulemetric/telemetry": "0.0.1",
|
|
101
101
|
"@rulemetric/typescript-config": "0.0.0",
|
|
102
|
-
"@rulemetric/
|
|
102
|
+
"@rulemetric/api": "0.0.1"
|
|
103
103
|
},
|
|
104
104
|
"scripts": {
|
|
105
105
|
"build": "node scripts/build.mjs",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/lib/ensure-api-key.ts"],
|
|
4
|
-
"sourcesContent": ["import { hostname } from 'node:os';\nimport { apiPost } from './api-client.js';\nimport { saveApiKey, loadEnvFileAuth, __resetEnvFileAuthCache } from './auth.js';\n\ninterface CreateKeyResponse {\n key: string;\n name: string;\n}\n\n/**\n * Best-effort: mint a long-lived API key for hooks/proxy auth right after\n * login/signup, so `auth create-key` isn't a separate manual step a new user\n * has to discover. No-ops when a key already exists (env var or on-disk env\n * file) so repeated logins never pile up duplicate keys. NEVER throws \u2014 a key\n * failure must not fail the auth flow; the user can always run\n * `rulemetric auth create-key` by hand.\n */\nexport async function ensureDeviceApiKey(\n log: (msg: string) => void,\n warn: (msg: string) => void,\n): Promise<void> {\n // Re-read the env file we just wrote (login/signup saved the token there).\n __resetEnvFileAuthCache();\n const existing = process.env.RULEMETRIC_API_KEY || loadEnvFileAuth().apiKey;\n if (existing) return;\n\n const name = `${hostname()} (auto)`;\n try {\n const data = await apiPost<CreateKeyResponse>('/api/auth/api-keys', { name });\n saveApiKey(data.key, process.env.RULEMETRIC_API_URL);\n __resetEnvFileAuthCache();\n log(`Created API key \"${name}\" for hooks + proxy auth (saved to your config).`);\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n warn(\n `Could not auto-create an API key (${msg}). Hooks/proxy still work via your ` +\n 'session token; run `rulemetric auth create-key --name \"my-laptop\"` if capture auth fails.',\n );\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;AAAA,SAAS,gBAAgB;AAiBzB,eAAsB,mBACpB,KACA,MACe;AAEf,0BAAwB;AACxB,QAAM,WAAW,QAAQ,IAAI,sBAAsB,gBAAgB,EAAE;AACrE,MAAI,SAAU;AAEd,QAAM,OAAO,GAAG,SAAS,CAAC;AAC1B,MAAI;AACF,UAAM,OAAO,MAAM,QAA2B,sBAAsB,EAAE,KAAK,CAAC;AAC5E,eAAW,KAAK,KAAK,QAAQ,IAAI,kBAAkB;AACnD,4BAAwB;AACxB,QAAI,oBAAoB,IAAI,kDAAkD;AAAA,EAChF,SAAS,KAAK;AACZ,UAAM,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC3D;AAAA,MACE,qCAAqC,GAAG;AAAA,IAE1C;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|