@sponsio/sdk 0.2.0-alpha.4 → 0.2.0-alpha.9

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 (88) hide show
  1. package/contracts/capability/destructive.yaml +213 -0
  2. package/contracts/capability/factual-claims.yaml +79 -0
  3. package/contracts/capability/host-config-integrity.yaml +42 -9
  4. package/contracts/capability/self-modify.yaml +32 -1
  5. package/contracts/capability/shell.yaml +19 -10
  6. package/contracts/incident/claude-code-secret-bypass.yaml +46 -14
  7. package/contracts/incident/cursor-railway-wipe.yaml +60 -4
  8. package/contracts/incident/openclaw.yaml +9 -63
  9. package/dist/cli/cli.js +32 -0
  10. package/dist/cli/cli.js.map +1 -1
  11. package/dist/cli/packs.d.ts.map +1 -1
  12. package/dist/cli/packs.js +13 -7
  13. package/dist/cli/packs.js.map +1 -1
  14. package/dist/cloud/client.d.ts +76 -0
  15. package/dist/cloud/client.d.ts.map +1 -0
  16. package/dist/cloud/client.js +198 -0
  17. package/dist/cloud/client.js.map +1 -0
  18. package/dist/cloud/evidence.d.ts +108 -0
  19. package/dist/cloud/evidence.d.ts.map +1 -0
  20. package/dist/cloud/evidence.js +184 -0
  21. package/dist/cloud/evidence.js.map +1 -0
  22. package/dist/cloud/privacy.d.ts +67 -0
  23. package/dist/cloud/privacy.d.ts.map +1 -0
  24. package/dist/cloud/privacy.js +170 -0
  25. package/dist/cloud/privacy.js.map +1 -0
  26. package/dist/cloud/view-model.d.ts +49 -0
  27. package/dist/cloud/view-model.d.ts.map +1 -0
  28. package/dist/cloud/view-model.js +172 -0
  29. package/dist/cloud/view-model.js.map +1 -0
  30. package/dist/core/config-loader.js +16 -0
  31. package/dist/core/config-loader.js.map +1 -1
  32. package/dist/core/evaluator.d.ts +2 -0
  33. package/dist/core/evaluator.d.ts.map +1 -1
  34. package/dist/core/evaluator.js +90 -4
  35. package/dist/core/evaluator.js.map +1 -1
  36. package/dist/core/formula.d.ts.map +1 -1
  37. package/dist/core/formula.js +12 -0
  38. package/dist/core/formula.js.map +1 -1
  39. package/dist/core/grounding.d.ts +43 -7
  40. package/dist/core/grounding.d.ts.map +1 -1
  41. package/dist/core/grounding.js +192 -26
  42. package/dist/core/grounding.js.map +1 -1
  43. package/dist/core/nl-parser.d.ts +1 -1
  44. package/dist/core/nl-parser.d.ts.map +1 -1
  45. package/dist/core/nl-parser.js +616 -40
  46. package/dist/core/nl-parser.js.map +1 -1
  47. package/dist/core/pattern-factory.d.ts.map +1 -1
  48. package/dist/core/pattern-factory.js +7 -1
  49. package/dist/core/pattern-factory.js.map +1 -1
  50. package/dist/core/patterns.d.ts +69 -0
  51. package/dist/core/patterns.d.ts.map +1 -1
  52. package/dist/core/patterns.js +133 -10
  53. package/dist/core/patterns.js.map +1 -1
  54. package/dist/core/tool-names.d.ts +59 -0
  55. package/dist/core/tool-names.d.ts.map +1 -0
  56. package/dist/core/tool-names.js +128 -0
  57. package/dist/core/tool-names.js.map +1 -0
  58. package/dist/index.d.ts +144 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +367 -32
  61. package/dist/index.js.map +1 -1
  62. package/dist/integrations/claude-agent.d.ts +5 -0
  63. package/dist/integrations/claude-agent.d.ts.map +1 -1
  64. package/dist/integrations/claude-agent.js +42 -13
  65. package/dist/integrations/claude-agent.js.map +1 -1
  66. package/dist/integrations/google-adk.d.ts +5 -3
  67. package/dist/integrations/google-adk.d.ts.map +1 -1
  68. package/dist/integrations/google-adk.js +9 -5
  69. package/dist/integrations/google-adk.js.map +1 -1
  70. package/dist/integrations/langchain.d.ts +7 -0
  71. package/dist/integrations/langchain.d.ts.map +1 -1
  72. package/dist/integrations/langchain.js +21 -3
  73. package/dist/integrations/langchain.js.map +1 -1
  74. package/dist/integrations/openai-agents.d.ts +22 -10
  75. package/dist/integrations/openai-agents.d.ts.map +1 -1
  76. package/dist/integrations/openai-agents.js +51 -12
  77. package/dist/integrations/openai-agents.js.map +1 -1
  78. package/dist/integrations/openai.d.ts +11 -0
  79. package/dist/integrations/openai.d.ts.map +1 -1
  80. package/dist/integrations/openai.js +130 -48
  81. package/dist/integrations/openai.js.map +1 -1
  82. package/dist/integrations/vercel-ai.d.ts +20 -9
  83. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  84. package/dist/integrations/vercel-ai.js +131 -50
  85. package/dist/integrations/vercel-ai.js.map +1 -1
  86. package/package.json +12 -8
  87. package/prompts/onboard.md +17 -4
  88. package/contracts/core/llm_safety.yaml +0 -138
