@meshxdata/fops 0.1.29 → 0.1.31
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/CHANGELOG.md +371 -0
- package/package.json +1 -1
- package/src/commands/lifecycle.js +9 -6
- package/src/plugins/bundled/fops-plugin-foundation/index.js +2 -2
- package/src/plugins/bundled/fops-plugin-foundation/lib/client.js +1 -1
- package/src/plugins/bundled/fops-plugin-foundation/lib/tools-read.js +1 -1
- package/src/plugins/bundled/fops-plugin-foundation/lib/tools-write.js +1 -1
- package/src/ui/tui/App.js +13 -5
- package/src/web/api.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,374 @@
|
|
|
1
|
+
## [0.1.31] - 2026-03-04
|
|
2
|
+
|
|
3
|
+
- bump (346ffc1)
|
|
4
|
+
- localhost replaced by 127.0.0.1 (82b9f30)
|
|
5
|
+
- .29 (587b0e1)
|
|
6
|
+
- improve up down and bootstrap script (b79ebaf)
|
|
7
|
+
- checksum (22c8086)
|
|
8
|
+
- checksum (96b434f)
|
|
9
|
+
- checksum (15ed3c0)
|
|
10
|
+
- checksum (8a6543a)
|
|
11
|
+
- bump embed trino linksg (8440504)
|
|
12
|
+
- bump data (765ffd9)
|
|
13
|
+
- bump (cb8b232)
|
|
14
|
+
- broken tests (c532229)
|
|
15
|
+
- release 0.1.18, preflight checks (d902249)
|
|
16
|
+
- fix compute display bug (d10f5d9)
|
|
17
|
+
- cleanup packer files (6330f18)
|
|
18
|
+
- plan mode (cb36a8a)
|
|
19
|
+
- bump to 0.1.16 - agent ui (41ac1a2)
|
|
20
|
+
- bump to 0.1.15 - agent ui (4ebe2e1)
|
|
21
|
+
- bump to 0.1.14 (6c3a7fa)
|
|
22
|
+
- bump to 0.1.13 (8db570f)
|
|
23
|
+
- release 0.1.12 (c1c79e5)
|
|
24
|
+
- bump (11aa3b0)
|
|
25
|
+
- git keep and bump tui (be1678e)
|
|
26
|
+
- skills, index, rrf, compacted context (100k > 10k) (7b2fffd)
|
|
27
|
+
- cloudflare and token consumption, graphs indexing (0ad9eec)
|
|
28
|
+
- bump storage default (22c83ba)
|
|
29
|
+
- storage fix (68a22a0)
|
|
30
|
+
- skills update (7f56500)
|
|
31
|
+
- v9 bump (3864446)
|
|
32
|
+
- bump (c95eedc)
|
|
33
|
+
- rrf (dbf8c95)
|
|
34
|
+
- feat: warning when running predictions (95e8c52)
|
|
35
|
+
- feat: support for local predictions (45cf26b)
|
|
36
|
+
- feat: wip support for predictions + mlflow (3457052)
|
|
37
|
+
- add Reciprocal Rank Fusion (RRF) to knowledge and skill retrieval (61549bc)
|
|
38
|
+
- validate CSV headers in compute_run readiness check (a8c7a43)
|
|
39
|
+
- fix corrupted Iceberg metadata: probe tables + force cleanup on re-apply (50578af)
|
|
40
|
+
- enforce: never use foundation_apply to fix broken products (2e049bf)
|
|
41
|
+
- update SKILL.md with complete tool reference for knowledge retrieval (30b1924)
|
|
42
|
+
- add storage read, input DP table probe, and compute_run improvements (34e6c4c)
|
|
43
|
+
- skills update (1220385)
|
|
44
|
+
- skills update (bb66958)
|
|
45
|
+
- some tui improvement andd tools apply overwrite (e90c35c)
|
|
46
|
+
- skills update (e9227a1)
|
|
47
|
+
- skills update (669c4b3)
|
|
48
|
+
- fix plugin pre-flight checks (f741743)
|
|
49
|
+
- increase agent context (6479aaa)
|
|
50
|
+
- skills and init sql fixes (5fce35e)
|
|
51
|
+
- checksum (3518b56)
|
|
52
|
+
- penging job limit (a139861)
|
|
53
|
+
- checksum (575d28c)
|
|
54
|
+
- bump (92049ba)
|
|
55
|
+
- fix bug per tab status (0a33657)
|
|
56
|
+
- fix bug per tab status (50457c6)
|
|
57
|
+
- checksumming (0ad842e)
|
|
58
|
+
- shot af mardkwon overlapping (51f63b9)
|
|
59
|
+
- add spark dockerfile for multiarch builds (95abbd1)
|
|
60
|
+
- fix plugin initialization (16b9782)
|
|
61
|
+
- split index.js (50902a2)
|
|
62
|
+
- cloudflare cidr (cc4e021)
|
|
63
|
+
- cloduflare restrictions (2f6ba2d)
|
|
64
|
+
- sequential start (86b496e)
|
|
65
|
+
- sequential start (4930fe1)
|
|
66
|
+
- sequential start (353f014)
|
|
67
|
+
- qa tests (2dc6a1a)
|
|
68
|
+
- bump sha for .85 (dc2edfe)
|
|
69
|
+
- preserve env on sudo (7831227)
|
|
70
|
+
- bump sha for .84 (6c052f9)
|
|
71
|
+
- non interactive for azure vms (0aa8a2f)
|
|
72
|
+
- keep .env if present (d072450)
|
|
73
|
+
- bump (7a8e732)
|
|
74
|
+
- ensure opa is on compose if not set (f4a5228)
|
|
75
|
+
- checksum bump (a2ccc20)
|
|
76
|
+
- netrc defensive checks (a0b0ccc)
|
|
77
|
+
- netrc defensive checks (ae37403)
|
|
78
|
+
- checksum (ec45d11)
|
|
79
|
+
- update sync and fix up (7f9af72)
|
|
80
|
+
- expand test for azure and add new per app tag support (388a168)
|
|
81
|
+
- checksum on update (44005fc)
|
|
82
|
+
- cleanup for later (15e5313)
|
|
83
|
+
- cleanup for later (11c9597)
|
|
84
|
+
- switch branch feature (822fecc)
|
|
85
|
+
- add pull (d1c19ab)
|
|
86
|
+
- Bump hono from 4.11.9 to 4.12.0 in /operator-cli (ad25144)
|
|
87
|
+
- tests (f180a9a)
|
|
88
|
+
- cleanup (39c49a3)
|
|
89
|
+
- registry (7b7126a)
|
|
90
|
+
- reconcile kafka (832d0db)
|
|
91
|
+
- gh login bug (025886c)
|
|
92
|
+
- cleanup (bb96cab)
|
|
93
|
+
- strip envs from process (2421180)
|
|
94
|
+
- force use of gh creds not tokens in envs var (fff7787)
|
|
95
|
+
- resolve import between npm installs and npm link (79522e1)
|
|
96
|
+
- fix gh scope and azure states (afd846c)
|
|
97
|
+
- refactoring (da50352)
|
|
98
|
+
- split fops repo (d447638)
|
|
99
|
+
- aks (b791f8f)
|
|
100
|
+
- refactor azure (67d3bad)
|
|
101
|
+
- wildcard (391f023)
|
|
102
|
+
- azure plugin (c074074)
|
|
103
|
+
- zap (d7e6e7f)
|
|
104
|
+
- fix knock (cf89c05)
|
|
105
|
+
- azure (4adec98)
|
|
106
|
+
- Bump tar from 7.5.7 to 7.5.9 in /operator-cli (e41e98e)
|
|
107
|
+
- azure stack index.js split (de12272)
|
|
108
|
+
- Bump ajv from 8.17.1 to 8.18.0 in /operator-cli (76da21f)
|
|
109
|
+
- packer (9665fbc)
|
|
110
|
+
- remove stack api (db0fd4d)
|
|
111
|
+
- packer cleanup (fe1bf14)
|
|
112
|
+
- force refresh token (3a3d7e2)
|
|
113
|
+
- provision shell (2ad505f)
|
|
114
|
+
- azure vm management (91dcb31)
|
|
115
|
+
- azure specific (2b0cca8)
|
|
116
|
+
- azure packer (12175b8)
|
|
117
|
+
- init hashed pwd (db8523c)
|
|
118
|
+
- packer (5b5c7c4)
|
|
119
|
+
- doctor for azure vm (ed524fa)
|
|
120
|
+
- packer and 1pwd (c6d053e)
|
|
121
|
+
- split big index.js (dc85a1b)
|
|
122
|
+
- kafka volume update (21815ec)
|
|
123
|
+
- fix openai azure tools confirmation and flow (0118cd1)
|
|
124
|
+
- nighly fixx, test fix (5e0d04f)
|
|
125
|
+
- open ai training (cdc494a)
|
|
126
|
+
- openai integration in azure (1ca1475)
|
|
127
|
+
- ci (672cea9)
|
|
128
|
+
- refresh ghcr creds (4220c48)
|
|
129
|
+
- cleaned up version (1a0074f)
|
|
130
|
+
- traefik on ghcr and templates (8e31a05)
|
|
131
|
+
- apply fcl (e78911f)
|
|
132
|
+
- demo landscape (dd205fe)
|
|
133
|
+
- smarter login and schema (1af514f)
|
|
134
|
+
- no down before up unless something broke (56b1132)
|
|
135
|
+
- dai, reconcile failed containers (12907fa)
|
|
136
|
+
- reconcile dead container (7da75e4)
|
|
137
|
+
- defensive around storage buckets dir (b98871d)
|
|
138
|
+
- defensive around storage buckets dir (e86e132)
|
|
139
|
+
- gear in for multiarch (bf3fa3e)
|
|
140
|
+
- up autofix (99c7f89)
|
|
141
|
+
- autofix stale containers on up (43c7d0f)
|
|
142
|
+
- shared sessions fix (5de1359)
|
|
143
|
+
- share sessions between ui and tui (8321391)
|
|
144
|
+
- fix chat view display details (e263996)
|
|
145
|
+
- fix chat view display details (9babdda)
|
|
146
|
+
- tui up fixes (86e9f17)
|
|
147
|
+
- fix commands init (442538b)
|
|
148
|
+
- enable k3s profile (b2dcfc8)
|
|
149
|
+
- test up till job creation (656d388)
|
|
150
|
+
- tui fixes (0599779)
|
|
151
|
+
- cleanup (27731f0)
|
|
152
|
+
- train (90bf559)
|
|
153
|
+
- training (f809bf6)
|
|
154
|
+
- training (ba2b836)
|
|
155
|
+
- training (6fc5267)
|
|
156
|
+
- training (4af8ac9)
|
|
157
|
+
- fix build script (bd82836)
|
|
158
|
+
- infra test (5b79815)
|
|
159
|
+
- infra test (3a0ac05)
|
|
160
|
+
- infra test (e5c67b5)
|
|
161
|
+
- tests (ae7b621)
|
|
162
|
+
- tests (c09ae6a)
|
|
163
|
+
- update tui (4784153)
|
|
164
|
+
- training (0a5a330)
|
|
165
|
+
- tui (df4dd4a)
|
|
166
|
+
- pkg builds (4dc9993)
|
|
167
|
+
- also source env for creds (9a17d8f)
|
|
168
|
+
- fcl support (e8a5743)
|
|
169
|
+
- fcl support (8d6b6cd)
|
|
170
|
+
- fcl support (cb76a4a)
|
|
171
|
+
- bump package (df2ee85)
|
|
172
|
+
- add iam mgmt (2d3c294)
|
|
173
|
+
- fix k3s (976ae77)
|
|
174
|
+
- fix trino, add storage plugin (75cb1f4)
|
|
175
|
+
- add project root as config (a2863c6)
|
|
176
|
+
- failure learnings (637ef5c)
|
|
177
|
+
- Apple signed binaries (63a610e)
|
|
178
|
+
- send build info to apple for notary service (300c220)
|
|
179
|
+
- migration failure fixes (c7f0b2f)
|
|
180
|
+
- release to wipe clean pg on duplicate key error (a38bf4d)
|
|
181
|
+
- small fix (a26a674)
|
|
182
|
+
- cleanup (ca7405d)
|
|
183
|
+
- bump packages (59723b7)
|
|
184
|
+
|
|
185
|
+
# Changelog
|
|
186
|
+
|
|
187
|
+
All notable changes to @meshxdata/fops (Foundation Operator CLI) are documented here.
|
|
188
|
+
|
|
189
|
+
## [0.1.30] - 2026-03-04
|
|
190
|
+
|
|
191
|
+
- localhost replaced by 127.0.0.1 (82b9f30)
|
|
192
|
+
- .29 (587b0e1)
|
|
193
|
+
- improve up down and bootstrap script (b79ebaf)
|
|
194
|
+
- checksum (22c8086)
|
|
195
|
+
- checksum (96b434f)
|
|
196
|
+
- checksum (15ed3c0)
|
|
197
|
+
- checksum (8a6543a)
|
|
198
|
+
- bump embed trino linksg (8440504)
|
|
199
|
+
- bump data (765ffd9)
|
|
200
|
+
- bump (cb8b232)
|
|
201
|
+
- broken tests (c532229)
|
|
202
|
+
- release 0.1.18, preflight checks (d902249)
|
|
203
|
+
- fix compute display bug (d10f5d9)
|
|
204
|
+
- cleanup packer files (6330f18)
|
|
205
|
+
- plan mode (cb36a8a)
|
|
206
|
+
- bump to 0.1.16 - agent ui (41ac1a2)
|
|
207
|
+
- bump to 0.1.15 - agent ui (4ebe2e1)
|
|
208
|
+
- bump to 0.1.14 (6c3a7fa)
|
|
209
|
+
- bump to 0.1.13 (8db570f)
|
|
210
|
+
- release 0.1.12 (c1c79e5)
|
|
211
|
+
- bump (11aa3b0)
|
|
212
|
+
- git keep and bump tui (be1678e)
|
|
213
|
+
- skills, index, rrf, compacted context (100k > 10k) (7b2fffd)
|
|
214
|
+
- cloudflare and token consumption, graphs indexing (0ad9eec)
|
|
215
|
+
- bump storage default (22c83ba)
|
|
216
|
+
- storage fix (68a22a0)
|
|
217
|
+
- skills update (7f56500)
|
|
218
|
+
- v9 bump (3864446)
|
|
219
|
+
- bump (c95eedc)
|
|
220
|
+
- rrf (dbf8c95)
|
|
221
|
+
- feat: warning when running predictions (95e8c52)
|
|
222
|
+
- feat: support for local predictions (45cf26b)
|
|
223
|
+
- feat: wip support for predictions + mlflow (3457052)
|
|
224
|
+
- add Reciprocal Rank Fusion (RRF) to knowledge and skill retrieval (61549bc)
|
|
225
|
+
- validate CSV headers in compute_run readiness check (a8c7a43)
|
|
226
|
+
- fix corrupted Iceberg metadata: probe tables + force cleanup on re-apply (50578af)
|
|
227
|
+
- enforce: never use foundation_apply to fix broken products (2e049bf)
|
|
228
|
+
- update SKILL.md with complete tool reference for knowledge retrieval (30b1924)
|
|
229
|
+
- add storage read, input DP table probe, and compute_run improvements (34e6c4c)
|
|
230
|
+
- skills update (1220385)
|
|
231
|
+
- skills update (bb66958)
|
|
232
|
+
- some tui improvement andd tools apply overwrite (e90c35c)
|
|
233
|
+
- skills update (e9227a1)
|
|
234
|
+
- skills update (669c4b3)
|
|
235
|
+
- fix plugin pre-flight checks (f741743)
|
|
236
|
+
- increase agent context (6479aaa)
|
|
237
|
+
- skills and init sql fixes (5fce35e)
|
|
238
|
+
- checksum (3518b56)
|
|
239
|
+
- penging job limit (a139861)
|
|
240
|
+
- checksum (575d28c)
|
|
241
|
+
- bump (92049ba)
|
|
242
|
+
- fix bug per tab status (0a33657)
|
|
243
|
+
- fix bug per tab status (50457c6)
|
|
244
|
+
- checksumming (0ad842e)
|
|
245
|
+
- shot af mardkwon overlapping (51f63b9)
|
|
246
|
+
- add spark dockerfile for multiarch builds (95abbd1)
|
|
247
|
+
- fix plugin initialization (16b9782)
|
|
248
|
+
- split index.js (50902a2)
|
|
249
|
+
- cloudflare cidr (cc4e021)
|
|
250
|
+
- cloduflare restrictions (2f6ba2d)
|
|
251
|
+
- sequential start (86b496e)
|
|
252
|
+
- sequential start (4930fe1)
|
|
253
|
+
- sequential start (353f014)
|
|
254
|
+
- qa tests (2dc6a1a)
|
|
255
|
+
- bump sha for .85 (dc2edfe)
|
|
256
|
+
- preserve env on sudo (7831227)
|
|
257
|
+
- bump sha for .84 (6c052f9)
|
|
258
|
+
- non interactive for azure vms (0aa8a2f)
|
|
259
|
+
- keep .env if present (d072450)
|
|
260
|
+
- bump (7a8e732)
|
|
261
|
+
- ensure opa is on compose if not set (f4a5228)
|
|
262
|
+
- checksum bump (a2ccc20)
|
|
263
|
+
- netrc defensive checks (a0b0ccc)
|
|
264
|
+
- netrc defensive checks (ae37403)
|
|
265
|
+
- checksum (ec45d11)
|
|
266
|
+
- update sync and fix up (7f9af72)
|
|
267
|
+
- expand test for azure and add new per app tag support (388a168)
|
|
268
|
+
- checksum on update (44005fc)
|
|
269
|
+
- cleanup for later (15e5313)
|
|
270
|
+
- cleanup for later (11c9597)
|
|
271
|
+
- switch branch feature (822fecc)
|
|
272
|
+
- add pull (d1c19ab)
|
|
273
|
+
- Bump hono from 4.11.9 to 4.12.0 in /operator-cli (ad25144)
|
|
274
|
+
- tests (f180a9a)
|
|
275
|
+
- cleanup (39c49a3)
|
|
276
|
+
- registry (7b7126a)
|
|
277
|
+
- reconcile kafka (832d0db)
|
|
278
|
+
- gh login bug (025886c)
|
|
279
|
+
- cleanup (bb96cab)
|
|
280
|
+
- strip envs from process (2421180)
|
|
281
|
+
- force use of gh creds not tokens in envs var (fff7787)
|
|
282
|
+
- resolve import between npm installs and npm link (79522e1)
|
|
283
|
+
- fix gh scope and azure states (afd846c)
|
|
284
|
+
- refactoring (da50352)
|
|
285
|
+
- split fops repo (d447638)
|
|
286
|
+
- aks (b791f8f)
|
|
287
|
+
- refactor azure (67d3bad)
|
|
288
|
+
- wildcard (391f023)
|
|
289
|
+
- azure plugin (c074074)
|
|
290
|
+
- zap (d7e6e7f)
|
|
291
|
+
- fix knock (cf89c05)
|
|
292
|
+
- azure (4adec98)
|
|
293
|
+
- Bump tar from 7.5.7 to 7.5.9 in /operator-cli (e41e98e)
|
|
294
|
+
- azure stack index.js split (de12272)
|
|
295
|
+
- Bump ajv from 8.17.1 to 8.18.0 in /operator-cli (76da21f)
|
|
296
|
+
- packer (9665fbc)
|
|
297
|
+
- remove stack api (db0fd4d)
|
|
298
|
+
- packer cleanup (fe1bf14)
|
|
299
|
+
- force refresh token (3a3d7e2)
|
|
300
|
+
- provision shell (2ad505f)
|
|
301
|
+
- azure vm management (91dcb31)
|
|
302
|
+
- azure specific (2b0cca8)
|
|
303
|
+
- azure packer (12175b8)
|
|
304
|
+
- init hashed pwd (db8523c)
|
|
305
|
+
- packer (5b5c7c4)
|
|
306
|
+
- doctor for azure vm (ed524fa)
|
|
307
|
+
- packer and 1pwd (c6d053e)
|
|
308
|
+
- split big index.js (dc85a1b)
|
|
309
|
+
- kafka volume update (21815ec)
|
|
310
|
+
- fix openai azure tools confirmation and flow (0118cd1)
|
|
311
|
+
- nighly fixx, test fix (5e0d04f)
|
|
312
|
+
- open ai training (cdc494a)
|
|
313
|
+
- openai integration in azure (1ca1475)
|
|
314
|
+
- ci (672cea9)
|
|
315
|
+
- refresh ghcr creds (4220c48)
|
|
316
|
+
- cleaned up version (1a0074f)
|
|
317
|
+
- traefik on ghcr and templates (8e31a05)
|
|
318
|
+
- apply fcl (e78911f)
|
|
319
|
+
- demo landscape (dd205fe)
|
|
320
|
+
- smarter login and schema (1af514f)
|
|
321
|
+
- no down before up unless something broke (56b1132)
|
|
322
|
+
- dai, reconcile failed containers (12907fa)
|
|
323
|
+
- reconcile dead container (7da75e4)
|
|
324
|
+
- defensive around storage buckets dir (b98871d)
|
|
325
|
+
- defensive around storage buckets dir (e86e132)
|
|
326
|
+
- gear in for multiarch (bf3fa3e)
|
|
327
|
+
- up autofix (99c7f89)
|
|
328
|
+
- autofix stale containers on up (43c7d0f)
|
|
329
|
+
- shared sessions fix (5de1359)
|
|
330
|
+
- share sessions between ui and tui (8321391)
|
|
331
|
+
- fix chat view display details (e263996)
|
|
332
|
+
- fix chat view display details (9babdda)
|
|
333
|
+
- tui up fixes (86e9f17)
|
|
334
|
+
- fix commands init (442538b)
|
|
335
|
+
- enable k3s profile (b2dcfc8)
|
|
336
|
+
- test up till job creation (656d388)
|
|
337
|
+
- tui fixes (0599779)
|
|
338
|
+
- cleanup (27731f0)
|
|
339
|
+
- train (90bf559)
|
|
340
|
+
- training (f809bf6)
|
|
341
|
+
- training (ba2b836)
|
|
342
|
+
- training (6fc5267)
|
|
343
|
+
- training (4af8ac9)
|
|
344
|
+
- fix build script (bd82836)
|
|
345
|
+
- infra test (5b79815)
|
|
346
|
+
- infra test (3a0ac05)
|
|
347
|
+
- infra test (e5c67b5)
|
|
348
|
+
- tests (ae7b621)
|
|
349
|
+
- tests (c09ae6a)
|
|
350
|
+
- update tui (4784153)
|
|
351
|
+
- training (0a5a330)
|
|
352
|
+
- tui (df4dd4a)
|
|
353
|
+
- pkg builds (4dc9993)
|
|
354
|
+
- also source env for creds (9a17d8f)
|
|
355
|
+
- fcl support (e8a5743)
|
|
356
|
+
- fcl support (8d6b6cd)
|
|
357
|
+
- fcl support (cb76a4a)
|
|
358
|
+
- bump package (df2ee85)
|
|
359
|
+
- add iam mgmt (2d3c294)
|
|
360
|
+
- fix k3s (976ae77)
|
|
361
|
+
- fix trino, add storage plugin (75cb1f4)
|
|
362
|
+
- add project root as config (a2863c6)
|
|
363
|
+
- failure learnings (637ef5c)
|
|
364
|
+
- Apple signed binaries (63a610e)
|
|
365
|
+
- send build info to apple for notary service (300c220)
|
|
366
|
+
- migration failure fixes (c7f0b2f)
|
|
367
|
+
- release to wipe clean pg on duplicate key error (a38bf4d)
|
|
368
|
+
- small fix (a26a674)
|
|
369
|
+
- cleanup (ca7405d)
|
|
370
|
+
- bump packages (59723b7)
|
|
371
|
+
|
|
1
372
|
## [0.1.29] - 2026-03-03
|
|
2
373
|
|
|
3
374
|
- improve up down and bootstrap script (b79ebaf)
|
package/package.json
CHANGED
|
@@ -516,8 +516,8 @@ async function runUp(program, registry, opts) {
|
|
|
516
516
|
}
|
|
517
517
|
|
|
518
518
|
// --url: persist FOUNDATION_PUBLIC_URL to .env and enable traefik profile if needed.
|
|
519
|
-
// Local up (no --url): set FOUNDATION_PUBLIC_URL=http://
|
|
520
|
-
const localBaseUrl = "http://
|
|
519
|
+
// Local up (no --url): set FOUNDATION_PUBLIC_URL=http://127.0.0.1:3002 in .env and do not use traefik.
|
|
520
|
+
const localBaseUrl = "http://127.0.0.1:3002";
|
|
521
521
|
let publicUrl = null;
|
|
522
522
|
let previousPublicUrl = null;
|
|
523
523
|
const envPath = path.join(root, ".env");
|
|
@@ -1439,8 +1439,8 @@ async function runUp(program, registry, opts) {
|
|
|
1439
1439
|
|
|
1440
1440
|
// Wait for frontend to be reachable before opening browser
|
|
1441
1441
|
const http = await import("node:http");
|
|
1442
|
-
const browseUrl = publicUrl || "http://
|
|
1443
|
-
const healthUrl = publicUrl ? "http://
|
|
1442
|
+
const browseUrl = publicUrl || "http://127.0.0.1:3002";
|
|
1443
|
+
const healthUrl = publicUrl ? "http://127.0.0.1:3002" : browseUrl;
|
|
1444
1444
|
const isLocalBrowse = browseUrl.startsWith("http://localhost") || browseUrl.startsWith("http://127.0.0.1");
|
|
1445
1445
|
if (isLocalBrowse && !publicUrl && fs.existsSync(path.join(root, ".env"))) {
|
|
1446
1446
|
const envContent = fs.readFileSync(path.join(root, ".env"), "utf8");
|
|
@@ -1448,7 +1448,7 @@ async function runUp(program, registry, opts) {
|
|
|
1448
1448
|
const envUrl = envUrlMatch?.[1]?.replace(/^["']|["']$/g, "");
|
|
1449
1449
|
if (envUrl && !envUrl.includes("localhost") && !envUrl.includes("127.0.0.1")) {
|
|
1450
1450
|
console.log(chalk.yellow(" ⚠ .env has FOUNDATION_PUBLIC_URL=" + envUrl + " but you're opening localhost — this can cause \"too many redirects\" on login."));
|
|
1451
|
-
console.log(chalk.dim(" For local use, set FOUNDATION_PUBLIC_URL=http://
|
|
1451
|
+
console.log(chalk.dim(" For local use, set FOUNDATION_PUBLIC_URL=http://127.0.0.1:3002 in .env and run: docker compose up -d foundation-frontend"));
|
|
1452
1452
|
}
|
|
1453
1453
|
}
|
|
1454
1454
|
console.log(chalk.dim(" Waiting for frontend to be ready..."));
|
|
@@ -1659,8 +1659,9 @@ async function patchFrontendUrl(root, profileArgs, publicUrl, execa) {
|
|
|
1659
1659
|
}
|
|
1660
1660
|
if (!imageName) return false;
|
|
1661
1661
|
|
|
1662
|
-
// The default baked-in URL is http://
|
|
1662
|
+
// The default baked-in URL is http://127.0.0.1:3002 (from FOUNDATION_PUBLIC_URL default).
|
|
1663
1663
|
// Also patch the backend URL so API calls reach the right host.
|
|
1664
|
+
// Match both localhost and 127.0.0.1 variants for compatibility.
|
|
1664
1665
|
const parsed = new URL(publicUrl);
|
|
1665
1666
|
const apiUrl = `${parsed.protocol}//${parsed.hostname}:9001`;
|
|
1666
1667
|
|
|
@@ -1668,7 +1669,9 @@ async function patchFrontendUrl(root, profileArgs, publicUrl, execa) {
|
|
|
1668
1669
|
`FROM ${imageName}`,
|
|
1669
1670
|
`USER root`,
|
|
1670
1671
|
`RUN find /app/.next -type f \\( -name '*.js' -o -name '*.json' \\) -exec sed -i \\`,
|
|
1672
|
+
` -e 's|http://127.0.0.1:3002|${publicUrl}|g' \\`,
|
|
1671
1673
|
` -e 's|http://localhost:3002|${publicUrl}|g' \\`,
|
|
1674
|
+
` -e 's|http://127.0.0.1:9001|${apiUrl}|g' \\`,
|
|
1672
1675
|
` -e 's|http://localhost:9001|${apiUrl}|g' \\`,
|
|
1673
1676
|
` {} + 2>/dev/null; true`,
|
|
1674
1677
|
`USER nextjs`,
|
|
@@ -161,7 +161,7 @@ export function register(api) {
|
|
|
161
161
|
.option("--active", "Show only active (running/queued) jobs")
|
|
162
162
|
.option("--all", "Show all jobs including finished")
|
|
163
163
|
.action(async (opts) => {
|
|
164
|
-
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://
|
|
164
|
+
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://127.0.0.1:8000";
|
|
165
165
|
const httpMod = watcherBase.startsWith("https") ? await import("node:https") : await import("node:http");
|
|
166
166
|
try {
|
|
167
167
|
const raw = await new Promise((resolve, reject) => {
|
|
@@ -212,7 +212,7 @@ export function register(api) {
|
|
|
212
212
|
.description("Show logs for a compute job")
|
|
213
213
|
.option("-n, --tail <lines>", "Number of log lines", "500")
|
|
214
214
|
.action(async (jobId, opts) => {
|
|
215
|
-
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://
|
|
215
|
+
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://127.0.0.1:8000";
|
|
216
216
|
const httpMod = watcherBase.startsWith("https") ? await import("node:https") : await import("node:http");
|
|
217
217
|
|
|
218
218
|
// Resolve string IDs (UUIDs) to numeric IDs via job list
|
|
@@ -3,7 +3,7 @@ import http from "node:http";
|
|
|
3
3
|
import https from "node:https";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
6
|
-
const DEFAULT_BASE_URL = "http://
|
|
6
|
+
const DEFAULT_BASE_URL = "http://127.0.0.1:9001/api";
|
|
7
7
|
const TOKEN_TTL_MS = 30 * 60 * 1000; // 30 minutes
|
|
8
8
|
|
|
9
9
|
/** Resolve API base URL: config.apiUrl, FOUNDATION_API_URL, or default. Ensures path ends with /api. */
|
|
@@ -259,7 +259,7 @@ export function registerReadTools(api, client) {
|
|
|
259
259
|
required: ["action"],
|
|
260
260
|
},
|
|
261
261
|
async execute(input) {
|
|
262
|
-
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://
|
|
262
|
+
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://127.0.0.1:8000";
|
|
263
263
|
const httpMod = watcherBase.startsWith("https") ? await import("node:https") : await import("node:http");
|
|
264
264
|
|
|
265
265
|
const fetchJSON = (url) => new Promise((resolve, reject) => {
|
|
@@ -2052,7 +2052,7 @@ export function registerWriteTools(api, client) {
|
|
|
2052
2052
|
|
|
2053
2053
|
// ── Compute jobs (from watcher API) ──
|
|
2054
2054
|
try {
|
|
2055
|
-
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://
|
|
2055
|
+
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://127.0.0.1:8000";
|
|
2056
2056
|
const jobsRaw = await new Promise((resolve) => {
|
|
2057
2057
|
const req = http.get(`${watcherBase}/api/v1/jobs?per_page=100`, { timeout: 5000 }, (res) => {
|
|
2058
2058
|
let body = "";
|
package/src/ui/tui/App.js
CHANGED
|
@@ -2904,12 +2904,17 @@ export async function launchTui(root, registry, opts = {}) {
|
|
|
2904
2904
|
}
|
|
2905
2905
|
}
|
|
2906
2906
|
};
|
|
2907
|
+
// Catch-all for mouse-move position reports that some Windows/ConPTY
|
|
2908
|
+
// terminals emit in non-standard formats (e.g. CSI with lowercase 'm',
|
|
2909
|
+
// extra semicolons, or raw coordinate bytes after CSI).
|
|
2910
|
+
const CATCHALL_MOUSE_RE = /\x1b\[<?\d+;\d+;\d+[mM]/g;
|
|
2907
2911
|
const stripMouseSequences = (str) => {
|
|
2908
2912
|
// Strip all complete mouse sequences, returning any remaining text
|
|
2909
2913
|
return str
|
|
2910
2914
|
.replace(SGR_MOUSE_RE, "")
|
|
2911
2915
|
.replace(CSI_MOUSE_RE, "")
|
|
2912
|
-
.replace(LEGACY_MOUSE_RE, "")
|
|
2916
|
+
.replace(LEGACY_MOUSE_RE, "")
|
|
2917
|
+
.replace(CATCHALL_MOUSE_RE, "");
|
|
2913
2918
|
};
|
|
2914
2919
|
const origStdinEmit = process.stdin.emit.bind(process.stdin);
|
|
2915
2920
|
process.stdin.emit = function (event, ...args) {
|
|
@@ -3118,10 +3123,13 @@ export async function launchTui(root, registry, opts = {}) {
|
|
|
3118
3123
|
// small escape sequences during idle).
|
|
3119
3124
|
// \x1b[?1000h = click/wheel tracking (basic compatibility; helps on some Windows terminals)
|
|
3120
3125
|
// \x1b[?1002h = button-event tracking (press, release, wheel)
|
|
3121
|
-
// \x1b[?1003h = any-event tracking (fallback when 1002 is unreliable)
|
|
3122
3126
|
// \x1b[?1006h = SGR extended mode (scroll wheel as button 64/65)
|
|
3123
|
-
//
|
|
3124
|
-
|
|
3127
|
+
// NOTE: ?1003h (any-event/move tracking) deliberately omitted — it floods
|
|
3128
|
+
// stdin with mouse-position reports on every cursor move. Windows SSH
|
|
3129
|
+
// terminals (Windows Terminal, PuTTY, ConPTY) often send these in formats
|
|
3130
|
+
// the strip regex cannot match, causing raw escape codes to appear in the
|
|
3131
|
+
// input box. ?1015h (URXVT decimal mode) also omitted for similar reasons.
|
|
3132
|
+
const MOUSE_ENABLE = "\x1b[?1000h\x1b[?1002h\x1b[?1006h";
|
|
3125
3133
|
origStdoutWrite(MOUSE_ENABLE);
|
|
3126
3134
|
// Re-assert mouse tracking every 5s in case a render or resize resets modes
|
|
3127
3135
|
const mouseTimerId = setInterval(() => origStdoutWrite(MOUSE_ENABLE), 5000);
|
|
@@ -3155,7 +3163,7 @@ export async function launchTui(root, registry, opts = {}) {
|
|
|
3155
3163
|
// Clear the full-screen content, restore terminal state
|
|
3156
3164
|
process.stdout.write(
|
|
3157
3165
|
"\x1b[2J\x1b[H" // clear screen, cursor to 1,1
|
|
3158
|
-
+ "\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1006l\x1b[?1015l" // disable all mouse tracking modes
|
|
3166
|
+
+ "\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1006l\x1b[?1015l" // disable all mouse tracking modes (include 1003/1015 in case previously enabled)
|
|
3159
3167
|
+ "\x1b[?25h" // show cursor
|
|
3160
3168
|
+ "\x1b[0m" // reset attributes
|
|
3161
3169
|
);
|
package/src/web/api.js
CHANGED
|
@@ -17,7 +17,7 @@ import { streamAssistantReply } from "../agent/llm.js";
|
|
|
17
17
|
*/
|
|
18
18
|
export function createApiRoutes(core, shared = {}) {
|
|
19
19
|
const api = new Hono();
|
|
20
|
-
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://
|
|
20
|
+
const watcherBase = process.env.FOUNDATION_WATCHER_URL || "http://127.0.0.1:8000";
|
|
21
21
|
const STOP_WORDS = new Set([
|
|
22
22
|
"the", "and", "for", "with", "from", "this", "that", "into", "your", "our",
|
|
23
23
|
"goal", "plan", "please", "need", "want", "show", "make", "landscape",
|