@yiaany/ghostapi 0.1.7 → 0.1.8

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 (323) hide show
  1. package/CHANGELOG.md +42 -2
  2. package/CONTRIBUTING.md +119 -117
  3. package/LICENSE +21 -21
  4. package/README.md +208 -185
  5. package/SECURITY.md +53 -37
  6. package/dist/actions/gateway.d.ts +179 -0
  7. package/dist/actions/gateway.js +514 -0
  8. package/dist/actions/gateway.js.map +1 -0
  9. package/dist/actions/index.d.ts +2 -0
  10. package/dist/actions/index.js +2 -0
  11. package/dist/actions/index.js.map +1 -0
  12. package/dist/ai/aiClient.js +4 -4
  13. package/dist/ai/aiClient.js.map +1 -1
  14. package/dist/ai/aiGenerator.d.ts +2 -2
  15. package/dist/ai/aiGenerator.js +21 -72
  16. package/dist/ai/aiGenerator.js.map +1 -1
  17. package/dist/ai/prompts.js +51 -51
  18. package/dist/ai/prompts.js.map +1 -1
  19. package/dist/approvals/approvalInbox.d.ts +150 -0
  20. package/dist/approvals/approvalInbox.js +412 -0
  21. package/dist/approvals/approvalInbox.js.map +1 -0
  22. package/dist/approvals/index.d.ts +2 -0
  23. package/dist/approvals/index.js +2 -0
  24. package/dist/approvals/index.js.map +1 -0
  25. package/dist/behavior/behaviorStore.d.ts +2 -0
  26. package/dist/behavior/behaviorStore.js +50 -46
  27. package/dist/behavior/behaviorStore.js.map +1 -1
  28. package/dist/cache/index.d.ts +2 -0
  29. package/dist/cache/index.js +58 -14
  30. package/dist/cache/index.js.map +1 -1
  31. package/dist/cli/index.js +438 -58
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/openUrl.d.ts +10 -0
  34. package/dist/cli/openUrl.js +31 -0
  35. package/dist/cli/openUrl.js.map +1 -0
  36. package/dist/cli/parser.d.ts +155 -0
  37. package/dist/cli/parser.js +504 -2
  38. package/dist/cli/parser.js.map +1 -1
  39. package/dist/config/dataPaths.d.ts +31 -0
  40. package/dist/config/dataPaths.js +45 -0
  41. package/dist/config/dataPaths.js.map +1 -0
  42. package/dist/config/localConfig.d.ts +1 -2
  43. package/dist/config/localConfig.js +27 -21
  44. package/dist/config/localConfig.js.map +1 -1
  45. package/dist/config/serverConfig.d.ts +2 -0
  46. package/dist/config/serverConfig.js +8 -1
  47. package/dist/config/serverConfig.js.map +1 -1
  48. package/dist/contracts/contract.d.ts +76 -0
  49. package/dist/contracts/contract.js +603 -0
  50. package/dist/contracts/contract.js.map +1 -0
  51. package/dist/contracts/index.d.ts +2 -0
  52. package/dist/contracts/index.js +2 -0
  53. package/dist/contracts/index.js.map +1 -0
  54. package/dist/credentials/credentialBroker.d.ts +207 -0
  55. package/dist/credentials/credentialBroker.js +588 -0
  56. package/dist/credentials/credentialBroker.js.map +1 -0
  57. package/dist/credentials/index.d.ts +2 -0
  58. package/dist/credentials/index.js +2 -0
  59. package/dist/credentials/index.js.map +1 -0
  60. package/dist/dashboard/app.js +685 -615
  61. package/dist/dashboard/index.html +13 -7
  62. package/dist/dashboard/styles.css +349 -349
  63. package/dist/egress/capabilities.d.ts +32 -0
  64. package/dist/egress/capabilities.js +165 -0
  65. package/dist/egress/capabilities.js.map +1 -0
  66. package/dist/egress/linuxBootstrap.d.ts +1 -0
  67. package/dist/egress/linuxBootstrap.js +121 -0
  68. package/dist/egress/linuxBootstrap.js.map +1 -0
  69. package/dist/egress/run.d.ts +18 -0
  70. package/dist/egress/run.js +305 -0
  71. package/dist/egress/run.js.map +1 -0
  72. package/dist/errors/errorEngine.d.ts +2 -2
  73. package/dist/errors/errorEngine.js +3 -40
  74. package/dist/errors/errorEngine.js.map +1 -1
  75. package/dist/evals/evals.d.ts +126 -0
  76. package/dist/evals/evals.js +466 -0
  77. package/dist/evals/evals.js.map +1 -0
  78. package/dist/evals/index.d.ts +2 -0
  79. package/dist/evals/index.js +2 -0
  80. package/dist/evals/index.js.map +1 -0
  81. package/dist/evidence/index.d.ts +2 -0
  82. package/dist/evidence/index.js +2 -0
  83. package/dist/evidence/index.js.map +1 -0
  84. package/dist/evidence/report.d.ts +143 -0
  85. package/dist/evidence/report.js +556 -0
  86. package/dist/evidence/report.js.map +1 -0
  87. package/dist/fault/faultLab.d.ts +5 -4
  88. package/dist/fault/faultLab.js +66 -24
  89. package/dist/fault/faultLab.js.map +1 -1
  90. package/dist/index.d.ts +46 -0
  91. package/dist/index.js +23 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/inventory/analysis.d.ts +12 -0
  94. package/dist/inventory/analysis.js +457 -0
  95. package/dist/inventory/analysis.js.map +1 -0
  96. package/dist/inventory/index.d.ts +5 -0
  97. package/dist/inventory/index.js +4 -0
  98. package/dist/inventory/index.js.map +1 -0
  99. package/dist/inventory/inventoryController.d.ts +53 -0
  100. package/dist/inventory/inventoryController.js +1044 -0
  101. package/dist/inventory/inventoryController.js.map +1 -0
  102. package/dist/inventory/types.d.ts +579 -0
  103. package/dist/inventory/types.js +787 -0
  104. package/dist/inventory/types.js.map +1 -0
  105. package/dist/landing/assets/index-CxWsopzP.css +1 -0
  106. package/dist/landing/assets/index-DZlpyhqd.js +55 -0
  107. package/dist/landing/assets/index-Dk-Xezs3.js +55 -0
  108. package/dist/landing/index.html +15 -15
  109. package/dist/ledger/actionLedger.d.ts +125 -0
  110. package/dist/ledger/actionLedger.js +594 -0
  111. package/dist/ledger/actionLedger.js.map +1 -0
  112. package/dist/ledger/index.d.ts +2 -0
  113. package/dist/ledger/index.js +2 -0
  114. package/dist/ledger/index.js.map +1 -0
  115. package/dist/mcp/server.js +4 -3
  116. package/dist/mcp/server.js.map +1 -1
  117. package/dist/policy/index.d.ts +3 -0
  118. package/dist/policy/index.js +2 -0
  119. package/dist/policy/index.js.map +1 -0
  120. package/dist/policy/policy.d.ts +14 -0
  121. package/dist/policy/policy.js +282 -0
  122. package/dist/policy/policy.js.map +1 -0
  123. package/dist/policy/types.d.ts +52 -0
  124. package/dist/policy/types.js +2 -0
  125. package/dist/policy/types.js.map +1 -0
  126. package/dist/productTelemetry/index.d.ts +16 -0
  127. package/dist/productTelemetry/index.js +142 -0
  128. package/dist/productTelemetry/index.js.map +1 -0
  129. package/dist/providers/conformance.d.ts +7 -0
  130. package/dist/providers/conformance.js +48 -0
  131. package/dist/providers/conformance.js.map +1 -0
  132. package/dist/providers/index.d.ts +4 -2
  133. package/dist/providers/index.js +3 -1
  134. package/dist/providers/index.js.map +1 -1
  135. package/dist/providers/packs/resendPack.d.ts +2 -0
  136. package/dist/providers/packs/resendPack.js +147 -0
  137. package/dist/providers/packs/resendPack.js.map +1 -0
  138. package/dist/providers/packs/stripePack.d.ts +2 -0
  139. package/dist/providers/packs/stripePack.js +852 -0
  140. package/dist/providers/packs/stripePack.js.map +1 -0
  141. package/dist/providers/registry.d.ts +7 -3
  142. package/dist/providers/registry.js +55 -4
  143. package/dist/providers/registry.js.map +1 -1
  144. package/dist/providers/resend.js +2 -11
  145. package/dist/providers/resend.js.map +1 -1
  146. package/dist/providers/runtime.d.ts +8 -0
  147. package/dist/providers/runtime.js +48 -0
  148. package/dist/providers/runtime.js.map +1 -0
  149. package/dist/providers/stripeWebhook.d.ts +13 -0
  150. package/dist/providers/stripeWebhook.js +50 -0
  151. package/dist/providers/stripeWebhook.js.map +1 -0
  152. package/dist/providers/types.d.ts +153 -0
  153. package/dist/proxy/cacheKey.js +3 -3
  154. package/dist/proxy/cacheKey.js.map +1 -1
  155. package/dist/proxy/providerDetector.d.ts +2 -7
  156. package/dist/proxy/providerDetector.js +4 -4
  157. package/dist/proxy/providerDetector.js.map +1 -1
  158. package/dist/proxy/proxyHandler.js +116 -12
  159. package/dist/proxy/proxyHandler.js.map +1 -1
  160. package/dist/proxy/requestNormalizer.d.ts +0 -1
  161. package/dist/proxy/requestNormalizer.js +2 -5
  162. package/dist/proxy/requestNormalizer.js.map +1 -1
  163. package/dist/reliability/costGovernance.d.ts +175 -0
  164. package/dist/reliability/costGovernance.js +515 -0
  165. package/dist/reliability/costGovernance.js.map +1 -0
  166. package/dist/reliability/index.d.ts +8 -0
  167. package/dist/reliability/index.js +5 -0
  168. package/dist/reliability/index.js.map +1 -0
  169. package/dist/reliability/reconciliation.d.ts +157 -0
  170. package/dist/reliability/reconciliation.js +522 -0
  171. package/dist/reliability/reconciliation.js.map +1 -0
  172. package/dist/reliability/runtimeHealth.d.ts +60 -0
  173. package/dist/reliability/runtimeHealth.js +356 -0
  174. package/dist/reliability/runtimeHealth.js.map +1 -0
  175. package/dist/reliability/slo.d.ts +131 -0
  176. package/dist/reliability/slo.js +375 -0
  177. package/dist/reliability/slo.js.map +1 -0
  178. package/dist/report/safetyReport.js +7 -3
  179. package/dist/report/safetyReport.js.map +1 -1
  180. package/dist/safety/index.d.ts +2 -0
  181. package/dist/safety/index.js +2 -0
  182. package/dist/safety/index.js.map +1 -0
  183. package/dist/safety/safetyController.d.ts +187 -0
  184. package/dist/safety/safetyController.js +477 -0
  185. package/dist/safety/safetyController.js.map +1 -0
  186. package/dist/scenarios/scenarioBundle.d.ts +75 -0
  187. package/dist/scenarios/scenarioBundle.js +750 -0
  188. package/dist/scenarios/scenarioBundle.js.map +1 -0
  189. package/dist/scenarios/scenarioStore.d.ts +1 -0
  190. package/dist/scenarios/scenarioStore.js +47 -32
  191. package/dist/scenarios/scenarioStore.js.map +1 -1
  192. package/dist/security/headerSanitizer.d.ts +2 -0
  193. package/dist/security/headerSanitizer.js +36 -1
  194. package/dist/security/headerSanitizer.js.map +1 -1
  195. package/dist/security/secrets.js +24 -4
  196. package/dist/security/secrets.js.map +1 -1
  197. package/dist/server/accessControl.d.ts +5 -0
  198. package/dist/server/accessControl.js +100 -0
  199. package/dist/server/accessControl.js.map +1 -0
  200. package/dist/server/createServer.d.ts +0 -5
  201. package/dist/server/createServer.js +9 -29
  202. package/dist/server/createServer.js.map +1 -1
  203. package/dist/server/eventsStore.d.ts +6 -1
  204. package/dist/server/eventsStore.js +83 -15
  205. package/dist/server/eventsStore.js.map +1 -1
  206. package/dist/server/routes.js +36 -10
  207. package/dist/server/routes.js.map +1 -1
  208. package/dist/server/sse.d.ts +2 -1
  209. package/dist/server/sse.js +15 -3
  210. package/dist/server/sse.js.map +1 -1
  211. package/dist/setup/setupGenerator.js +53 -6
  212. package/dist/setup/setupGenerator.js.map +1 -1
  213. package/dist/state/stateStore.d.ts +5 -0
  214. package/dist/state/stateStore.js +48 -62
  215. package/dist/state/stateStore.js.map +1 -1
  216. package/dist/storage/fileStore.d.ts +10 -0
  217. package/dist/storage/fileStore.js +131 -0
  218. package/dist/storage/fileStore.js.map +1 -0
  219. package/dist/teamControl/controlPlane.d.ts +255 -0
  220. package/dist/teamControl/controlPlane.js +918 -0
  221. package/dist/teamControl/controlPlane.js.map +1 -0
  222. package/dist/teamControl/deployment.d.ts +33 -0
  223. package/dist/teamControl/deployment.js +67 -0
  224. package/dist/teamControl/deployment.js.map +1 -0
  225. package/dist/teamControl/index.d.ts +4 -0
  226. package/dist/teamControl/index.js +3 -0
  227. package/dist/teamControl/index.js.map +1 -0
  228. package/dist/tests/testGenerator.js +4 -1
  229. package/dist/tests/testGenerator.js.map +1 -1
  230. package/dist/trust/index.d.ts +2 -0
  231. package/dist/trust/index.js +2 -0
  232. package/dist/trust/index.js.map +1 -0
  233. package/dist/trust/trustLadder.d.ts +182 -0
  234. package/dist/trust/trustLadder.js +560 -0
  235. package/dist/trust/trustLadder.js.map +1 -0
  236. package/dist/worlds/index.d.ts +2 -0
  237. package/dist/worlds/index.js +2 -0
  238. package/dist/worlds/index.js.map +1 -0
  239. package/dist/worlds/worlds.d.ts +160 -0
  240. package/dist/worlds/worlds.js +491 -0
  241. package/dist/worlds/worlds.js.map +1 -0
  242. package/docs/assets/dashboard.png +0 -0
  243. package/docs/ci.md +49 -0
  244. package/docs/commercial/README.md +29 -0
  245. package/docs/commercial/data-inventory.md +36 -0
  246. package/docs/commercial/manual-invoicing.md +44 -0
  247. package/docs/commercial/metrics.md +51 -0
  248. package/docs/commercial/pricing.md +103 -0
  249. package/docs/commercial/privacy-policy-draft.md +41 -0
  250. package/docs/commercial/terms-topics-for-counsel.md +51 -0
  251. package/docs/design-partners/README.md +52 -0
  252. package/docs/design-partners/demo-narratives.md +33 -0
  253. package/docs/design-partners/design-partner-offer.md +39 -0
  254. package/docs/design-partners/discovery-questions.md +28 -0
  255. package/docs/design-partners/feedback-capture-template.md +48 -0
  256. package/docs/design-partners/icp-one-pager.md +43 -0
  257. package/docs/design-partners/onboarding-checklist.md +33 -0
  258. package/docs/design-partners/pilot-success-criteria.md +27 -0
  259. package/docs/design-partners/pricing-interview-script.md +18 -0
  260. package/docs/design-partners/telemetry-plan.md +48 -0
  261. package/docs/development/baseline.md +114 -0
  262. package/docs/development/onboarding-smoke.md +37 -0
  263. package/docs/development/verification-0.1.8.md +25 -0
  264. package/docs/enterprise-product-roadmap-ru.md +1879 -0
  265. package/docs/fundraising/README.md +87 -0
  266. package/docs/fundraising/data-room-checklist.md +72 -0
  267. package/docs/fundraising/demo-script.md +52 -0
  268. package/docs/fundraising/design-partners-50.md +74 -0
  269. package/docs/fundraising/launch-posts.md +37 -0
  270. package/docs/fundraising/metrics-and-evidence.md +30 -0
  271. package/docs/fundraising/roadmap-12-month.md +25 -0
  272. package/docs/fundraising/technical-due-diligence-index.md +37 -0
  273. package/docs/fundraising/yc-application.md +25 -0
  274. package/docs/github-actions.md +84 -0
  275. package/docs/hosted-pilot.md +111 -0
  276. package/docs/mcp.md +52 -50
  277. package/docs/operations/disaster-recovery-runbook.md +81 -0
  278. package/docs/operations/kill-switch-runbook.md +32 -0
  279. package/docs/policy.md +61 -0
  280. package/docs/providers/authoring-packs.md +175 -0
  281. package/docs/providers/stripe-core-pack.md +82 -0
  282. package/docs/release-checklist.md +83 -71
  283. package/docs/release-migration-and-rollback.md +63 -0
  284. package/docs/release-readiness.md +39 -0
  285. package/docs/security/action-gateway-threat-model.md +34 -0
  286. package/docs/security/action-ledger-incident-replay-threat-model.md +42 -0
  287. package/docs/security/approval-inbox-threat-model.md +35 -0
  288. package/docs/security/credential-broker-threat-model.md +52 -0
  289. package/docs/security/egress-threat-model.md +126 -0
  290. package/docs/security/inventory-threat-model.md +104 -0
  291. package/docs/security/kill-switch-budgets-threat-model.md +37 -0
  292. package/docs/security/reliability-threat-model.md +111 -0
  293. package/docs/security/trust-ladder-threat-model.md +33 -0
  294. package/docs/team-control-plane.md +72 -0
  295. package/docs/usage.md +571 -57
  296. package/examples/README.md +10 -0
  297. package/examples/agent-instructions/README.md +39 -39
  298. package/examples/ci-smoke/README.md +21 -0
  299. package/examples/ci-smoke/ghostapi.policy.yaml +22 -0
  300. package/examples/ci-smoke/package.json +9 -0
  301. package/examples/ci-smoke/production-egress.mjs +2 -0
  302. package/examples/ci-smoke/safe.mjs +17 -0
  303. package/examples/evals/README.md +24 -0
  304. package/examples/evals/retry-after.eval.json +52 -0
  305. package/examples/generic-rest/README.md +27 -27
  306. package/examples/github-fetch/README.md +35 -35
  307. package/examples/openai-streaming/README.md +16 -0
  308. package/examples/openai-streaming/streaming-tool-call.mjs +31 -0
  309. package/examples/policy/ghostapi.policy.yaml +27 -0
  310. package/examples/record-replay/README.md +19 -0
  311. package/examples/record-replay/replay-requests.json +22 -0
  312. package/examples/record-replay/stripe-checkout.har.json +30 -0
  313. package/examples/resend-node/README.md +22 -22
  314. package/examples/stripe-node/README.md +35 -29
  315. package/examples/stripe-node/checkout-flow.mjs +61 -0
  316. package/examples/twilio-node/README.md +21 -21
  317. package/examples/worlds/README.md +19 -0
  318. package/examples/worlds/subscription-recovery.mjs +12 -0
  319. package/package.json +27 -12
  320. package/dist/providers/stripe.d.ts +0 -2
  321. package/dist/providers/stripe.js +0 -15
  322. package/dist/providers/stripe.js.map +0 -1
  323. package/docs/assets/ghostapi-avatar.png +0 -0
