@nagellabs/libi 0.1.7 → 0.1.9

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.
Files changed (165) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +5 -5
  3. package/.next/diagnostics/route-bundle-stats.json +16 -16
  4. package/.next/externals-manifest.json +1 -1
  5. package/.next/fallback-build-manifest.json +3 -3
  6. package/.next/prerender-manifest.json +3 -3
  7. package/.next/required-server-files.js +1 -1
  8. package/.next/required-server-files.json +1 -1
  9. package/.next/server/app/(app)/editor/page/build-manifest.json +2 -2
  10. package/.next/server/app/(app)/instructions/page/build-manifest.json +2 -2
  11. package/.next/server/app/(app)/mcps-skills/page/build-manifest.json +2 -2
  12. package/.next/server/app/(app)/mcps-skills/skills/[name]/page/build-manifest.json +2 -2
  13. package/.next/server/app/(app)/mcps-skills/skills/new/page/build-manifest.json +2 -2
  14. package/.next/server/app/(app)/settings/page/build-manifest.json +2 -2
  15. package/.next/server/app/_global-error/page/build-manifest.json +2 -2
  16. package/.next/server/app/_global-error.html +1 -1
  17. package/.next/server/app/_global-error.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  20. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  22. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/_not-found/page/build-manifest.json +2 -2
  24. package/.next/server/app/api/agent/cancel/route.js +8 -8
  25. package/.next/server/app/api/agent/cancel/route.js.nft.json +1 -1
  26. package/.next/server/app/api/agent/detect/route.js.nft.json +1 -1
  27. package/.next/server/app/api/agent/dispatch/route.js +5 -5
  28. package/.next/server/app/api/agent/dispatch/route.js.nft.json +1 -1
  29. package/.next/server/app/api/agent/events/route.js +11 -11
  30. package/.next/server/app/api/agent/events/route.js.nft.json +1 -1
  31. package/.next/server/app/api/agent/messages/route.js +7 -7
  32. package/.next/server/app/api/agent/messages/route.js.nft.json +1 -1
  33. package/.next/server/app/api/agent/providers/route.js.nft.json +1 -1
  34. package/.next/server/app/api/agent/send/route.js +7 -7
  35. package/.next/server/app/api/agent/send/route.js.nft.json +1 -1
  36. package/.next/server/app/api/agent/start/route.js +7 -7
  37. package/.next/server/app/api/agent/start/route.js.nft.json +1 -1
  38. package/.next/server/app/api/agent/stop/route.js +8 -8
  39. package/.next/server/app/api/agent/stop/route.js.nft.json +1 -1
  40. package/.next/server/app/api/agents/[agentId]/install/route.js +4 -4
  41. package/.next/server/app/api/agents/[agentId]/install/route.js.nft.json +1 -1
  42. package/.next/server/app/api/codex/connect/route.js.nft.json +1 -1
  43. package/.next/server/app/api/db/resolve/route.js +9 -9
  44. package/.next/server/app/api/db/resolve/route.js.nft.json +1 -1
  45. package/.next/server/app/api/export/chromium/route.js +5 -5
  46. package/.next/server/app/api/export/chromium/route.js.nft.json +1 -1
  47. package/.next/server/app/api/export/route.js +4 -4
  48. package/.next/server/app/api/export/route.js.nft.json +1 -1
  49. package/.next/server/app/api/files/by-id/[fileId]/filmstrip-status/route.js +4 -4
  50. package/.next/server/app/api/files/by-id/[fileId]/filmstrip-status/route.js.nft.json +1 -1
  51. package/.next/server/app/api/files/by-id/[fileId]/rename/route.js +7 -7
  52. package/.next/server/app/api/files/by-id/[fileId]/rename/route.js.nft.json +1 -1
  53. package/.next/server/app/api/folders/[folderId]/duplicate/route.js +6 -6
  54. package/.next/server/app/api/folders/[folderId]/duplicate/route.js.nft.json +1 -1
  55. package/.next/server/app/api/install-from-url/route.js +10 -10
  56. package/.next/server/app/api/install-from-url/route.js.nft.json +1 -1
  57. package/.next/server/app/api/instructions/override/route.js.nft.json +1 -1
  58. package/.next/server/app/api/jobs/[id]/events/route.js +8 -8
  59. package/.next/server/app/api/jobs/[id]/events/route.js.nft.json +1 -1
  60. package/.next/server/app/api/jobs/[id]/retry/route.js +4 -4
  61. package/.next/server/app/api/jobs/[id]/retry/route.js.nft.json +1 -1
  62. package/.next/server/app/api/jobs/[id]/route.js +4 -4
  63. package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/jobs/[id]/status/route.js +3 -3
  65. package/.next/server/app/api/jobs/[id]/status/route.js.nft.json +1 -1
  66. package/.next/server/app/api/jobs/route.js +9 -9
  67. package/.next/server/app/api/jobs/route.js.nft.json +1 -1
  68. package/.next/server/app/api/notify/route.js.nft.json +1 -1
  69. package/.next/server/app/api/pieces/[pieceId]/duplicate/route.js +4 -4
  70. package/.next/server/app/api/pieces/[pieceId]/duplicate/route.js.nft.json +1 -1
  71. package/.next/server/app/api/pieces/[pieceId]/tracks/[trackId]/manual-anchors/apply-deletes/route.js +9 -9
  72. package/.next/server/app/api/pieces/[pieceId]/tracks/[trackId]/manual-anchors/apply-deletes/route.js.nft.json +1 -1
  73. package/.next/server/app/api/pieces/[pieceId]/tracks/[trackId]/manual-anchors/route.js +9 -9
  74. package/.next/server/app/api/pieces/[pieceId]/tracks/[trackId]/manual-anchors/route.js.nft.json +1 -1
  75. package/.next/server/app/api/render/frames/route.js +7 -7
  76. package/.next/server/app/api/render/frames/route.js.nft.json +1 -1
  77. package/.next/server/app/api/runtime/update/route.js +5 -5
  78. package/.next/server/app/api/runtime/update/route.js.nft.json +1 -1
  79. package/.next/server/app/api/sessions/[sessionId]/activate/route.js +8 -8
  80. package/.next/server/app/api/sessions/[sessionId]/activate/route.js.nft.json +1 -1
  81. package/.next/server/app/api/sessions/[sessionId]/context/route.js +8 -8
  82. package/.next/server/app/api/sessions/[sessionId]/context/route.js.nft.json +1 -1
  83. package/.next/server/app/api/sessions/[sessionId]/deactivate/route.js +8 -8
  84. package/.next/server/app/api/sessions/[sessionId]/deactivate/route.js.nft.json +1 -1
  85. package/.next/server/app/api/sessions/[sessionId]/model/route.js +7 -7
  86. package/.next/server/app/api/sessions/[sessionId]/model/route.js.nft.json +1 -1
  87. package/.next/server/app/api/sessions/[sessionId]/permission/route.js +7 -7
  88. package/.next/server/app/api/sessions/[sessionId]/permission/route.js.nft.json +1 -1
  89. package/.next/server/app/api/sessions/permission-modes/route.js +7 -7
  90. package/.next/server/app/api/sessions/permission-modes/route.js.nft.json +1 -1
  91. package/.next/server/app/api/sessions/route.js +7 -7
  92. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  93. package/.next/server/app/api/settings/mcp-servers/[id]/dependencies/route.js +7 -7
  94. package/.next/server/app/api/settings/mcp-servers/[id]/dependencies/route.js.nft.json +1 -1
  95. package/.next/server/app/api/settings/mcp-servers/[id]/install-plan/route.js +5 -5
  96. package/.next/server/app/api/settings/mcp-servers/[id]/install-plan/route.js.nft.json +1 -1
  97. package/.next/server/app/api/settings/mcp-servers/[id]/retry/route.js +7 -7
  98. package/.next/server/app/api/settings/mcp-servers/[id]/retry/route.js.nft.json +1 -1
  99. package/.next/server/app/api/settings/mcp-servers/[id]/retry-dep/route.js +7 -7
  100. package/.next/server/app/api/settings/mcp-servers/[id]/retry-dep/route.js.nft.json +1 -1
  101. package/.next/server/app/api/settings/mcp-servers/[id]/route.js.nft.json +1 -1
  102. package/.next/server/app/api/settings/mcp-servers/resync/route.js +7 -7
  103. package/.next/server/app/api/settings/mcp-servers/resync/route.js.nft.json +1 -1
  104. package/.next/server/app/api/settings/memories/route.js.nft.json +1 -1
  105. package/.next/server/app/api/skill-eval/configure/route.js +8 -8
  106. package/.next/server/app/api/skill-eval/configure/route.js.nft.json +1 -1
  107. package/.next/server/app/api/terminal/sessions/route.js +2 -2
  108. package/.next/server/app/api/terminal/ws-info/route.js.nft.json +1 -1
  109. package/.next/server/app/api/tracking/run/route.js +4 -4
  110. package/.next/server/app/api/tracking/run/route.js.nft.json +1 -1
  111. package/.next/server/app/page/build-manifest.json +2 -2
  112. package/.next/server/chunks/[root-of-the-server]__04thdbt._.js +3 -3
  113. package/.next/server/chunks/[root-of-the-server]__04thdbt._.js.map +2 -2
  114. package/.next/server/chunks/[root-of-the-server]__05bfu4m._.js +3 -3
  115. package/.next/server/chunks/[root-of-the-server]__05bfu4m._.js.map +2 -2
  116. package/.next/server/chunks/[root-of-the-server]__09qyvq1._.js +3 -3
  117. package/.next/server/chunks/[root-of-the-server]__09qyvq1._.js.map +2 -2
  118. package/.next/server/chunks/[root-of-the-server]__0gnut6f._.js +3 -3
  119. package/.next/server/chunks/[root-of-the-server]__0gnut6f._.js.map +1 -1
  120. package/.next/server/chunks/[root-of-the-server]__0l_-iy7._.js +3 -3
  121. package/.next/server/chunks/[root-of-the-server]__0l_-iy7._.js.map +1 -1
  122. package/.next/server/chunks/[root-of-the-server]__0s0b6ty._.js +3 -3
  123. package/.next/server/chunks/[root-of-the-server]__0s0b6ty._.js.map +1 -1
  124. package/.next/server/chunks/[root-of-the-server]__0sj68ta._.js +3 -3
  125. package/.next/server/chunks/[root-of-the-server]__0sj68ta._.js.map +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__10oxitf._.js +3 -3
  127. package/.next/server/chunks/[root-of-the-server]__10oxitf._.js.map +2 -2
  128. package/.next/server/chunks/[root-of-the-server]__11.cp_g._.js +3 -3
  129. package/.next/server/chunks/[root-of-the-server]__11.cp_g._.js.map +2 -2
  130. package/.next/server/chunks/_04i643i._.js +3 -3
  131. package/.next/server/chunks/_0_t4b-f._.js +4 -4
  132. package/.next/server/chunks/_0gc3hkv._.js +3 -3
  133. package/.next/server/chunks/_0hainf0._.js +4 -4
  134. package/.next/server/chunks/_0jrwb4i._.js +3 -3
  135. package/.next/server/chunks/_0ms~zo_._.js +3 -3
  136. package/.next/server/chunks/_0ou5g0c._.js +4 -4
  137. package/.next/server/chunks/_0ovzm6d._.js +4 -4
  138. package/.next/server/chunks/_0pwx1vo._.js +3 -3
  139. package/.next/server/chunks/_0snzqta._.js +4 -4
  140. package/.next/server/chunks/lib_08x49mw._.js +3 -3
  141. package/.next/server/chunks/lib_runtime_runtime-prune_ts_0eaw~-q._.js +3 -3
  142. package/.next/server/chunks/node_modules_003ody_._.js +3 -3
  143. package/.next/server/chunks/ssr/_0675jux._.js +3 -3
  144. package/.next/server/instrumentation.js.nft.json +1 -1
  145. package/.next/server/middleware-build-manifest.js +5 -5
  146. package/.next/server/pages/500.html +1 -1
  147. package/.next/server/server-reference-manifest.js +1 -1
  148. package/.next/server/server-reference-manifest.json +1 -1
  149. package/.next/static/chunks/{0tfripjpjgh0x.js → 0rgnvt2t.fexk.js} +3 -3
  150. package/.next/static/chunks/{turbopack-0nj3aucu1vtlz.js → turbopack-06tait4frhc5a.js} +3 -3
  151. package/.next/trace-build +1 -1
  152. package/THIRD-PARTY-NOTICES.md +1 -1
  153. package/dist-cli/BUILD_INFO.json +6 -6
  154. package/dist-cli/lib/analytics/config.js +1 -1
  155. package/dist-cli/lib/install/next-externals.js +6 -1
  156. package/dist-cli/lib/onboarding/piece/v1/index.js +5 -1
  157. package/dist-cli/lib/server/next-server.js +12 -2
  158. package/lib/analytics/config.ts +15 -2
  159. package/lib/install/next-externals.ts +36 -1
  160. package/lib/onboarding/piece/v1/index.ts +5 -1
  161. package/lib/server/next-server.ts +29 -4
  162. package/package.json +1 -1
  163. /package/.next/static/{AKrgjfjGvLuWkXofXFBpx → 05vWgPQtQKJ6EuLHg8nZ3}/_buildManifest.js +0 -0
  164. /package/.next/static/{AKrgjfjGvLuWkXofXFBpx → 05vWgPQtQKJ6EuLHg8nZ3}/_clientMiddlewareManifest.js +0 -0
  165. /package/.next/static/{AKrgjfjGvLuWkXofXFBpx → 05vWgPQtQKJ6EuLHg8nZ3}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- ;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="21bafa30-fdd1-7430-eb2f-9c25d5d2164b")}catch(e){}}();
