@yiaany/ghostapi 0.1.9 → 0.2.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 (292) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CONTRIBUTING.md +132 -119
  3. package/LICENSE +21 -21
  4. package/PROVENANCE.md +13 -0
  5. package/README.md +78 -84
  6. package/SECURITY.md +56 -53
  7. package/dist/actions/gateway.js +320 -72
  8. package/dist/actions/gateway.js.map +1 -1
  9. package/dist/actions/index.d.ts +2 -2
  10. package/dist/actions/index.js +1 -1
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/agents/agentPrompt.js +7 -5
  13. package/dist/agents/agentPrompt.js.map +1 -1
  14. package/dist/ai/aiClient.js +5 -5
  15. package/dist/ai/aiClient.js.map +1 -1
  16. package/dist/ai/aiGenerator.js +66 -26
  17. package/dist/ai/aiGenerator.js.map +1 -1
  18. package/dist/ai/genericInference.js +151 -36
  19. package/dist/ai/genericInference.js.map +1 -1
  20. package/dist/ai/prompts.js +55 -49
  21. package/dist/ai/prompts.js.map +1 -1
  22. package/dist/approvals/approvalInbox.js +649 -133
  23. package/dist/approvals/approvalInbox.js.map +1 -1
  24. package/dist/approvals/index.d.ts +2 -2
  25. package/dist/approvals/index.js +1 -1
  26. package/dist/approvals/index.js.map +1 -1
  27. package/dist/behavior/behaviorStore.js +34 -14
  28. package/dist/behavior/behaviorStore.js.map +1 -1
  29. package/dist/cache/index.js +14 -5
  30. package/dist/cache/index.js.map +1 -1
  31. package/dist/cli/index.js +226 -93
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/openUrl.js +17 -3
  34. package/dist/cli/openUrl.js.map +1 -1
  35. package/dist/cli/parser.js +79 -18
  36. package/dist/cli/parser.js.map +1 -1
  37. package/dist/config/dataPaths.js +4 -2
  38. package/dist/config/dataPaths.js.map +1 -1
  39. package/dist/config/localConfig.js +5 -2
  40. package/dist/config/localConfig.js.map +1 -1
  41. package/dist/config/serverConfig.js +11 -5
  42. package/dist/config/serverConfig.js.map +1 -1
  43. package/dist/contracts/contract.js +311 -83
  44. package/dist/contracts/contract.js.map +1 -1
  45. package/dist/contracts/index.d.ts +2 -2
  46. package/dist/contracts/index.js +1 -1
  47. package/dist/contracts/index.js.map +1 -1
  48. package/dist/credentials/credentialBroker.js +391 -79
  49. package/dist/credentials/credentialBroker.js.map +1 -1
  50. package/dist/credentials/index.d.ts +2 -2
  51. package/dist/credentials/index.js +1 -1
  52. package/dist/credentials/index.js.map +1 -1
  53. package/dist/dashboard/app.js +823 -685
  54. package/dist/dashboard/dashboard.js.map +1 -1
  55. package/dist/dashboard/index.html +704 -267
  56. package/dist/dashboard/styles.css +1040 -349
  57. package/dist/egress/capabilities.js +55 -25
  58. package/dist/egress/capabilities.js.map +1 -1
  59. package/dist/egress/linuxBootstrap.js +47 -11
  60. package/dist/egress/linuxBootstrap.js.map +1 -1
  61. package/dist/egress/run.js +170 -31
  62. package/dist/egress/run.js.map +1 -1
  63. package/dist/errors/errorEngine.js +15 -3
  64. package/dist/errors/errorEngine.js.map +1 -1
  65. package/dist/errors/providerErrors.js.map +1 -1
  66. package/dist/evals/evals.js +304 -78
  67. package/dist/evals/evals.js.map +1 -1
  68. package/dist/evals/index.d.ts +2 -2
  69. package/dist/evals/index.js +1 -1
  70. package/dist/evals/index.js.map +1 -1
  71. package/dist/evidence/index.d.ts +2 -2
  72. package/dist/evidence/index.js +1 -1
  73. package/dist/evidence/index.js.map +1 -1
  74. package/dist/evidence/report.d.ts +1 -1
  75. package/dist/evidence/report.js +263 -79
  76. package/dist/evidence/report.js.map +1 -1
  77. package/dist/fault/faultLab.js +24 -9
  78. package/dist/fault/faultLab.js.map +1 -1
  79. package/dist/index.d.ts +42 -42
  80. package/dist/index.js +21 -21
  81. package/dist/index.js.map +1 -1
  82. package/dist/inventory/analysis.d.ts +1 -1
  83. package/dist/inventory/analysis.js +174 -50
  84. package/dist/inventory/analysis.js.map +1 -1
  85. package/dist/inventory/index.d.ts +4 -4
  86. package/dist/inventory/index.js +3 -3
  87. package/dist/inventory/index.js.map +1 -1
  88. package/dist/inventory/inventoryController.js +362 -115
  89. package/dist/inventory/inventoryController.js.map +1 -1
  90. package/dist/inventory/types.js +680 -140
  91. package/dist/inventory/types.js.map +1 -1
  92. package/dist/ledger/actionLedger.js +355 -78
  93. package/dist/ledger/actionLedger.js.map +1 -1
  94. package/dist/ledger/index.d.ts +2 -2
  95. package/dist/ledger/index.js +1 -1
  96. package/dist/ledger/index.js.map +1 -1
  97. package/dist/mcp/server.js +26 -11
  98. package/dist/mcp/server.js.map +1 -1
  99. package/dist/policy/index.d.ts +2 -2
  100. package/dist/policy/index.js +1 -1
  101. package/dist/policy/index.js.map +1 -1
  102. package/dist/policy/policy.js +112 -32
  103. package/dist/policy/policy.js.map +1 -1
  104. package/dist/productTelemetry/index.js +71 -20
  105. package/dist/productTelemetry/index.js.map +1 -1
  106. package/dist/providers/conformance.js +10 -5
  107. package/dist/providers/conformance.js.map +1 -1
  108. package/dist/providers/discord.js +2 -2
  109. package/dist/providers/generic.js +3 -3
  110. package/dist/providers/github.js +2 -2
  111. package/dist/providers/index.d.ts +3 -3
  112. package/dist/providers/index.js +2 -2
  113. package/dist/providers/index.js.map +1 -1
  114. package/dist/providers/openai.js +3 -3
  115. package/dist/providers/packs/resendPack.js +51 -25
  116. package/dist/providers/packs/resendPack.js.map +1 -1
  117. package/dist/providers/packs/stripePack.js +590 -121
  118. package/dist/providers/packs/stripePack.js.map +1 -1
  119. package/dist/providers/registry.js +4 -4
  120. package/dist/providers/registry.js.map +1 -1
  121. package/dist/providers/runtime.js +7 -6
  122. package/dist/providers/runtime.js.map +1 -1
  123. package/dist/providers/stripeWebhook.js +39 -10
  124. package/dist/providers/stripeWebhook.js.map +1 -1
  125. package/dist/providers/twilio.js +2 -2
  126. package/dist/proxy/cacheKey.js +9 -2
  127. package/dist/proxy/cacheKey.js.map +1 -1
  128. package/dist/proxy/providerDetector.js +22 -9
  129. package/dist/proxy/providerDetector.js.map +1 -1
  130. package/dist/proxy/proxyHandler.js +57 -22
  131. package/dist/proxy/proxyHandler.js.map +1 -1
  132. package/dist/proxy/requestNormalizer.js +4 -2
  133. package/dist/proxy/requestNormalizer.js.map +1 -1
  134. package/dist/reliability/costGovernance.js +211 -49
  135. package/dist/reliability/costGovernance.js.map +1 -1
  136. package/dist/reliability/index.d.ts +8 -8
  137. package/dist/reliability/index.js +4 -4
  138. package/dist/reliability/index.js.map +1 -1
  139. package/dist/reliability/reconciliation.js +274 -65
  140. package/dist/reliability/reconciliation.js.map +1 -1
  141. package/dist/reliability/runtimeHealth.js +127 -35
  142. package/dist/reliability/runtimeHealth.js.map +1 -1
  143. package/dist/reliability/slo.js +257 -50
  144. package/dist/reliability/slo.js.map +1 -1
  145. package/dist/report/safetyReport.d.ts +6 -0
  146. package/dist/report/safetyReport.js +56 -12
  147. package/dist/report/safetyReport.js.map +1 -1
  148. package/dist/rules/aiRules.js +5 -5
  149. package/dist/rules/aiRules.js.map +1 -1
  150. package/dist/safety/index.d.ts +2 -2
  151. package/dist/safety/index.js +1 -1
  152. package/dist/safety/index.js.map +1 -1
  153. package/dist/safety/safetyController.js +675 -165
  154. package/dist/safety/safetyController.js.map +1 -1
  155. package/dist/scenarios/scenarioBundle.js +204 -71
  156. package/dist/scenarios/scenarioBundle.js.map +1 -1
  157. package/dist/scenarios/scenarioStore.js +88 -29
  158. package/dist/scenarios/scenarioStore.js.map +1 -1
  159. package/dist/security/headerSanitizer.js +52 -10
  160. package/dist/security/headerSanitizer.js.map +1 -1
  161. package/dist/security/secrets.js +10 -5
  162. package/dist/security/secrets.js.map +1 -1
  163. package/dist/server/accessControl.js +37 -10
  164. package/dist/server/accessControl.js.map +1 -1
  165. package/dist/server/createServer.js +1 -1
  166. package/dist/server/createServer.js.map +1 -1
  167. package/dist/server/eventsStore.js +15 -5
  168. package/dist/server/eventsStore.js.map +1 -1
  169. package/dist/server/routes.js +61 -19
  170. package/dist/server/routes.js.map +1 -1
  171. package/dist/server/sse.js +1 -1
  172. package/dist/server/sse.js.map +1 -1
  173. package/dist/setup/sdkDetector.js +7 -2
  174. package/dist/setup/sdkDetector.js.map +1 -1
  175. package/dist/setup/setupGenerator.js +136 -48
  176. package/dist/setup/setupGenerator.js.map +1 -1
  177. package/dist/state/stateExtractor.js +3 -1
  178. package/dist/state/stateExtractor.js.map +1 -1
  179. package/dist/state/stateResolver.js +10 -7
  180. package/dist/state/stateResolver.js.map +1 -1
  181. package/dist/state/stateStore.js +13 -4
  182. package/dist/state/stateStore.js.map +1 -1
  183. package/dist/storage/fileStore.js +12 -4
  184. package/dist/storage/fileStore.js.map +1 -1
  185. package/dist/teamControl/controlPlane.js +846 -174
  186. package/dist/teamControl/controlPlane.js.map +1 -1
  187. package/dist/teamControl/deployment.js +19 -5
  188. package/dist/teamControl/deployment.js.map +1 -1
  189. package/dist/teamControl/index.d.ts +4 -4
  190. package/dist/teamControl/index.js +2 -2
  191. package/dist/teamControl/index.js.map +1 -1
  192. package/dist/tests/testGenerator.js +15 -7
  193. package/dist/tests/testGenerator.js.map +1 -1
  194. package/dist/trust/index.d.ts +2 -2
  195. package/dist/trust/index.js +1 -1
  196. package/dist/trust/index.js.map +1 -1
  197. package/dist/trust/trustLadder.js +309 -63
  198. package/dist/trust/trustLadder.js.map +1 -1
  199. package/dist/worlds/index.d.ts +2 -2
  200. package/dist/worlds/index.js +1 -1
  201. package/dist/worlds/index.js.map +1 -1
  202. package/dist/worlds/worlds.js +364 -65
  203. package/dist/worlds/worlds.js.map +1 -1
  204. package/docs/assets/dashboard.png +0 -0
  205. package/docs/ci.md +49 -49
  206. package/docs/github-actions.md +84 -84
  207. package/docs/mcp.md +58 -52
  208. package/docs/policy.md +63 -61
  209. package/docs/providers/authoring-packs.md +180 -175
  210. package/docs/providers/stripe-core-pack.md +84 -82
  211. package/docs/releases/README.md +13 -0
  212. package/docs/security/action-gateway-threat-model.md +34 -34
  213. package/docs/security/action-ledger-incident-replay-threat-model.md +42 -42
  214. package/docs/security/approval-inbox-threat-model.md +35 -35
  215. package/docs/security/credential-broker-threat-model.md +52 -52
  216. package/docs/security/egress-threat-model.md +126 -126
  217. package/docs/security/inventory-threat-model.md +104 -104
  218. package/docs/security/kill-switch-budgets-threat-model.md +37 -37
  219. package/docs/security/reliability-threat-model.md +111 -111
  220. package/docs/security/trust-ladder-threat-model.md +33 -33
  221. package/docs/telemetry.md +14 -0
  222. package/docs/usage.md +680 -571
  223. package/examples/README.md +10 -10
  224. package/examples/agent-instructions/README.md +39 -39
  225. package/examples/ci-smoke/README.md +21 -21
  226. package/examples/ci-smoke/ghostapi.policy.yaml +22 -22
  227. package/examples/ci-smoke/package.json +9 -9
  228. package/examples/ci-smoke/production-egress.mjs +4 -2
  229. package/examples/ci-smoke/safe.mjs +21 -17
  230. package/examples/evals/README.md +24 -24
  231. package/examples/evals/retry-after.eval.json +71 -52
  232. package/examples/generic-rest/README.md +27 -27
  233. package/examples/github-fetch/README.md +38 -35
  234. package/examples/openai-streaming/README.md +16 -16
  235. package/examples/openai-streaming/streaming-tool-call.mjs +44 -31
  236. package/examples/policy/ghostapi.policy.yaml +27 -27
  237. package/examples/record-replay/README.md +19 -19
  238. package/examples/record-replay/replay-requests.json +22 -22
  239. package/examples/record-replay/stripe-checkout.har.json +30 -30
  240. package/examples/resend-node/README.md +22 -22
  241. package/examples/stripe-node/README.md +35 -35
  242. package/examples/stripe-node/checkout-flow.mjs +87 -61
  243. package/examples/twilio-node/README.md +21 -21
  244. package/examples/worlds/README.md +19 -19
  245. package/examples/worlds/subscription-recovery.mjs +21 -12
  246. package/package.json +28 -6
  247. package/dist/landing/assets/index-BXR41fAD.css +0 -1
  248. package/dist/landing/assets/index-CxWsopzP.css +0 -1
  249. package/dist/landing/assets/index-D8_ggMRE.js +0 -55
  250. package/dist/landing/assets/index-DZlpyhqd.js +0 -55
  251. package/dist/landing/assets/index-Dk-Xezs3.js +0 -55
  252. package/dist/landing/index.html +0 -15
  253. package/dist/landing/landing.d.ts +0 -3
  254. package/dist/landing/landing.js +0 -12
  255. package/dist/landing/landing.js.map +0 -1
  256. package/docs/commercial/README.md +0 -29
  257. package/docs/commercial/data-inventory.md +0 -36
  258. package/docs/commercial/manual-invoicing.md +0 -44
  259. package/docs/commercial/metrics.md +0 -51
  260. package/docs/commercial/pricing.md +0 -103
  261. package/docs/commercial/privacy-policy-draft.md +0 -41
  262. package/docs/commercial/terms-topics-for-counsel.md +0 -51
  263. package/docs/design-partners/README.md +0 -52
  264. package/docs/design-partners/demo-narratives.md +0 -33
  265. package/docs/design-partners/design-partner-offer.md +0 -39
  266. package/docs/design-partners/discovery-questions.md +0 -28
  267. package/docs/design-partners/feedback-capture-template.md +0 -48
  268. package/docs/design-partners/icp-one-pager.md +0 -43
  269. package/docs/design-partners/onboarding-checklist.md +0 -33
  270. package/docs/design-partners/pilot-success-criteria.md +0 -27
  271. package/docs/design-partners/pricing-interview-script.md +0 -18
  272. package/docs/design-partners/telemetry-plan.md +0 -48
  273. package/docs/development/baseline.md +0 -114
  274. package/docs/development/onboarding-smoke.md +0 -37
  275. package/docs/development/verification-0.1.8.md +0 -25
  276. package/docs/enterprise-product-roadmap-ru.md +0 -1879
  277. package/docs/fundraising/README.md +0 -87
  278. package/docs/fundraising/data-room-checklist.md +0 -72
  279. package/docs/fundraising/demo-script.md +0 -52
  280. package/docs/fundraising/design-partners-50.md +0 -74
  281. package/docs/fundraising/launch-posts.md +0 -37
  282. package/docs/fundraising/metrics-and-evidence.md +0 -30
  283. package/docs/fundraising/roadmap-12-month.md +0 -25
  284. package/docs/fundraising/technical-due-diligence-index.md +0 -37
  285. package/docs/fundraising/yc-application.md +0 -25
  286. package/docs/hosted-pilot.md +0 -111
  287. package/docs/operations/disaster-recovery-runbook.md +0 -81
  288. package/docs/operations/kill-switch-runbook.md +0 -32
  289. package/docs/release-checklist.md +0 -83
  290. package/docs/release-migration-and-rollback.md +0 -63
  291. package/docs/release-readiness.md +0 -39
  292. package/docs/team-control-plane.md +0 -72
