@sapiom/tools 0.1.3 → 0.3.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/CHANGELOG.md +20 -0
- package/README.md +2 -1
- package/dist/cjs/agent/index.d.ts +22 -0
- package/dist/cjs/agent/index.d.ts.map +1 -1
- package/dist/cjs/agent/index.js.map +1 -1
- package/dist/cjs/client.d.ts +8 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +41 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/file-storage/errors.d.ts +16 -0
- package/dist/cjs/file-storage/errors.d.ts.map +1 -0
- package/dist/cjs/file-storage/errors.js +36 -0
- package/dist/cjs/file-storage/errors.js.map +1 -0
- package/dist/cjs/file-storage/index.d.ts +116 -0
- package/dist/cjs/file-storage/index.d.ts.map +1 -0
- package/dist/cjs/file-storage/index.js +136 -0
- package/dist/cjs/file-storage/index.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stub/index.d.ts +34 -0
- package/dist/cjs/stub/index.d.ts.map +1 -0
- package/dist/cjs/stub/index.js +333 -0
- package/dist/cjs/stub/index.js.map +1 -0
- package/dist/esm/agent/index.d.ts +22 -0
- package/dist/esm/agent/index.d.ts.map +1 -1
- package/dist/esm/agent/index.js.map +1 -1
- package/dist/esm/client.d.ts +8 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +8 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/file-storage/errors.d.ts +16 -0
- package/dist/esm/file-storage/errors.d.ts.map +1 -0
- package/dist/esm/file-storage/errors.js +31 -0
- package/dist/esm/file-storage/errors.js.map +1 -0
- package/dist/esm/file-storage/index.d.ts +116 -0
- package/dist/esm/file-storage/index.d.ts.map +1 -0
- package/dist/esm/file-storage/index.js +129 -0
- package/dist/esm/file-storage/index.js.map +1 -0
- package/dist/esm/index.d.ts +5 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stub/index.d.ts +34 -0
- package/dist/esm/stub/index.d.ts.map +1 -0
- package/dist/esm/stub/index.js +330 -0
- package/dist/esm/stub/index.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +12 -2
- package/src/file-storage/README.md +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/stub/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAU3C,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,MAAM,CAChC,MAAM,EACN,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAC5C,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AA6TD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,iBAAsB,GAAG,MAAM,CAgJrE"}
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStubClient = createStubClient;
|
|
4
|
+
/**
|
|
5
|
+
* `@sapiom/tools/stub` — a stub capability client for local development.
|
|
6
|
+
*
|
|
7
|
+
* `createStubClient()` returns a `Sapiom` of the same shape as the real client,
|
|
8
|
+
* but every capability is satisfied by a built-in default (so a workflow runs
|
|
9
|
+
* locally with zero setup) plus optional per-capability overrides (when a step's
|
|
10
|
+
* logic branches on a result). No network, no credentials.
|
|
11
|
+
*
|
|
12
|
+
* It is shape-faithful: namespace methods return the real handle types
|
|
13
|
+
* (`Repository`, `Sandbox`, `RunHandle`), and a handle's instance methods
|
|
14
|
+
* (`repo.pushFromSandbox(...)`, `sandbox.exec(...)`) work too — so a step never
|
|
15
|
+
* has to be rewritten to run locally. Method names are validated against the
|
|
16
|
+
* real handle classes, so a call to a method that doesn't exist throws.
|
|
17
|
+
*
|
|
18
|
+
* Overrides are keyed by capability path — namespace methods by their dotted
|
|
19
|
+
* path (`repositories.list`, `agent.coding.run`), handle methods by
|
|
20
|
+
* `<handle>.<method>` (`repository.pushFromSandbox`, `sandbox.exec`). A value
|
|
21
|
+
* replaces that capability's default; a function `(…args) => value` computes it
|
|
22
|
+
* from the call arguments.
|
|
23
|
+
*/
|
|
24
|
+
const index_js_1 = require("../agent/index.js");
|
|
25
|
+
const index_js_2 = require("../repositories/index.js");
|
|
26
|
+
const index_js_3 = require("../sandboxes/index.js");
|
|
27
|
+
// Module-scoped so correlation ids are unique across launches within a run.
|
|
28
|
+
let launchSeq = 0;
|
|
29
|
+
/** A launched, pausable capability handle (the `DispatchHandle` shape). */
|
|
30
|
+
function isDispatchHandle(v) {
|
|
31
|
+
if (!v || typeof v !== "object")
|
|
32
|
+
return false;
|
|
33
|
+
const h = v;
|
|
34
|
+
return (typeof h.wait === "function" &&
|
|
35
|
+
typeof h.dispatch?.correlationId === "string");
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Register a dispatch-able handle's eventual result so a pause on its signal can
|
|
39
|
+
* be auto-resumed, then return the handle. Capability-agnostic: any launch-style
|
|
40
|
+
* stub method wraps its returned handle in this — the result a `pauseUntilSignal`
|
|
41
|
+
* resumes with is exactly what the handle's `wait()` resolves to.
|
|
42
|
+
*/
|
|
43
|
+
async function dispatchable(handle, signals) {
|
|
44
|
+
if (signals && isDispatchHandle(handle)) {
|
|
45
|
+
// The resume payload is delivered as the dispatched run's terminal signal,
|
|
46
|
+
// which in production crosses a wire boundary — it reaches the resumed step
|
|
47
|
+
// as plain JSON, never a live handle. Round-trip it here so a local run sees
|
|
48
|
+
// exactly that shape (e.g. `result.sandbox` is plain data, so the author
|
|
49
|
+
// re-attaches it with `sandboxes.attach(name)` just as they would in prod —
|
|
50
|
+
// no local-only handle methods to lean on). Relies on stub handles being
|
|
51
|
+
// JSON-safe (see `makeHandle`).
|
|
52
|
+
signals.set(handle.dispatch.correlationId, toPlainJson(await handle.wait()));
|
|
53
|
+
}
|
|
54
|
+
return handle;
|
|
55
|
+
}
|
|
56
|
+
/** Deep-plainify a value the way a wire boundary would (drops handle behavior). */
|
|
57
|
+
function toPlainJson(value) {
|
|
58
|
+
return JSON.parse(JSON.stringify(value ?? null));
|
|
59
|
+
}
|
|
60
|
+
// Method names of each handle, reflected from the real classes so the stub stays
|
|
61
|
+
// in lockstep with the SDK (a renamed/added method is picked up automatically).
|
|
62
|
+
const REPOSITORY_METHODS = handleMethods(index_js_2.Repository.prototype);
|
|
63
|
+
const SANDBOX_METHODS = handleMethods(index_js_3.Sandbox.prototype);
|
|
64
|
+
const RUN_HANDLE_METHODS = new Set(["status", "wait"]); // RunHandle is a literal, not a class
|
|
65
|
+
function handleMethods(proto) {
|
|
66
|
+
return new Set(Object.getOwnPropertyNames(proto).filter((n) => n !== "constructor"));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolve an override for a capability call. `paths` is one path or an ordered
|
|
70
|
+
* list of candidates — the first that is present wins, so a dispatched method can
|
|
71
|
+
* honor both its own key and the shared result key (see {@link dispatchedKeys}).
|
|
72
|
+
* Only the candidate that actually matches is consulted (and thus recorded as
|
|
73
|
+
* used), so unmatched-key reporting stays precise.
|
|
74
|
+
*/
|
|
75
|
+
function resolve(overrides, paths, args, fallback) {
|
|
76
|
+
for (const path of typeof paths === "string" ? [paths] : paths) {
|
|
77
|
+
if (Object.prototype.hasOwnProperty.call(overrides, path)) {
|
|
78
|
+
const o = overrides[path];
|
|
79
|
+
return typeof o === "function"
|
|
80
|
+
? o(...args)
|
|
81
|
+
: o;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return fallback();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The stub keys a dispatched capability accepts, in precedence order: the
|
|
88
|
+
* method actually called (`<ns>.launch`) wins, then the shared blocking-result
|
|
89
|
+
* key (`<ns>.run`) that produces the same payload. Lets an author stub the key
|
|
90
|
+
* matching the call they wrote — `agent.coding.launch` — while the canonical
|
|
91
|
+
* `agent.coding.run` keeps working for both `run()` and `launch()`. Uniform
|
|
92
|
+
* across the dispatchable/pause family (coding today; deep research,
|
|
93
|
+
* sub-workflows, browser sessions later).
|
|
94
|
+
*/
|
|
95
|
+
function dispatchedKeys(namespace) {
|
|
96
|
+
return [`${namespace}.launch`, `${namespace}.run`];
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Wrap an overrides object so that every present key `resolve` consults is
|
|
100
|
+
* recorded in `used` (via the `hasOwnProperty` probe → `getOwnPropertyDescriptor`
|
|
101
|
+
* trap). Lets a runner report supplied-but-unmatched stub keys without threading
|
|
102
|
+
* a tracker through every factory.
|
|
103
|
+
*/
|
|
104
|
+
function recordingOverrides(raw, used) {
|
|
105
|
+
if (!used)
|
|
106
|
+
return raw;
|
|
107
|
+
return new Proxy(raw, {
|
|
108
|
+
getOwnPropertyDescriptor(target, prop) {
|
|
109
|
+
const desc = Object.getOwnPropertyDescriptor(target, prop);
|
|
110
|
+
if (desc && typeof prop === "string")
|
|
111
|
+
used.add(prop);
|
|
112
|
+
return desc;
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Coerce a resolved value (override or default; plain JSON or an existing stub
|
|
117
|
+
* handle) into a Repository handle, so stubbing a handle-returning capability
|
|
118
|
+
* with plain JSON never strips the handle's instance methods. */
|
|
119
|
+
function asRepository(data, overrides) {
|
|
120
|
+
const d = (data ?? {});
|
|
121
|
+
const slug = d.slug ?? "stub-repo";
|
|
122
|
+
return stubRepository({
|
|
123
|
+
slug,
|
|
124
|
+
cloneUrl: d.cloneUrl ?? `https://git.local/${slug}.git`,
|
|
125
|
+
status: d.status,
|
|
126
|
+
}, overrides);
|
|
127
|
+
}
|
|
128
|
+
/** Sandbox counterpart to {@link asRepository}. */
|
|
129
|
+
function asSandbox(data, overrides) {
|
|
130
|
+
const d = (data ?? {});
|
|
131
|
+
return stubSandbox({ name: d.name ?? "stub-sandbox", workspaceRoot: d.workspaceRoot }, overrides);
|
|
132
|
+
}
|
|
133
|
+
/** Coerce a `repositories.list` override (or default) into Repository handles,
|
|
134
|
+
* warning when the value or an element is the wrong shape — so a malformed list
|
|
135
|
+
* stub surfaces instead of silently yielding repos with `slug: undefined`. */
|
|
136
|
+
function asRepositoryList(data, overrides, warnings) {
|
|
137
|
+
if (!Array.isArray(data)) {
|
|
138
|
+
warnings?.add(`'repositories.list' stub must be an array of repositories (e.g. [{ "slug": "...", "cloneUrl": "..." }]); ` +
|
|
139
|
+
`got ${describeShape(data)}. Returning an empty list.`);
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
return data.map((el, i) => {
|
|
143
|
+
if (!el ||
|
|
144
|
+
typeof el !== "object" ||
|
|
145
|
+
typeof el.slug !== "string") {
|
|
146
|
+
warnings?.add(`'repositories.list'[${i}] is not a repository shape (expected { slug, cloneUrl }); got ${describeShape(el)}. ` +
|
|
147
|
+
`Note: stub values are NOT consumed one-per-call — a list stub is the array list() returns, so write ` +
|
|
148
|
+
`[{ "slug": "..." }], not [[{ ... }]].`);
|
|
149
|
+
}
|
|
150
|
+
return asRepository(el, overrides);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
function describeShape(v) {
|
|
154
|
+
if (v === null)
|
|
155
|
+
return "null";
|
|
156
|
+
if (Array.isArray(v))
|
|
157
|
+
return `an array (length ${v.length})`;
|
|
158
|
+
return typeof v;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Build a handle proxy: data fields read from `data`; declared methods resolve an
|
|
162
|
+
* override (`<type>.<method>`) or a default; any other property is rejected as
|
|
163
|
+
* not part of the handle.
|
|
164
|
+
*/
|
|
165
|
+
function makeHandle(type, methods, data, overrides, defaults) {
|
|
166
|
+
return new Proxy(data, {
|
|
167
|
+
get(target, prop) {
|
|
168
|
+
if (typeof prop === "symbol" || prop === "then")
|
|
169
|
+
return undefined;
|
|
170
|
+
const key = String(prop);
|
|
171
|
+
if (key in target)
|
|
172
|
+
return target[key]; // data field (incl. nested handles)
|
|
173
|
+
// Serialization / coercion hooks: a stub handle must survive being
|
|
174
|
+
// JSON.stringify'd, logged, or string-coerced — these flow through the
|
|
175
|
+
// local runner's trace, `ctx.shared` snapshots, and the resume payload. We
|
|
176
|
+
// answer them with the handle's plain data instead of letting the
|
|
177
|
+
// unknown-property guard below throw (which surfaced as the opaque
|
|
178
|
+
// "'sandbox.toJSON' is not a method or field" failure). `{ ...target }`
|
|
179
|
+
// copies only the data fields; nested handles serialize via their own
|
|
180
|
+
// toJSON in turn.
|
|
181
|
+
if (key === "toJSON")
|
|
182
|
+
return () => ({ ...target });
|
|
183
|
+
if (key === "toString")
|
|
184
|
+
return () => `[stub ${type}]`;
|
|
185
|
+
if (key === "valueOf")
|
|
186
|
+
return () => target;
|
|
187
|
+
if (methods.has(key)) {
|
|
188
|
+
return (...args) => Promise.resolve(resolve(overrides, `${type}.${key}`, args, () => defaults[key]?.(args)));
|
|
189
|
+
}
|
|
190
|
+
throw new Error(`'${type}.${key}' is not a method or field on this handle.`);
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
const REPO_METHOD_DEFAULTS = {
|
|
195
|
+
delete: () => undefined,
|
|
196
|
+
pushFromSandbox: () => ({
|
|
197
|
+
pushed: true,
|
|
198
|
+
sha: "stub00000000",
|
|
199
|
+
branch: "main",
|
|
200
|
+
}),
|
|
201
|
+
};
|
|
202
|
+
const SANDBOX_METHOD_DEFAULTS = {
|
|
203
|
+
exec: () => ({ pid: "stub-proc", exitCode: 0, stdout: "", stderr: "" }),
|
|
204
|
+
readFile: () => "",
|
|
205
|
+
writeFile: () => undefined,
|
|
206
|
+
destroy: () => undefined,
|
|
207
|
+
};
|
|
208
|
+
function stubRepository(data, overrides) {
|
|
209
|
+
return makeHandle("repository", REPOSITORY_METHODS, {
|
|
210
|
+
slug: data.slug,
|
|
211
|
+
cloneUrl: data.cloneUrl,
|
|
212
|
+
status: data.status ?? "active",
|
|
213
|
+
}, overrides, REPO_METHOD_DEFAULTS);
|
|
214
|
+
}
|
|
215
|
+
function stubSandbox(data, overrides) {
|
|
216
|
+
return makeHandle("sandbox", SANDBOX_METHODS, { name: data.name, workspaceRoot: data.workspaceRoot ?? "/workspace" }, overrides, SANDBOX_METHOD_DEFAULTS);
|
|
217
|
+
}
|
|
218
|
+
function stubCodingResult(overrides) {
|
|
219
|
+
return {
|
|
220
|
+
runId: "stub-run",
|
|
221
|
+
status: "completed",
|
|
222
|
+
summary: "(stub) coding run completed locally",
|
|
223
|
+
result: {
|
|
224
|
+
success: true,
|
|
225
|
+
turns: 1,
|
|
226
|
+
modelUsed: "stub-model",
|
|
227
|
+
durationMs: 0,
|
|
228
|
+
toolCallCount: 0,
|
|
229
|
+
usage: {
|
|
230
|
+
inputTokens: 0,
|
|
231
|
+
outputTokens: 0,
|
|
232
|
+
cacheReadTokens: 0,
|
|
233
|
+
cacheCreateTokens: 0,
|
|
234
|
+
thinkingTokens: 0,
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
error: null,
|
|
238
|
+
sandbox: stubSandbox({ name: "stub-sandbox" }, overrides),
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
function stubRunHandle(overrides, correlationId, result) {
|
|
242
|
+
const handle = {
|
|
243
|
+
runId: correlationId,
|
|
244
|
+
sandbox: result.sandbox,
|
|
245
|
+
dispatch: { correlationId, resultSignal: index_js_1.CODING_RESULT_SIGNAL },
|
|
246
|
+
status: () => Promise.resolve(result.status),
|
|
247
|
+
wait: () => Promise.resolve(result),
|
|
248
|
+
};
|
|
249
|
+
return makeHandle("runHandle", RUN_HANDLE_METHODS, handle, overrides, {});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Create a stub `Sapiom` client. Runs every capability against built-in defaults;
|
|
253
|
+
* pass `overrides` to control the results a step branches on.
|
|
254
|
+
*/
|
|
255
|
+
function createStubClient(opts = {}) {
|
|
256
|
+
// Record which override keys actually match a call, so the runner can flag
|
|
257
|
+
// supplied-but-unmatched keys (typos / wrong plural-singular form).
|
|
258
|
+
const overrides = recordingOverrides(opts.overrides ?? {}, opts.usedKeys);
|
|
259
|
+
const r = (paths, args, fallback) => resolve(overrides, paths, args, fallback);
|
|
260
|
+
// Resolve a coding run result, then re-wrap its `sandbox` as a handle so the
|
|
261
|
+
// blocking `run()` path keeps a method-capable Sandbox even when the result was
|
|
262
|
+
// overridden with plain JSON. `keys` lets `launch()` accept `agent.coding.launch`
|
|
263
|
+
// (the call the author wrote) as well as the shared `agent.coding.run`.
|
|
264
|
+
const resolveCodingResult = (spec, keys) => {
|
|
265
|
+
const res = r(keys, [spec], () => stubCodingResult(overrides));
|
|
266
|
+
return { ...res, sandbox: asSandbox(res.sandbox, overrides) };
|
|
267
|
+
};
|
|
268
|
+
const client = {
|
|
269
|
+
sandboxes: {
|
|
270
|
+
create: (sandboxOpts) => Promise.resolve(asSandbox(r("sandboxes.create", [sandboxOpts], () => ({
|
|
271
|
+
name: sandboxOpts?.name ?? "stub-sandbox",
|
|
272
|
+
})), overrides)),
|
|
273
|
+
attach: (name, attachOpts) => asSandbox(r("sandboxes.attach", [name, attachOpts], () => ({ name })), overrides),
|
|
274
|
+
},
|
|
275
|
+
repositories: {
|
|
276
|
+
create: (slug) => Promise.resolve(asRepository(r("repositories.create", [slug], () => ({ slug })), overrides)),
|
|
277
|
+
get: (slug) => Promise.resolve(asRepository(r("repositories.get", [slug], () => ({ slug })), overrides)),
|
|
278
|
+
list: () => Promise.resolve(asRepositoryList(r("repositories.list", [], () => []), overrides, opts.warnings)),
|
|
279
|
+
delete: (slug) => Promise.resolve(r("repositories.delete", [slug], () => undefined)),
|
|
280
|
+
attach: (slug, cloneUrl) => asRepository(r("repositories.attach", [slug, cloneUrl], () => ({
|
|
281
|
+
slug,
|
|
282
|
+
cloneUrl,
|
|
283
|
+
})), overrides),
|
|
284
|
+
},
|
|
285
|
+
agent: {
|
|
286
|
+
coding: {
|
|
287
|
+
run: (spec) => Promise.resolve(resolveCodingResult(spec, "agent.coding.run")),
|
|
288
|
+
launch: (spec) => {
|
|
289
|
+
const correlationId = `stub-run-${++launchSeq}`;
|
|
290
|
+
// The resume payload IS the run result. `launch()` honors the key
|
|
291
|
+
// matching the call the author wrote (`agent.coding.launch`) first,
|
|
292
|
+
// then the shared `agent.coding.run` that controls both paths.
|
|
293
|
+
const result = {
|
|
294
|
+
...resolveCodingResult(spec, dispatchedKeys("agent.coding")),
|
|
295
|
+
runId: correlationId,
|
|
296
|
+
};
|
|
297
|
+
// Generic: any dispatch-able handle registers itself for pause-resume.
|
|
298
|
+
return dispatchable(stubRunHandle(overrides, correlationId, result), opts.signals);
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
fileStorage: {
|
|
303
|
+
upload: (input) => Promise.resolve(r("fileStorage.upload", [input], () => ({
|
|
304
|
+
fileId: "stub-file",
|
|
305
|
+
uploadUrl: "https://storage.local/upload/stub-file",
|
|
306
|
+
expiresAt: "2099-01-01T00:00:00Z",
|
|
307
|
+
requiredHeaders: {},
|
|
308
|
+
}))),
|
|
309
|
+
getDownloadUrl: (fileId) => Promise.resolve(r("fileStorage.getDownloadUrl", [fileId], () => ({
|
|
310
|
+
downloadUrl: `https://storage.local/download/${fileId}`,
|
|
311
|
+
expiresAt: "2099-01-01T00:00:00Z",
|
|
312
|
+
}))),
|
|
313
|
+
list: (listOpts) => Promise.resolve(r("fileStorage.list", [listOpts], () => ({
|
|
314
|
+
files: [],
|
|
315
|
+
limit: 20,
|
|
316
|
+
offset: 0,
|
|
317
|
+
hasMore: false,
|
|
318
|
+
}))),
|
|
319
|
+
delete: (fileId) => Promise.resolve(r("fileStorage.delete", [fileId], () => undefined)),
|
|
320
|
+
setVisibility: (fileId, visibility) => Promise.resolve(r("fileStorage.setVisibility", [fileId, visibility], () => ({
|
|
321
|
+
fileId,
|
|
322
|
+
contentType: "application/octet-stream",
|
|
323
|
+
visibility,
|
|
324
|
+
status: "uploaded",
|
|
325
|
+
createdAt: "2099-01-01T00:00:00Z",
|
|
326
|
+
downloadRequestCount: 0,
|
|
327
|
+
}))),
|
|
328
|
+
},
|
|
329
|
+
withAttribution: () => client,
|
|
330
|
+
};
|
|
331
|
+
return client;
|
|
332
|
+
}
|
|
333
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stub/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,28 @@ export interface CodingRunResult {
|
|
|
76
76
|
/** Live handle to the sandbox the run executed in. */
|
|
77
77
|
sandbox: Sandbox;
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* The coding run's terminal result as it arrives at a step **resumed** from
|
|
81
|
+
* `pauseUntilSignal(runHandle, { resumeStep })`. It is exactly the signal
|
|
82
|
+
* payload the engine delivers as that step's `input`, and — because it crossed
|
|
83
|
+
* the pause/resume (wire) boundary — `sandbox` is the plain `{ name,
|
|
84
|
+
* workspaceRoot }` it serialized to, not a live handle. Re-attach it with
|
|
85
|
+
* `ctx.sapiom.sandboxes.attach(name)` to act on it.
|
|
86
|
+
*
|
|
87
|
+
* Annotate a resumed step's input with this so you don't have to hand-roll the
|
|
88
|
+
* shape:
|
|
89
|
+
*
|
|
90
|
+
* const finalize = defineStep({
|
|
91
|
+
* name: "finalize", terminal: true,
|
|
92
|
+
* async run(result: CodingResultPayload, ctx) { … },
|
|
93
|
+
* });
|
|
94
|
+
*/
|
|
95
|
+
export interface CodingResultPayload extends Omit<CodingRunResult, "sandbox"> {
|
|
96
|
+
sandbox: {
|
|
97
|
+
name: string;
|
|
98
|
+
workspaceRoot: string;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
79
101
|
/**
|
|
80
102
|
* A launched-but-not-awaited run. Satisfies {@link DispatchHandle}, so it can be
|
|
81
103
|
* handed straight to `pauseUntilSignal(handle, { resumeStep })` to suspend a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,oEAAoE;AACpE,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAGb,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4FAA4F;IAC5F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9B;AAyED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,SAAS,GAAE,SAA8B,EACzC,OAAO,SAAmB,GACzB,OAAO,CAAC,SAAS,CAAC,CAmDpB;AAED,wBAAsB,GAAG,CACvB,IAAI,EAAE,aAAa,EACnB,SAAS,GAAE,SAA8B,EACzC,OAAO,SAAmB,GACzB,OAAO,CAAC,eAAe,CAAC,CAG1B;AAED,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;;CAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAa,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,mCAAmC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAS1D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAa,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,mCAAmC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAS1D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAuF7D;;;;;;GAMG;AACH,SAAS,qBAAqB;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAgCD,SAAS,SAAS,CAAC,CAAgC;IACjD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;QAC/B,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,aAAa,EAAE,CAAC,CAAC,eAAe;QAChC,KAAK,EAAE;YACL,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;YACvC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YACzC,eAAe,EAAE,CAAC,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;YAChD,iBAAiB,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC;YACpD,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC;SAC9C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAmB;IACpC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI;QACxC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI;QAC5C,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;QACxC,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACtC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAmB,EACnB,YAAuB,gBAAgB,EAAE,EACzC,OAAO,GAAG,gBAAgB;IAE1B,qFAAqF;IACrF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAS,GAAG,OAAO,iBAAiB,EAAE;QACvE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,EAAE,qBAAqB,EAAE;KACjC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,CAAC;IACtE,gFAAgF;IAChF,8EAA8E;IAC9E,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,SAAS,CAAC,OAAO,CACf,GAAG,OAAO,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACzD,CAAC;IACJ,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAmB,EAAE,CAAC,CAAC;QAChD,KAAK;QACL,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;QAChC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI;QAC1C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI;QACtC,OAAO;KACR,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,OAAO;QACP,gFAAgF;QAChF,6EAA6E;QAC7E,QAAQ,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE;QACtE,KAAK,CAAC,MAAM;YACV,OAAO,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,KAAM,EAAE,MAAM,GAAG,IAAK,EAAE,GAAG,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,iDAAiD;YACjD,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,cAAc,KAAK,oBAAoB,SAAS,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAChG,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,IAAmB,EACnB,YAAuB,gBAAgB,EAAE,EACzC,OAAO,GAAG,gBAAgB;IAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ import { Sandbox } from "./sandboxes/index.js";
|
|
|
19
19
|
import type { SandboxCreateOptions } from "./sandboxes/index.js";
|
|
20
20
|
import { Repository } from "./repositories/index.js";
|
|
21
21
|
import type { CodingRunSpec, CodingRunResult, RunHandle } from "./agent/index.js";
|
|
22
|
+
import type { UploadInput, UploadResponse, DownloadUrlResponse, ListOptions, ListResponse, FileMetadata } from "./file-storage/index.js";
|
|
22
23
|
export interface Sapiom {
|
|
23
24
|
readonly sandboxes: {
|
|
24
25
|
create(opts: SandboxCreateOptions): Promise<Sandbox>;
|
|
@@ -40,6 +41,13 @@ export interface Sapiom {
|
|
|
40
41
|
launch(spec: CodingRunSpec): Promise<RunHandle>;
|
|
41
42
|
};
|
|
42
43
|
};
|
|
44
|
+
readonly fileStorage: {
|
|
45
|
+
upload(input: UploadInput): Promise<UploadResponse>;
|
|
46
|
+
getDownloadUrl(fileId: string): Promise<DownloadUrlResponse>;
|
|
47
|
+
list(opts?: ListOptions): Promise<ListResponse>;
|
|
48
|
+
delete(fileId: string): Promise<void>;
|
|
49
|
+
setVisibility(fileId: string, visibility: "private" | "public"): Promise<FileMetadata>;
|
|
50
|
+
};
|
|
43
51
|
/**
|
|
44
52
|
* Derive a client that attributes its calls to a different agent/trace. For the
|
|
45
53
|
* router case (one process acting for many agents); step-authoring code doesn't
|
package/dist/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,SAAS,EAAE;QAClB,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAClD,OAAO,CAAC;KACZ,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE;QACrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;KACpD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,EAAE;YACN,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;SACjD,CAAC;KACH,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;CAEnD;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,SAAS,EAAE;QAClB,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAClD,OAAO,CAAC;KACZ,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE;QACrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;KACpD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,EAAE;YACN,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;SACjD,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE;QACpB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACpD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,aAAa,CACX,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,GAAG,QAAQ,GAC/B,OAAO,CAAC,YAAY,CAAC,CAAC;KAC1B,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;CAEnD;AAmCD,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAE7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
package/dist/esm/client.js
CHANGED
|
@@ -18,6 +18,7 @@ import { Transport, attributionFromEnv, } from "./_client/index.js";
|
|
|
18
18
|
import { Sandbox } from "./sandboxes/index.js";
|
|
19
19
|
import { Repository } from "./repositories/index.js";
|
|
20
20
|
import { run as codingRun, launch as codingLaunch } from "./agent/index.js";
|
|
21
|
+
import * as fileStorage from "./file-storage/index.js";
|
|
21
22
|
/** Bind every capability namespace to a transport. `withAttribution` rebinds to a derived one. */
|
|
22
23
|
function bind(transport) {
|
|
23
24
|
return {
|
|
@@ -38,6 +39,13 @@ function bind(transport) {
|
|
|
38
39
|
launch: (spec) => codingLaunch(spec, transport),
|
|
39
40
|
},
|
|
40
41
|
},
|
|
42
|
+
fileStorage: {
|
|
43
|
+
upload: (input) => fileStorage.upload(input, transport),
|
|
44
|
+
getDownloadUrl: (fileId) => fileStorage.getDownloadUrl(fileId, transport),
|
|
45
|
+
list: (opts) => fileStorage.list(opts, transport),
|
|
46
|
+
delete: (fileId) => fileStorage.delete(fileId, transport),
|
|
47
|
+
setVisibility: (fileId, visibility) => fileStorage.setVisibility(fileId, visibility, transport),
|
|
48
|
+
},
|
|
41
49
|
withAttribution: (attribution) => bind(transport.withAttribution(attribution)),
|
|
42
50
|
};
|
|
43
51
|
}
|
package/dist/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,SAAS,EACT,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,SAAS,EACT,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAM5E,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAkDvD,kGAAkG;AAClG,SAAS,IAAI,CAAC,SAAoB;IAChC,OAAO;QACL,SAAS,EAAE;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;YACjD,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;SAC9D;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;YACpD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;YAC9C,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;YACpD,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;SACzE;QACD,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;gBACzC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;aAChD;SACF;QACD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;YACvD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC;YACzE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACjD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YACzD,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CACpC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;SAC3D;QACD,eAAe,EAAE,CAAC,WAAW,EAAE,EAAE,CAC/B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAwB;IACnD,OAAO,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,SAAS,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown by the file-storage capability when the gateway returns a non-2xx
|
|
3
|
+
* response. Exposes `status` (HTTP status code) and `body` (parsed JSON body, or
|
|
4
|
+
* raw text when the body isn't JSON) for programmatic inspection.
|
|
5
|
+
*/
|
|
6
|
+
export declare class FileStorageHttpError extends Error {
|
|
7
|
+
readonly status: number;
|
|
8
|
+
readonly body: unknown;
|
|
9
|
+
constructor(message: string, status: number, body: unknown);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Return the response when 2xx, otherwise throw a {@link FileStorageHttpError}.
|
|
13
|
+
* Parses the error body as JSON when possible; falls back to raw text.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ensureOk(response: Response, errorPrefix: string): Promise<Response>;
|
|
16
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/file-storage/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAM3D;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC,CAcnB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown by the file-storage capability when the gateway returns a non-2xx
|
|
3
|
+
* response. Exposes `status` (HTTP status code) and `body` (parsed JSON body, or
|
|
4
|
+
* raw text when the body isn't JSON) for programmatic inspection.
|
|
5
|
+
*/
|
|
6
|
+
export class FileStorageHttpError extends Error {
|
|
7
|
+
constructor(message, status, body) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = "FileStorageHttpError";
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.body = body;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Return the response when 2xx, otherwise throw a {@link FileStorageHttpError}.
|
|
16
|
+
* Parses the error body as JSON when possible; falls back to raw text.
|
|
17
|
+
*/
|
|
18
|
+
export async function ensureOk(response, errorPrefix) {
|
|
19
|
+
if (response.ok)
|
|
20
|
+
return response;
|
|
21
|
+
let body;
|
|
22
|
+
const text = await response.text().catch(() => "");
|
|
23
|
+
try {
|
|
24
|
+
body = JSON.parse(text);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
body = text;
|
|
28
|
+
}
|
|
29
|
+
throw new FileStorageHttpError(`${errorPrefix}: ${response.status} ${text}`, response.status, body);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/file-storage/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAI7C,YAAY,OAAe,EAAE,MAAc,EAAE,IAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAkB,EAClB,WAAmB;IAEnB,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,IAAI,IAAa,CAAC;IAClB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,oBAAoB,CAC5B,GAAG,WAAW,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,EAC5C,QAAQ,CAAC,MAAM,EACf,IAAI,CACL,CAAC;AACJ,CAAC"}
|