2
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/01zemyg5_jrkf.js","static/chunks/0wh6nfpg7soom.js","static/chunks/0.-b.~-42h5yc.js","static/chunks/0tfripjpjgh0x.js","static/chunks/0r1iu1~4-cvp5.js","static/chunks/0_t4f72v0ddx4.js"],runtimeModuleIds:[494553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),v=Symbol("turbopack exports"),U=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[v]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[v]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[v]:{},[k]:e=>e(t)};return e.then(e=>{r[v]=e,C(t)},e=>{r[U]=e,C(t)}),r}}return{[v]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[U])throw e[U];return e[v]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[U]=e):i(u[v]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let K=/\.js(?:\?[^#]*)?(?:#.*)?$/,q=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return q.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(K.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(K.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
1
+ ;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="2017e9a2-2155-d47e-ce12-1e9a469a7bfb")}catch(e){}}();
2
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/01zemyg5_jrkf.js","static/chunks/0wh6nfpg7soom.js","static/chunks/0.-b.~-42h5yc.js","static/chunks/0rgnvt2t.fexk.js","static/chunks/0r1iu1~4-cvp5.js","static/chunks/0_t4f72v0ddx4.js"],runtimeModuleIds:[494553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function k(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let j=Symbol("turbopack queues"),v=Symbol("turbopack exports"),U=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=k(),u=Object.assign(s,{[v]:r.exports,[j]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[v]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(j in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[v]:{},[j]:e=>e(t)};return e.then(e=>{r[v]=e,C(t)},e=>{r[U]=e,C(t)}),r}}return{[v]:e,[j]:()=>{}}}),r=()=>t.map(e=>{if(e[U])throw e[U];return e[v]}),{promise:i,resolve:l}=k(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[j](u)),s.queueCount?i:r()},function(e){e?l(u[U]=e):i(u[v]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let K=/\.js(?:\?[^#]*)?(?:#.*)?$/,q=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return q.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(K.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(K.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
3
3
 
