@1claw/sdk 0.61.12 → 0.61.14
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/README.md +15 -5
- package/dist/generated/api-types.d.ts +648 -1
- package/dist/generated/api-types.d.ts.map +1 -1
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -419,7 +419,7 @@ Key properties:
|
|
|
419
419
|
|
|
420
420
|
### TEE Enforcement (Pro+)
|
|
421
421
|
|
|
422
|
-
Lock down agents so signing and execution
|
|
422
|
+
Lock down agents so signing and execution **must** happen in the hardware enclave (Shroud TEE). The vault enforces it by forwarding to Shroud, not by rejecting you.
|
|
423
423
|
|
|
424
424
|
```typescript
|
|
425
425
|
await client.agents.update(agentId, {
|
|
@@ -429,13 +429,12 @@ await client.agents.update(agentId, {
|
|
|
429
429
|
```
|
|
430
430
|
|
|
431
431
|
When `intents_require_tee` is true:
|
|
432
|
-
- Transaction submit/sign requests
|
|
433
|
-
-
|
|
432
|
+
- Transaction submit/sign requests are signed inside Shroud's TEE whichever host you call — the vault forwards a request that arrives at `api.1claw.co` to Shroud on the agent's behalf (vault ≥ 0.61.19), so the SDK needs no special `baseUrl`
|
|
433
|
+
- Direct calls to `shroud.1claw.co` still work and are required for DPoP-bound tokens
|
|
434
434
|
|
|
435
435
|
When `execution_require_tee` is true:
|
|
436
|
-
- Execute requests
|
|
436
|
+
- Execute requests run on Shroud's TEE execution surface — forced by the vault, no client routing needed
|
|
437
437
|
- All direct secret reads by the agent are blocked — forces use of Execution Intent bindings
|
|
438
|
-
- Agents must route through `shroud.1claw.co`
|
|
439
438
|
|
|
440
439
|
Both require `intents_api_enabled` / `execution_intents_enabled` to be on first.
|
|
441
440
|
|
|
@@ -636,6 +635,17 @@ const client = createClient({
|
|
|
636
635
|
// Tokens refresh transparently — just make API calls
|
|
637
636
|
```
|
|
638
637
|
|
|
638
|
+
The exchange response also says what the agent is entitled to (vault ≥ 0.61.17), so a tool host can shape its surface without a second call:
|
|
639
|
+
|
|
640
|
+
```typescript
|
|
641
|
+
const res = await client.auth.agentToken({ api_key: "ocv_..." });
|
|
642
|
+
res.data?.entitlements;
|
|
643
|
+
// { intents_api: true, execution_intents: false, execution_require_tee: false, intents_require_tee: false,
|
|
644
|
+
// cards: false, memory: true, shroud: false, discoverable: false, treasury_signer: false, has_delegations: false }
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
Changing a claim-bearing agent field (`scopes`, `vault_ids`, `is_active`, `intents_api_enabled`, `shroud_enabled`, `execution_intents_enabled`, `*_require_tee`, `environment`) via `client.agents.update()` revokes the agent's outstanding JWTs; the SDK's next request re-exchanges automatically.
|
|
648
|
+
|
|
639
649
|
## DPoP (Proof-of-Possession)
|
|
640
650
|
|
|
641
651
|
Enable [DPoP (RFC 9449)](https://datatracker.ietf.org/doc/html/rfc9449) to bind tokens to the client's ephemeral keypair. When enabled, the SDK generates a P-256 ECDSA keypair at startup and attaches a `DPoP` proof JWT to every request — stolen tokens are unusable without the matching private key.
|