@agimon-ai/po 0.0.0-alpha.121 → 0.0.0-alpha.122
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 +66 -59
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +1 -1
- package/dist/src/builders/server/network.cjs +100 -0
- package/dist/src/builders/server/network.cjs.map +1 -1
- package/dist/src/builders/server/network.mjs +100 -0
- package/dist/src/builders/server/network.mjs.map +1 -1
- package/dist/src/builders/server/runtime.cjs +23 -0
- package/dist/src/builders/server/runtime.cjs.map +1 -1
- package/dist/src/builders/server/runtime.mjs +24 -1
- package/dist/src/builders/server/runtime.mjs.map +1 -1
- package/package.json +27 -27
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.122",
|
|
6
6
|
"dependencies": [
|
|
7
7
|
"@agimon-ai/po-approval",
|
|
8
8
|
"@agimon-ai/po-artifact",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
30
|
"@agimon-ai/po-approval": {
|
|
31
|
-
"version": "0.0.0-alpha.
|
|
31
|
+
"version": "0.0.0-alpha.121",
|
|
32
32
|
"dependencies": [
|
|
33
33
|
"@agimon-ai/po-core",
|
|
34
34
|
"@agimon-ai/po-web-components"
|
|
35
35
|
]
|
|
36
36
|
},
|
|
37
37
|
"@agimon-ai/po-artifact": {
|
|
38
|
-
"version": "0.0.0-alpha.
|
|
38
|
+
"version": "0.0.0-alpha.120",
|
|
39
39
|
"dependencies": [
|
|
40
40
|
"@agimon-ai/po-core",
|
|
41
41
|
"@agimon-ai/po-web-components",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"@agimon-ai/po-author": {
|
|
46
|
-
"version": "0.0.0-alpha.
|
|
46
|
+
"version": "0.0.0-alpha.121",
|
|
47
47
|
"dependencies": [
|
|
48
48
|
"@agimon-ai/po-artifact",
|
|
49
49
|
"@agimon-ai/po-core",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
]
|
|
54
54
|
},
|
|
55
55
|
"@agimon-ai/po-autocompact": {
|
|
56
|
-
"version": "0.0.0-alpha.
|
|
56
|
+
"version": "0.0.0-alpha.121",
|
|
57
57
|
"dependencies": [
|
|
58
58
|
"@agimon-ai/po-artifact",
|
|
59
59
|
"@agimon-ai/po-config",
|
|
@@ -62,13 +62,13 @@
|
|
|
62
62
|
]
|
|
63
63
|
},
|
|
64
64
|
"@agimon-ai/po-autostop": {
|
|
65
|
-
"version": "0.0.0-alpha.
|
|
65
|
+
"version": "0.0.0-alpha.121",
|
|
66
66
|
"dependencies": [
|
|
67
67
|
"@agimon-ai/po-core"
|
|
68
68
|
]
|
|
69
69
|
},
|
|
70
70
|
"@agimon-ai/po-browse": {
|
|
71
|
-
"version": "0.0.1-alpha.
|
|
71
|
+
"version": "0.0.1-alpha.119",
|
|
72
72
|
"dependencies": [
|
|
73
73
|
"@agimon-ai/po-config",
|
|
74
74
|
"@agimon-ai/po-core",
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
78
|
"@agimon-ai/po-build": {
|
|
79
|
-
"version": "0.0.0-alpha.
|
|
79
|
+
"version": "0.0.0-alpha.121",
|
|
80
80
|
"dependencies": []
|
|
81
81
|
},
|
|
82
82
|
"@agimon-ai/po-cache": {
|
|
83
|
-
"version": "0.0.0-alpha.
|
|
83
|
+
"version": "0.0.0-alpha.121",
|
|
84
84
|
"dependencies": [
|
|
85
85
|
"@agimon-ai/po-config",
|
|
86
86
|
"@agimon-ai/po-core",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
]
|
|
89
89
|
},
|
|
90
90
|
"@agimon-ai/po-calendar": {
|
|
91
|
-
"version": "0.0.1-alpha.
|
|
91
|
+
"version": "0.0.1-alpha.80",
|
|
92
92
|
"dependencies": [
|
|
93
93
|
"@agimon-ai/po-config",
|
|
94
94
|
"@agimon-ai/po-core",
|
|
@@ -100,11 +100,11 @@
|
|
|
100
100
|
]
|
|
101
101
|
},
|
|
102
102
|
"@agimon-ai/po-claude-bridge": {
|
|
103
|
-
"version": "0.1.1-alpha.
|
|
103
|
+
"version": "0.1.1-alpha.101",
|
|
104
104
|
"dependencies": []
|
|
105
105
|
},
|
|
106
106
|
"@agimon-ai/po-codemode": {
|
|
107
|
-
"version": "0.0.1-alpha.
|
|
107
|
+
"version": "0.0.1-alpha.94",
|
|
108
108
|
"dependencies": [
|
|
109
109
|
"@agimon-ai/po-config",
|
|
110
110
|
"@agimon-ai/po-core",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
]
|
|
113
113
|
},
|
|
114
114
|
"@agimon-ai/po-computer-use": {
|
|
115
|
-
"version": "0.0.0-alpha.
|
|
115
|
+
"version": "0.0.0-alpha.121",
|
|
116
116
|
"dependencies": [
|
|
117
117
|
"@agimon-ai/po-config",
|
|
118
118
|
"@agimon-ai/po-core",
|
|
@@ -122,26 +122,26 @@
|
|
|
122
122
|
]
|
|
123
123
|
},
|
|
124
124
|
"@agimon-ai/po-config": {
|
|
125
|
-
"version": "0.0.0-alpha.
|
|
125
|
+
"version": "0.0.0-alpha.121",
|
|
126
126
|
"dependencies": [
|
|
127
127
|
"@agimon-ai/po-core",
|
|
128
128
|
"@agimon-ai/po-web-components"
|
|
129
129
|
]
|
|
130
130
|
},
|
|
131
131
|
"@agimon-ai/po-core": {
|
|
132
|
-
"version": "0.0.0-alpha.
|
|
132
|
+
"version": "0.0.0-alpha.121",
|
|
133
133
|
"dependencies": [
|
|
134
134
|
"@agimon-ai/po-web-security"
|
|
135
135
|
]
|
|
136
136
|
},
|
|
137
137
|
"@agimon-ai/po-db": {
|
|
138
|
-
"version": "0.0.0-alpha.
|
|
138
|
+
"version": "0.0.0-alpha.121",
|
|
139
139
|
"dependencies": [
|
|
140
140
|
"@agimon-ai/po-core"
|
|
141
141
|
]
|
|
142
142
|
},
|
|
143
143
|
"@agimon-ai/po-domain": {
|
|
144
|
-
"version": "0.0.0-alpha.
|
|
144
|
+
"version": "0.0.0-alpha.121",
|
|
145
145
|
"dependencies": [
|
|
146
146
|
"@agimon-ai/po-config",
|
|
147
147
|
"@agimon-ai/po-core",
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
]
|
|
152
152
|
},
|
|
153
153
|
"@agimon-ai/po-edit": {
|
|
154
|
-
"version": "0.0.0-alpha.
|
|
154
|
+
"version": "0.0.0-alpha.121",
|
|
155
155
|
"dependencies": [
|
|
156
156
|
"@agimon-ai/po-core",
|
|
157
157
|
"@agimon-ai/po-hashline",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
]
|
|
161
161
|
},
|
|
162
162
|
"@agimon-ai/po-file-edit": {
|
|
163
|
-
"version": "0.0.0-alpha.
|
|
163
|
+
"version": "0.0.0-alpha.121",
|
|
164
164
|
"dependencies": [
|
|
165
165
|
"@agimon-ai/po-config",
|
|
166
166
|
"@agimon-ai/po-core",
|
|
@@ -169,8 +169,14 @@
|
|
|
169
169
|
"@agimon-ai/po-web-security"
|
|
170
170
|
]
|
|
171
171
|
},
|
|
172
|
+
"@agimon-ai/po-gateway": {
|
|
173
|
+
"version": "0.0.1-alpha.0",
|
|
174
|
+
"dependencies": [
|
|
175
|
+
"@agimon-ai/po-core"
|
|
176
|
+
]
|
|
177
|
+
},
|
|
172
178
|
"@agimon-ai/po-git": {
|
|
173
|
-
"version": "0.0.0-alpha.
|
|
179
|
+
"version": "0.0.0-alpha.121",
|
|
174
180
|
"dependencies": [
|
|
175
181
|
"@agimon-ai/po-core",
|
|
176
182
|
"@agimon-ai/po-session",
|
|
@@ -179,7 +185,7 @@
|
|
|
179
185
|
]
|
|
180
186
|
},
|
|
181
187
|
"@agimon-ai/po-goal": {
|
|
182
|
-
"version": "0.0.0-alpha.
|
|
188
|
+
"version": "0.0.0-alpha.121",
|
|
183
189
|
"dependencies": [
|
|
184
190
|
"@agimon-ai/po-core",
|
|
185
191
|
"@agimon-ai/po-minor-mode",
|
|
@@ -188,7 +194,7 @@
|
|
|
188
194
|
]
|
|
189
195
|
},
|
|
190
196
|
"@agimon-ai/po-grep": {
|
|
191
|
-
"version": "0.0.0-alpha.
|
|
197
|
+
"version": "0.0.0-alpha.121",
|
|
192
198
|
"dependencies": [
|
|
193
199
|
"@agimon-ai/po-core",
|
|
194
200
|
"@agimon-ai/po-hashline",
|
|
@@ -197,11 +203,11 @@
|
|
|
197
203
|
]
|
|
198
204
|
},
|
|
199
205
|
"@agimon-ai/po-hashline": {
|
|
200
|
-
"version": "0.0.0-alpha.
|
|
206
|
+
"version": "0.0.0-alpha.121",
|
|
201
207
|
"dependencies": []
|
|
202
208
|
},
|
|
203
209
|
"@agimon-ai/po-help": {
|
|
204
|
-
"version": "0.0.0-alpha.
|
|
210
|
+
"version": "0.0.0-alpha.121",
|
|
205
211
|
"dependencies": [
|
|
206
212
|
"@agimon-ai/po-core",
|
|
207
213
|
"@agimon-ai/po-minor-mode",
|
|
@@ -210,14 +216,14 @@
|
|
|
210
216
|
]
|
|
211
217
|
},
|
|
212
218
|
"@agimon-ai/po-identity": {
|
|
213
|
-
"version": "0.0.2-alpha.
|
|
219
|
+
"version": "0.0.2-alpha.68",
|
|
214
220
|
"dependencies": [
|
|
215
221
|
"@agimon-ai/po-core",
|
|
216
222
|
"@agimon-ai/po-web-security"
|
|
217
223
|
]
|
|
218
224
|
},
|
|
219
225
|
"@agimon-ai/po-image-gen": {
|
|
220
|
-
"version": "0.0.0-alpha.
|
|
226
|
+
"version": "0.0.0-alpha.120",
|
|
221
227
|
"dependencies": [
|
|
222
228
|
"@agimon-ai/po-core",
|
|
223
229
|
"@agimon-ai/po-web-components",
|
|
@@ -225,7 +231,7 @@
|
|
|
225
231
|
]
|
|
226
232
|
},
|
|
227
233
|
"@agimon-ai/po-ios": {
|
|
228
|
-
"version": "0.0.1-alpha.
|
|
234
|
+
"version": "0.0.1-alpha.56",
|
|
229
235
|
"dependencies": [
|
|
230
236
|
"@agimon-ai/po-artifact",
|
|
231
237
|
"@agimon-ai/po-config",
|
|
@@ -235,7 +241,7 @@
|
|
|
235
241
|
]
|
|
236
242
|
},
|
|
237
243
|
"@agimon-ai/po-log": {
|
|
238
|
-
"version": "0.0.0-alpha.
|
|
244
|
+
"version": "0.0.0-alpha.121",
|
|
239
245
|
"dependencies": [
|
|
240
246
|
"@agimon-ai/po-core",
|
|
241
247
|
"@agimon-ai/po-web-components",
|
|
@@ -243,7 +249,7 @@
|
|
|
243
249
|
]
|
|
244
250
|
},
|
|
245
251
|
"@agimon-ai/po-major-mode": {
|
|
246
|
-
"version": "0.0.0-alpha.
|
|
252
|
+
"version": "0.0.0-alpha.121",
|
|
247
253
|
"dependencies": [
|
|
248
254
|
"@agimon-ai/po-config",
|
|
249
255
|
"@agimon-ai/po-core",
|
|
@@ -251,7 +257,7 @@
|
|
|
251
257
|
]
|
|
252
258
|
},
|
|
253
259
|
"@agimon-ai/po-mcp": {
|
|
254
|
-
"version": "0.0.0-alpha.
|
|
260
|
+
"version": "0.0.0-alpha.121",
|
|
255
261
|
"dependencies": [
|
|
256
262
|
"@agimon-ai/po-config",
|
|
257
263
|
"@agimon-ai/po-core",
|
|
@@ -262,44 +268,44 @@
|
|
|
262
268
|
]
|
|
263
269
|
},
|
|
264
270
|
"@agimon-ai/po-mcp-proxy": {
|
|
265
|
-
"version": "0.0.1-alpha.
|
|
271
|
+
"version": "0.0.1-alpha.100",
|
|
266
272
|
"dependencies": []
|
|
267
273
|
},
|
|
268
274
|
"@agimon-ai/po-minor-mode": {
|
|
269
|
-
"version": "0.0.0-alpha.
|
|
275
|
+
"version": "0.0.0-alpha.121",
|
|
270
276
|
"dependencies": [
|
|
271
277
|
"@agimon-ai/po-core"
|
|
272
278
|
]
|
|
273
279
|
},
|
|
274
280
|
"@agimon-ai/po-model-guidance": {
|
|
275
|
-
"version": "0.0.0-alpha.
|
|
281
|
+
"version": "0.0.0-alpha.121",
|
|
276
282
|
"dependencies": [
|
|
277
283
|
"@agimon-ai/po-config",
|
|
278
284
|
"@agimon-ai/po-core"
|
|
279
285
|
]
|
|
280
286
|
},
|
|
281
287
|
"@agimon-ai/po-native-components": {
|
|
282
|
-
"version": "0.0.0-alpha.
|
|
288
|
+
"version": "0.0.0-alpha.121",
|
|
283
289
|
"dependencies": [
|
|
284
290
|
"@agimon-ai/po-web-components"
|
|
285
291
|
]
|
|
286
292
|
},
|
|
287
293
|
"@agimon-ai/po-network": {
|
|
288
|
-
"version": "0.0.2-alpha.
|
|
294
|
+
"version": "0.0.2-alpha.68",
|
|
289
295
|
"dependencies": [
|
|
290
296
|
"@agimon-ai/po-core",
|
|
291
297
|
"@agimon-ai/po-web-security"
|
|
292
298
|
]
|
|
293
299
|
},
|
|
294
300
|
"@agimon-ai/po-notification": {
|
|
295
|
-
"version": "0.0.0-alpha.
|
|
301
|
+
"version": "0.0.0-alpha.121",
|
|
296
302
|
"dependencies": [
|
|
297
303
|
"@agimon-ai/po-autostop",
|
|
298
304
|
"@agimon-ai/po-core"
|
|
299
305
|
]
|
|
300
306
|
},
|
|
301
307
|
"@agimon-ai/po-plan": {
|
|
302
|
-
"version": "0.0.0-alpha.
|
|
308
|
+
"version": "0.0.0-alpha.121",
|
|
303
309
|
"dependencies": [
|
|
304
310
|
"@agimon-ai/po-config",
|
|
305
311
|
"@agimon-ai/po-core",
|
|
@@ -309,7 +315,7 @@
|
|
|
309
315
|
]
|
|
310
316
|
},
|
|
311
317
|
"@agimon-ai/po-profile": {
|
|
312
|
-
"version": "0.0.0-alpha.
|
|
318
|
+
"version": "0.0.0-alpha.121",
|
|
313
319
|
"dependencies": [
|
|
314
320
|
"@agimon-ai/po-config",
|
|
315
321
|
"@agimon-ai/po-core",
|
|
@@ -317,7 +323,7 @@
|
|
|
317
323
|
]
|
|
318
324
|
},
|
|
319
325
|
"@agimon-ai/po-prompt": {
|
|
320
|
-
"version": "0.0.0-alpha.
|
|
326
|
+
"version": "0.0.0-alpha.121",
|
|
321
327
|
"dependencies": [
|
|
322
328
|
"@agimon-ai/po-core",
|
|
323
329
|
"@agimon-ai/po-web-components",
|
|
@@ -325,7 +331,7 @@
|
|
|
325
331
|
]
|
|
326
332
|
},
|
|
327
333
|
"@agimon-ai/po-read": {
|
|
328
|
-
"version": "0.0.0-alpha.
|
|
334
|
+
"version": "0.0.0-alpha.121",
|
|
329
335
|
"dependencies": [
|
|
330
336
|
"@agimon-ai/po-config",
|
|
331
337
|
"@agimon-ai/po-core",
|
|
@@ -335,7 +341,7 @@
|
|
|
335
341
|
]
|
|
336
342
|
},
|
|
337
343
|
"@agimon-ai/po-runner": {
|
|
338
|
-
"version": "0.0.0-alpha.
|
|
344
|
+
"version": "0.0.0-alpha.121",
|
|
339
345
|
"dependencies": [
|
|
340
346
|
"@agimon-ai/po-core",
|
|
341
347
|
"@agimon-ai/po-ui",
|
|
@@ -344,13 +350,13 @@
|
|
|
344
350
|
]
|
|
345
351
|
},
|
|
346
352
|
"@agimon-ai/po-sandbox": {
|
|
347
|
-
"version": "0.0.0-alpha.
|
|
353
|
+
"version": "0.0.0-alpha.121",
|
|
348
354
|
"dependencies": [
|
|
349
355
|
"@agimon-ai/po-core"
|
|
350
356
|
]
|
|
351
357
|
},
|
|
352
358
|
"@agimon-ai/po-session": {
|
|
353
|
-
"version": "0.0.0-alpha.
|
|
359
|
+
"version": "0.0.0-alpha.121",
|
|
354
360
|
"dependencies": [
|
|
355
361
|
"@agimon-ai/po-config",
|
|
356
362
|
"@agimon-ai/po-core",
|
|
@@ -358,7 +364,7 @@
|
|
|
358
364
|
]
|
|
359
365
|
},
|
|
360
366
|
"@agimon-ai/po-skill": {
|
|
361
|
-
"version": "0.0.0-alpha.
|
|
367
|
+
"version": "0.0.0-alpha.121",
|
|
362
368
|
"dependencies": [
|
|
363
369
|
"@agimon-ai/po-config",
|
|
364
370
|
"@agimon-ai/po-core",
|
|
@@ -367,7 +373,7 @@
|
|
|
367
373
|
]
|
|
368
374
|
},
|
|
369
375
|
"@agimon-ai/po-style-system": {
|
|
370
|
-
"version": "0.0.0-alpha.
|
|
376
|
+
"version": "0.0.0-alpha.121",
|
|
371
377
|
"dependencies": [
|
|
372
378
|
"@agimon-ai/po-core",
|
|
373
379
|
"@agimon-ai/po-web-components",
|
|
@@ -375,7 +381,7 @@
|
|
|
375
381
|
]
|
|
376
382
|
},
|
|
377
383
|
"@agimon-ai/po-task": {
|
|
378
|
-
"version": "0.0.0-alpha.
|
|
384
|
+
"version": "0.0.0-alpha.121",
|
|
379
385
|
"dependencies": [
|
|
380
386
|
"@agimon-ai/po-core",
|
|
381
387
|
"@agimon-ai/po-ui",
|
|
@@ -383,7 +389,7 @@
|
|
|
383
389
|
]
|
|
384
390
|
},
|
|
385
391
|
"@agimon-ai/po-team": {
|
|
386
|
-
"version": "0.0.0-alpha.
|
|
392
|
+
"version": "0.0.0-alpha.121",
|
|
387
393
|
"dependencies": [
|
|
388
394
|
"@agimon-ai/po-cache",
|
|
389
395
|
"@agimon-ai/po-config",
|
|
@@ -395,7 +401,7 @@
|
|
|
395
401
|
]
|
|
396
402
|
},
|
|
397
403
|
"@agimon-ai/po-template-advanced": {
|
|
398
|
-
"version": "0.0.0-alpha.
|
|
404
|
+
"version": "0.0.0-alpha.121",
|
|
399
405
|
"dependencies": [
|
|
400
406
|
"@agimon-ai/po-core",
|
|
401
407
|
"@agimon-ai/po-web-components",
|
|
@@ -403,7 +409,7 @@
|
|
|
403
409
|
]
|
|
404
410
|
},
|
|
405
411
|
"@agimon-ai/po-template-elegant": {
|
|
406
|
-
"version": "0.0.0-alpha.
|
|
412
|
+
"version": "0.0.0-alpha.121",
|
|
407
413
|
"dependencies": [
|
|
408
414
|
"@agimon-ai/po-core",
|
|
409
415
|
"@agimon-ai/po-web-components",
|
|
@@ -411,7 +417,7 @@
|
|
|
411
417
|
]
|
|
412
418
|
},
|
|
413
419
|
"@agimon-ai/po-ui": {
|
|
414
|
-
"version": "0.0.0-alpha.
|
|
420
|
+
"version": "0.0.0-alpha.121",
|
|
415
421
|
"dependencies": [
|
|
416
422
|
"@agimon-ai/po-core",
|
|
417
423
|
"@agimon-ai/po-hashline",
|
|
@@ -420,7 +426,7 @@
|
|
|
420
426
|
]
|
|
421
427
|
},
|
|
422
428
|
"@agimon-ai/po-user-feedback": {
|
|
423
|
-
"version": "0.0.0-alpha.
|
|
429
|
+
"version": "0.0.0-alpha.121",
|
|
424
430
|
"dependencies": [
|
|
425
431
|
"@agimon-ai/po-core",
|
|
426
432
|
"@agimon-ai/po-minor-mode",
|
|
@@ -429,7 +435,7 @@
|
|
|
429
435
|
]
|
|
430
436
|
},
|
|
431
437
|
"@agimon-ai/po-vault": {
|
|
432
|
-
"version": "0.0.0-alpha.
|
|
438
|
+
"version": "0.0.0-alpha.121",
|
|
433
439
|
"dependencies": [
|
|
434
440
|
"@agimon-ai/po-core",
|
|
435
441
|
"@agimon-ai/po-db",
|
|
@@ -438,7 +444,7 @@
|
|
|
438
444
|
]
|
|
439
445
|
},
|
|
440
446
|
"@agimon-ai/po-vibe-lint": {
|
|
441
|
-
"version": "0.0.1-alpha.
|
|
447
|
+
"version": "0.0.1-alpha.90",
|
|
442
448
|
"dependencies": [
|
|
443
449
|
"@agimon-ai/po-config",
|
|
444
450
|
"@agimon-ai/po-core",
|
|
@@ -448,7 +454,7 @@
|
|
|
448
454
|
]
|
|
449
455
|
},
|
|
450
456
|
"@agimon-ai/po-voice": {
|
|
451
|
-
"version": "0.0.0-alpha.
|
|
457
|
+
"version": "0.0.0-alpha.121",
|
|
452
458
|
"dependencies": [
|
|
453
459
|
"@agimon-ai/po-config",
|
|
454
460
|
"@agimon-ai/po-core",
|
|
@@ -461,11 +467,11 @@
|
|
|
461
467
|
]
|
|
462
468
|
},
|
|
463
469
|
"@agimon-ai/po-web-components": {
|
|
464
|
-
"version": "0.0.0-alpha.
|
|
470
|
+
"version": "0.0.0-alpha.121",
|
|
465
471
|
"dependencies": []
|
|
466
472
|
},
|
|
467
473
|
"@agimon-ai/po-web-dashboard": {
|
|
468
|
-
"version": "0.0.0-alpha.
|
|
474
|
+
"version": "0.0.0-alpha.121",
|
|
469
475
|
"dependencies": [
|
|
470
476
|
"@agimon-ai/po-core",
|
|
471
477
|
"@agimon-ai/po-web-components",
|
|
@@ -473,18 +479,18 @@
|
|
|
473
479
|
]
|
|
474
480
|
},
|
|
475
481
|
"@agimon-ai/po-web-search": {
|
|
476
|
-
"version": "0.0.0-alpha.
|
|
482
|
+
"version": "0.0.0-alpha.120",
|
|
477
483
|
"dependencies": [
|
|
478
484
|
"@agimon-ai/po-core",
|
|
479
485
|
"@agimon-ai/po-web-components"
|
|
480
486
|
]
|
|
481
487
|
},
|
|
482
488
|
"@agimon-ai/po-web-security": {
|
|
483
|
-
"version": "0.0.0-alpha.
|
|
489
|
+
"version": "0.0.0-alpha.121",
|
|
484
490
|
"dependencies": []
|
|
485
491
|
},
|
|
486
492
|
"@agimon-ai/po-workflow": {
|
|
487
|
-
"version": "0.0.0-alpha.
|
|
493
|
+
"version": "0.0.0-alpha.121",
|
|
488
494
|
"dependencies": [
|
|
489
495
|
"@agimon-ai/po-core",
|
|
490
496
|
"@agimon-ai/po-ui",
|
|
@@ -502,6 +508,7 @@
|
|
|
502
508
|
"@agimon-ai/po-computer-use",
|
|
503
509
|
"@agimon-ai/po-edit",
|
|
504
510
|
"@agimon-ai/po-file-edit",
|
|
511
|
+
"@agimon-ai/po-gateway",
|
|
505
512
|
"@agimon-ai/po-git",
|
|
506
513
|
"@agimon-ai/po-goal",
|
|
507
514
|
"@agimon-ai/po-grep",
|
package/dist/package.cjs
CHANGED
package/dist/package.mjs
CHANGED
|
@@ -553,6 +553,105 @@ async function createNodeNetwork(ports) {
|
|
|
553
553
|
return false;
|
|
554
554
|
}
|
|
555
555
|
}
|
|
556
|
+
const maxHostBodyBytes = 8388608;
|
|
557
|
+
function gatewayTarget(method, path) {
|
|
558
|
+
return method === "GET" && path === "/api/plugins/gateway/catalog" || method === "POST" && path === "/api/plugins/gateway/calls";
|
|
559
|
+
}
|
|
560
|
+
function sameOwnerHost(hostId) {
|
|
561
|
+
if (!fresh()) return void 0;
|
|
562
|
+
const self = roster.hosts.find((host) => host.hostId === ports.hostId);
|
|
563
|
+
const host = roster.hosts.find((host) => host.hostId === hostId);
|
|
564
|
+
return self && host && self.owner.issuer === host.owner.issuer && self.owner.subject === host.owner.subject ? host : void 0;
|
|
565
|
+
}
|
|
566
|
+
async function boundedHostBody(request) {
|
|
567
|
+
const reader = request.clone().body?.getReader();
|
|
568
|
+
if (!reader) return "";
|
|
569
|
+
const chunks = [];
|
|
570
|
+
let size = 0;
|
|
571
|
+
try {
|
|
572
|
+
for (;;) {
|
|
573
|
+
const chunk = await reader.read();
|
|
574
|
+
if (chunk.done) break;
|
|
575
|
+
size += chunk.value.byteLength;
|
|
576
|
+
if (size > maxHostBodyBytes) {
|
|
577
|
+
reader.cancel();
|
|
578
|
+
return;
|
|
579
|
+
}
|
|
580
|
+
chunks.push(chunk.value);
|
|
581
|
+
}
|
|
582
|
+
const bytes = new Uint8Array(size);
|
|
583
|
+
let offset = 0;
|
|
584
|
+
for (const chunk of chunks) {
|
|
585
|
+
bytes.set(chunk, offset);
|
|
586
|
+
offset += chunk.byteLength;
|
|
587
|
+
}
|
|
588
|
+
return new TextDecoder().decode(bytes);
|
|
589
|
+
} finally {
|
|
590
|
+
reader.releaseLock();
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
const hostRequests = {
|
|
594
|
+
hosts: () => roster.hosts.filter((host) => sameOwnerHost(host.hostId) && host.hostId !== ports.hostId).map((host) => ({
|
|
595
|
+
hostId: host.hostId,
|
|
596
|
+
https: host.endpoints.some((endpoint) => endpoint.startsWith("https:"))
|
|
597
|
+
})),
|
|
598
|
+
async fetch(hostId, request) {
|
|
599
|
+
const origin = sameOwnerHost(hostId)?.endpoints.find((endpoint) => endpoint.startsWith("https:"));
|
|
600
|
+
if (!origin || !ports.fetch || !ports.signHost || !gatewayTarget(request.method, request.path) || request.method === "GET" && request.body !== void 0 || new TextEncoder().encode(request.body ?? "").byteLength > maxHostBodyBytes) return void 0;
|
|
601
|
+
const issuedAt = ports.now();
|
|
602
|
+
const payload = {
|
|
603
|
+
networkId: ports.networkId,
|
|
604
|
+
hostId: ports.hostId,
|
|
605
|
+
destination: hostId,
|
|
606
|
+
method: request.method,
|
|
607
|
+
path: request.path,
|
|
608
|
+
bodyHash: (0, _agimon_ai_po_web_security_deviceProof.federationDigest)(request.body ?? ""),
|
|
609
|
+
nonce: crypto.randomUUID(),
|
|
610
|
+
issuedAt,
|
|
611
|
+
expiresAt: issuedAt + 6e4
|
|
612
|
+
};
|
|
613
|
+
try {
|
|
614
|
+
return await ports.fetch(new URL(request.path, origin), {
|
|
615
|
+
method: request.method,
|
|
616
|
+
body: request.body,
|
|
617
|
+
signal: request.signal ?? AbortSignal.timeout(1e4),
|
|
618
|
+
redirect: "manual",
|
|
619
|
+
headers: {
|
|
620
|
+
"content-type": "application/json",
|
|
621
|
+
"x-po-host-proof": JSON.stringify({
|
|
622
|
+
tag: "po/host-request/v1",
|
|
623
|
+
payload,
|
|
624
|
+
signature: ports.signHost((0, _agimon_ai_po_web_security.federationEnvelopeFields)(payload))
|
|
625
|
+
})
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
} catch {
|
|
629
|
+
return;
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
async verify(request, pathPrefix) {
|
|
633
|
+
const url = new URL(request.url);
|
|
634
|
+
if (pathPrefix !== "/api/plugins/gateway" || url.search || !gatewayTarget(request.method, url.pathname)) return void 0;
|
|
635
|
+
try {
|
|
636
|
+
const envelope = JSON.parse(request.headers.get("x-po-host-proof") ?? "null");
|
|
637
|
+
const host = sameOwnerHost(envelope?.payload?.hostId);
|
|
638
|
+
const p = envelope?.payload;
|
|
639
|
+
if (!host || !p || !Number.isSafeInteger(p.issuedAt) || !Number.isSafeInteger(p.expiresAt) || p.expiresAt <= p.issuedAt || p.expiresAt - p.issuedAt > 6e4) return void 0;
|
|
640
|
+
const body = await boundedHostBody(request);
|
|
641
|
+
if (body === void 0 || sameOwnerHost(host.hostId)?.publicKey !== host.publicKey || !(0, _agimon_ai_po_network.verifyHostProof)(host.publicKey, envelope, {
|
|
642
|
+
networkId: ports.networkId,
|
|
643
|
+
hostId: host.hostId,
|
|
644
|
+
destination: ports.hostId,
|
|
645
|
+
method: request.method,
|
|
646
|
+
path: url.pathname,
|
|
647
|
+
bodyHash: (0, _agimon_ai_po_web_security_deviceProof.federationDigest)(body)
|
|
648
|
+
}, ports.now())) return void 0;
|
|
649
|
+
return await admitNonce(host.hostId, p.nonce, p.expiresAt) ? { hostId: host.hostId } : void 0;
|
|
650
|
+
} catch {
|
|
651
|
+
return;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
};
|
|
556
655
|
let timer;
|
|
557
656
|
async function unlinkNetwork() {
|
|
558
657
|
unlinked = true;
|
|
@@ -566,6 +665,7 @@ async function createNodeNetwork(ports) {
|
|
|
566
665
|
}
|
|
567
666
|
return {
|
|
568
667
|
network,
|
|
668
|
+
hostRequests,
|
|
569
669
|
async candidates(workspaceId, owner, consents) {
|
|
570
670
|
await refreshCapabilities();
|
|
571
671
|
return (0, _agimon_ai_po_network.consentCandidates)({
|