@intutic/cli 1.9.0 → 1.10.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.
Files changed (357) hide show
  1. package/README.md +1 -0
  2. package/dist/cli.js +868 -30
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/attenuate.d.ts +39 -0
  5. package/dist/commands/attenuate.d.ts.map +1 -0
  6. package/dist/commands/attenuate.js +98 -0
  7. package/dist/commands/attenuate.js.map +1 -0
  8. package/dist/commands/budget.d.ts +80 -0
  9. package/dist/commands/budget.d.ts.map +1 -1
  10. package/dist/commands/budget.js +119 -3
  11. package/dist/commands/budget.js.map +1 -1
  12. package/dist/commands/connect.d.ts +10 -0
  13. package/dist/commands/connect.d.ts.map +1 -1
  14. package/dist/commands/connect.js +358 -48
  15. package/dist/commands/connect.js.map +1 -1
  16. package/dist/commands/credentials.d.ts +31 -0
  17. package/dist/commands/credentials.d.ts.map +1 -0
  18. package/dist/commands/credentials.js +134 -0
  19. package/dist/commands/credentials.js.map +1 -0
  20. package/dist/commands/decision.d.ts +37 -0
  21. package/dist/commands/decision.d.ts.map +1 -0
  22. package/dist/commands/decision.js +56 -0
  23. package/dist/commands/decision.js.map +1 -0
  24. package/dist/commands/doctor.d.ts +38 -1
  25. package/dist/commands/doctor.d.ts.map +1 -1
  26. package/dist/commands/doctor.js +228 -18
  27. package/dist/commands/doctor.js.map +1 -1
  28. package/dist/commands/enforce.d.ts +33 -0
  29. package/dist/commands/enforce.d.ts.map +1 -0
  30. package/dist/commands/enforce.js +150 -0
  31. package/dist/commands/enforce.js.map +1 -0
  32. package/dist/commands/enterprise.d.ts +29 -0
  33. package/dist/commands/enterprise.d.ts.map +1 -0
  34. package/dist/commands/enterprise.js +141 -0
  35. package/dist/commands/enterprise.js.map +1 -0
  36. package/dist/commands/env.d.ts +7 -0
  37. package/dist/commands/env.d.ts.map +1 -0
  38. package/dist/commands/env.js +55 -0
  39. package/dist/commands/env.js.map +1 -0
  40. package/dist/commands/exec.d.ts +38 -2
  41. package/dist/commands/exec.d.ts.map +1 -1
  42. package/dist/commands/exec.js +247 -10
  43. package/dist/commands/exec.js.map +1 -1
  44. package/dist/commands/findings.d.ts +84 -0
  45. package/dist/commands/findings.d.ts.map +1 -0
  46. package/dist/commands/findings.js +329 -0
  47. package/dist/commands/findings.js.map +1 -0
  48. package/dist/commands/gateway.d.ts +62 -0
  49. package/dist/commands/gateway.d.ts.map +1 -0
  50. package/dist/commands/gateway.js +298 -0
  51. package/dist/commands/gateway.js.map +1 -0
  52. package/dist/commands/guardrails.d.ts +81 -0
  53. package/dist/commands/guardrails.d.ts.map +1 -0
  54. package/dist/commands/guardrails.js +735 -0
  55. package/dist/commands/guardrails.js.map +1 -0
  56. package/dist/commands/init.d.ts +8 -0
  57. package/dist/commands/init.d.ts.map +1 -1
  58. package/dist/commands/init.js +14 -2
  59. package/dist/commands/init.js.map +1 -1
  60. package/dist/commands/install-daemon.d.ts +70 -3
  61. package/dist/commands/install-daemon.d.ts.map +1 -1
  62. package/dist/commands/install-daemon.js +482 -47
  63. package/dist/commands/install-daemon.js.map +1 -1
  64. package/dist/commands/integrity.d.ts +205 -0
  65. package/dist/commands/integrity.d.ts.map +1 -0
  66. package/dist/commands/integrity.js +620 -0
  67. package/dist/commands/integrity.js.map +1 -0
  68. package/dist/commands/judge.d.ts +31 -0
  69. package/dist/commands/judge.d.ts.map +1 -0
  70. package/dist/commands/judge.js +118 -0
  71. package/dist/commands/judge.js.map +1 -0
  72. package/dist/commands/org.d.ts +31 -0
  73. package/dist/commands/org.d.ts.map +1 -0
  74. package/dist/commands/org.js +159 -0
  75. package/dist/commands/org.js.map +1 -0
  76. package/dist/commands/policy.d.ts +138 -4
  77. package/dist/commands/policy.d.ts.map +1 -1
  78. package/dist/commands/policy.js +538 -97
  79. package/dist/commands/policy.js.map +1 -1
  80. package/dist/commands/predict-cost.d.ts +45 -0
  81. package/dist/commands/predict-cost.d.ts.map +1 -0
  82. package/dist/commands/predict-cost.js +123 -0
  83. package/dist/commands/predict-cost.js.map +1 -0
  84. package/dist/commands/rollback.d.ts +5 -0
  85. package/dist/commands/rollback.d.ts.map +1 -0
  86. package/dist/commands/rollback.js +142 -0
  87. package/dist/commands/rollback.js.map +1 -0
  88. package/dist/commands/routing.d.ts +62 -0
  89. package/dist/commands/routing.d.ts.map +1 -0
  90. package/dist/commands/routing.js +121 -0
  91. package/dist/commands/routing.js.map +1 -0
  92. package/dist/commands/setup.d.ts +62 -0
  93. package/dist/commands/setup.d.ts.map +1 -0
  94. package/dist/commands/setup.js +238 -0
  95. package/dist/commands/setup.js.map +1 -0
  96. package/dist/commands/skill.d.ts +268 -1
  97. package/dist/commands/skill.d.ts.map +1 -1
  98. package/dist/commands/skill.js +744 -39
  99. package/dist/commands/skill.js.map +1 -1
  100. package/dist/commands/sops.d.ts +95 -0
  101. package/dist/commands/sops.d.ts.map +1 -1
  102. package/dist/commands/sops.js +334 -34
  103. package/dist/commands/sops.js.map +1 -1
  104. package/dist/commands/start.d.ts.map +1 -1
  105. package/dist/commands/start.js +1 -18
  106. package/dist/commands/start.js.map +1 -1
  107. package/dist/commands/status.d.ts.map +1 -1
  108. package/dist/commands/status.js +44 -1
  109. package/dist/commands/status.js.map +1 -1
  110. package/dist/commands/team.d.ts +38 -0
  111. package/dist/commands/team.d.ts.map +1 -0
  112. package/dist/commands/team.js +140 -0
  113. package/dist/commands/team.js.map +1 -0
  114. package/dist/commands/traces.d.ts +8 -1
  115. package/dist/commands/traces.d.ts.map +1 -1
  116. package/dist/commands/traces.js +114 -15
  117. package/dist/commands/traces.js.map +1 -1
  118. package/dist/commands/whoami.d.ts.map +1 -1
  119. package/dist/commands/whoami.js +2 -1
  120. package/dist/commands/whoami.js.map +1 -1
  121. package/dist/config/keychain.d.ts +10 -2
  122. package/dist/config/keychain.d.ts.map +1 -1
  123. package/dist/config/keychain.js +83 -14
  124. package/dist/config/keychain.js.map +1 -1
  125. package/dist/config/paths.d.ts +27 -0
  126. package/dist/config/paths.d.ts.map +1 -1
  127. package/dist/config/paths.js +37 -6
  128. package/dist/config/paths.js.map +1 -1
  129. package/dist/config/store.d.ts.map +1 -1
  130. package/dist/config/store.js +19 -3
  131. package/dist/config/store.js.map +1 -1
  132. package/dist/harness/ag2.d.ts +22 -0
  133. package/dist/harness/ag2.d.ts.map +1 -0
  134. package/dist/harness/ag2.js +34 -0
  135. package/dist/harness/ag2.js.map +1 -0
  136. package/dist/harness/agentcore.d.ts +55 -0
  137. package/dist/harness/agentcore.d.ts.map +1 -0
  138. package/dist/harness/agentcore.js +119 -0
  139. package/dist/harness/agentcore.js.map +1 -0
  140. package/dist/harness/agenticOrchestrator.d.ts +52 -0
  141. package/dist/harness/agenticOrchestrator.d.ts.map +1 -0
  142. package/dist/harness/agenticOrchestrator.js +115 -0
  143. package/dist/harness/agenticOrchestrator.js.map +1 -0
  144. package/dist/harness/aiSdkHarness.d.ts +30 -0
  145. package/dist/harness/aiSdkHarness.d.ts.map +1 -0
  146. package/dist/harness/aiSdkHarness.js +51 -0
  147. package/dist/harness/aiSdkHarness.js.map +1 -0
  148. package/dist/harness/aiSdkWorkflow.d.ts +26 -0
  149. package/dist/harness/aiSdkWorkflow.d.ts.map +1 -0
  150. package/dist/harness/aiSdkWorkflow.js +39 -0
  151. package/dist/harness/aiSdkWorkflow.js.map +1 -0
  152. package/dist/harness/autogen.d.ts +24 -0
  153. package/dist/harness/autogen.d.ts.map +1 -0
  154. package/dist/harness/autogen.js +36 -0
  155. package/dist/harness/autogen.js.map +1 -0
  156. package/dist/harness/base.js.map +1 -1
  157. package/dist/harness/continue.d.ts.map +1 -1
  158. package/dist/harness/continue.js +2 -1
  159. package/dist/harness/continue.js.map +1 -1
  160. package/dist/harness/crewai.d.ts +15 -0
  161. package/dist/harness/crewai.d.ts.map +1 -0
  162. package/dist/harness/crewai.js +26 -0
  163. package/dist/harness/crewai.js.map +1 -0
  164. package/dist/harness/detector.d.ts +1 -1
  165. package/dist/harness/detector.d.ts.map +1 -1
  166. package/dist/harness/detector.js +47 -1
  167. package/dist/harness/detector.js.map +1 -1
  168. package/dist/harness/dsh.d.ts +19 -0
  169. package/dist/harness/dsh.d.ts.map +1 -0
  170. package/dist/harness/dsh.js +93 -0
  171. package/dist/harness/dsh.js.map +1 -0
  172. package/dist/harness/eve.d.ts +40 -0
  173. package/dist/harness/eve.d.ts.map +1 -0
  174. package/dist/harness/eve.js +67 -0
  175. package/dist/harness/eve.js.map +1 -0
  176. package/dist/harness/googleAdk.d.ts +18 -0
  177. package/dist/harness/googleAdk.d.ts.map +1 -0
  178. package/dist/harness/googleAdk.js +29 -0
  179. package/dist/harness/googleAdk.js.map +1 -0
  180. package/dist/harness/goose.d.ts.map +1 -1
  181. package/dist/harness/goose.js +5 -1
  182. package/dist/harness/goose.js.map +1 -1
  183. package/dist/harness/grok.d.ts +16 -0
  184. package/dist/harness/grok.d.ts.map +1 -0
  185. package/dist/harness/grok.js +78 -0
  186. package/dist/harness/grok.js.map +1 -0
  187. package/dist/harness/jsSdkGatedAdapter.d.ts +102 -0
  188. package/dist/harness/jsSdkGatedAdapter.d.ts.map +1 -0
  189. package/dist/harness/jsSdkGatedAdapter.js +139 -0
  190. package/dist/harness/jsSdkGatedAdapter.js.map +1 -0
  191. package/dist/harness/langchain.d.ts +22 -0
  192. package/dist/harness/langchain.d.ts.map +1 -0
  193. package/dist/harness/langchain.js +33 -0
  194. package/dist/harness/langchain.js.map +1 -0
  195. package/dist/harness/langgraph.d.ts +22 -0
  196. package/dist/harness/langgraph.d.ts.map +1 -0
  197. package/dist/harness/langgraph.js +80 -0
  198. package/dist/harness/langgraph.js.map +1 -0
  199. package/dist/harness/mastra.d.ts +21 -0
  200. package/dist/harness/mastra.d.ts.map +1 -0
  201. package/dist/harness/mastra.js +33 -0
  202. package/dist/harness/mastra.js.map +1 -0
  203. package/dist/harness/muse.d.ts +22 -0
  204. package/dist/harness/muse.d.ts.map +1 -0
  205. package/dist/harness/muse.js +92 -0
  206. package/dist/harness/muse.js.map +1 -0
  207. package/dist/harness/n8n.d.ts.map +1 -1
  208. package/dist/harness/n8n.js +36 -11
  209. package/dist/harness/n8n.js.map +1 -1
  210. package/dist/harness/openaiAgents.d.ts +40 -0
  211. package/dist/harness/openaiAgents.d.ts.map +1 -0
  212. package/dist/harness/openaiAgents.js +107 -0
  213. package/dist/harness/openaiAgents.js.map +1 -0
  214. package/dist/harness/opencode.d.ts +24 -0
  215. package/dist/harness/opencode.d.ts.map +1 -0
  216. package/dist/harness/opencode.js +97 -0
  217. package/dist/harness/opencode.js.map +1 -0
  218. package/dist/harness/pydanticAi.d.ts +19 -0
  219. package/dist/harness/pydanticAi.d.ts.map +1 -0
  220. package/dist/harness/pydanticAi.js +30 -0
  221. package/dist/harness/pydanticAi.js.map +1 -0
  222. package/dist/harness/sdkGatedAdapter.d.ts +55 -0
  223. package/dist/harness/sdkGatedAdapter.d.ts.map +1 -0
  224. package/dist/harness/sdkGatedAdapter.js +85 -0
  225. package/dist/harness/sdkGatedAdapter.js.map +1 -0
  226. package/dist/harness/smolagents.d.ts +22 -0
  227. package/dist/harness/smolagents.d.ts.map +1 -0
  228. package/dist/harness/smolagents.js +33 -0
  229. package/dist/harness/smolagents.js.map +1 -0
  230. package/dist/harness/strands.d.ts +22 -0
  231. package/dist/harness/strands.d.ts.map +1 -0
  232. package/dist/harness/strands.js +35 -0
  233. package/dist/harness/strands.js.map +1 -0
  234. package/dist/harness/trueforge.d.ts +25 -0
  235. package/dist/harness/trueforge.d.ts.map +1 -0
  236. package/dist/harness/trueforge.js +40 -0
  237. package/dist/harness/trueforge.js.map +1 -0
  238. package/dist/harness/types.d.ts.map +1 -1
  239. package/dist/harness/types.js +70 -0
  240. package/dist/harness/types.js.map +1 -1
  241. package/dist/harness/vercelAiSdk.d.ts +31 -0
  242. package/dist/harness/vercelAiSdk.d.ts.map +1 -0
  243. package/dist/harness/vercelAiSdk.js +44 -0
  244. package/dist/harness/vercelAiSdk.js.map +1 -0
  245. package/dist/harness/xirp.d.ts +43 -0
  246. package/dist/harness/xirp.d.ts.map +1 -0
  247. package/dist/harness/xirp.js +95 -0
  248. package/dist/harness/xirp.js.map +1 -0
  249. package/dist/lib/api.d.ts +68 -0
  250. package/dist/lib/api.d.ts.map +1 -1
  251. package/dist/lib/api.js +108 -67
  252. package/dist/lib/api.js.map +1 -1
  253. package/dist/lib/authMessages.d.ts +19 -0
  254. package/dist/lib/authMessages.d.ts.map +1 -0
  255. package/dist/lib/authMessages.js +20 -0
  256. package/dist/lib/authMessages.js.map +1 -0
  257. package/dist/lib/binaryChecksum.d.ts +12 -0
  258. package/dist/lib/binaryChecksum.d.ts.map +1 -0
  259. package/dist/lib/binaryChecksum.js +45 -0
  260. package/dist/lib/binaryChecksum.js.map +1 -0
  261. package/dist/lib/binaryOnPath.d.ts +24 -0
  262. package/dist/lib/binaryOnPath.d.ts.map +1 -0
  263. package/dist/lib/binaryOnPath.js +31 -0
  264. package/dist/lib/binaryOnPath.js.map +1 -0
  265. package/dist/lib/caTrust.d.ts +69 -0
  266. package/dist/lib/caTrust.d.ts.map +1 -0
  267. package/dist/lib/caTrust.js +169 -0
  268. package/dist/lib/caTrust.js.map +1 -0
  269. package/dist/lib/ciscoScanner.d.ts +178 -0
  270. package/dist/lib/ciscoScanner.d.ts.map +1 -0
  271. package/dist/lib/ciscoScanner.js +292 -0
  272. package/dist/lib/ciscoScanner.js.map +1 -0
  273. package/dist/lib/decisionsLogRefresh.d.ts +28 -0
  274. package/dist/lib/decisionsLogRefresh.d.ts.map +1 -0
  275. package/dist/lib/decisionsLogRefresh.js +54 -0
  276. package/dist/lib/decisionsLogRefresh.js.map +1 -0
  277. package/dist/lib/deviceReport.d.ts +26 -0
  278. package/dist/lib/deviceReport.d.ts.map +1 -0
  279. package/dist/lib/deviceReport.js +55 -0
  280. package/dist/lib/deviceReport.js.map +1 -0
  281. package/dist/lib/elevation.d.ts +58 -0
  282. package/dist/lib/elevation.d.ts.map +1 -0
  283. package/dist/lib/elevation.js +83 -0
  284. package/dist/lib/elevation.js.map +1 -0
  285. package/dist/lib/enforcementState.d.ts +69 -0
  286. package/dist/lib/enforcementState.d.ts.map +1 -0
  287. package/dist/lib/enforcementState.js +113 -0
  288. package/dist/lib/enforcementState.js.map +1 -0
  289. package/dist/lib/ensureValkey.d.ts.map +1 -1
  290. package/dist/lib/ensureValkey.js +2 -2
  291. package/dist/lib/ensureValkey.js.map +1 -1
  292. package/dist/lib/envInjector.d.ts.map +1 -1
  293. package/dist/lib/envInjector.js +22 -4
  294. package/dist/lib/envInjector.js.map +1 -1
  295. package/dist/lib/gitHooks.d.ts +7 -2
  296. package/dist/lib/gitHooks.d.ts.map +1 -1
  297. package/dist/lib/gitHooks.js +180 -13
  298. package/dist/lib/gitHooks.js.map +1 -1
  299. package/dist/lib/gracefulShutdown.d.ts +37 -0
  300. package/dist/lib/gracefulShutdown.d.ts.map +1 -0
  301. package/dist/lib/gracefulShutdown.js +57 -0
  302. package/dist/lib/gracefulShutdown.js.map +1 -0
  303. package/dist/lib/graphIdentity.d.ts +80 -0
  304. package/dist/lib/graphIdentity.d.ts.map +1 -0
  305. package/dist/lib/graphIdentity.js +120 -0
  306. package/dist/lib/graphIdentity.js.map +1 -0
  307. package/dist/lib/localTraces.d.ts +61 -0
  308. package/dist/lib/localTraces.d.ts.map +1 -0
  309. package/dist/lib/localTraces.js +173 -0
  310. package/dist/lib/localTraces.js.map +1 -0
  311. package/dist/lib/mdmManifest.d.ts +73 -0
  312. package/dist/lib/mdmManifest.d.ts.map +1 -0
  313. package/dist/lib/mdmManifest.js +190 -0
  314. package/dist/lib/mdmManifest.js.map +1 -0
  315. package/dist/lib/onboarding.d.ts.map +1 -1
  316. package/dist/lib/onboarding.js +60 -1
  317. package/dist/lib/onboarding.js.map +1 -1
  318. package/dist/lib/otelPropagation.d.ts +26 -0
  319. package/dist/lib/otelPropagation.d.ts.map +1 -0
  320. package/dist/lib/otelPropagation.js +40 -0
  321. package/dist/lib/otelPropagation.js.map +1 -0
  322. package/dist/lib/policySnapshot.d.ts +92 -0
  323. package/dist/lib/policySnapshot.d.ts.map +1 -0
  324. package/dist/lib/policySnapshot.js +173 -0
  325. package/dist/lib/policySnapshot.js.map +1 -0
  326. package/dist/lib/process.d.ts.map +1 -1
  327. package/dist/lib/process.js +60 -0
  328. package/dist/lib/process.js.map +1 -1
  329. package/dist/lib/providerProbe.d.ts +28 -0
  330. package/dist/lib/providerProbe.d.ts.map +1 -0
  331. package/dist/lib/providerProbe.js +57 -0
  332. package/dist/lib/providerProbe.js.map +1 -0
  333. package/dist/lib/proxyBinary.d.ts +19 -0
  334. package/dist/lib/proxyBinary.d.ts.map +1 -0
  335. package/dist/lib/proxyBinary.js +30 -0
  336. package/dist/lib/proxyBinary.js.map +1 -0
  337. package/dist/lib/sandbox/firecracker.d.ts +89 -0
  338. package/dist/lib/sandbox/firecracker.d.ts.map +1 -0
  339. package/dist/lib/sandbox/firecracker.js +135 -0
  340. package/dist/lib/sandbox/firecracker.js.map +1 -0
  341. package/dist/lib/sandbox/index.d.ts +34 -0
  342. package/dist/lib/sandbox/index.d.ts.map +1 -0
  343. package/dist/lib/sandbox/index.js +54 -0
  344. package/dist/lib/sandbox/index.js.map +1 -0
  345. package/dist/lib/sandbox/oci.d.ts +38 -0
  346. package/dist/lib/sandbox/oci.d.ts.map +1 -0
  347. package/dist/lib/sandbox/oci.js +108 -0
  348. package/dist/lib/sandbox/oci.js.map +1 -0
  349. package/dist/lib/sandbox/types.d.ts +48 -0
  350. package/dist/lib/sandbox/types.d.ts.map +1 -0
  351. package/dist/lib/sandbox/types.js +12 -0
  352. package/dist/lib/sandbox/types.js.map +1 -0
  353. package/dist/lib/sopFrontMatter.d.ts +50 -0
  354. package/dist/lib/sopFrontMatter.d.ts.map +1 -0
  355. package/dist/lib/sopFrontMatter.js +129 -0
  356. package/dist/lib/sopFrontMatter.js.map +1 -0
  357. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * OpenTelemetry trace-context propagation for outbound CLI HTTP calls.
