neural-loom 0.3.1 → 0.3.2
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +1 -1
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page/react-loadable-manifest.json +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0tq0maq._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0tq0maq._.js.map +1 -1
- package/.next/server/middleware/middleware-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/middleware-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{125kj92.ndij4.js → 0qc.k.i3-z5fx.js} +1 -1
- package/.next/static/chunks/{0jboepcsqzdio.js → 0ru16isbveym7.js} +4 -4
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/package.json +1 -1
- package/src/app/components/TerminalConsole.tsx +47 -28
- /package/.next/static/{3wzjx3BGzCrq3vZdFE3N- → 2ep0r9tVD7fxPpgavvvkt}/_buildManifest.js +0 -0
- /package/.next/static/{3wzjx3BGzCrq3vZdFE3N- → 2ep0r9tVD7fxPpgavvvkt}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{3wzjx3BGzCrq3vZdFE3N- → 2ep0r9tVD7fxPpgavvvkt}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":210,"timestamp":235659873348,"id":4,"parentId":1,"tags":{},"startTime":1782348948173,"traceId":"c635ab0daa20d2c1"},{"name":"load-custom-routes","duration":325,"timestamp":235659873662,"id":5,"parentId":1,"tags":{},"startTime":1782348948173,"traceId":"c635ab0daa20d2c1"},{"name":"create-dist-dir","duration":3148,"timestamp":235659874037,"id":6,"parentId":1,"tags":{},"startTime":1782348948173,"traceId":"c635ab0daa20d2c1"},{"name":"clean","duration":43616,"timestamp":235659881369,"id":7,"parentId":1,"tags":{},"startTime":1782348948181,"traceId":"c635ab0daa20d2c1"},{"name":"discover-routes","duration":26662,"timestamp":235660009740,"id":8,"parentId":1,"tags":{},"startTime":1782348948309,"traceId":"c635ab0daa20d2c1"},{"name":"create-root-mapping","duration":117,"timestamp":235660036461,"id":9,"parentId":1,"tags":{},"startTime":1782348948336,"traceId":"c635ab0daa20d2c1"},{"name":"generate-route-types","duration":89790,"timestamp":235660044414,"id":10,"parentId":1,"tags":{},"startTime":1782348948344,"traceId":"c635ab0daa20d2c1"},{"name":"public-dir-conflict-check","duration":97,"timestamp":235660134269,"id":11,"parentId":1,"tags":{},"startTime":1782348948434,"traceId":"c635ab0daa20d2c1"},{"name":"generate-routes-manifest","duration":7774,"timestamp":235660134449,"id":12,"parentId":1,"tags":{},"startTime":1782348948434,"traceId":"c635ab0daa20d2c1"},{"name":"run-turbopack","duration":30524265,"timestamp":235660156492,"id":14,"parentId":1,"tags":{},"startTime":1782348948456,"traceId":"c635ab0daa20d2c1"},{"name":"turbopack-build-events","duration":68,"timestamp":235661035555,"id":15,"parentId":1,"tags":{},"startTime":1782348949335,"traceId":"c635ab0daa20d2c1"},{"name":"run-typescript","duration":44296056,"timestamp":235690709799,"id":16,"parentId":1,"tags":{},"startTime":1782348979009,"traceId":"c635ab0daa20d2c1"},{"name":"generate-required-server-files","duration":7080,"timestamp":235735006364,"id":18,"parentId":1,"tags":{},"startTime":1782349023306,"traceId":"c635ab0daa20d2c1"},{"name":"check-static-error-page","duration":40501,"timestamp":235735108152,"id":20,"parentId":19,"tags":{},"startTime":1782349023408,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1107947,"timestamp":235735149281,"id":46,"parentId":21,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1148500,"timestamp":235735108795,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782349023408,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1108091,"timestamp":235735149509,"id":47,"parentId":22,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1132214,"timestamp":235735125413,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1227166,"timestamp":235735149542,"id":48,"parentId":23,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1251125,"timestamp":235735125615,"id":23,"parentId":19,"tags":{"page":"/api/configs"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1242697,"timestamp":235735149568,"id":49,"parentId":24,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1266617,"timestamp":235735125681,"id":24,"parentId":19,"tags":{"page":"/api/context/aider"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1254490,"timestamp":235735149594,"id":50,"parentId":25,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1278391,"timestamp":235735125727,"id":25,"parentId":19,"tags":{"page":"/api/context/claude"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1278080,"timestamp":235735149622,"id":51,"parentId":26,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1301976,"timestamp":235735125763,"id":26,"parentId":19,"tags":{"page":"/api/context"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1298007,"timestamp":235735149649,"id":52,"parentId":27,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1321896,"timestamp":235735125794,"id":27,"parentId":19,"tags":{"page":"/api/context/ssh"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1309021,"timestamp":235735149685,"id":53,"parentId":29,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1323593,"timestamp":235735135146,"id":29,"parentId":19,"tags":{"page":"/api/git"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1316777,"timestamp":235735149713,"id":54,"parentId":30,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1331261,"timestamp":235735135260,"id":30,"parentId":19,"tags":{"page":"/api/recents"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1376654,"timestamp":235735149734,"id":55,"parentId":31,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1391113,"timestamp":235735135310,"id":31,"parentId":19,"tags":{"page":"/api/sessions/inject"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1393841,"timestamp":235735149764,"id":56,"parentId":32,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1408294,"timestamp":235735135343,"id":32,"parentId":19,"tags":{"page":"/api/sessions/input"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1402076,"timestamp":235735149776,"id":57,"parentId":33,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1416515,"timestamp":235735135373,"id":33,"parentId":19,"tags":{"page":"/api/sessions/launch"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1410643,"timestamp":235735149782,"id":58,"parentId":34,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1425052,"timestamp":235735135410,"id":34,"parentId":19,"tags":{"page":"/api/sessions"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1425133,"timestamp":235735149789,"id":59,"parentId":35,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1439491,"timestamp":235735135464,"id":35,"parentId":19,"tags":{"page":"/api/sessions/scope"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1439018,"timestamp":235735149797,"id":60,"parentId":36,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1453342,"timestamp":235735135507,"id":36,"parentId":19,"tags":{"page":"/api/sessions/start"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1454263,"timestamp":235735149804,"id":61,"parentId":37,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1468567,"timestamp":235735135533,"id":37,"parentId":19,"tags":{"page":"/api/sessions/stats"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1476525,"timestamp":235735149810,"id":62,"parentId":38,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1490811,"timestamp":235735135564,"id":38,"parentId":19,"tags":{"page":"/api/sessions/stop"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1483449,"timestamp":235735149815,"id":63,"parentId":39,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1497716,"timestamp":235735135587,"id":39,"parentId":19,"tags":{"page":"/api/sessions/upload-image"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1488774,"timestamp":235735149821,"id":64,"parentId":40,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1503015,"timestamp":235735135612,"id":40,"parentId":19,"tags":{"page":"/api/sql/connections"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1494952,"timestamp":235735149826,"id":65,"parentId":41,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1509174,"timestamp":235735135639,"id":41,"parentId":19,"tags":{"page":"/api/sql/mcp"},"startTime":1782349023435,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1500371,"timestamp":235735149831,"id":66,"parentId":42,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1514575,"timestamp":235735135663,"id":42,"parentId":19,"tags":{"page":"/api/sql/query"},"startTime":1782349023447,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1508381,"timestamp":235735149835,"id":67,"parentId":43,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1509993,"timestamp":235735148259,"id":43,"parentId":19,"tags":{"page":"/api/sql/schema"},"startTime":1782349023448,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1515403,"timestamp":235735149840,"id":68,"parentId":44,"tags":{},"startTime":1782349023449,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1516946,"timestamp":235735148334,"id":44,"parentId":19,"tags":{"page":"/api/telemetry"},"startTime":1782349023448,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1477835,"timestamp":235735197239,"id":69,"parentId":28,"tags":{},"startTime":1782349023497,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1549282,"timestamp":235735125827,"id":28,"parentId":19,"tags":{"page":"/api/files"},"startTime":1782349023425,"traceId":"c635ab0daa20d2c1"},{"name":"is-page-static","duration":1484567,"timestamp":235735197542,"id":70,"parentId":45,"tags":{},"startTime":1782349023497,"traceId":"c635ab0daa20d2c1"},{"name":"check-page","duration":1533746,"timestamp":235735148391,"id":45,"parentId":19,"tags":{"page":"/"},"startTime":1782349023448,"traceId":"c635ab0daa20d2c1"},{"name":"static-check","duration":1574532,"timestamp":235735107623,"id":19,"parentId":1,"tags":{},"startTime":1782349023407,"traceId":"c635ab0daa20d2c1"},{"name":"write-routes-manifest","duration":767,"timestamp":235736689383,"id":72,"parentId":1,"tags":{},"startTime":1782349024989,"traceId":"c635ab0daa20d2c1"},{"name":"load-dotenv","duration":27,"timestamp":235736705422,"id":75,"parentId":74,"tags":{},"startTime":1782349025005,"traceId":"c635ab0daa20d2c1"},{"name":"run-export-path-map","duration":302,"timestamp":235736710778,"id":76,"parentId":74,"tags":{},"startTime":1782349025010,"traceId":"c635ab0daa20d2c1"},{"name":"next-export","duration":659338,"timestamp":235736704718,"id":74,"parentId":1,"tags":{},"startTime":1782349025004,"traceId":"c635ab0daa20d2c1"},{"name":"move-exported-app-not-found-","duration":2637,"timestamp":235737376023,"id":77,"parentId":73,"tags":{},"startTime":1782349025675,"traceId":"c635ab0daa20d2c1"},{"name":"move-exported-app-global-error-","duration":5425,"timestamp":235737378795,"id":78,"parentId":73,"tags":{},"startTime":1782349025678,"traceId":"c635ab0daa20d2c1"},{"name":"static-generation","duration":692518,"timestamp":235736695260,"id":73,"parentId":1,"tags":{},"startTime":1782349024995,"traceId":"c635ab0daa20d2c1"},{"name":"write-routes-manifest","duration":537,"timestamp":235737391186,"id":79,"parentId":1,"tags":{},"startTime":1782349025691,"traceId":"c635ab0daa20d2c1"},{"name":"print-tree-view","duration":25735,"timestamp":235737408482,"id":80,"parentId":1,"tags":{},"startTime":1782349025708,"traceId":"c635ab0daa20d2c1"},{"name":"write-route-bundle-stats","duration":13159,"timestamp":235737434240,"id":81,"parentId":1,"tags":{},"startTime":1782349025734,"traceId":"c635ab0daa20d2c1"},{"name":"telemetry-flush","duration":453916,"timestamp":235737447419,"id":82,"parentId":1,"tags":{},"startTime":1782349025747,"traceId":"c635ab0daa20d2c1"},{"name":"next-build","duration":78360785,"timestamp":235659540574,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782348947840,"traceId":"c635ab0daa20d2c1"}]
|
|
1
|
+
[{"name":"generate-buildid","duration":185,"timestamp":238730837363,"id":4,"parentId":1,"tags":{},"startTime":1782352019137,"traceId":"69f6318164c8db3e"},{"name":"load-custom-routes","duration":322,"timestamp":238730837676,"id":5,"parentId":1,"tags":{},"startTime":1782352019137,"traceId":"69f6318164c8db3e"},{"name":"create-dist-dir","duration":489,"timestamp":238730838042,"id":6,"parentId":1,"tags":{},"startTime":1782352019137,"traceId":"69f6318164c8db3e"},{"name":"clean","duration":21405,"timestamp":238730839811,"id":7,"parentId":1,"tags":{},"startTime":1782352019139,"traceId":"69f6318164c8db3e"},{"name":"discover-routes","duration":4761,"timestamp":238730885426,"id":8,"parentId":1,"tags":{},"startTime":1782352019185,"traceId":"69f6318164c8db3e"},{"name":"create-root-mapping","duration":69,"timestamp":238730890227,"id":9,"parentId":1,"tags":{},"startTime":1782352019190,"traceId":"69f6318164c8db3e"},{"name":"generate-route-types","duration":16332,"timestamp":238730891799,"id":10,"parentId":1,"tags":{},"startTime":1782352019191,"traceId":"69f6318164c8db3e"},{"name":"public-dir-conflict-check","duration":79,"timestamp":238730908187,"id":11,"parentId":1,"tags":{},"startTime":1782352019208,"traceId":"69f6318164c8db3e"},{"name":"generate-routes-manifest","duration":2166,"timestamp":238730908465,"id":12,"parentId":1,"tags":{},"startTime":1782352019208,"traceId":"69f6318164c8db3e"},{"name":"run-turbopack","duration":11704867,"timestamp":238730913672,"id":14,"parentId":1,"tags":{},"startTime":1782352019213,"traceId":"69f6318164c8db3e"},{"name":"turbopack-build-events","duration":63,"timestamp":238731156640,"id":15,"parentId":1,"tags":{},"startTime":1782352019456,"traceId":"69f6318164c8db3e"},{"name":"run-typescript","duration":17487777,"timestamp":238742623100,"id":16,"parentId":1,"tags":{},"startTime":1782352030922,"traceId":"69f6318164c8db3e"},{"name":"generate-required-server-files","duration":756,"timestamp":238760111460,"id":18,"parentId":1,"tags":{},"startTime":1782352048411,"traceId":"69f6318164c8db3e"},{"name":"check-static-error-page","duration":15230,"timestamp":238760137624,"id":20,"parentId":19,"tags":{},"startTime":1782352048437,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":390677,"timestamp":238760153283,"id":46,"parentId":21,"tags":{},"startTime":1782352048453,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":401618,"timestamp":238760142423,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782352048442,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":395728,"timestamp":238760153454,"id":47,"parentId":22,"tags":{},"startTime":1782352048453,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":405586,"timestamp":238760143633,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782352048443,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":436398,"timestamp":238760153477,"id":48,"parentId":23,"tags":{},"startTime":1782352048453,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":446103,"timestamp":238760143800,"id":23,"parentId":19,"tags":{"page":"/api/configs"},"startTime":1782352048443,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":448682,"timestamp":238760153498,"id":49,"parentId":24,"tags":{},"startTime":1782352048453,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":458352,"timestamp":238760143857,"id":24,"parentId":19,"tags":{"page":"/api/context/aider"},"startTime":1782352048443,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":452543,"timestamp":238760153517,"id":50,"parentId":25,"tags":{},"startTime":1782352048453,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":462184,"timestamp":238760143903,"id":25,"parentId":19,"tags":{"page":"/api/context/claude"},"startTime":1782352048443,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":455040,"timestamp":238760155534,"id":51,"parentId":26,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":466629,"timestamp":238760143973,"id":26,"parentId":19,"tags":{"page":"/api/context"},"startTime":1782352048443,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":458410,"timestamp":238760155568,"id":52,"parentId":27,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":465944,"timestamp":238760148054,"id":27,"parentId":19,"tags":{"page":"/api/context/ssh"},"startTime":1782352048447,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":463484,"timestamp":238760155599,"id":53,"parentId":29,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":467546,"timestamp":238760151564,"id":29,"parentId":19,"tags":{"page":"/api/git"},"startTime":1782352048451,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":469767,"timestamp":238760155620,"id":54,"parentId":30,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":473735,"timestamp":238760151684,"id":30,"parentId":19,"tags":{"page":"/api/recents"},"startTime":1782352048451,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":479508,"timestamp":238760155635,"id":55,"parentId":31,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":483431,"timestamp":238760151740,"id":31,"parentId":19,"tags":{"page":"/api/sessions/inject"},"startTime":1782352048451,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":482933,"timestamp":238760155655,"id":56,"parentId":32,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":486834,"timestamp":238760151778,"id":32,"parentId":19,"tags":{"page":"/api/sessions/input"},"startTime":1782352048451,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":487417,"timestamp":238760155665,"id":57,"parentId":33,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":491298,"timestamp":238760151813,"id":33,"parentId":19,"tags":{"page":"/api/sessions/launch"},"startTime":1782352048451,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":488628,"timestamp":238760155669,"id":58,"parentId":34,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":492194,"timestamp":238760152126,"id":34,"parentId":19,"tags":{"page":"/api/sessions"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":490849,"timestamp":238760155674,"id":59,"parentId":35,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":494421,"timestamp":238760152275,"id":35,"parentId":19,"tags":{"page":"/api/sessions/scope"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":494053,"timestamp":238760155679,"id":60,"parentId":36,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":497478,"timestamp":238760152339,"id":36,"parentId":19,"tags":{"page":"/api/sessions/start"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":496460,"timestamp":238760155683,"id":61,"parentId":37,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":499729,"timestamp":238760152434,"id":37,"parentId":19,"tags":{"page":"/api/sessions/stats"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":498678,"timestamp":238760155687,"id":62,"parentId":38,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":501899,"timestamp":238760152488,"id":38,"parentId":19,"tags":{"page":"/api/sessions/stop"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":500289,"timestamp":238760155691,"id":63,"parentId":39,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":503477,"timestamp":238760152518,"id":39,"parentId":19,"tags":{"page":"/api/sessions/upload-image"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":502651,"timestamp":238760155694,"id":64,"parentId":40,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":505813,"timestamp":238760152548,"id":40,"parentId":19,"tags":{"page":"/api/sql/connections"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":512074,"timestamp":238760155698,"id":65,"parentId":41,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":515227,"timestamp":238760152579,"id":41,"parentId":19,"tags":{"page":"/api/sql/mcp"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":520350,"timestamp":238760155702,"id":66,"parentId":42,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":523478,"timestamp":238760152606,"id":42,"parentId":19,"tags":{"page":"/api/sql/query"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":520890,"timestamp":238760155705,"id":67,"parentId":43,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":523980,"timestamp":238760152634,"id":43,"parentId":19,"tags":{"page":"/api/sql/schema"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":522541,"timestamp":238760155708,"id":68,"parentId":44,"tags":{},"startTime":1782352048455,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":525601,"timestamp":238760152662,"id":44,"parentId":19,"tags":{"page":"/api/telemetry"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":525606,"timestamp":238760167577,"id":69,"parentId":28,"tags":{},"startTime":1782352048467,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":545018,"timestamp":238760148195,"id":28,"parentId":19,"tags":{"page":"/api/files"},"startTime":1782352048448,"traceId":"69f6318164c8db3e"},{"name":"is-page-static","duration":534245,"timestamp":238760167873,"id":70,"parentId":45,"tags":{},"startTime":1782352048467,"traceId":"69f6318164c8db3e"},{"name":"check-page","duration":549457,"timestamp":238760152688,"id":45,"parentId":19,"tags":{"page":"/"},"startTime":1782352048452,"traceId":"69f6318164c8db3e"},{"name":"static-check","duration":565438,"timestamp":238760136726,"id":19,"parentId":1,"tags":{},"startTime":1782352048436,"traceId":"69f6318164c8db3e"},{"name":"write-routes-manifest","duration":203,"timestamp":238760707623,"id":72,"parentId":1,"tags":{},"startTime":1782352049007,"traceId":"69f6318164c8db3e"},{"name":"load-dotenv","duration":31,"timestamp":238760715380,"id":75,"parentId":74,"tags":{},"startTime":1782352049015,"traceId":"69f6318164c8db3e"},{"name":"run-export-path-map","duration":2353,"timestamp":238760720771,"id":76,"parentId":74,"tags":{},"startTime":1782352049020,"traceId":"69f6318164c8db3e"},{"name":"next-export","duration":310568,"timestamp":238760713645,"id":74,"parentId":1,"tags":{},"startTime":1782352049013,"traceId":"69f6318164c8db3e"},{"name":"move-exported-app-not-found-","duration":366,"timestamp":238761025900,"id":77,"parentId":73,"tags":{},"startTime":1782352049325,"traceId":"69f6318164c8db3e"},{"name":"move-exported-app-global-error-","duration":230,"timestamp":238761026332,"id":78,"parentId":73,"tags":{},"startTime":1782352049326,"traceId":"69f6318164c8db3e"},{"name":"static-generation","duration":316696,"timestamp":238760710810,"id":73,"parentId":1,"tags":{},"startTime":1782352049010,"traceId":"69f6318164c8db3e"},{"name":"write-routes-manifest","duration":299,"timestamp":238761027576,"id":79,"parentId":1,"tags":{},"startTime":1782352049327,"traceId":"69f6318164c8db3e"},{"name":"print-tree-view","duration":8108,"timestamp":238761037714,"id":80,"parentId":1,"tags":{},"startTime":1782352049337,"traceId":"69f6318164c8db3e"},{"name":"write-route-bundle-stats","duration":8919,"timestamp":238761045845,"id":81,"parentId":1,"tags":{},"startTime":1782352049345,"traceId":"69f6318164c8db3e"},{"name":"telemetry-flush","duration":476271,"timestamp":238761054786,"id":82,"parentId":1,"tags":{},"startTime":1782352049354,"traceId":"69f6318164c8db3e"},{"name":"next-build","duration":30759270,"timestamp":238730771808,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782352019071,"traceId":"69f6318164c8db3e"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":11704867,"timestamp":238730913672,"id":14,"parentId":1,"tags":{},"startTime":1782352019213,"traceId":"69f6318164c8db3e"},{"name":"turbopack-build-events","duration":63,"timestamp":238731156640,"id":15,"parentId":1,"tags":{},"startTime":1782352019456,"traceId":"69f6318164c8db3e"},{"name":"run-typescript","duration":17487777,"timestamp":238742623100,"id":16,"parentId":1,"tags":{},"startTime":1782352030922,"traceId":"69f6318164c8db3e"},{"name":"static-check","duration":565438,"timestamp":238760136726,"id":19,"parentId":1,"tags":{},"startTime":1782352048436,"traceId":"69f6318164c8db3e"},{"name":"static-generation","duration":316696,"timestamp":238760710810,"id":73,"parentId":1,"tags":{},"startTime":1782352049010,"traceId":"69f6318164c8db3e"},{"name":"telemetry-flush","duration":476271,"timestamp":238761054786,"id":82,"parentId":1,"tags":{},"startTime":1782352049354,"traceId":"69f6318164c8db3e"},{"name":"next-build","duration":30759270,"timestamp":238730771808,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782352019071,"traceId":"69f6318164c8db3e"}]
|
package/package.json
CHANGED
|
@@ -29,23 +29,29 @@ async function copyTextToClipboard(text: string): Promise<CopyResult> {
|
|
|
29
29
|
if (typeof window === "undefined") return { ok: false, error: "no window" };
|
|
30
30
|
if (!text) return { ok: false, error: "empty selection" };
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
|
|
32
|
+
// Secure context (localhost, PWA, https): trust ONLY the async Clipboard API.
|
|
33
|
+
// It is reliable when it resolves — and we deliberately don't fall back to
|
|
34
|
+
// execCommand here, because execCommand can return a false-positive `true`
|
|
35
|
+
// (reporting success while copying nothing). Surfacing the real rejection is
|
|
36
|
+
// more useful than a fake "Copied".
|
|
37
|
+
if (window.isSecureContext) {
|
|
38
|
+
if (!navigator.clipboard?.writeText) {
|
|
39
|
+
return { ok: false, error: "Clipboard API unavailable in this browser" };
|
|
40
|
+
}
|
|
37
41
|
try {
|
|
38
42
|
await navigator.clipboard.writeText(text);
|
|
39
43
|
return { ok: true, method: "clipboard-api" };
|
|
40
44
|
} catch (err) {
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
return {
|
|
46
|
+
ok: false,
|
|
47
|
+
method: "clipboard-api",
|
|
48
|
+
error: err instanceof Error ? `${err.name}: ${err.message}` : String(err),
|
|
49
|
+
};
|
|
43
50
|
}
|
|
44
|
-
} else if (!window.isSecureContext) {
|
|
45
|
-
apiError = "not a secure context (access via http://localhost for the Clipboard API)";
|
|
46
51
|
}
|
|
47
52
|
|
|
48
|
-
//
|
|
53
|
+
// Non-secure context (e.g. plain-HTTP LAN access): execCommand is the only
|
|
54
|
+
// option. Note its success value is not fully reliable.
|
|
49
55
|
try {
|
|
50
56
|
const textArea = document.createElement("textarea");
|
|
51
57
|
textArea.value = text;
|
|
@@ -59,10 +65,10 @@ async function copyTextToClipboard(text: string): Promise<CopyResult> {
|
|
|
59
65
|
const successful = document.execCommand("copy");
|
|
60
66
|
document.body.removeChild(textArea);
|
|
61
67
|
if (successful) return { ok: true, method: "execCommand" };
|
|
62
|
-
return { ok: false, error:
|
|
68
|
+
return { ok: false, method: "execCommand", error: "execCommand returned false (use http://localhost for the Clipboard API)" };
|
|
63
69
|
} catch (err) {
|
|
64
70
|
const ex = err instanceof Error ? err.message : String(err);
|
|
65
|
-
return { ok: false,
|
|
71
|
+
return { ok: false, method: "execCommand", error: ex };
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
74
|
|
|
@@ -88,13 +94,19 @@ export default function TerminalConsole({ sessionId, height = "400px", wsPort =
|
|
|
88
94
|
const [copied, setCopied] = useState(false);
|
|
89
95
|
const [copyError, setCopyError] = useState<string | null>(null);
|
|
90
96
|
const copiedTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
97
|
+
// Last non-empty terminal selection. The toolbar/right-click read this because
|
|
98
|
+
// clicking a button/menu clears the live xterm selection before the handler runs.
|
|
99
|
+
const lastSelectionRef = useRef("");
|
|
91
100
|
|
|
92
|
-
// Copy the given text (or the current terminal selection) to the clipboard.
|
|
101
|
+
// Copy the given text (or the last/current terminal selection) to the clipboard.
|
|
102
|
+
// IMPORTANT: must be invoked synchronously inside a user gesture (mouseup, click,
|
|
103
|
+
// keydown) so the Clipboard API write is permitted — otherwise it silently fails.
|
|
93
104
|
// Stable identity so the terminal effect can use it without re-initializing.
|
|
94
105
|
// `explicit` = triggered by a button/shortcut (surface "nothing selected").
|
|
95
106
|
const copySelection = useCallback((text?: string, explicit = false): void => {
|
|
96
107
|
const term = xtermRef.current;
|
|
97
|
-
const
|
|
108
|
+
const live = term?.getSelection() ?? "";
|
|
109
|
+
const selection = (text ?? (live || lastSelectionRef.current) ?? "").trim();
|
|
98
110
|
if (!selection) {
|
|
99
111
|
if (explicit) {
|
|
100
112
|
setCopyError("Nothing selected to copy");
|
|
@@ -245,31 +257,39 @@ export default function TerminalConsole({ sessionId, height = "400px", wsPort =
|
|
|
245
257
|
const handleMouseDown = (e: MouseEvent) => {
|
|
246
258
|
if (e.button === 2 && term.hasSelection()) e.stopPropagation();
|
|
247
259
|
};
|
|
260
|
+
// Copy-on-select. This runs on the bubble phase AFTER xterm has finalized the
|
|
261
|
+
// selection, and — crucially — synchronously inside the mouseup user gesture,
|
|
262
|
+
// so the Clipboard API write is allowed (the previous setTimeout ran outside
|
|
263
|
+
// the gesture and silently failed). Left-button only.
|
|
248
264
|
const handleMouseUp = (e: MouseEvent) => {
|
|
249
|
-
if (e.button === 2 && term.hasSelection())
|
|
265
|
+
if (e.button === 2 && term.hasSelection()) {
|
|
266
|
+
e.stopPropagation();
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
if (e.button === 0) {
|
|
270
|
+
const sel = term.getSelection();
|
|
271
|
+
if (sel && sel.trim()) copySelection(sel);
|
|
272
|
+
}
|
|
250
273
|
};
|
|
251
274
|
const handleContextMenu = (e: MouseEvent) => {
|
|
252
|
-
|
|
275
|
+
const sel = term.getSelection() || lastSelectionRef.current;
|
|
276
|
+
if (sel && sel.trim()) {
|
|
253
277
|
e.preventDefault();
|
|
254
|
-
copySelection(
|
|
255
|
-
term.clearSelection();
|
|
278
|
+
copySelection(sel);
|
|
256
279
|
}
|
|
257
280
|
};
|
|
258
281
|
if (container) {
|
|
259
282
|
container.addEventListener("mousedown", handleMouseDown, true);
|
|
260
|
-
|
|
283
|
+
// bubble phase: xterm has already committed the selection by now
|
|
284
|
+
container.addEventListener("mouseup", handleMouseUp);
|
|
261
285
|
container.addEventListener("contextmenu", handleContextMenu);
|
|
262
286
|
}
|
|
263
287
|
|
|
264
|
-
//
|
|
265
|
-
//
|
|
266
|
-
// immediately (debounced) rather than waiting for a later Ctrl+C/right-click.
|
|
267
|
-
let selTimer: ReturnType<typeof setTimeout> | null = null;
|
|
288
|
+
// Track the latest non-empty selection so button / shortcut / right-click can
|
|
289
|
+
// copy it even after a click or redraw clears the live xterm selection.
|
|
268
290
|
const selDisposable = term.onSelectionChange(() => {
|
|
269
291
|
const sel = term.getSelection();
|
|
270
|
-
if (
|
|
271
|
-
if (selTimer) clearTimeout(selTimer);
|
|
272
|
-
selTimer = setTimeout(() => copySelection(sel), 150);
|
|
292
|
+
if (sel && sel.trim()) lastSelectionRef.current = sel;
|
|
273
293
|
});
|
|
274
294
|
|
|
275
295
|
// Attach search key handler and clipboard copy handler
|
|
@@ -476,13 +496,12 @@ export default function TerminalConsole({ sessionId, height = "400px", wsPort =
|
|
|
476
496
|
return () => {
|
|
477
497
|
isDisposed = true;
|
|
478
498
|
clearTimeout(fitTimeout);
|
|
479
|
-
if (selTimer) clearTimeout(selTimer);
|
|
480
499
|
selDisposable.dispose();
|
|
481
500
|
resizeObserver.disconnect();
|
|
482
501
|
ws.close();
|
|
483
502
|
if (container) {
|
|
484
503
|
container.removeEventListener("mousedown", handleMouseDown, true);
|
|
485
|
-
container.removeEventListener("mouseup", handleMouseUp
|
|
504
|
+
container.removeEventListener("mouseup", handleMouseUp);
|
|
486
505
|
container.removeEventListener("contextmenu", handleContextMenu);
|
|
487
506
|
}
|
|
488
507
|
try {
|
|
File without changes
|
/package/.next/static/{3wzjx3BGzCrq3vZdFE3N- → 2ep0r9tVD7fxPpgavvvkt}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|