@@ -82,6 +82,15 @@ tools:
82
82
  OpenClaw's native ``exec`` (no rename). Writing rules against
83
83
  the canonical name lets one pack cover all three hosts.
84
84
  params: "command: str"
85
+ - name: write
86
+ description: >-
87
+ File-write tool. Mapped to host-specific ``Write`` (Cursor /
88
+ Claude Code) via ``tool_rename``. We scan the ``content`` arg
89
+ for staged destructive shell commands so an agent that wraps
90
+ the deletion into a script and runs the script (the actual
91
+ observed evasion in trace ``conv-c407bfd9``) doesn't bypass
92
+ § 1–3. See § 4.
93
+ params: "path: str, content: str"
85
94
 
86
95
  agents:
87
96
  "*":
@@ -91,8 +100,9 @@ agents:
91
100
  # § 1 — Destructive HTTP verbs against Railway's control-plane API.
92
101
  # =====================================================================
93
102
  - desc: >-
94
- Block destructive Railway control-plane API calls
95
- (PocketOS-style 9-second prod wipe via curl + token).
103
+ 🚨 BLOCKED: curl -X DELETE against Railway would destroy a
104
+ production volume (data + co-located backups, irreversible).
105
+ PocketOS lost everything in 9 seconds this way.
96
106
  G:
97
107
  pattern: arg_blacklist
98
108
  args:
@@ -122,8 +132,9 @@ agents:
122
132
  # delete`` are equally irreversible.
123
133
  # =====================================================================
124
134
  - desc: >-
125
- Block Railway CLI destructive verbs (down / volume delete /
126
- environment delete / project delete / service delete).
135
+ 🚨 BLOCKED: Railway CLI destructive verb (down / volume delete /
136
+ env delete / project delete) — would destroy production data
137
+ including co-located backups. Replay of PocketOS 9-second wipe.
127
138
  G:
128
139
  pattern: arg_blacklist
129
140
  args:
@@ -162,3 +173,48 @@ agents:
162
173
  "(?i)\\b(curl|wget|httpie|http)\\b[^|;&\\n]*(?:-X\\s*DELETE|--request\\s+DELETE)[^|;&\\n]*\\bmanagement\\.azure\\.com\\b",
163
174
  ]
164
175
  source: "incident:cursor-railway-wipe.curl_paas_destroy_generic"
