@agimon-ai/po 0.0.0-alpha.26 → 0.0.0-alpha.28
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/catalog/index.json +60 -53
- package/dist/src/builders/isolate/compile.cjs +134 -0
- package/dist/src/builders/isolate/compile.cjs.map +1 -0
- package/dist/src/builders/isolate/compile.mjs +129 -0
- package/dist/src/builders/isolate/compile.mjs.map +1 -0
- package/dist/src/builders/isolate/index.cjs +162 -0
- package/dist/src/builders/isolate/index.cjs.map +1 -0
- package/dist/src/builders/isolate/index.mjs +159 -0
- package/dist/src/builders/isolate/index.mjs.map +1 -0
- package/dist/src/builders/isolate/membrane.cjs +179 -0
- package/dist/src/builders/isolate/membrane.cjs.map +1 -0
- package/dist/src/builders/isolate/membrane.mjs +179 -0
- package/dist/src/builders/isolate/membrane.mjs.map +1 -0
- package/dist/src/builders/server/bundlerService.cjs +2 -2
- package/dist/src/builders/server/bundlerService.cjs.map +1 -1
- package/dist/src/builders/server/bundlerService.mjs +2 -2
- package/dist/src/builders/server/bundlerService.mjs.map +1 -1
- package/dist/src/builders/server/computerUseBinding.cjs +17 -0
- package/dist/src/builders/server/computerUseBinding.cjs.map +1 -1
- package/dist/src/builders/server/computerUseBinding.mjs +17 -0
- package/dist/src/builders/server/computerUseBinding.mjs.map +1 -1
- package/dist/src/builders/server/computerUseRecordings.cjs +1 -1
- package/dist/src/builders/server/computerUseRecordings.cjs.map +1 -1
- package/dist/src/builders/server/computerUseRecordings.mjs +1 -1
- package/dist/src/builders/server/computerUseRecordings.mjs.map +1 -1
- package/dist/src/builders/server/packageUrl.cjs +6 -4
- package/dist/src/builders/server/packageUrl.cjs.map +1 -1
- package/dist/src/builders/server/packageUrl.mjs +6 -4
- package/dist/src/builders/server/packageUrl.mjs.map +1 -1
- package/dist/src/builders/server/runtime.cjs +25 -11
- package/dist/src/builders/server/runtime.cjs.map +1 -1
- package/dist/src/builders/server/runtime.mjs +25 -11
- package/dist/src/builders/server/runtime.mjs.map +1 -1
- package/package.json +22 -21
package/dist/catalog/index.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"packages": {
|
|
4
4
|
"@agimon-ai/po": {
|
|
5
|
-
"version": "0.0.0-alpha.
|
|
5
|
+
"version": "0.0.0-alpha.28",
|
|
6
6
|
"dependencies": [
|
|
7
7
|
"@agimon-ai/po-artifact",
|
|
8
8
|
"@agimon-ai/po-autostop",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
26
|
"@agimon-ai/po-artifact": {
|
|
27
|
-
"version": "0.0.0-alpha.
|
|
27
|
+
"version": "0.0.0-alpha.26",
|
|
28
28
|
"dependencies": [
|
|
29
29
|
"@agimon-ai/po-core",
|
|
30
30
|
"@agimon-ai/po-web-components",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
34
|
"@agimon-ai/po-author": {
|
|
35
|
-
"version": "0.0.0-alpha.
|
|
35
|
+
"version": "0.0.0-alpha.27",
|
|
36
36
|
"dependencies": [
|
|
37
37
|
"@agimon-ai/po-artifact",
|
|
38
38
|
"@agimon-ai/po-core",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
]
|
|
43
43
|
},
|
|
44
44
|
"@agimon-ai/po-autocompact": {
|
|
45
|
-
"version": "0.0.0-alpha.
|
|
45
|
+
"version": "0.0.0-alpha.27",
|
|
46
46
|
"dependencies": [
|
|
47
47
|
"@agimon-ai/po-artifact",
|
|
48
48
|
"@agimon-ai/po-config",
|
|
@@ -51,25 +51,25 @@
|
|
|
51
51
|
]
|
|
52
52
|
},
|
|
53
53
|
"@agimon-ai/po-autostop": {
|
|
54
|
-
"version": "0.0.0-alpha.
|
|
54
|
+
"version": "0.0.0-alpha.27",
|
|
55
55
|
"dependencies": [
|
|
56
56
|
"@agimon-ai/po-core",
|
|
57
57
|
"@agimon-ai/po-telemetry"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
"@agimon-ai/po-browse": {
|
|
61
|
-
"version": "0.0.1-alpha.
|
|
61
|
+
"version": "0.0.1-alpha.25",
|
|
62
62
|
"dependencies": [
|
|
63
63
|
"@agimon-ai/po-core",
|
|
64
64
|
"@agimon-ai/po-web-components"
|
|
65
65
|
]
|
|
66
66
|
},
|
|
67
67
|
"@agimon-ai/po-build": {
|
|
68
|
-
"version": "0.0.0-alpha.
|
|
68
|
+
"version": "0.0.0-alpha.27",
|
|
69
69
|
"dependencies": []
|
|
70
70
|
},
|
|
71
71
|
"@agimon-ai/po-cache": {
|
|
72
|
-
"version": "0.0.0-alpha.
|
|
72
|
+
"version": "0.0.0-alpha.27",
|
|
73
73
|
"dependencies": [
|
|
74
74
|
"@agimon-ai/po-config",
|
|
75
75
|
"@agimon-ai/po-core",
|
|
@@ -77,11 +77,17 @@
|
|
|
77
77
|
]
|
|
78
78
|
},
|
|
79
79
|
"@agimon-ai/po-claude-bridge": {
|
|
80
|
-
"version": "0.1.1-alpha.
|
|
80
|
+
"version": "0.1.1-alpha.7",
|
|
81
81
|
"dependencies": []
|
|
82
82
|
},
|
|
83
|
+
"@agimon-ai/po-codemode": {
|
|
84
|
+
"version": "0.0.1-alpha.0",
|
|
85
|
+
"dependencies": [
|
|
86
|
+
"@agimon-ai/po-core"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
83
89
|
"@agimon-ai/po-computer-use": {
|
|
84
|
-
"version": "0.0.0-alpha.
|
|
90
|
+
"version": "0.0.0-alpha.27",
|
|
85
91
|
"dependencies": [
|
|
86
92
|
"@agimon-ai/po-config",
|
|
87
93
|
"@agimon-ai/po-core",
|
|
@@ -91,7 +97,7 @@
|
|
|
91
97
|
]
|
|
92
98
|
},
|
|
93
99
|
"@agimon-ai/po-config": {
|
|
94
|
-
"version": "0.0.0-alpha.
|
|
100
|
+
"version": "0.0.0-alpha.27",
|
|
95
101
|
"dependencies": [
|
|
96
102
|
"@agimon-ai/po-core",
|
|
97
103
|
"@agimon-ai/po-telemetry",
|
|
@@ -99,14 +105,14 @@
|
|
|
99
105
|
]
|
|
100
106
|
},
|
|
101
107
|
"@agimon-ai/po-core": {
|
|
102
|
-
"version": "0.0.0-alpha.
|
|
108
|
+
"version": "0.0.0-alpha.27",
|
|
103
109
|
"dependencies": [
|
|
104
110
|
"@agimon-ai/po-telemetry",
|
|
105
111
|
"@agimon-ai/po-web-security"
|
|
106
112
|
]
|
|
107
113
|
},
|
|
108
114
|
"@agimon-ai/po-domain": {
|
|
109
|
-
"version": "0.0.0-alpha.
|
|
115
|
+
"version": "0.0.0-alpha.27",
|
|
110
116
|
"dependencies": [
|
|
111
117
|
"@agimon-ai/po-config",
|
|
112
118
|
"@agimon-ai/po-core",
|
|
@@ -115,7 +121,7 @@
|
|
|
115
121
|
]
|
|
116
122
|
},
|
|
117
123
|
"@agimon-ai/po-edit": {
|
|
118
|
-
"version": "0.0.0-alpha.
|
|
124
|
+
"version": "0.0.0-alpha.27",
|
|
119
125
|
"dependencies": [
|
|
120
126
|
"@agimon-ai/po-core",
|
|
121
127
|
"@agimon-ai/po-hashline",
|
|
@@ -124,7 +130,7 @@
|
|
|
124
130
|
]
|
|
125
131
|
},
|
|
126
132
|
"@agimon-ai/po-file-edit": {
|
|
127
|
-
"version": "0.0.0-alpha.
|
|
133
|
+
"version": "0.0.0-alpha.27",
|
|
128
134
|
"dependencies": [
|
|
129
135
|
"@agimon-ai/po-config",
|
|
130
136
|
"@agimon-ai/po-core",
|
|
@@ -135,7 +141,7 @@
|
|
|
135
141
|
]
|
|
136
142
|
},
|
|
137
143
|
"@agimon-ai/po-git": {
|
|
138
|
-
"version": "0.0.0-alpha.
|
|
144
|
+
"version": "0.0.0-alpha.27",
|
|
139
145
|
"dependencies": [
|
|
140
146
|
"@agimon-ai/po-core",
|
|
141
147
|
"@agimon-ai/po-session",
|
|
@@ -144,7 +150,7 @@
|
|
|
144
150
|
]
|
|
145
151
|
},
|
|
146
152
|
"@agimon-ai/po-goal": {
|
|
147
|
-
"version": "0.0.0-alpha.
|
|
153
|
+
"version": "0.0.0-alpha.27",
|
|
148
154
|
"dependencies": [
|
|
149
155
|
"@agimon-ai/po-core",
|
|
150
156
|
"@agimon-ai/po-minor-mode",
|
|
@@ -153,7 +159,7 @@
|
|
|
153
159
|
]
|
|
154
160
|
},
|
|
155
161
|
"@agimon-ai/po-grep": {
|
|
156
|
-
"version": "0.0.0-alpha.
|
|
162
|
+
"version": "0.0.0-alpha.27",
|
|
157
163
|
"dependencies": [
|
|
158
164
|
"@agimon-ai/po-core",
|
|
159
165
|
"@agimon-ai/po-hashline",
|
|
@@ -162,11 +168,11 @@
|
|
|
162
168
|
]
|
|
163
169
|
},
|
|
164
170
|
"@agimon-ai/po-hashline": {
|
|
165
|
-
"version": "0.0.0-alpha.
|
|
171
|
+
"version": "0.0.0-alpha.27",
|
|
166
172
|
"dependencies": []
|
|
167
173
|
},
|
|
168
174
|
"@agimon-ai/po-help": {
|
|
169
|
-
"version": "0.0.0-alpha.
|
|
175
|
+
"version": "0.0.0-alpha.27",
|
|
170
176
|
"dependencies": [
|
|
171
177
|
"@agimon-ai/po-core",
|
|
172
178
|
"@agimon-ai/po-minor-mode",
|
|
@@ -174,7 +180,7 @@
|
|
|
174
180
|
]
|
|
175
181
|
},
|
|
176
182
|
"@agimon-ai/po-hook": {
|
|
177
|
-
"version": "0.0.0-alpha.
|
|
183
|
+
"version": "0.0.0-alpha.27",
|
|
178
184
|
"dependencies": [
|
|
179
185
|
"@agimon-ai/po-config",
|
|
180
186
|
"@agimon-ai/po-core",
|
|
@@ -182,7 +188,7 @@
|
|
|
182
188
|
]
|
|
183
189
|
},
|
|
184
190
|
"@agimon-ai/po-image-gen": {
|
|
185
|
-
"version": "0.0.0-alpha.
|
|
191
|
+
"version": "0.0.0-alpha.26",
|
|
186
192
|
"dependencies": [
|
|
187
193
|
"@agimon-ai/po-core",
|
|
188
194
|
"@agimon-ai/po-web-components",
|
|
@@ -190,7 +196,7 @@
|
|
|
190
196
|
]
|
|
191
197
|
},
|
|
192
198
|
"@agimon-ai/po-log": {
|
|
193
|
-
"version": "0.0.0-alpha.
|
|
199
|
+
"version": "0.0.0-alpha.27",
|
|
194
200
|
"dependencies": [
|
|
195
201
|
"@agimon-ai/po-core",
|
|
196
202
|
"@agimon-ai/po-telemetry",
|
|
@@ -199,7 +205,7 @@
|
|
|
199
205
|
]
|
|
200
206
|
},
|
|
201
207
|
"@agimon-ai/po-loop": {
|
|
202
|
-
"version": "0.0.0-alpha.
|
|
208
|
+
"version": "0.0.0-alpha.27",
|
|
203
209
|
"dependencies": [
|
|
204
210
|
"@agimon-ai/po-core",
|
|
205
211
|
"@agimon-ai/po-minor-mode",
|
|
@@ -208,7 +214,7 @@
|
|
|
208
214
|
]
|
|
209
215
|
},
|
|
210
216
|
"@agimon-ai/po-major-mode": {
|
|
211
|
-
"version": "0.0.0-alpha.
|
|
217
|
+
"version": "0.0.0-alpha.27",
|
|
212
218
|
"dependencies": [
|
|
213
219
|
"@agimon-ai/po-config",
|
|
214
220
|
"@agimon-ai/po-core",
|
|
@@ -217,7 +223,7 @@
|
|
|
217
223
|
]
|
|
218
224
|
},
|
|
219
225
|
"@agimon-ai/po-mcp": {
|
|
220
|
-
"version": "0.0.0-alpha.
|
|
226
|
+
"version": "0.0.0-alpha.27",
|
|
221
227
|
"dependencies": [
|
|
222
228
|
"@agimon-ai/po-config",
|
|
223
229
|
"@agimon-ai/po-core",
|
|
@@ -227,37 +233,37 @@
|
|
|
227
233
|
]
|
|
228
234
|
},
|
|
229
235
|
"@agimon-ai/po-mcp-proxy": {
|
|
230
|
-
"version": "0.0.1-alpha.
|
|
236
|
+
"version": "0.0.1-alpha.6",
|
|
231
237
|
"dependencies": []
|
|
232
238
|
},
|
|
233
239
|
"@agimon-ai/po-minor-mode": {
|
|
234
|
-
"version": "0.0.0-alpha.
|
|
240
|
+
"version": "0.0.0-alpha.27",
|
|
235
241
|
"dependencies": [
|
|
236
242
|
"@agimon-ai/po-core",
|
|
237
243
|
"@agimon-ai/po-telemetry"
|
|
238
244
|
]
|
|
239
245
|
},
|
|
240
246
|
"@agimon-ai/po-model-guidance": {
|
|
241
|
-
"version": "0.0.0-alpha.
|
|
247
|
+
"version": "0.0.0-alpha.27",
|
|
242
248
|
"dependencies": [
|
|
243
249
|
"@agimon-ai/po-config",
|
|
244
250
|
"@agimon-ai/po-core"
|
|
245
251
|
]
|
|
246
252
|
},
|
|
247
253
|
"@agimon-ai/po-native-components": {
|
|
248
|
-
"version": "0.0.0-alpha.
|
|
254
|
+
"version": "0.0.0-alpha.27",
|
|
249
255
|
"dependencies": [
|
|
250
256
|
"@agimon-ai/po-web-components"
|
|
251
257
|
]
|
|
252
258
|
},
|
|
253
259
|
"@agimon-ai/po-notification": {
|
|
254
|
-
"version": "0.0.0-alpha.
|
|
260
|
+
"version": "0.0.0-alpha.27",
|
|
255
261
|
"dependencies": [
|
|
256
262
|
"@agimon-ai/po-core"
|
|
257
263
|
]
|
|
258
264
|
},
|
|
259
265
|
"@agimon-ai/po-plan": {
|
|
260
|
-
"version": "0.0.0-alpha.
|
|
266
|
+
"version": "0.0.0-alpha.27",
|
|
261
267
|
"dependencies": [
|
|
262
268
|
"@agimon-ai/po-config",
|
|
263
269
|
"@agimon-ai/po-core",
|
|
@@ -268,7 +274,7 @@
|
|
|
268
274
|
]
|
|
269
275
|
},
|
|
270
276
|
"@agimon-ai/po-profile": {
|
|
271
|
-
"version": "0.0.0-alpha.
|
|
277
|
+
"version": "0.0.0-alpha.27",
|
|
272
278
|
"dependencies": [
|
|
273
279
|
"@agimon-ai/po-config",
|
|
274
280
|
"@agimon-ai/po-core",
|
|
@@ -277,7 +283,7 @@
|
|
|
277
283
|
]
|
|
278
284
|
},
|
|
279
285
|
"@agimon-ai/po-prompt": {
|
|
280
|
-
"version": "0.0.0-alpha.
|
|
286
|
+
"version": "0.0.0-alpha.27",
|
|
281
287
|
"dependencies": [
|
|
282
288
|
"@agimon-ai/po-core",
|
|
283
289
|
"@agimon-ai/po-web-components",
|
|
@@ -285,7 +291,7 @@
|
|
|
285
291
|
]
|
|
286
292
|
},
|
|
287
293
|
"@agimon-ai/po-read": {
|
|
288
|
-
"version": "0.0.0-alpha.
|
|
294
|
+
"version": "0.0.0-alpha.27",
|
|
289
295
|
"dependencies": [
|
|
290
296
|
"@agimon-ai/po-config",
|
|
291
297
|
"@agimon-ai/po-core",
|
|
@@ -295,7 +301,7 @@
|
|
|
295
301
|
]
|
|
296
302
|
},
|
|
297
303
|
"@agimon-ai/po-runner": {
|
|
298
|
-
"version": "0.0.0-alpha.
|
|
304
|
+
"version": "0.0.0-alpha.27",
|
|
299
305
|
"dependencies": [
|
|
300
306
|
"@agimon-ai/po-core",
|
|
301
307
|
"@agimon-ai/po-telemetry",
|
|
@@ -305,19 +311,19 @@
|
|
|
305
311
|
]
|
|
306
312
|
},
|
|
307
313
|
"@agimon-ai/po-sandbox": {
|
|
308
|
-
"version": "0.0.0-alpha.
|
|
314
|
+
"version": "0.0.0-alpha.27",
|
|
309
315
|
"dependencies": [
|
|
310
316
|
"@agimon-ai/po-core"
|
|
311
317
|
]
|
|
312
318
|
},
|
|
313
319
|
"@agimon-ai/po-session": {
|
|
314
|
-
"version": "0.0.0-alpha.
|
|
320
|
+
"version": "0.0.0-alpha.27",
|
|
315
321
|
"dependencies": [
|
|
316
322
|
"@agimon-ai/po-core"
|
|
317
323
|
]
|
|
318
324
|
},
|
|
319
325
|
"@agimon-ai/po-skill": {
|
|
320
|
-
"version": "0.0.0-alpha.
|
|
326
|
+
"version": "0.0.0-alpha.27",
|
|
321
327
|
"dependencies": [
|
|
322
328
|
"@agimon-ai/po-config",
|
|
323
329
|
"@agimon-ai/po-core",
|
|
@@ -327,7 +333,7 @@
|
|
|
327
333
|
]
|
|
328
334
|
},
|
|
329
335
|
"@agimon-ai/po-style-system": {
|
|
330
|
-
"version": "0.0.0-alpha.
|
|
336
|
+
"version": "0.0.0-alpha.27",
|
|
331
337
|
"dependencies": [
|
|
332
338
|
"@agimon-ai/po-core",
|
|
333
339
|
"@agimon-ai/po-web-components",
|
|
@@ -335,7 +341,7 @@
|
|
|
335
341
|
]
|
|
336
342
|
},
|
|
337
343
|
"@agimon-ai/po-task": {
|
|
338
|
-
"version": "0.0.0-alpha.
|
|
344
|
+
"version": "0.0.0-alpha.27",
|
|
339
345
|
"dependencies": [
|
|
340
346
|
"@agimon-ai/po-core",
|
|
341
347
|
"@agimon-ai/po-telemetry",
|
|
@@ -344,7 +350,7 @@
|
|
|
344
350
|
]
|
|
345
351
|
},
|
|
346
352
|
"@agimon-ai/po-team": {
|
|
347
|
-
"version": "0.0.0-alpha.
|
|
353
|
+
"version": "0.0.0-alpha.27",
|
|
348
354
|
"dependencies": [
|
|
349
355
|
"@agimon-ai/po-cache",
|
|
350
356
|
"@agimon-ai/po-config",
|
|
@@ -357,11 +363,11 @@
|
|
|
357
363
|
]
|
|
358
364
|
},
|
|
359
365
|
"@agimon-ai/po-telemetry": {
|
|
360
|
-
"version": "0.0.0-alpha.
|
|
366
|
+
"version": "0.0.0-alpha.27",
|
|
361
367
|
"dependencies": []
|
|
362
368
|
},
|
|
363
369
|
"@agimon-ai/po-template-advanced": {
|
|
364
|
-
"version": "0.0.0-alpha.
|
|
370
|
+
"version": "0.0.0-alpha.27",
|
|
365
371
|
"dependencies": [
|
|
366
372
|
"@agimon-ai/po-core",
|
|
367
373
|
"@agimon-ai/po-web-components",
|
|
@@ -369,7 +375,7 @@
|
|
|
369
375
|
]
|
|
370
376
|
},
|
|
371
377
|
"@agimon-ai/po-template-elegant": {
|
|
372
|
-
"version": "0.0.0-alpha.
|
|
378
|
+
"version": "0.0.0-alpha.27",
|
|
373
379
|
"dependencies": [
|
|
374
380
|
"@agimon-ai/po-core",
|
|
375
381
|
"@agimon-ai/po-web-components",
|
|
@@ -377,7 +383,7 @@
|
|
|
377
383
|
]
|
|
378
384
|
},
|
|
379
385
|
"@agimon-ai/po-ui": {
|
|
380
|
-
"version": "0.0.0-alpha.
|
|
386
|
+
"version": "0.0.0-alpha.27",
|
|
381
387
|
"dependencies": [
|
|
382
388
|
"@agimon-ai/po-core",
|
|
383
389
|
"@agimon-ai/po-hashline",
|
|
@@ -387,7 +393,7 @@
|
|
|
387
393
|
]
|
|
388
394
|
},
|
|
389
395
|
"@agimon-ai/po-user-feedback": {
|
|
390
|
-
"version": "0.0.0-alpha.
|
|
396
|
+
"version": "0.0.0-alpha.27",
|
|
391
397
|
"dependencies": [
|
|
392
398
|
"@agimon-ai/po-core",
|
|
393
399
|
"@agimon-ai/po-minor-mode",
|
|
@@ -396,7 +402,7 @@
|
|
|
396
402
|
]
|
|
397
403
|
},
|
|
398
404
|
"@agimon-ai/po-voice": {
|
|
399
|
-
"version": "0.0.0-alpha.
|
|
405
|
+
"version": "0.0.0-alpha.27",
|
|
400
406
|
"dependencies": [
|
|
401
407
|
"@agimon-ai/po-config",
|
|
402
408
|
"@agimon-ai/po-core",
|
|
@@ -409,11 +415,11 @@
|
|
|
409
415
|
]
|
|
410
416
|
},
|
|
411
417
|
"@agimon-ai/po-web-components": {
|
|
412
|
-
"version": "0.0.0-alpha.
|
|
418
|
+
"version": "0.0.0-alpha.27",
|
|
413
419
|
"dependencies": []
|
|
414
420
|
},
|
|
415
421
|
"@agimon-ai/po-web-dashboard": {
|
|
416
|
-
"version": "0.0.0-alpha.
|
|
422
|
+
"version": "0.0.0-alpha.27",
|
|
417
423
|
"dependencies": [
|
|
418
424
|
"@agimon-ai/po-core",
|
|
419
425
|
"@agimon-ai/po-web-components",
|
|
@@ -421,18 +427,18 @@
|
|
|
421
427
|
]
|
|
422
428
|
},
|
|
423
429
|
"@agimon-ai/po-web-search": {
|
|
424
|
-
"version": "0.0.0-alpha.
|
|
430
|
+
"version": "0.0.0-alpha.26",
|
|
425
431
|
"dependencies": [
|
|
426
432
|
"@agimon-ai/po-core",
|
|
427
433
|
"@agimon-ai/po-web-components"
|
|
428
434
|
]
|
|
429
435
|
},
|
|
430
436
|
"@agimon-ai/po-web-security": {
|
|
431
|
-
"version": "0.0.0-alpha.
|
|
437
|
+
"version": "0.0.0-alpha.27",
|
|
432
438
|
"dependencies": []
|
|
433
439
|
},
|
|
434
440
|
"@agimon-ai/po-workflow": {
|
|
435
|
-
"version": "0.0.0-alpha.
|
|
441
|
+
"version": "0.0.0-alpha.27",
|
|
436
442
|
"dependencies": [
|
|
437
443
|
"@agimon-ai/po-core",
|
|
438
444
|
"@agimon-ai/po-minor-mode",
|
|
@@ -447,6 +453,7 @@
|
|
|
447
453
|
"@agimon-ai/po-author",
|
|
448
454
|
"@agimon-ai/po-autocompact",
|
|
449
455
|
"@agimon-ai/po-browse",
|
|
456
|
+
"@agimon-ai/po-codemode",
|
|
450
457
|
"@agimon-ai/po-computer-use",
|
|
451
458
|
"@agimon-ai/po-edit",
|
|
452
459
|
"@agimon-ai/po-file-edit",
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let magic_string = require("magic-string");
|
|
3
|
+
magic_string = require_runtime.__toESM(magic_string, 1);
|
|
4
|
+
let rolldown_parseAst = require("rolldown/parseAst");
|
|
5
|
+
let rolldown_utils = require("rolldown/utils");
|
|
6
|
+
//#region src/builders/isolate/compile.ts
|
|
7
|
+
/** Called at the top of every loop body and function body; throws once the run must stop. */
|
|
8
|
+
const GUARD_NAME = "__po_g";
|
|
9
|
+
/** Every `import(x)` becomes a call to this host function, which loads another script body. */
|
|
10
|
+
const IMPORT_NAME = "__po_import";
|
|
11
|
+
const MAX_SOURCE_CHARS = 65536;
|
|
12
|
+
const GUARD_CALL = `${GUARD_NAME}();`;
|
|
13
|
+
const LOOP_TYPES = /* @__PURE__ */ new Set([
|
|
14
|
+
"WhileStatement",
|
|
15
|
+
"DoWhileStatement",
|
|
16
|
+
"ForStatement",
|
|
17
|
+
"ForInStatement",
|
|
18
|
+
"ForOfStatement"
|
|
19
|
+
]);
|
|
20
|
+
const FUNCTION_TYPES = /* @__PURE__ */ new Set([
|
|
21
|
+
"FunctionDeclaration",
|
|
22
|
+
"FunctionExpression",
|
|
23
|
+
"ArrowFunctionExpression"
|
|
24
|
+
]);
|
|
25
|
+
const BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
26
|
+
/** How a body is wrapped: the exec script runs at once, an imported one becomes a function of `args`. */
|
|
27
|
+
const WRAPPERS = {
|
|
28
|
+
main: ["(async function __po_main(){", "\n})()"],
|
|
29
|
+
import: ["(async function (args){", "\n})"]
|
|
30
|
+
};
|
|
31
|
+
var ScriptCompileError = class extends Error {
|
|
32
|
+
name = "SyntaxError";
|
|
33
|
+
};
|
|
34
|
+
function isNode(value) {
|
|
35
|
+
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
36
|
+
}
|
|
37
|
+
/** The first source line each generated line maps to, from a v3 source map's `mappings`. */
|
|
38
|
+
function sourceLines(mappings) {
|
|
39
|
+
const lines = [];
|
|
40
|
+
let sourceLine = 0;
|
|
41
|
+
for (const group of mappings.split(";")) {
|
|
42
|
+
let first;
|
|
43
|
+
for (const segment of group.split(",")) {
|
|
44
|
+
const fields = [];
|
|
45
|
+
let value = 0;
|
|
46
|
+
let shift = 0;
|
|
47
|
+
for (const char of segment) {
|
|
48
|
+
const digit = BASE64.indexOf(char);
|
|
49
|
+
value += (digit & 31) << shift;
|
|
50
|
+
if (digit & 32) shift += 5;
|
|
51
|
+
else {
|
|
52
|
+
fields.push(value & 1 ? -(value >>> 1) : value >>> 1);
|
|
53
|
+
value = 0;
|
|
54
|
+
shift = 0;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (fields.length < 4) continue;
|
|
58
|
+
sourceLine += fields[2];
|
|
59
|
+
first ??= sourceLine + 1;
|
|
60
|
+
}
|
|
61
|
+
lines.push(first);
|
|
62
|
+
}
|
|
63
|
+
return lines;
|
|
64
|
+
}
|
|
65
|
+
function insertGuards(code, program) {
|
|
66
|
+
const output = new magic_string.default(code);
|
|
67
|
+
const visit = (node) => {
|
|
68
|
+
if (node.type === "ImportExpression") output.overwrite(node.start, node.start + 6, IMPORT_NAME, { contentOnly: true });
|
|
69
|
+
if (LOOP_TYPES.has(node.type) && isNode(node.body)) {
|
|
70
|
+
const body = node.body;
|
|
71
|
+
if (body.type === "BlockStatement") output.appendLeft(body.start + 1, GUARD_CALL);
|
|
72
|
+
else {
|
|
73
|
+
output.prependRight(body.start, `{${GUARD_CALL}`);
|
|
74
|
+
output.appendLeft(body.end, "}");
|
|
75
|
+
}
|
|
76
|
+
} else if (node.type === "StaticBlock") output.appendLeft(code.indexOf("{", node.start) + 1, GUARD_CALL);
|
|
77
|
+
else if (FUNCTION_TYPES.has(node.type) && isNode(node.body)) {
|
|
78
|
+
const body = node.body;
|
|
79
|
+
if (node.type === "ArrowFunctionExpression" && node.expression) {
|
|
80
|
+
output.prependRight(body.start, `(${GUARD_NAME}(),`);
|
|
81
|
+
output.appendLeft(body.end, ")");
|
|
82
|
+
} else output.appendLeft(body.start + 1, GUARD_CALL);
|
|
83
|
+
}
|
|
84
|
+
for (const [key, value] of Object.entries(node)) {
|
|
85
|
+
if (key === "parent") continue;
|
|
86
|
+
if (Array.isArray(value)) {
|
|
87
|
+
for (const child of value) if (isNode(child)) visit(child);
|
|
88
|
+
}
|
|
89
|
+
if (isNode(value)) visit(value);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
visit(program);
|
|
93
|
+
return output.toString();
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Turns a model-written TypeScript body into guarded JavaScript whose loops and functions call the
|
|
97
|
+
* guard, so a runaway script stops even after an `await`. `main` runs the body as an async IIFE;
|
|
98
|
+
* `import` evaluates to an async function of `args`. Lines of the body stay on the wrapper's line.
|
|
99
|
+
*/
|
|
100
|
+
function compileModule(source, kind = "main") {
|
|
101
|
+
if (source.length > MAX_SOURCE_CHARS) throw new ScriptCompileError(`Script exceeds ${MAX_SOURCE_CHARS} characters.`);
|
|
102
|
+
for (const name of [GUARD_NAME, IMPORT_NAME]) if (source.includes(name)) throw new ScriptCompileError(`"${name}" is reserved.`);
|
|
103
|
+
const [before, after] = WRAPPERS[kind];
|
|
104
|
+
const stripped = (0, rolldown_utils.transformSync)("script.ts", `${before}${source}${after}`, {
|
|
105
|
+
lang: "ts",
|
|
106
|
+
sourceType: "script",
|
|
107
|
+
target: "es2022",
|
|
108
|
+
sourcemap: true
|
|
109
|
+
});
|
|
110
|
+
if (stripped.errors.length > 0) throw new ScriptCompileError(stripped.errors.map((error) => error.message).join("\n"));
|
|
111
|
+
let program;
|
|
112
|
+
try {
|
|
113
|
+
program = (0, rolldown_parseAst.parseAst)(stripped.code, {
|
|
114
|
+
lang: "js",
|
|
115
|
+
sourceType: "script"
|
|
116
|
+
}, "script.js");
|
|
117
|
+
} catch (error) {
|
|
118
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
119
|
+
if (/import statement/u.test(message)) throw new ScriptCompileError("Static import statements are not supported; use await import(...) instead.");
|
|
120
|
+
throw new ScriptCompileError(message);
|
|
121
|
+
}
|
|
122
|
+
const lines = sourceLines(stripped.map?.mappings ?? "");
|
|
123
|
+
return {
|
|
124
|
+
code: insertGuards(stripped.code, program),
|
|
125
|
+
lineOf: (line) => lines[line - 1]
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
exports.GUARD_NAME = GUARD_NAME;
|
|
130
|
+
exports.IMPORT_NAME = IMPORT_NAME;
|
|
131
|
+
exports.ScriptCompileError = ScriptCompileError;
|
|
132
|
+
exports.compileModule = compileModule;
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=compile.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.cjs","names":["MagicString","transformSync","parseAst"],"sources":["../../../../src/builders/isolate/compile.ts"],"sourcesContent":["import MagicString from 'magic-string';\nimport { parseAst } from 'rolldown/parseAst';\nimport { transformSync } from 'rolldown/utils';\n\n/** Called at the top of every loop body and function body; throws once the run must stop. */\nexport const GUARD_NAME = '__po_g';\n/** Every `import(x)` becomes a call to this host function, which loads another script body. */\nexport const IMPORT_NAME = '__po_import';\n\nconst MAX_SOURCE_CHARS = 64 * 1024;\nconst GUARD_CALL = `${GUARD_NAME}();`;\nconst LOOP_TYPES = new Set(['WhileStatement', 'DoWhileStatement', 'ForStatement', 'ForInStatement', 'ForOfStatement']);\nconst FUNCTION_TYPES = new Set(['FunctionDeclaration', 'FunctionExpression', 'ArrowFunctionExpression']);\nconst IMPORT_KEYWORD = 'import';\nconst BASE64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n/** How a body is wrapped: the exec script runs at once, an imported one becomes a function of `args`. */\nconst WRAPPERS = {\n main: ['(async function __po_main(){', '\\n})()'],\n import: ['(async function (args){', '\\n})'],\n} as const;\n\nexport class ScriptCompileError extends Error {\n override readonly name = 'SyntaxError';\n}\n\ninterface AstNode {\n readonly type: string;\n readonly start: number;\n readonly end: number;\n readonly body?: AstNode | readonly AstNode[];\n readonly expression?: boolean;\n readonly [key: string]: unknown;\n}\n\nfunction isNode(value: unknown): value is AstNode {\n return typeof value === 'object' && value !== null && typeof (value as { type?: unknown }).type === 'string';\n}\n\nexport interface CompiledScript {\n readonly code: string;\n /** 1-based line in the submitted body for a 1-based line of `code`, when known. */\n readonly lineOf: (line: number) => number | undefined;\n}\n\n/** The first source line each generated line maps to, from a v3 source map's `mappings`. */\nfunction sourceLines(mappings: string): (number | undefined)[] {\n const lines: (number | undefined)[] = [];\n let sourceLine = 0;\n for (const group of mappings.split(';')) {\n let first: number | undefined;\n for (const segment of group.split(',')) {\n const fields: number[] = [];\n let value = 0;\n let shift = 0;\n for (const char of segment) {\n const digit = BASE64.indexOf(char);\n value += (digit & 31) << shift;\n if (digit & 32) shift += 5;\n else {\n fields.push(value & 1 ? -(value >>> 1) : value >>> 1);\n value = 0;\n shift = 0;\n }\n }\n if (fields.length < 4) continue;\n sourceLine += fields[2] as number;\n first ??= sourceLine + 1;\n }\n lines.push(first);\n }\n return lines;\n}\n\nfunction insertGuards(code: string, program: AstNode): string {\n const output = new MagicString(code);\n const visit = (node: AstNode): void => {\n if (node.type === 'ImportExpression') {\n output.overwrite(node.start, node.start + IMPORT_KEYWORD.length, IMPORT_NAME, { contentOnly: true });\n }\n if (LOOP_TYPES.has(node.type) && isNode(node.body)) {\n const body = node.body;\n if (body.type === 'BlockStatement') output.appendLeft(body.start + 1, GUARD_CALL);\n else {\n output.prependRight(body.start, `{${GUARD_CALL}`);\n output.appendLeft(body.end, '}');\n }\n } else if (node.type === 'StaticBlock') {\n output.appendLeft(code.indexOf('{', node.start) + 1, GUARD_CALL);\n } else if (FUNCTION_TYPES.has(node.type) && isNode(node.body)) {\n const body = node.body;\n if (node.type === 'ArrowFunctionExpression' && node.expression) {\n output.prependRight(body.start, `(${GUARD_NAME}(),`);\n output.appendLeft(body.end, ')');\n } else output.appendLeft(body.start + 1, GUARD_CALL);\n }\n for (const [key, value] of Object.entries(node)) {\n if (key === 'parent') continue;\n if (Array.isArray(value)) for (const child of value) if (isNode(child)) visit(child);\n if (isNode(value)) visit(value);\n }\n };\n visit(program);\n return output.toString();\n}\n\n/**\n * Turns a model-written TypeScript body into guarded JavaScript whose loops and functions call the\n * guard, so a runaway script stops even after an `await`. `main` runs the body as an async IIFE;\n * `import` evaluates to an async function of `args`. Lines of the body stay on the wrapper's line.\n */\nexport function compileModule(source: string, kind: keyof typeof WRAPPERS = 'main'): CompiledScript {\n if (source.length > MAX_SOURCE_CHARS) throw new ScriptCompileError(`Script exceeds ${MAX_SOURCE_CHARS} characters.`);\n for (const name of [GUARD_NAME, IMPORT_NAME]) {\n if (source.includes(name)) throw new ScriptCompileError(`\"${name}\" is reserved.`);\n }\n const [before, after] = WRAPPERS[kind];\n const stripped = transformSync('script.ts', `${before}${source}${after}`, {\n lang: 'ts',\n sourceType: 'script',\n target: 'es2022',\n sourcemap: true,\n });\n if (stripped.errors.length > 0) {\n throw new ScriptCompileError(stripped.errors.map((error) => error.message).join('\\n'));\n }\n let program: AstNode;\n try {\n program = parseAst(stripped.code, { lang: 'js', sourceType: 'script' }, 'script.js') as unknown as AstNode;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n if (/import statement/u.test(message)) {\n throw new ScriptCompileError('Static import statements are not supported; use await import(...) instead.');\n }\n throw new ScriptCompileError(message);\n }\n const lines = sourceLines(stripped.map?.mappings ?? '');\n return { code: insertGuards(stripped.code, program), lineOf: (line) => lines[line - 1] };\n}\n\n/** The guarded JavaScript of an exec body. */\nexport function compileScript(source: string): string {\n return compileModule(source).code;\n}\n"],"mappings":"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"}
|