@codespar/sdk 0.2.2 → 0.9.0
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 +106 -13
- package/dist/__tests__/codespar.test.d.ts +1 -3
- package/dist/__tests__/codespar.test.d.ts.map +1 -1
- package/dist/__tests__/codespar.test.js +85 -7
- package/dist/__tests__/codespar.test.js.map +1 -1
- package/dist/__tests__/tools.test.d.ts +2 -0
- package/dist/__tests__/tools.test.d.ts.map +1 -0
- package/dist/__tests__/tools.test.js +60 -0
- package/dist/__tests__/tools.test.js.map +1 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts +4 -0
- package/dist/loop.d.ts.map +1 -0
- package/dist/loop.js +63 -0
- package/dist/loop.js.map +1 -0
- package/dist/session.d.ts +4 -6
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +188 -72
- package/dist/session.js.map +1 -1
- package/dist/tools.d.ts +5 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +16 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +8 -195
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
package/dist/session.js
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Session implementation
|
|
3
|
-
*
|
|
4
|
-
* The shape of every request and response in this file matches what the
|
|
5
|
-
* backend (codespar-enterprise/packages/api) actually exposes. Do not edit
|
|
6
|
-
* one without the other.
|
|
2
|
+
* Session implementation for the CodeSpar managed runtime.
|
|
7
3
|
*/
|
|
4
|
+
// The concrete session object satisfies the Session interface and carries extra
|
|
5
|
+
// internal methods (tools, findTools) that the free functions in tools.ts access
|
|
6
|
+
// via duck-typing. They are intentionally not declared on the Session interface.
|
|
8
7
|
export async function createSession(userId, config, deps) {
|
|
9
8
|
const { baseUrl, apiKey } = deps;
|
|
9
|
+
const projectId = config.projectId ?? deps.projectId;
|
|
10
10
|
const headers = {
|
|
11
11
|
"Content-Type": "application/json",
|
|
12
12
|
Authorization: `Bearer ${apiKey}`,
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
14
|
+
if (projectId)
|
|
15
|
+
headers["x-codespar-project"] = projectId;
|
|
16
|
+
const req = {
|
|
17
|
+
servers: config.servers ?? presetToServers(config.preset),
|
|
18
|
+
metadata: config.metadata,
|
|
19
|
+
projectId: config.projectId ?? deps.projectId,
|
|
20
|
+
};
|
|
17
21
|
const res = await fetch(`${baseUrl}/v1/sessions`, {
|
|
18
22
|
method: "POST",
|
|
19
23
|
headers,
|
|
20
|
-
body: JSON.stringify({ servers, user_id: userId }),
|
|
24
|
+
body: JSON.stringify({ servers: req.servers, user_id: userId }),
|
|
21
25
|
});
|
|
22
26
|
if (!res.ok) {
|
|
23
27
|
const body = await res.text();
|
|
@@ -36,7 +40,10 @@ export async function createSession(userId, config, deps) {
|
|
|
36
40
|
// Kept here so @codespar/mcp config helpers work today.
|
|
37
41
|
mcp: {
|
|
38
42
|
url: `${baseUrl}/v1/sessions/${data.id}/mcp`,
|
|
39
|
-
headers: {
|
|
43
|
+
headers: {
|
|
44
|
+
Authorization: `Bearer ${apiKey}`,
|
|
45
|
+
...(projectId ? { "x-codespar-project": projectId } : {}),
|
|
46
|
+
},
|
|
40
47
|
},
|
|
41
48
|
async tools() {
|
|
42
49
|
if (cachedTools)
|
|
@@ -71,68 +78,6 @@ export async function createSession(userId, config, deps) {
|
|
|
71
78
|
const result = (await r.json());
|
|
72
79
|
return result;
|
|
73
80
|
},
|
|
74
|
-
async loop(loopConfig) {
|
|
75
|
-
const start = Date.now();
|
|
76
|
-
const results = [];
|
|
77
|
-
const maxRetries = loopConfig.retryPolicy?.maxRetries ?? 0;
|
|
78
|
-
const abortOnError = loopConfig.abortOnError ?? true;
|
|
79
|
-
for (let i = 0; i < loopConfig.steps.length; i++) {
|
|
80
|
-
const step = loopConfig.steps[i];
|
|
81
|
-
if (step.when && !step.when(results))
|
|
82
|
-
continue;
|
|
83
|
-
const params = typeof step.params === "function" ? step.params(results) : step.params;
|
|
84
|
-
let lastError = null;
|
|
85
|
-
let result = null;
|
|
86
|
-
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
87
|
-
try {
|
|
88
|
-
result = await session.execute(step.tool, params);
|
|
89
|
-
if (result.success) {
|
|
90
|
-
lastError = null;
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
lastError = new Error(result.error || "Tool execution failed");
|
|
94
|
-
}
|
|
95
|
-
catch (err) {
|
|
96
|
-
lastError = err instanceof Error ? err : new Error(String(err));
|
|
97
|
-
}
|
|
98
|
-
if (attempt < maxRetries) {
|
|
99
|
-
const baseDelay = loopConfig.retryPolicy?.baseDelay ?? 1000;
|
|
100
|
-
const delay = loopConfig.retryPolicy?.backoff === "exponential"
|
|
101
|
-
? baseDelay * Math.pow(2, attempt)
|
|
102
|
-
: baseDelay * (attempt + 1);
|
|
103
|
-
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
if (lastError || !result?.success) {
|
|
107
|
-
if (loopConfig.onStepError) {
|
|
108
|
-
loopConfig.onStepError(step, lastError || new Error("Unknown error"), i);
|
|
109
|
-
}
|
|
110
|
-
if (result)
|
|
111
|
-
results.push(result);
|
|
112
|
-
if (abortOnError) {
|
|
113
|
-
return {
|
|
114
|
-
success: false,
|
|
115
|
-
results,
|
|
116
|
-
duration: Date.now() - start,
|
|
117
|
-
completedSteps: results.filter((r) => r.success).length,
|
|
118
|
-
totalSteps: loopConfig.steps.length,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
results.push(result);
|
|
124
|
-
if (loopConfig.onStepComplete) {
|
|
125
|
-
loopConfig.onStepComplete(step, result, i);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return {
|
|
129
|
-
success: results.every((r) => r.success),
|
|
130
|
-
results,
|
|
131
|
-
duration: Date.now() - start,
|
|
132
|
-
completedSteps: results.filter((r) => r.success).length,
|
|
133
|
-
totalSteps: loopConfig.steps.length,
|
|
134
|
-
};
|
|
135
|
-
},
|
|
136
81
|
async proxyExecute(request) {
|
|
137
82
|
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/proxy_execute`, {
|
|
138
83
|
method: "POST",
|
|
@@ -176,6 +121,130 @@ export async function createSession(userId, config, deps) {
|
|
|
176
121
|
}
|
|
177
122
|
yield* parseSseStream(r.body);
|
|
178
123
|
},
|
|
124
|
+
/**
|
|
125
|
+
* codespar_discover wrapper. Same wire as
|
|
126
|
+
* `execute("codespar_discover", {...})` but returns a typed
|
|
127
|
+
* DiscoverResult so the caller doesn't have to cast.
|
|
128
|
+
*/
|
|
129
|
+
async discover(useCase, options) {
|
|
130
|
+
const result = await session.execute("codespar_discover", {
|
|
131
|
+
use_case: useCase,
|
|
132
|
+
...(options ?? {}),
|
|
133
|
+
});
|
|
134
|
+
if (!result.success) {
|
|
135
|
+
throw new Error(`discover failed: ${result.error ?? "unknown"}`);
|
|
136
|
+
}
|
|
137
|
+
return result.data;
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* codespar_manage_connections wrapper. Same wire as
|
|
141
|
+
* `execute("codespar_manage_connections", {...})` but returns a
|
|
142
|
+
* typed ConnectionWizardResult — a UI component receives it
|
|
143
|
+
* verbatim and renders the wizard. Defaults `action` to "list"
|
|
144
|
+
* when no server_id is given, "status" otherwise (matching the
|
|
145
|
+
* backend default).
|
|
146
|
+
*/
|
|
147
|
+
async connectionWizard(options) {
|
|
148
|
+
const result = await session.execute("codespar_manage_connections", options);
|
|
149
|
+
if (!result.success) {
|
|
150
|
+
throw new Error(`connectionWizard failed: ${result.error ?? "unknown"}`);
|
|
151
|
+
}
|
|
152
|
+
return result.data;
|
|
153
|
+
},
|
|
154
|
+
/**
|
|
155
|
+
* codespar_charge wrapper. Inbound charge — buyer pays merchant.
|
|
156
|
+
* Same wire as `execute("codespar_charge", {...})` but returns a
|
|
157
|
+
* typed ChargeResult so the caller doesn't have to cast through
|
|
158
|
+
* ToolResult.data. Distinct from the legacy `codespar_pay` rail
|
|
159
|
+
* (which routes to outbound transfers/payouts).
|
|
160
|
+
*/
|
|
161
|
+
async charge(args) {
|
|
162
|
+
const result = await session.execute("codespar_charge", args);
|
|
163
|
+
if (!result.success) {
|
|
164
|
+
throw new Error(`charge failed: ${result.error ?? "unknown"}`);
|
|
165
|
+
}
|
|
166
|
+
return result.data;
|
|
167
|
+
},
|
|
168
|
+
/**
|
|
169
|
+
* codespar_ship wrapper. Generate a label, fetch tracking, or
|
|
170
|
+
* calculate carrier rates via a unified shape. Same wire as
|
|
171
|
+
* `execute("codespar_ship", {...})` but returns a typed
|
|
172
|
+
* ShipResult so the caller doesn't have to cast through
|
|
173
|
+
* ToolResult.data.
|
|
174
|
+
*/
|
|
175
|
+
async ship(args) {
|
|
176
|
+
const result = await session.execute("codespar_ship", args);
|
|
177
|
+
if (!result.success) {
|
|
178
|
+
throw new Error(`ship failed: ${result.error ?? "unknown"}`);
|
|
179
|
+
}
|
|
180
|
+
return result.data;
|
|
181
|
+
},
|
|
182
|
+
async paymentStatus(toolCallId) {
|
|
183
|
+
const r = await fetch(`${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/payment-status`, { headers });
|
|
184
|
+
if (!r.ok) {
|
|
185
|
+
const body = await r.text();
|
|
186
|
+
throw new Error(`paymentStatus failed: ${r.status} ${body}`);
|
|
187
|
+
}
|
|
188
|
+
return (await r.json());
|
|
189
|
+
},
|
|
190
|
+
async verificationStatus(toolCallId) {
|
|
191
|
+
const r = await fetch(`${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/verification-status`, { headers });
|
|
192
|
+
if (!r.ok) {
|
|
193
|
+
const body = await r.text();
|
|
194
|
+
throw new Error(`verificationStatus failed: ${r.status} ${body}`);
|
|
195
|
+
}
|
|
196
|
+
return (await r.json());
|
|
197
|
+
},
|
|
198
|
+
async paymentStatusStream(toolCallId, options = {}) {
|
|
199
|
+
const url = `${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/payment-status/stream`;
|
|
200
|
+
const r = await fetch(url, {
|
|
201
|
+
headers: { ...headers, Accept: "text/event-stream" },
|
|
202
|
+
signal: options.signal,
|
|
203
|
+
});
|
|
204
|
+
if (!r.ok || !r.body) {
|
|
205
|
+
const body = await r.text();
|
|
206
|
+
throw new Error(`paymentStatusStream failed: ${r.status} ${body}`);
|
|
207
|
+
}
|
|
208
|
+
let last = null;
|
|
209
|
+
for await (const frame of parseStatusSseStream(r.body)) {
|
|
210
|
+
if (frame.event === "snapshot" || frame.event === "update") {
|
|
211
|
+
last = frame.data;
|
|
212
|
+
options.onUpdate?.(last);
|
|
213
|
+
}
|
|
214
|
+
else if (frame.event === "done") {
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (!last) {
|
|
219
|
+
throw new Error("paymentStatusStream: stream closed before snapshot");
|
|
220
|
+
}
|
|
221
|
+
return last;
|
|
222
|
+
},
|
|
223
|
+
async verificationStatusStream(toolCallId, options = {}) {
|
|
224
|
+
const url = `${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/verification-status/stream`;
|
|
225
|
+
const r = await fetch(url, {
|
|
226
|
+
headers: { ...headers, Accept: "text/event-stream" },
|
|
227
|
+
signal: options.signal,
|
|
228
|
+
});
|
|
229
|
+
if (!r.ok || !r.body) {
|
|
230
|
+
const body = await r.text();
|
|
231
|
+
throw new Error(`verificationStatusStream failed: ${r.status} ${body}`);
|
|
232
|
+
}
|
|
233
|
+
let last = null;
|
|
234
|
+
for await (const frame of parseStatusSseStream(r.body)) {
|
|
235
|
+
if (frame.event === "snapshot" || frame.event === "update") {
|
|
236
|
+
last = frame.data;
|
|
237
|
+
options.onUpdate?.(last);
|
|
238
|
+
}
|
|
239
|
+
else if (frame.event === "done") {
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (!last) {
|
|
244
|
+
throw new Error("verificationStatusStream: stream closed before snapshot");
|
|
245
|
+
}
|
|
246
|
+
return last;
|
|
247
|
+
},
|
|
179
248
|
async authorize(serverId, config) {
|
|
180
249
|
const r = await fetch(`${baseUrl}/v1/connect/start`, {
|
|
181
250
|
method: "POST",
|
|
@@ -333,6 +402,53 @@ const PRESET_SERVERS = {
|
|
|
333
402
|
"wompi",
|
|
334
403
|
],
|
|
335
404
|
};
|
|
405
|
+
/**
|
|
406
|
+
* Generic SSE parser for the status streams. Distinct from
|
|
407
|
+
* `parseSseStream` above because the chat-loop variant maps frames
|
|
408
|
+
* onto a discriminated `StreamEvent` union, while the status streams
|
|
409
|
+
* just need raw `{event, data}` pairs the caller's typed wrapper
|
|
410
|
+
* casts via the route-level envelope shape.
|
|
411
|
+
*/
|
|
412
|
+
async function* parseStatusSseStream(body) {
|
|
413
|
+
const reader = body.getReader();
|
|
414
|
+
const decoder = new TextDecoder();
|
|
415
|
+
let buffer = "";
|
|
416
|
+
try {
|
|
417
|
+
while (true) {
|
|
418
|
+
const { done, value } = await reader.read();
|
|
419
|
+
if (done)
|
|
420
|
+
break;
|
|
421
|
+
buffer += decoder.decode(value, { stream: true });
|
|
422
|
+
let sep;
|
|
423
|
+
while ((sep = buffer.indexOf("\n\n")) !== -1) {
|
|
424
|
+
const chunk = buffer.slice(0, sep);
|
|
425
|
+
buffer = buffer.slice(sep + 2);
|
|
426
|
+
// Comment frames (heartbeats) start with ":" and carry no data.
|
|
427
|
+
if (chunk.startsWith(":"))
|
|
428
|
+
continue;
|
|
429
|
+
let eventName = "message";
|
|
430
|
+
let dataLine = "";
|
|
431
|
+
for (const line of chunk.split("\n")) {
|
|
432
|
+
if (line.startsWith("event:"))
|
|
433
|
+
eventName = line.slice(6).trim();
|
|
434
|
+
else if (line.startsWith("data:"))
|
|
435
|
+
dataLine += line.slice(5).trim();
|
|
436
|
+
}
|
|
437
|
+
if (!dataLine)
|
|
438
|
+
continue;
|
|
439
|
+
try {
|
|
440
|
+
yield { event: eventName, data: JSON.parse(dataLine) };
|
|
441
|
+
}
|
|
442
|
+
catch {
|
|
443
|
+
continue;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
finally {
|
|
449
|
+
reader.releaseLock();
|
|
450
|
+
}
|
|
451
|
+
}
|
|
336
452
|
function presetToServers(preset) {
|
|
337
453
|
if (!preset)
|
|
338
454
|
return ["zoop", "nuvem-fiscal"]; // sensible default for sandbox
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAAqB,EACrB,IAAiB;IAEjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,MAAM,EAAE;KAClC,CAAC;IAEF,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;IAE1D,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,iBAAiB,GAA8B,IAAI,CAAC;IAExD,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,qEAAqE;QACrE,wDAAwD;QACxD,GAAG,EAAE;YACH,GAAG,EAAE,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,MAAM;YAC5C,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;SAC/C;QAED,KAAK,CAAC,KAAK;YACT,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAC;YACpC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,WAAW,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAc;YAC5B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,MAA+B;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,UAAU,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;oBAC7B,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC5B,MAAM,EAAE,EAAE;oBACV,IAAI,EAAE,QAAQ;iBACf,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,UAAsB;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC;YAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAE/C,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEzE,IAAI,SAAS,GAAiB,IAAI,CAAC;gBACnC,IAAI,MAAM,GAAsB,IAAI,CAAC;gBAErC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;oBACvD,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBAClD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,SAAS,GAAG,IAAI,CAAC;4BACjB,MAAM;wBACR,CAAC;wBACD,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;oBACjE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;wBACzB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC;wBAC5D,MAAM,KAAK,GACT,UAAU,CAAC,WAAW,EAAE,OAAO,KAAK,aAAa;4BAC/C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;4BAClC,CAAC,CAAC,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAClC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBAC3B,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3E,CAAC;oBACD,IAAI,MAAM;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,OAAO;4BACP,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;4BACvD,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;yBACpC,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;gBACvD,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;aACpC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,OAAqB;YACtC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,gBAAgB,EAAE;gBACvE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAgB,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAe;YACxB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBACnD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,CAAC,UAAU,CAAC,OAAe;YAC/B,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,MAAkB;YAClD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mBAAmB,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAI9B,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,YAAY,EAAE,OAAO,CAAC,aAAa;gBACnC,SAAS,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,cAAc,EAAE;gBACrE,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,iBAAiB,IAAI,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA+B,CAAC;YAC/D,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YACpC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE;gBAC/C,MAAM,EAAE,QAAQ;gBAChB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,IAAI,KAAK,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAAE,MAAM;YAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,SAAS,CAAC,CAAC,cAAc,CAC5B,IAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAElD,IAAI,GAAW,CAAC;YAChB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAG,IAA4B,CAAC,OAAO,EAAE,CAAC;QAClF,KAAK,gBAAgB;YACnB,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAG,IAA4B,CAAC,OAAO;gBAC9C,SAAS,EAAG,IAA8B,CAAC,SAAS;aACrD,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAG,IAAuB,CAAC,EAAE;gBAC/B,IAAI,EAAG,IAAyB,CAAC,IAAI;gBACrC,KAAK,EAAG,IAA2C,CAAC,KAAK;aAC1D,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAkB,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAG,IAA0B,CAAC,KAAK;gBACxC,OAAO,EAAG,IAA6B,CAAC,OAAO;aAChD,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAA2D;IAC7E,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC;IACpE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;IAC7C,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IACjC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;IAC7C,GAAG,EAAE;QACH,MAAM;QACN,cAAc;QACd,cAAc;QACd,OAAO;QACP,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM;QACN,OAAO;KACR;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,MAA+B;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,+BAA+B;IAC7E,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SessionBase } from "@codespar/types";
|
|
2
|
+
import type { Tool } from "./types.js";
|
|
3
|
+
export declare function tools(session: SessionBase): Promise<Tool[]>;
|
|
4
|
+
export declare function findTools(session: SessionBase, query: string): Promise<Tool[]>;
|
|
5
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC,wBAAsB,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAIjE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAOpF"}
|
package/dist/tools.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// The SDK's concrete session exposes an internal tools() implementation that
|
|
2
|
+
// caches tool metadata fetched alongside connections. This free function
|
|
3
|
+
// delegates to that implementation via structural duck-typing, making it
|
|
4
|
+
// callable with any SessionBase that carries a compatible tools() method.
|
|
5
|
+
export async function tools(session) {
|
|
6
|
+
const s = session;
|
|
7
|
+
if (typeof s.tools === "function")
|
|
8
|
+
return s.tools();
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
export async function findTools(session, query) {
|
|
12
|
+
const all = await tools(session);
|
|
13
|
+
const q = query.toLowerCase();
|
|
14
|
+
return all.filter((t) => t.name.toLowerCase().includes(q) || t.description.toLowerCase().includes(q));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAoB;IAC9C,MAAM,CAAC,GAAG,OAAsD,CAAC;IACjE,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAoB,EAAE,KAAa;IACjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAO,EAAE,EAAE,CACV,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9E,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { ToolResult } from "@codespar/types";
|
|
2
3
|
export interface CodeSparConfig {
|
|
3
4
|
/** API key for managed mode. Obtain from dashboard.codespar.dev */
|
|
4
5
|
apiKey?: string;
|
|
5
6
|
/** Base URL for CodeSpar API. Defaults to https://api.codespar.dev */
|
|
6
7
|
baseUrl?: string;
|
|
8
|
+
/** Optional project scope. Defaults to the org's default project when omitted. */
|
|
9
|
+
projectId?: string;
|
|
7
10
|
}
|
|
8
11
|
export interface SessionConfig {
|
|
9
12
|
/** MCP servers to connect, by id (e.g. "zoop", "nuvem-fiscal") */
|
|
@@ -19,83 +22,8 @@ export interface SessionConfig {
|
|
|
19
22
|
};
|
|
20
23
|
/** Metadata attached to every tool call in this session */
|
|
21
24
|
metadata?: Record<string, string>;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/** Unique session ID (e.g. "ses_HZb4d5yxIAxLawb4") */
|
|
25
|
-
id: string;
|
|
26
|
-
/** User ID that owns this session */
|
|
27
|
-
userId: string;
|
|
28
|
-
/** IDs of the servers attached to this session */
|
|
29
|
-
servers: string[];
|
|
30
|
-
/** Session creation timestamp */
|
|
31
|
-
createdAt: Date;
|
|
32
|
-
/** Session status */
|
|
33
|
-
status: "active" | "closed" | "error";
|
|
34
|
-
/**
|
|
35
|
-
* MCP transport endpoint for this session. Pass to @codespar/mcp helpers
|
|
36
|
-
* (getClaudeDesktopConfig, getCursorConfig) to generate config files for
|
|
37
|
-
* MCP-compatible clients.
|
|
38
|
-
*
|
|
39
|
-
* Note: the runtime MCP endpoint is not yet implemented in the backend
|
|
40
|
-
* (planned for Marco 3). The URL is provided so config generators can
|
|
41
|
-
* produce the correct values today; runtime connection will work once
|
|
42
|
-
* the backend MCP transport ships.
|
|
43
|
-
*/
|
|
44
|
-
mcp: {
|
|
45
|
-
url: string;
|
|
46
|
-
headers: Record<string, string>;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Get tools available in this session. Loads from the backend on first
|
|
50
|
-
* call and caches. Call connections() to refresh.
|
|
51
|
-
*/
|
|
52
|
-
tools(): Promise<Tool[]>;
|
|
53
|
-
/**
|
|
54
|
-
* Find tools by intent description. Loads tools first if not cached.
|
|
55
|
-
*/
|
|
56
|
-
findTools(intent: string): Promise<Tool[]>;
|
|
57
|
-
/**
|
|
58
|
-
* Execute a specific tool by name. Tool calls are logged on the
|
|
59
|
-
* backend with input + output for billing and audit.
|
|
60
|
-
*/
|
|
61
|
-
execute(toolName: string, params: Record<string, unknown>): Promise<ToolResult>;
|
|
62
|
-
/** Run a Complete Loop workflow. */
|
|
63
|
-
loop(config: LoopConfig): Promise<LoopResult>;
|
|
64
|
-
/**
|
|
65
|
-
* Proxy a raw HTTP request to a connected server's upstream API with
|
|
66
|
-
* credentials injected server-side. Lets an agent call any endpoint of
|
|
67
|
-
* a toolkit — not just pre-defined tools — without ever seeing the
|
|
68
|
-
* provider API key. The backend handles auth injection, rate limiting,
|
|
69
|
-
* and logs the call for audit/billing.
|
|
70
|
-
*/
|
|
71
|
-
proxyExecute(request: ProxyRequest): Promise<ProxyResult>;
|
|
72
|
-
/**
|
|
73
|
-
* Send a natural-language message. Drives a Claude tool-use loop on
|
|
74
|
-
* the backend and returns the full transcript when done.
|
|
75
|
-
*/
|
|
76
|
-
send(message: string): Promise<SendResult>;
|
|
77
|
-
/**
|
|
78
|
-
* Stream a natural-language message. Yields events as the agent
|
|
79
|
-
* runs (assistant text, tool_use, tool_result, done).
|
|
80
|
-
*/
|
|
81
|
-
sendStream(message: string): AsyncIterable<StreamEvent>;
|
|
82
|
-
/**
|
|
83
|
-
* Start a Connect Link OAuth flow for a server. Returns a link token
|
|
84
|
-
* + authorize URL the end-user opens to grant provider access.
|
|
85
|
-
*
|
|
86
|
-
* Pass `config.redirectUri` so the provider redirects back to your
|
|
87
|
-
* UI after the user authorizes — CodeSpar's callback stores the
|
|
88
|
-
* tokens in the vault and forwards the user there with
|
|
89
|
-
* `?status=connected&connection_id=<id>` appended.
|
|
90
|
-
*/
|
|
91
|
-
authorize(serverId: string, config: AuthConfig): Promise<AuthResult>;
|
|
92
|
-
/**
|
|
93
|
-
* List server connections + available tools. Refreshes the internal
|
|
94
|
-
* tools cache as a side effect.
|
|
95
|
-
*/
|
|
96
|
-
connections(): Promise<ServerConnection[]>;
|
|
97
|
-
/** Close session and release resources. */
|
|
98
|
-
close(): Promise<void>;
|
|
25
|
+
/** Optional project scope. Defaults to the org's default project when omitted. */
|
|
26
|
+
projectId?: string;
|
|
99
27
|
}
|
|
100
28
|
export interface Tool {
|
|
101
29
|
/** Tool name (e.g. "codespar_pay") */
|
|
@@ -107,24 +35,6 @@ export interface Tool {
|
|
|
107
35
|
/** Server that provides this tool (for routing/billing). May be "codespar" for meta-tools. */
|
|
108
36
|
server: string;
|
|
109
37
|
}
|
|
110
|
-
export interface ToolResult {
|
|
111
|
-
/** Whether the call succeeded */
|
|
112
|
-
success: boolean;
|
|
113
|
-
/** Tool output (varies by tool) */
|
|
114
|
-
data: unknown;
|
|
115
|
-
/** Error message if failed */
|
|
116
|
-
error: string | null;
|
|
117
|
-
/** Execution time in ms */
|
|
118
|
-
duration: number;
|
|
119
|
-
/** Server that executed the tool */
|
|
120
|
-
server: string;
|
|
121
|
-
/** Tool that was executed */
|
|
122
|
-
tool: string;
|
|
123
|
-
/** Backend tool-call id for cross-referencing logs */
|
|
124
|
-
tool_call_id?: string;
|
|
125
|
-
/** Timestamp the call was logged */
|
|
126
|
-
called_at?: string;
|
|
127
|
-
}
|
|
128
38
|
export interface LoopStep {
|
|
129
39
|
/** Tool name to execute */
|
|
130
40
|
tool: string;
|
|
@@ -160,106 +70,6 @@ export interface LoopResult {
|
|
|
160
70
|
/** Total steps attempted */
|
|
161
71
|
totalSteps: number;
|
|
162
72
|
}
|
|
163
|
-
export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
164
|
-
export interface ProxyRequest {
|
|
165
|
-
/** Server id that owns the upstream API (e.g. "stripe", "asaas"). */
|
|
166
|
-
server: string;
|
|
167
|
-
/** Upstream path, relative to the server's base URL (e.g. "/v1/charges"). */
|
|
168
|
-
endpoint: string;
|
|
169
|
-
/** HTTP method. */
|
|
170
|
-
method: HttpMethod;
|
|
171
|
-
/** JSON body. Ignored for GET. */
|
|
172
|
-
body?: unknown;
|
|
173
|
-
/** Query string parameters. */
|
|
174
|
-
params?: Record<string, string | number | boolean>;
|
|
175
|
-
/** Extra headers to forward. Auth headers are injected by the backend — never send them here. */
|
|
176
|
-
headers?: Record<string, string>;
|
|
177
|
-
}
|
|
178
|
-
export interface ProxyResult {
|
|
179
|
-
/** HTTP status code returned by the upstream API. */
|
|
180
|
-
status: number;
|
|
181
|
-
/** Parsed JSON response body, or raw string if not JSON. */
|
|
182
|
-
data: unknown;
|
|
183
|
-
/** Response headers (lowercased keys). */
|
|
184
|
-
headers: Record<string, string>;
|
|
185
|
-
/** Upstream call duration in ms, as measured by the backend. */
|
|
186
|
-
duration: number;
|
|
187
|
-
/** Backend proxy-call id for cross-referencing logs. */
|
|
188
|
-
proxy_call_id?: string;
|
|
189
|
-
}
|
|
190
|
-
export interface AuthConfig {
|
|
191
|
-
/** Where the provider sends the user after authorizing. HTTPS only. */
|
|
192
|
-
redirectUri: string;
|
|
193
|
-
/** Optional scope override (format is provider-specific). */
|
|
194
|
-
scopes?: string;
|
|
195
|
-
}
|
|
196
|
-
export interface AuthResult {
|
|
197
|
-
/** Opaque one-shot state token — echoed back on callback. */
|
|
198
|
-
linkToken: string;
|
|
199
|
-
/** URL the end-user opens to grant access. */
|
|
200
|
-
authorizeUrl: string;
|
|
201
|
-
/** When the state token expires (10min default). */
|
|
202
|
-
expiresAt: string;
|
|
203
|
-
}
|
|
204
|
-
export interface ServerConnection {
|
|
205
|
-
/** Server id (e.g. "zoop") */
|
|
206
|
-
id: string;
|
|
207
|
-
/** Display name */
|
|
208
|
-
name: string;
|
|
209
|
-
/** Category (payments, fiscal, ecommerce, etc.) */
|
|
210
|
-
category: string;
|
|
211
|
-
/** Country code (BR, MX, AR, CO, GLOBAL) */
|
|
212
|
-
country: string;
|
|
213
|
-
/** Auth method */
|
|
214
|
-
auth_type: "oauth" | "api_key" | "cert" | "none";
|
|
215
|
-
/** Whether the server is connected and tools are callable */
|
|
216
|
-
connected: boolean;
|
|
217
|
-
}
|
|
218
|
-
export interface SendResult {
|
|
219
|
-
/** Final agent message text */
|
|
220
|
-
message: string;
|
|
221
|
-
/** Tools called during the run, in order */
|
|
222
|
-
tool_calls: ToolCallRecord[];
|
|
223
|
-
/** How many model iterations the loop ran */
|
|
224
|
-
iterations: number;
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Single tool-call record returned by send / sendStream.
|
|
228
|
-
* Mirrors the backend's session_tool_calls row shape.
|
|
229
|
-
*/
|
|
230
|
-
export interface ToolCallRecord {
|
|
231
|
-
id: string;
|
|
232
|
-
tool_name: string;
|
|
233
|
-
server_id: string;
|
|
234
|
-
status: "success" | "error";
|
|
235
|
-
duration_ms: number;
|
|
236
|
-
input: unknown;
|
|
237
|
-
output: unknown;
|
|
238
|
-
error_code: string | null;
|
|
239
|
-
}
|
|
240
|
-
export type StreamEvent = {
|
|
241
|
-
type: "user_message";
|
|
242
|
-
content: string;
|
|
243
|
-
} | {
|
|
244
|
-
type: "assistant_text";
|
|
245
|
-
content: string;
|
|
246
|
-
iteration: number;
|
|
247
|
-
} | {
|
|
248
|
-
type: "tool_use";
|
|
249
|
-
id: string;
|
|
250
|
-
name: string;
|
|
251
|
-
input: Record<string, unknown>;
|
|
252
|
-
} | {
|
|
253
|
-
type: "tool_result";
|
|
254
|
-
toolCall: ToolCallRecord;
|
|
255
|
-
} | {
|
|
256
|
-
type: "done";
|
|
257
|
-
result: SendResult;
|
|
258
|
-
} | {
|
|
259
|
-
type: "error";
|
|
260
|
-
error: string;
|
|
261
|
-
message?: string;
|
|
262
|
-
};
|
|
263
73
|
export declare const SessionConfigSchema: z.ZodObject<{
|
|
264
74
|
servers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
265
75
|
preset: z.ZodOptional<z.ZodEnum<["brazilian", "mexican", "argentinian", "colombian", "all"]>>;
|
|
@@ -274,6 +84,7 @@ export declare const SessionConfigSchema: z.ZodObject<{
|
|
|
274
84
|
timeout?: number | undefined;
|
|
275
85
|
}>>;
|
|
276
86
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
87
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
277
88
|
}, "strip", z.ZodTypeAny, {
|
|
278
89
|
servers?: string[] | undefined;
|
|
279
90
|
preset?: "brazilian" | "mexican" | "argentinian" | "colombian" | "all" | undefined;
|
|
@@ -282,6 +93,7 @@ export declare const SessionConfigSchema: z.ZodObject<{
|
|
|
282
93
|
timeout?: number | undefined;
|
|
283
94
|
} | undefined;
|
|
284
95
|
metadata?: Record<string, string> | undefined;
|
|
96
|
+
projectId?: string | undefined;
|
|
285
97
|
}, {
|
|
286
98
|
servers?: string[] | undefined;
|
|
287
99
|
preset?: "brazilian" | "mexican" | "argentinian" | "colombian" | "all" | undefined;
|
|
@@ -290,5 +102,6 @@ export declare const SessionConfigSchema: z.ZodObject<{
|
|
|
290
102
|
timeout?: number | undefined;
|
|
291
103
|
} | undefined;
|
|
292
104
|
metadata?: Record<string, string> | undefined;
|
|
105
|
+
projectId?: string | undefined;
|
|
293
106
|
}>;
|
|
294
107
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,KAAK,CAAC;IACvE,oCAAoC;IACpC,iBAAiB,CAAC,EAAE;QAClB,4CAA4C;QAC5C,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,wDAAwD;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,IAAI;IACnB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3F,0DAA0D;IAC1D,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,oCAAoC;IACpC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;QACnC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC"}
|