@extrovert.dev/sdk 0.1.0-pre.10 → 0.1.0-pre.11

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 CHANGED
@@ -30,7 +30,7 @@ for a stable release:
30
30
  npm install @extrovert.dev/sdk@next
31
31
  ```
32
32
 
33
- Pin `@extrovert.dev/sdk@0.1.0-pre.10` when a dogfood test needs a reproducible contract snapshot.
33
+ Pin `@extrovert.dev/sdk@0.1.0-pre.11` when a dogfood test needs a reproducible contract snapshot.
34
34
  Requires Node 18+ for global `fetch` and Web Crypto.
35
35
 
36
36
  ## Build and use from source
@@ -529,7 +529,7 @@ a wire protocol (there is no `/v1/contract` endpoint).
529
529
  ```ts
530
530
  import { CONTRACT_VERSION, CONTRACT_MANIFEST } from "@extrovert.dev/sdk";
531
531
 
532
- CONTRACT_VERSION; // "0.1.0-pre.10": provisional, pre-1.0; pin it
532
+ CONTRACT_VERSION; // "0.1.0-pre.11": provisional, pre-1.0; pin it
533
533
  CONTRACT_MANIFEST.stability; // "provisional"
534
534
  CONTRACT_MANIFEST.core_shapes; // ["ReviewIntent","ReviewFeedback","DiffJson","Rule","ReviewEvent"]
535
535
  ```
@@ -550,7 +550,7 @@ page and the agent skills (`extrovert-send-email`, `extrovert-writing-rules`).
550
550
  The Review-Loop shapes are an **open, documented contract: versioned *with* this SDK** (not a wire
551
551
  protocol; there is no `/v1/contract` endpoint). Three guarantees:
552
552
 
553
- - **One version, everywhere.** `CONTRACT_VERSION` is **`0.1.0-pre.10`**, reconciled across the SDK package
553
+ - **One version, everywhere.** `CONTRACT_VERSION` is **`0.1.0-pre.11`**, reconciled across the SDK package
554
554
  version, the MCP server, and the OpenAPI `info.version`. Pin it; pin `CONTRACT_MANIFEST` for the
555
555
  exact shape set you built against.
556
556
  - **Named, documented types.** The five canonical shapes: `ReviewIntent`, `ReviewFeedback`,
@@ -581,7 +581,7 @@ EXTROVERT_API_BASE_URL=mock npx tsx examples/wait-for-otp.ts
581
581
 
582
582
  ## Status
583
583
 
584
- > **Note.** This source SDK tracks the `/v1` contract at `CONTRACT_VERSION` `0.1.0-pre.10`: a
584
+ > **Note.** This source SDK tracks the `/v1` contract at `CONTRACT_VERSION` `0.1.0-pre.11`: a
585
585
  > deliberate **prerelease**, pre-1.0, expect additive change. The offline `mock` transport models the
586
586
  > live server closely enough to reproduce a 422 `intent_required` and a queued review, so build and
587
587
  > test against it before you have a key. Install from the `next` tag until a stable release is cut.
@@ -589,3 +589,30 @@ EXTROVERT_API_BASE_URL=mock npx tsx examples/wait-for-otp.ts
589
589
  ---
590
590
 
591
591
  MIT © Message Science. *A side gate for agents.*
592
+
593
+ ## Explicitly delegated administration
594
+
595
+ Use an API-audience connection token or independently issued `ev_credential_...` credential with
596
+ explicit Full account control. Ordinary `pk_agent_...` keys do not grant administration.
597
+
598
+ ```ts
599
+ const client = new Extrovert({ apiKey: process.env.EXTROVERT_API_KEY });
600
+ const identity = await client.administration.call("adminMe", {});
601
+ const actions = client.administration.list({ search: "project", limit: 10 });
602
+ const schema = client.administration.describe("createProject");
603
+ // Use an organization returned by adminMe and the requested project name.
604
+ const project = await client.administration.call("createProject", {
605
+ path: { org_id: organizationId },
606
+ body: { name: "Support", slug: "support" },
607
+ });
608
+ ```
609
+
610
+ Inputs and outputs are typed from the customer OpenAPI contract. Read state after an ambiguous
611
+ mutation result; mutations are not automatically retried. Current human roles remain the ceiling
612
+ and private platform access is excluded. The original full-control connection expires after
613
+ 24 hours by default; refresh does not extend it. Credentials it creates, including admin
614
+ credentials, survive independently and require separate revocation.
615
+
616
+ For offline catalog and project-creation demos, pass `transport: "mock"` and the exported
617
+ `ADMINISTRATIVE_FIXTURE_KEY` as `apiKey`. Other administrative execution fixtures fail explicitly;
618
+ use a test HTTP server through the custom `fetch` option to test additional workflows.