@positronic/spec 0.0.68 → 0.0.70
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/api/brains.d.ts.map +1 -1
- package/dist/api/brains.js +108 -299
- package/dist/api/brains.js.map +1 -1
- package/dist/api/helpers.d.ts +12 -0
- package/dist/api/helpers.d.ts.map +1 -0
- package/dist/api/helpers.js +68 -0
- package/dist/api/helpers.js.map +1 -0
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/schedules.d.ts.map +1 -1
- package/dist/api/schedules.js.map +1 -1
- package/dist/api/scoping.d.ts +39 -0
- package/dist/api/scoping.d.ts.map +1 -0
- package/dist/api/scoping.js +265 -0
- package/dist/api/scoping.js.map +1 -0
- package/dist/api/types.d.ts +4 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/api/brains.js +192 -581
- package/dist/src/api/helpers.js +280 -0
- package/dist/src/api/index.js +1 -0
- package/dist/src/api/scoping.js +756 -0
- package/dist/src/index.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { BRAIN_EVENTS } from '@positronic/core';
|
|
2
|
+
import { startBrainRun, readSseUntil } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* Helper: start a brain run as a specific user's fetch, wait for completion,
|
|
5
|
+
* and return the brainRunId.
|
|
6
|
+
*/
|
|
7
|
+
async function runBrainAndWait(fetchFn, brainIdentifier) {
|
|
8
|
+
try {
|
|
9
|
+
const brainRunId = await startBrainRun(fetchFn, brainIdentifier);
|
|
10
|
+
if (!brainRunId)
|
|
11
|
+
return null;
|
|
12
|
+
// Watch until completion
|
|
13
|
+
const watchResponse = await fetchFn(new Request(`http://example.com/brains/runs/${brainRunId}/watch`));
|
|
14
|
+
if (!watchResponse.ok || !watchResponse.body) {
|
|
15
|
+
console.error(`GET /brains/runs/${brainRunId}/watch returned ${watchResponse.status}`);
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
await readSseUntil(watchResponse.body, (event) => event.type === BRAIN_EVENTS.COMPLETE ||
|
|
19
|
+
event.type === BRAIN_EVENTS.ERROR);
|
|
20
|
+
return brainRunId;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error('Failed to run brain and wait:', error);
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export const scoping = {
|
|
28
|
+
/**
|
|
29
|
+
* Test that brain runs are isolated between users.
|
|
30
|
+
*
|
|
31
|
+
* userA creates a run and waits for completion. Then:
|
|
32
|
+
* - userB gets 404 on GET /runs/:runId
|
|
33
|
+
* - root gets 200 on GET /runs/:runId
|
|
34
|
+
* - userA's history has the run
|
|
35
|
+
* - userB's history is empty
|
|
36
|
+
*/
|
|
37
|
+
async brainRunIsolation(rootFetch, fetchFactory, brainIdentifier) {
|
|
38
|
+
try {
|
|
39
|
+
const userA = await fetchFactory('scoping-alice-run');
|
|
40
|
+
const userB = await fetchFactory('scoping-bob-run');
|
|
41
|
+
// userA creates a run and waits for completion
|
|
42
|
+
const brainRunId = await runBrainAndWait(userA.fetch, brainIdentifier);
|
|
43
|
+
if (!brainRunId) {
|
|
44
|
+
console.error('Failed to create and complete brain run as userA');
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// userB tries to get the run — should get 404
|
|
48
|
+
const responseB = await userB.fetch(new Request(`http://example.com/brains/runs/${brainRunId}`));
|
|
49
|
+
if (responseB.status !== 404) {
|
|
50
|
+
console.error(`Expected userB to get 404 for userA's run, got ${responseB.status}`);
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
// root can see the run — should get 200
|
|
54
|
+
const responseRoot = await rootFetch(new Request(`http://example.com/brains/runs/${brainRunId}`));
|
|
55
|
+
if (responseRoot.status !== 200) {
|
|
56
|
+
console.error(`Expected root to get 200 for userA's run, got ${responseRoot.status}`);
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
const rootRun = (await responseRoot.json());
|
|
60
|
+
if (rootRun.brainRunId !== brainRunId) {
|
|
61
|
+
console.error(`Root returned wrong brainRunId: expected ${brainRunId}, got ${rootRun.brainRunId}`);
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
// userA's history has the run
|
|
65
|
+
const historyA = await userA.fetch(new Request(`http://example.com/brains/${encodeURIComponent(brainIdentifier)}/history?limit=50`));
|
|
66
|
+
if (historyA.status !== 200) {
|
|
67
|
+
console.error(`Expected userA history to return 200, got ${historyA.status}`);
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
const historyDataA = (await historyA.json());
|
|
71
|
+
if (historyDataA.runs.length === 0) {
|
|
72
|
+
console.error("userA's history is empty but should have the run");
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
// userB's history is empty for this brain
|
|
76
|
+
const historyB = await userB.fetch(new Request(`http://example.com/brains/${encodeURIComponent(brainIdentifier)}/history?limit=50`));
|
|
77
|
+
if (historyB.status !== 200) {
|
|
78
|
+
console.error(`Expected userB history to return 200, got ${historyB.status}`);
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
const historyDataB = (await historyB.json());
|
|
82
|
+
if (historyDataB.runs.length !== 0) {
|
|
83
|
+
console.error(`userB's history should be empty but has ${historyDataB.runs.length} runs`);
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
console.error('Failed brain run isolation spec:', error);
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
/**
|
|
94
|
+
* Test that active runs are isolated between users.
|
|
95
|
+
*
|
|
96
|
+
* userA starts a delayed brain (will remain running).
|
|
97
|
+
* - userA sees it in active-runs
|
|
98
|
+
* - userB does not see it in active-runs
|
|
99
|
+
*/
|
|
100
|
+
async activeRunIsolation(rootFetch, fetchFactory, delayedBrainIdentifier) {
|
|
101
|
+
try {
|
|
102
|
+
const userA = await fetchFactory('scoping-alice-active');
|
|
103
|
+
const userB = await fetchFactory('scoping-bob-active');
|
|
104
|
+
// Start a delayed brain as userA (will be running for a while)
|
|
105
|
+
const brainRunId = await startBrainRun(userA.fetch, delayedBrainIdentifier);
|
|
106
|
+
if (!brainRunId)
|
|
107
|
+
return false;
|
|
108
|
+
// userB checks active runs — should be empty
|
|
109
|
+
const responseB = await userB.fetch(new Request(`http://example.com/brains/${encodeURIComponent(delayedBrainIdentifier)}/active-runs`));
|
|
110
|
+
if (responseB.status !== 200) {
|
|
111
|
+
console.error(`Expected userB active-runs to return 200, got ${responseB.status}`);
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const activeB = (await responseB.json());
|
|
115
|
+
if (activeB.runs.length !== 0) {
|
|
116
|
+
console.error(`userB should see 0 active runs but sees ${activeB.runs.length}`);
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
// userA checks active runs — should have the run
|
|
120
|
+
const responseA = await userA.fetch(new Request(`http://example.com/brains/${encodeURIComponent(delayedBrainIdentifier)}/active-runs`));
|
|
121
|
+
if (responseA.status !== 200) {
|
|
122
|
+
console.error(`Expected userA active-runs to return 200, got ${responseA.status}`);
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
const activeA = (await responseA.json());
|
|
126
|
+
if (activeA.runs.length === 0) {
|
|
127
|
+
console.error('userA should see at least 1 active run but sees 0');
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error('Failed active run isolation spec:', error);
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
/**
|
|
138
|
+
* Test that schedules are isolated between users.
|
|
139
|
+
*
|
|
140
|
+
* userA creates a schedule. Then:
|
|
141
|
+
* - userB can't see it in GET /schedules
|
|
142
|
+
* - userA can see it in GET /schedules
|
|
143
|
+
* - root can see it in GET /schedules
|
|
144
|
+
* - userB can't see runs for it in GET /schedules/runs
|
|
145
|
+
*/
|
|
146
|
+
async scheduleIsolation(rootFetch, fetchFactory, brainIdentifier) {
|
|
147
|
+
try {
|
|
148
|
+
const userA = await fetchFactory('scoping-alice-sched');
|
|
149
|
+
const userB = await fetchFactory('scoping-bob-sched');
|
|
150
|
+
// userA creates a schedule
|
|
151
|
+
const createResponse = await userA.fetch(new Request('http://example.com/brains/schedules', {
|
|
152
|
+
method: 'POST',
|
|
153
|
+
headers: { 'Content-Type': 'application/json' },
|
|
154
|
+
body: JSON.stringify({
|
|
155
|
+
identifier: brainIdentifier,
|
|
156
|
+
cronExpression: '0 6 * * *',
|
|
157
|
+
}),
|
|
158
|
+
}));
|
|
159
|
+
if (createResponse.status !== 201) {
|
|
160
|
+
console.error(`POST /brains/schedules returned ${createResponse.status}, expected 201`);
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
const schedule = (await createResponse.json());
|
|
164
|
+
if (schedule.runAsUserId !== userA.userId) {
|
|
165
|
+
console.error(`Expected runAsUserId to be '${userA.userId}', got '${schedule.runAsUserId}'`);
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
// userB lists schedules — should not see userA's schedule
|
|
169
|
+
const listResponseB = await userB.fetch(new Request('http://example.com/brains/schedules'));
|
|
170
|
+
if (listResponseB.status !== 200) {
|
|
171
|
+
console.error(`Expected userB schedule list to return 200, got ${listResponseB.status}`);
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
const listB = (await listResponseB.json());
|
|
175
|
+
if (listB.schedules.some((s) => s.id === schedule.id)) {
|
|
176
|
+
console.error("userB should not see userA's schedule in list");
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
// userA lists schedules — should see their own
|
|
180
|
+
const listResponseA = await userA.fetch(new Request('http://example.com/brains/schedules'));
|
|
181
|
+
if (listResponseA.status !== 200) {
|
|
182
|
+
console.error(`Expected userA schedule list to return 200, got ${listResponseA.status}`);
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
const listA = (await listResponseA.json());
|
|
186
|
+
if (!listA.schedules.some((s) => s.id === schedule.id)) {
|
|
187
|
+
console.error("userA should see their own schedule in list");
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
// root lists schedules — should see it
|
|
191
|
+
const listResponseRoot = await rootFetch(new Request('http://example.com/brains/schedules'));
|
|
192
|
+
if (listResponseRoot.status !== 200) {
|
|
193
|
+
console.error(`Expected root schedule list to return 200, got ${listResponseRoot.status}`);
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
const listRoot = (await listResponseRoot.json());
|
|
197
|
+
if (!listRoot.schedules.some((s) => s.id === schedule.id)) {
|
|
198
|
+
console.error("root should see userA's schedule in list");
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
// userB can't see runs for userA's schedule
|
|
202
|
+
const runsResponseB = await userB.fetch(new Request(`http://example.com/brains/schedules/runs?scheduleId=${schedule.id}`));
|
|
203
|
+
if (runsResponseB.status !== 200) {
|
|
204
|
+
console.error(`Expected userB schedule runs to return 200, got ${runsResponseB.status}`);
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
const runsB = (await runsResponseB.json());
|
|
208
|
+
if (runsB.runs.length !== 0) {
|
|
209
|
+
console.error(`userB should see 0 schedule runs but sees ${runsB.runs.length}`);
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
console.error('Failed schedule isolation spec:', error);
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
/**
|
|
220
|
+
* Test that non-root users get 403 on secrets endpoints.
|
|
221
|
+
*
|
|
222
|
+
* A non-root user calling GET/POST/DELETE /secrets gets 403.
|
|
223
|
+
* (Root access to secrets is already tested by secrets.list spec.)
|
|
224
|
+
*/
|
|
225
|
+
async secretsRequireRoot(rootFetch, fetchFactory) {
|
|
226
|
+
try {
|
|
227
|
+
const user = await fetchFactory('scoping-user-secrets');
|
|
228
|
+
// GET /secrets — should get 403
|
|
229
|
+
const getResponse = await user.fetch(new Request('http://example.com/secrets'));
|
|
230
|
+
if (getResponse.status !== 403) {
|
|
231
|
+
console.error(`Expected non-root GET /secrets to return 403, got ${getResponse.status}`);
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
const getBody = (await getResponse.json());
|
|
235
|
+
if (getBody.error !== 'Root access required') {
|
|
236
|
+
console.error(`Expected error 'Root access required', got '${getBody.error}'`);
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
// POST /secrets — should get 403
|
|
240
|
+
const postResponse = await user.fetch(new Request('http://example.com/secrets', {
|
|
241
|
+
method: 'POST',
|
|
242
|
+
headers: { 'Content-Type': 'application/json' },
|
|
243
|
+
body: JSON.stringify({ name: 'MY_SECRET', value: 'secret-value' }),
|
|
244
|
+
}));
|
|
245
|
+
if (postResponse.status !== 403) {
|
|
246
|
+
console.error(`Expected non-root POST /secrets to return 403, got ${postResponse.status}`);
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
// DELETE /secrets/:name — should get 403
|
|
250
|
+
const deleteResponse = await user.fetch(new Request('http://example.com/secrets/MY_SECRET', {
|
|
251
|
+
method: 'DELETE',
|
|
252
|
+
}));
|
|
253
|
+
if (deleteResponse.status !== 403) {
|
|
254
|
+
console.error(`Expected non-root DELETE /secrets to return 403, got ${deleteResponse.status}`);
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
console.error('Failed secrets require root spec:', error);
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
//# sourceMappingURL=scoping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoping.js","sourceRoot":"","sources":["../../src/api/scoping.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.d.ts
CHANGED
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -119,6 +119,6 @@ export interface PositronicDevServer {
|
|
|
119
119
|
*/
|
|
120
120
|
bulkSecrets(filePath: string): Promise<void>;
|
|
121
121
|
}
|
|
122
|
-
export { testStatus, resources, brains, schedules, secrets, webhooks, signals, pages, bundle, auth } from './api/index.js';
|
|
123
|
-
export type { AuthSetupResponse } from './api/index.js';
|
|
122
|
+
export { testStatus, resources, brains, schedules, secrets, webhooks, signals, pages, bundle, auth, scoping } from './api/index.js';
|
|
123
|
+
export type { AuthSetupResponse, Fetch, FetchFactory } from './api/index.js';
|
|
124
124
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAEhD;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IAErF;;;;OAIG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;OAIG;IACH,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAEhD;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IAErF;;;;OAIG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;OAIG;IACH,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACpI,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* Currently includes the PositronicDevServer interface.
|
|
10
10
|
* Future additions will include REST API specifications and tests.
|
|
11
11
|
*/
|
|
12
|
-
export { testStatus, resources, brains, schedules, secrets, webhooks, signals, pages, bundle, auth } from './api/index.js';
|
|
12
|
+
export { testStatus, resources, brains, schedules, secrets, webhooks, signals, pages, bundle, auth, scoping } from './api/index.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA6HH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA6HH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|