3
+ *
4
+ * Deliberately lighter than the NodeSDK instrumentation used by
5
+ * control-plane/gateway-daemon/mcp-daemon: `intutic connect` is a daemon
6
+ * every open-core user installs, and the auto-instrumentations-node
7
+ * meta-package is heavy (dozens of instrumented libraries the CLI doesn't
8
+ * use) for a benefit only the minority who run a collector would see.
9
+ *
10
+ * This does the propagation half only -- the same class of fix as
11
+ * packages/proxy/src/otel_propagation.rs's `install_default_propagator`:
12
+ * register the W3C Trace Context propagator globally, and if this process
13
+ * was itself launched with an active trace context (a parent process sets
14
+ * TRACEPARENT/TRACESTATE -- the standard way an already-instrumented
15
+ * pipeline hands context to a child process), carry it forward onto every
16
+ * outbound request to the control plane. No local spans are created here.
17
+ *
18
+ * @module
19
+ */
20
+ /**
21
+ * Mutates `headers` in place, adding `traceparent`/`tracestate` if this
22
+ * process has an active trace context to propagate. A no-op (adds nothing)
23
+ * when the CLI was launched standalone, which is the common case.
24
+ */
25
+ export declare function injectTraceHeaders(headers: Record<string, string>): void;
26
+ //# sourceMappingURL=otelPropagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otelPropagation.d.ts","sourceRoot":"","sources":["../../src/lib/otelPropagation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAaH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAMxE"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * OpenTelemetry trace-context propagation for outbound CLI HTTP calls.
3
+ *
4
+ * Deliberately lighter than the NodeSDK instrumentation used by
5
+ * control-plane/gateway-daemon/mcp-daemon: `intutic connect` is a daemon
6
+ * every open-core user installs, and the auto-instrumentations-node
7
+ * meta-package is heavy (dozens of instrumented libraries the CLI doesn't
8
+ * use) for a benefit only the minority who run a collector would see.
9
+ *
10
+ * This does the propagation half only -- the same class of fix as
11
+ * packages/proxy/src/otel_propagation.rs's `install_default_propagator`:
12
+ * register the W3C Trace Context propagator globally, and if this process
13
+ * was itself launched with an active trace context (a parent process sets
14
+ * TRACEPARENT/TRACESTATE -- the standard way an already-instrumented
15
+ * pipeline hands context to a child process), carry it forward onto every
16
+ * outbound request to the control plane. No local spans are created here.
17
+ *
18
+ * @module
19
+ */
20
+ import { propagation, context } from '@opentelemetry/api';
21
+ import { W3CTraceContextPropagator } from '@opentelemetry/core';
22
+ propagation.setGlobalPropagator(new W3CTraceContextPropagator());
23
+ /** The active context for this process, seeded once from TRACEPARENT/TRACESTATE env vars if present. */
24
+ const processContext = propagation.extract(context.active(), process.env, {
25
+ get: (carrier, key) => carrier[key.toUpperCase()] ?? carrier[key],
26
+ keys: (carrier) => Object.keys(carrier),
27
+ });
28
+ /**
29
+ * Mutates `headers` in place, adding `traceparent`/`tracestate` if this
30
+ * process has an active trace context to propagate. A no-op (adds nothing)
31
+ * when the CLI was launched standalone, which is the common case.
32
+ */
33
+ export function injectTraceHeaders(headers) {
34
+ propagation.inject(processContext, headers, {
35
+ set: (carrier, key, value) => {
36
+ carrier[key] = value;
37
+ },
38
+ });
39
+ }
40
+ //# sourceMappingURL=otelPropagation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otelPropagation.js","sourceRoot":"","sources":["../../src/lib/otelPropagation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,WAAW,CAAC,mBAAmB,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAA;AAEhE,wGAAwG;AACxG,MAAM,cAAc,GAAY,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE;IACjF,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC;IACjE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;CACxC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA+B;IAChE,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE;QAC1C,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Reader for `~/.intutic/hooks/policy-snapshot.rules`.
3
+ *
4
+ * The sync daemon compiles a workspace's policy into that file and every gate
5
+ * reads it — the five bash gates and the eight JS ones inline the same parse
6
+ * (`services/sync-daemon/src/harness/gateBody.ts`, `intuticLoadSnapshot`), and
7
+ * the LangGraph gate ports it to Python. This is the reader `intutic doctor`
8
+ * needs, and it exists because the answer it produces is not "is there a file":
9
+ * a snapshot whose digest or workspace id does not check out has **every**
10
+ * dynamic rule dropped by every gate, which looks from the outside exactly like
11
+ * a healthy quiet workspace.
12
+ *
13
+ * The states, and what each one costs:
14
+ *
15
+ * ok — rules are loaded and enforced
16
+ * stale — older than the staleness window, still fully enforced. Alerting
17
+ * only: if rules expired into permissiveness, "kill the daemon and
18
+ * wait" would be a supported way to disarm governance.
19
+ * empty — parsed, but no rules. The writer always ships the destructive
20
+ * tier, so zero rules means the compile produced nothing.
21
+ * invalid — digest or workspace mismatch. The gates drop the dynamic tier.
22
+ * absent — no file. The compiled floor still applies; nothing else does.
23
+ *
24
+ * Kept deliberately faithful rather than improved: a reader that disagrees with
25
+ * the gates would have `doctor` report a state no gate is in.
26
+ *
27
+ * @module
28
+ */
29
+ /**
30
+ * Staleness window, in days.
31
+ *
32
+ * Mirrors `SNAPSHOT_STALE_AFTER_DAYS` in
33
+ * `services/sync-daemon/src/harness/gateBody.ts`. Not imported from there:
34
+ * `gateBody` is neither in `@intutic/sync-daemon`'s index nor in its `exports`
35
+ * map, so the CLI cannot reach it. `snapshotStaleAfterDaysMatchesGate` in the
36
+ * test beside this file re-reads the daemon's source and fails if the two ever
37
+ * disagree.
38
+ */
39
+ export declare const SNAPSHOT_STALE_AFTER_DAYS = 7;
40
+ /** Filename the writer produces and every gate opens. */
41
+ export declare const SNAPSHOT_RULES_FILE = "policy-snapshot.rules";
42
+ export type SnapshotState = 'absent' | 'ok' | 'stale' | 'empty' | 'invalid';
43
+ export interface PolicySnapshotHealth {
44
+ state: SnapshotState;
45
+ /** The `#digest` header, or `'none'` when the file carries no digest. */
46
+ digest: string;
47
+ /** The `#workspace` header, or `''`. */
48
+ workspaceId: string;
49
+ /** The `#generated` header, or `''`. */
50
+ generatedAt: string;
51
+ /** Whole days since `generatedAt`; 0 when it is absent or unparseable. */
52
+ ageDays: number;
53
+ /** Rules a gate would load — after `invalid` empties the tier. */
54
+ ruleCount: number;
55
+ /** Rules dropped because their regex would not compile. */
56
+ droppedRules: number;
57
+ /** Where the snapshot was looked for. */
58
+ path: string;
59
+ }
60
+ /**
61
+ * The path the gates read.
62
+ *
63
+ * `homedir()`, not `getIntuticDir()`: the daemon writes to
64
+ * `homedir()/.intutic/hooks` on every platform and the emitted gates hardcode
65
+ * the same, so resolving through the Windows `%APPDATA%` branch would have
66
+ * doctor inspect a directory nothing writes to and report every snapshot absent.
67
+ */
68
+ export declare function resolveSnapshotRulesPath(): string;
69
+ /**
70
+ * Classify snapshot text exactly as `intuticLoadSnapshot` does.
71
+ *
72
+ * `expectedWorkspaceId` is compared only when both sides have one — an
73
+ * unauthenticated machine cannot tell whose snapshot this is, and guessing
74
+ * would report a healthy snapshot as invalid.
75
+ */
76
+ export declare function parsePolicySnapshot(text: string, opts?: {
77
+ expectedWorkspaceId?: string;
78
+ now?: Date;
79
+ path?: string;
80
+ }): PolicySnapshotHealth;
81
+ /**
82
+ * Read and classify the snapshot on this machine.
83
+ *
84
+ * Any read failure is `absent`, matching the gates: they cannot distinguish a
85
+ * missing file from an unreadable one either, and both leave them enforcing the
86
+ * compiled floor alone.
87
+ */
88
+ export declare function readPolicySnapshot(opts?: {
89
+ expectedWorkspaceId?: string;
90
+ now?: Date;
91
+ }): PolicySnapshotHealth;
92
+ //# sourceMappingURL=policySnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policySnapshot.d.ts","sourceRoot":"","sources":["../../src/lib/policySnapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAE1C,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,0BAA0B,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;AAE3E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,aAAa,CAAA;IACpB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,oBAAoB,CAiFtB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GACtD,oBAAoB,CAkBtB"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Reader for `~/.intutic/hooks/policy-snapshot.rules`.
3
+ *
4
+ * The sync daemon compiles a workspace's policy into that file and every gate
5
+ * reads it — the five bash gates and the eight JS ones inline the same parse
6
+ * (`services/sync-daemon/src/harness/gateBody.ts`, `intuticLoadSnapshot`), and
7
+ * the LangGraph gate ports it to Python. This is the reader `intutic doctor`
8
+ * needs, and it exists because the answer it produces is not "is there a file":
9
+ * a snapshot whose digest or workspace id does not check out has **every**
10
+ * dynamic rule dropped by every gate, which looks from the outside exactly like
11
+ * a healthy quiet workspace.
12
+ *
13
+ * The states, and what each one costs:
14
+ *
15
+ * ok — rules are loaded and enforced
16
+ * stale — older than the staleness window, still fully enforced. Alerting
17
+ * only: if rules expired into permissiveness, "kill the daemon and
18
+ * wait" would be a supported way to disarm governance.
19
+ * empty — parsed, but no rules. The writer always ships the destructive
20
+ * tier, so zero rules means the compile produced nothing.
21
+ * invalid — digest or workspace mismatch. The gates drop the dynamic tier.
22
+ * absent — no file. The compiled floor still applies; nothing else does.
23
+ *
24
+ * Kept deliberately faithful rather than improved: a reader that disagrees with
25
+ * the gates would have `doctor` report a state no gate is in.
26
+ *
27
+ * @module
28
+ */
29
+ import { readFileSync } from 'node:fs';
30
+ import { homedir } from 'node:os';
31
+ import { join } from 'node:path';
32
+ import { createHash } from 'node:crypto';
33
+ /**
34
+ * Staleness window, in days.
35
+ *
36
+ * Mirrors `SNAPSHOT_STALE_AFTER_DAYS` in
37
+ * `services/sync-daemon/src/harness/gateBody.ts`. Not imported from there:
38
+ * `gateBody` is neither in `@intutic/sync-daemon`'s index nor in its `exports`
39
+ * map, so the CLI cannot reach it. `snapshotStaleAfterDaysMatchesGate` in the
40
+ * test beside this file re-reads the daemon's source and fails if the two ever
41
+ * disagree.
42
+ */
43
+ export const SNAPSHOT_STALE_AFTER_DAYS = 7;
44
+ /** Filename the writer produces and every gate opens. */
45
+ export const SNAPSHOT_RULES_FILE = 'policy-snapshot.rules';
46
+ /**
47
+ * The path the gates read.
48
+ *
49
+ * `homedir()`, not `getIntuticDir()`: the daemon writes to
50
+ * `homedir()/.intutic/hooks` on every platform and the emitted gates hardcode
51
+ * the same, so resolving through the Windows `%APPDATA%` branch would have
52
+ * doctor inspect a directory nothing writes to and report every snapshot absent.
53
+ */
54
+ export function resolveSnapshotRulesPath() {
55
+ const override = process.env.INTUTIC_SNAPSHOT_RULES;
56
+ if (override && override.length > 0)
57
+ return override;
58
+ return join(homedir(), '.intutic', 'hooks', SNAPSHOT_RULES_FILE);
59
+ }
60
+ /**
61
+ * Classify snapshot text exactly as `intuticLoadSnapshot` does.
62
+ *
63
+ * `expectedWorkspaceId` is compared only when both sides have one — an
64
+ * unauthenticated machine cannot tell whose snapshot this is, and guessing
65
+ * would report a healthy snapshot as invalid.
66
+ */
67
+ export function parsePolicySnapshot(text, opts = {}) {
68
+ const out = {
69
+ state: 'ok',
70
+ digest: 'none',
71
+ workspaceId: '',
72
+ generatedAt: '',
73
+ ageDays: 0,
74
+ ruleCount: 0,
75
+ droppedRules: 0,
76
+ path: opts.path ?? resolveSnapshotRulesPath(),
77
+ };
78
+ const lines = text.split('\n');
79
+ for (const line of lines) {
80
+ if (line.startsWith('#digest ')) {
81
+ out.digest = line.slice(8).trim();
82
+ continue;
83
+ }
84
+ if (line.startsWith('#workspace ')) {
85
+ out.workspaceId = line.slice(11).trim();
86
+ continue;
87
+ }
88
+ if (line.startsWith('#generated ')) {
89
+ out.generatedAt = line.slice(11).trim();
90
+ continue;
91
+ }
92
+ if (!line || line.startsWith('#'))
93
+ continue;
94
+ // Column order is `RULES_COLUMNS`: id, severity, flags, subject, reason,
95
+ // source. A short record or a record with no pattern is skipped silently by
96
+ // the gates, so it is skipped here — counting it would report rules that
97
+ // enforce nothing.
98
+ const f = line.split('\t');
99
+ if (f.length < 6 || !f[5])
100
+ continue;
101
+ try {
102
+ new RegExp(f[5], f[2] === 'i' ? 'i' : '');
103
+ }
104
+ catch {
105
+ // A rule that will not compile is dropped, not fatal — the compiled floor
106
+ // is unaffected. Counted, because a silently shrinking rule set is the
107
+ // thing worth telling the user about.
108
+ out.droppedRules += 1;
109
+ continue;
110
+ }
111
+ out.ruleCount += 1;
112
+ }
113
+ // Integrity, cheapest failure first. A digest nobody recomputes is a comment;
114
+ // a workspace id nobody compares means workspace A's rules get enforced on B's
115
+ // machine, with B's audit events attributing A's policy to B.
116
+ const body = lines.filter((l) => l && l.charAt(0) !== '#').join('\n');
117
+ const actual = createHash('sha256').update(body).digest('hex').slice(0, 32);
118
+ if (out.digest !== 'none' && actual !== out.digest)
119
+ out.state = 'invalid';
120
+ if (out.state === 'ok' &&
121
+ out.workspaceId &&
122
+ opts.expectedWorkspaceId &&
123
+ out.workspaceId !== opts.expectedWorkspaceId) {
124
+ out.state = 'invalid';
125
+ }
126
+ if (out.state === 'ok' && out.ruleCount === 0)
127
+ out.state = 'empty';
128
+ // The dynamic tier is additive, so dropping it returns to yesterday's
129
+ // behaviour rather than opening a hole. Reported as zero rules because zero is
130
+ // what the gates will have.
131
+ if (out.state === 'invalid')
132
+ out.ruleCount = 0;
133
+ if (out.state === 'ok' && out.generatedAt) {
134
+ const t = Date.parse(out.generatedAt);
135
+ if (!Number.isNaN(t)) {
136
+ // Not clamped at zero: a negative age means the snapshot is dated in the
137
+ // future, which is a clock-skew fault worth seeing rather than rounding
138
+ // away.
139
+ out.ageDays = Math.floor(((opts.now?.getTime() ?? Date.now()) - t) / 86_400_000);
140
+ if (out.ageDays > SNAPSHOT_STALE_AFTER_DAYS)
141
+ out.state = 'stale';
142
+ }
143
+ }
144
+ return out;
145
+ }
146
+ /**
147
+ * Read and classify the snapshot on this machine.
148
+ *
149
+ * Any read failure is `absent`, matching the gates: they cannot distinguish a
150
+ * missing file from an unreadable one either, and both leave them enforcing the
151
+ * compiled floor alone.
152
+ */
153
+ export function readPolicySnapshot(opts = {}) {
154
+ const path = resolveSnapshotRulesPath();
155
+ let text;
156
+ try {
157
+ text = readFileSync(path, 'utf-8');
158
+ }
159
+ catch {
160
+ return {
161
+ state: 'absent',
162
+ digest: 'none',
163
+ workspaceId: '',
164
+ generatedAt: '',
165
+ ageDays: 0,
166
+ ruleCount: 0,
167
+ droppedRules: 0,
168
+ path,
169
+ };
170
+ }
171
+ return parsePolicySnapshot(text, { ...opts, path });
172
+ }
173
+ //# sourceMappingURL=policySnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policySnapshot.js","sourceRoot":"","sources":["../../src/lib/policySnapshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/lib/process.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;CAChB;AAsED;;;;GAIG;AACH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B5G;AAiBD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,EAAE,CAuBzD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/lib/process.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;CAChB;AAkID;;;;GAIG;AACH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B5G;AAiBD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,EAAE,CAuBzD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C"}
@@ -70,6 +70,66 @@ const PROCESS_SIGNATURES = [
70
70
  name: 'Antigravity',
71
71
  patterns: [/\bantigravity\b/i],
72
72
  },
