@positronic/spec 0.0.68 → 0.0.69

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.
@@ -0,0 +1,280 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ function _type_of(obj) {
31
+ "@swc/helpers - typeof";
32
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
33
+ }
34
+ function _ts_generator(thisArg, body) {
35
+ var f, y, t, _ = {
36
+ label: 0,
37
+ sent: function() {
38
+ if (t[0] & 1) throw t[1];
39
+ return t[1];
40
+ },
41
+ trys: [],
42
+ ops: []
43
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
44
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
+ return this;
46
+ }), g;
47
+ function verb(n) {
48
+ return function(v) {
49
+ return step([
50
+ n,
51
+ v
52
+ ]);
53
+ };
54
+ }
55
+ function step(op) {
56
+ if (f) throw new TypeError("Generator is already executing.");
57
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
58
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
+ if (y = 0, t) op = [
60
+ op[0] & 2,
61
+ t.value
62
+ ];
63
+ switch(op[0]){
64
+ case 0:
65
+ case 1:
66
+ t = op;
67
+ break;
68
+ case 4:
69
+ _.label++;
70
+ return {
71
+ value: op[1],
72
+ done: false
73
+ };
74
+ case 5:
75
+ _.label++;
76
+ y = op[1];
77
+ op = [
78
+ 0
79
+ ];
80
+ continue;
81
+ case 7:
82
+ op = _.ops.pop();
83
+ _.trys.pop();
84
+ continue;
85
+ default:
86
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
+ _ = 0;
88
+ continue;
89
+ }
90
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
+ _.label = op[1];
92
+ break;
93
+ }
94
+ if (op[0] === 6 && _.label < t[1]) {
95
+ _.label = t[1];
96
+ t = op;
97
+ break;
98
+ }
99
+ if (t && _.label < t[2]) {
100
+ _.label = t[2];
101
+ _.ops.push(op);
102
+ break;
103
+ }
104
+ if (t[2]) _.ops.pop();
105
+ _.trys.pop();
106
+ continue;
107
+ }
108
+ op = body.call(thisArg, _);
109
+ } catch (e) {
110
+ op = [
111
+ 6,
112
+ e
113
+ ];
114
+ y = 0;
115
+ } finally{
116
+ f = t = 0;
117
+ }
118
+ if (op[0] & 5) throw op[1];
119
+ return {
120
+ value: op[0] ? op[1] : void 0,
121
+ done: true
122
+ };
123
+ }
124
+ }
125
+ /**
126
+ * Read SSE events from a stream, calling shouldStop on each parsed event.
127
+ * Returns all collected events. Cancels the reader when done.
128
+ */ export function readSseUntil(stream, shouldStop) {
129
+ return _async_to_generator(function() {
130
+ var reader, decoder, buffer, events, _ref, value, done, eventEndIndex, message, event;
131
+ return _ts_generator(this, function(_state) {
132
+ switch(_state.label){
133
+ case 0:
134
+ reader = stream.getReader();
135
+ decoder = new TextDecoder();
136
+ buffer = '';
137
+ events = [];
138
+ _state.label = 1;
139
+ case 1:
140
+ _state.trys.push([
141
+ 1,
142
+ ,
143
+ 5,
144
+ 7
145
+ ]);
146
+ _state.label = 2;
147
+ case 2:
148
+ if (!true) return [
149
+ 3,
150
+ 4
151
+ ];
152
+ return [
153
+ 4,
154
+ reader.read()
155
+ ];
156
+ case 3:
157
+ _ref = _state.sent(), value = _ref.value, done = _ref.done;
158
+ if (done) return [
159
+ 3,
160
+ 4
161
+ ];
162
+ buffer += decoder.decode(value, {
163
+ stream: true
164
+ });
165
+ eventEndIndex = void 0;
166
+ while((eventEndIndex = buffer.indexOf('\n\n')) !== -1){
167
+ message = buffer.substring(0, eventEndIndex);
168
+ buffer = buffer.substring(eventEndIndex + 2);
169
+ if (message.startsWith('data: ')) {
170
+ try {
171
+ event = JSON.parse(message.substring(6));
172
+ events.push(event);
173
+ if (shouldStop(event)) {
174
+ return [
175
+ 2,
176
+ events
177
+ ];
178
+ }
179
+ } catch (e) {
180
+ // Ignore parse errors
181
+ }
182
+ }
183
+ }
184
+ return [
185
+ 3,
186
+ 2
187
+ ];
188
+ case 4:
189
+ return [
190
+ 3,
191
+ 7
192
+ ];
193
+ case 5:
194
+ return [
195
+ 4,
196
+ reader.cancel()
197
+ ];
198
+ case 6:
199
+ _state.sent();
200
+ return [
201
+ 7
202
+ ];
203
+ case 7:
204
+ return [
205
+ 2,
206
+ events
207
+ ];
208
+ }
209
+ });
210
+ })();
211
+ }
212
+ /**
213
+ * Start a brain run and return the brainRunId. Makes the POST request
214
+ * and validates the 201 + brainRunId shape.
215
+ */ export function startBrainRun(fetch, identifier) {
216
+ return _async_to_generator(function() {
217
+ var request, response, data, error;
218
+ return _ts_generator(this, function(_state) {
219
+ switch(_state.label){
220
+ case 0:
221
+ _state.trys.push([
222
+ 0,
223
+ 3,
224
+ ,
225
+ 4
226
+ ]);
227
+ request = new Request('http://example.com/brains/runs', {
228
+ method: 'POST',
229
+ headers: {
230
+ 'Content-Type': 'application/json'
231
+ },
232
+ body: JSON.stringify({
233
+ identifier: identifier
234
+ })
235
+ });
236
+ return [
237
+ 4,
238
+ fetch(request)
239
+ ];
240
+ case 1:
241
+ response = _state.sent();
242
+ if (response.status !== 201) {
243
+ console.error("POST /brains/runs returned ".concat(response.status, ", expected 201"));
244
+ return [
245
+ 2,
246
+ null
247
+ ];
248
+ }
249
+ return [
250
+ 4,
251
+ response.json()
252
+ ];
253
+ case 2:
254
+ data = _state.sent();
255
+ if (!data.brainRunId || typeof data.brainRunId !== 'string') {
256
+ console.error("Expected brainRunId to be string, got ".concat(_type_of(data.brainRunId)));
257
+ return [
258
+ 2,
259
+ null
260
+ ];
261
+ }
262
+ return [
263
+ 2,
264
+ data.brainRunId
265
+ ];
266
+ case 3:
267
+ error = _state.sent();
268
+ console.error("Failed to start brain run:", error);
269
+ return [
270
+ 2,
271
+ null
272
+ ];
273
+ case 4:
274
+ return [
275
+ 2
276
+ ];
277
+ }
278
+ });
279
+ })();
280
+ }
@@ -9,3 +9,4 @@ export { pages } from './pages.js';
9
9
  export { bundle } from './bundle.js';
10
10
  export { users } from './users.js';
11
11
  export { auth } from './auth.js';
12
+ export { scoping } from './scoping.js';