@@ -45,6 +45,36 @@ export function parseCliArgs(args) {
45
45
  if (command === "doctor") {
46
46
  return { name: "doctor", options: parseDoctorOptions(args.slice(1)) };
47
47
  }
48
+ if (command === "run") {
49
+ return { name: "run", options: parseRunOptions(args.slice(1)) };
50
+ }
51
+ if (command === "policy") {
52
+ return parsePolicyCommand(args.slice(1));
53
+ }
54
+ if (command === "evidence") {
55
+ return parseEvidenceCommand(args.slice(1));
56
+ }
57
+ if (command === "record") {
58
+ return { name: "record", options: parseRecordOptions(args.slice(1)) };
59
+ }
60
+ if (command === "replay") {
61
+ return { name: "replay", options: parseReplayOptions(args.slice(1)) };
62
+ }
63
+ if (command === "contract") {
64
+ return parseContractCommand(args.slice(1));
65
+ }
66
+ if (command === "eval") {
67
+ return { name: "eval", options: parseEvalOptions(args.slice(1)) };
68
+ }
69
+ if (command === "world") {
70
+ return parseWorldCommand(args.slice(1));
71
+ }
72
+ if (command === "action") {
73
+ return parseActionCommand(args.slice(1));
74
+ }
75
+ if (command === "telemetry") {
76
+ return parseTelemetryCommand(args.slice(1));
77
+ }
48
78
  if (command === "init") {
49
79
  if (args.length > 1)
50
80
  throw new CliError(`Unexpected argument: ${args[1]}`, "Use: ghostapi init");
@@ -84,6 +114,10 @@ function parseStartOptions(args) {
84
114
  options.open = true;
85
115
  continue;
86
116
  }
117
+ if (arg === "--allow-external-llm") {
118
+ options.allowExternalLlm = true;
119
+ continue;
120
+ }
87
121
  if (arg === "--host") {
88
122
  options.host = readValue(args, index, arg);
89
123
  index += 1;
@@ -99,7 +133,7 @@ function parseStartOptions(args) {
99
133
  index += 1;
100
134
  continue;
101
135
  }
102
- throw new CliError(`Unknown start option: ${arg}`, "Supported options: --host, --port, --model, --offline, --https, --open");
136
+ throw new CliError(`Unknown start option: ${arg}`, "Supported options: --host, --port, --model, --offline, --https, --allow-external-llm, --open");
103
137
  }
104
138
  return options;
105
139
  }
@@ -140,15 +174,477 @@ function parseDoctorOptions(args) {
140
174
  const options = {};
141
175
  for (let index = 0; index < args.length; index += 1) {
142
176
  const arg = args[index];
177
+ if (arg === "--egress") {
178
+ options.egress = true;
179
+ continue;
180
+ }
181
+ if (arg === "--json") {
182
+ options.json = true;
183
+ continue;
184
+ }
143
185
  if (arg === "--port") {
144
186
  options.port = parsePort(readValue(args, index, arg), "--port");
145
187
  index += 1;
146
188
  continue;
147
189
  }
148
- throw new CliError(`Unknown doctor option: ${arg}`, "Supported option: --port 8080");
190
+ throw new CliError(`Unknown doctor option: ${arg}`, "Supported options: --port 8080, --egress, --json");
191
+ }
192
+ return options;
193
+ }
194
+ function parseRunOptions(args) {
195
+ const separatorIndex = args.indexOf("--");
196
+ if (separatorIndex === -1) {
197
+ throw new CliError("Missing command separator for ghostapi run.", "Use: ghostapi run [--port 8080] [--allow-host localhost] -- <command> [args...]");
198
+ }
199
+ const command = args.slice(separatorIndex + 1);
200
+ if (command.length === 0) {
201
+ throw new CliError("Missing command for ghostapi run.", "Use: ghostapi run -- <command> [args...]");
202
+ }
203
+ const options = { allowHosts: [], command };
204
+ const optionArgs = args.slice(0, separatorIndex);
205
+ for (let index = 0; index < optionArgs.length; index += 1) {
206
+ const arg = optionArgs[index];
207
+ if (arg === "--port") {
208
+ options.port = parsePort(readValue(optionArgs, index, arg), "--port");
209
+ index += 1;
210
+ continue;
211
+ }
212
+ if (arg === "--allow-host") {
213
+ options.allowHosts.push(readValue(optionArgs, index, arg));
214
+ index += 1;
215
+ continue;
216
+ }
217
+ if (arg === "--policy") {
218
+ options.policyPath = readValue(optionArgs, index, arg);
219
+ index += 1;
220
+ continue;
221
+ }
222
+ throw new CliError(`Unknown run option: ${arg}`, "Supported options: --port 8080, --allow-host localhost, --policy ghostapi.policy.yaml");
223
+ }
224
+ return options;
225
+ }
226
+ function parsePolicyCommand(args) {
227
+ const [subcommand, ...rest] = args;
228
+ if (subcommand === "validate")
229
+ return { name: "policy-validate", file: parsePolicyFileOption(rest) };
230
+ if (subcommand !== "explain") {
231
+ throw new CliError(`Unknown policy command: ${subcommand ?? "<missing>"}`, "Use: ghostapi policy validate [--file ghostapi.policy.yaml] | ghostapi policy explain <scenario-id>|network <host>|credential <value>|enforcement <mode>|report <production-attempts> <credential-matches>");
232
+ }
233
+ const fileIndex = rest.indexOf("--file");
234
+ let file;
235
+ const eventArgs = [...rest];
236
+ if (fileIndex !== -1) {
237
+ file = readValue(rest, fileIndex, "--file");
238
+ eventArgs.splice(fileIndex, 2);
239
+ }
240
+ if (eventArgs.includes("--file"))
241
+ throw new CliError("Missing value for --file.", "Use --file ghostapi.policy.yaml.");
242
+ if (eventArgs.length === 0)
243
+ throw new CliError("Missing policy event.", "Use: ghostapi policy explain <scenario-id>|network <host>|credential <value>|enforcement <mode>|report <production-attempts> <credential-matches>");
244
+ return { name: "policy-explain", file, event: parsePolicyExplainInput(eventArgs) };
245
+ }
246
+ function parsePolicyFileOption(args) {
247
+ if (args.length === 0)
248
+ return undefined;
249
+ if (args.length === 2 && args[0] === "--file")
250
+ return readValue(args, 0, "--file");
251
+ throw new CliError(`Unexpected policy argument: ${args[0]}`, "Use: ghostapi policy validate [--file ghostapi.policy.yaml]");
252
+ }
253
+ function parseEvidenceCommand(args) {
254
+ const [subcommand, ...rest] = args;
255
+ if (subcommand === "generate")
256
+ return { name: "evidence-generate", options: parseEvidenceGenerateOptions(rest) };
257
+ if (subcommand === "view")
258
+ return { name: "evidence-view", options: parseEvidenceViewOptions(rest) };
259
+ if (subcommand === "compare")
260
+ return { name: "evidence-compare", options: parseEvidenceCompareOptions(rest) };
261
+ throw new CliError(`Unknown evidence command: ${subcommand ?? "<missing>"}`, "Use: ghostapi evidence generate|view|compare");
262
+ }
263
+ function parseEvidenceGenerateOptions(args) {
264
+ const options = {};
265
+ for (let index = 0; index < args.length; index += 1) {
266
+ const arg = args[index];
267
+ if (arg === "--policy") {
268
+ options.policyPath = readValue(args, index, arg);
269
+ index += 1;
270
+ continue;
271
+ }
272
+ if (arg === "--run") {
273
+ options.runPath = readValue(args, index, arg);
274
+ index += 1;
275
+ continue;
276
+ }
277
+ if (arg === "--out") {
278
+ options.outPath = readValue(args, index, arg);
279
+ index += 1;
280
+ continue;
281
+ }
282
+ if (arg === "--contract-baseline") {
283
+ options.contractBaselinePath = readValue(args, index, arg);
284
+ index += 1;
285
+ continue;
286
+ }
287
+ if (arg === "--contract-candidate") {
288
+ options.contractCandidatePath = readValue(args, index, arg);
289
+ index += 1;
290
+ continue;
291
+ }
292
+ if (arg === "--ci") {
293
+ options.ci = true;
294
+ continue;
295
+ }
296
+ if (arg === "--json") {
297
+ options.json = true;
298
+ continue;
299
+ }
300
+ throw new CliError(`Unknown evidence generate option: ${arg}`, "Supported options: --policy ghostapi.policy.yaml, --run .ghostapi/runs/<id>/run.json, --out .ghostapi/reports/report.json, --contract-baseline base.contract.json, --contract-candidate head.contract.json, --ci, --json");
301
+ }
302
+ if ((options.contractBaselinePath === undefined) !== (options.contractCandidatePath === undefined))
303
+ throw new CliError("Contract drift evidence requires both contract paths.", "Use --contract-baseline base.contract.json --contract-candidate head.contract.json.");
304
+ return options;
305
+ }
306
+ function parseEvidenceViewOptions(args) {
307
+ const path = args[0];
308
+ if (!path)
309
+ throw new CliError("Missing evidence report path.", "Use: ghostapi evidence view <report.json> [--json]");
310
+ const rest = args.slice(1);
311
+ if (rest.length === 0)
312
+ return { path };
313
+ if (rest.length === 1 && rest[0] === "--json")
314
+ return { path, json: true };
315
+ throw new CliError(`Unexpected evidence view argument: ${rest[0]}`, "Use: ghostapi evidence view <report.json> [--json]");
316
+ }
317
+ function parseEvidenceCompareOptions(args) {
318
+ const leftPath = args[0];
319
+ const rightPath = args[1];
320
+ if (!leftPath || !rightPath)
321
+ throw new CliError("Missing evidence report paths.", "Use: ghostapi evidence compare <left.json> <right.json> [--json]");
322
+ const rest = args.slice(2);
323
+ if (rest.length === 0)
324
+ return { leftPath, rightPath };
325
+ if (rest.length === 1 && rest[0] === "--json")
326
+ return { leftPath, rightPath, json: true };
327
+ throw new CliError(`Unexpected evidence compare argument: ${rest[0]}`, "Use: ghostapi evidence compare <left.json> <right.json> [--json]");
328
+ }
329
+ function parseRecordOptions(args) {
330
+ const options = { allowedSandboxHosts: [] };
331
+ for (let index = 0; index < args.length; index += 1) {
332
+ const arg = args[index];
333
+ if (arg === "--input") {
334
+ options.inputPath = readValue(args, index, arg);
335
+ index += 1;
336
+ continue;
337
+ }
338
+ if (arg === "--out") {
339
+ options.outPath = readValue(args, index, arg);
340
+ index += 1;
341
+ continue;
342
+ }
343
+ if (arg === "--title") {
344
+ options.title = readValue(args, index, arg);
345
+ index += 1;
346
+ continue;
347
+ }
348
+ if (arg === "--allow-sandbox-host") {
349
+ options.allowedSandboxHosts.push(readValue(args, index, arg));
350
+ index += 1;
351
+ continue;
352
+ }
353
+ if (arg === "--pii") {
354
+ const value = readValue(args, index, arg);
355
+ if (!isPiiRuleSet(value))
356
+ throw new CliError(`Invalid --pii value: ${value}`, "Use: --pii emails,phones,addresses | emails | phones | addresses | none");
357
+ options.pii = value;
358
+ index += 1;
359
+ continue;
360
+ }
361
+ if (arg === "--approve") {
362
+ options.approve = true;
363
+ continue;
364
+ }
365
+ throw new CliError(`Unknown record option: ${arg}`, "Supported options: --input capture.json, --allow-sandbox-host api.sandbox.example, --out bundle.json, --title title, --pii emails,phones,addresses, --approve");
366
+ }
367
+ if (!options.inputPath)
368
+ throw new CliError("Missing recording input.", "Use: ghostapi record --input capture.json --allow-sandbox-host api.sandbox.example");
369
+ if (options.allowedSandboxHosts.length === 0)
370
+ throw new CliError("Recording requires an explicit sandbox host allowlist.", "Use: --allow-sandbox-host api.sandbox.example");
371
+ return options;
372
+ }
373
+ function parseReplayOptions(args) {
374
+ const bundlePath = args[0];
375
+ if (!bundlePath)
376
+ throw new CliError("Missing scenario bundle path.", "Use: ghostapi replay <bundle.json> --requests requests.json [--json]");
377
+ const options = { bundlePath };
378
+ for (let index = 1; index < args.length; index += 1) {
379
+ const arg = args[index];
380
+ if (arg === "--requests") {
381
+ options.requestsPath = readValue(args, index, arg);
382
+ index += 1;
383
+ continue;
384
+ }
385
+ if (arg === "--json") {
386
+ options.json = true;
387
+ continue;
388
+ }
389
+ throw new CliError(`Unknown replay option: ${arg}`, "Supported options: --requests requests.json, --json");
390
+ }
391
+ if (!options.requestsPath)
392
+ throw new CliError("Missing replay requests input.", "Use: ghostapi replay <bundle.json> --requests requests.json [--json]");
393
+ return options;
394
+ }
395
+ function parseContractCommand(args) {
396
+ const [subcommand, ...rest] = args;
397
+ if (subcommand === "import-openapi")
398
+ return { name: "contract-import-openapi", options: parseContractImportOpenApiOptions(rest) };
399
+ if (subcommand === "import-har")
400
+ return { name: "contract-import-har", options: parseContractImportHarOptions(rest) };
401
+ if (subcommand === "diff")
402
+ return { name: "contract-diff", options: parseContractDiffOptions(rest) };
403
+ throw new CliError(`Unknown contract command: ${subcommand ?? "<missing>"}`, "Use: ghostapi contract import-openapi|import-har|diff");
404
+ }
405
+ function parseContractImportOpenApiOptions(args) {
406
+ const options = {};
407
+ for (let index = 0; index < args.length; index += 1) {
408
+ const arg = args[index];
409
+ if (arg === "--input") {
410
+ options.inputPath = readValue(args, index, arg);
411
+ index += 1;
412
+ continue;
413
+ }
414
+ if (arg === "--out") {
415
+ options.outPath = readValue(args, index, arg);
416
+ index += 1;
417
+ continue;
418
+ }
419
+ if (arg === "--title") {
420
+ options.title = readValue(args, index, arg);
421
+ index += 1;
422
+ continue;
423
+ }
424
+ throw new CliError(`Unknown contract import-openapi option: ${arg}`, "Supported options: --input openapi.json, --out contract.json, --title title");
425
+ }
426
+ if (!options.inputPath)
427
+ throw new CliError("Missing OpenAPI input.", "Use: ghostapi contract import-openapi --input openapi.json");
428
+ return options;
429
+ }
430
+ function parseContractImportHarOptions(args) {
431
+ const base = parseRecordOptions(args.filter((arg, index) => arg !== "--contract-out" && args[index - 1] !== "--contract-out"));
432
+ const contractOutIndex = args.indexOf("--contract-out");
433
+ if (contractOutIndex === -1)
434
+ return base;
435
+ return { ...base, contractOutPath: readValue(args, contractOutIndex, "--contract-out") };
436
+ }
437
+ function parseContractDiffOptions(args) {
438
+ const options = {};
439
+ for (let index = 0; index < args.length; index += 1) {
440
+ const arg = args[index];
441
+ if (arg === "--baseline") {
442
+ options.baselinePath = readValue(args, index, arg);
443
+ index += 1;
444
+ continue;
445
+ }
446
+ if (arg === "--candidate") {
447
+ options.candidatePath = readValue(args, index, arg);
448
+ index += 1;
449
+ continue;
450
+ }
451
+ if (arg === "--policy") {
452
+ options.policyPath = readValue(args, index, arg);
453
+ index += 1;
454
+ continue;
455
+ }
456
+ if (arg === "--ci") {
457
+ options.ci = true;
458
+ continue;
459
+ }
460
+ if (arg === "--json") {
461
+ options.json = true;
462
+ continue;
463
+ }
464
+ throw new CliError(`Unknown contract diff option: ${arg}`, "Supported options: --baseline base.contract.json, --candidate head.contract.json, --policy ghostapi.policy.yaml, --ci, --json");
149
465
  }
466
+ if (!options.baselinePath || !options.candidatePath)
467
+ throw new CliError("Contract diff requires baseline and candidate paths.", "Use: ghostapi contract diff --baseline base.contract.json --candidate head.contract.json");
150
468
  return options;
151
469
  }
470
+ function parseEvalOptions(args) {
471
+ const options = {};
472
+ for (let index = 0; index < args.length; index += 1) {
473
+ const arg = args[index];
474
+ if (arg === "--spec") {
475
+ options.specPath = readValue(args, index, arg);
476
+ index += 1;
477
+ continue;
478
+ }
479
+ if (arg === "--template") {
480
+ const value = readValue(args, index, arg);
481
+ if (!isEvalTemplate(value))
482
+ throw new CliError(`Unknown eval template: ${value}`, "Use one of: retry-after, duplicate-payment, webhook-signature, no-secret-logs, timeout-recovery, no-production-bypass");
483
+ options.template = value;
484
+ index += 1;
485
+ continue;
486
+ }
487
+ if (arg === "--evidence") {
488
+ options.evidencePath = readValue(args, index, arg);
489
+ index += 1;
490
+ continue;
491
+ }
492
+ if (arg === "--out") {
493
+ options.outPath = readValue(args, index, arg);
494
+ index += 1;
495
+ continue;
496
+ }
497
+ if (arg === "--ci") {
498
+ options.ci = true;
499
+ continue;
500
+ }
501
+ if (arg === "--json") {
502
+ options.json = true;
503
+ continue;
504
+ }
505
+ throw new CliError(`Unknown eval option: ${arg}`, "Supported options: --spec eval.json | --template retry-after, --evidence report.json, --out report.eval.json, --ci, --json");
506
+ }
507
+ if ((options.specPath === undefined) === (options.template === undefined))
508
+ throw new CliError("Eval requires exactly one of --spec or --template.", "Use: ghostapi eval --spec eval.json or ghostapi eval --template retry-after");
509
+ return options;
510
+ }
511
+ function parseWorldCommand(args) {
512
+ const [subcommand, ...rest] = args;
513
+ if (subcommand === "create")
514
+ return { name: "world-create", options: parseWorldCreateOptions(rest) };
515
+ if (subcommand === "inspect" || subcommand === "reset") {
516
+ const id = rest[0];
517
+ if (!id)
518
+ throw new CliError(`Missing world id for ${subcommand}.`, `Use: ghostapi world ${subcommand} <world-id> [--json]`);
519
+ if (rest.length === 1)
520
+ return { name: subcommand === "inspect" ? "world-inspect" : "world-reset", id };
521
+ if (rest.length === 2 && rest[1] === "--json")
522
+ return { name: subcommand === "inspect" ? "world-inspect" : "world-reset", id, json: true };
523
+ throw new CliError(`Unexpected world ${subcommand} argument: ${rest[1]}`, `Use: ghostapi world ${subcommand} <world-id> [--json]`);
524
+ }
525
+ if (subcommand === "fork") {
526
+ const sourceId = rest[0];
527
+ if (!sourceId)
528
+ throw new CliError("Missing source world id.", "Use: ghostapi world fork <source-world-id> --id <fork-world-id> [--title title] [--json]");
529
+ return { name: "world-fork", sourceId, options: parseWorldForkOptions(rest.slice(1)) };
530
+ }
531
+ throw new CliError(`Unknown world command: ${subcommand ?? "<missing>"}`, "Use: ghostapi world create|inspect|reset|fork");
532
+ }
533
+ function parseActionCommand(args) {
534
+ const [subcommand, ...rest] = args;
535
+ if (subcommand === "inspect") {
536
+ const actionId = rest[0];
537
+ if (!actionId)
538
+ throw new CliError("Missing action id.", "Use: ghostapi action inspect <action-id> [--json]");
539
+ if (rest.length === 1)
540
+ return { name: "action-inspect", actionId };
541
+ if (rest.length === 2 && rest[1] === "--json")
542
+ return { name: "action-inspect", actionId, json: true };
543
+ throw new CliError(`Unexpected action inspect argument: ${rest[1]}`, "Use: ghostapi action inspect <action-id> [--json]");
544
+ }
545
+ throw new CliError(`Unknown action command: ${subcommand ?? "<missing>"}`, "Use: ghostapi action inspect <action-id> [--json]. Submit and execute through the verifier-backed approval inbox API.");
546
+ }
547
+ function parseTelemetryCommand(args) {
548
+ const [action, ...rest] = args;
549
+ if (action !== "status" && action !== "enable" && action !== "disable" && action !== "export") {
550
+ throw new CliError(`Unknown telemetry command: ${action ?? "<missing>"}`, "Use: ghostapi telemetry status|enable|disable|export [--json]");
551
+ }
552
+ if (rest.length === 0)
553
+ return { name: "telemetry", action };
554
+ if (rest.length === 1 && rest[0] === "--json")
555
+ return { name: "telemetry", action, json: true };
556
+ throw new CliError(`Unexpected telemetry argument: ${rest[0]}`, "Use: ghostapi telemetry status|enable|disable|export [--json]");
557
+ }
558
+ function parseWorldCreateOptions(args) {
559
+ const options = {};
560
+ for (let index = 0; index < args.length; index += 1) {
561
+ const arg = args[index];
562
+ if (arg === "--id") {
563
+ options.id = readValue(args, index, arg);
564
+ index += 1;
565
+ continue;
566
+ }
567
+ if (arg === "--seed") {
568
+ options.seed = readValue(args, index, arg);
569
+ index += 1;
570
+ continue;
571
+ }
572
+ if (arg === "--title") {
573
+ options.title = readValue(args, index, arg);
574
+ index += 1;
575
+ continue;
576
+ }
577
+ if (arg === "--json") {
578
+ options.json = true;
579
+ continue;
580
+ }
581
+ throw new CliError(`Unknown world create option: ${arg}`, "Supported options: --id <world-id>, --seed <seed>, --title <title>, --json");
582
+ }
583
+ if (!options.id || !options.seed)
584
+ throw new CliError("World create requires --id and --seed.", "Use: ghostapi world create --id demo --seed stable-seed [--title title]");
585
+ return options;
586
+ }
587
+ function parseWorldForkOptions(args) {
588
+ const options = {};
589
+ for (let index = 0; index < args.length; index += 1) {
590
+ const arg = args[index];
591
+ if (arg === "--id") {
592
+ options.id = readValue(args, index, arg);
593
+ index += 1;
594
+ continue;
595
+ }
596
+ if (arg === "--title") {
597
+ options.title = readValue(args, index, arg);
598
+ index += 1;
599
+ continue;
600
+ }
601
+ if (arg === "--json") {
602
+ options.json = true;
603
+ continue;
604
+ }
605
+ throw new CliError(`Unknown world fork option: ${arg}`, "Supported options: --id <fork-world-id>, --title <title>, --json");
606
+ }
607
+ if (!options.id)
608
+ throw new CliError("World fork requires --id.", "Use: ghostapi world fork <source-world-id> --id <fork-world-id>");
609
+ return options;
610
+ }
611
+ function isEvalTemplate(value) {
612
+ return value === "retry-after" || value === "duplicate-payment" || value === "webhook-signature" || value === "no-secret-logs" || value === "timeout-recovery" || value === "no-production-bypass";
613
+ }
614
+ function parsePolicyExplainInput(args) {
615
+ const [kind, value, ...rest] = args;
616
+ if (kind === "network") {
617
+ if (!value)
618
+ throw new CliError("Missing network host.", "Use: ghostapi policy explain network api.stripe.com [--provider stripe]");
619
+ if (rest.length === 0)
620
+ return { type: "network", host: value };
621
+ if (rest.length === 2 && rest[0] === "--provider" && rest[1])
622
+ return { type: "network", host: value, provider: rest[1] };
623
+ throw new CliError("Invalid network explain options.", "Use: ghostapi policy explain network api.stripe.com [--provider stripe]");
624
+ }
625
+ if (kind === "credential") {
626
+ if (!value || rest.length > 0)
627
+ throw new CliError("Credential explain requires exactly one value.", "Use: ghostapi policy explain credential sk_live_example");
628
+ return { type: "credential", value };
629
+ }
630
+ if (kind === "enforcement") {
631
+ if ((value !== "linux-network-namespace" && value !== "proxy-guidance") || rest.length > 0)
632
+ throw new CliError("Invalid enforcement mode.", "Use: ghostapi policy explain enforcement linux-network-namespace|proxy-guidance");
633
+ return { type: "enforcement", mode: value };
634
+ }
635
+ if (kind === "report") {
636
+ const forbiddenCredentialMatches = Number(rest[0]);
637
+ const productionEgressAttempts = Number(value);
638
+ const breakingContractChanges = rest.length === 2 ? Number(rest[1]) : undefined;
639
+ if ((rest.length !== 1 && rest.length !== 2) || !Number.isInteger(productionEgressAttempts) || productionEgressAttempts < 0 || !Number.isInteger(forbiddenCredentialMatches) || forbiddenCredentialMatches < 0 || (breakingContractChanges !== undefined && (!Number.isInteger(breakingContractChanges) || breakingContractChanges < 0))) {
640
+ throw new CliError("Report explain requires two or three non-negative integer counts.", "Use: ghostapi policy explain report 0 0 [0]");
641
+ }
642
+ return { type: "report", productionEgressAttempts, forbiddenCredentialMatches, ...(breakingContractChanges === undefined ? {} : { breakingContractChanges }) };
643
+ }
644
+ if (args.length !== 1)
645
+ throw new CliError("Scenario explain accepts one scenario id.", "Use: ghostapi policy explain stripe.card_declined");
646
+ return { type: "scenario", scenarioId: kind, completedScenarioIds: [] };
647
+ }
152
648
  function readValue(args, index, flag) {
153
649
  const value = args[index + 1];
154
650
  if (!value || value.startsWith("--")) {
@@ -156,6 +652,12 @@ function readValue(args, index, flag) {
156
652
  }
157
653
  return value;
158
654
  }
655
+ function isPiiRuleSet(value) {
656
+ if (value === "none")
657
+ return true;
658
+ const selected = value.split(",");
659
+ return selected.length > 0 && selected.length === new Set(selected).size && selected.every((entry) => entry === "emails" || entry === "phones" || entry === "addresses");
660
+ }
159
661
  export function parsePort(value, label) {
160
662
  const port = Number(value);
161
663
  if (!Number.isInteger(port) || port < 1 || port > 65535) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type DataPaths = {
2
+ root: string;
3
+ config: string;
4
+ state: string;
5
+ behaviors: string;
6
+ cache: string;
7
+ events: string;
8
+ reports: string;
9
+ scenarios: string;
10
+ contracts: string;
11
+ worlds: string;
12
+ actions: string;
13
+ approvals: string;
14
+ credentialBroker: string;
15
+ trustLadder: string;
16
+ safetyController: string;
17
+ actionLedger: string;
18
+ incidents: string;
19
+ teamControlPlane: string;
20
+ faultLab: string;
21
+ productTelemetry: string;
22
+ reliability: string;
23
+ sloStore: string;
24
+ reconciliationStore: string;
25
+ costStore: string;
26
+ backups: string;
27
+ inventoryStore: string;
28
+ };
29
+ export declare function getDataDir(env?: NodeJS.ProcessEnv): string;
30
+ export declare function resolveDataPath(...segments: string[]): string;
31
+ export declare function getDataPaths(): DataPaths;