73
+ {
74
+ name: 'Muse Code',
75
+ // See services/sync-daemon/src/lib/processPoller.ts's copy of this table
76
+ // for the full reasoning — this codebase's two independent process-list
77
+ // scanners (this one and the sync daemon's) intentionally carry the same
78
+ // signature set; this entry was missing here until it was flagged as a
79
+ // real drift between the two copies.
80
+ patterns: [/\bmuse\b/],
81
+ },
82
+ {
83
+ name: 'Grok Build',
84
+ // See services/sync-daemon/src/lib/processPoller.ts's copy of this table
85
+ // for the full false-positive reasoning — `grok` is a short, common
86
+ // word, so this is anchored on it appearing as an invoked COMMAND NAME
87
+ // (whole line, leading word, or right after a path separator) rather
88
+ // than a bare `\bgrok\b`, which would trip on the word appearing
89
+ // anywhere in an unrelated argument.
90
+ patterns: [/(^|[/\\\s])grok(\s|$)/],
91
+ },
92
+ {
93
+ name: 'OpenCode',
94
+ // See services/sync-daemon/src/lib/processPoller.ts's copy of this table
95
+ // — anchored on the invoked command name like `grok`, since `opencode`
96
+ // can appear in arguments and paths. `opencode2` is the 2.x binary name.
97
+ patterns: [/(^|[/\\\s])opencode2?(\s|$)/],
98
+ },
99
+ {
100
+ name: 'dsh',
101
+ // See services/sync-daemon/src/lib/processPoller.ts's copy of this table
102
+ // for the full false-positive reasoning — `dsh` is even shorter and more
103
+ // collision-prone than `grok`, so it's anchored the same way: only when
104
+ // it appears as an invoked COMMAND NAME, never merely present inside a
105
+ // longer token. Also matches the npm package name directly
106
+ // (`@deepseek-ai/dsh`), which `npx`/a locally-run bin often surfaces
107
+ // verbatim in a process list before the resolved binary name does.
108
+ patterns: [/(^|[/\\\s])dsh(\s|$)/, /@deepseek-ai\/dsh\b/],
109
+ },
110
+ {
111
+ name: 'Xirp',
112
+ // Xirp is a macOS `.app`, not a CLI binary — matched on its app bundle
113
+ // path the same way Cursor.app/Claude.app/Windsurf.app are above, not
114
+ // the bare-word CLI pattern grok/muse needed. NOT independently
115
+ // verified against a real Xirp install (macOS-only beta, no public
116
+ // download available in this environment — see xirp.ts's module doc and
117
+ // TD-390). See services/sync-daemon/src/lib/processPoller.ts's
118
+ // `detectTmuxParentedAgents` for a SEPARATE, weaker, probabilistic
119
+ // signal (a tmux-parented claude/codex/gemini process) this flat
120
+ // process-list scan has no parent-PID data to produce on its own.
121
+ patterns: [/\/Xirp\.app\//i],
122
+ },
123
+ {
124
+ name: 'Agentic Orchestrator',
125
+ // Unlike Xirp, `agentico` IS a CLI binary invoked by name — confirmed by
126
+ // downloading and running the real released binary during this
127
+ // integration's research (see agenticOrchestrator.ts's module doc). Same
128
+ // anchoring discipline as `grok` above: only when it appears as an
129
+ // invoked COMMAND NAME (whole line, leading word, or right after a path
130
+ // separator), never merely present inside a longer token.
131
+ patterns: [/(^|[/\\\s])agentico(\s|$)/],
132
+ },
73
133
  ];
