@poe-platform/safe-bash 0.1.53 → 0.1.55
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/safe-bash/browser.d.ts +2 -0
- package/dist/safe-bash/browser.d.ts.map +1 -1
- package/dist/safe-bash/browser.js +3951 -874
- package/dist/safe-bash/browser.js.map +4 -4
- package/dist/safe-bash/commands/basic.d.ts.map +1 -1
- package/dist/safe-bash/commands/basic.js +7 -1
- package/dist/safe-bash/commands/basic.js.map +1 -1
- package/dist/safe-bash/commands/filesystem-requirements.d.ts +67 -0
- package/dist/safe-bash/commands/filesystem-requirements.d.ts.map +1 -0
- package/dist/safe-bash/commands/filesystem-requirements.js +81 -0
- package/dist/safe-bash/commands/filesystem-requirements.js.map +1 -0
- package/dist/safe-bash/commands/filesystem.d.ts.map +1 -1
- package/dist/safe-bash/commands/filesystem.js +106 -9
- package/dist/safe-bash/commands/filesystem.js.map +1 -1
- package/dist/safe-bash/commands/grep.d.ts.map +1 -1
- package/dist/safe-bash/commands/grep.js +3 -109
- package/dist/safe-bash/commands/grep.js.map +1 -1
- package/dist/safe-bash/commands/internal.d.ts +1 -0
- package/dist/safe-bash/commands/internal.d.ts.map +1 -1
- package/dist/safe-bash/commands/internal.js +22 -0
- package/dist/safe-bash/commands/internal.js.map +1 -1
- package/dist/safe-bash/commands/move.d.ts.map +1 -1
- package/dist/safe-bash/commands/move.js +21 -0
- package/dist/safe-bash/commands/move.js.map +1 -1
- package/dist/safe-bash/commands/network/curl.js +2 -0
- package/dist/safe-bash/commands/network/curl.js.map +1 -1
- package/dist/safe-bash/commands/network/output.d.ts.map +1 -1
- package/dist/safe-bash/commands/network/output.js +37 -33
- package/dist/safe-bash/commands/network/output.js.map +1 -1
- package/dist/safe-bash/commands/portable-requirements.d.ts +6 -0
- package/dist/safe-bash/commands/portable-requirements.d.ts.map +1 -0
- package/dist/safe-bash/commands/portable-requirements.js +18 -0
- package/dist/safe-bash/commands/portable-requirements.js.map +1 -0
- package/dist/safe-bash/commands/predicates.d.ts.map +1 -1
- package/dist/safe-bash/commands/predicates.js +9 -1
- package/dist/safe-bash/commands/predicates.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/client.d.ts +5 -67
- package/dist/safe-bash/commands/regex-execution/client.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/client.js +13 -379
- package/dist/safe-bash/commands/regex-execution/client.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.d.ts +71 -0
- package/dist/safe-bash/commands/regex-execution/portable.d.ts.map +1 -0
- package/dist/safe-bash/commands/regex-execution/portable.js +385 -0
- package/dist/safe-bash/commands/regex-execution/portable.js.map +1 -0
- package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/provider.d.ts +24 -0
- package/dist/safe-bash/commands/regex-execution/provider.d.ts.map +1 -0
- package/dist/safe-bash/commands/regex-execution/provider.js +2 -0
- package/dist/safe-bash/commands/regex-execution/provider.js.map +1 -0
- package/dist/safe-bash/commands/regex-execution/public.d.ts +9 -0
- package/dist/safe-bash/commands/regex-execution/public.d.ts.map +1 -0
- package/dist/safe-bash/commands/regex-execution/public.js +6 -0
- package/dist/safe-bash/commands/regex-execution/public.js.map +1 -0
- package/dist/safe-bash/commands/search/glob.d.ts +1 -1
- package/dist/safe-bash/commands/search/glob.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/glob.js +1 -1
- package/dist/safe-bash/commands/search/glob.js.map +1 -1
- package/dist/safe-bash/commands/search/grep.d.ts +4 -0
- package/dist/safe-bash/commands/search/grep.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/grep.js +119 -0
- package/dist/safe-bash/commands/search/grep.js.map +1 -0
- package/dist/safe-bash/commands/search/matcher.d.ts +1 -1
- package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/matcher.js +1 -1
- package/dist/safe-bash/commands/search/matcher.js.map +1 -1
- package/dist/safe-bash/commands/search/output.d.ts +1 -1
- package/dist/safe-bash/commands/search/output.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/output.js +8 -2
- package/dist/safe-bash/commands/search/output.js.map +1 -1
- package/dist/safe-bash/commands/search/portable.d.ts +14 -0
- package/dist/safe-bash/commands/search/portable.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/portable.js +22 -0
- package/dist/safe-bash/commands/search/portable.js.map +1 -0
- package/dist/safe-bash/commands/search/requirements.d.ts +9 -0
- package/dist/safe-bash/commands/search/requirements.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/requirements.js +72 -0
- package/dist/safe-bash/commands/search/requirements.js.map +1 -0
- package/dist/safe-bash/commands/search/rg-command.d.ts +5 -0
- package/dist/safe-bash/commands/search/rg-command.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/rg-command.js +230 -0
- package/dist/safe-bash/commands/search/rg-command.js.map +1 -0
- package/dist/safe-bash/commands/search/rg.d.ts +2 -2
- package/dist/safe-bash/commands/search/rg.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/rg.js +3 -216
- package/dist/safe-bash/commands/search/rg.js.map +1 -1
- package/dist/safe-bash/commands/search/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/shared.js +2 -0
- package/dist/safe-bash/commands/search/shared.js.map +1 -1
- package/dist/safe-bash/commands/search/walk.d.ts +1 -1
- package/dist/safe-bash/commands/search/walk.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/walk.js +8 -1
- package/dist/safe-bash/commands/search/walk.js.map +1 -1
- package/dist/safe-bash/commands/streams.d.ts.map +1 -1
- package/dist/safe-bash/commands/streams.js +52 -108
- package/dist/safe-bash/commands/streams.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js +23 -14
- package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.js +3 -5
- package/dist/safe-bash/commands/text-programs/shared.js.map +1 -1
- package/dist/safe-bash/commands/text.d.ts.map +1 -1
- package/dist/safe-bash/commands/text.js +22 -4
- package/dist/safe-bash/commands/text.js.map +1 -1
- package/dist/safe-bash/contracts/command-requirements.d.ts +22 -0
- package/dist/safe-bash/contracts/command-requirements.d.ts.map +1 -0
- package/dist/safe-bash/contracts/command-requirements.js +47 -0
- package/dist/safe-bash/contracts/command-requirements.js.map +1 -0
- package/dist/safe-bash/contracts/command.d.ts +2 -0
- package/dist/safe-bash/contracts/command.d.ts.map +1 -1
- package/dist/safe-bash/contracts/command.js.map +1 -1
- package/dist/safe-bash/contracts/filesystem-output.d.ts +12 -0
- package/dist/safe-bash/contracts/filesystem-output.d.ts.map +1 -0
- package/dist/safe-bash/contracts/filesystem-output.js +160 -0
- package/dist/safe-bash/contracts/filesystem-output.js.map +1 -0
- package/dist/safe-bash/contracts/index.d.ts +1 -0
- package/dist/safe-bash/contracts/index.d.ts.map +1 -1
- package/dist/safe-bash/contracts/index.js +1 -0
- package/dist/safe-bash/contracts/index.js.map +1 -1
- package/dist/safe-bash/contracts/io.d.ts +2 -0
- package/dist/safe-bash/contracts/io.d.ts.map +1 -1
- package/dist/safe-bash/contracts/io.js +2 -0
- package/dist/safe-bash/contracts/io.js.map +1 -1
- package/dist/safe-bash/contracts/output.d.ts +1 -0
- package/dist/safe-bash/contracts/output.d.ts.map +1 -1
- package/dist/safe-bash/contracts/output.js +6 -1
- package/dist/safe-bash/contracts/output.js.map +1 -1
- package/dist/safe-bash/index.d.ts +2 -1
- package/dist/safe-bash/index.d.ts.map +1 -1
- package/dist/safe-bash/index.js +2 -0
- package/dist/safe-bash/index.js.map +1 -1
- package/dist/safe-bash/shell/runtime.d.ts +7 -2
- package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
- package/dist/safe-bash/shell/runtime.js +247 -185
- package/dist/safe-bash/shell/runtime.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,385 +1,19 @@
|
|
|
1
1
|
import { Worker } from "node:worker_threads";
|
|
2
|
-
import {
|
|
2
|
+
import { RegexExecutor as PortableRegexExecutor } from "./portable.js";
|
|
3
|
+
export { AvailableRecords, RegexSession, withRegexSession } from "./portable.js";
|
|
3
4
|
export { RegexExecutionError } from "./protocol.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let session;
|
|
15
|
-
let closing;
|
|
16
|
-
const close = () => closing ??= (async () => { await session?.close(); })();
|
|
17
|
-
try {
|
|
18
|
-
context.registerCleanup?.(close);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
context.signal.throwIfAborted();
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
let outcome;
|
|
25
|
-
try {
|
|
26
|
-
context.signal.throwIfAborted();
|
|
27
|
-
if (closing)
|
|
28
|
-
throw new RegexExecutionError("CLOSED", "invocation is closed");
|
|
29
|
-
session = executor.open(context.signal);
|
|
30
|
-
outcome = { result: await execute(session) };
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
outcome = { error };
|
|
34
|
-
}
|
|
35
|
-
let cleanupFailure;
|
|
36
|
-
try {
|
|
37
|
-
await close();
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
cleanupFailure = { error };
|
|
41
|
-
}
|
|
42
|
-
context.signal.throwIfAborted();
|
|
43
|
-
if ("error" in outcome)
|
|
44
|
-
throw outcome.error;
|
|
45
|
-
if (cleanupFailure)
|
|
46
|
-
throw cleanupFailure.error;
|
|
47
|
-
return outcome.result;
|
|
48
|
-
}
|
|
49
|
-
class Slot {
|
|
50
|
-
owner;
|
|
51
|
-
worker;
|
|
52
|
-
busy = true;
|
|
53
|
-
ready = false;
|
|
54
|
-
retired;
|
|
55
|
-
idleTimer;
|
|
56
|
-
receiver;
|
|
57
|
-
failure;
|
|
58
|
-
terminal;
|
|
59
|
-
exited = false;
|
|
60
|
-
message = (value) => {
|
|
61
|
-
if (this.receiver)
|
|
62
|
-
this.receiver(value);
|
|
63
|
-
else
|
|
64
|
-
this.fail(new RegexExecutionError("PROTOCOL", "unexpected idle message"));
|
|
65
|
-
};
|
|
66
|
-
error = (error) => this.fail(new RegexExecutionError("WORKER_ERROR", error.message));
|
|
67
|
-
messageerror = () => this.fail(new RegexExecutionError("PROTOCOL", "worker message could not be deserialized"));
|
|
68
|
-
exit = (code) => {
|
|
69
|
-
this.exited = true;
|
|
70
|
-
this.fail(new RegexExecutionError("WORKER_EXIT", `worker exited (${code})`));
|
|
71
|
-
};
|
|
72
|
-
constructor(owner) {
|
|
73
|
-
this.owner = owner;
|
|
74
|
-
this.worker = new Worker(new URL(import.meta.url.endsWith(".ts") ? "../../../dist/commands/regex-execution/worker.js" : "./worker.js", import.meta.url), {
|
|
75
|
-
execArgv: [], resourceLimits: {
|
|
76
|
-
maxOldGenerationSizeMb: owner.options.workerOldGenerationMb,
|
|
77
|
-
stackSizeMb: owner.options.workerStackMb,
|
|
5
|
+
export class RegexExecutor extends PortableRegexExecutor {
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
super({
|
|
8
|
+
createWorker(policy) {
|
|
9
|
+
return new Worker(new URL(import.meta.url.endsWith(".ts") ? "../../../dist/commands/regex-execution/worker.js" : "./worker.js", import.meta.url), {
|
|
10
|
+
execArgv: [], resourceLimits: {
|
|
11
|
+
maxOldGenerationSizeMb: policy.workerOldGenerationMb,
|
|
12
|
+
stackSizeMb: policy.workerStackMb,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
78
15
|
},
|
|
79
|
-
});
|
|
80
|
-
this.worker.on("message", this.message);
|
|
81
|
-
this.worker.on("messageerror", this.messageerror);
|
|
82
|
-
this.worker.on("error", this.error);
|
|
83
|
-
this.worker.on("exit", this.exit);
|
|
84
|
-
}
|
|
85
|
-
fail(error) {
|
|
86
|
-
this.terminal ??= error;
|
|
87
|
-
if (this.failure)
|
|
88
|
-
this.failure(error);
|
|
89
|
-
else if (!this.busy)
|
|
90
|
-
void this.retire();
|
|
91
|
-
}
|
|
92
|
-
exchange(timeout, startup, signal, send) {
|
|
93
|
-
signal.throwIfAborted();
|
|
94
|
-
if (this.terminal !== undefined)
|
|
95
|
-
return Promise.reject(this.terminal);
|
|
96
|
-
return new Promise((resolve, reject) => {
|
|
97
|
-
const finish = (rejected, value) => {
|
|
98
|
-
clearTimeout(timer);
|
|
99
|
-
this.receiver = undefined;
|
|
100
|
-
this.failure = undefined;
|
|
101
|
-
if (rejected)
|
|
102
|
-
reject(value);
|
|
103
|
-
else
|
|
104
|
-
resolve(value);
|
|
105
|
-
};
|
|
106
|
-
const timer = setTimeout(() => finish(true, new RegexExecutionError(startup ? "STARTUP_TIMEOUT" : "REQUEST_TIMEOUT", `${startup ? "startup" : "active request"} exceeded ${timeout}ms`)), timeout);
|
|
107
|
-
this.receiver = value => finish(false, value);
|
|
108
|
-
this.failure = error => finish(true, error);
|
|
109
|
-
try {
|
|
110
|
-
signal.throwIfAborted();
|
|
111
|
-
send?.();
|
|
112
|
-
}
|
|
113
|
-
catch (error) {
|
|
114
|
-
finish(true, error);
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
retire() {
|
|
119
|
-
if (this.retired)
|
|
120
|
-
return this.retired;
|
|
121
|
-
clearTimeout(this.idleTimer);
|
|
122
|
-
this.worker.ref();
|
|
123
|
-
this.retired = (async () => {
|
|
124
|
-
if (!this.exited)
|
|
125
|
-
await this.worker.terminate();
|
|
126
|
-
})().finally(() => {
|
|
127
|
-
this.worker.off("message", this.message);
|
|
128
|
-
this.worker.off("messageerror", this.messageerror);
|
|
129
|
-
this.worker.off("error", this.error);
|
|
130
|
-
this.worker.off("exit", this.exit);
|
|
131
|
-
this.receiver = undefined;
|
|
132
|
-
this.failure = undefined;
|
|
133
|
-
if (!this.busy)
|
|
134
|
-
this.owner.retired(this);
|
|
135
|
-
});
|
|
136
|
-
void this.retired.catch(() => { });
|
|
137
|
-
return this.retired;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
export class RegexExecutor {
|
|
141
|
-
options;
|
|
142
|
-
slots = new Set();
|
|
143
|
-
queue = [];
|
|
144
|
-
queuedBytes = 0;
|
|
145
|
-
sessions = 0;
|
|
146
|
-
sequence = 0;
|
|
147
|
-
disposed = false;
|
|
148
|
-
constructor(options = defaults) { this.options = policy(options); }
|
|
149
|
-
open(signal) {
|
|
150
|
-
signal.throwIfAborted();
|
|
151
|
-
if (this.disposed)
|
|
152
|
-
throw new RegexExecutionError("CLOSED", "executor is disposed");
|
|
153
|
-
this.sessions++;
|
|
154
|
-
return new RegexSession(this, signal);
|
|
155
|
-
}
|
|
156
|
-
async close() {
|
|
157
|
-
this.sessions--;
|
|
158
|
-
if (this.sessions === 0)
|
|
159
|
-
await awaitRetirements([...this.slots].filter(slot => !slot.busy || slot.retired).map(slot => slot.retire()));
|
|
160
|
-
}
|
|
161
|
-
async dispose() {
|
|
162
|
-
this.disposed = true;
|
|
163
|
-
const error = new RegexExecutionError("CLOSED", "executor is disposed");
|
|
164
|
-
for (const pending of this.queue.splice(0)) {
|
|
165
|
-
pending.signal.removeEventListener("abort", pending.abort);
|
|
166
|
-
pending.reject(error);
|
|
167
|
-
}
|
|
168
|
-
this.queuedBytes = 0;
|
|
169
|
-
for (const slot of this.slots)
|
|
170
|
-
slot.fail(error);
|
|
171
|
-
await Promise.all([...this.slots].map(slot => slot.retire()));
|
|
172
|
-
}
|
|
173
|
-
retired(slot) {
|
|
174
|
-
this.slots.delete(slot);
|
|
175
|
-
this.pump();
|
|
176
|
-
}
|
|
177
|
-
request(descriptor, rows, signal, retirements = new Set()) {
|
|
178
|
-
signal.throwIfAborted();
|
|
179
|
-
if (this.disposed)
|
|
180
|
-
return Promise.reject(new RegexExecutionError("CLOSED", "executor is disposed"));
|
|
181
|
-
if (descriptor.kind === "expr-match")
|
|
182
|
-
validateExprInput(descriptor, rows, signal);
|
|
183
|
-
const bytes = descriptor.kind === "expr-match" ? 256 + descriptor.pattern.length + rows[0].bytes.length : inputBytes(descriptor, rows, signal);
|
|
184
|
-
const available = this.queue.length === 0 && ([...this.slots].some(slot => !slot.busy && !slot.retired) || this.slots.size < this.options.maxWorkers);
|
|
185
|
-
if (!available && (this.queue.length >= this.options.maxQueuedRequests || bytes > this.options.maxQueuedBytes - this.queuedBytes))
|
|
186
|
-
return Promise.reject(new RegexExecutionError("QUEUE_EXHAUSTED", "queued request count or input byte limit exceeded"));
|
|
187
|
-
const ownedDescriptor = descriptor.kind === "expr-match"
|
|
188
|
-
? { ...descriptor, pattern: Uint8Array.from(descriptor.pattern), limits: { ...descriptor.limits } }
|
|
189
|
-
: { ...descriptor, patterns: descriptor.patterns.map(pattern => { signal.throwIfAborted(); return pattern; }) };
|
|
190
|
-
if (ownedDescriptor.kind === "glob") {
|
|
191
|
-
const globOptions = ownedDescriptor.globOptions.map(options => { signal.throwIfAborted(); return { ...options }; });
|
|
192
|
-
Object.assign(ownedDescriptor, { globOptions });
|
|
193
|
-
}
|
|
194
|
-
const ownedRows = rows.map(row => { signal.throwIfAborted(); return { ...row, bytes: Uint8Array.from(row.bytes) }; });
|
|
195
|
-
return new Promise((resolve, reject) => {
|
|
196
|
-
const pending = {
|
|
197
|
-
descriptor: ownedDescriptor, rows: ownedRows, signal, bytes, resolve, reject, retirements,
|
|
198
|
-
abort: () => {
|
|
199
|
-
if (pending.slot)
|
|
200
|
-
pending.slot.fail(signal.reason);
|
|
201
|
-
else {
|
|
202
|
-
const index = this.queue.indexOf(pending);
|
|
203
|
-
if (index >= 0) {
|
|
204
|
-
this.queue.splice(index, 1);
|
|
205
|
-
this.queuedBytes -= bytes;
|
|
206
|
-
}
|
|
207
|
-
signal.removeEventListener("abort", pending.abort);
|
|
208
|
-
reject(signal.reason);
|
|
209
|
-
this.pump();
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
};
|
|
213
|
-
signal.addEventListener("abort", pending.abort, { once: true });
|
|
214
|
-
this.queue.push(pending);
|
|
215
|
-
this.queuedBytes += bytes;
|
|
216
|
-
this.pump();
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
pump() {
|
|
220
|
-
if (this.disposed)
|
|
221
|
-
return;
|
|
222
|
-
while (this.queue.length) {
|
|
223
|
-
let slot = [...this.slots].find(candidate => !candidate.busy && !candidate.retired);
|
|
224
|
-
if (!slot && this.slots.size >= this.options.maxWorkers)
|
|
225
|
-
return;
|
|
226
|
-
const pending = this.queue.shift();
|
|
227
|
-
this.queuedBytes -= pending.bytes;
|
|
228
|
-
try {
|
|
229
|
-
pending.signal.throwIfAborted();
|
|
230
|
-
if (!slot) {
|
|
231
|
-
slot = new Slot(this);
|
|
232
|
-
this.slots.add(slot);
|
|
233
|
-
}
|
|
234
|
-
slot.busy = true;
|
|
235
|
-
pending.slot = slot;
|
|
236
|
-
clearTimeout(slot.idleTimer);
|
|
237
|
-
slot.worker.ref();
|
|
238
|
-
void this.run(slot, pending);
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
pending.signal.removeEventListener("abort", pending.abort);
|
|
242
|
-
pending.reject(error);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
async run(slot, pending) {
|
|
247
|
-
let result;
|
|
248
|
-
let failure;
|
|
249
|
-
let rejected = false;
|
|
250
|
-
try {
|
|
251
|
-
pending.signal.throwIfAborted();
|
|
252
|
-
if (!slot.ready) {
|
|
253
|
-
const ready = await slot.exchange(this.options.startupTimeoutMs, true, pending.signal);
|
|
254
|
-
if (!ready || typeof ready !== "object" || !("ready" in ready) || ready.ready !== true)
|
|
255
|
-
throw new RegexExecutionError("PROTOCOL", "invalid startup reply");
|
|
256
|
-
slot.ready = true;
|
|
257
|
-
}
|
|
258
|
-
pending.signal.throwIfAborted();
|
|
259
|
-
const id = ++this.sequence;
|
|
260
|
-
const started = performance.now();
|
|
261
|
-
const reply = await slot.exchange(this.options.requestTimeoutMs, false, pending.signal, () => slot.worker.postMessage({ id, descriptor: pending.descriptor, rows: pending.rows }));
|
|
262
|
-
result = pending.descriptor.kind === "expr-match"
|
|
263
|
-
? validateExprReply(reply, id, pending.descriptor, pending.rows[0].bytes, pending.signal)
|
|
264
|
-
: validateReply(reply, id, pending.rows, pending.signal);
|
|
265
|
-
if (performance.now() - started > this.options.requestTimeoutMs)
|
|
266
|
-
throw new RegexExecutionError("REQUEST_TIMEOUT", `active request exceeded ${this.options.requestTimeoutMs}ms`);
|
|
267
|
-
pending.signal.throwIfAborted();
|
|
268
|
-
}
|
|
269
|
-
catch (error) {
|
|
270
|
-
rejected = true;
|
|
271
|
-
failure = pending.signal.aborted ? pending.signal.reason : error;
|
|
272
|
-
const retirement = slot.retire();
|
|
273
|
-
pending.retirements.add(retirement);
|
|
274
|
-
try {
|
|
275
|
-
await retirement;
|
|
276
|
-
}
|
|
277
|
-
catch { }
|
|
278
|
-
}
|
|
279
|
-
finally {
|
|
280
|
-
pending.signal.removeEventListener("abort", pending.abort);
|
|
281
|
-
slot.busy = false;
|
|
282
|
-
if (slot.retired)
|
|
283
|
-
this.retired(slot);
|
|
284
|
-
else {
|
|
285
|
-
slot.worker.unref();
|
|
286
|
-
slot.idleTimer = setTimeout(() => { if (!slot.busy)
|
|
287
|
-
void slot.retire(); }, this.options.idleTimeoutMs);
|
|
288
|
-
slot.idleTimer.unref();
|
|
289
|
-
}
|
|
290
|
-
this.pump();
|
|
291
|
-
}
|
|
292
|
-
if (rejected)
|
|
293
|
-
pending.reject(failure);
|
|
294
|
-
else
|
|
295
|
-
pending.resolve(result);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
export class RegexSession {
|
|
299
|
-
executor;
|
|
300
|
-
signal;
|
|
301
|
-
closed;
|
|
302
|
-
pending = new Set();
|
|
303
|
-
retirements = new Set();
|
|
304
|
-
controller = new AbortController();
|
|
305
|
-
requestSignal;
|
|
306
|
-
constructor(executor, signal) {
|
|
307
|
-
this.executor = executor;
|
|
308
|
-
this.signal = signal;
|
|
309
|
-
this.requestSignal = AbortSignal.any([signal, this.controller.signal]);
|
|
310
|
-
}
|
|
311
|
-
run(descriptor, rows) {
|
|
312
|
-
this.signal.throwIfAborted();
|
|
313
|
-
if (this.closed)
|
|
314
|
-
throw new RegexExecutionError("CLOSED", "invocation is closed");
|
|
315
|
-
const result = this.executor.request(descriptor, rows, this.requestSignal, this.retirements);
|
|
316
|
-
this.pending.add(result);
|
|
317
|
-
void result.then(() => this.pending.delete(result), () => this.pending.delete(result));
|
|
318
|
-
return result;
|
|
319
|
-
}
|
|
320
|
-
matchExpr(descriptor, subject) {
|
|
321
|
-
this.signal.throwIfAborted();
|
|
322
|
-
if (this.closed)
|
|
323
|
-
throw new RegexExecutionError("CLOSED", "invocation is closed");
|
|
324
|
-
const result = this.executor.request(descriptor, [{ bytes: subject, all: false, terminated: false }], this.requestSignal, this.retirements);
|
|
325
|
-
this.pending.add(result);
|
|
326
|
-
void result.then(() => this.pending.delete(result), () => this.pending.delete(result));
|
|
327
|
-
return result;
|
|
328
|
-
}
|
|
329
|
-
close() {
|
|
330
|
-
return this.closed ??= Promise.resolve().then(async () => {
|
|
331
|
-
this.controller.abort(this.signal.aborted ? this.signal.reason : new RegexExecutionError("CLOSED", "invocation is closed"));
|
|
332
|
-
try {
|
|
333
|
-
await Promise.allSettled([...this.pending]);
|
|
334
|
-
}
|
|
335
|
-
finally {
|
|
336
|
-
await awaitRetirements([...this.retirements, this.executor.close()]);
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
export class AvailableRecords {
|
|
342
|
-
delimiter;
|
|
343
|
-
maxLineBytes;
|
|
344
|
-
extraDelimiter;
|
|
345
|
-
chunk = new Uint8Array(0);
|
|
346
|
-
offset = 0;
|
|
347
|
-
constructor(delimiter, maxLineBytes, extraDelimiter = -1) {
|
|
348
|
-
this.delimiter = delimiter;
|
|
349
|
-
this.maxLineBytes = maxLineBytes;
|
|
350
|
-
this.extraDelimiter = extraDelimiter;
|
|
351
|
-
}
|
|
352
|
-
async *source(source) {
|
|
353
|
-
for await (const chunk of source) {
|
|
354
|
-
this.chunk = Uint8Array.from(chunk);
|
|
355
|
-
this.offset = 0;
|
|
356
|
-
yield this.chunk;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
end() {
|
|
360
|
-
for (let offset = this.offset; offset < this.chunk.length; offset++) {
|
|
361
|
-
if (this.chunk[offset] === this.delimiter || this.chunk[offset] === this.extraDelimiter)
|
|
362
|
-
return offset;
|
|
363
|
-
}
|
|
364
|
-
return -1;
|
|
365
|
-
}
|
|
366
|
-
async *batches(source, size, maxRecords = () => 128) {
|
|
367
|
-
let batch = [];
|
|
368
|
-
let bytes = 0;
|
|
369
|
-
for await (const line of source) {
|
|
370
|
-
const end = this.end();
|
|
371
|
-
this.offset = end < 0 ? this.chunk.length : end + 1;
|
|
372
|
-
batch.push(line);
|
|
373
|
-
bytes += size(line);
|
|
374
|
-
const next = this.end();
|
|
375
|
-
if (batch.length >= maxRecords() || bytes >= 64 * 1024 || next < 0 || bytes + next - this.offset > 64 * 1024 || next - this.offset > this.maxLineBytes) {
|
|
376
|
-
yield batch;
|
|
377
|
-
batch = [];
|
|
378
|
-
bytes = 0;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
if (batch.length)
|
|
382
|
-
yield batch;
|
|
16
|
+
}, options);
|
|
383
17
|
}
|
|
384
18
|
}
|
|
385
19
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/commands/regex-execution/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/commands/regex-execution/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAA8B,MAAM,eAAe,CAAC;AAEhF,MAAM,OAAO,aAAc,SAAQ,qBAAqB;IACtD,YAAY,UAAiC,EAAE;QAC7C,KAAK,CAAC;YACJ,YAAY,CAAC,MAAM;gBACjB,OAAO,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAChJ,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE;wBAC5B,sBAAsB,EAAE,MAAM,CAAC,qBAAqB;wBACpD,WAAW,EAAE,MAAM,CAAC,aAAa;qBAClC;iBACF,CAAC,CAAC;YACL,CAAC;SACF,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { BoundedRegexProvider, RegexWorker } from "./provider.js";
|
|
2
|
+
import type { CommandContext, CommandResult } from "../../contracts/command.js";
|
|
3
|
+
import type { ByteSource } from "../../contracts/io.js";
|
|
4
|
+
import { type ExprMatchDescriptor, type ExprMatchResult, type Descriptor, type Match, type RegexExecutionOptions, type Row } from "./protocol.js";
|
|
5
|
+
export type { RegexExecutionOptions } from "./protocol.js";
|
|
6
|
+
export { RegexExecutionError } from "./protocol.js";
|
|
7
|
+
export declare function withRegexSession(context: CommandContext, executor: RegexExecutor, execute: (session: RegexSession) => CommandResult | Promise<CommandResult>): Promise<CommandResult>;
|
|
8
|
+
declare class Slot {
|
|
9
|
+
private readonly owner;
|
|
10
|
+
readonly worker: RegexWorker;
|
|
11
|
+
busy: boolean;
|
|
12
|
+
ready: boolean;
|
|
13
|
+
retired: Promise<void> | undefined;
|
|
14
|
+
idleTimer: ReturnType<typeof setTimeout> | undefined;
|
|
15
|
+
private receiver;
|
|
16
|
+
private failure;
|
|
17
|
+
private terminal;
|
|
18
|
+
private exited;
|
|
19
|
+
private readonly message;
|
|
20
|
+
private readonly error;
|
|
21
|
+
private readonly messageerror;
|
|
22
|
+
private readonly exit;
|
|
23
|
+
constructor(owner: RegexExecutor);
|
|
24
|
+
fail(error: unknown): void;
|
|
25
|
+
exchange(timeout: number, startup: boolean, signal: AbortSignal, send?: () => void): Promise<unknown>;
|
|
26
|
+
retire(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
export declare class RegexExecutor {
|
|
29
|
+
readonly provider: BoundedRegexProvider;
|
|
30
|
+
readonly options: Required<RegexExecutionOptions>;
|
|
31
|
+
private readonly slots;
|
|
32
|
+
private readonly queue;
|
|
33
|
+
private queuedBytes;
|
|
34
|
+
private sessions;
|
|
35
|
+
private sequence;
|
|
36
|
+
private disposed;
|
|
37
|
+
constructor(provider: BoundedRegexProvider, options?: RegexExecutionOptions);
|
|
38
|
+
open(signal: AbortSignal): RegexSession;
|
|
39
|
+
close(): Promise<void>;
|
|
40
|
+
dispose(): Promise<void>;
|
|
41
|
+
retired(slot: Slot): void;
|
|
42
|
+
request(descriptor: Descriptor, rows: readonly Row[], signal: AbortSignal, retirements?: Set<Promise<void>>): Promise<Match[][]>;
|
|
43
|
+
request(descriptor: ExprMatchDescriptor, rows: readonly Row[], signal: AbortSignal, retirements?: Set<Promise<void>>): Promise<ExprMatchResult>;
|
|
44
|
+
private pump;
|
|
45
|
+
private run;
|
|
46
|
+
}
|
|
47
|
+
export declare class RegexSession {
|
|
48
|
+
private readonly executor;
|
|
49
|
+
private readonly signal;
|
|
50
|
+
private closed;
|
|
51
|
+
private readonly pending;
|
|
52
|
+
private readonly retirements;
|
|
53
|
+
private readonly controller;
|
|
54
|
+
private readonly requestSignal;
|
|
55
|
+
constructor(executor: RegexExecutor, signal: AbortSignal);
|
|
56
|
+
run(descriptor: Descriptor, rows: readonly Row[]): Promise<Match[][]>;
|
|
57
|
+
matchExpr(descriptor: ExprMatchDescriptor, subject: Uint8Array): Promise<ExprMatchResult>;
|
|
58
|
+
close(): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
export declare class AvailableRecords {
|
|
61
|
+
private readonly delimiter;
|
|
62
|
+
private readonly maxLineBytes;
|
|
63
|
+
private readonly extraDelimiter;
|
|
64
|
+
private chunk;
|
|
65
|
+
private offset;
|
|
66
|
+
constructor(delimiter: number, maxLineBytes: number, extraDelimiter?: number);
|
|
67
|
+
source(source: ByteSource): ByteSource;
|
|
68
|
+
private end;
|
|
69
|
+
batches<Line>(source: AsyncIterable<Line>, size: (line: Line) => number, maxRecords?: () => number): AsyncGenerator<Line[]>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=portable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portable.d.ts","sourceRoot":"","sources":["../../../src/commands/regex-execution/portable.ts"],"names":[],"mappings":"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"}
|