@codespar/sdk 0.1.0 → 0.2.2

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
@@ -74,6 +74,10 @@ const loop = await session.loop({
74
74
  | `session.mcp` | MCP transport URL and headers |
75
75
  | `session.close()` | Close session |
76
76
 
77
+ ## Need more?
78
+
79
+ For production workloads with governance, audit trails, policy engines, self-hosted runtimes, and enterprise commerce primitives (mandates, escrow, payment routing), see **[CodeSpar Enterprise](https://codespar.dev/enterprise)**.
80
+
77
81
  ## License
78
82
 
79
83
  MIT — [codespar.dev](https://codespar.dev)
@@ -1,2 +1,9 @@
1
+ /**
2
+ * @codespar/sdk basic tests.
3
+ *
4
+ * The 0.1.0 test suite assumed an older client-shaped API and has been
5
+ * replaced for 0.2.0. Comprehensive integration tests (mocking fetch
6
+ * against the api.codespar.dev contract) are tracked for a follow-up.
7
+ */
1
8
  export {};
2
9
  //# sourceMappingURL=codespar.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codespar.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/codespar.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"codespar.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/codespar.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,257 +1,215 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
- import { CodeSpar, SessionConfigSchema } from "../index.js";
3
- import { createSession } from "../session.js";
4
- /* ── Helpers ── */
5
- function mockTool(overrides = {}) {
6
- return {
7
- name: "ZOOP_CREATE_CHARGE",
8
- slug: "zoop_create_charge",
9
- description: "Create a Pix charge",
10
- server: "zoop",
11
- inputSchema: { type: "object", properties: { amount: { type: "number" } } },
12
- ...overrides,
13
- };
14
- }
15
- function successResult(tool = "ZOOP_CREATE_CHARGE") {
16
- return { success: true, data: { id: "ch_1" }, duration: 42, server: "zoop", tool };
17
- }
18
- function failResult(tool = "ZOOP_CREATE_CHARGE") {
19
- return { success: false, data: null, error: "500: Internal Server Error", duration: 10, server: "zoop", tool };
20
- }
21
- function mockFetchResponse(body, ok = true, status = 200) {
22
- return vi.fn().mockResolvedValue({
23
- ok,
24
- status,
25
- json: () => Promise.resolve(body),
26
- text: () => Promise.resolve(JSON.stringify(body)),
27
- });
28
- }
29
- /* ── CodeSpar constructor ── */
30
- describe("CodeSpar", () => {
31
- const originalEnv = { ...process.env };
32
- afterEach(() => {
33
- process.env = { ...originalEnv };
34
- });
35
- it("throws without API key", () => {
1
+ /**
2
+ * @codespar/sdk basic tests.
3
+ *
4
+ * The 0.1.0 test suite assumed an older client-shaped API and has been
5
+ * replaced for 0.2.0. Comprehensive integration tests (mocking fetch
6
+ * against the api.codespar.dev contract) are tracked for a follow-up.
7
+ */
8
+ import { describe, it, expect, vi, afterEach } from "vitest";
9
+ import { CodeSpar } from "../index.js";
10
+ import { SessionConfigSchema } from "../types.js";
11
+ describe("CodeSpar constructor", () => {
12
+ it("requires an API key", () => {
13
+ const prev = process.env.CODESPAR_API_KEY;
36
14
  delete process.env.CODESPAR_API_KEY;
37
- expect(() => new CodeSpar()).toThrow("CodeSpar API key is required");
38
- });
39
- it("accepts apiKey via config", () => {
40
- const cs = new CodeSpar({ apiKey: "ak_test" });
41
- expect(cs).toBeInstanceOf(CodeSpar);
42
- });
43
- it("reads API key from env when not in config", () => {
44
- process.env.CODESPAR_API_KEY = "ak_env";
45
- const cs = new CodeSpar();
46
- expect(cs).toBeInstanceOf(CodeSpar);
15
+ try {
16
+ expect(() => new CodeSpar({})).toThrow(/API key is required/);
17
+ }
18
+ finally {
19
+ if (prev)
20
+ process.env.CODESPAR_API_KEY = prev;
21
+ }
22
+ });
23
+ it("accepts apiKey via constructor", () => {
24
+ const cs = new CodeSpar({ apiKey: "csk_live_test" });
25
+ expect(cs).toBeDefined();
26
+ });
27
+ it("accepts apiKey via env var", () => {
28
+ process.env.CODESPAR_API_KEY = "csk_live_envtest";
29
+ try {
30
+ const cs = new CodeSpar();
31
+ expect(cs).toBeDefined();
32
+ }
33
+ finally {
34
+ delete process.env.CODESPAR_API_KEY;
35
+ }
36
+ });
37
+ it("defaults baseUrl to api.codespar.dev", () => {
38
+ process.env.CODESPAR_API_KEY = "csk_live_test";
39
+ process.env.CODESPAR_BASE_URL = "";
40
+ try {
41
+ const cs = new CodeSpar();
42
+ // baseUrl is private but the constructor logic verifies the default.
43
+ expect(cs).toBeDefined();
44
+ }
45
+ finally {
46
+ delete process.env.CODESPAR_API_KEY;
47
+ delete process.env.CODESPAR_BASE_URL;
48
+ }
47
49
  });
48
50
  });
49
- /* ── SessionConfigSchema ── */
50
51
  describe("SessionConfigSchema", () => {
51
- it("validates a valid config", () => {
52
- const result = SessionConfigSchema.safeParse({
53
- servers: ["zoop", "nfe"],
54
- preset: "brazilian",
55
- manageConnections: { waitForConnections: true, timeout: 5000 },
56
- metadata: { org: "acme" },
57
- });
58
- expect(result.success).toBe(true);
52
+ it("accepts an empty config", () => {
53
+ expect(() => SessionConfigSchema.parse({})).not.toThrow();
59
54
  });
60
- it("validates empty config", () => {
61
- expect(SessionConfigSchema.safeParse({}).success).toBe(true);
55
+ it("accepts servers as a string array", () => {
56
+ expect(() => SessionConfigSchema.parse({ servers: ["zoop", "nuvem-fiscal"] })).not.toThrow();
62
57
  });
63
- it("rejects invalid preset", () => {
64
- const result = SessionConfigSchema.safeParse({ preset: "invalid" });
65
- expect(result.success).toBe(false);
58
+ it("accepts known presets", () => {
59
+ expect(() => SessionConfigSchema.parse({ preset: "brazilian" })).not.toThrow();
60
+ expect(() => SessionConfigSchema.parse({ preset: "mexican" })).not.toThrow();
61
+ expect(() => SessionConfigSchema.parse({ preset: "all" })).not.toThrow();
66
62
  });
67
- it("rejects non-string servers", () => {
68
- const result = SessionConfigSchema.safeParse({ servers: [123] });
69
- expect(result.success).toBe(false);
63
+ it("rejects unknown presets", () => {
64
+ expect(() => SessionConfigSchema.parse({ preset: "klingon" })).toThrow();
70
65
  });
71
- });
72
- /* ── createSession ── */
73
- describe("createSession", () => {
74
- let fetchMock;
75
- beforeEach(() => {
76
- fetchMock = mockFetchResponse({
77
- id: "sess_1",
78
- servers: [{ id: "zoop", name: "Zoop", pkg: "@codespar/zoop", connected: true, auth: "oauth2", toolCount: 3 }],
79
- mcp: { url: "https://mcp.codespar.dev/sess_1", headers: { Authorization: "Bearer tok" } },
80
- });
81
- vi.stubGlobal("fetch", fetchMock);
66
+ it("accepts manageConnections options", () => {
67
+ expect(() => SessionConfigSchema.parse({
68
+ manageConnections: { waitForConnections: true, timeout: 5000 },
69
+ })).not.toThrow();
82
70
  });
83
- afterEach(() => {
84
- vi.restoreAllMocks();
71
+ it("accepts metadata", () => {
72
+ expect(() => SessionConfigSchema.parse({ metadata: { source: "sandbox" } })).not.toThrow();
85
73
  });
86
- it("makes POST to /v1/sessions", async () => {
87
- await createSession("user_1", { preset: "brazilian" }, {
88
- baseUrl: "https://api.codespar.dev",
89
- apiKey: "ak_test",
90
- managed: true,
74
+ });
75
+ describe("CodeSpar.create wires fetch correctly", () => {
76
+ const originalFetch = globalThis.fetch;
77
+ afterEach(() => {
78
+ globalThis.fetch = originalFetch;
79
+ });
80
+ it("POSTs to /v1/sessions with snake_case body", async () => {
81
+ const fetchMock = vi.fn().mockResolvedValue({
82
+ ok: true,
83
+ status: 201,
84
+ text: async () => "",
85
+ json: async () => ({
86
+ id: "ses_test123",
87
+ org_id: "org_test",
88
+ user_id: "user_42",
89
+ servers: ["zoop"],
90
+ status: "active",
91
+ created_at: new Date().toISOString(),
92
+ closed_at: null,
93
+ }),
91
94
  });
92
- expect(fetchMock).toHaveBeenCalledWith("https://api.codespar.dev/v1/sessions", expect.objectContaining({ method: "POST" }));
93
- });
94
- it("throws on non-ok response", async () => {
95
- fetchMock = mockFetchResponse("Unauthorized", false, 401);
96
- vi.stubGlobal("fetch", fetchMock);
97
- await expect(createSession("user_1", {}, { baseUrl: "https://api.codespar.dev", apiKey: "bad", managed: true })).rejects.toThrow("Failed to create session");
98
- });
99
- it("returns session with correct id and userId", async () => {
100
- const session = await createSession("user_1", {}, {
101
- baseUrl: "https://api.codespar.dev",
102
- apiKey: "ak_test",
103
- managed: true,
95
+ globalThis.fetch = fetchMock;
96
+ const cs = new CodeSpar({
97
+ apiKey: "csk_live_test",
98
+ baseUrl: "https://api.example.com",
104
99
  });
105
- expect(session.id).toBe("sess_1");
106
- expect(session.userId).toBe("user_1");
107
- });
108
- });
109
- /* ── session.findTools ── */
110
- describe("session.findTools", () => {
111
- let session;
112
- beforeEach(async () => {
113
- const sessionResponse = {
114
- id: "sess_1",
115
- servers: [],
116
- mcp: { url: "https://mcp.codespar.dev/sess_1", headers: {} },
100
+ const session = await cs.create("user_42", { servers: ["zoop"] });
101
+ expect(session.id).toBe("ses_test123");
102
+ expect(session.userId).toBe("user_42");
103
+ expect(session.servers).toEqual(["zoop"]);
104
+ // Assert the request body uses snake_case keys (not userId)
105
+ const callArgs = fetchMock.mock.calls[0];
106
+ expect(callArgs[0]).toBe("https://api.example.com/v1/sessions");
107
+ const init = callArgs[1];
108
+ expect(init.method).toBe("POST");
109
+ expect(init.headers.Authorization).toBe("Bearer csk_live_test");
110
+ const body = JSON.parse(init.body);
111
+ expect(body.servers).toEqual(["zoop"]);
112
+ expect(body.user_id).toBe("user_42");
113
+ });
114
+ it("proxyExecute POSTs to /v1/sessions/:id/proxy_execute", async () => {
115
+ const sessionCreate = {
116
+ ok: true,
117
+ status: 201,
118
+ text: async () => "",
119
+ json: async () => ({
120
+ id: "ses_px",
121
+ org_id: "org_test",
122
+ user_id: "u1",
123
+ servers: ["stripe"],
124
+ status: "active",
125
+ created_at: new Date().toISOString(),
126
+ closed_at: null,
127
+ }),
117
128
  };
118
- const connectionsResponse = {
119
- servers: [],
120
- tools: [
121
- mockTool({ name: "ZOOP_CREATE_CHARGE", slug: "zoop_create_charge", description: "Create a Pix charge", server: "zoop" }),
122
- mockTool({ name: "NFE_ISSUE", slug: "nfe_issue", description: "Issue an NF-e invoice", server: "nfe" }),
123
- mockTool({ name: "ZOOP_REFUND", slug: "zoop_refund", description: "Refund a charge", server: "zoop" }),
124
- ],
129
+ const proxyResponse = {
130
+ ok: true,
131
+ status: 200,
132
+ text: async () => "",
133
+ json: async () => ({
134
+ status: 201,
135
+ data: { id: "ch_abc" },
136
+ headers: { "content-type": "application/json" },
137
+ duration: 142,
138
+ proxy_call_id: "px_1",
139
+ }),
125
140
  };
126
- let callCount = 0;
127
- vi.stubGlobal("fetch", vi.fn().mockImplementation(() => {
128
- callCount++;
129
- if (callCount === 1) {
130
- return Promise.resolve({ ok: true, json: () => Promise.resolve(sessionResponse) });
131
- }
132
- return Promise.resolve({ ok: true, json: () => Promise.resolve(connectionsResponse) });
133
- }));
134
- session = await createSession("u1", {}, { baseUrl: "https://api.test", apiKey: "ak", managed: true });
135
- await session.connections();
136
- });
137
- afterEach(() => vi.restoreAllMocks());
138
- it("filters by tool name", () => {
139
- expect(session.findTools("refund")).toHaveLength(1);
140
- expect(session.findTools("refund")[0].slug).toBe("zoop_refund");
141
- });
142
- it("filters by server name", () => {
143
- const zoopTools = session.findTools("zoop");
144
- expect(zoopTools).toHaveLength(2);
145
- });
146
- it("filters by description", () => {
147
- expect(session.findTools("invoice")).toHaveLength(1);
148
- });
149
- it("returns empty when no tools cached", async () => {
150
- // Create fresh session without calling connections()
151
- vi.stubGlobal("fetch", mockFetchResponse({
152
- id: "sess_2", servers: [], mcp: { url: "u", headers: {} },
153
- }));
154
- const fresh = await createSession("u2", {}, { baseUrl: "https://api.test", apiKey: "ak", managed: true });
155
- expect(fresh.findTools("anything")).toEqual([]);
156
- });
157
- });
158
- /* ── session.loop ── */
159
- describe("session.loop", () => {
160
- let session;
161
- let fetchImpl;
162
- beforeEach(async () => {
163
- const sessionData = { id: "sess_1", servers: [], mcp: { url: "u", headers: {} } };
164
- fetchImpl = vi.fn()
165
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(sessionData) }); // createSession
166
- vi.stubGlobal("fetch", fetchImpl);
167
- session = await createSession("u1", {}, { baseUrl: "https://api.test", apiKey: "ak", managed: true });
168
- });
169
- afterEach(() => vi.restoreAllMocks());
170
- it("executes steps in order", async () => {
171
- fetchImpl
172
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("step_a")) })
173
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("step_b")) });
174
- const result = await session.loop({
175
- steps: [
176
- { server: "a", tool: "step_a", params: { x: 1 } },
177
- { server: "b", tool: "step_b", params: { y: 2 } },
178
- ],
141
+ const fetchMock = vi
142
+ .fn()
143
+ .mockResolvedValueOnce(sessionCreate)
144
+ .mockResolvedValueOnce(proxyResponse);
145
+ globalThis.fetch = fetchMock;
146
+ const cs = new CodeSpar({ apiKey: "csk_live_test", baseUrl: "https://api.example.com" });
147
+ const session = await cs.create("u1", { servers: ["stripe"] });
148
+ const result = await session.proxyExecute({
149
+ server: "stripe",
150
+ endpoint: "/v1/charges",
151
+ method: "POST",
152
+ body: { amount: 1000, currency: "usd" },
179
153
  });
180
- expect(result.success).toBe(true);
181
- expect(result.completedSteps).toBe(2);
182
- expect(result.totalSteps).toBe(2);
183
- expect(result.results).toHaveLength(2);
184
- });
185
- it("aborts on error by default", async () => {
186
- fetchImpl
187
- .mockResolvedValueOnce({ ok: false, status: 500, text: () => Promise.resolve("err") })
188
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("step_b")) });
189
- const result = await session.loop({
190
- steps: [
191
- { server: "a", tool: "step_a", params: {} },
192
- { server: "b", tool: "step_b", params: {} },
193
- ],
154
+ expect(result.status).toBe(201);
155
+ expect(result.data).toEqual({ id: "ch_abc" });
156
+ expect(result.proxy_call_id).toBe("px_1");
157
+ const [url, init] = fetchMock.mock.calls[1];
158
+ expect(url).toBe("https://api.example.com/v1/sessions/ses_px/proxy_execute");
159
+ const req = init;
160
+ expect(req.method).toBe("POST");
161
+ const sent = JSON.parse(req.body);
162
+ expect(sent.server).toBe("stripe");
163
+ expect(sent.endpoint).toBe("/v1/charges");
164
+ expect(sent.method).toBe("POST");
165
+ expect(sent.body).toEqual({ amount: 1000, currency: "usd" });
166
+ });
167
+ it("proxyExecute throws on non-2xx backend response", async () => {
168
+ const fetchMock = vi
169
+ .fn()
170
+ .mockResolvedValueOnce({
171
+ ok: true,
172
+ status: 201,
173
+ text: async () => "",
174
+ json: async () => ({
175
+ id: "ses_err",
176
+ org_id: "o",
177
+ user_id: "u",
178
+ servers: [],
179
+ status: "active",
180
+ created_at: new Date().toISOString(),
181
+ closed_at: null,
182
+ }),
183
+ })
184
+ .mockResolvedValueOnce({
185
+ ok: false,
186
+ status: 404,
187
+ text: async () => '{"message":"server not connected"}',
194
188
  });
195
- expect(result.success).toBe(false);
196
- expect(result.completedSteps).toBe(0);
197
- // Second step should not have been called
198
- expect(fetchImpl).toHaveBeenCalledTimes(2); // 1 createSession + 1 failed execute
199
- });
200
- it("continues on error when abortOnError is false", async () => {
201
- fetchImpl
202
- .mockResolvedValueOnce({ ok: false, status: 500, text: () => Promise.resolve("err") })
203
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("step_b")) });
204
- const result = await session.loop({
205
- steps: [
206
- { server: "a", tool: "step_a", params: {} },
207
- { server: "b", tool: "step_b", params: {} },
208
- ],
209
- abortOnError: false,
210
- });
211
- expect(result.completedSteps).toBe(1);
212
- expect(result.results).toHaveLength(2);
213
- });
214
- it("retries failed steps", async () => {
215
- fetchImpl
216
- .mockResolvedValueOnce({ ok: false, status: 500, text: () => Promise.resolve("err") }) // attempt 0
217
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("step_a")) }); // attempt 1
218
- const result = await session.loop({
219
- steps: [{ server: "a", tool: "step_a", params: {} }],
220
- retryPolicy: { maxRetries: 1, baseDelay: 1 },
221
- });
222
- expect(result.success).toBe(true);
223
- expect(result.completedSteps).toBe(1);
224
- });
225
- it("skips steps when 'when' returns false", async () => {
226
- fetchImpl
227
- .mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("step_a")) });
228
- const result = await session.loop({
229
- steps: [
230
- { server: "a", tool: "step_a", params: {} },
231
- { server: "b", tool: "step_b", params: {}, when: () => false },
232
- ],
233
- });
234
- expect(result.success).toBe(true);
235
- expect(result.results).toHaveLength(1);
236
- });
237
- it("calls onStepComplete callback", async () => {
238
- fetchImpl.mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(successResult("s")) });
239
- const onComplete = vi.fn();
240
- await session.loop({
241
- steps: [{ server: "a", tool: "s", params: {} }],
242
- onStepComplete: onComplete,
243
- });
244
- expect(onComplete).toHaveBeenCalledOnce();
245
- expect(onComplete).toHaveBeenCalledWith(expect.objectContaining({ tool: "s" }), expect.objectContaining({ success: true }), 0);
246
- });
247
- it("calls onStepError callback on failure", async () => {
248
- fetchImpl.mockResolvedValueOnce({ ok: false, status: 500, text: () => Promise.resolve("boom") });
249
- const onError = vi.fn();
250
- await session.loop({
251
- steps: [{ server: "a", tool: "s", params: {} }],
252
- onStepError: onError,
189
+ globalThis.fetch = fetchMock;
190
+ const cs = new CodeSpar({ apiKey: "csk_live_test", baseUrl: "https://api.example.com" });
191
+ const session = await cs.create("u");
192
+ await expect(session.proxyExecute({ server: "stripe", endpoint: "/x", method: "GET" })).rejects.toThrow(/proxyExecute failed: 404/);
193
+ });
194
+ it("populates session.mcp as a placeholder", async () => {
195
+ globalThis.fetch = vi.fn().mockResolvedValue({
196
+ ok: true,
197
+ status: 201,
198
+ text: async () => "",
199
+ json: async () => ({
200
+ id: "ses_mcp",
201
+ org_id: "org_test",
202
+ user_id: "user_1",
203
+ servers: [],
204
+ status: "active",
205
+ created_at: new Date().toISOString(),
206
+ closed_at: null,
207
+ }),
253
208
  });
254
- expect(onError).toHaveBeenCalledOnce();
209
+ const cs = new CodeSpar({ apiKey: "csk_live_test", baseUrl: "https://api.example.com" });
210
+ const session = await cs.create("user_1");
211
+ expect(session.mcp.url).toBe("https://api.example.com/v1/sessions/ses_mcp/mcp");
212
+ expect(session.mcp.headers.Authorization).toBe("Bearer csk_live_test");
255
213
  });
256
214
  });
257
215
  //# sourceMappingURL=codespar.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codespar.test.js","sourceRoot":"","sources":["../../src/__tests__/codespar.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codespar.test.js","sourceRoot":"","sources":["../../src/__tests__/codespar.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,21 +1,30 @@
1
1
  /**
2
2
  * @codespar/sdk — Commerce SDK for AI agents
3
3
  *
4
- * Sessions, managed auth, Complete Loop orchestration
5
- * for Latin American commercial APIs.
4
+ * Sessions, managed auth, Complete Loop orchestration for Latin American
5
+ * commercial APIs. Talks to api.codespar.dev — see the backend at
6
+ * codespar/codespar-enterprise (packages/api) for the wire contract.
6
7
  *
7
8
  * @example
8
9
  * ```ts
9
10
  * import { CodeSpar } from "@codespar/sdk";
10
11
  *
11
- * const cs = new CodeSpar({ apiKey: "ak_..." });
12
+ * const cs = new CodeSpar({ apiKey: "csk_live_..." });
12
13
  * const session = await cs.create("user_123", { preset: "brazilian" });
14
+ *
15
+ * // One-shot natural language
13
16
  * const result = await session.send("Charge R$150 via Pix and issue the NF-e");
17
+ *
18
+ * // Or stream the agent's thinking + tool calls
19
+ * for await (const event of session.sendStream("Charge R$150 via Pix")) {
20
+ * if (event.type === "tool_result") console.log(event.toolCall);
21
+ * if (event.type === "assistant_text") console.log(event.content);
22
+ * }
14
23
  * ```
15
24
  *
16
25
  * @packageDocumentation
17
26
  */
18
- export type { CodeSparConfig, Session, SessionConfig, Tool, ToolResult, LoopConfig, LoopStep, LoopResult, AuthConfig, AuthResult, ServerConnection, SendResult, } from "./types.js";
27
+ export type { CodeSparConfig, Session, SessionConfig, Tool, ToolResult, LoopConfig, LoopStep, LoopResult, AuthConfig, AuthResult, ServerConnection, SendResult, ToolCallRecord, StreamEvent, ProxyRequest, ProxyResult, HttpMethod, } from "./types.js";
19
28
  export { SessionConfigSchema } from "./types.js";
20
29
  import type { CodeSparConfig, Session, SessionConfig } from "./types.js";
21
30
  export declare class CodeSpar {
@@ -25,35 +34,9 @@ export declare class CodeSpar {
25
34
  * Create a new session for a user.
26
35
  *
27
36
  * @param userId - Unique user identifier
28
- * @param config - Session configuration (servers, preset, auth)
29
- * @returns A session with tools, execute, loop, and send methods
30
- *
31
- * @example
32
- * ```ts
33
- * const session = await cs.create("user_123", {
34
- * preset: "brazilian",
35
- * manageConnections: { waitForConnections: true },
36
- * });
37
- * ```
37
+ * @param config - Session configuration (servers, preset, metadata)
38
38
  */
39
39
  create(userId: string, config?: SessionConfig): Promise<Session>;
40
- /**
41
- * Auth manager for programmatic OAuth flows.
42
- */
43
- get authManager(): {
44
- /**
45
- * Get the OAuth connect URL for a provider.
46
- * Redirect the user to this URL to start the OAuth flow.
47
- */
48
- getConnectUrl(serverId: string, redirectUrl?: string): string;
49
- /**
50
- * Check connection status for a server.
51
- */
52
- getStatus(serverId: string): Promise<{
53
- connected: boolean;
54
- expiresAt?: string;
55
- }>;
56
- };
57
40
  }
58
41
  export default CodeSpar;
59
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,EACV,cAAc,EACd,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMzE,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,MAAM,GAAE,cAAmB;IAevC;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1E;;OAEG;IACH,IAAI,WAAW;QAKX;;;WAGG;gCACqB,MAAM,gBAAgB,MAAM,GAAG,MAAM;QAM7D;;WAEG;4BACuB,MAAM,GAAG,OAAO,CAAC;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;MAQzF;CACF;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACV,cAAc,EACd,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMzE,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,MAAM,GAAE,cAAmB;IAcvC;;;;;OAKG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;CAO3E;AAED,eAAe,QAAQ,CAAC"}