@codespar/types 0.10.0 → 0.10.5

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
@@ -49,6 +49,7 @@ interface Session extends SessionBase {
49
49
  // Meta-tool wrappers — typed payloads, same wire as session.execute(...)
50
50
  charge(args: ChargeArgs): Promise<ChargeResult>;
51
51
  ship(args: ShipArgs): Promise<ShipResult>;
52
+ shop(args: ShopArgs): Promise<ShopResult>;
52
53
 
53
54
  // Async settlement (codespar_charge / codespar_pay)
54
55
  paymentStatus(toolCallId: string): Promise<PaymentStatusResult>;
@@ -103,11 +104,14 @@ function useSession(session: SessionBase) {
103
104
  | `ConnectionWizardOptions` / `ConnectionWizardResult` / `ConnectionStatusRow` | Wire shapes for `session.connectionWizard(...)` (`codespar_manage_connections`) |
104
105
  | `ChargeArgs` / `ChargeBuyer` / `ChargeResult` | Wire shapes for `session.charge(...)` (`codespar_charge`, inbound) |
105
106
  | `ShipArgs` / `ShipAddress` / `ShipItem` / `ShipResult` | Wire shapes for `session.ship(...)` (`codespar_ship`) |
107
+ | `ShopArgs` / `ShopSearchArgs` / `ShopCheckoutArgs` / `ShopStatusArgs` / `ShopOffer` / `ShopVariant` / `ShopResult` / `ShopSearchResult` / `ShopCheckoutResult` / `ShopStatusResult` / `ShopCheckoutStatus` | Wire shapes for `session.shop(...)` (`codespar_shop`) — discriminated on `action`. Canonical spec: [`docs/codespar-shop-contract.md`](../../docs/codespar-shop-contract.md) |
106
108
  | `PaymentStatus` / `PaymentStatusResult` / `PaymentStatusEvent` | Wire shapes for `session.paymentStatus(toolCallId)` — async webhook correlation |
107
109
  | `PaymentStatusStreamOptions` | Options for `session.paymentStatusStream(...)` — `onUpdate?`, `signal?` |
108
110
  | `VerificationStatus` / `VerificationStatusResult` / `VerificationStatusEvent` | Wire shapes for `session.verificationStatus(toolCallId)` — async KYC poll |
109
111
  | `VerificationStatusStreamOptions` | Options for `session.verificationStatusStream(...)` — `onUpdate?`, `signal?` |
110
112
 
113
+ > **The typed meta-tool facades (`shop()`, `charge()`, `ship()`, …) require a runtime that implements the meta-tool.** These wire types are the contract; the facade in `@codespar/sdk` is a client over `execute("codespar_<tool>", args)`. Against a self-hosted runtime with no registered implementation for that meta-tool, the call returns `Tool not registered`. The types + facade are MIT and self-hostable; the implementation is registered by the runtime the SDK points at.
114
+
111
115
  ## Conformance testing
112
116
 
113
117
  `@codespar/types` ships a `runContractSuite` helper under a `/testing` subpath export. It registers a Vitest test suite that exercises the five `SessionBase` methods against a live HTTP endpoint.
@@ -1,3 +1,30 @@
1
+ /** One leg of the session contract suite. */
2
+ export type ContractLeg = "execute" | "send" | "sendStream" | "connections" | "close";
3
+ /** Options for {@link runContractSuite}. */
4
+ export interface ContractSuiteOptions {
5
+ /**
6
+ * Server ids to post when opening the session. Defaults to `[]`, matching a
7
+ * consumer that brings no servers and relies on whatever the backend
8
+ * provisions by default.
9
+ */
10
+ servers?: string[];
11
+ /**
12
+ * Which legs to register. Defaults to all five legs in declaration order.
13
+ * Pass a subset to run only those legs (e.g. a consumer whose backend does
14
+ * not implement streaming can omit `"sendStream"`).
15
+ */
16
+ legs?: ContractLeg[];
17
+ }
18
+ /**
19
+ * Resolve which legs to run from the options. Returns all five legs (in
20
+ * declaration order) when `legs` is unset, otherwise the provided subset.
21
+ */
22
+ export declare function selectLegs(opts?: ContractSuiteOptions): ContractLeg[];
23
+ /** Build the session-create request body, defaulting `servers` to `[]`. */
24
+ export declare function buildSessionCreateBody(opts?: ContractSuiteOptions): {
25
+ servers: string[];
26
+ user_id: string;
27
+ };
1
28
  export declare class InvalidBaseUrlError extends Error {
2
29
  constructor(url: string);
3
30
  }
@@ -9,8 +36,14 @@ export declare class InvalidBaseUrlError extends Error {
9
36
  * invalid URLs so misconfigured CI environments fail early rather than
10
37
  * leaking the apiKey to an arbitrary host.
11
38
  *
39
+ * The optional `opts` argument lets a consumer choose which servers to post on
40
+ * session open and which subset of legs to run. With no `opts` (or with neither
41
+ * field set) the suite behaves exactly as before: it posts `servers: []` and
42
+ * registers all five legs in declaration order.
43
+ *
12
44
  * @param baseUrl - API base URL (e.g. "https://your-runtime.example" or "http://localhost:3000")
13
45
  * @param apiKey - Bearer token for session creation
46
+ * @param opts - Optional servers list and leg selection (see {@link ContractSuiteOptions})
14
47
  */
15
- export declare function runContractSuite(baseUrl: string, apiKey: string): void;
48
+ export declare function runContractSuite(baseUrl: string, apiKey: string, opts?: ContractSuiteOptions): void;
16
49
  //# sourceMappingURL=contract-suite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-suite.d.ts","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"AAGA,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,GAAG,EAAE,MAAM;CAMxB;AAmKD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA8EtE"}
1
+ {"version":3,"file":"contract-suite.d.ts","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"AAGA,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC;AAEtF,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;CACtB;AAWD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAErE;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAEA;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,GAAG,EAAE,MAAM;CAMxB;AAuKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,oBAAoB,GAC1B,IAAI,CA0FN"}
@@ -1,4 +1,23 @@
1
1
  import { describe, it, expect, afterEach } from "vitest";
2
+ /** Every leg, in the order they are registered for a default run. */
3
+ const ALL_LEGS = [
4
+ "execute",
5
+ "send",
6
+ "sendStream",
7
+ "connections",
8
+ "close",
9
+ ];
10
+ /**
11
+ * Resolve which legs to run from the options. Returns all five legs (in
12
+ * declaration order) when `legs` is unset, otherwise the provided subset.
13
+ */
14
+ export function selectLegs(opts) {
15
+ return opts?.legs ? [...opts.legs] : [...ALL_LEGS];
16
+ }
17
+ /** Build the session-create request body, defaulting `servers` to `[]`. */
18
+ export function buildSessionCreateBody(opts) {
19
+ return { servers: opts?.servers ?? [], user_id: "contract-suite" };
20
+ }
2
21
  export class InvalidBaseUrlError extends Error {
3
22
  constructor(url) {
4
23
  super(`Invalid base URL "${url}" — must use https:// protocol unless the host is localhost`);
@@ -86,7 +105,7 @@ async function* parseSse(body) {
86
105
  }
87
106
  // Builds a minimal SessionBase from raw fetch calls so the contract suite
88
107
  // can run against any backend that implements the codespar session API.
89
- async function openSession(baseUrl, apiKey) {
108
+ async function openSession(baseUrl, apiKey, opts) {
90
109
  const headers = {
91
110
  "Content-Type": "application/json",
92
111
  Authorization: `Bearer ${apiKey}`,
@@ -94,7 +113,7 @@ async function openSession(baseUrl, apiKey) {
94
113
  const res = await fetch(`${baseUrl}/v1/sessions`, {
95
114
  method: "POST",
96
115
  headers,
97
- body: JSON.stringify({ servers: [], user_id: "contract-suite" }),
116
+ body: JSON.stringify(buildSessionCreateBody(opts)),
98
117
  });
99
118
  if (!res.ok) {
100
119
  const text = await res.text();
@@ -176,11 +195,18 @@ async function openSession(baseUrl, apiKey) {
176
195
  * invalid URLs so misconfigured CI environments fail early rather than
177
196
  * leaking the apiKey to an arbitrary host.
178
197
  *
198
+ * The optional `opts` argument lets a consumer choose which servers to post on
199
+ * session open and which subset of legs to run. With no `opts` (or with neither
200
+ * field set) the suite behaves exactly as before: it posts `servers: []` and
201
+ * registers all five legs in declaration order.
202
+ *
179
203
  * @param baseUrl - API base URL (e.g. "https://your-runtime.example" or "http://localhost:3000")
180
204
  * @param apiKey - Bearer token for session creation
205
+ * @param opts - Optional servers list and leg selection (see {@link ContractSuiteOptions})
181
206
  */
182
- export function runContractSuite(baseUrl, apiKey) {
207
+ export function runContractSuite(baseUrl, apiKey, opts) {
183
208
  validateBaseUrl(baseUrl);
209
+ const legs = new Set(selectLegs(opts));
184
210
  describe("session contract suite", () => {
185
211
  let session = null;
186
212
  afterEach(async () => {
@@ -192,66 +218,76 @@ export function runContractSuite(baseUrl, apiKey) {
192
218
  session = null;
193
219
  }
194
220
  });
195
- it("execute() calls a registered tool and returns a ToolResult", async () => {
196
- session = await openSession(baseUrl, apiKey);
197
- const result = await session.execute("codespar_list_tools", {});
198
- expect(result).toMatchObject({
199
- success: expect.any(Boolean),
200
- data: expect.anything(),
201
- error: expect.anything(),
202
- duration: expect.any(Number),
203
- server: expect.any(String),
204
- tool: expect.any(String),
221
+ if (legs.has("execute")) {
222
+ it("execute() calls a registered tool and returns a ToolResult", async () => {
223
+ session = await openSession(baseUrl, apiKey, opts);
224
+ const result = await session.execute("codespar_list_tools", {});
225
+ expect(result).toMatchObject({
226
+ success: expect.any(Boolean),
227
+ data: expect.anything(),
228
+ error: expect.anything(),
229
+ duration: expect.any(Number),
230
+ server: expect.any(String),
231
+ tool: expect.any(String),
232
+ });
205
233
  });
206
- });
207
- it("send() returns a SendResult with a message field", async () => {
208
- session = await openSession(baseUrl, apiKey);
209
- const result = await session.send("hello");
210
- expect(result).toMatchObject({
211
- message: expect.any(String),
212
- tool_calls: expect.any(Array),
213
- iterations: expect.any(Number),
234
+ }
235
+ if (legs.has("send")) {
236
+ it("send() returns a SendResult with a message field", async () => {
237
+ session = await openSession(baseUrl, apiKey, opts);
238
+ const result = await session.send("hello");
239
+ expect(result).toMatchObject({
240
+ message: expect.any(String),
241
+ tool_calls: expect.any(Array),
242
+ iterations: expect.any(Number),
243
+ });
214
244
  });
215
- });
216
- it("sendStream() yields well-typed StreamEvents including done", async () => {
217
- session = await openSession(baseUrl, apiKey);
218
- const events = [];
219
- for await (const ev of session.sendStream("hello")) {
220
- events.push(ev);
221
- if (ev.type === "done" || ev.type === "error")
222
- break;
223
- }
224
- expect(events.length).toBeGreaterThan(0);
225
- const types = new Set(events.map((e) => e.type));
226
- // Every event type must be one of the six discriminated variants.
227
- const valid = new Set([
228
- "user_message",
229
- "assistant_text",
230
- "tool_use",
231
- "tool_result",
232
- "done",
233
- "error",
234
- ]);
235
- for (const t of types) {
236
- expect(valid.has(t)).toBe(true);
237
- }
238
- });
239
- it("connections() returns entries with id and connected fields", async () => {
240
- session = await openSession(baseUrl, apiKey);
241
- const conns = await session.connections();
242
- expect(Array.isArray(conns)).toBe(true);
243
- for (const c of conns) {
244
- expect(typeof c.id).toBe("string");
245
- expect(typeof c.connected).toBe("boolean");
246
- }
247
- });
248
- it("close() transitions session.status to closed", async () => {
249
- session = await openSession(baseUrl, apiKey);
250
- expect(session.status).toBe("active");
251
- await session.close();
252
- expect(session.status).toBe("closed");
253
- session = null; // afterEach guard already closed
254
- });
245
+ }
246
+ if (legs.has("sendStream")) {
247
+ it("sendStream() yields well-typed StreamEvents including done", async () => {
248
+ session = await openSession(baseUrl, apiKey, opts);
249
+ const events = [];
250
+ for await (const ev of session.sendStream("hello")) {
251
+ events.push(ev);
252
+ if (ev.type === "done" || ev.type === "error")
253
+ break;
254
+ }
255
+ expect(events.length).toBeGreaterThan(0);
256
+ const types = new Set(events.map((e) => e.type));
257
+ // Every event type must be one of the six discriminated variants.
258
+ const valid = new Set([
259
+ "user_message",
260
+ "assistant_text",
261
+ "tool_use",
262
+ "tool_result",
263
+ "done",
264
+ "error",
265
+ ]);
266
+ for (const t of types) {
267
+ expect(valid.has(t)).toBe(true);
268
+ }
269
+ });
270
+ }
271
+ if (legs.has("connections")) {
272
+ it("connections() returns entries with id and connected fields", async () => {
273
+ session = await openSession(baseUrl, apiKey, opts);
274
+ const conns = await session.connections();
275
+ expect(Array.isArray(conns)).toBe(true);
276
+ for (const c of conns) {
277
+ expect(typeof c.id).toBe("string");
278
+ expect(typeof c.connected).toBe("boolean");
279
+ }
280
+ });
281
+ }
282
+ if (legs.has("close")) {
283
+ it("close() transitions session.status to closed", async () => {
284
+ session = await openSession(baseUrl, apiKey, opts);
285
+ expect(session.status).toBe("active");
286
+ await session.close();
287
+ expect(session.status).toBe("closed");
288
+ session = null; // afterEach guard — already closed
289
+ });
290
+ }
255
291
  });
256
292
  }
257
293
  //# sourceMappingURL=contract-suite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-suite.js","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-suite.js","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Unit tests for the option-handling surface of the session contract suite.
3
+ *
4
+ * `runContractSuite` registers Vitest cases against a live backend, so it
5
+ * cannot be exercised directly here without a running server. Instead we test
6
+ * the pure helpers that carry all of the option logic — `selectLegs` (leg
7
+ * selection) and `buildSessionCreateBody` (servers passthrough) — plus assert
8
+ * that `runContractSuite` registers only the selected legs by intercepting the
9
+ * `it` registrations through a mocked `vitest` module.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=contract-suite.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-suite.test.d.ts","sourceRoot":"","sources":["../../src/testing/contract-suite.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Unit tests for the option-handling surface of the session contract suite.
3
+ *
4
+ * `runContractSuite` registers Vitest cases against a live backend, so it
5
+ * cannot be exercised directly here without a running server. Instead we test
6
+ * the pure helpers that carry all of the option logic — `selectLegs` (leg
7
+ * selection) and `buildSessionCreateBody` (servers passthrough) — plus assert
8
+ * that `runContractSuite` registers only the selected legs by intercepting the
9
+ * `it` registrations through a mocked `vitest` module.
10
+ */
11
+ import { describe, it, expect, vi } from "vitest";
12
+ import { selectLegs, buildSessionCreateBody, } from "./contract-suite.js";
13
+ describe("selectLegs", () => {
14
+ const ALL = ["execute", "send", "sendStream", "connections", "close"];
15
+ it("returns all five legs in declaration order when no opts given", () => {
16
+ expect(selectLegs()).toEqual(ALL);
17
+ expect(selectLegs({})).toEqual(ALL);
18
+ expect(selectLegs({ servers: ["a"] })).toEqual(ALL);
19
+ });
20
+ it("returns exactly the provided subset", () => {
21
+ expect(selectLegs({ legs: ["execute", "connections", "close"] })).toEqual([
22
+ "execute",
23
+ "connections",
24
+ "close",
25
+ ]);
26
+ });
27
+ it("returns a fresh array (does not alias the caller's legs)", () => {
28
+ const input = ["send"];
29
+ const out = selectLegs({ legs: input });
30
+ expect(out).toEqual(["send"]);
31
+ expect(out).not.toBe(input);
32
+ });
33
+ });
34
+ describe("buildSessionCreateBody", () => {
35
+ it("defaults servers to [] when no opts given", () => {
36
+ expect(buildSessionCreateBody()).toEqual({ servers: [], user_id: "contract-suite" });
37
+ expect(buildSessionCreateBody({})).toEqual({ servers: [], user_id: "contract-suite" });
38
+ });
39
+ it("passes the provided servers list through unchanged", () => {
40
+ expect(buildSessionCreateBody({ servers: ["codespar_shop", "pix"] })).toEqual({
41
+ servers: ["codespar_shop", "pix"],
42
+ user_id: "contract-suite",
43
+ });
44
+ });
45
+ it("leg selection does not affect the posted servers", () => {
46
+ expect(buildSessionCreateBody({ servers: ["only"], legs: ["execute"] })).toEqual({ servers: ["only"], user_id: "contract-suite" });
47
+ });
48
+ });
49
+ /**
50
+ * Leg-gating end-to-end: import the suite against a mocked `vitest` so that
51
+ * `describe`/`it`/`afterEach` are inert spies. Registering the suite then
52
+ * records which leg names were passed to `it`, which is what a real Vitest
53
+ * run would schedule. This proves the default registers all five and a
54
+ * subset registers only those, without booting a backend.
55
+ */
56
+ describe("runContractSuite leg registration", () => {
57
+ async function registeredLegNames(opts) {
58
+ vi.resetModules();
59
+ const names = [];
60
+ vi.doMock("vitest", () => ({
61
+ describe: (_name, fn) => fn(),
62
+ it: (name) => {
63
+ names.push(name);
64
+ },
65
+ afterEach: () => { },
66
+ expect: () => ({}),
67
+ }));
68
+ const mod = await import("./contract-suite.js");
69
+ mod.runContractSuite("https://runtime.example", "csk_test", opts);
70
+ vi.doUnmock("vitest");
71
+ return names;
72
+ }
73
+ it("registers all five legs by default", async () => {
74
+ const names = await registeredLegNames();
75
+ expect(names).toHaveLength(5);
76
+ expect(names.some((n) => n.startsWith("execute()"))).toBe(true);
77
+ expect(names.some((n) => n.startsWith("send()"))).toBe(true);
78
+ expect(names.some((n) => n.startsWith("sendStream()"))).toBe(true);
79
+ expect(names.some((n) => n.startsWith("connections()"))).toBe(true);
80
+ expect(names.some((n) => n.startsWith("close()"))).toBe(true);
81
+ });
82
+ it("registers only the selected legs and skips the rest", async () => {
83
+ const names = await registeredLegNames({ legs: ["execute", "connections", "close"] });
84
+ expect(names).toHaveLength(3);
85
+ expect(names.some((n) => n.startsWith("execute()"))).toBe(true);
86
+ expect(names.some((n) => n.startsWith("connections()"))).toBe(true);
87
+ expect(names.some((n) => n.startsWith("close()"))).toBe(true);
88
+ expect(names.some((n) => n.startsWith("send()"))).toBe(false);
89
+ expect(names.some((n) => n.startsWith("sendStream()"))).toBe(false);
90
+ });
91
+ });
92
+ //# sourceMappingURL=contract-suite.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-suite.test.js","sourceRoot":"","sources":["../../src/testing/contract-suite.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Contract-spec completeness review (named gate).
3
+ *
4
+ * Confirms the standalone `codespar_shop` contract spec
5
+ * (docs/codespar-shop-contract.md) enumerates every action, input
6
+ * field, output field, error code, status value, and cross-cutting
7
+ * stance the contract requirements cover. This is the automated form of
8
+ * the "a reviewer confirms each requirement has a section/table"
9
+ * checklist — each entry below asserts the spec contains the literal
10
+ * token a conforming consumer would search for.
11
+ *
12
+ * If this fails, the spec doc has drifted from the contract surface and
13
+ * must be brought back into sync before merge.
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=shop-contract-completeness.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shop-contract-completeness.test.d.ts","sourceRoot":"","sources":["../../src/testing/shop-contract-completeness.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Contract-spec completeness review (named gate).
3
+ *
4
+ * Confirms the standalone `codespar_shop` contract spec
5
+ * (docs/codespar-shop-contract.md) enumerates every action, input
6
+ * field, output field, error code, status value, and cross-cutting
7
+ * stance the contract requirements cover. This is the automated form of
8
+ * the "a reviewer confirms each requirement has a section/table"
9
+ * checklist — each entry below asserts the spec contains the literal
10
+ * token a conforming consumer would search for.
11
+ *
12
+ * If this fails, the spec doc has drifted from the contract surface and
13
+ * must be brought back into sync before merge.
14
+ */
15
+ import { describe, it, expect } from "vitest";
16
+ import { readFileSync } from "node:fs";
17
+ import { fileURLToPath } from "node:url";
18
+ import { dirname, resolve } from "node:path";
19
+ const here = dirname(fileURLToPath(import.meta.url));
20
+ // packages/types/src/testing → repo root → docs/
21
+ const SPEC_PATH = resolve(here, "../../../../docs/codespar-shop-contract.md");
22
+ const spec = readFileSync(SPEC_PATH, "utf8");
23
+ /** Assert every token appears in the spec; report any that are missing. */
24
+ function expectAllPresent(label, tokens) {
25
+ const missing = tokens.filter((t) => !spec.includes(t));
26
+ expect(missing, `${label}: missing from contract spec`).toEqual([]);
27
+ }
28
+ describe("codespar_shop contract-spec completeness", () => {
29
+ it("enumerates the closed action set", () => {
30
+ expectAllPresent("actions", [
31
+ "`search`",
32
+ "`checkout`",
33
+ "`checkout_status`",
34
+ "closed",
35
+ "`invalid_args`",
36
+ ]);
37
+ });
38
+ it("documents every input field per action", () => {
39
+ expectAllPresent("search inputs", ["`query`", "`limit`", "`merchant`"]);
40
+ expectAllPresent("checkout inputs", [
41
+ "`items`",
42
+ "`url`",
43
+ "items XOR url",
44
+ "`consumer_id`",
45
+ "`buyer`",
46
+ "`address`",
47
+ "`variant_id`",
48
+ "`quantity`",
49
+ "`seller`",
50
+ "`cep`",
51
+ ]);
52
+ expectAllPresent("status inputs", ["`checkout_session_id`"]);
53
+ });
54
+ it("documents every output field + the ShopOffer/ShopVariant shapes", () => {
55
+ expectAllPresent("offer/variant", [
56
+ "`ShopOffer`",
57
+ "`ShopVariant`",
58
+ "`product_id`",
59
+ "`sku_id`",
60
+ "`price_minor`",
61
+ "`currency`",
62
+ "`available`",
63
+ "`variants`",
64
+ ]);
65
+ expectAllPresent("status output", [
66
+ "`total_minor`",
67
+ "`pix_copia_e_cola`",
68
+ "`order_status`",
69
+ "`error`",
70
+ ]);
71
+ expectAllPresent("zero-result", ["`products: []`"]);
72
+ });
73
+ it("documents the state machine", () => {
74
+ expectAllPresent("state machine", [
75
+ "`in_progress`",
76
+ "`ready_for_payment`",
77
+ "`canceled`",
78
+ "Poll-after-terminal",
79
+ "no `expired` status today",
80
+ ]);
81
+ });
82
+ it("enumerates the error taxonomy + channels", () => {
83
+ expectAllPresent("errors", [
84
+ "`invalid_args`",
85
+ "`provider_error`",
86
+ "`browser_worker_unconfigured`",
87
+ "`browser_worker_failed`",
88
+ "`browser_worker_checkout_failed`",
89
+ "`browser_worker_meli_failed`",
90
+ "`browser_worker_async_start_failed`",
91
+ "`browser_worker_status_failed`",
92
+ "`meli_url_required`",
93
+ "`items_required`",
94
+ ]);
95
+ expect(spec).toMatch(/KYC.*NOT part of this contract/s);
96
+ });
97
+ it("records vtex_identity_required as net-new", () => {
98
+ expectAllPresent("vtex identity", ["`vtex_identity_required`", "net-new"]);
99
+ });
100
+ it("documents merchant stance, the enforced limit, and pagination", () => {
101
+ expectAllPresent("merchant + limits", [
102
+ "open string",
103
+ "catch-all",
104
+ "1..20",
105
+ "enforce-clamped",
106
+ ]);
107
+ expect(spec).toMatch(/Pagination is deferred/);
108
+ });
109
+ it("records the unversioned-v0 + additive versioning stance", () => {
110
+ expectAllPresent("versioning", [
111
+ "Unversioned v0",
112
+ "additive",
113
+ ]);
114
+ });
115
+ it("documents rail tagging as informational, not control flow", () => {
116
+ expectAllPresent("rail tagging", [
117
+ "Rail tagging",
118
+ "`rail`",
119
+ "informational",
120
+ ]);
121
+ });
122
+ it("documents the capability token, redaction + abort obligations", () => {
123
+ expectAllPresent("obligations", [
124
+ 'capabilities: ["shop"]',
125
+ "advisory",
126
+ "redacted from logs",
127
+ "non-authoritative",
128
+ "session.shop(",
129
+ ]);
130
+ });
131
+ });
132
+ //# sourceMappingURL=shop-contract-completeness.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shop-contract-completeness.test.js","sourceRoot":"","sources":["../../src/testing/shop-contract-completeness.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Canonical `codespar_shop` wire fixtures.
3
+ *
4
+ * One per action/status, typed against the contract interfaces so they
5
+ * cannot drift from the published types. A conformance test in any
6
+ * registrant repo can import these and assert that its implementation
7
+ * returns the same shapes (subset-shape: a registrant MAY add optional
8
+ * fields beyond these, but MUST carry every field present here).
9
+ *
10
+ * The same fixtures are mirrored as JSON for the Python round-trip test
11
+ * (packages/python/tests/_fixtures/shop_canonical.json) — keep the two
12
+ * in sync by hand; any drift is a wire-contract break.
13
+ */
14
+ import type { ShopSearchResult, ShopCheckoutResult, ShopStatusResult } from "../types.js";
15
+ /** `search` → flattened offers. Zero results would be `products: []`. */
16
+ export declare const SHOP_SEARCH_FIXTURE: ShopSearchResult;
17
+ /** `search` matching nothing — a success result, not an error. */
18
+ export declare const SHOP_SEARCH_EMPTY_FIXTURE: ShopSearchResult;
19
+ /** `checkout` → async start. `status` is always the literal in_progress. */
20
+ export declare const SHOP_CHECKOUT_FIXTURE: ShopCheckoutResult;
21
+ /** `checkout_status` still running. */
22
+ export declare const SHOP_STATUS_IN_PROGRESS_FIXTURE: ShopStatusResult;
23
+ /** `checkout_status` terminal success — carries the payable Pix. */
24
+ export declare const SHOP_STATUS_READY_FIXTURE: ShopStatusResult;
25
+ /** `checkout_status` terminal failure — carries the error. */
26
+ export declare const SHOP_STATUS_CANCELED_FIXTURE: ShopStatusResult;
27
+ /** Every canonical fixture, keyed by a stable name for cross-repo use. */
28
+ export declare const SHOP_FIXTURES: {
29
+ readonly search: ShopSearchResult;
30
+ readonly search_empty: ShopSearchResult;
31
+ readonly checkout: ShopCheckoutResult;
32
+ readonly status_in_progress: ShopStatusResult;
33
+ readonly status_ready_for_payment: ShopStatusResult;
34
+ readonly status_canceled: ShopStatusResult;
35
+ };
36
+ //# sourceMappingURL=shop-fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shop-fixtures.d.ts","sourceRoot":"","sources":["../../src/testing/shop-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,EAAE,gBAuBjC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,yBAAyB,EAAE,gBAGvC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,EAAE,kBAInC,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,+BAA+B,EAAE,gBAG7C,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,EAAE,gBAOvC,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B,EAAE,gBAI1C,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Canonical `codespar_shop` wire fixtures.
3
+ *
4
+ * One per action/status, typed against the contract interfaces so they
5
+ * cannot drift from the published types. A conformance test in any
6
+ * registrant repo can import these and assert that its implementation
7
+ * returns the same shapes (subset-shape: a registrant MAY add optional
8
+ * fields beyond these, but MUST carry every field present here).
9
+ *
10
+ * The same fixtures are mirrored as JSON for the Python round-trip test
11
+ * (packages/python/tests/_fixtures/shop_canonical.json) — keep the two
12
+ * in sync by hand; any drift is a wire-contract break.
13
+ */
14
+ /** `search` → flattened offers. Zero results would be `products: []`. */
15
+ export const SHOP_SEARCH_FIXTURE = {
16
+ rail: "vtex",
17
+ products: [
18
+ {
19
+ product_id: "prod_1",
20
+ sku_id: "sku_1",
21
+ title: "Ração para gato 1kg",
22
+ price_minor: 4990,
23
+ currency: "BRL",
24
+ image: "https://example.test/img/sku_1.jpg",
25
+ url: "https://cobasi.test/p/sku_1",
26
+ available: true,
27
+ variants: [
28
+ {
29
+ sku_id: "sku_1",
30
+ title: "1kg",
31
+ price_minor: 4990,
32
+ currency: "BRL",
33
+ available: true,
34
+ },
35
+ ],
36
+ },
37
+ ],
38
+ };
39
+ /** `search` matching nothing — a success result, not an error. */
40
+ export const SHOP_SEARCH_EMPTY_FIXTURE = {
41
+ rail: "vtex",
42
+ products: [],
43
+ };
44
+ /** `checkout` → async start. `status` is always the literal in_progress. */
45
+ export const SHOP_CHECKOUT_FIXTURE = {
46
+ checkout_session_id: "cks_abc123",
47
+ status: "in_progress",
48
+ message: "checkout started",
49
+ };
50
+ /** `checkout_status` still running. */
51
+ export const SHOP_STATUS_IN_PROGRESS_FIXTURE = {
52
+ checkout_session_id: "cks_abc123",
53
+ status: "in_progress",
54
+ };
55
+ /** `checkout_status` terminal success — carries the payable Pix. */
56
+ export const SHOP_STATUS_READY_FIXTURE = {
57
+ checkout_session_id: "cks_abc123",
58
+ status: "ready_for_payment",
59
+ rail: "vtex",
60
+ total_minor: 4990,
61
+ pix_copia_e_cola: "00020126580014br.gov.bcb.pix0136cks-fixture5204000053039865802BR6304ABCD",
62
+ order_status: "pending",
63
+ };
64
+ /** `checkout_status` terminal failure — carries the error. */
65
+ export const SHOP_STATUS_CANCELED_FIXTURE = {
66
+ checkout_session_id: "cks_def456",
67
+ status: "canceled",
68
+ error: "browser_worker_checkout_failed",
69
+ };
70
+ /** Every canonical fixture, keyed by a stable name for cross-repo use. */
71
+ export const SHOP_FIXTURES = {
72
+ search: SHOP_SEARCH_FIXTURE,
73
+ search_empty: SHOP_SEARCH_EMPTY_FIXTURE,
74
+ checkout: SHOP_CHECKOUT_FIXTURE,
75
+ status_in_progress: SHOP_STATUS_IN_PROGRESS_FIXTURE,
76
+ status_ready_for_payment: SHOP_STATUS_READY_FIXTURE,
77
+ status_canceled: SHOP_STATUS_CANCELED_FIXTURE,
78
+ };
79
+ //# sourceMappingURL=shop-fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shop-fixtures.js","sourceRoot":"","sources":["../../src/testing/shop-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE;QACR;YACE,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,oCAAoC;YAC3C,GAAG,EAAE,6BAA6B;YAClC,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,mBAAmB,EAAE,YAAY;IACjC,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AAEF,uCAAuC;AACvC,MAAM,CAAC,MAAM,+BAA+B,GAAqB;IAC/D,mBAAmB,EAAE,YAAY;IACjC,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,mBAAmB,EAAE,YAAY;IACjC,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,0EAA0E;IAC5F,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,4BAA4B,GAAqB;IAC5D,mBAAmB,EAAE,YAAY;IACjC,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,gCAAgC;CACxC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,mBAAmB;IAC3B,YAAY,EAAE,yBAAyB;IACvC,QAAQ,EAAE,qBAAqB;IAC/B,kBAAkB,EAAE,+BAA+B;IACnD,wBAAwB,EAAE,yBAAyB;IACnD,eAAe,EAAE,4BAA4B;CACrC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -90,6 +90,43 @@ export interface Session extends SessionBase {
90
90
  * the router picks the cheapest carrier per request.
91
91
  */
92
92
  ship(args: ShipArgs): Promise<ShipResult>;
93
+ /**
94
+ * Record money movement in a double-entry ledger, read account
95
+ * balances, or create accounts. Typed wrapper around
96
+ * `execute("codespar_ledger", {...})`. Routes to the tenant's
97
+ * self-hosted Lerian Midaz instance (multi-currency, multi-asset,
98
+ * immutable + auditable). Distinct from pay/charge (those move real
99
+ * money via PSPs) — this is the system of record / books.
100
+ */
101
+ ledger(args: LedgerArgs): Promise<LedgerResult>;
102
+ /**
103
+ * Issue and control payment cards (codespar_issue). Typed wrapper
104
+ * around `execute("codespar_issue", {...})`. Routes to Pomelo
105
+ * card-issuing — card-virtual / card-physical / card-control
106
+ * (freeze/unfreeze/cancel) / card-get. The agent-spend-card
107
+ * primitive; distinct from pay/charge which move money.
108
+ */
109
+ issue(args: IssueArgs): Promise<IssueResult>;
110
+ /**
111
+ * Buy-side shopping: catalog search → async checkout → Pix mint.
112
+ * Typed wrapper around `execute("codespar_shop", {...})`. The
113
+ * discriminated `ShopArgs`/`ShopResult` give the action-correct
114
+ * result type per action without an untyped cast.
115
+ *
116
+ * Checkout is async: `{action:"checkout"}` returns
117
+ * `{checkout_session_id, status:"in_progress"}`; poll
118
+ * `{action:"checkout_status", checkout_session_id}` until
119
+ * `ready_for_payment` (carries `pix_copia_e_cola`) or `canceled`
120
+ * (carries `error`). Settle the returned Pix via a separate payment
121
+ * tool — settlement and governance are out of this contract.
122
+ *
123
+ * A session declares the `shop` capability to surface this method
124
+ * (the `capabilities: ["shop"]` token); see the contract spec.
125
+ * Requires a runtime that implements the `codespar_shop` meta-tool —
126
+ * a self-hosted OSS runtime with no registered implementation returns
127
+ * "Tool not registered".
128
+ */
129
+ shop(args: ShopArgs): Promise<ShopResult>;
93
130
  mcp?: {
94
131
  url: string;
95
132
  headers: Record<string, string>;
@@ -192,6 +229,247 @@ export interface ShipResult {
192
229
  cost_minor?: number;
193
230
  raw?: unknown;
194
231
  }
232
+ /**
233
+ * Ledger args. Three actions over a tenant's self-hosted double-entry
234
+ * ledger (Lerian Midaz). Mirrors the backend's MetaLedgerArgs
235
+ * (codespar-enterprise) so the wire payload matches byte-for-byte.
236
+ * - entry Post an n:n journal transaction (source debits must
237
+ * equal destination credits, same asset)
238
+ * - balance Read an account's balances
239
+ * - account Create an account for an asset
240
+ * The connection (base_url + org_id + ledger_id) is operator-seeded,
241
+ * never passed by the agent. Amounts are in MINOR units (cents).
242
+ */
243
+ export interface LedgerLeg {
244
+ /** Account alias, e.g. "@wallet/user_123". */
245
+ account: string;
246
+ /** Amount in minor units (cents). */
247
+ amount: number;
248
+ }
249
+ export interface LedgerArgs {
250
+ /** entry | balance | account. */
251
+ action: "entry" | "balance" | "account";
252
+ /** Asset / currency code for entry + account (BRL, USD, USDC, ...). */
253
+ asset?: string;
254
+ /** Decimal places for the asset. Default 2 (fiat); JPY=0, most
255
+ * crypto=6/8. */
256
+ scale?: number;
257
+ /** Debit side(s) of an entry. Required for action=entry. */
258
+ source?: LedgerLeg[];
259
+ /** Credit side(s) of an entry. Required for action=entry. */
260
+ destination?: LedgerLeg[];
261
+ /** Transaction description (entry only). */
262
+ description?: string;
263
+ /** Account UUID to read balances for. Required for action=balance. */
264
+ account?: string;
265
+ /** Account alias for action=account, e.g. "@wallet/user_123". */
266
+ alias?: string;
267
+ /** Account display name (action=account). */
268
+ name?: string;
269
+ /** Midaz account type (deposit, savings, external). Default deposit.
270
+ * action=account only. */
271
+ type?: string;
272
+ /** Free-form metadata stored on the entry / account. */
273
+ metadata?: Record<string, unknown>;
274
+ }
275
+ export interface LedgerResult {
276
+ /** Transaction or account id (entry / account actions). */
277
+ id?: string | null;
278
+ status?: string;
279
+ /** Account id echoed back on creation. */
280
+ account_id?: string | null;
281
+ alias?: string | null;
282
+ /** Per-asset available + on-hold amounts (action=balance). */
283
+ balances?: unknown;
284
+ raw?: unknown;
285
+ }
286
+ /**
287
+ * Card-issuing args. Four actions over a card-issuing provider (Pomelo).
288
+ * Mirrors the backend's MetaIssueArgs (codespar-enterprise) so the wire
289
+ * payload matches byte-for-byte. Asset-agnostic — the program currency
290
+ * is set on the card program, not per call.
291
+ * - card-virtual Issue a virtual card (active immediately)
292
+ * - card-physical Issue a physical card (needs shipping_address)
293
+ * - card-control Freeze / unfreeze / cancel an existing card
294
+ * - card-get Read a card's status
295
+ */
296
+ export interface IssueArgs {
297
+ action: "card-virtual" | "card-physical" | "card-control" | "card-get";
298
+ /** Cardholder id (maps to Pomelo user_id). Required to issue. */
299
+ cardholder_id?: string;
300
+ /** Card program / BIN (maps to Pomelo affinity_group_id). Required to
301
+ * issue. */
302
+ program_id?: string;
303
+ /** Card id — required for card-control / card-get. */
304
+ card_id?: string;
305
+ /** Control verb: freeze→BLOCKED, unfreeze→ACTIVE, cancel→DISABLED. */
306
+ control?: "freeze" | "unfreeze" | "cancel";
307
+ /** Reason stamped on a control action. */
308
+ reason?: string;
309
+ /** Shipping address for card-physical. */
310
+ shipping_address?: Record<string, unknown>;
311
+ metadata?: Record<string, unknown>;
312
+ }
313
+ export interface IssueResult {
314
+ id?: string | null;
315
+ status?: string | null;
316
+ card_type?: string | null;
317
+ last_four?: string | null;
318
+ cardholder_id?: string | null;
319
+ program_id?: string | null;
320
+ raw?: unknown;
321
+ }
322
+ /**
323
+ * Buy-side shopping primitive: catalog search → checkout → Pix mint.
324
+ * Three actions over the canonical async/flattened wire shape:
325
+ * - search Find offers for a query at a merchant
326
+ * - checkout Start an async checkout (returns a session id)
327
+ * - checkout_status Poll a checkout session to terminal state
328
+ *
329
+ * The contract is the source of truth for the wire payload; the
330
+ * full consumer-facing specification (schemas, error table, state
331
+ * machine, versioning stance) lives in docs/codespar-shop-contract.md.
332
+ *
333
+ * The contract stops at minting a payable `pix_copia_e_cola`; it does
334
+ * NOT settle money and performs no KYC / mandate / cap check. Those are
335
+ * separate tools with separate governance — a returned Pix is a payment
336
+ * request, not an approved purchase.
337
+ *
338
+ * The typed `session.shop()` facade requires a runtime that implements
339
+ * the `codespar_shop` meta-tool. A self-hosted OSS runtime with no
340
+ * registered implementation returns "Tool not registered".
341
+ */
342
+ /** One buyable SKU under a `ShopOffer`. */
343
+ export interface ShopVariant {
344
+ /**
345
+ * The ready-to-buy SKU id. Note the field-name asymmetry the contract
346
+ * documents (not a bug): pass this `sku_id` as the checkout item's
347
+ * `variant_id`. The product id is NOT buyable — only the SKU is.
348
+ */
349
+ sku_id: string;
350
+ title?: string;
351
+ /** Integer minor units (centavos). */
352
+ price_minor?: number;
353
+ /** ISO-4217 currency code (default "BRL"). */
354
+ currency?: string;
355
+ available: boolean;
356
+ }
357
+ /** A flattened catalog offer returned by `search`. */
358
+ export interface ShopOffer {
359
+ product_id: string;
360
+ /** Offer-level SKU when the offer has a single buyable SKU. */
361
+ sku_id?: string;
362
+ title?: string;
363
+ /** Integer minor units (centavos). */
364
+ price_minor?: number;
365
+ /** ISO-4217 currency code (default "BRL"). */
366
+ currency?: string;
367
+ image?: string;
368
+ url?: string;
369
+ available: boolean;
370
+ variants: ShopVariant[];
371
+ }
372
+ /** A line item for a VTEX-rail `checkout`. */
373
+ export interface ShopCheckoutItem {
374
+ /** The buyable SKU — pass `ShopVariant.sku_id` here. */
375
+ variant_id: string;
376
+ /** Defaults to 1 when omitted. */
377
+ quantity?: number;
378
+ /** VTEX marketplace sub-seller id for a third-party SKU. */
379
+ seller?: string;
380
+ }
381
+ /** Optional vaulted buyer profile merged with the saved profile. */
382
+ export interface ShopBuyer {
383
+ name?: string;
384
+ email?: string;
385
+ cpf?: string;
386
+ phone?: string;
387
+ }
388
+ /** Optional vaulted delivery address; `cep` required when present. */
389
+ export interface ShopAddress {
390
+ cep: string;
391
+ street?: string;
392
+ number?: string;
393
+ complement?: string;
394
+ neighborhood?: string;
395
+ city?: string;
396
+ state?: string;
397
+ }
398
+ /** Search the catalog for offers. */
399
+ export interface ShopSearchArgs {
400
+ action: "search";
401
+ /** Free-form query (required). */
402
+ query: string;
403
+ /** Result cap, enforce-clamped to 1..20 (default 10). */
404
+ limit?: number;
405
+ /** Open merchant string resolved to a rail at runtime. */
406
+ merchant?: string;
407
+ }
408
+ /**
409
+ * Start a checkout. The "items XOR url, gated by rail" rule: pass
410
+ * `items` for the VTEX rail, or `url` for the Mercado Livre PDP rail —
411
+ * not both. Returns immediately with a session id; poll
412
+ * `checkout_status` for the terminal Pix.
413
+ */
414
+ export interface ShopCheckoutArgs {
415
+ action: "checkout";
416
+ merchant?: string;
417
+ /** VTEX rail: line items by SKU. */
418
+ items?: ShopCheckoutItem[];
419
+ /** Mercado Livre rail: the product-detail-page URL. */
420
+ url?: string;
421
+ /** Buyer scope; defaults to the calling agent's id when omitted. */
422
+ consumer_id?: string;
423
+ buyer?: ShopBuyer;
424
+ address?: ShopAddress;
425
+ }
426
+ /** Poll a checkout session for its terminal state. */
427
+ export interface ShopStatusArgs {
428
+ action: "checkout_status";
429
+ checkout_session_id: string;
430
+ }
431
+ /**
432
+ * Discriminated on `action`, so a caller gets the action-correct
433
+ * result type without an untyped cast (the closed action set is
434
+ * `search | checkout | checkout_status`; default `search`).
435
+ */
436
+ export type ShopArgs = ShopSearchArgs | ShopCheckoutArgs | ShopStatusArgs;
437
+ /** Terminal/non-terminal checkout-status values. */
438
+ export type ShopCheckoutStatus = "in_progress" | "ready_for_payment" | "canceled";
439
+ /** Result of `search`. Zero results is `products: []`, not an error. */
440
+ export interface ShopSearchResult {
441
+ rail: string;
442
+ products: ShopOffer[];
443
+ }
444
+ /** Result of `checkout` — always async, status is `in_progress`. */
445
+ export interface ShopCheckoutResult {
446
+ checkout_session_id: string;
447
+ status: "in_progress";
448
+ /** Advisory free-text status message. */
449
+ message?: string;
450
+ }
451
+ /**
452
+ * Result of `checkout_status`. `pix_copia_e_cola` + `total_minor` are
453
+ * present only at `ready_for_payment`; `error` only at `canceled`.
454
+ */
455
+ export interface ShopStatusResult {
456
+ checkout_session_id: string;
457
+ status: ShopCheckoutStatus;
458
+ rail?: string;
459
+ /** Integer minor units (centavos). */
460
+ total_minor?: number;
461
+ /** The payable Pix copia-e-cola — present only at ready_for_payment. */
462
+ pix_copia_e_cola?: string;
463
+ order_status?: string;
464
+ /** Failure detail — present only at canceled. */
465
+ error?: string;
466
+ }
467
+ /**
468
+ * Discriminated result union mirroring `ShopArgs`. A `ready_for_payment`
469
+ * status result exposes typed `pix_copia_e_cola` + `total_minor`; a
470
+ * `canceled` result exposes typed `error` — no `unknown` cast.
471
+ */
472
+ export type ShopResult = ShopSearchResult | ShopCheckoutResult | ShopStatusResult;
195
473
  export type PaymentStatus = "pending" | "succeeded" | "failed" | "refunded" | "updated" | "unknown";
196
474
  export interface PaymentStatusEvent {
197
475
  event_type: string;
@@ -462,4 +740,72 @@ export interface AuthResult {
462
740
  authorizeUrl: string;
463
741
  expiresAt: string;
464
742
  }
743
+ /**
744
+ * Execution context passed to a meta-tool hook.
745
+ *
746
+ * This is the public, strict subset of the context a registrant receives:
747
+ * only the trusted, scope-defining fields cross the boundary. A registrant
748
+ * that needs richer internal context (database handles, provider clients,
749
+ * etc.) constructs it itself, derived ONLY from the trusted `orgId`/
750
+ * `projectId` here — never from agent-supplied input. The core never
751
+ * widens this shape; widening happens inside the registrant.
752
+ */
753
+ export interface MetaToolExecutionContext {
754
+ /** Tenant/org the calling session is scoped to (authorization root). */
755
+ orgId: string;
756
+ /** Project the session is scoped to; null for system-wide contexts. */
757
+ projectId: string | null;
758
+ /** The session driving this execution. */
759
+ sessionId: string;
760
+ /** Optional least-privilege agent scope; defaults to the caller. */
761
+ agentId?: string | null;
762
+ /** Whether this runs against live or test rails. */
763
+ environment?: "live" | "test";
764
+ /** Abort signal — registrants SHOULD honor it to cancel in-flight work. */
765
+ signal?: AbortSignal;
766
+ }
767
+ /**
768
+ * Advertised definition of a meta-tool, fed to tool-listing surfaces
769
+ * (`codespar_list_tools`, the chat-loop catalog) so the tools a runtime
770
+ * advertises track what is actually registered.
771
+ */
772
+ export interface MetaToolDefinition {
773
+ name: string;
774
+ description: string;
775
+ input_schema: {
776
+ type: "object";
777
+ properties: Record<string, unknown>;
778
+ required?: string[];
779
+ };
780
+ }
781
+ /** Result envelope a meta-tool hook returns. */
782
+ export interface MetaToolResult {
783
+ /** Identifier of the server/provider that produced the result. */
784
+ server_id: string;
785
+ /** The tool's output payload. */
786
+ output: unknown;
787
+ /** Wall-clock duration of the execution, in milliseconds. */
788
+ duration_ms: number;
789
+ }
790
+ /**
791
+ * Meta-tool hook — the fifth plugin hook. Lets any implementation register
792
+ * a named, higher-level tool (a "meta-tool") that the runtime dispatches by
793
+ * name through the standard execute path, alongside the four existing hooks
794
+ * (`PolicyHook`/`ObservabilityHook`/`SecretsHook`/`IntegrationHook`).
795
+ *
796
+ * A registered hook runs arbitrary in-process code on the execute path, so
797
+ * it is trusted by construction — treat a third-party registrant with the
798
+ * same scrutiny as any dependency you import and call. The seam does not
799
+ * sandbox registrants.
800
+ */
801
+ export interface MetaToolHook {
802
+ /** Diagnostic id for this registrant, e.g. "example". */
803
+ id: string;
804
+ /** Meta-tool names this hook serves. */
805
+ handles: string[];
806
+ /** Optional advertised definitions for tool-listing surfaces. */
807
+ definitions?(): MetaToolDefinition[];
808
+ /** Execute a meta-tool by name with the public execution context. */
809
+ execute(name: string, input: Record<string, unknown>, ctx: MetaToolExecutionContext): Promise<MetaToolResult>;
810
+ }
465
811
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codespar/types",
3
- "version": "0.10.0",
3
+ "version": "0.10.5",
4
4
  "description": "Shared session interface contract for codespar runtimes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,6 +15,10 @@
15
15
  "import": "./dist/testing/contract-suite.js",
16
16
  "types": "./dist/testing/contract-suite.d.ts"
17
17
  }
18
+ },
19
+ "./testing/shop-fixtures": {
20
+ "import": "./dist/testing/shop-fixtures.js",
21
+ "types": "./dist/testing/shop-fixtures.d.ts"
18
22
  }
19
23
  },
20
24
  "files": [