4
- //# debugId=21bafa30-fdd1-7430-eb2f-9c25d5d2164b
4
+ //# debugId=2017e9a2-2155-d47e-ce12-1e9a469a7bfb
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":30344748,"timestamp":593471182,"id":14,"parentId":1,"tags":{},"startTime":1787903760747,"traceId":"77098965a2ed6d3f"},{"name":"turbopack-build-events","duration":54,"timestamp":593904429,"id":15,"parentId":1,"tags":{},"startTime":1787903761181,"traceId":"77098965a2ed6d3f"},{"name":"run-typescript","duration":31160735,"timestamp":624248979,"id":17,"parentId":1,"tags":{},"startTime":1787903791525,"traceId":"77098965a2ed6d3f"},{"name":"static-check","duration":1379671,"timestamp":655469499,"id":20,"parentId":1,"tags":{},"startTime":1787903822746,"traceId":"77098965a2ed6d3f"},{"name":"static-generation","duration":327753,"timestamp":656883762,"id":360,"parentId":1,"tags":{},"startTime":1787903824160,"traceId":"77098965a2ed6d3f"},{"name":"telemetry-flush","duration":22861,"timestamp":657246557,"id":368,"parentId":1,"tags":{},"startTime":1787903824523,"traceId":"77098965a2ed6d3f"},{"name":"next-build","duration":64173971,"timestamp":593095458,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1787903760372,"traceId":"77098965a2ed6d3f"}]
1
+ [{"name":"run-turbopack","duration":31175254,"timestamp":458308936,"id":14,"parentId":1,"tags":{},"startTime":1787919839903,"traceId":"002c70a1b7c70f76"},{"name":"turbopack-build-events","duration":57,"timestamp":458758453,"id":15,"parentId":1,"tags":{},"startTime":1787919840352,"traceId":"002c70a1b7c70f76"},{"name":"run-typescript","duration":31505905,"timestamp":501776153,"id":17,"parentId":1,"tags":{},"startTime":1787919883370,"traceId":"002c70a1b7c70f76"},{"name":"static-check","duration":1414918,"timestamp":533339644,"id":20,"parentId":1,"tags":{},"startTime":1787919914933,"traceId":"002c70a1b7c70f76"},{"name":"static-generation","duration":267886,"timestamp":534776615,"id":360,"parentId":1,"tags":{},"startTime":1787919916370,"traceId":"002c70a1b7c70f76"},{"name":"telemetry-flush","duration":47804,"timestamp":535074317,"id":368,"parentId":1,"tags":{},"startTime":1787919916668,"traceId":"002c70a1b7c70f76"},{"name":"next-build","duration":77194366,"timestamp":457927778,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1787919839521,"traceId":"002c70a1b7c70f76"}]
@@ -2,7 +2,7 @@
2
2
  THIS FILE IS GENERATED by scripts/generate-third-party-notices.js — do not hand-edit.