@@ -1 +1 @@
1
- {"version":3,"file":"worlds.js","sourceRoot":"","sources":["../../src/worlds/worlds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worlds.js","sourceRoot":"","sources":["../../src/worlds/worlds.ts"],"names":[],"mappings":"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"}
Binary file
package/docs/ci.md CHANGED
@@ -1,49 +1,49 @@
1
- # Generic CI Guide
2
-
3
- GhostAPI CI is a four-stage contract: run the project through enforcement, generate a sanitized artifact from that exact run, upload the artifact regardless of policy outcome, and fail the job from the final policy result.
4
-
5
- This currently requires a Linux executor that permits GhostAPI's user, mount, network, and PID namespace preflight. Unsupported hosts fail closed. Do not treat SDK base-URL configuration, an HTTP proxy, or a failed preflight as equivalent enforcement.
6
-
7
- ## Minimal Script
8
-
9
- Set `GHOSTAPI_DATA_DIR` to an ephemeral CI directory and use one immutable GhostAPI package version per CI configuration:
10
-
11
- ```bash
12
- set -u
13
-
14
- export GHOSTAPI_DATA_DIR="$CI_WORKSPACE/.ghostapi-ci"
15
- export GHOSTAPI_VERSION="0.1.8"
16
- npm install --global "@yiaany/ghostapi@$GHOSTAPI_VERSION"
17
-
18
- run_status=0
19
- ghostapi run --policy ghostapi.policy.yaml -- npm test || run_status=$?
20
-
21
- run_path="$(find "$GHOSTAPI_DATA_DIR/runs" -mindepth 2 -maxdepth 2 -name run.json -type f -print | head -n 1)"
22
- evidence_status=0
23
- if [ -n "$run_path" ]; then
24
- ghostapi evidence generate --policy ghostapi.policy.yaml --run "$run_path" --out "$CI_WORKSPACE/ghostapi-evidence.json" --ci || evidence_status=$?
25
- else
26
- ghostapi evidence generate --policy ghostapi.policy.yaml --out "$CI_WORKSPACE/ghostapi-evidence.json" --ci || evidence_status=$?
27
- fi
28
-
29
- # Always upload ghostapi-evidence.json if it exists. It is the evidence record, not CI logs.
30
- test "$run_status" -eq 0
31
- test "$evidence_status" -eq 0
32
- ```
33
-
34
- Replace `npm test` with the integration command for the project. Keep the policy file in source control and run the same command locally before opening a pull request:
35
-
36
- ```bash
37
- GHOSTAPI_DATA_DIR="$(mktemp -d)" ghostapi run --policy ghostapi.policy.yaml -- npm test
38
- ```
39
-
40
- The report writes a canonical JSON artifact with a logical hash. Use `ghostapi evidence view ghostapi-evidence.json` for a concise terminal summary and `ghostapi evidence compare` when comparing known-good reports. Do not upload raw request logs or runtime directories: they are not the CI evidence contract and may contain more information than the sanitized report.
41
-
42
- ## CI Safety Requirements
43
-
44
- - Pin the GhostAPI package to an exact reviewed version and pin third-party CI plugins to immutable identifiers when the platform supports them.
45
- - Give the test job the smallest read-only repository permission possible.
46
- - Keep provider credentials out of the job; the safe fixture and local runtime use fake values only.
47
- - Upload the sanitized evidence in an always-run collection step, then decide the final job result after upload.
48
- - Treat a comment, chat notification, or dashboard summary as a pointer only. The check result and retained artifact are the audit record.
49
- - Run any write-capable notification or API mutation in a separate job that does not execute untrusted contribution code.
1
+ # Generic CI Guide
2
+
3
+ GhostAPI CI is a four-stage contract: run the project through enforcement, generate a sanitized artifact from that exact run, upload the artifact regardless of policy outcome, and fail the job from the final policy result.
4
+
5
+ This currently requires a Linux executor that permits GhostAPI's user, mount, network, and PID namespace preflight. Unsupported hosts fail closed. Do not treat SDK base-URL configuration, an HTTP proxy, or a failed preflight as equivalent enforcement.
6
+
7
+ ## Minimal Script
8
+
9
+ Set `GHOSTAPI_DATA_DIR` to an ephemeral CI directory and use one immutable GhostAPI package version per CI configuration:
10
+
11
+ ```bash
12
+ set -u
13
+
14
+ export GHOSTAPI_DATA_DIR="$CI_WORKSPACE/.ghostapi-ci"
15
+ export GHOSTAPI_VERSION="0.2.1"
16
+ npm install --global "@yiaany/ghostapi@$GHOSTAPI_VERSION"
17
+
18
+ run_status=0
19
+ ghostapi run --policy ghostapi.policy.yaml -- npm test || run_status=$?
20
+
21
+ run_path="$(find "$GHOSTAPI_DATA_DIR/runs" -mindepth 2 -maxdepth 2 -name run.json -type f -print | head -n 1)"
22
+ evidence_status=0
23
+ if [ -n "$run_path" ]; then
24
+ ghostapi evidence generate --policy ghostapi.policy.yaml --run "$run_path" --out "$CI_WORKSPACE/ghostapi-evidence.json" --ci || evidence_status=$?
25
+ else
26
+ ghostapi evidence generate --policy ghostapi.policy.yaml --out "$CI_WORKSPACE/ghostapi-evidence.json" --ci || evidence_status=$?
27
+ fi
28
+
29
+ # Always upload ghostapi-evidence.json if it exists. It is the evidence record, not CI logs.
30
+ test "$run_status" -eq 0
31
+ test "$evidence_status" -eq 0
32
+ ```
33
+
34
+ Replace `npm test` with the integration command for the project. Keep the policy file in source control and run the same command locally before opening a pull request:
35
+
36
+ ```bash
37
+ GHOSTAPI_DATA_DIR="$(mktemp -d)" ghostapi run --policy ghostapi.policy.yaml -- npm test
38
+ ```
39
+
40
+ The report writes a canonical JSON artifact with a logical hash. Use `ghostapi evidence view ghostapi-evidence.json` for a concise terminal summary and `ghostapi evidence compare` when comparing known-good reports. Do not upload raw request logs or runtime directories: they are not the CI evidence contract and may contain more information than the sanitized report.
41
+
42
+ ## CI Safety Requirements
43
+
44
+ - Pin the GhostAPI package to an exact reviewed version and pin third-party CI plugins to immutable identifiers when the platform supports them.
45
+ - Give the test job the smallest read-only repository permission possible.
46
+ - Keep provider credentials out of the job; the safe fixture and local runtime use fake values only.
47
+ - Upload the sanitized evidence in an always-run collection step, then decide the final job result after upload.
48
+ - Treat a comment, chat notification, or dashboard summary as a pointer only. The check result and retained artifact are review evidence, not an immutable audit record.
49
+ - Run any write-capable notification or API mutation in a separate job that does not execute untrusted contribution code.
@@ -1,84 +1,84 @@
1
- # GitHub Actions PR Safety Check
2
-
3
- GhostAPI can make a pull request check fail when its enforced integration run or policy evidence fails. The status check and sanitized JSON artifact are the audit record; a pull request comment is optional convenience output only.
4
-
5
- The repository workflow at [`.github/workflows/ghostapi-pr-safety.yml`](../.github/workflows/ghostapi-pr-safety.yml) is a working reference. It packs the checked-out GhostAPI source, verifies that its package version exactly matches `GHOSTAPI_VERSION`, then installs that exact version before running the smoke fixture. For a consuming repository, install the published package at an exact version instead:
6
-
7
- ```yaml
8
- env:
9
- GHOSTAPI_VERSION: "0.1.8"
10
-
11
- - name: Install pinned GhostAPI
12
- run: npm install --global "@yiaany/ghostapi@$GHOSTAPI_VERSION"
13
- ```
14
-
15
- Update the version only as part of a reviewed GhostAPI upgrade. Keep third-party Actions pinned to full commit SHAs, not mutable tags.
16
-
17
- ## Required Job Shape
18
-
19
- Run the project command through enforcement, then generate evidence from that exact run:
20
-
21
- ```yaml
22
- - name: Run integration tests through enforcement
23
- id: run
24
- continue-on-error: true
25
- run: |
26
- ghostapi run --policy ghostapi.policy.yaml -- npm test
27
- evidence_path="$(find "$GHOSTAPI_DATA_DIR/runs" -mindepth 2 -maxdepth 2 -name run.json -type f -print | head -n 1)"
28
- test -n "$evidence_path"
29
- echo "evidence_path=$evidence_path" >> "$GITHUB_OUTPUT"
30
-
31
- - name: Generate evidence
32
- id: evidence
33
- if: ${{ always() }}
34
- continue-on-error: true
35
- run: |
36
- if [ -n "${{ steps.run.outputs.evidence_path }}" ]; then
37
- ghostapi evidence generate --policy ghostapi.policy.yaml --run "${{ steps.run.outputs.evidence_path }}" --out "$RUNNER_TEMP/ghostapi-evidence/report.json" --ci
38
- else
39
- ghostapi evidence generate --policy ghostapi.policy.yaml --out "$RUNNER_TEMP/ghostapi-evidence/report.json" --ci
40
- fi
41
-
42
- - name: Upload evidence even on a policy failure
43
- if: ${{ always() }}
44
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
45
- with:
46
- name: ghostapi-evidence-${{ github.run_id }}-${{ github.run_attempt }}
47
- path: ${{ runner.temp }}/ghostapi-evidence/report.json
48
- if-no-files-found: error
49
- retention-days: 14
50
-
51
- - name: Fail the check from the policy result
52
- if: ${{ always() }}
53
- run: |
54
- test "${{ steps.run.outcome }}" = success
55
- test "${{ steps.evidence.outcome }}" = success
56
- ```
57
-
58
- Set `GHOSTAPI_DATA_DIR` to a runner-temp directory. `--run` is important: it makes evidence read the isolated run's event log rather than unrelated workspace events. If the launcher failed before creating its run receipt, omit `--run` so GhostAPI still emits a failure artifact with explicit incomplete-evidence warnings. The artifact is sanitized by GhostAPI and contains summaries, categories, counts, and redacted paths rather than raw authorization headers, cookies, request bodies, commands, or policy contents.
59
-
60
- `ghostapi run` currently requires a Linux host that passes its user, mount, network, and PID namespace preflight. It fails closed on unavailable platforms or hosts; do not replace it with a proxy-only fallback and call the result enforced.
61
-
62
- ## Permissions And Comments
63
-
64
- The safety job uses only:
65
-
66
- ```yaml
67
- permissions:
68
- contents: read
69
- ```
70
-
71
- The optional comment job is separate, has only `pull-requests: write`, does not check out or run pull request code, and runs only when the pull request head repository equals the base repository. It finds a bot-owned marker comment and updates it, preventing comment spam. The comment contains only the job result and directs reviewers to the check and artifact.
72
-
73
- Do not use `pull_request_target` to run GhostAPI or project commands from a pull request. For fork pull requests, use the ordinary `pull_request` event, keep the default read-only token, pass no secrets, and skip comment mutation entirely. GitHub does not provide repository secrets to fork-triggered `pull_request` runs, and its `GITHUB_TOKEN` is read-only there. A maintainer must not move the write token into a job that executes untrusted checkout content.
74
-
75
- Configure branch protection (or a ruleset) to require the `Enforced safety check` status check. The workflow also listens to `merge_group` so repositories using GitHub's merge queue receive the required result.
76
-
77
- ## Included Smoke Fixture
78
-
79
- [`examples/ci-smoke`](../examples/ci-smoke) demonstrates both outcomes on a compatible Linux runner:
80
-
81
- - `test:safe` sends a synthetic Stripe-shaped request to the namespace-local GhostAPI endpoint and completes the `ci.safe_ghostapi` policy scenario.
82
- - `test:production-egress` attempts a direct connection to `api.stripe.com`; the loopback-only namespace must make that target command fail.
83
-
84
- The reference workflow treats the expected unsafe-fixture failure as a successful regression test, then generates the report only from the successful safe run.
1
+ # GitHub Actions PR Safety Check
2
+
3
+ GhostAPI can make a pull request check fail when its enforced integration run or policy evidence fails. The status check and sanitized JSON artifact are review evidence; a pull request comment is optional convenience output only. These artifacts are not immutable audit records.
4
+
5
+ The repository workflow at [`.github/workflows/ghostapi-pr-safety.yml`](../.github/workflows/ghostapi-pr-safety.yml) is a working reference. It packs the checked-out GhostAPI source, verifies that its package version exactly matches `GHOSTAPI_VERSION`, then installs that exact version before running the smoke fixture. For a consuming repository, install the published package at an exact version instead:
6
+
7
+ ```yaml
8
+ env:
9
+ GHOSTAPI_VERSION: "0.2.1"
10
+
11
+ - name: Install pinned GhostAPI
12
+ run: npm install --global "@yiaany/ghostapi@$GHOSTAPI_VERSION"
13
+ ```
14
+
15
+ Update the version only as part of a reviewed GhostAPI upgrade. Keep third-party Actions pinned to full commit SHAs, not mutable tags.
16
+
17
+ ## Required Job Shape
18
+
19
+ Run the project command through enforcement, then generate evidence from that exact run:
20
+
21
+ ```yaml
22
+ - name: Run integration tests through enforcement
23
+ id: run
24
+ continue-on-error: true
25
+ run: |
26
+ ghostapi run --policy ghostapi.policy.yaml -- npm test
27
+ evidence_path="$(find "$GHOSTAPI_DATA_DIR/runs" -mindepth 2 -maxdepth 2 -name run.json -type f -print | head -n 1)"
28
+ test -n "$evidence_path"
29
+ echo "evidence_path=$evidence_path" >> "$GITHUB_OUTPUT"
30
+
31
+ - name: Generate evidence
32
+ id: evidence
33
+ if: ${{ always() }}
34
+ continue-on-error: true
35
+ run: |
36
+ if [ -n "${{ steps.run.outputs.evidence_path }}" ]; then
37
+ ghostapi evidence generate --policy ghostapi.policy.yaml --run "${{ steps.run.outputs.evidence_path }}" --out "$RUNNER_TEMP/ghostapi-evidence/report.json" --ci
38
+ else
39
+ ghostapi evidence generate --policy ghostapi.policy.yaml --out "$RUNNER_TEMP/ghostapi-evidence/report.json" --ci
40
+ fi
41
+
42
+ - name: Upload evidence even on a policy failure
43
+ if: ${{ always() }}
44
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
45
+ with:
46
+ name: ghostapi-evidence-${{ github.run_id }}-${{ github.run_attempt }}
47
+ path: ${{ runner.temp }}/ghostapi-evidence/report.json
48
+ if-no-files-found: error
49
+ retention-days: 14
50
+
51
+ - name: Fail the check from the policy result
52
+ if: ${{ always() }}
53
+ run: |
54
+ test "${{ steps.run.outcome }}" = success
55
+ test "${{ steps.evidence.outcome }}" = success
56
+ ```
57
+
58
+ Set `GHOSTAPI_DATA_DIR` to a runner-temp directory. `--run` is important: it makes evidence read the isolated run's event log rather than unrelated workspace events. If the launcher failed before creating its run receipt, omit `--run` so GhostAPI still emits a failure artifact with explicit incomplete-evidence warnings. The artifact is sanitized by GhostAPI and contains summaries, categories, counts, and redacted paths rather than raw authorization headers, cookies, request bodies, commands, or policy contents.
59
+
60
+ `ghostapi run` currently requires a Linux host that passes its user, mount, network, and PID namespace preflight. It fails closed on unavailable platforms or hosts; do not replace it with a proxy-only fallback and call the result enforced.
61
+
62
+ ## Permissions And Comments
63
+
64
+ The safety job uses only:
65
+
66
+ ```yaml
67
+ permissions:
68
+ contents: read
69
+ ```
70
+
71
+ The optional comment job is separate, has only `pull-requests: write`, does not check out or run pull request code, and runs only when the pull request head repository equals the base repository. It finds a bot-owned marker comment and updates it, preventing comment spam. The comment contains only the job result and directs reviewers to the check and artifact.
72
+
73
+ Do not use `pull_request_target` to run GhostAPI or project commands from a pull request. For fork pull requests, use the ordinary `pull_request` event, keep the default read-only token, pass no secrets, and skip comment mutation entirely. GitHub does not provide repository secrets to fork-triggered `pull_request` runs, and its `GITHUB_TOKEN` is read-only there. A maintainer must not move the write token into a job that executes untrusted checkout content.
74
+
75
+ Configure branch protection (or a ruleset) to require the `Enforced safety check` status check. The workflow also listens to `merge_group` so repositories using GitHub's merge queue receive the required result.
76
+
77
+ ## Included Smoke Fixture
78
+
79
+ [`examples/ci-smoke`](../examples/ci-smoke) demonstrates both outcomes on a compatible Linux runner:
80
+
81
+ - `test:safe` sends a synthetic Stripe-shaped request to the namespace-local GhostAPI endpoint and completes the `ci.safe_ghostapi` policy scenario.
82
+ - `test:production-egress` attempts a direct connection to `api.stripe.com`; the loopback-only namespace must make that target command fail.
83
+
84
+ The reference workflow treats the expected unsafe-fixture failure as a successful regression test, then generates the report only from the successful safe run.
package/docs/mcp.md CHANGED
@@ -1,52 +1,58 @@
1
- # GhostAPI MCP Setup
2
-
3
- GhostAPI ships with a local stdio MCP server so coding agents can inspect and control the local API world.
4
-
5
- ## Start MCP
6
-
7
- ```bash
8
- npx @yiaany/ghostapi mcp
9
- ```
10
-
11
- ## Universal Config
12
-
13
- ```json
14
- {
15
- "mcpServers": {
16
- "ghostapi": {
17
- "command": "npx",
18
- "args": ["-y", "@yiaany/ghostapi", "mcp"]
19
- }
20
- }
21
- }
22
- ```
23
-
24
- ## Generate Client Snippets
25
-
26
- ```bash
27
- npx @yiaany/ghostapi setup --write
28
- ```
29
-
30
- This writes copy-ready local snippets under `.ghostapi/agent-configs/` and project instructions for supported agent clients.
31
-
32
- ## Tools
33
-
34
- | Tool | Purpose |
35
- | --- | --- |
36
- | `inspect_state` | Read sanitized local API objects from the configured GhostAPI data directory. |
37
- | `get_traffic_logs` | Inspect recent captured API traffic. |
38
- | `set_api_behavior` | Force a deterministic local response for `method + path`. |
39
- | `toggle_chaos_mode` | Enable or disable local latency and error injection. |
40
-
41
- The HTTP server and MCP process must use the same `GHOSTAPI_DATA_DIR` to share state, behaviors, and persisted Fault Lab configuration. Updates use local inter-process locking; this is not distributed coordination for network filesystems.
42
-
43
- ## Agent Prompt
44
-
45
- ```text
46
- Use the GhostAPI MCP server.
47
-
48
- Keep all third-party API calls local on http://127.0.0.1:8080.
49
- Do not call real providers.
50
-
51
- Use GhostAPI MCP tools to inspect state, read traffic logs, configure deterministic responses, and test failure scenarios.
52
- ```
1
+ # GhostAPI MCP Setup
2
+
3
+ GhostAPI ships with a local stdio MCP server so coding agents can inspect and control the local API world.
4
+
5
+ ## Start MCP
6
+
7
+ ```bash
8
+ npx @yiaany/ghostapi mcp
9
+ ```
10
+
11
+ ## Universal Config
12
+
13
+ ```json
14
+ {
15
+ "mcpServers": {
16
+ "ghostapi": {
17
+ "command": "npx",
18
+ "args": ["-y", "@yiaany/ghostapi@0.2.1", "mcp"]
19
+ }
20
+ }
21
+ }
22
+ ```
23
+
24
+ ## Generate Client Snippets
25
+
26
+ ```bash
27
+ npx @yiaany/ghostapi setup --write
28
+ ```
29
+
30
+ This writes copy-ready local snippets under `.ghostapi/agent-configs/` and project instructions for supported agent clients.
31
+
32
+ Pin the package version in persistent MCP configuration or use a reviewed local installation. An unpinned `npx -y` command may execute a newer package version without a repository change.
33
+
34
+ ## Tools
35
+
36
+ | Tool | Purpose |
37
+ | ------------------- | ----------------------------------------------------------------------------- |
38
+ | `inspect_state` | Read sanitized local API objects from the configured GhostAPI data directory. |
39
+ | `get_traffic_logs` | Inspect recent captured API traffic. |
40
+ | `set_api_behavior` | Force a deterministic local response for `method + path`. |
41
+ | `toggle_chaos_mode` | Enable or disable local latency and error injection. |
42
+
43
+ The HTTP server and MCP process must use the same `GHOSTAPI_DATA_DIR` to share state, behaviors, and persisted Fault Lab configuration. Updates use local inter-process locking; this is not distributed coordination for network filesystems.
44
+
45
+ Connect only trusted local MCP clients. MCP tools can read retained traffic and state and can change simulation behavior. MCP is not an authentication boundary and does not force other processes to route traffic through GhostAPI.
46
+
47
+ ## Agent Prompt
48
+
49
+ ```text
50
+ Use the GhostAPI MCP server.
51
+
52
+ Explicitly configure supported clients to use http://127.0.0.1:8080.
53
+ Do not make live provider calls from this generated workflow.
54
+
55
+ Use GhostAPI MCP tools to inspect state, read traffic logs, configure deterministic responses, and test failure scenarios.
56
+ ```
57
+
58
+ Only a successful Linux `ghostapi run` preflight provides process-level egress enforcement. Base-URL configuration and agent instructions are guidance, not containment.