@darqlabs/curator-sdk 0.1.5 → 0.2.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 +18 -0
- package/dist/cjs/client.d.ts +13 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +30 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/errors.d.ts +17 -1
- package/dist/cjs/errors.d.ts.map +1 -1
- package/dist/cjs/errors.js +23 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/graph.d.ts +307 -0
- package/dist/cjs/graph.d.ts.map +1 -0
- package/dist/cjs/graph.js +336 -0
- package/dist/cjs/graph.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/integrations.d.ts +57 -0
- package/dist/cjs/integrations.d.ts.map +1 -0
- package/dist/cjs/integrations.js +85 -0
- package/dist/cjs/integrations.js.map +1 -0
- package/dist/cjs/streamEventParse.d.ts.map +1 -1
- package/dist/cjs/streamEventParse.js +19 -0
- package/dist/cjs/streamEventParse.js.map +1 -1
- package/dist/cjs/streamEvents.d.ts +38 -3
- package/dist/cjs/streamEvents.d.ts.map +1 -1
- package/dist/cjs/streamEvents.js +3 -1
- package/dist/cjs/streamEvents.js.map +1 -1
- package/dist/cjs/types.d.ts +29 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/client.d.ts +13 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +31 -1
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/errors.d.ts +17 -1
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +21 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/graph.d.ts +307 -0
- package/dist/esm/graph.d.ts.map +1 -0
- package/dist/esm/graph.js +321 -0
- package/dist/esm/graph.js.map +1 -0
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/integrations.d.ts +57 -0
- package/dist/esm/integrations.d.ts.map +1 -0
- package/dist/esm/integrations.js +80 -0
- package/dist/esm/integrations.js.map +1 -0
- package/dist/esm/streamEventParse.d.ts.map +1 -1
- package/dist/esm/streamEventParse.js +19 -0
- package/dist/esm/streamEventParse.js.map +1 -1
- package/dist/esm/streamEvents.d.ts +38 -3
- package/dist/esm/streamEvents.d.ts.map +1 -1
- package/dist/esm/streamEvents.js +3 -1
- package/dist/esm/streamEvents.js.map +1 -1
- package/dist/esm/types.d.ts +29 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Flow-graph authoring + run surface for the Curator SDK.
|
|
4
|
+
*
|
|
5
|
+
* import { Curator, reducers, agentNode, toolNode, transformNode, edge, branch, when } from "@darqlabs/curator-sdk"
|
|
6
|
+
*
|
|
7
|
+
* const draft = curator.defineGraph({
|
|
8
|
+
* name: "copy-loop",
|
|
9
|
+
* state: { messages: reducers.append(), draft: reducers.lastValue(), revisions: reducers.counter() },
|
|
10
|
+
* nodes: {
|
|
11
|
+
* write: agentNode("copywriter"),
|
|
12
|
+
* review: toolNode("api.grammar.check"),
|
|
13
|
+
* score: transformNode({ transformId: "tf_quality", version: 1 }),
|
|
14
|
+
* },
|
|
15
|
+
* entry: "write",
|
|
16
|
+
* edges: [
|
|
17
|
+
* edge("write", "review"),
|
|
18
|
+
* edge("review", "score"),
|
|
19
|
+
* branch("score", when("draft_ok", "==", true).then("END").else("write")),
|
|
20
|
+
* ],
|
|
21
|
+
* recursionLimit: 12,
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* const graph = await curator.graphs.create(draft) // POST /api/graphs
|
|
25
|
+
* await graph.deploy({ expectedDraftRevision: 1 }) // versioned snapshot
|
|
26
|
+
*
|
|
27
|
+
* // run + stream node/state events
|
|
28
|
+
* for await (const ev of graph.stream({ messages: [] })) {
|
|
29
|
+
* if (ev.type === "node.completed") console.log("done:", ev.node)
|
|
30
|
+
* if (ev.type === "done") console.log("final:", ev.state)
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* These graph types are SDK-owned (the SDK is published and cannot depend on the
|
|
34
|
+
* private @darq/shared-types); they mirror the backend spec shape exactly so the
|
|
35
|
+
* assembled JSON validates + compiles server-side.
|
|
36
|
+
*/
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.Graphs = exports.Graph = exports.PredicateBuilder = exports.reducers = exports.GRAPH_END = void 0;
|
|
39
|
+
exports.agentNode = agentNode;
|
|
40
|
+
exports.toolNode = toolNode;
|
|
41
|
+
exports.transformNode = transformNode;
|
|
42
|
+
exports.forEachNode = forEachNode;
|
|
43
|
+
exports.edge = edge;
|
|
44
|
+
exports.branch = branch;
|
|
45
|
+
exports.router = router;
|
|
46
|
+
exports.when = when;
|
|
47
|
+
exports.defineGraph = defineGraph;
|
|
48
|
+
const errors_js_1 = require("./errors.js");
|
|
49
|
+
const sse_js_1 = require("./sse.js");
|
|
50
|
+
/** The `END` sentinel target. */
|
|
51
|
+
exports.GRAPH_END = "END";
|
|
52
|
+
// ── Builders (pure) ───────────────────────────────────────────────
|
|
53
|
+
exports.reducers = {
|
|
54
|
+
append: () => ({ reducer: "append" }),
|
|
55
|
+
lastValue: () => ({ reducer: "lastValue" }),
|
|
56
|
+
merge: () => ({ reducer: "merge" }),
|
|
57
|
+
counter: () => ({ reducer: "counter" }),
|
|
58
|
+
/** A custom fold `(prev, update) => next`, run as a sandboxed transform. */
|
|
59
|
+
custom: (transform) => ({ reducer: "custom", reducerRef: transform }),
|
|
60
|
+
};
|
|
61
|
+
function agentNode(agentId, opts = {}) {
|
|
62
|
+
return { type: "agent", agentId, ...opts };
|
|
63
|
+
}
|
|
64
|
+
function toolNode(action, opts = {}) {
|
|
65
|
+
return { type: "tool", action, ...opts };
|
|
66
|
+
}
|
|
67
|
+
function transformNode(transform, opts = {}) {
|
|
68
|
+
return { type: "transform", transform, ...opts };
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A `forEach` (map) node: run `body` per element of the `over` channel, appending
|
|
72
|
+
* each output into `collect`. Body params can reference the element via
|
|
73
|
+
* `{{item}}` / `{{item.field}}` / `{{index}}`.
|
|
74
|
+
*/
|
|
75
|
+
function forEachNode(over, body, opts = {}) {
|
|
76
|
+
return { type: "forEach", over, body, ...opts };
|
|
77
|
+
}
|
|
78
|
+
function edge(from, to) {
|
|
79
|
+
return { kind: "static", from, to };
|
|
80
|
+
}
|
|
81
|
+
/** Attach a conditional edge to `from`. Pass a predicate builder or a router. */
|
|
82
|
+
function branch(from, spec) {
|
|
83
|
+
const b = spec instanceof PredicateBuilder ? spec.build() : spec;
|
|
84
|
+
return { kind: "conditional", from, branch: b };
|
|
85
|
+
}
|
|
86
|
+
/** A sandboxed router transform that returns a next-node key (or END). */
|
|
87
|
+
function router(transform, targets) {
|
|
88
|
+
return { kind: "router", transform, targets };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Fluent declarative predicate: `when("draft_ok", "==", true).then("END").else("write")`.
|
|
92
|
+
* Unary ops (`exists`/`truthy`/`falsy`) omit the value.
|
|
93
|
+
*/
|
|
94
|
+
function when(channel, op, value) {
|
|
95
|
+
return new PredicateBuilder({ channel, op, value });
|
|
96
|
+
}
|
|
97
|
+
class PredicateBuilder {
|
|
98
|
+
predicate;
|
|
99
|
+
thenKey;
|
|
100
|
+
elseKey;
|
|
101
|
+
constructor(predicate) {
|
|
102
|
+
this.predicate = predicate;
|
|
103
|
+
}
|
|
104
|
+
then(nodeKey) {
|
|
105
|
+
this.thenKey = nodeKey;
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
else(nodeKey) {
|
|
109
|
+
this.elseKey = nodeKey;
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
/** @internal */
|
|
113
|
+
build() {
|
|
114
|
+
if (this.thenKey === undefined || this.elseKey === undefined) {
|
|
115
|
+
throw new errors_js_1.CuratorError("A `when(...)` branch requires both `.then(...)` and `.else(...)`.");
|
|
116
|
+
}
|
|
117
|
+
return { kind: "predicate", predicate: this.predicate, then: this.thenKey, else: this.elseKey };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.PredicateBuilder = PredicateBuilder;
|
|
121
|
+
/** Assemble a serializable graph spec locally. Pure — no network. */
|
|
122
|
+
function defineGraph(config) {
|
|
123
|
+
const { name, description, tags, state, nodes, entry, edges, recursionLimit, toolFailureMode } = config;
|
|
124
|
+
return {
|
|
125
|
+
name,
|
|
126
|
+
description,
|
|
127
|
+
tags,
|
|
128
|
+
spec: { state, nodes, entry, edges, recursionLimit, toolFailureMode },
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// ── Client handles ────────────────────────────────────────────────
|
|
132
|
+
/** A handle to one graph resource, addressed by its `graph_id`. */
|
|
133
|
+
class Graph {
|
|
134
|
+
http;
|
|
135
|
+
baseUrl;
|
|
136
|
+
defaultTimeoutMs;
|
|
137
|
+
graphId;
|
|
138
|
+
defaultEnvironment;
|
|
139
|
+
/** @internal */
|
|
140
|
+
constructor(http, baseUrl, defaultTimeoutMs, graphId, defaultEnvironment) {
|
|
141
|
+
this.http = http;
|
|
142
|
+
this.baseUrl = baseUrl;
|
|
143
|
+
this.defaultTimeoutMs = defaultTimeoutMs;
|
|
144
|
+
this.graphId = graphId;
|
|
145
|
+
this.defaultEnvironment = defaultEnvironment;
|
|
146
|
+
}
|
|
147
|
+
get base() {
|
|
148
|
+
return `${this.baseUrl}/api/graphs/${encodeURIComponent(this.graphId)}`;
|
|
149
|
+
}
|
|
150
|
+
/** Deploy the current draft as an immutable versioned snapshot. */
|
|
151
|
+
async deploy(opts) {
|
|
152
|
+
const env = opts.environment ?? this.defaultEnvironment;
|
|
153
|
+
const res = await this.http.request(`${this.base}/deploy`, {
|
|
154
|
+
method: "POST",
|
|
155
|
+
body: {
|
|
156
|
+
environment: env,
|
|
157
|
+
slug: opts.slug,
|
|
158
|
+
change_summary: opts.changeSummary,
|
|
159
|
+
expected_draft_revision: opts.expectedDraftRevision,
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
return {
|
|
163
|
+
versionId: res.data.version.version_id,
|
|
164
|
+
versionNumber: res.data.version.version_number,
|
|
165
|
+
slug: res.data.deployment.slug,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Start a run and, unless `{ wait: false }`, block until it settles.
|
|
170
|
+
* Returns the terminal channel state (or `status: "timeout"` if the wait
|
|
171
|
+
* expires — the run keeps going server-side).
|
|
172
|
+
*/
|
|
173
|
+
async run(input, opts = {}) {
|
|
174
|
+
const wait = opts.wait !== false;
|
|
175
|
+
const timeoutMs = opts.timeoutMs ?? this.defaultTimeoutMs;
|
|
176
|
+
const res = await this.http.request(`${this.base}/run`, {
|
|
177
|
+
method: "POST",
|
|
178
|
+
body: {
|
|
179
|
+
input,
|
|
180
|
+
environment: opts.environment ?? this.defaultEnvironment,
|
|
181
|
+
use_draft: opts.useDraft,
|
|
182
|
+
wait,
|
|
183
|
+
timeout_ms: wait ? timeoutMs : undefined,
|
|
184
|
+
},
|
|
185
|
+
signalTimeoutMs: wait ? timeoutMs + 10_000 : undefined,
|
|
186
|
+
});
|
|
187
|
+
return {
|
|
188
|
+
runId: res.data.run_id,
|
|
189
|
+
status: res.data.status ?? "running",
|
|
190
|
+
state: res.data.state,
|
|
191
|
+
errorCode: res.data.errorCode,
|
|
192
|
+
errorMessage: res.data.errorMessage,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Start a run and stream node/state lifecycle events until it settles.
|
|
197
|
+
* Events (`run.started` / `node.started` / `node.completed` / `node.failed`
|
|
198
|
+
* / `state.delta` / `done` / `error`) are derived from the server's run-view
|
|
199
|
+
* snapshot stream. Breaking out of the loop closes the connection; the run
|
|
200
|
+
* continues server-side.
|
|
201
|
+
*/
|
|
202
|
+
async *stream(input, opts = {}) {
|
|
203
|
+
// Start async (no wait) to get a run id, then attach to the snapshot stream.
|
|
204
|
+
const started = await this.run(input, { ...opts, wait: false });
|
|
205
|
+
const runId = started.runId;
|
|
206
|
+
yield { type: "run.started", runId };
|
|
207
|
+
const controller = new AbortController();
|
|
208
|
+
const response = await this.http.streamPost(`${this.base}/runs/${encodeURIComponent(runId)}/stream`, { query: { stream: "true" }, signal: controller.signal });
|
|
209
|
+
const differ = new SnapshotDiffer();
|
|
210
|
+
try {
|
|
211
|
+
for await (const frame of (0, sse_js_1.parseSseStream)(response.body)) {
|
|
212
|
+
if (frame.event === "snapshot") {
|
|
213
|
+
const view = safeParse(frame.data);
|
|
214
|
+
if (!view)
|
|
215
|
+
continue;
|
|
216
|
+
for (const ev of differ.diff(view))
|
|
217
|
+
yield ev;
|
|
218
|
+
}
|
|
219
|
+
else if (frame.event === "done") {
|
|
220
|
+
const done = safeParse(frame.data);
|
|
221
|
+
const last = differ.lastView;
|
|
222
|
+
yield {
|
|
223
|
+
type: "done",
|
|
224
|
+
status: done?.status ?? last?.status ?? "succeeded",
|
|
225
|
+
state: last?.state ?? {},
|
|
226
|
+
};
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
try {
|
|
233
|
+
controller.abort();
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
/* ignore */
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/** Fetch the read-only run projection (spec + per-node status + state). */
|
|
241
|
+
async runStatus(runId) {
|
|
242
|
+
const res = await this.http.request(`${this.base}/runs/${encodeURIComponent(runId)}`);
|
|
243
|
+
return res.data;
|
|
244
|
+
}
|
|
245
|
+
/** List this graph's version snapshots (newest first). */
|
|
246
|
+
async versions() {
|
|
247
|
+
const res = await this.http.request(`${this.base}/versions`);
|
|
248
|
+
return res.data.map((v) => ({
|
|
249
|
+
versionId: v.version_id,
|
|
250
|
+
versionNumber: v.version_number,
|
|
251
|
+
createdAt: v.created_at,
|
|
252
|
+
}));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
exports.Graph = Graph;
|
|
256
|
+
/** Collection surface for creating + addressing graphs. */
|
|
257
|
+
class Graphs {
|
|
258
|
+
http;
|
|
259
|
+
baseUrl;
|
|
260
|
+
defaultTimeoutMs;
|
|
261
|
+
defaultEnvironment;
|
|
262
|
+
/** @internal */
|
|
263
|
+
constructor(http, baseUrl, defaultTimeoutMs, defaultEnvironment) {
|
|
264
|
+
this.http = http;
|
|
265
|
+
this.baseUrl = baseUrl;
|
|
266
|
+
this.defaultTimeoutMs = defaultTimeoutMs;
|
|
267
|
+
this.defaultEnvironment = defaultEnvironment;
|
|
268
|
+
}
|
|
269
|
+
/** Create a new graph resource from a draft (or inline config). Returns a
|
|
270
|
+
* handle bound to the new `graph_id`. */
|
|
271
|
+
async create(draft) {
|
|
272
|
+
const normalized = "spec" in draft ? draft : defineGraph(draft);
|
|
273
|
+
const res = await this.http.request(`${this.baseUrl}/api/graphs`, {
|
|
274
|
+
method: "POST",
|
|
275
|
+
body: {
|
|
276
|
+
name: normalized.name,
|
|
277
|
+
description: normalized.description,
|
|
278
|
+
tags: normalized.tags,
|
|
279
|
+
spec: normalized.spec,
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
return this.handle(res.data.graph_id);
|
|
283
|
+
}
|
|
284
|
+
/** Reattach to an existing graph by id. */
|
|
285
|
+
get(graphId) {
|
|
286
|
+
return this.handle(graphId);
|
|
287
|
+
}
|
|
288
|
+
handle(graphId) {
|
|
289
|
+
return new Graph(this.http, this.baseUrl, this.defaultTimeoutMs, graphId, this.defaultEnvironment);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
exports.Graphs = Graphs;
|
|
293
|
+
// ── Snapshot → event diffing ──────────────────────────────────────
|
|
294
|
+
class SnapshotDiffer {
|
|
295
|
+
lastView = null;
|
|
296
|
+
prevStatuses = new Map();
|
|
297
|
+
prevState = {};
|
|
298
|
+
diff(view) {
|
|
299
|
+
const events = [];
|
|
300
|
+
for (const node of view.nodes) {
|
|
301
|
+
const prev = this.prevStatuses.get(node.key);
|
|
302
|
+
if (prev !== node.status) {
|
|
303
|
+
if (node.status === "running") {
|
|
304
|
+
events.push({ type: "node.started", node: node.key, visit: node.visits });
|
|
305
|
+
}
|
|
306
|
+
else if (node.status === "succeeded") {
|
|
307
|
+
events.push({ type: "node.completed", node: node.key });
|
|
308
|
+
}
|
|
309
|
+
else if (node.status === "failed") {
|
|
310
|
+
events.push({ type: "node.failed", node: node.key });
|
|
311
|
+
}
|
|
312
|
+
this.prevStatuses.set(node.key, node.status);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
const changed = {};
|
|
316
|
+
for (const [k, v] of Object.entries(view.state)) {
|
|
317
|
+
if (JSON.stringify(this.prevState[k]) !== JSON.stringify(v))
|
|
318
|
+
changed[k] = v;
|
|
319
|
+
}
|
|
320
|
+
if (Object.keys(changed).length > 0) {
|
|
321
|
+
events.push({ type: "state.delta", channels: changed });
|
|
322
|
+
}
|
|
323
|
+
this.prevState = view.state;
|
|
324
|
+
this.lastView = view;
|
|
325
|
+
return events;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
function safeParse(text) {
|
|
329
|
+
try {
|
|
330
|
+
return JSON.parse(text);
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
return null;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAgKH,8BAEC;AACD,4BAEC;AACD,sCAKC;AAMD,kCAMC;AAED,oBAEC;AAGD,wBAGC;AAGD,wBAEC;AAMD,oBAEC;AA4CD,kCAQC;AAhQD,2CAA0C;AAE1C,qCAAyC;AAyGzC,iCAAiC;AACpB,QAAA,SAAS,GAAG,KAAc,CAAA;AAuCvC,qEAAqE;AAExD,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACxD,SAAS,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC9D,KAAK,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACtD,OAAO,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC1D,4EAA4E;IAC5E,MAAM,EAAE,CAAC,SAAuB,EAAqB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;CACvG,CAAA;AAED,SAAgB,SAAS,CAAC,OAAe,EAAE,OAAiD,EAAE;IAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;AAC5C,CAAC;AACD,SAAgB,QAAQ,CAAC,MAAc,EAAE,OAA+C,EAAE;IACxF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;AAC1C,CAAC;AACD,SAAgB,aAAa,CAC3B,SAAuB,EACvB,OAAuD,EAAE;IAEzD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAA;AAClD,CAAC;AACD;;;;GAIG;AACH,SAAgB,WAAW,CACzB,IAAY,EACZ,IAAe,EACf,OAAyD,EAAE;IAE3D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;AACjD,CAAC;AAED,SAAgB,IAAI,CAAC,IAAY,EAAE,EAAU;IAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AACrC,CAAC;AAED,iFAAiF;AACjF,SAAgB,MAAM,CAAC,IAAY,EAAE,IAA+B;IAClE,MAAM,CAAC,GAAG,IAAI,YAAY,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAChE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;AACjD,CAAC;AAED,0EAA0E;AAC1E,SAAgB,MAAM,CAAC,SAAuB,EAAE,OAAiB;IAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe,EAAE,EAAY,EAAE,KAAe;IACjE,OAAO,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACrD,CAAC;AAED,MAAa,gBAAgB;IAGE;IAFrB,OAAO,CAAS;IAChB,OAAO,CAAS;IACxB,YAA6B,SAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;IAAG,CAAC;IAC3D,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,gBAAgB;IAChB,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,wBAAY,CAAC,mEAAmE,CAAC,CAAA;QAC7F,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACjG,CAAC;CACF;AAnBD,4CAmBC;AAsBD,qEAAqE;AACrE,SAAgB,WAAW,CAAC,MAAyB;IACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;IACvG,OAAO;QACL,IAAI;QACJ,WAAW;QACX,IAAI;QACJ,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE;KACtE,CAAA;AACH,CAAC;AAkCD,qEAAqE;AAErE,mEAAmE;AACnE,MAAa,KAAK;IAGG;IACA;IACA;IACR;IACQ;IANnB,gBAAgB;IAChB,YACmB,IAAgB,EAChB,OAAe,EACf,gBAAwB,EAChC,OAAe,EACP,kBAA+B;QAJ/B,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAQ;QACf,qBAAgB,GAAhB,gBAAgB,CAAQ;QAChC,YAAO,GAAP,OAAO,CAAQ;QACP,uBAAkB,GAAlB,kBAAkB,CAAa;IAC/C,CAAC;IAEJ,IAAY,IAAI;QACd,OAAO,GAAG,IAAI,CAAC,OAAO,eAAe,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAA;QACvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAEjC,GAAG,IAAI,CAAC,IAAI,SAAS,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;aACpD;SACF,CAAC,CAAA;QACF,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACtC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc;YAC9C,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;SAC/B,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,KAA8B,EAAE,OAA6C,EAAE;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAA;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAA;QACzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAQjC,GAAG,IAAI,CAAC,IAAI,MAAM,EAAE;YACpB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,KAAK;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB;gBACxD,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,IAAI;gBACJ,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACzC;YACD,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS;SACvD,CAAC,CAAA;QACF,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACtB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS;YACpC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;YAC7B,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;SACpC,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,KAA8B,EAAE,OAAwB,EAAE;QACtE,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;QAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CACzC,GAAG,IAAI,CAAC,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,SAAS,EACvD,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CACzD,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAA;QACnC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAA,uBAAc,EAAC,QAAQ,CAAC,IAAK,CAAC,EAAE,CAAC;gBACzD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,SAAS,CAAe,KAAK,CAAC,IAAI,CAAC,CAAA;oBAChD,IAAI,CAAC,IAAI;wBAAE,SAAQ;oBACnB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,MAAM,EAAE,CAAA;gBAC9C,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,SAAS,CAA6B,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;oBAC5B,MAAM;wBACJ,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,IAAI,WAAW;wBACnD,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;qBACzB,CAAA;oBACD,OAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,UAAU,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACjD,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAEjC,GAAG,IAAI,CAAC,IAAI,WAAW,CAAC,CAAA;QAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,SAAS,EAAE,CAAC,CAAC,UAAU;SACxB,CAAC,CAAC,CAAA;IACL,CAAC;CACF;AAvID,sBAuIC;AAED,2DAA2D;AAC3D,MAAa,MAAM;IAGE;IACA;IACA;IACA;IALnB,gBAAgB;IAChB,YACmB,IAAgB,EAChB,OAAe,EACf,gBAAwB,EACxB,kBAA+B;QAH/B,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAQ;QACf,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,uBAAkB,GAAlB,kBAAkB,CAAa;IAC/C,CAAC;IAEJ;8CAC0C;IAC1C,KAAK,CAAC,MAAM,CAAC,KAAqC;QAChD,MAAM,UAAU,GAAe,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiC,GAAG,IAAI,CAAC,OAAO,aAAa,EAAE;YAChG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,2CAA2C;IAC3C,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACpG,CAAC;CACF;AAjCD,wBAiCC;AAED,qEAAqE;AAErE,MAAM,cAAc;IAClB,QAAQ,GAAwB,IAAI,CAAA;IAC5B,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAA;IACpD,SAAS,GAA4B,EAAE,CAAA;IAE/C,IAAI,CAAC,IAAkB;QACrB,MAAM,MAAM,GAAoB,EAAE,CAAA;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC3E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBACzD,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBACtD,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAA4B,EAAE,CAAA;QAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,SAAS,CAAI,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -3,8 +3,9 @@ export type { CuratorOptions, AgentLocator } from "./client.js";
|
|
|
3
3
|
export type { EndUserJwtProvider } from "./http.js";
|
|
4
4
|
export { Files } from "./files.js";
|
|
5
5
|
export type { PresignUploadInput, PresignUploadResult, OneShotUploadInput, UploadData, } from "./files.js";
|
|
6
|
-
export { CuratorError, CuratorAuthError, CuratorForbiddenError, CuratorNotFoundError, CuratorDeploymentRetiredError, CuratorRateLimitError, CuratorApprovalRequiredError, CuratorAgentError, CuratorTimeoutError, } from "./errors.js";
|
|
7
|
-
export type { AssistantMessage, UserMessage, ToolMessage, ConversationMessage, Environment, FileAttachment, ApprovalDetails, AgentFailureClass, SendOptions, HistoryOptions, HistoryPage, DeploymentConfig, } from "./types.js";
|
|
8
|
-
export
|
|
6
|
+
export { CuratorError, CuratorAuthError, CuratorForbiddenError, CuratorNotFoundError, CuratorDeploymentRetiredError, CuratorRateLimitError, CuratorApprovalRequiredError, CuratorAuthorizationRequiredError, CuratorAgentError, CuratorTimeoutError, } from "./errors.js";
|
|
7
|
+
export type { AssistantMessage, UserMessage, ToolMessage, ConversationMessage, Environment, FileAttachment, ApprovalDetails, AuthorizationDetails, AgentFailureClass, SendOptions, HistoryOptions, HistoryPage, DeploymentConfig, EndUserConnection, } from "./types.js";
|
|
8
|
+
export { Integrations, GmailIntegration } from "./integrations.js";
|
|
9
|
+
export type { StreamEvent, StreamDelta, StreamToolCallStarted, StreamToolCallCompleted, StreamState, StreamPlanProgress, StreamDone, StreamError, StreamPausedForApproval, StreamPausedForAuthorization, } from "./streamEvents.js";
|
|
9
10
|
export { isTerminalStreamEvent } from "./streamEvents.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,iCAAiC,EACjC,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,YAAY,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isTerminalStreamEvent = exports.CuratorTimeoutError = exports.CuratorAgentError = exports.CuratorApprovalRequiredError = exports.CuratorRateLimitError = exports.CuratorDeploymentRetiredError = exports.CuratorNotFoundError = exports.CuratorForbiddenError = exports.CuratorAuthError = exports.CuratorError = exports.Files = exports.Chat = exports.Agent = exports.Curator = void 0;
|
|
3
|
+
exports.isTerminalStreamEvent = exports.GmailIntegration = exports.Integrations = exports.CuratorTimeoutError = exports.CuratorAgentError = exports.CuratorAuthorizationRequiredError = exports.CuratorApprovalRequiredError = exports.CuratorRateLimitError = exports.CuratorDeploymentRetiredError = exports.CuratorNotFoundError = exports.CuratorForbiddenError = exports.CuratorAuthError = exports.CuratorError = exports.Files = exports.Chat = exports.Agent = exports.Curator = void 0;
|
|
4
4
|
var client_js_1 = require("./client.js");
|
|
5
5
|
Object.defineProperty(exports, "Curator", { enumerable: true, get: function () { return client_js_1.Curator; } });
|
|
6
6
|
Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return client_js_1.Agent; } });
|
|
@@ -15,8 +15,12 @@ Object.defineProperty(exports, "CuratorNotFoundError", { enumerable: true, get:
|
|
|
15
15
|
Object.defineProperty(exports, "CuratorDeploymentRetiredError", { enumerable: true, get: function () { return errors_js_1.CuratorDeploymentRetiredError; } });
|
|
16
16
|
Object.defineProperty(exports, "CuratorRateLimitError", { enumerable: true, get: function () { return errors_js_1.CuratorRateLimitError; } });
|
|
17
17
|
Object.defineProperty(exports, "CuratorApprovalRequiredError", { enumerable: true, get: function () { return errors_js_1.CuratorApprovalRequiredError; } });
|
|
18
|
+
Object.defineProperty(exports, "CuratorAuthorizationRequiredError", { enumerable: true, get: function () { return errors_js_1.CuratorAuthorizationRequiredError; } });
|
|
18
19
|
Object.defineProperty(exports, "CuratorAgentError", { enumerable: true, get: function () { return errors_js_1.CuratorAgentError; } });
|
|
19
20
|
Object.defineProperty(exports, "CuratorTimeoutError", { enumerable: true, get: function () { return errors_js_1.CuratorTimeoutError; } });
|
|
21
|
+
var integrations_js_1 = require("./integrations.js");
|
|
22
|
+
Object.defineProperty(exports, "Integrations", { enumerable: true, get: function () { return integrations_js_1.Integrations; } });
|
|
23
|
+
Object.defineProperty(exports, "GmailIntegration", { enumerable: true, get: function () { return integrations_js_1.GmailIntegration; } });
|
|
20
24
|
var streamEvents_js_1 = require("./streamEvents.js");
|
|
21
25
|
Object.defineProperty(exports, "isTerminalStreamEvent", { enumerable: true, get: function () { return streamEvents_js_1.isTerminalStreamEvent; } });
|
|
22
26
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAAzC,oGAAA,OAAO,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,iGAAA,IAAI,OAAA;AAG7B,uCAAkC;AAAzB,iGAAA,KAAK,OAAA;AAOd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAAzC,oGAAA,OAAO,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,iGAAA,IAAI,OAAA;AAG7B,uCAAkC;AAAzB,iGAAA,KAAK,OAAA;AAOd,yCAWoB;AAVlB,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,iHAAA,oBAAoB,OAAA;AACpB,0HAAA,6BAA6B,OAAA;AAC7B,kHAAA,qBAAqB,OAAA;AACrB,yHAAA,4BAA4B,OAAA;AAC5B,8HAAA,iCAAiC,OAAA;AACjC,8GAAA,iBAAiB,OAAA;AACjB,gHAAA,mBAAmB,OAAA;AAkBrB,qDAAkE;AAAzD,+GAAA,YAAY,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AAavC,qDAAyD;AAAhD,wHAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration connect surface for the host app's end users (SDK delegated
|
|
3
|
+
* identity). Lets a host app drive the OAuth connect flow for the currently
|
|
4
|
+
* authenticated end user (identified by the end-user JWT the client carries),
|
|
5
|
+
* so an agent can act as them.
|
|
6
|
+
*
|
|
7
|
+
* Typical loop, on a `CuratorAuthorizationRequiredError`:
|
|
8
|
+
*
|
|
9
|
+
* const { consentUrl } = await curator.integrations.gmail.startConnect({
|
|
10
|
+
* returnUrl: "https://myapp.com/after-connect",
|
|
11
|
+
* })
|
|
12
|
+
* window.location = consentUrl // Google consent
|
|
13
|
+
* // …user returns to returnUrl?status=connected&confirm_token=… …
|
|
14
|
+
* await curator.integrations.gmail.confirm(confirmToken) // bind
|
|
15
|
+
* await chat.authorize() // resume the paused run
|
|
16
|
+
*/
|
|
17
|
+
import type { HttpClient } from "./http.js";
|
|
18
|
+
import type { EndUserConnection } from "./types.js";
|
|
19
|
+
export declare class GmailIntegration {
|
|
20
|
+
private readonly http;
|
|
21
|
+
private readonly baseUrl;
|
|
22
|
+
constructor(http: HttpClient, baseUrl: string);
|
|
23
|
+
private base;
|
|
24
|
+
/**
|
|
25
|
+
* Begin an end-user Gmail connect. Returns a Google consent URL to open
|
|
26
|
+
* (redirect or popup). `returnUrl` must be an origin your org has
|
|
27
|
+
* allowlisted (Settings → End-user identity); the callback 302s back to it
|
|
28
|
+
* with `?status=connected&confirm_token=…`.
|
|
29
|
+
*/
|
|
30
|
+
startConnect(opts: {
|
|
31
|
+
returnUrl: string;
|
|
32
|
+
}): Promise<{
|
|
33
|
+
consentUrl: string;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Finalize the connection after the user returns from consent, passing the
|
|
37
|
+
* `confirm_token` from the return URL. Binds only when the end user's
|
|
38
|
+
* verified JWT matches the one the flow was started for.
|
|
39
|
+
*/
|
|
40
|
+
confirm(confirmToken: string): Promise<{
|
|
41
|
+
connectionId: string;
|
|
42
|
+
status: string;
|
|
43
|
+
}>;
|
|
44
|
+
/** The current end user's own Gmail connection, or null if not connected. */
|
|
45
|
+
getConnection(): Promise<EndUserConnection | null>;
|
|
46
|
+
/** Disconnect (revoke) the current end user's own Gmail connection. */
|
|
47
|
+
disconnect(): Promise<{
|
|
48
|
+
status: string;
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
51
|
+
export declare class Integrations {
|
|
52
|
+
/** Gmail connect surface for end users. */
|
|
53
|
+
readonly gmail: GmailIntegration;
|
|
54
|
+
/** @internal */
|
|
55
|
+
constructor(http: HttpClient, baseUrl: string);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=integrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../src/integrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAWnD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM;IAGlC,OAAO,CAAC,IAAI;IAIZ;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAQhF;;;;OAIG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAQtF,6EAA6E;IACvE,aAAa,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAgBxD,uEAAuE;IACjE,UAAU,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAMhD;AAED,qBAAa,YAAY;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAEhC,gBAAgB;gBACJ,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;CAG9C"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Integration connect surface for the host app's end users (SDK delegated
|
|
4
|
+
* identity). Lets a host app drive the OAuth connect flow for the currently
|
|
5
|
+
* authenticated end user (identified by the end-user JWT the client carries),
|
|
6
|
+
* so an agent can act as them.
|
|
7
|
+
*
|
|
8
|
+
* Typical loop, on a `CuratorAuthorizationRequiredError`:
|
|
9
|
+
*
|
|
10
|
+
* const { consentUrl } = await curator.integrations.gmail.startConnect({
|
|
11
|
+
* returnUrl: "https://myapp.com/after-connect",
|
|
12
|
+
* })
|
|
13
|
+
* window.location = consentUrl // Google consent
|
|
14
|
+
* // …user returns to returnUrl?status=connected&confirm_token=… …
|
|
15
|
+
* await curator.integrations.gmail.confirm(confirmToken) // bind
|
|
16
|
+
* await chat.authorize() // resume the paused run
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.Integrations = exports.GmailIntegration = void 0;
|
|
20
|
+
class GmailIntegration {
|
|
21
|
+
http;
|
|
22
|
+
baseUrl;
|
|
23
|
+
constructor(http, baseUrl) {
|
|
24
|
+
this.http = http;
|
|
25
|
+
this.baseUrl = baseUrl;
|
|
26
|
+
}
|
|
27
|
+
base() {
|
|
28
|
+
return `${this.baseUrl}/api/integrations/gmail/end-user`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Begin an end-user Gmail connect. Returns a Google consent URL to open
|
|
32
|
+
* (redirect or popup). `returnUrl` must be an origin your org has
|
|
33
|
+
* allowlisted (Settings → End-user identity); the callback 302s back to it
|
|
34
|
+
* with `?status=connected&confirm_token=…`.
|
|
35
|
+
*/
|
|
36
|
+
async startConnect(opts) {
|
|
37
|
+
const res = await this.http.request(`${this.base()}/start`, {
|
|
38
|
+
method: "POST",
|
|
39
|
+
body: { return_url: opts.returnUrl },
|
|
40
|
+
});
|
|
41
|
+
return { consentUrl: res.consent_url };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Finalize the connection after the user returns from consent, passing the
|
|
45
|
+
* `confirm_token` from the return URL. Binds only when the end user's
|
|
46
|
+
* verified JWT matches the one the flow was started for.
|
|
47
|
+
*/
|
|
48
|
+
async confirm(confirmToken) {
|
|
49
|
+
const res = await this.http.request(`${this.base()}/confirm`, { method: "POST", body: { confirm_token: confirmToken } });
|
|
50
|
+
return { connectionId: res.data.connection_id, status: res.data.status };
|
|
51
|
+
}
|
|
52
|
+
/** The current end user's own Gmail connection, or null if not connected. */
|
|
53
|
+
async getConnection() {
|
|
54
|
+
const res = await this.http.request(`${this.base()}/connections`);
|
|
55
|
+
if (!res.connection)
|
|
56
|
+
return null;
|
|
57
|
+
const c = res.connection;
|
|
58
|
+
return {
|
|
59
|
+
connectionId: c.connection_id,
|
|
60
|
+
provider: c.provider,
|
|
61
|
+
effectiveEmail: c.effective_email,
|
|
62
|
+
status: c.status,
|
|
63
|
+
scopesGranted: c.scopes_granted,
|
|
64
|
+
installedAt: c.installed_at,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** Disconnect (revoke) the current end user's own Gmail connection. */
|
|
68
|
+
async disconnect() {
|
|
69
|
+
const res = await this.http.request(`${this.base()}/disconnect`, {
|
|
70
|
+
method: "POST",
|
|
71
|
+
});
|
|
72
|
+
return { status: res.data.status };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.GmailIntegration = GmailIntegration;
|
|
76
|
+
class Integrations {
|
|
77
|
+
/** Gmail connect surface for end users. */
|
|
78
|
+
gmail;
|
|
79
|
+
/** @internal */
|
|
80
|
+
constructor(http, baseUrl) {
|
|
81
|
+
this.gmail = new GmailIntegration(http, baseUrl);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.Integrations = Integrations;
|
|
85
|
+
//# sourceMappingURL=integrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/integrations.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAcH,MAAa,gBAAgB;IAER;IACA;IAFnB,YACmB,IAAgB,EAChB,OAAe;QADf,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAQ;IAC/B,CAAC;IAEI,IAAI;QACV,OAAO,GAAG,IAAI,CAAC,OAAO,kCAAkC,CAAA;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,IAA2B;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0B,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;YACnF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;SACrC,CAAC,CAAA;QACF,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EACxB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,CAC1D,CAAA;QACD,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC1E,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,aAAa;QACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAC7B,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAChC,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAA;QACxB,OAAO;YACL,YAAY,EAAE,CAAC,CAAC,aAAa;YAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,cAAc,EAAE,CAAC,CAAC,eAAe;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,WAAW,EAAE,CAAC,CAAC,YAAY;SAC5B,CAAA;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA+B,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE;YAC7F,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IACpC,CAAC;CACF;AA7DD,4CA6DC;AAED,MAAa,YAAY;IACvB,2CAA2C;IAClC,KAAK,CAAkB;IAEhC,gBAAgB;IAChB,YAAY,IAAgB,EAAE,OAAe;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;CACF;AARD,oCAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamEventParse.d.ts","sourceRoot":"","sources":["../../src/streamEventParse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"streamEventParse.d.ts","sourceRoot":"","sources":["../../src/streamEventParse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CA0GtE"}
|
|
@@ -36,6 +36,18 @@ function frameToStreamEvent(frame) {
|
|
|
36
36
|
capabilityId: String(data.capability_id),
|
|
37
37
|
durationMs: Number(data.duration_ms ?? 0),
|
|
38
38
|
};
|
|
39
|
+
case "tool_call.failed":
|
|
40
|
+
return {
|
|
41
|
+
type: "tool_call.failed",
|
|
42
|
+
toolCallId: String(data.tool_call_id),
|
|
43
|
+
toolName: String(data.tool_name),
|
|
44
|
+
capabilityId: String(data.capability_id),
|
|
45
|
+
// Narrow to the known vocabulary rather than trusting the wire. A
|
|
46
|
+
// reason this SDK build has never heard of degrades to `tool_error`
|
|
47
|
+
// (the recoverable, less alarming of the two) instead of widening the
|
|
48
|
+
// union at runtime and breaking an exhaustive switch in user code.
|
|
49
|
+
reason: data.reason === "policy_denied" ? "policy_denied" : "tool_error",
|
|
50
|
+
};
|
|
39
51
|
case "state":
|
|
40
52
|
return {
|
|
41
53
|
type: "state",
|
|
@@ -93,6 +105,13 @@ function frameToStreamEvent(frame) {
|
|
|
93
105
|
runId: String(data.run_id ?? ""),
|
|
94
106
|
conversationId: String(data.conversation_id ?? ""),
|
|
95
107
|
};
|
|
108
|
+
case "paused_for_authorization":
|
|
109
|
+
return {
|
|
110
|
+
type: "paused_for_authorization",
|
|
111
|
+
authorization: data.authorization,
|
|
112
|
+
runId: String(data.run_id ?? ""),
|
|
113
|
+
conversationId: String(data.conversation_id ?? ""),
|
|
114
|
+
};
|
|
96
115
|
default:
|
|
97
116
|
// Unknown event types are dropped so the SDK stays forward-compatible
|
|
98
117
|
// with future backend additions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamEventParse.js","sourceRoot":"","sources":["../../src/streamEventParse.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAKH,
|
|
1
|
+
{"version":3,"file":"streamEventParse.js","sourceRoot":"","sources":["../../src/streamEventParse.ts"],"names":[],"mappings":"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"}
|