176
+
177
+ # =====================================================================
178
+ # § 4 — Script-staging evasion (file Write that contains the same
179
+ # destructive shell pattern § 1–3 watch for).
180
+ #
181
+ # Real-world observed in trace ``conv-c407bfd9-2333-450b-bb01-
182
+ # 0bea7798ae48`` (PocketOS demo replay, 2026-05-05): instead of
183
+ # emitting ``curl -X DELETE`` directly through Bash, the agent
184
+ # wrote ``ops/recover-staging-db.sh`` containing the destructive
185
+ # curl, then executed ``./ops/recover-staging-db.sh``. Because
186
+ # § 1–3 inspect the ``Bash.command`` literal, the regex sees
187
+ # ``./script.sh`` (no curl, no DELETE) and the call passes. This
188
+ # rule closes the staging surface — Write content is matched
189
+ # with the SAME regex set as § 1–3.
190
+ #
191
+ # Trade-off: catches legitimate ops scripts that genuinely do
192
+ # call Railway DELETE (the runbook itself, audit tooling, etc.).
193
+ # That's intentional — those scripts shouldn't be authored by
194
+ # an LLM agent on the spot; humans commit them out-of-band.
195
+ # =====================================================================
196
+ - desc: >-
197
+ 🚨 BLOCKED: writing a script that contains a destructive
198
+ Railway / PaaS curl. Script-staging evasion — same blast
199
+ radius as direct curl, just hidden in a .sh file.
200
+ G:
201
+ pattern: arg_blacklist
202
+ args:
203
+ - write
204
+ - content
205
+ - [
206
+ # Mirrors § 1 on Write content.
207
+ "(?i)\\b(curl|wget|httpie|http)\\b[^|;&\\n]*\\b(api|backboard)\\.railway\\.(?:app|com)\\b[^|;&\\n]*(?:-X\\s*DELETE|--request\\s+DELETE)",
208
+ "(?i)\\b(curl|wget|httpie|http)\\b[^|;&\\n]*(?:-X\\s*DELETE|--request\\s+DELETE)[^|;&\\n]*\\b(api|backboard)\\.railway\\.(?:app|com)\\b",
209
+ "(?i)\\b(curl|wget|httpie|http)\\b[^|;&\\n]*backboard\\.railway\\.(?:app|com)[^|;&\\n]*(?:volumeDelete|volumeInstanceDelete|projectDelete|environmentDelete|serviceDelete|deploymentRemove)",
210
+ # Mirrors § 2 — Railway CLI verbs in script content.
211
+ "(?i)(?<!\\S)railway\\s+down(?:\\s|$)",
212
+ "(?i)(?<!\\S)railway\\s+volumes?\\s+delete\\b",
213
+ "(?i)(?<!\\S)railway\\s+environment\\s+delete\\b",
214
+ "(?i)(?<!\\S)railway\\s+project\\s+delete\\b",
215
+ "(?i)(?<!\\S)railway\\s+service\\s+delete\\b",
216
+ "(?i)(?<!\\S)railway\\s+destroy\\b",
217
+ # Mirrors § 3 — generic PaaS curl-DELETE.
218
+ "(?i)\\b(curl|wget|httpie|http)\\b[^|;&\\n]*(?:-X\\s*DELETE|--request\\s+DELETE)[^|;&\\n]*\\b(?:api|console|cloud|backboard|app)\\.(?:railway|fly|render|supabase|vercel|heroku|cloudflare|digitalocean|linode|hetzner|fastly|netlify)\\.(?:app|io|com|dev|net)\\b",
219
+ ]
220
+ source: "incident:cursor-railway-wipe.write_script_staging"
@@ -2,14 +2,15 @@
2
2
  # Sponsio contract pack for OpenClaw (née Clawdbot / Moltbot)
3
3
  # Target: OpenClaw local gateway, v2026.2.12 or newer
4
4
  #