3
3
  Regenerate: npm run notices:generate
4
4
  Staleness check (no network, no write): npm run notices:check
5
- source-lockfile-sha256: 49e7f15fd8465ee1524272fc435ad4085e103e44654db45dd8ed8eef9747f65a
5
+ source-lockfile-sha256: 3ab7a113f3193f7096de816176270e4738d960979f4258f798f73ae5a6b6bd93
6
6
  vendored-assets-sha256: 7c77ef5f923267f18c21a4f424e2ddc6b52af5f391843396e042649572b7e6a7
7
7
  -->
8
8
 
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.1.7",
3
- "builtAt": "2026-08-28T07:59:01.952Z",
2
+ "version": "0.1.9",
3
+ "builtAt": "2026-08-28T12:27:14.230Z",
4
4
  "fileCount": 748,
5
5
  "inputs": {
6
6
  "lib/agents/acp/agent-registry.ts": "b78ace212754434454dd405910e2c889f4ca22b7fbf6fb55613205258420a046",
@@ -47,7 +47,7 @@
47
47
  "lib/analysis/types.ts": "0ce4faf67a6f7c90dc677eb57bf668ed65e480a74941b4501b9d7ba500566dce",
48
48
  "lib/analytics/client.ts": "2004eb1116fa3d55f7b2cd24201361c1dcaa9b8c736d3b0a19497ea2562dc8ac",
49
49
  "lib/analytics/collect-url.ts": "5500fb69283fff29dc29f19c83c8f1e4efae3377dbd3be161b173e7f3a419fa0",
50
- "lib/analytics/config.ts": "034e938cdcbea0d88b912a93c27f2b73dfc583fec608a6e88cb10387aa32f22c",
50
+ "lib/analytics/config.ts": "acfd56ac0b9fb42909e9d19983f8b6bc840a1911c8689e2fadd7a9d898c2b907",
51
51
  "lib/analytics/events.ts": "a9243ea10b31a2d90bdecae63bf232e6ca0f3e50046372b2585449d2ab9daad0",
52
52
  "lib/analytics/identity.ts": "c30a44978fceff857328d24b5391a63b8db0ac733d5aedb31100385e0445566e",
53
53
  "lib/analytics/page-tracking.ts": "355eb0ee65c6d6d23349202b84d1290050dc3e8b6fc766eb2974aee1c3521946",
@@ -286,7 +286,7 @@
286
286
  "lib/install-from-url/install-skill.ts": "2ddc5e29610bc9f09c4556876fdaafde92885685fac2f6055b5bfe56ac49d61c",
287
287
  "lib/install-from-url/types.ts": "da5b7b401bd7bdcab87801a706d9685242b9173a2fe998d031995b6c02a30337",
288
288
  "lib/install-with-agent/prompts.ts": "e2689eba4714be317a0211a4ee1c79d4bd45d4da94135297b2d07d6d9cdd5e35",
289
- "lib/install/next-externals.ts": "c77c51bd03002af46a94bf2b0e77f29db77c8d920eb4a942d263dddba3597c23",
289
+ "lib/install/next-externals.ts": "ac555d8eabeee1ced0a0d925300f2720dff3c2fcb2ae76808d2160305809b166",
290
290
  "lib/install/npm-root.ts": "dba3b7316f6e77c4d0bf3a2fb8eb603950958e882adef2d1ddd75760caa3fc33",
291
291
  "lib/instructions/bundled-template.ts": "f1018c4c52db7d1f99de809f94a7ca688aab83bb5b7ac1ff4b6eeb27a9796db3",
292
292
  "lib/instructions/dialect.ts": "f12e214b7fbb19fab57ef57f36c75df57371027cdc4aa6d16efde27a7f34c6f8",
@@ -361,7 +361,7 @@
361
361
  "lib/onboarding/piece/describe.ts": "18f29043fe0d5a419227e182242475c1c1ce7ebc13272fb503b4fe6ff017c1be",
362
362
  "lib/onboarding/piece/types.ts": "29ed6cb65965adc1e6f10225e2d66a969863110fdf156fbbace3339b1af3da53",
363
363
  "lib/onboarding/piece/v1/assets.ts": "0c275f62f3b461b68c30dba22e099b6676814bd646c0b212f743e9bc58d274cd",
364
- "lib/onboarding/piece/v1/index.ts": "4fc32bbc541c5c2c52d8550bc2eadf87082b1790ef41eae5351b317fe4a3d61c",
364
+ "lib/onboarding/piece/v1/index.ts": "2793e39b2c434512a2adb60608583e85977316f8ccd68305641d110fa6642fc1",
365
365
  "lib/onboarding/piece/v1/overlay-code/code-558ob5uw.ts": "75a6be7dae2c83ac059066c259b8a205694a6cf05f375543befd956940e36d51",
366
366
  "lib/onboarding/piece/v1/overlay-code/code-5jls8n94.ts": "5caf5034a152a630a525d9b32cbae85038dfa43ee758d05bf7a95e161de0b158",
367
367
  "lib/onboarding/piece/v1/overlay-code/code-89f4sluc.ts": "0de82ec063533921f9b8b0744d1f359bbd56f78cc3081c82e2301756309af142",
@@ -539,7 +539,7 @@
539
539
  "lib/server/lifecycle/relaunch.ts": "015deb6fb97b8594ba64a788399dfe5add8bdc7d48858f42ffa0db93989df968",
540
540
  "lib/server/lifecycle/runner.ts": "b2719eb0d3de856a7c0ce64b963704f6d55c27258b303b513a83e75e6c18335a",
541
541
  "lib/server/lifecycle/types.ts": "72f15ed907a5a52a01666f8aed2166584daf0c72b99ced73ff05c85a572aafa6",
542
- "lib/server/next-server.ts": "6adb6341b08251331222e66d7a7e756121bde8ab08dc051b41355d84e6150f5f",
542
+ "lib/server/next-server.ts": "523292e426f5097b30c97c2127bf7f4734696c4f99282cae3e35fd395a696d65",
543
543
  "lib/sessions/approval-mode-map.ts": "4c471b5e005f1ddcee6614ac0586dd58e7862b60abbf65aa94d5b0cfb317716c",
544
544
  "lib/sessions/model-option.ts": "fc9fa794982487b2834637dd2af5eb91423c1f9ed5c8557c953322dc5652e9e1",
545
545
  "lib/sessions/model-preferences.ts": "d4c430a8a9735e78b0cf0ba679f8f1acb8914c8ca11b932a1e1129dfbae95f65",
@@ -31,7 +31,7 @@ function resolveAnalyticsEnabled(env) {
31
31
  return env.LIBI_ANALYTICS_DISABLED !== "1" && env.NEXT_PUBLIC_LIBI_ANALYTICS === "1";
32
32
  }
33
33
  function resolveAnalyticsDebug(env) {
34
- return env.NODE_ENV !== "production";
34
+ return env.LIBI_ANALYTICS_DEBUG === "1" || env.NODE_ENV !== "production";
35
35
  }
36
36
  const ANALYTICS_ENABLED = resolveAnalyticsEnabled(process.env);
37
37
  const ANALYTICS_DEBUG = resolveAnalyticsDebug(process.env);
@@ -39,6 +39,7 @@ __export(next_externals_exports, {
39
39
  module.exports = __toCommonJS(next_externals_exports);
40
40
  var import_node_fs = __toESM(require("node:fs"));
41
41
  var import_node_path = __toESM(require("node:path"));
42
+ var import_platform = require("../platform");
42
43
  class NextExternalsError extends Error {
43
44
  constructor(code, message) {
44
45
  super(message);
@@ -163,7 +164,11 @@ function ensureNextExternalSymlinks(nextDir) {
163
164
  }
164
165
  const linkDir = import_node_path.default.dirname(linkPath);
165
166
  import_node_fs.default.mkdirSync(linkDir, { recursive: true });
166
- import_node_fs.default.symlinkSync(import_node_path.default.relative(linkDir, targetDir), linkPath, "dir");
167
+ if ((0, import_platform.isWindows)()) {
168
+ import_node_fs.default.symlinkSync(targetDir, linkPath, "junction");
169
+ } else {
170
+ import_node_fs.default.symlinkSync(import_node_path.default.relative(linkDir, targetDir), linkPath, "dir");
171
+ }
167
172
  result.created.push(entry);
168
173
  }
169
174
  if (missing.length > 0) {
@@ -527,7 +527,11 @@ const ONBOARDING_PIECE_V1 = {
527
527
  rect: { x: 1010, y: 745, width: 460, height: 80 },
528
528
  z: 21,
529
529
  opacity: 1,
530
- content: "Or download for Mac",
530
+ // Platform-neutral on purpose: the desktop app ships for Windows as
531
+ // well as macOS from v0.1.8, and this card is the first thing a
532
+ // Windows user sees. Kept to the same 19 characters as the string it
533
+ // replaced so it still fits the 460px pill beside the npx one.
534
+ content: "Or download the app",
531
535
  font: "48px Inter",
532
536
  color: "#cdd3de",
533
537
  align: "center",
@@ -35,6 +35,7 @@ var import_http = require("http");
35
35
  var import_path = __toESM(require("path"));
36
36
  var import_next = __toESM(require("next"));
37
37
  var import_next_externals = require("../install/next-externals");
38
+ var import_platform = require("../platform");
38
39
  const DEFAULT_READY_WAIT_TIMEOUT_MS = 6e4;
39
40
  async function startNextServer(opts) {
40
41
  const { dir } = opts;
@@ -48,9 +49,18 @@ async function startNextServer(opts) {
48
49
  `startNextServer: next-logger failed to load \u2014 server.log will not be written: ${err?.message ?? String(err)}`
49
50
  );
50
51
  }
51
- const externals = (0, import_next_externals.ensureNextExternalSymlinks)(import_path.default.join(dir, ".next"));
52
+ let externals;
53
+ try {
54
+ externals = (0, import_next_externals.ensureNextExternalSymlinks)(import_path.default.join(dir, ".next"));
55
+ } catch (err) {
56
+ log(
57
+ `startNextServer: FATAL \u2014 could not materialise the Next.js externals farm at ${import_path.default.join(dir, ".next", "node_modules")}: ${err instanceof Error ? err.message : String(err)}`
58
+ );
59
+ throw err;
60
+ }
61
+ const expectedRepair = (0, import_platform.isWindows)();
52
62
  log(
53
- `startNextServer: externals created=${externals.created.length} verified=${externals.verified.length}` + (externals.created.length > 0 ? ` \u2014 WARNING: repaired ${externals.created.length} externals symlink(s) at boot; a packaged runtime should ship this farm already built` : "")
63
+ `startNextServer: externals created=${externals.created.length} verified=${externals.verified.length}` + (externals.created.length === 0 ? "" : expectedRepair ? ` \u2014 built ${externals.created.length} externals junction(s) at boot, as Windows always must (NSIS does not ship the farm)` : ` \u2014 WARNING: repaired ${externals.created.length} externals symlink(s) at boot; a packaged runtime should ship this farm already built`)
54
64
  );
55
65
  let handle = null;
56
66
  let resolveReady;
@@ -25,9 +25,22 @@ export function resolveAnalyticsEnabled(env: EnvLike): boolean {
25
25
  return env.LIBI_ANALYTICS_DISABLED !== "1" && env.NEXT_PUBLIC_LIBI_ANALYTICS === "1";
26
26
  }
27
27
 
28
- /** debug_mode → GA4 DebugView; true only in `next dev` (sandbox), never packaged. */
28
+ /** debug_mode → GA4 DebugView.
29
+ *
30
+ * On by default outside production, so a dev clone's events land in DebugView
31
+ * instead of the real reports. `LIBI_ANALYTICS_DEBUG=1` turns it on explicitly,
32
+ * and that opt-in is the ONLY way to inspect a RELEASED build: every artifact we
33
+ * publish is built with NODE_ENV=production, so without it a shipped install can
34
+ * never appear in DebugView — which is where a hit's full parameter payload is
35
+ * visible, and therefore the only place "the funnel sends the right enums" can
36
+ * actually be checked. Realtime shows that events arrived; it does not show what
37
+ * they carried. Release-day QA sets this on the QA instance and nowhere else.
38
+ *
39
+ * The cost of leaving it on is real, which is why it stays opt-in: GA4 excludes
40
+ * debug_mode hits from standard reports, so a user who set it would go
41
+ * uncounted. */
29
42
  export function resolveAnalyticsDebug(env: EnvLike): boolean {
30
- return env.NODE_ENV !== "production";
43
+ return env.LIBI_ANALYTICS_DEBUG === "1" || env.NODE_ENV !== "production";
31
44
  }
32
45
 
33
46
  /** Process-resolved values for runtime use. */
@@ -91,6 +91,8 @@
91
91
  import fs from "node:fs";
92
92
  import path from "node:path";
93
93
 
94
+ import { isWindows } from "@/lib/platform";
95
+
94
96
  export interface ExternalSymlinkEntry {
95
97
  /** Path of the symlink, relative to `.next/node_modules/`. */
96
98
  link: string;
@@ -348,7 +350,40 @@ export function ensureNextExternalSymlinks(nextDir: string): EnsureResult {
348
350
  // target it resolves that probe against `process.cwd()` rather than
349
351
  // against the link's own directory — so it guesses "file" and produces
350
352
  // a symlink Windows won't traverse as a directory.
351
- fs.symlinkSync(path.relative(linkDir, targetDir), linkPath, "dir");
353
+ //
354
+ // ...except that on Windows a `"dir"` symlink is a PRIVILEGED operation.
355
+ // Creating one needs SeCreateSymbolicLinkPrivilege, which an ordinary
356
+ // account does not hold and which UAC strips from an administrator's
357
+ // token unless Developer Mode is on. A JUNCTION is the unprivileged
358
+ // equivalent for directory targets and is what Windows gets instead.
359
+ //
360
+ // This is not a hypothetical. NSIS does not store symlinks, so unlike the
361
+ // signed `.app` — where the farm survives packaging and boot only
362
+ // verifies it — the Windows install arrives with NO farm and MUST build
363
+ // one at first boot. On v0.1.8 that meant libi did not start at all for a
364
+ // normal Windows user: `mkdirSync` succeeded, this line threw EPERM
365
+ // ("Administrator privilege required"), and the shell died between
366
+ // "about to startNextServer" and any further log line — a splash screen
367
+ // that never resolves and nothing to explain it. It reached QA green only
368
+ // because the QA box runs an ELEVATED administrator, which is precisely
369
+ // the privilege a real user lacks. Verified on that box under a
370
+ // trustlevel-0x20000 token: the `"dir"` symlink is refused and the
371
+ // junction is created, side by side.
372
+ //
373
+ // Junctions take an ABSOLUTE target (Node resolves the argument to one
374
+ // regardless), which costs nothing here: the only Windows farm that is
375
+ // ever USED is the one built in place at boot, in its final location.
376
+ // A farm baked at build time is stripped by NSIS before it can be moved
377
+ // anywhere, so there is no relocation for an absolute target to survive.
378
+ // `isWindows()` and not `process.platform === "win32"`: Turbopack folds
379
+ // that comparison against the BUILD machine and drops the dead branch, so
380
+ // a macOS-built runtime would ship a Windows shell that still takes the
381
+ // symlink path — the exact fix, deleted by the compiler. See lib/platform.ts.
382
+ if (isWindows()) {
383
+ fs.symlinkSync(targetDir, linkPath, "junction");
384
+ } else {
385
+ fs.symlinkSync(path.relative(linkDir, targetDir), linkPath, "dir");
386
+ }
352
387
  result.created.push(entry);
353
388
  }
354
389
 
@@ -563,7 +563,11 @@ export const ONBOARDING_PIECE_V1: OnboardingPieceDefinition = {
563
563
  rect: { x: 1010, y: 745, width: 460, height: 80 },
564
564
  z: 21,
565
565
  opacity: 1,
566
- content: "Or download for Mac",
566
+ // Platform-neutral on purpose: the desktop app ships for Windows as
567
+ // well as macOS from v0.1.8, and this card is the first thing a
568
+ // Windows user sees. Kept to the same 19 characters as the string it
569
+ // replaced so it still fits the 460px pill beside the npx one.
570
+ content: "Or download the app",
567
571
  font: "48px Inter",
568
572
  color: "#cdd3de",
569
573
  align: "center",
@@ -42,6 +42,7 @@ import path from "path";
42
42
  import next from "next";
43
43
 
44
44
  import { ensureNextExternalSymlinks } from "@/lib/install/next-externals";
45
+ import { isWindows } from "@/lib/platform";
45
46
 
46
47
  export interface StartNextServerOptions {
47
48
  /**
@@ -116,12 +117,36 @@ export async function startNextServer(
116
117
  // shipped farm was missing or wrong and we just wrote into the (signed,
117
118
  // possibly read-only) app bundle to repair it: worth seeing in the log
118
119
  // rather than discovering as a codesign failure later.
119
- const externals = ensureNextExternalSymlinks(path.join(dir, ".next"));
120
+ //
121
+ // Wrapped so the failure is not silent. When this threw on Windows (the
122
+ // privileged-symlink bug fixed in lib/install/next-externals.ts) the shell
123
+ // logged "about to startNextServer" and then NOTHING — the process died
124
+ // between two lines, leaving a splash screen that never resolves and no
125
+ // evidence of why. The throw is still fatal, and should be: a server that
126
+ // cannot resolve its externals 500s every route. It just says so first.
127
+ let externals: ReturnType<typeof ensureNextExternalSymlinks>;
128
+ try {
129
+ externals = ensureNextExternalSymlinks(path.join(dir, ".next"));
130
+ } catch (err) {
131
+ log(
132
+ `startNextServer: FATAL — could not materialise the Next.js externals farm at ` +
133
+ `${path.join(dir, ".next", "node_modules")}: ${err instanceof Error ? err.message : String(err)}`,
134
+ );
135
+ throw err;
136
+ }
137
+ // A non-zero `created` is a WARNING on macOS and NORMAL on Windows, and the
138
+ // line says which so nobody re-investigates the Windows case. NSIS stores no
139
+ // reparse points, so the farm materialised into the bundle at build time
140
+ // never reaches the installed tree — every Windows boot legitimately builds
141
+ // one, into a per-user directory that is neither signed nor read-only.
142
+ const expectedRepair = isWindows();
120
143
  log(
121
144
  `startNextServer: externals created=${externals.created.length} verified=${externals.verified.length}` +
122
- (externals.created.length > 0
123
- ? ` — WARNING: repaired ${externals.created.length} externals symlink(s) at boot; a packaged runtime should ship this farm already built`
124
- : ""),
145
+ (externals.created.length === 0
146
+ ? ""
147
+ : expectedRepair
148
+ ? ` — built ${externals.created.length} externals junction(s) at boot, as Windows always must (NSIS does not ship the farm)`
149
+ : ` — WARNING: repaired ${externals.created.length} externals symlink(s) at boot; a packaged runtime should ship this farm already built`),
125
150
  );
126
151
 
127
152
  // `ready` is a manually-resolved deferred, created and assigned BEFORE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nagellabs/libi",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },