@intutic/cli 1.10.0 → 2.0.0

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":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,99 @@
1
+ /**
2
+ * `intutic sops push <name>` — one control-plane SOP per file under
3
+ * `.intutic/sops/<name>/*.md`, each carrying that file's own declared
4
+ * `title:`/`risk_tier:`/`version:` front matter rather than the folder's
5
+ * name and two hardcoded constants.
6
+ *
7
+ * Previously concatenated every file in the folder into one blob under one
8
+ * title derived from the folder name, and always sent `risk_tier: 'LOW'`,
9
+ * `version: '1.0.0'` regardless of what the files declared — a folder of
10
+ * five SOPs at five different risk tiers pushed as one LOW-tier SOP whose
11
+ * title named none of them. Per-file push is what the DB plane can actually
12
+ * represent faithfully: `sop_registry` has no concept of "a folder of SOPs,"
13
+ * only individual rows.
14
+ *
15
+ * Front matter is stripped before the body is sent as `markdownContent` —
16
+ * `formatOrgSopConstraints` in `routes/judge.ts` interpolates that field
17
+ * verbatim into the judge's system prompt, and a `---\nrisk_tier: HIGH\n---`
18
+ * block in the middle of it is noise no judge prompt should carry.
19
+ * Declarative enforcement keys (`deny_tools:`, `requires_before:`, ...) have
20
+ * no `sop_registry` column, so they are lost from the DB-plane row exactly
21
+ * as they always were — this fixes what already had somewhere to go
22
+ * (title, risk tier, version), not what does not.
23
+ */
1
24
  export declare function runSopsPush(name: string, opts: {
2
25
  dev?: boolean;
26
+ org?: boolean;
27
+ }): Promise<void>;
28
+ /**
29
+ * `intutic sops pull` — the round trip `push` never had: every workspace SOP
30
+ * on the control plane, written to `.intutic/sops/<slug-of-title>.md` with
31
+ * front matter reconstructed from the row (`title:`, `risk_tier:`,
32
+ * `version:`).
33
+ *
34
+ * Refuses to overwrite a file it did not itself write most recently, unless
35
+ * `--force` is passed. The check is a recorded hash, not a live diff: every
36
+ * file this command writes carries `content_hash: sha256(body)` in its own
37
+ * front matter (see `renderSopFile`), and a later pull compares that
38
+ * recorded value against the CURRENT local body's hash — not against the
39
+ * control plane's. A mismatch means a human edited the file since the last
40
+ * pull; a match means nothing local changed, so pulling fresh content from
41
+ * the plane (which may itself have changed) is safe. A file with no
42
+ * recorded hash at all — hand-authored, or only ever pushed — is treated as
43
+ * unverifiable and always requires `--force`, since overwriting a
44
+ * hand-written SOP the first time this command sees it would be the
45
+ * expensive direction to get wrong.
46
+ */
47
+ export declare function runSopsPull(opts: {
48
+ dev?: boolean;
49
+ force?: boolean;
50
+ }): Promise<void>;
51
+ /**
52
+ * `intutic sops status` — drift between `.intutic/sops/*.md` and the
53
+ * control plane, read-only against the file system (the comparison itself
54
+ * never writes a local file).
55
+ *
56
+ * Matched by title, the same heuristic `pull` uses to name files: neither
57
+ * plane has a stable identifier the other side carries (a pushed file has
58
+ * no `sopId` until after the fact; a filename is not a title). A file
59
+ * `pull` has never touched carries no `content_hash:` marker, so this
60
+ * cannot tell "hand-authored, never pushed" apart from "hand-authored,
61
+ * edited after an old pull" — both report `diverged` rather than guessing.
62
+ *
63
+ * The comparison itself is computed entirely client-side, same as always.
64
+ * What's new: once computed, every matched (non-`push-only`) result is
65
+ * reported to `POST /api/v1/sops/git-drift-report`, best-effort — a live
66
+ * sync-daemon reconciliation loop is still not attempted here (still "a
67
+ * second project", per `apps/docs/guide/gitops-sops.md`), but a human or CI
68
+ * job running this command on a schedule now leaves the compliance probe
69
+ * (`sop_git_drift`) something to read instead of nothing. Report failures
70
+ * never fail the command — the read-only status output above is already
71
+ * complete and correct on its own.
72
+ */
73
+ export declare function runSopsStatus(opts: {
74
+ dev?: boolean;
75
+ }): Promise<void>;
76
+ /**
77
+ * `intutic sops org-list` — every org-wide SOP floor for the caller's own
78
+ * org, the read side of `sops push <name> --org`.
79
+ *
80
+ * `GET /api/v1/workspace/org-sops` resolves `orgId` server-side from the
81
+ * caller's own workspace and answers a bare `{ data: [...] }`, not the
82
+ * `applyListEnvelope` shape most list endpoints use — so this reads
83
+ * `res.data` directly rather than `res.items`.
84
+ */
85
+ export declare function runSopsOrgList(opts: {
86
+ dev?: boolean;
87
+ }): Promise<void>;
88
+ /**
89
+ * `intutic sops org-rm <orgSopId>` — soft-deletes an org-wide SOP floor.
90
+ *
91
+ * `DELETE /api/v1/workspace/org-sops/:orgSopId` requires OWNER/ADMIN on some
92
+ * active workspace under the org, and 404s on both "not found" and
93
+ * "you lack admin access" — deliberately (see `routes/orgSops.ts`), so this
94
+ * command cannot and does not try to distinguish the two.
95
+ */
96
+ export declare function runSopsOrgRm(orgSopId: string, opts: {
97
+ dev?: boolean;
3
98
  }): Promise<void>;
