@relayflows/sdk 2.0.29 → 2.0.30
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/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +10 -1
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/bundle-extensions.d.ts.map +1 -1
- package/dist/bundle-extensions.js +4 -7
- package/dist/bundle-extensions.js.map +1 -1
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +41 -7
- package/dist/bundle.js.map +1 -1
- package/dist/canonical.d.ts.map +1 -1
- package/dist/canonical.js +18 -6
- package/dist/canonical.js.map +1 -1
- package/dist/flow-extension-compat.d.ts.map +1 -1
- package/dist/flow-extension-compat.js +26 -8
- package/dist/flow-extension-compat.js.map +1 -1
- package/dist/flow-extension-loader.d.ts +7 -0
- package/dist/flow-extension-loader.d.ts.map +1 -1
- package/dist/flow-extension-loader.js +48 -22
- package/dist/flow-extension-loader.js.map +1 -1
- package/dist/fs-descriptor.d.ts +17 -0
- package/dist/fs-descriptor.d.ts.map +1 -0
- package/dist/fs-descriptor.js +96 -0
- package/dist/fs-descriptor.js.map +1 -0
- package/dist/hosted-base-snapshot.d.ts +25 -0
- package/dist/hosted-base-snapshot.d.ts.map +1 -0
- package/dist/hosted-base-snapshot.js +278 -0
- package/dist/hosted-base-snapshot.js.map +1 -0
- package/dist/hosted-extension-declarations.d.ts +10 -0
- package/dist/hosted-extension-declarations.d.ts.map +1 -0
- package/dist/hosted-extension-declarations.js +272 -0
- package/dist/hosted-extension-declarations.js.map +1 -0
- package/dist/hosted-extension-isolation.d.ts +82 -0
- package/dist/hosted-extension-isolation.d.ts.map +1 -0
- package/dist/hosted-extension-isolation.js +322 -0
- package/dist/hosted-extension-isolation.js.map +1 -0
- package/dist/hosted-extension-manifest.d.ts +9 -0
- package/dist/hosted-extension-manifest.d.ts.map +1 -0
- package/dist/hosted-extension-manifest.js +235 -0
- package/dist/hosted-extension-manifest.js.map +1 -0
- package/dist/hosted-extension-protocol.d.ts +16 -0
- package/dist/hosted-extension-protocol.d.ts.map +1 -0
- package/dist/hosted-extension-protocol.js +224 -0
- package/dist/hosted-extension-protocol.js.map +1 -0
- package/dist/hosted-extension-runtime.d.ts +30 -0
- package/dist/hosted-extension-runtime.d.ts.map +1 -0
- package/dist/hosted-extension-runtime.js +167 -0
- package/dist/hosted-extension-runtime.js.map +1 -0
- package/dist/hosted-extension-sandbox-source.d.ts +9 -0
- package/dist/hosted-extension-sandbox-source.d.ts.map +1 -0
- package/dist/hosted-extension-sandbox-source.js +95 -0
- package/dist/hosted-extension-sandbox-source.js.map +1 -0
- package/dist/hosted-extension-sandbox.d.ts +39 -0
- package/dist/hosted-extension-sandbox.d.ts.map +1 -0
- package/dist/hosted-extension-sandbox.js +418 -0
- package/dist/hosted-extension-sandbox.js.map +1 -0
- package/dist/hosted-project.d.ts +3 -0
- package/dist/hosted-project.d.ts.map +1 -0
- package/dist/hosted-project.js +19 -0
- package/dist/hosted-project.js.map +1 -0
- package/dist/hosted-promise-safety.d.ts +12 -0
- package/dist/hosted-promise-safety.d.ts.map +1 -0
- package/dist/hosted-promise-safety.js +63 -0
- package/dist/hosted-promise-safety.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/intrinsic-array.d.ts +3 -0
- package/dist/intrinsic-array.d.ts.map +1 -0
- package/dist/intrinsic-array.js +14 -0
- package/dist/intrinsic-array.js.map +1 -0
- package/dist/json-value.d.ts +6 -1
- package/dist/json-value.d.ts.map +1 -1
- package/dist/json-value.js +155 -36
- package/dist/json-value.js.map +1 -1
- package/dist/llm-worker.d.ts +9 -0
- package/dist/llm-worker.d.ts.map +1 -1
- package/dist/llm-worker.js +15 -1
- package/dist/llm-worker.js.map +1 -1
- package/dist/plugin-store.d.ts +8 -2
- package/dist/plugin-store.d.ts.map +1 -1
- package/dist/plugin-store.js +233 -56
- package/dist/plugin-store.js.map +1 -1
- package/dist/semver-range.d.ts.map +1 -1
- package/dist/semver-range.js +27 -15
- package/dist/semver-range.js.map +1 -1
- package/package.json +2 -2
- package/src/authored-flow-executor.ts +10 -1
- package/src/bundle-extensions.ts +6 -5
- package/src/bundle.ts +52 -7
- package/src/canonical.ts +20 -6
- package/src/flow-extension-compat.ts +32 -7
- package/src/flow-extension-loader.ts +56 -21
- package/src/fs-descriptor.ts +127 -0
- package/src/hosted-base-snapshot.ts +351 -0
- package/src/hosted-extension-declarations.ts +387 -0
- package/src/hosted-extension-isolation.ts +457 -0
- package/src/hosted-extension-manifest.ts +249 -0
- package/src/hosted-extension-protocol.ts +262 -0
- package/src/hosted-extension-runtime.ts +266 -0
- package/src/hosted-extension-sandbox-source.ts +94 -0
- package/src/hosted-extension-sandbox.ts +489 -0
- package/src/hosted-project.ts +18 -0
- package/src/hosted-promise-safety.ts +68 -0
- package/src/index.ts +18 -0
- package/src/intrinsic-array.ts +14 -0
- package/src/json-value.ts +184 -32
- package/src/llm-worker.ts +15 -1
- package/src/plugin-store.ts +323 -56
- package/src/semver-range.ts +39 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-base-snapshot.js","sourceRoot":"","sources":["../src/hosted-base-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type PluginLockEntry } from "./plugin-lock.js";
|
|
2
|
+
import { type PluginSourceRef } from "./plugin-source.js";
|
|
3
|
+
export interface HostedDeclaredExtension {
|
|
4
|
+
readonly ref: string;
|
|
5
|
+
readonly entry: PluginLockEntry;
|
|
6
|
+
readonly source: PluginSourceRef;
|
|
7
|
+
}
|
|
8
|
+
export declare function declarationSignature(declared: readonly HostedDeclaredExtension[]): string;
|
|
9
|
+
export declare function hostedDeclaredExtensions(root: string): readonly HostedDeclaredExtension[];
|
|
10
|
+
//# sourceMappingURL=hosted-extension-declarations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-extension-declarations.d.ts","sourceRoot":"","sources":["../src/hosted-extension-declarations.ts"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAqD9E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAC3C,MAAM,CAmBR;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GACX,SAAS,uBAAuB,EAAE,CAgGpC"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { constants, closeSync, existsSync, fstatSync, openSync, readSync, } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { safePath } from "./bundle.js";
|
|
4
|
+
import { canonicalize } from "./canonical.js";
|
|
5
|
+
import { descriptorIsFile } from "./fs-descriptor.js";
|
|
6
|
+
import { snapshotJsonValue } from "./json-value.js";
|
|
7
|
+
import { PluginError } from "./plugin-manifest.js";
|
|
8
|
+
import { appendIntrinsicArray } from "./intrinsic-array.js";
|
|
9
|
+
import { PLUGIN_LOCK_FILE, PLUGIN_LOCK_VERSION, } from "./plugin-lock.js";
|
|
10
|
+
import { canonicalPluginRef } from "./plugin-source.js";
|
|
11
|
+
const CLOSE_SYNC = closeSync;
|
|
12
|
+
const EXISTS_SYNC = existsSync;
|
|
13
|
+
const FSTAT_SYNC = fstatSync;
|
|
14
|
+
const OPEN_SYNC = openSync;
|
|
15
|
+
const READ_SYNC = readSync;
|
|
16
|
+
const PATH_JOIN = join;
|
|
17
|
+
const ERROR = Error;
|
|
18
|
+
const PLUGIN_ERROR_IS_INSTANCE = Function.prototype.call.bind(Function.prototype[Symbol.hasInstance], PluginError);
|
|
19
|
+
const MAX_DECLARATION_BYTES = 1024 * 1024;
|
|
20
|
+
const BIG_INT = BigInt;
|
|
21
|
+
const BUFFER_ALLOC_UNSAFE = Buffer.allocUnsafe;
|
|
22
|
+
const BUFFER_TO_STRING = Function.prototype.call.bind(Buffer.prototype.toString);
|
|
23
|
+
const NUMBER = Number;
|
|
24
|
+
const DECLARATION_READ_FLAGS = constants.O_RDONLY |
|
|
25
|
+
(constants.O_NOFOLLOW ?? 0) |
|
|
26
|
+
(constants.O_NONBLOCK ?? 0);
|
|
27
|
+
const JSON_PARSE = JSON.parse;
|
|
28
|
+
const ARRAY_IS_ARRAY = Array.isArray;
|
|
29
|
+
const DATE_PARSE = Date.parse;
|
|
30
|
+
const NUMBER_IS_NAN = Number.isNaN;
|
|
31
|
+
const OBJECT_FREEZE = Object.freeze;
|
|
32
|
+
const OBJECT_HAS_OWN = Object.hasOwn;
|
|
33
|
+
const OBJECT_KEYS = Object.keys;
|
|
34
|
+
const REGEXP_TEST = Function.prototype.call.bind(RegExp.prototype.test);
|
|
35
|
+
const SET = Set;
|
|
36
|
+
const SET_ADD = Function.prototype.call.bind(Set.prototype.add);
|
|
37
|
+
const SET_HAS = Function.prototype.call.bind(Set.prototype.has);
|
|
38
|
+
const STRING_STARTS_WITH = Function.prototype.call.bind(String.prototype.startsWith);
|
|
39
|
+
const LOCK_HEX64 = /^[0-9a-f]{64}$/;
|
|
40
|
+
const LOCK_SHA = /^[0-9a-f]{40}$/;
|
|
41
|
+
const LOCK_OWNER = /^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})$/;
|
|
42
|
+
const LOCK_REPO = /^[A-Za-z0-9_.-]{1,100}$/;
|
|
43
|
+
const HTTPS_GITHUB = /^https:\/\/github\.com\//;
|
|
44
|
+
export function declarationSignature(declared) {
|
|
45
|
+
const records = [];
|
|
46
|
+
for (let index = 0; index < declared.length; index += 1) {
|
|
47
|
+
const { ref, entry } = declared[index];
|
|
48
|
+
appendIntrinsicArray(records, {
|
|
49
|
+
ref,
|
|
50
|
+
name: entry.name,
|
|
51
|
+
version: entry.version,
|
|
52
|
+
digest: entry.digest,
|
|
53
|
+
manifestSha256: entry.manifestSha256,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return canonicalize(records);
|
|
57
|
+
}
|
|
58
|
+
export function hostedDeclaredExtensions(root) {
|
|
59
|
+
if (EXISTS_SYNC(PATH_JOIN(root, "flows.json.tmp")) ||
|
|
60
|
+
EXISTS_SYNC(PATH_JOIN(root, `${PLUGIN_LOCK_FILE}.tmp`))) {
|
|
61
|
+
throw new PluginError("plugin_lock_invalid", "Hosted extension declarations have a pending transaction.");
|
|
62
|
+
}
|
|
63
|
+
let config;
|
|
64
|
+
try {
|
|
65
|
+
config = JSON_PARSE(BUFFER_TO_STRING(readBoundedDeclaration(PATH_JOIN(root, "flows.json")), "utf8"));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (PLUGIN_ERROR_IS_INSTANCE(error))
|
|
69
|
+
throw error;
|
|
70
|
+
throw new PluginError("plugin_manifest_invalid", "Invalid or oversized flows.json.");
|
|
71
|
+
}
|
|
72
|
+
if (typeof config !== "object" || config === null || ARRAY_IS_ARRAY(config)) {
|
|
73
|
+
throw new PluginError("plugin_manifest_invalid", "flows.json plugins must be strings.");
|
|
74
|
+
}
|
|
75
|
+
const plugins = OBJECT_HAS_OWN(config, "plugins")
|
|
76
|
+
? config.plugins
|
|
77
|
+
: undefined;
|
|
78
|
+
if (plugins !== undefined && !ARRAY_IS_ARRAY(plugins)) {
|
|
79
|
+
throw new PluginError("plugin_manifest_invalid", "flows.json plugins must be strings.");
|
|
80
|
+
}
|
|
81
|
+
const declared = [];
|
|
82
|
+
if (plugins !== undefined) {
|
|
83
|
+
for (let index = 0; index < plugins.length; index += 1) {
|
|
84
|
+
const ref = plugins[index];
|
|
85
|
+
if (typeof ref !== "string") {
|
|
86
|
+
throw new PluginError("plugin_manifest_invalid", "flows.json plugins must be strings.");
|
|
87
|
+
}
|
|
88
|
+
if (isHostedGithubPluginRef(ref))
|
|
89
|
+
appendIntrinsicArray(declared, ref);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
let lock = OBJECT_FREEZE({
|
|
93
|
+
version: PLUGIN_LOCK_VERSION,
|
|
94
|
+
plugins: OBJECT_FREEZE([]),
|
|
95
|
+
});
|
|
96
|
+
const lockPath = PATH_JOIN(root, PLUGIN_LOCK_FILE);
|
|
97
|
+
if (EXISTS_SYNC(lockPath)) {
|
|
98
|
+
let value;
|
|
99
|
+
try {
|
|
100
|
+
value = JSON_PARSE(BUFFER_TO_STRING(readBoundedDeclaration(lockPath), "utf8"));
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (PLUGIN_ERROR_IS_INSTANCE(error))
|
|
104
|
+
throw error;
|
|
105
|
+
throw new PluginError("plugin_lock_invalid", `${PLUGIN_LOCK_FILE}: not valid or exceeds the hosted size limit.`);
|
|
106
|
+
}
|
|
107
|
+
lock = parseHostedPluginLock(value);
|
|
108
|
+
}
|
|
109
|
+
if (declared.length !== lock.plugins.length) {
|
|
110
|
+
throw new PluginError("plugin_lock_invalid", "Hosted flows.json and flows.lock.json declarations differ.");
|
|
111
|
+
}
|
|
112
|
+
const result = [];
|
|
113
|
+
for (let index = 0; index < lock.plugins.length; index += 1) {
|
|
114
|
+
const entry = lock.plugins[index];
|
|
115
|
+
const source = OBJECT_FREEZE({ ...entry.source, ref: entry.source.sha });
|
|
116
|
+
const ref = canonicalPluginRef(source);
|
|
117
|
+
if (declared[index] !== ref) {
|
|
118
|
+
throw new PluginError("plugin_lock_invalid", "Hosted flows.lock.json order differs from flows.json.plugins.");
|
|
119
|
+
}
|
|
120
|
+
appendIntrinsicArray(result, OBJECT_FREEZE({ ref, entry, source }));
|
|
121
|
+
}
|
|
122
|
+
return OBJECT_FREEZE(result);
|
|
123
|
+
}
|
|
124
|
+
function parseHostedPluginLock(input) {
|
|
125
|
+
let value;
|
|
126
|
+
try {
|
|
127
|
+
value = snapshotJsonValue(input, "hosted plugin lock");
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return invalidHostedLock(`expected { version: ${PLUGIN_LOCK_VERSION}, plugins: [] }.`);
|
|
131
|
+
}
|
|
132
|
+
if (!hostedRecord(value) ||
|
|
133
|
+
value.version !== PLUGIN_LOCK_VERSION ||
|
|
134
|
+
!ARRAY_IS_ARRAY(value.plugins) ||
|
|
135
|
+
!hostedHasOnlyKeys(value, ["version", "plugins"])) {
|
|
136
|
+
return invalidHostedLock(`expected { version: ${PLUGIN_LOCK_VERSION}, plugins: [] }.`);
|
|
137
|
+
}
|
|
138
|
+
const names = new SET();
|
|
139
|
+
const plugins = [];
|
|
140
|
+
for (let index = 0; index < value.plugins.length; index += 1) {
|
|
141
|
+
const entry = value.plugins[index];
|
|
142
|
+
if (!hostedRecord(entry) ||
|
|
143
|
+
!hostedHasOnlyKeys(entry, [
|
|
144
|
+
"digest",
|
|
145
|
+
"kind",
|
|
146
|
+
"manifestSha256",
|
|
147
|
+
"name",
|
|
148
|
+
"order",
|
|
149
|
+
"resolvedAt",
|
|
150
|
+
"source",
|
|
151
|
+
"version",
|
|
152
|
+
]) ||
|
|
153
|
+
entry.kind !== "flow-extension" ||
|
|
154
|
+
typeof entry.name !== "string" ||
|
|
155
|
+
typeof entry.version !== "string" ||
|
|
156
|
+
typeof entry.digest !== "string" ||
|
|
157
|
+
!REGEXP_TEST(LOCK_HEX64, entry.digest) ||
|
|
158
|
+
typeof entry.manifestSha256 !== "string" ||
|
|
159
|
+
!REGEXP_TEST(LOCK_HEX64, entry.manifestSha256) ||
|
|
160
|
+
entry.order !== index + 1 ||
|
|
161
|
+
typeof entry.resolvedAt !== "string" ||
|
|
162
|
+
NUMBER_IS_NAN(DATE_PARSE(entry.resolvedAt)) ||
|
|
163
|
+
!hostedRecord(entry.source) ||
|
|
164
|
+
!hostedHasOnlyKeys(entry.source, [
|
|
165
|
+
"host",
|
|
166
|
+
"owner",
|
|
167
|
+
"repo",
|
|
168
|
+
"sha",
|
|
169
|
+
"path",
|
|
170
|
+
]) ||
|
|
171
|
+
entry.source.host !== "github" ||
|
|
172
|
+
typeof entry.source.owner !== "string" ||
|
|
173
|
+
!REGEXP_TEST(LOCK_OWNER, entry.source.owner) ||
|
|
174
|
+
typeof entry.source.repo !== "string" ||
|
|
175
|
+
!REGEXP_TEST(LOCK_REPO, entry.source.repo) ||
|
|
176
|
+
entry.source.repo === "." ||
|
|
177
|
+
entry.source.repo === ".." ||
|
|
178
|
+
typeof entry.source.sha !== "string" ||
|
|
179
|
+
!REGEXP_TEST(LOCK_SHA, entry.source.sha) ||
|
|
180
|
+
typeof entry.source.path !== "string" ||
|
|
181
|
+
(entry.source.path !== "" && !safePath(entry.source.path))) {
|
|
182
|
+
return invalidHostedLock(`plugins[${index}] is malformed.`);
|
|
183
|
+
}
|
|
184
|
+
if (SET_HAS(names, entry.name))
|
|
185
|
+
return invalidHostedLock(`plugin ${entry.name} is listed twice.`);
|
|
186
|
+
SET_ADD(names, entry.name);
|
|
187
|
+
appendIntrinsicArray(plugins, OBJECT_FREEZE({
|
|
188
|
+
name: entry.name,
|
|
189
|
+
kind: "flow-extension",
|
|
190
|
+
version: entry.version,
|
|
191
|
+
source: OBJECT_FREEZE({
|
|
192
|
+
host: "github",
|
|
193
|
+
owner: entry.source.owner,
|
|
194
|
+
repo: entry.source.repo,
|
|
195
|
+
sha: entry.source.sha,
|
|
196
|
+
path: entry.source.path,
|
|
197
|
+
}),
|
|
198
|
+
digest: entry.digest,
|
|
199
|
+
manifestSha256: entry.manifestSha256,
|
|
200
|
+
order: entry.order,
|
|
201
|
+
resolvedAt: entry.resolvedAt,
|
|
202
|
+
}));
|
|
203
|
+
}
|
|
204
|
+
return OBJECT_FREEZE({
|
|
205
|
+
version: PLUGIN_LOCK_VERSION,
|
|
206
|
+
plugins: OBJECT_FREEZE(plugins),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
function isHostedGithubPluginRef(value) {
|
|
210
|
+
return (STRING_STARTS_WITH(value, "github:") || REGEXP_TEST(HTTPS_GITHUB, value));
|
|
211
|
+
}
|
|
212
|
+
function hostedRecord(value) {
|
|
213
|
+
return typeof value === "object" && value !== null && !ARRAY_IS_ARRAY(value);
|
|
214
|
+
}
|
|
215
|
+
function hostedHasOnlyKeys(value, allowed) {
|
|
216
|
+
const keys = OBJECT_KEYS(value);
|
|
217
|
+
for (let index = 0; index < keys.length; index += 1) {
|
|
218
|
+
let found = false;
|
|
219
|
+
for (let allowedIndex = 0; allowedIndex < allowed.length; allowedIndex += 1) {
|
|
220
|
+
if (keys[index] === allowed[allowedIndex]) {
|
|
221
|
+
found = true;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (!found)
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
function invalidHostedLock(message) {
|
|
231
|
+
throw new PluginError("plugin_lock_invalid", `${PLUGIN_LOCK_FILE}: ${message}`);
|
|
232
|
+
}
|
|
233
|
+
function readBoundedDeclaration(path) {
|
|
234
|
+
let descriptor;
|
|
235
|
+
try {
|
|
236
|
+
descriptor = OPEN_SYNC(path, DECLARATION_READ_FLAGS);
|
|
237
|
+
const before = FSTAT_SYNC(descriptor, { bigint: true });
|
|
238
|
+
if (!descriptorIsFile(before) ||
|
|
239
|
+
before.size < 0n ||
|
|
240
|
+
before.size > BIG_INT(MAX_DECLARATION_BYTES)) {
|
|
241
|
+
throw new PluginError("plugin_source_invalid", "Hosted extension declaration is not a bounded regular file.");
|
|
242
|
+
}
|
|
243
|
+
const expected = NUMBER(before.size);
|
|
244
|
+
const bytes = BUFFER_ALLOC_UNSAFE(expected);
|
|
245
|
+
let offset = 0;
|
|
246
|
+
while (offset < expected) {
|
|
247
|
+
const count = READ_SYNC(descriptor, bytes, offset, expected - offset, offset);
|
|
248
|
+
if (count === 0)
|
|
249
|
+
throw new ERROR("short read");
|
|
250
|
+
offset += count;
|
|
251
|
+
}
|
|
252
|
+
if (READ_SYNC(descriptor, BUFFER_ALLOC_UNSAFE(1), 0, 1, expected) !== 0)
|
|
253
|
+
throw new ERROR("grew");
|
|
254
|
+
const after = FSTAT_SYNC(descriptor, { bigint: true });
|
|
255
|
+
if (after.size !== before.size ||
|
|
256
|
+
after.mtimeNs !== before.mtimeNs ||
|
|
257
|
+
after.ctimeNs !== before.ctimeNs) {
|
|
258
|
+
throw new ERROR("changed");
|
|
259
|
+
}
|
|
260
|
+
return bytes;
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
if (PLUGIN_ERROR_IS_INSTANCE(error))
|
|
264
|
+
throw error;
|
|
265
|
+
throw new PluginError("plugin_source_invalid", "Hosted extension declaration is unreadable or changed while reading.");
|
|
266
|
+
}
|
|
267
|
+
finally {
|
|
268
|
+
if (descriptor !== undefined)
|
|
269
|
+
CLOSE_SYNC(descriptor);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=hosted-extension-declarations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-extension-declarations.js","sourceRoot":"","sources":["../src/hosted-extension-declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { FlowExtensionManifest } from './flow-extension-manifest.js';
|
|
2
|
+
import { type HostedExtensionDispatch } from './flow-extension-loader.js';
|
|
3
|
+
import { type HostedExtensionArtifact, type HostedExtensionBase, type HostedExtensionInstallation } from './hosted-extension-runtime.js';
|
|
4
|
+
import { type HostedExtensionProtocolResult } from './hosted-extension-protocol.js';
|
|
5
|
+
export { loadHostedExtensionArtifacts, loadHostedExtensionBase, loadHostedExtensionRuntime, } from './hosted-extension-runtime.js';
|
|
6
|
+
export type { HostedExtensionArtifact, HostedExtensionBase, HostedExtensionInstallation, HostedExtensionRuntime, } from './hosted-extension-runtime.js';
|
|
7
|
+
export interface HostedCapabilityAuthority {
|
|
8
|
+
readonly dispatch: HostedExtensionDispatch;
|
|
9
|
+
readonly extension: Readonly<{
|
|
10
|
+
name: string;
|
|
11
|
+
version: string;
|
|
12
|
+
ref: string;
|
|
13
|
+
digest: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface HostedBabysitterCapability {
|
|
17
|
+
queue(request: unknown, authority: HostedCapabilityAuthority): Promise<unknown>;
|
|
18
|
+
}
|
|
19
|
+
export interface RunHostedExtensionOptions {
|
|
20
|
+
/** Complete, lock-ordered set returned by loadHostedExtensionRuntime. */
|
|
21
|
+
readonly installation: HostedExtensionInstallation;
|
|
22
|
+
/** Same-generation base returned by loadHostedExtensionRuntime. */
|
|
23
|
+
readonly base: HostedExtensionBase;
|
|
24
|
+
readonly dispatch: HostedExtensionDispatch;
|
|
25
|
+
/** Host-normalized delivery descriptor. Its event identity must equal dispatch. */
|
|
26
|
+
readonly input: unknown;
|
|
27
|
+
readonly babysitterTurn: HostedBabysitterCapability;
|
|
28
|
+
readonly timeoutMs?: number;
|
|
29
|
+
/** Test/packaging override. Production resolves /usr/bin/bwrap. */
|
|
30
|
+
readonly bubblewrapPath?: string;
|
|
31
|
+
/** Test/packaging override. Defaults to the current, fingerprinted Node executable. */
|
|
32
|
+
readonly nodePath?: string;
|
|
33
|
+
/** Test/packaging override. Production resolves /usr/bin/prlimit. */
|
|
34
|
+
readonly prlimitPath?: string;
|
|
35
|
+
}
|
|
36
|
+
export type HostedExtensionResult = HostedExtensionProtocolResult;
|
|
37
|
+
/**
|
|
38
|
+
* Execute a capability-only hosted extension in a Linux mount/PID/network/user
|
|
39
|
+
* namespace. The extension is first imported inside that namespace. It sees
|
|
40
|
+
* no host workspace, environment credentials, network, child process, MCP,
|
|
41
|
+
* helpers, harnesses, or base-flow context. The parent exposes exactly one
|
|
42
|
+
* authenticated capability adapter and passes the original branded dispatch
|
|
43
|
+
* authority to that adapter out of band.
|
|
44
|
+
*
|
|
45
|
+
* This is deliberately not wired into executeAuthoredFlow yet. #549's refusal
|
|
46
|
+
* remains the rollout gate until the Cloud adapter and independent review land.
|
|
47
|
+
*/
|
|
48
|
+
export declare function runHostedCapabilityExtension(options: RunHostedExtensionOptions): Promise<HostedExtensionResult>;
|
|
49
|
+
interface RunVerifiedNativeExtensionOptions {
|
|
50
|
+
readonly artifact: HostedExtensionArtifact;
|
|
51
|
+
readonly manifest: FlowExtensionManifest;
|
|
52
|
+
readonly dispatch: HostedExtensionDispatch;
|
|
53
|
+
readonly input: unknown;
|
|
54
|
+
readonly babysitterTurn: HostedBabysitterCapability;
|
|
55
|
+
readonly timeoutMs?: number;
|
|
56
|
+
readonly bubblewrapPath?: string;
|
|
57
|
+
readonly nodePath?: string;
|
|
58
|
+
readonly prlimitPath?: string;
|
|
59
|
+
readonly surfaceRoot?: string;
|
|
60
|
+
readonly beforeLaunch?: () => Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
/** @internal Security-harness seam; not exported from the SDK package root. */
|
|
63
|
+
export declare function runVerifiedNativeExtensionSandbox(options: RunVerifiedNativeExtensionOptions): Promise<HostedExtensionResult>;
|
|
64
|
+
/** @internal Selection seam used by compatibility/security regression tests. */
|
|
65
|
+
export declare function selectHostedExtensionForRuntime(value: HostedExtensionInstallation, base: HostedExtensionBase, identity: {
|
|
66
|
+
readonly provider: string;
|
|
67
|
+
readonly event: string;
|
|
68
|
+
readonly action?: string;
|
|
69
|
+
}, versions: Readonly<{
|
|
70
|
+
sdk: string;
|
|
71
|
+
surface: string;
|
|
72
|
+
}>): Promise<{
|
|
73
|
+
artifact: HostedExtensionArtifact;
|
|
74
|
+
manifest: FlowExtensionManifest;
|
|
75
|
+
}>;
|
|
76
|
+
/** Generic handlers overlap action-specific deliveries, matching the SDK handler router. */
|
|
77
|
+
export declare function hostedManifestRoutes(manifest: Pick<FlowExtensionManifest, 'triggers'>, identity: {
|
|
78
|
+
readonly provider: string;
|
|
79
|
+
readonly event: string;
|
|
80
|
+
readonly action?: string;
|
|
81
|
+
}): boolean;
|
|
82
|
+
//# sourceMappingURL=hosted-extension-isolation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-extension-isolation.d.ts","sourceRoot":"","sources":["../src/hosted-extension-isolation.ts"],"names":[],"mappings":"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"}
|