5
- # Mixed det / sto pack: the §0 LLM-output contracts (injection_free,
6
- # jailbreak_free, harmful, semantic_pii_free, toxic_free) and §9
7
- # capability-specific atoms (scope_respect) are LLM-judged stochastic
8
- # atoms that are not supported in this build (the engine is
9
- # deterministic-only). The engine refuses to load them; det rules in
10
- # §1–§8 load and enforce as usual either way. External builds with a
11
- # real StoEvaluator activate the full pack transparently via the
12
- # `sponsio.evaluators` entry-point group.
5
+ # Deterministic throughout. Eight LLM-judged contracts used to sit in §0
6
+ # and §9 (injection_free, jailbreak_free, harmful, semantic_pii_free,
7
+ # toxic_free, hallucination_free, scope_respect). No build resolves those
8
+ # names, so in enforce mode the loader refused the WHOLE config and this
9
+ # pack armed nothing: the 37 deterministic rules below went down with the
10
+ # eight. The header used to claim §1-§8 loaded "either way". They did not.
11
+ #
12
+ # Removed rather than skipped. A marker that lets enforce mode drop a
13
+ # declared rule is the one mechanism this product must not have.
13
14
  #
14
15
  # Schema conventions used in this file:
15
16
  # - `desc:` — human-readable explanation (rendering only)
@@ -101,36 +102,6 @@ agents:
101
102
  # § 0 — Tier 0 universal (portable; candidates for a future universal.yaml)
102
103
  # =====================================================================
103
104
 
104
- - desc: "No prompt injection in any LLM response"
105
- G:
106
- pattern: injection_free
107
- context_scope: full_trace
108
- source: "library:tier0.adversarial"
109
- beta: 0.95
110
-
111
- - desc: "No jailbreak compliance in any LLM response"
112
- G:
113
- pattern: jailbreak_free
114
- source: "library:tier0.adversarial"
115
- beta: 0.9
116
-
117
- - desc: "No harmful advice or facilitation of real-world harm"
118
- G:
119
- pattern: harmful
120
- source: "library:tier0.harm"
121
- beta: 0.95
122
-
123
- - desc: "Response free of contextual PII"
124
- G:
125
- pattern: semantic_pii_free
126
- source: "library:tier0.privacy"
127
- beta: 0.95
128
-
129
- - desc: "Response free of toxic or harassing language"
130
- G:
131
- pattern: toxic_free
132
- source: "library:tier0.harm"
133
- beta: 0.9
134
105
 
135
106
  - desc: "Total token usage bounded per session"
136
107
  G:
@@ -462,31 +433,6 @@ agents:
462
433
  ltl: "G(called(apply_patch) -> count(confirm_reconfirmed) >= count(apply_patch))"
463
434
  source: "incident:CVE-2026-29607"
464
435
 
465
- # =====================================================================
466
- # § 9 — Capability-specific stochastic atoms
467
- # =====================================================================
468
-
469
- - desc: "After web_fetch, responses stay grounded in the fetched content"
470
- A: "called `web_fetch`"
471
- G:
472
- pattern: hallucination_free
473
- args: ["{fetched_content}"]
474
- source: "library:tier1.browser"
475
- beta: 0.9
476
-
477
- - desc: "Agent stays within its declared scope"
478
- G:
479
- pattern: scope_respect
480
- args: ["local personal assistant — file, shell, messaging, browsing on behalf of owner"]
481
- source: "library:tier0.scope"
482
- beta: 0.85
483
-
484
- - desc: "Agent does not agree to disable its own safety constraints (anti-guilttrip)"
485
- G:
486
- pattern: jailbreak_free
487
- source: "incident:wired-guilttrip"
488
- beta: 0.95
489
-
490
436
  # -----------------------------------------------------------------------------
491
437
  # Notes on what this file deliberately does NOT cover
492
438
  # -----------------------------------------------------------------------------