4
99
  //# sourceMappingURL=sops.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sops.d.ts","sourceRoot":"","sources":["../../src/commands/sops.ts"],"names":[],"mappings":"AAmBA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EtF"}
1
+ {"version":3,"file":"sops.d.ts","sourceRoot":"","sources":["../../src/commands/sops.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGrG;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+EzF;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgG1E;AAUD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB3E;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F"}
@@ -1,13 +1,16 @@
1
1
  import * as fs from 'node:fs/promises';
2
+ import { createHash } from 'node:crypto';
2
3
  import { join } from 'node:path';
3
4
  import { log } from '../lib/logger.js';
5
+ import { NOT_AUTHENTICATED } from '../lib/authMessages.js';
4
6
  import { loadCredentials, loadConfig } from '../config/store.js';
5
7
  import { resolveControlPlaneUrl } from '../config/paths.js';
6
8
  import { createApiClient } from '../lib/api.js';
9
+ import { parseSopFile, titleFromFileName, renderSopFile, slugifyTitle } from '../lib/sopFrontMatter.js';
7
10
  async function getClient(dev) {
8
11
  const creds = await loadCredentials();
9
12
  if (!creds) {
10
- log.error('Not authenticated. This command needs an Intutic control plane, which open core does not include. To run the proxy without one: `intutic start`.');
13
+ log.error(NOT_AUTHENTICATED);
11
14
  process.exit(1);
12
15
  }
13
16
  const config = loadConfig();
@@ -15,12 +18,34 @@ async function getClient(dev) {
15
18
  const controlPlaneUrl = resolveControlPlaneUrl(devMode);
16
19
  return createApiClient(controlPlaneUrl, creds.apiKey);
17
20
  }
21
+ /**
22
+ * `intutic sops push <name>` — one control-plane SOP per file under
23
+ * `.intutic/sops/<name>/*.md`, each carrying that file's own declared
24
+ * `title:`/`risk_tier:`/`version:` front matter rather than the folder's
25
+ * name and two hardcoded constants.
26
+ *
27
+ * Previously concatenated every file in the folder into one blob under one
28
+ * title derived from the folder name, and always sent `risk_tier: 'LOW'`,
29
+ * `version: '1.0.0'` regardless of what the files declared — a folder of
30
+ * five SOPs at five different risk tiers pushed as one LOW-tier SOP whose
31
+ * title named none of them. Per-file push is what the DB plane can actually
32
+ * represent faithfully: `sop_registry` has no concept of "a folder of SOPs,"
33
+ * only individual rows.
34
+ *
35
+ * Front matter is stripped before the body is sent as `markdownContent` —
36
+ * `formatOrgSopConstraints` in `routes/judge.ts` interpolates that field
37
+ * verbatim into the judge's system prompt, and a `---\nrisk_tier: HIGH\n---`
38
+ * block in the middle of it is noise no judge prompt should carry.
39
+ * Declarative enforcement keys (`deny_tools:`, `requires_before:`, ...) have
40
+ * no `sop_registry` column, so they are lost from the DB-plane row exactly
41
+ * as they always were — this fixes what already had somewhere to go
42
+ * (title, risk tier, version), not what does not.
43
+ */
18
44
  export async function runSopsPush(name, opts) {
19
45
  log.header(`Intutic — Push SOP: ${name}`);
20
46
  const config = loadConfig();
21
47
  const workspaceRoot = config?.workspaceRoot ?? process.cwd();
22
48
  const sopsDir = join(workspaceRoot, '.intutic', 'sops', name);
23
- // 1. Verify directory exists
24
49
  try {
25
50
  const stat = await fs.stat(sopsDir);
26
51
  if (!stat.isDirectory()) {
@@ -32,57 +57,332 @@ export async function runSopsPush(name, opts) {
32
57
  log.error(`Local SOP folder not found: ${sopsDir}`);
33
58
  process.exit(1);
34
59
  }
35
- // 2. Read all markdown files
36
- let markdownContent = '';
60
+ let mdFiles;
37
61
  try {
38
- const entries = await fs.readdir(sopsDir);
39
- const mdFiles = entries.filter((e) => e.endsWith('.md'));
62
+ mdFiles = (await fs.readdir(sopsDir)).filter((e) => e.endsWith('.md')).sort();
40
63
  if (mdFiles.length === 0) {
41
64
  log.error(`No markdown (.md) files found in local SOP folder: ${sopsDir}`);
42
65
  process.exit(1);
43
66
  }
44
- for (const file of mdFiles) {
45
- const content = await fs.readFile(join(sopsDir, file), 'utf-8');
46
- markdownContent += content + '\n\n';
47
- }
48
67
  }
49
68
  catch (err) {
50
- log.error(`Error reading SOP files: ${err.message}`);
69
+ log.error(`Error reading SOP files: ${err instanceof Error ? err.message : String(err)}`);
51
70
  process.exit(1);
52
71
  }
53
- const cleanContent = markdownContent.trim();
54
- if (!cleanContent) {
55
- log.error('Combined markdown content is empty.');
56
- process.exit(1);
72
+ const client = await getClient(opts.dev);
73
+ let failures = 0;
74
+ for (const file of mdFiles) {
75
+ const raw = await fs.readFile(join(sopsDir, file), 'utf-8');
76
+ const parsed = parseSopFile(raw);
77
+ if (!parsed.body) {
78
+ log.warn(`Skipping ${file}: empty after stripping front matter.`);
79
+ continue;
80
+ }
81
+ const title = parsed.title ?? titleFromFileName(file);
82
+ // --org pushes a mandatory org-wide floor (migration 139) instead of a
83
+ // workspace SOP -- the server derives orgId from the caller's own
84
+ // workspace; this CLI never resolves or supplies one.
85
+ if (opts.org) {
86
+ try {
87
+ const res = await client.post('/api/v1/workspace/org-sops', {
88
+ title,
89
+ markdown_content: parsed.body,
90
+ ...(parsed.riskTier ? { risk_tier: parsed.riskTier } : {}),
91
+ });
92
+ if (res && res.orgSopId) {
93
+ log.info(`${file} → org-wide floor "${title}"`);
94
+ log.field('Org SOP ID', res.orgSopId);
95
+ }
96
+ else {
97
+ log.error(`${file}: failed to create org SOP on the control plane.`);
98
+ failures += 1;
99
+ }
100
+ }
101
+ catch (err) {
102
+ log.error(`${file}: failed to push org SOP: ${err instanceof Error ? err.message : String(err)}`);
103
+ failures += 1;
104
+ }
105
+ continue;
106
+ }
107
+ try {
108
+ const res = await client.post('/api/v1/sops', {
109
+ title,
110
+ markdown_content: parsed.body,
111
+ // Declared, not guessed: an unstated risk_tier lets the DB's own
112
+ // default (MEDIUM) apply rather than this CLI silently choosing
113
+ // LOW for every SOP that never mentioned one.
114
+ risk_tier: parsed.riskTier ?? 'MEDIUM',
115
+ // No front-matter equivalent exists for complexity — nothing in
116
+ // packages/proxy/src/sops.rs's front matter declares it.
117
+ complexity_tier: 'TIER_0',
118
+ ...(parsed.version ? { version: parsed.version } : {}),
119
+ });
120
+ if (res && res.sopId) {
121
+ log.info(`${file} → workspace SOP "${title}"`);
122
+ log.field('SOP ID', res.sopId);
123
+ }
124
+ else {
125
+ log.error(`${file}: failed to create SOP on the control plane.`);
126
+ failures += 1;
127
+ }
128
+ }
129
+ catch (err) {
130
+ log.error(`${file}: failed to push SOP: ${err instanceof Error ? err.message : String(err)}`);
131
+ failures += 1;
132
+ }
57
133
  }
58
- // 3. Format title (e.g. "postgres-migration" -> "Postgres Migration")
59
- const title = name
60
- .split(/[-_]/)
61
- .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
62
- .join(' ');
63
- // 4. Submit to control plane
134
+ log.info(`Pushed ${mdFiles.length - failures}/${mdFiles.length} file(s) from ${sopsDir}.`);
135
+ if (failures > 0)
136
+ process.exit(1);
137
+ }
138
+ /**
139
+ * `intutic sops pull` — the round trip `push` never had: every workspace SOP
140
+ * on the control plane, written to `.intutic/sops/<slug-of-title>.md` with
141
+ * front matter reconstructed from the row (`title:`, `risk_tier:`,
142
+ * `version:`).
143
+ *
144
+ * Refuses to overwrite a file it did not itself write most recently, unless
145
+ * `--force` is passed. The check is a recorded hash, not a live diff: every
146
+ * file this command writes carries `content_hash: sha256(body)` in its own
147
+ * front matter (see `renderSopFile`), and a later pull compares that
148
+ * recorded value against the CURRENT local body's hash — not against the
149
+ * control plane's. A mismatch means a human edited the file since the last
150
+ * pull; a match means nothing local changed, so pulling fresh content from
151
+ * the plane (which may itself have changed) is safe. A file with no
152
+ * recorded hash at all — hand-authored, or only ever pushed — is treated as
153
+ * unverifiable and always requires `--force`, since overwriting a
154
+ * hand-written SOP the first time this command sees it would be the
155
+ * expensive direction to get wrong.
156
+ */
157
+ export async function runSopsPull(opts) {
158
+ log.header('Intutic — Pull SOPs');
159
+ const config = loadConfig();
160
+ const workspaceRoot = config?.workspaceRoot ?? process.cwd();
161
+ const sopsDir = join(workspaceRoot, '.intutic', 'sops');
64
162
  const client = await getClient(opts.dev);
163
+ let items;
65
164
  try {
66
- const res = await client.post('/api/v1/sops', {
67
- title,
68
- markdown_content: cleanContent,
69
- risk_tier: 'LOW',
70
- complexity_tier: 'TIER_0',
71
- version: '1.0.0',
165
+ const res = await client.get('/api/v1/sops?limit=100');
166
+ items = res.items ?? [];
167
+ }
168
+ catch (err) {
169
+ log.error(`Failed to list SOPs: ${err instanceof Error ? err.message : String(err)}`);
170
+ process.exit(1);
171
+ }
172
+ if (items.length === 0) {
173
+ log.info('No SOPs found in this workspace.');
174
+ return;
175
+ }
176
+ await fs.mkdir(sopsDir, { recursive: true });
177
+ let written = 0;
178
+ let conflicts = 0;
179
+ const seenSlugs = new Set();
180
+ for (const item of items) {
181
+ let detail;
182
+ try {
183
+ detail = await client.get(`/api/v1/sops/${item.sopId}`);
184
+ }
185
+ catch (err) {
186
+ log.warn(`${item.title}: failed to fetch content, skipping (${err instanceof Error ? err.message : String(err)})`);
187
+ continue;
188
+ }
189
+ if (!detail.markdownContent) {
190
+ log.warn(`${item.title}: no content on the control plane, skipping.`);
191
+ continue;
192
+ }
193
+ // Two SOPs with the same title collide on the same file. Rather than
194
+ // silently overwriting one with the other, the second gets its sopId
195
+ // suffixed — a visible, if ugly, signal beats a quiet data loss.
196
+ let slug = slugifyTitle(detail.title);
197
+ if (seenSlugs.has(slug))
198
+ slug = `${slug}-${detail.sopId.slice(-6)}`;
199
+ seenSlugs.add(slug);
200
+ const filePath = join(sopsDir, `${slug}.md`);
201
+ const rendered = renderSopFile({
202
+ title: detail.title,
203
+ riskTier: detail.riskTier,
204
+ version: detail.version,
205
+ body: detail.markdownContent.trim(),
72
206
  });
73
- if (res && res.sopId) {
74
- log.info(`Successfully promoted local SOP "${name}" to global Workspace SOP!`);
75
- log.field('SOP ID', res.sopId);
76
- log.field('Title', title);
207
+ const existing = await fs.readFile(filePath, 'utf-8').catch(() => null);
208
+ if (existing !== null && !opts.force) {
209
+ const parsedExisting = parseSopFile(existing);
210
+ const actualLocalHash = createHash('sha256').update(parsedExisting.body, 'utf8').digest('hex');
211
+ const dirty = parsedExisting.contentHash === null || parsedExisting.contentHash !== actualLocalHash;
212
+ if (dirty) {
213
+ log.warn(`${filePath}: locally modified (or never pulled before) — refusing to overwrite. Use --force to pull anyway.`);
214
+ conflicts += 1;
215
+ continue;
216
+ }
217
+ }
218
+ await fs.writeFile(filePath, rendered, 'utf-8');
219
+ written += 1;
220
+ log.info(`${filePath} ← "${detail.title}"`);
221
+ }
222
+ log.info(`Pulled ${written} file(s) into ${sopsDir}${conflicts > 0 ? `, ${conflicts} conflict(s) left untouched` : ''}.`);
223
+ if (conflicts > 0) {
224
+ log.info('Re-run with --force to overwrite locally-modified files.');
225
+ }
226
+ }
227
+ /**
228
+ * `intutic sops status` — drift between `.intutic/sops/*.md` and the
229
+ * control plane, read-only against the file system (the comparison itself
230
+ * never writes a local file).
231
+ *
232
+ * Matched by title, the same heuristic `pull` uses to name files: neither
233
+ * plane has a stable identifier the other side carries (a pushed file has
234
+ * no `sopId` until after the fact; a filename is not a title). A file
235
+ * `pull` has never touched carries no `content_hash:` marker, so this
236
+ * cannot tell "hand-authored, never pushed" apart from "hand-authored,
237
+ * edited after an old pull" — both report `diverged` rather than guessing.
238
+ *
239
+ * The comparison itself is computed entirely client-side, same as always.
240
+ * What's new: once computed, every matched (non-`push-only`) result is
241
+ * reported to `POST /api/v1/sops/git-drift-report`, best-effort — a live
242
+ * sync-daemon reconciliation loop is still not attempted here (still "a
243
+ * second project", per `apps/docs/guide/gitops-sops.md`), but a human or CI
244
+ * job running this command on a schedule now leaves the compliance probe
245
+ * (`sop_git_drift`) something to read instead of nothing. Report failures
246
+ * never fail the command — the read-only status output above is already
247
+ * complete and correct on its own.
248
+ */
249
+ export async function runSopsStatus(opts) {
250
+ log.header('Intutic — SOP Drift Status');
251
+ const config = loadConfig();
252
+ const workspaceRoot = config?.workspaceRoot ?? process.cwd();
253
+ const sopsDir = join(workspaceRoot, '.intutic', 'sops');
254
+ let localFiles;
255
+ try {
256
+ // `guardrail-*.md` are written by `intutic guardrails pull` and have no
257
+ // control-plane SOP to drift against; listing them here would report every
258
+ // one as push-only.
259
+ localFiles = (await fs.readdir(sopsDir)).filter((f) => f.endsWith('.md') && !f.startsWith('guardrail-')).sort();
260
+ }
261
+ catch {
262
+ log.info(`No local SOPs directory at ${sopsDir}.`);
263
+ return;
264
+ }
265
+ if (localFiles.length === 0) {
266
+ log.info(`No .md files in ${sopsDir}.`);
267
+ return;
268
+ }
269
+ const client = await getClient(opts.dev);
270
+ let remoteByTitle;
271
+ try {
272
+ const res = await client.get('/api/v1/sops?limit=100');
273
+ remoteByTitle = new Map((res.items ?? []).map((r) => [r.title, { sopId: r.sopId, contentHash: r.contentHash }]));
274
+ }
275
+ catch (err) {
276
+ log.error(`Failed to fetch workspace SOPs: ${err instanceof Error ? err.message : String(err)}`);
277
+ process.exit(1);
278
+ }
279
+ const counts = { 'in-sync': 0, 'local-ahead': 0, 'remote-ahead': 0, diverged: 0, 'push-only': 0 };
280
+ const driftReport = [];
281
+ for (const file of localFiles) {
282
+ const raw = await fs.readFile(join(sopsDir, file), 'utf-8');
283
+ const parsed = parseSopFile(raw);
284
+ const title = parsed.title ?? titleFromFileName(file);
285
+ const localHash = createHash('sha256').update(parsed.body, 'utf8').digest('hex');
286
+ const remote = remoteByTitle.get(title);
287
+ if (!remote) {
288
+ counts['push-only'] += 1;
289
+ log.field(file, `push-only — no SOP titled "${title}" on the control plane yet`);
290
+ continue;
291
+ }
292
+ const remoteHash = remote.contentHash;
293
+ let status;
294
+ if (remoteHash && localHash === remoteHash) {
295
+ status = 'in-sync';
296
+ }
297
+ else if (parsed.contentHash === localHash) {
298
+ // Unedited since the last pull, but the local hash no longer matches
299
+ // the control plane — the control plane moved, this file did not.
300
+ status = 'remote-ahead';
301
+ }
302
+ else if (parsed.contentHash !== null) {
303
+ // Had a recorded pull hash, and the file no longer matches it — a
304
+ // human edited it since.
305
+ status = 'local-ahead';
77
306
  }
78
307
  else {
79
- log.error('Failed to create SOP on the control plane.');
80
- process.exit(1);
308
+ // No pull marker at all, and it does not match the control plane
309
+ // either: cannot tell "never pulled" apart from "edited since a very
310
+ // old pull" from local information alone.
311
+ status = 'diverged';
312
+ }
313
+ counts[status] += 1;
314
+ driftReport.push({ sop_id: remote.sopId, status });
315
+ const label = {
316
+ 'in-sync': 'in sync',
317
+ 'local-ahead': 'locally modified — `sops push` to publish',
318
+ 'remote-ahead': 'control plane has newer content — `sops pull` to fetch',
319
+ diverged: 'diverges from the control plane, and was never (verifiably) pulled',
320
+ 'push-only': '',
321
+ }[status];
322
+ log.field(file, `${status} — ${label}`);
323
+ }
324
+ log.info(`${counts['in-sync']} in sync, ${counts['local-ahead']} locally modified, ` +
325
+ `${counts['remote-ahead']} behind, ${counts.diverged} diverged, ${counts['push-only']} push-only.`);
326
+ if (driftReport.length > 0) {
327
+ try {
328
+ await client.post('/api/v1/sops/git-drift-report', { results: driftReport });
81
329
  }
330
+ catch {
331
+ // Non-fatal: the status output above is already complete on its own,
332
+ // and a report the control plane never sees just leaves the
333
+ // `sop_git_drift` probe with stale (or absent) data until the next
334
+ // successful run — never a reason to fail this command.
335
+ }
336
+ }
337
+ }
338
+ /**
339
+ * `intutic sops org-list` — every org-wide SOP floor for the caller's own
340
+ * org, the read side of `sops push <name> --org`.
341
+ *
342
+ * `GET /api/v1/workspace/org-sops` resolves `orgId` server-side from the
343
+ * caller's own workspace and answers a bare `{ data: [...] }`, not the
344
+ * `applyListEnvelope` shape most list endpoints use — so this reads
345
+ * `res.data` directly rather than `res.items`.
346
+ */
347
+ export async function runSopsOrgList(opts) {
348
+ log.header('Intutic — Org-Wide SOPs');
349
+ const client = await getClient(opts.dev);
350
+ let items;
351
+ try {
352
+ const res = await client.get('/api/v1/workspace/org-sops');
353
+ items = res.data ?? [];
354
+ }
355
+ catch (err) {
356
+ log.error(`Failed to list org SOPs: ${err instanceof Error ? err.message : String(err)}`);
357
+ process.exit(1);
358
+ }
359
+ if (items.length === 0) {
360
+ log.info('No org-wide SOPs found for this org.');
361
+ return;
362
+ }
363
+ for (const item of items) {
364
+ log.field(item.title, `${item.orgSopId} — risk_tier: ${item.riskTier}`);
365
+ }
366
+ log.info(`${items.length} org-wide SOP(s).`);
367
+ }
368
+ /**
369
+ * `intutic sops org-rm <orgSopId>` — soft-deletes an org-wide SOP floor.
370
+ *
371
+ * `DELETE /api/v1/workspace/org-sops/:orgSopId` requires OWNER/ADMIN on some
372
+ * active workspace under the org, and 404s on both "not found" and
373
+ * "you lack admin access" — deliberately (see `routes/orgSops.ts`), so this
374
+ * command cannot and does not try to distinguish the two.
375
+ */
376
+ export async function runSopsOrgRm(orgSopId, opts) {
377
+ log.header(`Intutic — Remove Org SOP: ${orgSopId}`);
378
+ const client = await getClient(opts.dev);
379
+ try {
380
+ await client.del(`/api/v1/workspace/org-sops/${orgSopId}`);
82
381
  }
83
382
  catch (err) {
84
- log.error(`Failed to push SOP to control plane: ${err.message}`);
383
+ log.error(`Failed to remove org SOP: ${err instanceof Error ? err.message : String(err)}`);
85
384
  process.exit(1);
86
385
  }
386
+ log.info(`Removed org SOP ${orgSopId}.`);
87
387
  }
88
388
  //# sourceMappingURL=sops.js.map