@yiaany/ghostapi 0.1.9 → 0.2.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.
- package/CHANGELOG.md +21 -0
- package/CONTRIBUTING.md +132 -119
- package/LICENSE +21 -21
- package/PROVENANCE.md +13 -0
- package/README.md +78 -84
- package/SECURITY.md +56 -53
- package/dist/actions/gateway.js +320 -72
- package/dist/actions/gateway.js.map +1 -1
- package/dist/actions/index.d.ts +2 -2
- package/dist/actions/index.js +1 -1
- package/dist/actions/index.js.map +1 -1
- package/dist/agents/agentPrompt.js +7 -5
- package/dist/agents/agentPrompt.js.map +1 -1
- package/dist/ai/aiClient.js +5 -5
- package/dist/ai/aiClient.js.map +1 -1
- package/dist/ai/aiGenerator.js +66 -26
- package/dist/ai/aiGenerator.js.map +1 -1
- package/dist/ai/genericInference.js +151 -36
- package/dist/ai/genericInference.js.map +1 -1
- package/dist/ai/prompts.js +55 -49
- package/dist/ai/prompts.js.map +1 -1
- package/dist/approvals/approvalInbox.js +649 -133
- package/dist/approvals/approvalInbox.js.map +1 -1
- package/dist/approvals/index.d.ts +2 -2
- package/dist/approvals/index.js +1 -1
- package/dist/approvals/index.js.map +1 -1
- package/dist/behavior/behaviorStore.js +34 -14
- package/dist/behavior/behaviorStore.js.map +1 -1
- package/dist/cache/index.js +14 -5
- package/dist/cache/index.js.map +1 -1
- package/dist/cli/index.js +226 -93
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/openUrl.js +17 -3
- package/dist/cli/openUrl.js.map +1 -1
- package/dist/cli/parser.js +79 -18
- package/dist/cli/parser.js.map +1 -1
- package/dist/config/dataPaths.js +4 -2
- package/dist/config/dataPaths.js.map +1 -1
- package/dist/config/localConfig.js +5 -2
- package/dist/config/localConfig.js.map +1 -1
- package/dist/config/serverConfig.js +11 -5
- package/dist/config/serverConfig.js.map +1 -1
- package/dist/contracts/contract.js +311 -83
- package/dist/contracts/contract.js.map +1 -1
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/credentials/credentialBroker.js +391 -79
- package/dist/credentials/credentialBroker.js.map +1 -1
- package/dist/credentials/index.d.ts +2 -2
- package/dist/credentials/index.js +1 -1
- package/dist/credentials/index.js.map +1 -1
- package/dist/dashboard/app.js +823 -685
- package/dist/dashboard/dashboard.js.map +1 -1
- package/dist/dashboard/index.html +704 -267
- package/dist/dashboard/styles.css +1040 -349
- package/dist/egress/capabilities.js +55 -25
- package/dist/egress/capabilities.js.map +1 -1
- package/dist/egress/linuxBootstrap.js +47 -11
- package/dist/egress/linuxBootstrap.js.map +1 -1
- package/dist/egress/run.js +170 -31
- package/dist/egress/run.js.map +1 -1
- package/dist/errors/errorEngine.js +15 -3
- package/dist/errors/errorEngine.js.map +1 -1
- package/dist/errors/providerErrors.js.map +1 -1
- package/dist/evals/evals.js +304 -78
- package/dist/evals/evals.js.map +1 -1
- package/dist/evals/index.d.ts +2 -2
- package/dist/evals/index.js +1 -1
- package/dist/evals/index.js.map +1 -1
- package/dist/evidence/index.d.ts +2 -2
- package/dist/evidence/index.js +1 -1
- package/dist/evidence/index.js.map +1 -1
- package/dist/evidence/report.d.ts +1 -1
- package/dist/evidence/report.js +263 -79
- package/dist/evidence/report.js.map +1 -1
- package/dist/fault/faultLab.js +24 -9
- package/dist/fault/faultLab.js.map +1 -1
- package/dist/index.d.ts +42 -42
- package/dist/index.js +21 -21
- package/dist/index.js.map +1 -1
- package/dist/inventory/analysis.d.ts +1 -1
- package/dist/inventory/analysis.js +174 -50
- package/dist/inventory/analysis.js.map +1 -1
- package/dist/inventory/index.d.ts +4 -4
- package/dist/inventory/index.js +3 -3
- package/dist/inventory/index.js.map +1 -1
- package/dist/inventory/inventoryController.js +362 -115
- package/dist/inventory/inventoryController.js.map +1 -1
- package/dist/inventory/types.js +680 -140
- package/dist/inventory/types.js.map +1 -1
- package/dist/ledger/actionLedger.js +355 -78
- package/dist/ledger/actionLedger.js.map +1 -1
- package/dist/ledger/index.d.ts +2 -2
- package/dist/ledger/index.js +1 -1
- package/dist/ledger/index.js.map +1 -1
- package/dist/mcp/server.js +26 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/policy/index.d.ts +2 -2
- package/dist/policy/index.js +1 -1
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/policy.js +112 -32
- package/dist/policy/policy.js.map +1 -1
- package/dist/productTelemetry/index.js +71 -20
- package/dist/productTelemetry/index.js.map +1 -1
- package/dist/providers/conformance.js +10 -5
- package/dist/providers/conformance.js.map +1 -1
- package/dist/providers/discord.js +2 -2
- package/dist/providers/generic.js +3 -3
- package/dist/providers/github.js +2 -2
- package/dist/providers/index.d.ts +3 -3
- package/dist/providers/index.js +2 -2
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.js +3 -3
- package/dist/providers/packs/resendPack.js +51 -25
- package/dist/providers/packs/resendPack.js.map +1 -1
- package/dist/providers/packs/stripePack.js +590 -121
- package/dist/providers/packs/stripePack.js.map +1 -1
- package/dist/providers/registry.js +4 -4
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/runtime.js +7 -6
- package/dist/providers/runtime.js.map +1 -1
- package/dist/providers/stripeWebhook.js +39 -10
- package/dist/providers/stripeWebhook.js.map +1 -1
- package/dist/providers/twilio.js +2 -2
- package/dist/proxy/cacheKey.js +9 -2
- package/dist/proxy/cacheKey.js.map +1 -1
- package/dist/proxy/providerDetector.js +22 -9
- package/dist/proxy/providerDetector.js.map +1 -1
- package/dist/proxy/proxyHandler.js +57 -22
- package/dist/proxy/proxyHandler.js.map +1 -1
- package/dist/proxy/requestNormalizer.js +4 -2
- package/dist/proxy/requestNormalizer.js.map +1 -1
- package/dist/reliability/costGovernance.js +211 -49
- package/dist/reliability/costGovernance.js.map +1 -1
- package/dist/reliability/index.d.ts +8 -8
- package/dist/reliability/index.js +4 -4
- package/dist/reliability/index.js.map +1 -1
- package/dist/reliability/reconciliation.js +274 -65
- package/dist/reliability/reconciliation.js.map +1 -1
- package/dist/reliability/runtimeHealth.js +127 -35
- package/dist/reliability/runtimeHealth.js.map +1 -1
- package/dist/reliability/slo.js +257 -50
- package/dist/reliability/slo.js.map +1 -1
- package/dist/report/safetyReport.d.ts +6 -0
- package/dist/report/safetyReport.js +56 -12
- package/dist/report/safetyReport.js.map +1 -1
- package/dist/rules/aiRules.js +5 -5
- package/dist/rules/aiRules.js.map +1 -1
- package/dist/safety/index.d.ts +2 -2
- package/dist/safety/index.js +1 -1
- package/dist/safety/index.js.map +1 -1
- package/dist/safety/safetyController.js +675 -165
- package/dist/safety/safetyController.js.map +1 -1
- package/dist/scenarios/scenarioBundle.js +204 -71
- package/dist/scenarios/scenarioBundle.js.map +1 -1
- package/dist/scenarios/scenarioStore.js +88 -29
- package/dist/scenarios/scenarioStore.js.map +1 -1
- package/dist/security/headerSanitizer.js +52 -10
- package/dist/security/headerSanitizer.js.map +1 -1
- package/dist/security/secrets.js +10 -5
- package/dist/security/secrets.js.map +1 -1
- package/dist/server/accessControl.js +37 -10
- package/dist/server/accessControl.js.map +1 -1
- package/dist/server/createServer.js +1 -1
- package/dist/server/createServer.js.map +1 -1
- package/dist/server/eventsStore.js +15 -5
- package/dist/server/eventsStore.js.map +1 -1
- package/dist/server/routes.js +61 -19
- package/dist/server/routes.js.map +1 -1
- package/dist/server/sse.js +1 -1
- package/dist/server/sse.js.map +1 -1
- package/dist/setup/sdkDetector.js +7 -2
- package/dist/setup/sdkDetector.js.map +1 -1
- package/dist/setup/setupGenerator.js +136 -48
- package/dist/setup/setupGenerator.js.map +1 -1
- package/dist/state/stateExtractor.js +3 -1
- package/dist/state/stateExtractor.js.map +1 -1
- package/dist/state/stateResolver.js +10 -7
- package/dist/state/stateResolver.js.map +1 -1
- package/dist/state/stateStore.js +13 -4
- package/dist/state/stateStore.js.map +1 -1
- package/dist/storage/fileStore.js +12 -4
- package/dist/storage/fileStore.js.map +1 -1
- package/dist/teamControl/controlPlane.js +846 -174
- package/dist/teamControl/controlPlane.js.map +1 -1
- package/dist/teamControl/deployment.js +19 -5
- package/dist/teamControl/deployment.js.map +1 -1
- package/dist/teamControl/index.d.ts +4 -4
- package/dist/teamControl/index.js +2 -2
- package/dist/teamControl/index.js.map +1 -1
- package/dist/tests/testGenerator.js +15 -7
- package/dist/tests/testGenerator.js.map +1 -1
- package/dist/trust/index.d.ts +2 -2
- package/dist/trust/index.js +1 -1
- package/dist/trust/index.js.map +1 -1
- package/dist/trust/trustLadder.js +309 -63
- package/dist/trust/trustLadder.js.map +1 -1
- package/dist/worlds/index.d.ts +2 -2
- package/dist/worlds/index.js +1 -1
- package/dist/worlds/index.js.map +1 -1
- package/dist/worlds/worlds.js +364 -65
- package/dist/worlds/worlds.js.map +1 -1
- package/docs/assets/dashboard.png +0 -0
- package/docs/ci.md +49 -49
- package/docs/github-actions.md +84 -84
- package/docs/mcp.md +58 -52
- package/docs/policy.md +63 -61
- package/docs/providers/authoring-packs.md +180 -175
- package/docs/providers/stripe-core-pack.md +84 -82
- package/docs/releases/README.md +13 -0
- package/docs/security/action-gateway-threat-model.md +34 -34
- package/docs/security/action-ledger-incident-replay-threat-model.md +42 -42
- package/docs/security/approval-inbox-threat-model.md +35 -35
- package/docs/security/credential-broker-threat-model.md +52 -52
- package/docs/security/egress-threat-model.md +126 -126
- package/docs/security/inventory-threat-model.md +104 -104
- package/docs/security/kill-switch-budgets-threat-model.md +37 -37
- package/docs/security/reliability-threat-model.md +111 -111
- package/docs/security/trust-ladder-threat-model.md +33 -33
- package/docs/telemetry.md +14 -0
- package/docs/usage.md +680 -571
- package/examples/README.md +10 -10
- package/examples/agent-instructions/README.md +39 -39
- package/examples/ci-smoke/README.md +21 -21
- package/examples/ci-smoke/ghostapi.policy.yaml +22 -22
- package/examples/ci-smoke/package.json +9 -9
- package/examples/ci-smoke/production-egress.mjs +4 -2
- package/examples/ci-smoke/safe.mjs +21 -17
- package/examples/evals/README.md +24 -24
- package/examples/evals/retry-after.eval.json +71 -52
- package/examples/generic-rest/README.md +27 -27
- package/examples/github-fetch/README.md +38 -35
- package/examples/openai-streaming/README.md +16 -16
- package/examples/openai-streaming/streaming-tool-call.mjs +44 -31
- package/examples/policy/ghostapi.policy.yaml +27 -27
- package/examples/record-replay/README.md +19 -19
- package/examples/record-replay/replay-requests.json +22 -22
- package/examples/record-replay/stripe-checkout.har.json +30 -30
- package/examples/resend-node/README.md +22 -22
- package/examples/stripe-node/README.md +35 -35
- package/examples/stripe-node/checkout-flow.mjs +87 -61
- package/examples/twilio-node/README.md +21 -21
- package/examples/worlds/README.md +19 -19
- package/examples/worlds/subscription-recovery.mjs +21 -12
- package/package.json +28 -6
- package/dist/landing/assets/index-BXR41fAD.css +0 -1
- package/dist/landing/assets/index-CxWsopzP.css +0 -1
- package/dist/landing/assets/index-D8_ggMRE.js +0 -55
- package/dist/landing/assets/index-DZlpyhqd.js +0 -55
- package/dist/landing/assets/index-Dk-Xezs3.js +0 -55
- package/dist/landing/index.html +0 -15
- package/dist/landing/landing.d.ts +0 -3
- package/dist/landing/landing.js +0 -12
- package/dist/landing/landing.js.map +0 -1
- package/docs/commercial/README.md +0 -29
- package/docs/commercial/data-inventory.md +0 -36
- package/docs/commercial/manual-invoicing.md +0 -44
- package/docs/commercial/metrics.md +0 -51
- package/docs/commercial/pricing.md +0 -103
- package/docs/commercial/privacy-policy-draft.md +0 -41
- package/docs/commercial/terms-topics-for-counsel.md +0 -51
- package/docs/design-partners/README.md +0 -52
- package/docs/design-partners/demo-narratives.md +0 -33
- package/docs/design-partners/design-partner-offer.md +0 -39
- package/docs/design-partners/discovery-questions.md +0 -28
- package/docs/design-partners/feedback-capture-template.md +0 -48
- package/docs/design-partners/icp-one-pager.md +0 -43
- package/docs/design-partners/onboarding-checklist.md +0 -33
- package/docs/design-partners/pilot-success-criteria.md +0 -27
- package/docs/design-partners/pricing-interview-script.md +0 -18
- package/docs/design-partners/telemetry-plan.md +0 -48
- package/docs/development/baseline.md +0 -114
- package/docs/development/onboarding-smoke.md +0 -37
- package/docs/development/verification-0.1.8.md +0 -25
- package/docs/enterprise-product-roadmap-ru.md +0 -1879
- package/docs/fundraising/README.md +0 -87
- package/docs/fundraising/data-room-checklist.md +0 -72
- package/docs/fundraising/demo-script.md +0 -52
- package/docs/fundraising/design-partners-50.md +0 -74
- package/docs/fundraising/launch-posts.md +0 -37
- package/docs/fundraising/metrics-and-evidence.md +0 -30
- package/docs/fundraising/roadmap-12-month.md +0 -25
- package/docs/fundraising/technical-due-diligence-index.md +0 -37
- package/docs/fundraising/yc-application.md +0 -25
- package/docs/hosted-pilot.md +0 -111
- package/docs/operations/disaster-recovery-runbook.md +0 -81
- package/docs/operations/kill-switch-runbook.md +0 -32
- package/docs/release-checklist.md +0 -83
- package/docs/release-migration-and-rollback.md +0 -63
- package/docs/release-readiness.md +0 -39
- package/docs/team-control-plane.md +0 -72
|
@@ -1,40 +1,149 @@
|
|
|
1
1
|
const SERVICE_RULES = [
|
|
2
2
|
{ label: "generic:gmail-like", patterns: [/gmail/i, /\/messages\/send/i] },
|
|
3
|
-
{
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
{
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
{
|
|
3
|
+
{
|
|
4
|
+
label: "generic:google-drive-like",
|
|
5
|
+
patterns: [/drive\/v\d/i, /\/files(?:\/|$)/i],
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
label: "generic:google-calendar-like",
|
|
9
|
+
patterns: [/calendar\/v\d/i, /\/calendars(?:\/|$)/i, /\/events(?:\/|$)/i],
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
label: "generic:gitlab-like",
|
|
13
|
+
patterns: [/gitlab/i, /\/projects\/[^/]+\/merge_requests/i],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
label: "generic:slack-like",
|
|
17
|
+
patterns: [/slack/i, /\/api\/chat\.postMessage/i],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
label: "generic:notion-like",
|
|
21
|
+
patterns: [
|
|
22
|
+
/notion/i,
|
|
23
|
+
/\/v\d\/pages(?=\/|\s|$)/i,
|
|
24
|
+
/\/v\d\/databases(?=\/|\s|$)/i,
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: "generic:linear-like",
|
|
29
|
+
patterns: [/linear/i, /\/graphql(?:\/|$)/i],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: "generic:jira-like",
|
|
33
|
+
patterns: [/jira/i, /\/rest\/api\/\d+\/issue/i],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: "generic:trello-like",
|
|
37
|
+
patterns: [/trello/i, /\/1\/cards(?:\/|$)/i, /\/1\/boards(?:\/|$)/i],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: "generic:airtable-like",
|
|
41
|
+
patterns: [/airtable/i, /\/v0\/app[a-z0-9]+/i],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: "generic:supabase-like",
|
|
45
|
+
patterns: [/supabase/i, /\/rest\/v1(?:\/|$)/i],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: "generic:firebase-like",
|
|
49
|
+
patterns: [
|
|
50
|
+
/firebase/i,
|
|
51
|
+
/firestore/i,
|
|
52
|
+
/\/v1\/projects\/[^/]+\/databases/i,
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
label: "generic:aws-like",
|
|
57
|
+
patterns: [
|
|
58
|
+
/amazonaws/i,
|
|
59
|
+
/\/s3\//i,
|
|
60
|
+
/\bqueueurl\b/i,
|
|
61
|
+
/\baction=(?:sendemail|publish|sendmessage)/i,
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
label: "generic:shopify-like",
|
|
66
|
+
patterns: [/shopify/i, /\/admin\/api\//i, /products\.json/i],
|
|
67
|
+
},
|
|
16
68
|
{ label: "generic:hubspot-like", patterns: [/hubspot/i, /\/crm\/v3\//i] },
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
{
|
|
22
|
-
|
|
69
|
+
{
|
|
70
|
+
label: "generic:salesforce-like",
|
|
71
|
+
patterns: [/salesforce/i, /\/services\/data\/v/i],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
label: "generic:sendgrid-like",
|
|
75
|
+
patterns: [/sendgrid/i, /\/v3\/mail\/send/i],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
label: "generic:mailgun-like",
|
|
79
|
+
patterns: [/mailgun/i, /\/messages(?:\/|$)/i],
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
label: "generic:postmark-like",
|
|
83
|
+
patterns: [/postmark/i, /\/email(?:\/|$)/i],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
label: "generic:openai-like",
|
|
87
|
+
patterns: [
|
|
88
|
+
/openai/i,
|
|
89
|
+
/\/v1\/(?:chat\/completions|responses|embeddings)/i,
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
label: "generic:anthropic-like",
|
|
94
|
+
patterns: [/anthropic/i, /\/v1\/messages/i],
|
|
95
|
+
},
|
|
23
96
|
{ label: "generic:deepseek-like", patterns: [/deepseek/i] },
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{
|
|
97
|
+
{
|
|
98
|
+
label: "generic:gemini-like",
|
|
99
|
+
patterns: [/gemini/i, /generativelanguage/i],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
label: "generic:elevenlabs-like",
|
|
103
|
+
patterns: [/elevenlabs/i, /\/v1\/text-to-speech/i],
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
label: "generic:telegram-like",
|
|
107
|
+
patterns: [/telegram/i, /\/bot[^/]+\/sendMessage/i],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
label: "generic:whatsapp-like",
|
|
111
|
+
patterns: [/whatsapp/i, /\/messages(?:\/|$)/i],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
label: "generic:paypal-like",
|
|
115
|
+
patterns: [/paypal/i, /\/v\d\/checkout\/orders/i],
|
|
116
|
+
},
|
|
29
117
|
{ label: "generic:plaid-like", patterns: [/plaid/i, /\/transactions\//i] },
|
|
30
|
-
{
|
|
118
|
+
{
|
|
119
|
+
label: "generic:clerk-like",
|
|
120
|
+
patterns: [/clerk/i, /\/v1\/users(?:\/|$)/i],
|
|
121
|
+
},
|
|
31
122
|
{ label: "generic:auth0-like", patterns: [/auth0/i, /\/api\/v2\//i] },
|
|
32
|
-
{
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
|
|
123
|
+
{
|
|
124
|
+
label: "generic:workos-like",
|
|
125
|
+
patterns: [/workos/i, /\/user_management\//i],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
label: "generic:vercel-like",
|
|
129
|
+
patterns: [/vercel/i, /\/v\d\/projects(?:\/|$)/i],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
label: "generic:netlify-like",
|
|
133
|
+
patterns: [/netlify/i, /\/api\/v\d\/sites/i],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: "generic:cloudflare-like",
|
|
137
|
+
patterns: [/cloudflare/i, /\/client\/v4\//i],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
label: "generic:docker-hub-like",
|
|
141
|
+
patterns: [/docker/i, /\/v2\/repositories/i],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
label: "generic:npm-registry-like",
|
|
145
|
+
patterns: [/registry\.npmjs/i, /\/-\/package\//i],
|
|
146
|
+
},
|
|
38
147
|
];
|
|
39
148
|
export function inferGenericService(path, query = {}, body = null) {
|
|
40
149
|
const haystack = `${path}\n${JSON.stringify(query)}\n${JSON.stringify(body)}`;
|
|
@@ -49,16 +158,19 @@ export function inferResourceName(path) {
|
|
|
49
158
|
const segments = pathWithoutQuery(path)
|
|
50
159
|
.split("/")
|
|
51
160
|
.filter(Boolean)
|
|
52
|
-
.filter((segment) => !/^v\d+(?:\.\d+)?$/i.test(segment) &&
|
|
161
|
+
.filter((segment) => !/^v\d+(?:\.\d+)?$/i.test(segment) &&
|
|
162
|
+
segment !== "api" &&
|
|
163
|
+
segment !== "admin");
|
|
53
164
|
const last = segments.at(-1)?.replace(/\.json$/i, "") ?? "resource";
|
|
54
|
-
const candidate = isLikelyId(last) ? segments.at(-2) ?? "resource" : last;
|
|
55
|
-
return singularize(candidate.replace(/[^a-z0-9_-]/gi, "_").toLowerCase()) ||
|
|
165
|
+
const candidate = isLikelyId(last) ? (segments.at(-2) ?? "resource") : last;
|
|
166
|
+
return (singularize(candidate.replace(/[^a-z0-9_-]/gi, "_").toLowerCase()) ||
|
|
167
|
+
"resource");
|
|
56
168
|
}
|
|
57
169
|
export function isLikelyCollectionPath(method, path) {
|
|
58
170
|
if (method !== "GET")
|
|
59
171
|
return false;
|
|
60
172
|
const last = pathWithoutQuery(path).split("/").filter(Boolean).at(-1) ?? "";
|
|
61
|
-
return !isLikelyId(last) && (/s(?:\.json)?$/i.test(last) || last.includes("."));
|
|
173
|
+
return (!isLikelyId(last) && (/s(?:\.json)?$/i.test(last) || last.includes(".")));
|
|
62
174
|
}
|
|
63
175
|
export function isLikelyResourceByIdPath(path) {
|
|
64
176
|
const last = pathWithoutQuery(path).split("/").filter(Boolean).at(-1) ?? "";
|
|
@@ -68,7 +180,10 @@ function pathWithoutQuery(path) {
|
|
|
68
180
|
return path.split(/[?#]/)[0] ?? path;
|
|
69
181
|
}
|
|
70
182
|
function isLikelyId(value) {
|
|
71
|
-
return /^[a-z]+_[a-z0-9]+$/i.test(value) ||
|
|
183
|
+
return (/^[a-z]+_[a-z0-9]+$/i.test(value) ||
|
|
184
|
+
/^[a-z]+-\d+$/i.test(value) ||
|
|
185
|
+
/^[0-9a-f-]{8,}$/i.test(value) ||
|
|
186
|
+
/^\d{4,}$/.test(value));
|
|
72
187
|
}
|
|
73
188
|
function singularize(value) {
|
|
74
189
|
if (value.endsWith("ies"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genericInference.js","sourceRoot":"","sources":["../../src/ai/genericInference.ts"],"names":[],"mappings":"AAuCA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"genericInference.js","sourceRoot":"","sources":["../../src/ai/genericInference.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/prompts.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { getProviderPack } from "../providers/registry.js";
|
|
2
|
-
import { inferGenericService, inferResourceName, isLikelyCollectionPath, isLikelyResourceByIdPath } from "./genericInference.js";
|
|
2
|
+
import { inferGenericService, inferResourceName, isLikelyCollectionPath, isLikelyResourceByIdPath, } from "./genericInference.js";
|
|
3
3
|
export function getSystemPrompt(provider) {
|
|
4
|
-
const base = `You are GhostAPI, an autonomous local internet simulator.
|
|
5
|
-
Your job is to generate a realistic JSON response for a given authenticated HTTP request to an external API.
|
|
6
|
-
Return ONLY valid JSON. No markdown wrapping unless explicitly requested, no explanations, no text before or after the JSON.
|
|
7
|
-
Keep IDs seemingly real, but prefixed with mock identifiers where appropriate (e.g. mock_cus_123).
|
|
4
|
+
const base = `You are GhostAPI, an autonomous local internet simulator.
|
|
5
|
+
Your job is to generate a realistic JSON response for a given authenticated HTTP request to an external API.
|
|
6
|
+
Return ONLY valid JSON. No markdown wrapping unless explicitly requested, no explanations, no text before or after the JSON.
|
|
7
|
+
Keep IDs seemingly real, but prefixed with mock identifiers where appropriate (e.g. mock_cus_123).
|
|
8
8
|
`;
|
|
9
9
|
const pack = getProviderPack(provider);
|
|
10
10
|
if (pack !== null) {
|
|
@@ -12,70 +12,76 @@ Keep IDs seemingly real, but prefixed with mock identifiers where appropriate (e
|
|
|
12
12
|
}
|
|
13
13
|
switch (provider) {
|
|
14
14
|
case "stripe":
|
|
15
|
-
return `${base}
|
|
16
|
-
- This is the Stripe API.
|
|
17
|
-
- Use Stripe object structures (e.g., {"object": "charge", ...}).
|
|
18
|
-
- IDs usually start with prefixes like ch_, cus_, pi_. Use mock_ch_, mock_cus_, etc.
|
|
19
|
-
- In lists, wrap results in {"object": "list", "data": [], "has_more": false}.
|
|
15
|
+
return `${base}
|
|
16
|
+
- This is the Stripe API.
|
|
17
|
+
- Use Stripe object structures (e.g., {"object": "charge", ...}).
|
|
18
|
+
- IDs usually start with prefixes like ch_, cus_, pi_. Use mock_ch_, mock_cus_, etc.
|
|
19
|
+
- In lists, wrap results in {"object": "list", "data": [], "has_more": false}.
|
|
20
20
|
`;
|
|
21
21
|
case "twilio":
|
|
22
|
-
return `${base}
|
|
23
|
-
- This is the Twilio REST API.
|
|
24
|
-
- Use Twilio structures. Return SID, account_sid, date_created, etc.
|
|
25
|
-
- Always include 'uri' ending in .json.
|
|
22
|
+
return `${base}
|
|
23
|
+
- This is the Twilio REST API.
|
|
24
|
+
- Use Twilio structures. Return SID, account_sid, date_created, etc.
|
|
25
|
+
- Always include 'uri' ending in .json.
|
|
26
26
|
`;
|
|
27
27
|
case "github":
|
|
28
|
-
return `${base}
|
|
29
|
-
- This is the GitHub REST API.
|
|
30
|
-
- Use exact GitHub payload shapes.
|
|
28
|
+
return `${base}
|
|
29
|
+
- This is the GitHub REST API.
|
|
30
|
+
- Use exact GitHub payload shapes.
|
|
31
31
|
`;
|
|
32
32
|
case "discord":
|
|
33
|
-
return `${base}
|
|
34
|
-
- This is the Discord REST API.
|
|
35
|
-
- Discord IDs are large integers represented as strings.
|
|
33
|
+
return `${base}
|
|
34
|
+
- This is the Discord REST API.
|
|
35
|
+
- Discord IDs are large integers represented as strings.
|
|
36
36
|
`;
|
|
37
37
|
case "openai":
|
|
38
|
-
return `${base}
|
|
39
|
-
- This is the OpenAI API.
|
|
40
|
-
- Use OpenAI-like response objects such as chat.completion, response, embedding, model, file, or image generation depending on the path.
|
|
41
|
-
- IDs should use realistic mock prefixes like chatcmpl_mock_, resp_mock_, embd_mock_, model_mock_, file_mock_, or img_mock_.
|
|
42
|
-
- For chat completions, include choices with message objects and usage token counts.
|
|
43
|
-
- For embeddings, include object: "list", data entries, model, and usage.
|
|
44
|
-
- For model/file lists, wrap results in {"object":"list","data":[]}.
|
|
38
|
+
return `${base}
|
|
39
|
+
- This is the OpenAI API.
|
|
40
|
+
- Use OpenAI-like response objects such as chat.completion, response, embedding, model, file, or image generation depending on the path.
|
|
41
|
+
- IDs should use realistic mock prefixes like chatcmpl_mock_, resp_mock_, embd_mock_, model_mock_, file_mock_, or img_mock_.
|
|
42
|
+
- For chat completions, include choices with message objects and usage token counts.
|
|
43
|
+
- For embeddings, include object: "list", data entries, model, and usage.
|
|
44
|
+
- For model/file lists, wrap results in {"object":"list","data":[]}.
|
|
45
45
|
`;
|
|
46
46
|
case "generic":
|
|
47
47
|
default:
|
|
48
|
-
return `${base}
|
|
49
|
-
- This is the generic fallback, not a full official API implementation.
|
|
50
|
-
- Analyze the URL path, method, query, and body to infer the service style and resource type.
|
|
51
|
-
- Preserve safe request body fields in the response when it makes sense, especially names, emails, titles, amounts, status, metadata, message content, and IDs supplied by the caller.
|
|
52
|
-
- Generate mock IDs from the inferred singular resource name: product_mock_xxx, message_mock_xxx, issue_mock_xxx, page_mock_xxx, file_mock_xxx, etc.
|
|
53
|
-
- If the path looks like a collection endpoint, return either a JSON array or a list object with data/items/results according to the service style.
|
|
54
|
-
- If the path looks like a resource-by-id endpoint, return one object matching that resource.
|
|
55
|
-
- For create/update methods, return one created or updated object and echo relevant body fields.
|
|
56
|
-
- Keep the response small, deterministic-looking, and useful for local agent testing.
|
|
48
|
+
return `${base}
|
|
49
|
+
- This is the generic fallback, not a full official API implementation.
|
|
50
|
+
- Analyze the URL path, method, query, and body to infer the service style and resource type.
|
|
51
|
+
- Preserve safe request body fields in the response when it makes sense, especially names, emails, titles, amounts, status, metadata, message content, and IDs supplied by the caller.
|
|
52
|
+
- Generate mock IDs from the inferred singular resource name: product_mock_xxx, message_mock_xxx, issue_mock_xxx, page_mock_xxx, file_mock_xxx, etc.
|
|
53
|
+
- If the path looks like a collection endpoint, return either a JSON array or a list object with data/items/results according to the service style.
|
|
54
|
+
- If the path looks like a resource-by-id endpoint, return one object matching that resource.
|
|
55
|
+
- For create/update methods, return one created or updated object and echo relevant body fields.
|
|
56
|
+
- Keep the response small, deterministic-looking, and useful for local agent testing.
|
|
57
57
|
`;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
export function getUserPrompt(method, path, query, body, provider = "generic") {
|
|
61
|
-
const genericContext = provider === "generic"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
${
|
|
61
|
+
const genericContext = provider === "generic"
|
|
62
|
+
? buildGenericPromptContext(method, path, query, body)
|
|
63
|
+
: "";
|
|
64
|
+
return `Generate a realistic JSON response for this request:
|
|
65
|
+
Method: ${method}
|
|
66
|
+
Path: ${path}
|
|
67
|
+
Query: ${JSON.stringify(query)}
|
|
68
|
+
Body: ${JSON.stringify(body)}
|
|
69
|
+
${genericContext}
|
|
68
70
|
`;
|
|
69
71
|
}
|
|
70
72
|
export function buildGenericPromptContext(method, path, query, body) {
|
|
71
73
|
const serviceLabel = inferGenericService(path, query, body);
|
|
72
74
|
const resourceName = inferResourceName(path);
|
|
73
|
-
const endpointShape = isLikelyCollectionPath(method, path)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
const endpointShape = isLikelyCollectionPath(method, path)
|
|
76
|
+
? "collection"
|
|
77
|
+
: isLikelyResourceByIdPath(path)
|
|
78
|
+
? "resource-by-id"
|
|
79
|
+
: "mutation-or-action";
|
|
80
|
+
return `Generic fallback context:
|
|
81
|
+
Service label: ${serviceLabel}
|
|
82
|
+
Inferred resource: ${resourceName}
|
|
83
|
+
Endpoint shape: ${endpointShape}
|
|
84
|
+
ID format: ${resourceName}_mock_<short_random_suffix>
|
|
79
85
|
Body echo rule: copy safe, relevant body fields into the response instead of inventing unrelated values.`;
|
|
80
86
|
}
|
|
81
87
|
//# sourceMappingURL=prompts.js.map
|
package/dist/ai/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,eAAe,CAAC,QAAsB;IACpD,MAAM,IAAI,GAAG;;;;CAId,CAAC;IAEA,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAChF,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI;;;;;CAKnB,CAAC;QACE,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI;;;;CAInB,CAAC;QACE,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI;;;CAGnB,CAAC;QACE,KAAK,SAAS;YACZ,OAAO,GAAG,IAAI;;;CAGnB,CAAC;QACE,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI;;;;;;;CAOnB,CAAC;QACE,KAAK,SAAS,CAAC;QACf;YACE,OAAO,GAAG,IAAI;;;;;;;;;CASnB,CAAC;IACA,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,IAAY,EACZ,KAA8B,EAC9B,IAAa,EACb,WAAyB,SAAS;IAElC,MAAM,cAAc,GAClB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;UACC,MAAM;QACR,IAAI;SACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;EAC1B,cAAc;CACf,CAAC;AACF,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,IAAY,EACZ,KAA8B,EAC9B,IAAa;IAEb,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC;QACxD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,oBAAoB,CAAC;IAE3B,OAAO;iBACQ,YAAY;qBACR,YAAY;kBACf,aAAa;aAClB,YAAY;yGACgF,CAAC;AAC1G,CAAC"}
|