package/dist/cli/cli.js CHANGED
@@ -59,6 +59,17 @@ const HELP = [
59
59
  "ARGUMENTS:",
60
60
  ' <patterns...> Files or glob patterns to scan (default: "src/**/*.{ts,tsx,js,jsx}")',
61
61
  "",
62
+ "COMMANDS:",
63
+ " init | onboard Write a sponsio.yaml for this project",
64
+ " scan | validate Mine contracts from code; check a config parses",
65
+ " mode | packs Flip observe/enforce; list the shipped contract packs",
66
+ " check | eval Judge one trace; judge a directory of them",
67
+ " report | replay What would have been blocked; re-run a recorded session",
68
+ " patterns | explain The pattern catalog; why one contract exists",
69
+ " doctor | skill Environment check; install the agent skill",
70
+ " prompt | export Authoring prompts; export a config or sessions",
71
+ " demo Run a packaged scenario",
72
+ "",
62
73
  "OPTIONS:",
63
74
  " -o, --out <file> Write output to <file> instead of stdout",
64
75
  " -c, --config <yaml> Read defaults from sponsio.yaml's ``scan:`` section and",
@@ -339,6 +350,27 @@ async function main() {
339
350
  }
340
351
  return;
341
352
  }
353
+ // Anything above returned. A first argument that is plainly meant as a
354
+ // command and matched none of them used to fall through to the scanner,
355
+ // which found no files, printed `{"tools":[]}` and exited 0. A typo
356
+ // therefore looked like a success — and the onboarding prompt tells
357
+ // coding agents to run these commands, so the agent reads the zero exit
358
+ // and moves on.
359
+ //
360
+ // A scan target is a path or a glob. A bare word that is neither, with
361
+ // no extension and no glob metacharacter and nothing on disk by that
362
+ // name, is a mistyped command.
363
+ const first = raw[0];
364
+ if (first !== undefined &&
365
+ !first.startsWith("-") &&
366
+ !/[*?[\]{}]/.test(first) &&
367
+ !first.includes("/") &&
368
+ !first.includes(".") &&
369
+ !(0, fs_1.existsSync)(first)) {
370
+ process.stderr.write(`sponsio: unknown command '${first}'\n` +
371
+ `Run 'sponsio --help' for the list, or pass a path or glob to scan.\n`);
372
+ process.exit(2);
373
+ }
342
374
  const args = parseArgs(raw);