74
134
  /**
75
135
  * Get the raw process list from the operating system.
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/lib/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/lib/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * CLI-side provider credential verification (LLD #70, model catalog &
3
+ * cohort wizard).
4
+ *
5
+ * `buildVerificationProbe`/`classifyProbeResponse` in `@intutic/shared-types`
6
+ * describe WHAT request proves a credential works; this is the CLI's
7
+ * executor. Unlike the control plane's equivalent
8
+ * (`services/control-plane/src/lib/providerVerify.ts`), which probes a
9
+ * credential already stored in Valkey, the CLI legitimately holds the raw
10
+ * key the operator just typed, in memory, before it is ever sent anywhere —
11
+ * so it probes with that value directly.
12
+ *
13
+ * @module
14
+ */
15
+ import { type ProbeVerdict } from '@intutic/shared-types';
16
+ export interface ProviderProbeOutcome {
17
+ status: ProbeVerdict | 'unsupported';
18
+ httpStatus?: number;
19
+ detail: string;
20
+ }
21
+ /**
22
+ * Verify a credential the caller holds locally (not yet, or not necessarily,
23
+ * saved anywhere). `fields` matches the provider's registry field shape,
24
+ * e.g. `{apiKey: '...'}` for Anthropic, `{apiKey, endpoint, deploymentName}`
25
+ * for Azure OpenAI.
26
+ */
27
+ export declare function probeProviderCredential(providerId: string, fields: Record<string, string>, timeoutMs?: number): Promise<ProviderProbeOutcome>;
28
+ //# sourceMappingURL=providerProbe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerProbe.d.ts","sourceRoot":"","sources":["../../src/lib/providerProbe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAwE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAE/H,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,SAAS,SAAS,GACjB,OAAO,CAAC,oBAAoB,CAAC,CAoC/B"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * CLI-side provider credential verification (LLD #70, model catalog &
3
+ * cohort wizard).
4
+ *
5
+ * `buildVerificationProbe`/`classifyProbeResponse` in `@intutic/shared-types`
6
+ * describe WHAT request proves a credential works; this is the CLI's
7
+ * executor. Unlike the control plane's equivalent
8
+ * (`services/control-plane/src/lib/providerVerify.ts`), which probes a
9
+ * credential already stored in Valkey, the CLI legitimately holds the raw
10
+ * key the operator just typed, in memory, before it is ever sent anywhere —
11
+ * so it probes with that value directly.
12
+ *
13
+ * @module
14
+ */
15
+ import { buildVerificationProbe, classifyProbeResponse, getProviderDefinition } from '@intutic/shared-types';
16
+ /**
17
+ * Verify a credential the caller holds locally (not yet, or not necessarily,
18
+ * saved anywhere). `fields` matches the provider's registry field shape,
19
+ * e.g. `{apiKey: '...'}` for Anthropic, `{apiKey, endpoint, deploymentName}`
20
+ * for Azure OpenAI.
21
+ */
22
+ export async function probeProviderCredential(providerId, fields, timeoutMs = 10_000) {
23
+ const def = getProviderDefinition(providerId);
24
+ if (!def) {
25
+ return { status: 'unsupported', detail: `Unknown provider '${providerId}'` };
26
+ }
27
+ const probe = buildVerificationProbe(providerId, fields);
28
+ if (!probe) {
29
+ return {
30
+ status: 'unsupported',
31
+ detail: `${def.displayName} cannot be verified automatically yet — double-check the credential by hand`,
32
+ };
33
+ }
34
+ try {
35
+ const res = await fetch(probe.url, {
36
+ method: probe.method,
37
+ headers: probe.headers,
38
+ ...(probe.body ? { body: probe.body } : {}),
39
+ signal: AbortSignal.timeout(timeoutMs),
40
+ });
41
+ const verdict = classifyProbeResponse(res.status);
42
+ return {
43
+ status: verdict,
44
+ httpStatus: res.status,
45
+ detail: verdict === 'valid'
46
+ ? `${def.displayName} credential looks valid`
47
+ : verdict === 'invalid'
48
+ ? `${def.displayName} rejected the credential (HTTP ${res.status})`
49
+ : `${def.displayName} returned HTTP ${res.status} — could not confirm either way`,
50
+ };
51
+ }
52
+ catch (err) {
53
+ const message = err instanceof Error ? err.message : String(err);
54
+ return { status: 'unknown', detail: `Could not reach ${def.displayName} to verify: ${message}` };
55
+ }
56
+ }
57
+ //# sourceMappingURL=providerProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerProbe.js","sourceRoot":"","sources":["../../src/lib/providerProbe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAqB,MAAM,uBAAuB,CAAA;AAQ/H;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,MAA8B,EAC9B,SAAS,GAAG,MAAM;IAElB,MAAM,GAAG,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,UAAU,GAAG,EAAE,CAAA;IAC9E,CAAC;IAED,MAAM,KAAK,GAAG,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,6EAA6E;SACxG,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACvC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,MAAM,EACJ,OAAO,KAAK,OAAO;gBACjB,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,yBAAyB;gBAC7C,CAAC,CAAC,OAAO,KAAK,SAAS;oBACrB,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,kCAAkC,GAAG,CAAC,MAAM,GAAG;oBACnE,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,kBAAkB,GAAG,CAAC,MAAM,iCAAiC;SACxF,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,WAAW,eAAe,OAAO,EAAE,EAAE,CAAA;IAClG,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Resolve the `intutic-proxy` native binary path.
3
+ *
4
+ * The proxy launcher installs a version-pinned binary under
5
+ * `~/.intutic/bin/intutic-proxy-<version>`; if that is absent we fall back to
6
+ * `intutic-proxy` on PATH (the shim that downloads on first run). Shared by
7
+ * `intutic start` and `intutic enforce`, both of which spawn the binary.
8
+ *
9
+ * @module
10
+ */
11
+ /**
12
+ * The version-pinned binary if present, else null. Version-specific on purpose:
13
+ * a stale unversioned binary from an older CLI simply is not found, so the
14
+ * launcher downloads the right one.
15
+ */
16
+ export declare function localProxyBinary(): string | null;
17
+ /** The binary to spawn: the pinned one, or the PATH shim as a fallback. */
18
+ export declare function resolveProxyBinary(): string;
19
+ //# sourceMappingURL=proxyBinary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyBinary.d.ts","sourceRoot":"","sources":["../../src/lib/proxyBinary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAIhD;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Resolve the `intutic-proxy` native binary path.
3
+ *
4
+ * The proxy launcher installs a version-pinned binary under
5
+ * `~/.intutic/bin/intutic-proxy-<version>`; if that is absent we fall back to
6
+ * `intutic-proxy` on PATH (the shim that downloads on first run). Shared by
7
+ * `intutic start` and `intutic enforce`, both of which spawn the binary.
8
+ *
9
+ * @module
10
+ */
11
+ import * as node_path from 'node:path';
12
+ import * as node_fs from 'node:fs';
13
+ import { createRequire } from 'node:module';
14
+ import { getIntuticDir } from '../config/paths.js';
15
+ const { version } = createRequire(import.meta.url)('../../package.json');
16
+ /**
17
+ * The version-pinned binary if present, else null. Version-specific on purpose:
18
+ * a stale unversioned binary from an older CLI simply is not found, so the
19
+ * launcher downloads the right one.
20
+ */
21
+ export function localProxyBinary() {
22
+ const ext = process.platform === 'win32' ? '.exe' : '';
23
+ const candidate = node_path.join(getIntuticDir(), 'bin', `intutic-proxy-${version}${ext}`);
24
+ return node_fs.existsSync(candidate) ? candidate : null;
25
+ }
26
+ /** The binary to spawn: the pinned one, or the PATH shim as a fallback. */
27
+ export function resolveProxyBinary() {
28
+ return localProxyBinary() ?? 'intutic-proxy';
29
+ }
30
+ //# sourceMappingURL=proxyBinary.js.map