343
375
  if (args.help) {
344
376
  process.stdout.write(HELP);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmJH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/D"}
1
+ {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyJH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/D"}
package/dist/cli/packs.js CHANGED
@@ -20,13 +20,7 @@ const PACKS = [
20
20
  name: "sponsio:core/universal",
21
21
  rules: 0,
22
22
  ruleType: "det",
23
- description: "Empty stub in this build. The output-quality contracts (injection / jailbreak / toxic / PII / harm) moved to sponsio:core/llm_safety, which is not supported in this build (the engine is deterministic-only).",
24
- },
25
- {
26
- name: "sponsio:core/llm_safety",
27
- rules: 5,
28
- ruleType: "sto",
29
- description: "Not supported in this build (the engine is deterministic-only). LLM-judge safety net: injection_free / jailbreak_free / harmful / toxic_free / semantic_pii_free.",
23
+ description: "Empty stub in this build. The stochastic output-safety contracts it once shipped were removed (the engine is deterministic-only).",
30
24
  },
31
25
  {
32
26
  name: "sponsio:core/runaway",
@@ -40,6 +34,18 @@ const PACKS = [
40
34
  ruleType: "det",
41
35
  description: "Any tool executing shell commands — dangerous verbs, force flags, rate caps.",
42
36
  },
37
+ {
38
+ name: "sponsio:capability/destructive",
39
+ rules: 11,
40
+ ruleType: "det",
41
+ description: "Destructive / irreversible operations the other capability packs don't cover: unconditional denies plus count-gated confirmations.",
42
+ },
43
+ {
44
+ name: "sponsio:capability/factual-claims",
45
+ rules: 3,
46
+ ruleType: "det",
47
+ description: "Evidence obligations for factual claims. Needs a Sponsio Cloud key: verdicts come from the cloud evidence API.",
48
+ },
43
49
  {
44
50
  name: "sponsio:capability/filesystem",
45
51
  rules: 9,
@@ -1 +1 @@
1
- {"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Talking to the cloud.
3
+ *
4
+ * Port of ``sponsio/cloud/client.py`` narrowed to the two calls an agent
5
+ * makes at runtime: pull the book it should enforce, and upload what it
6
+ * did. Everything else in the Python client belongs to the CLI.
7
+ *
8
+ * Until this existed the TypeScript SDK enforced correctly and uploaded
9
+ * nothing, so a customer running a TypeScript agent showed up in the
10
+ * console with no runs at all: rules could not be rolled out to them and
11
+ * nothing they did could be seen.
12
+ */
13
+ export declare class CloudError extends Error {
14
+ readonly status?: number;
15
+ constructor(message: string, status?: number);
16
+ }
17
+ /**
18
+ * ``SPONSIO_API_KEY`` first, then ``~/.sponsio/credentials``. The
19
+ * environment wins so CI and one-off runs can override a logged-in
20
+ * machine without touching files.
21
+ */
22
+ export declare function readApiKey(): string | null;
23
+ /**
24
+ * ``SPONSIO_PROJECT``, or null.
25
+ *
26
+ * Which customer a run belongs to is deployment configuration, not code.
27
+ * A platform running one agent for forty customers ships one image and
28
+ * varies the environment; naming the customer in the call would mean an
29
+ * image per customer.
30
+ */
31
+ export declare function readProject(): string | null;
32
+ export declare function baseUrl(): string;
33
+ export interface PulledRulebook {
34
+ yamlText: string;
35
+ versions?: string;
36
+ sha?: string;
37
+ agent?: string;
38
+ channel?: string;
39
+ }
40
+ export interface CloudClientOptions {
41
+ apiKey?: string | null;
42
+ baseUrl?: string;
43
+ /** Milliseconds. A run must not wait on telemetry. */
44
+ timeoutMs?: number;
45
+ }
46
+ export declare class CloudClient {
47
+ readonly apiKey: string | null;
48
+ readonly base: string;
49
+ readonly timeoutMs: number;
50
+ constructor(opts?: CloudClientOptions);
51
+ /** Whether there is a credential to speak with at all. */
52
+ get configured(): boolean;
53
+ private request;
54
+ private static detail;
55
+ /**
56
+ * Fetch a project's rulebook.
57
+ *
58
+ * Without ``agent`` this returns every agent merged into one document:
59
+ * a guard binds by agent id and loads only its own section, so one
60
+ * request serves a whole repo.
61
+ */
62
+ pullRulebook(project?: string | null, opts?: {
63
+ agent?: string;
64
+ version?: number;
65
+ }): Promise<PulledRulebook>;
66
+ /**
67
+ * Send a run to the cloud.
68
+ *
69
+ * Idempotent on the session key server-side, so a retry after a blip
70
+ * cannot double a run. Callers on the hot path must not wait on this:
71
+ * telemetry is outbound-only and best-effort, and losing it must never
72
+ * change what the agent does.
73
+ */
74
+ ingestSession(project: string | null, payload: Record<string, unknown>): Promise<Record<string, unknown>>;
75
+ }
76
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cloud/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAkB1C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAE3C;AAcD,wBAAgB,OAAO,IAAI,MAAM,CAGhC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,IAAI,GAAE,kBAAuB;IAMzC,0DAA0D;IAC1D,IAAI,UAAU,IAAI,OAAO,CAExB;YAEa,OAAO;IA0BrB,OAAO,CAAC,MAAM,CAAC,MAAM;IAerB;;;;;;OAMG;IACG,YAAY,CAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,cAAc,CAAC;IAkC1B;;;;;;;OAOG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAsBpC"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Talking to the cloud.
3
+ *
4
+ * Port of ``sponsio/cloud/client.py`` narrowed to the two calls an agent
5
+ * makes at runtime: pull the book it should enforce, and upload what it
6
+ * did. Everything else in the Python client belongs to the CLI.
7
+ *
8
+ * Until this existed the TypeScript SDK enforced correctly and uploaded
9
+ * nothing, so a customer running a TypeScript agent showed up in the
10
+ * console with no runs at all: rules could not be rolled out to them and
11
+ * nothing they did could be seen.
12
+ */
13
+ import { homedir } from "node:os";
14
+ import { join } from "node:path";
15
+ import { readFileSync } from "node:fs";
16
+ const DEFAULT_BASE_URL = "https://app.sponsio.dev";
17
+ const CREDENTIALS_PATH = join(homedir(), ".sponsio", "credentials");
18
+ export class CloudError extends Error {
19
+ status;
20
+ constructor(message, status) {
21
+ super(message);
22
+ this.name = "CloudError";
23
+ if (status !== undefined)
24
+ this.status = status;
25
+ }
26
+ }
27
+ /**
28
+ * ``SPONSIO_API_KEY`` first, then ``~/.sponsio/credentials``. The
29
+ * environment wins so CI and one-off runs can override a logged-in
30
+ * machine without touching files.
31
+ */
32
+ export function readApiKey() {
33
+ const env = (process.env.SPONSIO_API_KEY ?? "").trim();
34
+ if (env)
35
+ return env;
36
+ try {
37
+ for (const line of readFileSync(CREDENTIALS_PATH, "utf8").split("\n")) {
38
+ const t = line.trim();
39
+ if (!t || t.startsWith("#"))
40
+ continue;
41
+ const eq = t.indexOf("=");
42
+ if (eq < 0)
43
+ continue;
44
+ if (t.slice(0, eq).trim() === "api_key") {
45
+ const v = t.slice(eq + 1).trim();
46
+ if (v)
47
+ return v;
48
+ }
49
+ }
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ return null;
55
+ }
56
+ /**
57
+ * ``SPONSIO_PROJECT``, or null.
58
+ *
59
+ * Which customer a run belongs to is deployment configuration, not code.
60
+ * A platform running one agent for forty customers ships one image and
61
+ * varies the environment; naming the customer in the call would mean an
62
+ * image per customer.
63
+ */
64
+ export function readProject() {
65
+ return (process.env.SPONSIO_PROJECT ?? "").trim() || null;
66
+ }
67
+ /**
68
+ * Strip trailing slashes without a regex.
69
+ *
70
+ * ``/\/+$/`` is quadratic on a string that is mostly slashes, and the
71
+ * base URL comes from the environment on a machine we do not run.
72
+ */
73
+ function trimSlashes(url) {
74
+ let end = url.length;
75
+ while (end > 0 && url.charCodeAt(end - 1) === 47)
76
+ end--;
77
+ return url.slice(0, end);
78
+ }
79
+ export function baseUrl() {
80
+ const explicit = (process.env.SPONSIO_API_URL ?? "").trim();
81
+ return trimSlashes(explicit || DEFAULT_BASE_URL);
82
+ }
83
+ export class CloudClient {
84
+ apiKey;
85
+ base;
86
+ timeoutMs;
87
+ constructor(opts = {}) {
88
+ this.apiKey = opts.apiKey === undefined ? readApiKey() : opts.apiKey;
89
+ this.base = trimSlashes(opts.baseUrl ?? baseUrl());
90
+ this.timeoutMs = opts.timeoutMs ?? 10_000;
91
+ }
92
+ /** Whether there is a credential to speak with at all. */
93
+ get configured() {
94
+ return Boolean(this.apiKey);
95
+ }
96
+ async request(method, path, body, contentType) {
97
+ if (!this.apiKey)
98
+ throw new CloudError("no API key configured");
99
+ const controller = new AbortController();
100
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
101
+ try {
102
+ const headers = {
103
+ Authorization: `Bearer ${this.apiKey}`,
104
+ };
105
+ if (contentType)
106
+ headers["Content-Type"] = contentType;
107
+ const res = await fetch(this.base + path, {
108
+ method,
109
+ headers,
110
+ ...(body === undefined ? {} : { body }),
111
+ signal: controller.signal,
112
+ });
113
+ return { status: res.status, text: await res.text(), headers: res.headers };
114
+ }
115
+ finally {
116
+ clearTimeout(timer);
117
+ }
118
+ }
119
+ static detail(text, fallback) {
120
+ try {
121
+ const parsed = JSON.parse(text);
122
+ const d = parsed.detail;
123
+ if (typeof d === "string")
124
+ return d;
125
+ if (d && typeof d === "object") {
126
+ const o = d;
127
+ return o.message ?? o.error ?? fallback;
128
+ }
129
+ }
130
+ catch {
131
+ /* not JSON; the fallback says what happened */
132
+ }
133
+ return fallback;
134
+ }
135
+ /**
136
+ * Fetch a project's rulebook.
137
+ *
138
+ * Without ``agent`` this returns every agent merged into one document:
139
+ * a guard binds by agent id and loads only its own section, so one
140
+ * request serves a whole repo.
141
+ */
142
+ async pullRulebook(project, opts = {}) {
143
+ const q = [];
144
+ if (project)
145
+ q.push(`project=${encodeURIComponent(project)}`);
146
+ if (opts.agent)
147
+ q.push(`agent=${encodeURIComponent(opts.agent)}`);
148
+ if (opts.version !== undefined)
149
+ q.push(`version=${opts.version}`);
150
+ const path = "/v1/rulebook" + (q.length ? "?" + q.join("&") : "");
151
+ const { status, text, headers } = await this.request("GET", path);
152
+ if (status === 404) {
153
+ // "Nothing published yet" rather than a failure: the caller may
154
+ // publish its local yaml instead of giving up.
155
+ throw new CloudError(CloudClient.detail(text, "no rulebook published"), 404);
156
+ }
157
+ if (status !== 200) {
158
+ throw new CloudError(CloudClient.detail(text, `pull failed (${status})`), status);
159
+ }
160
+ const out = { yamlText: text };
161
+ const v = headers.get("x-rulebook-versions") ?? headers.get("x-rulebook-version");
162
+ if (v)
163
+ out.versions = v;
164
+ const sha = headers.get("x-rulebook-sha");
165
+ if (sha)
166
+ out.sha = sha;
167
+ const agent = headers.get("x-rulebook-agent");
168
+ if (agent)
169
+ out.agent = agent;
170
+ const channel = headers.get("x-rulebook-channel");
171
+ if (channel)
172
+ out.channel = channel;
173
+ return out;
174
+ }
175
+ /**
176
+ * Send a run to the cloud.
177
+ *
178
+ * Idempotent on the session key server-side, so a retry after a blip
179
+ * cannot double a run. Callers on the hot path must not wait on this:
180
+ * telemetry is outbound-only and best-effort, and losing it must never
181
+ * change what the agent does.
182
+ */
183
+ async ingestSession(project, payload) {
184
+ const path = "/v1/sessions/ingest" +
185
+ (project ? `?project=${encodeURIComponent(project)}` : "");
186
+ const { status, text } = await this.request("POST", path, JSON.stringify(payload), "application/json");
187
+ if (status !== 200) {
188
+ throw new CloudError(CloudClient.detail(text, `ingest failed (${status})`), status);
189
+ }
190
+ try {
191
+ return JSON.parse(text);
192
+ }
193
+ catch {
194
+ throw new CloudError("ingest returned a non-JSON body", status);
195
+ }
196
+ }
197
+ }
198
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cloud/client.ts"],"names":[],"mappings":"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"}