@geminilight/mindos-windows-arm64 1.0.6 → 1.0.8

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 (483) hide show
  1. package/_standalone/.mindos-build-version +1 -1
  2. package/_standalone/__next/BUILD_ID +1 -1
  3. package/_standalone/__next/app-path-routes-manifest.json +24 -24
  4. package/_standalone/__next/build-manifest.json +3 -3
  5. package/_standalone/__next/prerender-manifest.json +3 -3
  6. package/_standalone/__next/react-loadable-manifest.json +48 -7
  7. package/_standalone/__next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  8. package/_standalone/__next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/_standalone/__next/server/app/_global-error.html +2 -2
  10. package/_standalone/__next/server/app/_global-error.rsc +1 -1
  11. package/_standalone/__next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/_standalone/__next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/_standalone/__next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/_standalone/__next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/_standalone/__next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/_standalone/__next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/_standalone/__next/server/app/_not-found/page.js +1 -1
  18. package/_standalone/__next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/_standalone/__next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/_standalone/__next/server/app/agents/[agentKey]/page.js +2 -2
  21. package/_standalone/__next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  22. package/_standalone/__next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  23. package/_standalone/__next/server/app/agents/page.js +2 -2
  24. package/_standalone/__next/server/app/agents/page.js.nft.json +1 -1
  25. package/_standalone/__next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/_standalone/__next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  27. package/_standalone/__next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  28. package/_standalone/__next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  29. package/_standalone/__next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  30. package/_standalone/__next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  31. package/_standalone/__next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  32. package/_standalone/__next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  33. package/_standalone/__next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  34. package/_standalone/__next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  35. package/_standalone/__next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  36. package/_standalone/__next/server/app/api/agents/copy-skill/route_client-reference-manifest.js +1 -1
  37. package/_standalone/__next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
  38. package/_standalone/__next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
  39. package/_standalone/__next/server/app/api/ask/route.js +2 -2
  40. package/_standalone/__next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  41. package/_standalone/__next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  42. package/_standalone/__next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  43. package/_standalone/__next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  44. package/_standalone/__next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  45. package/_standalone/__next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  46. package/_standalone/__next/server/app/api/channels/verify/route_client-reference-manifest.js +1 -1
  47. package/_standalone/__next/server/app/api/connect/route_client-reference-manifest.js +1 -1
  48. package/_standalone/__next/server/app/api/embedding/route_client-reference-manifest.js +1 -1
  49. package/_standalone/__next/server/app/api/export/route_client-reference-manifest.js +1 -1
  50. package/_standalone/__next/server/app/api/extract-docx/route_client-reference-manifest.js +1 -1
  51. package/_standalone/__next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  52. package/_standalone/__next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  53. package/_standalone/__next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  54. package/_standalone/__next/server/app/api/file/route_client-reference-manifest.js +1 -1
  55. package/_standalone/__next/server/app/api/files/route_client-reference-manifest.js +1 -1
  56. package/_standalone/__next/server/app/api/git/route_client-reference-manifest.js +1 -1
  57. package/_standalone/__next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  58. package/_standalone/__next/server/app/api/health/route_client-reference-manifest.js +1 -1
  59. package/_standalone/__next/server/app/api/im/activity/route_client-reference-manifest.js +1 -1
  60. package/_standalone/__next/server/app/api/im/config/route_client-reference-manifest.js +1 -1
  61. package/_standalone/__next/server/app/api/im/feishu/long-connection/event/route_client-reference-manifest.js +1 -1
  62. package/_standalone/__next/server/app/api/im/feishu/long-connection/route_client-reference-manifest.js +1 -1
  63. package/_standalone/__next/server/app/api/im/status/route_client-reference-manifest.js +1 -1
  64. package/_standalone/__next/server/app/api/im/test/route_client-reference-manifest.js +1 -1
  65. package/_standalone/__next/server/app/api/im/webhook/feishu/route_client-reference-manifest.js +1 -1
  66. package/_standalone/__next/server/app/api/im/webhook-status/route_client-reference-manifest.js +1 -1
  67. package/_standalone/__next/server/app/api/inbox/clip/route_client-reference-manifest.js +1 -1
  68. package/_standalone/__next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  69. package/_standalone/__next/server/app/api/init/route_client-reference-manifest.js +1 -1
  70. package/_standalone/__next/server/app/api/lint/route_client-reference-manifest.js +1 -1
  71. package/_standalone/__next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  72. package/_standalone/__next/server/app/api/mcp/direct-tools/route_client-reference-manifest.js +1 -1
  73. package/_standalone/__next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  74. package/_standalone/__next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  75. package/_standalone/__next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  76. package/_standalone/__next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  77. package/_standalone/__next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  78. package/_standalone/__next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  79. package/_standalone/__next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  80. package/_standalone/__next/server/app/api/obsidian/compat-report/route_client-reference-manifest.js +1 -1
  81. package/_standalone/__next/server/app/api/obsidian/import/route_client-reference-manifest.js +1 -1
  82. package/_standalone/__next/server/app/api/obsidian-plugins/settings/route_client-reference-manifest.js +1 -1
  83. package/_standalone/__next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  84. package/_standalone/__next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  85. package/_standalone/__next/server/app/api/search/prewarm/route_client-reference-manifest.js +1 -1
  86. package/_standalone/__next/server/app/api/search/route_client-reference-manifest.js +1 -1
  87. package/_standalone/__next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  88. package/_standalone/__next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  89. package/_standalone/__next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  90. package/_standalone/__next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  91. package/_standalone/__next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  92. package/_standalone/__next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  93. package/_standalone/__next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  94. package/_standalone/__next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  95. package/_standalone/__next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  96. package/_standalone/__next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  97. package/_standalone/__next/server/app/api/space-overview/route_client-reference-manifest.js +1 -1
  98. package/_standalone/__next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  99. package/_standalone/__next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  100. package/_standalone/__next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  101. package/_standalone/__next/server/app/api/update/route_client-reference-manifest.js +1 -1
  102. package/_standalone/__next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  103. package/_standalone/__next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  104. package/_standalone/__next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  105. package/_standalone/__next/server/app/capture/history/page.js +1 -1
  106. package/_standalone/__next/server/app/capture/history/page.js.nft.json +1 -1
  107. package/_standalone/__next/server/app/capture/history/page_client-reference-manifest.js +1 -1
  108. package/_standalone/__next/server/app/capture/page.js +1 -1
  109. package/_standalone/__next/server/app/capture/page.js.nft.json +1 -1
  110. package/_standalone/__next/server/app/capture/page_client-reference-manifest.js +1 -1
  111. package/_standalone/__next/server/app/changelog/page.js +1 -1
  112. package/_standalone/__next/server/app/changelog/page.js.nft.json +1 -1
  113. package/_standalone/__next/server/app/changelog/page_client-reference-manifest.js +1 -1
  114. package/_standalone/__next/server/app/changes/page.js +1 -1
  115. package/_standalone/__next/server/app/changes/page.js.nft.json +1 -1
  116. package/_standalone/__next/server/app/changes/page_client-reference-manifest.js +1 -1
  117. package/_standalone/__next/server/app/echo/[segment]/page.js +4 -4
  118. package/_standalone/__next/server/app/echo/[segment]/page.js.nft.json +1 -1
  119. package/_standalone/__next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  120. package/_standalone/__next/server/app/echo/page.js +1 -1
  121. package/_standalone/__next/server/app/echo/page.js.nft.json +1 -1
  122. package/_standalone/__next/server/app/echo/page_client-reference-manifest.js +1 -1
  123. package/_standalone/__next/server/app/explore/page.js +3 -3
  124. package/_standalone/__next/server/app/explore/page.js.nft.json +1 -1
  125. package/_standalone/__next/server/app/explore/page_client-reference-manifest.js +1 -1
  126. package/_standalone/__next/server/app/help/page.js +2 -2
  127. package/_standalone/__next/server/app/help/page.js.nft.json +1 -1
  128. package/_standalone/__next/server/app/help/page_client-reference-manifest.js +1 -1
  129. package/_standalone/__next/server/app/inbox/history/page.js +1 -1
  130. package/_standalone/__next/server/app/inbox/history/page.js.nft.json +1 -1
  131. package/_standalone/__next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  132. package/_standalone/__next/server/app/login/page.js +1 -1
  133. package/_standalone/__next/server/app/login/page.js.nft.json +1 -1
  134. package/_standalone/__next/server/app/login/page_client-reference-manifest.js +1 -1
  135. package/_standalone/__next/server/app/page.js +1 -1
  136. package/_standalone/__next/server/app/page.js.nft.json +1 -1
  137. package/_standalone/__next/server/app/page_client-reference-manifest.js +1 -1
  138. package/_standalone/__next/server/app/settings/page.js +8 -3
  139. package/_standalone/__next/server/app/settings/page.js.nft.json +1 -1
  140. package/_standalone/__next/server/app/settings/page_client-reference-manifest.js +1 -1
  141. package/_standalone/__next/server/app/setup/page.js +1 -1
  142. package/_standalone/__next/server/app/setup/page.js.nft.json +1 -1
  143. package/_standalone/__next/server/app/setup/page_client-reference-manifest.js +1 -1
  144. package/_standalone/__next/server/app/todo/page.js +1 -1
  145. package/_standalone/__next/server/app/todo/page.js.nft.json +1 -1
  146. package/_standalone/__next/server/app/todo/page_client-reference-manifest.js +1 -1
  147. package/_standalone/__next/server/app/trash/page.js +2 -2
  148. package/_standalone/__next/server/app/trash/page.js.nft.json +1 -1
  149. package/_standalone/__next/server/app/trash/page_client-reference-manifest.js +1 -1
  150. package/_standalone/__next/server/app/view/[...path]/page.js +3 -3
  151. package/_standalone/__next/server/app/view/[...path]/page.js.nft.json +1 -1
  152. package/_standalone/__next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  153. package/_standalone/__next/server/app/wiki/page.js +1 -1
  154. package/_standalone/__next/server/app/wiki/page.js.nft.json +1 -1
  155. package/_standalone/__next/server/app/wiki/page_client-reference-manifest.js +1 -1
  156. package/_standalone/__next/server/app-paths-manifest.json +24 -24
  157. package/_standalone/__next/server/chunks/103.js +1 -1
  158. package/_standalone/__next/server/chunks/1976.js +1 -1
  159. package/_standalone/__next/server/chunks/6602.js +43 -66
  160. package/_standalone/__next/server/chunks/6646.js +16 -0
  161. package/_standalone/__next/server/chunks/8461.js +7 -7
  162. package/_standalone/__next/server/chunks/9868.js +2 -0
  163. package/_standalone/__next/server/chunks/{3219.js → 9969.js} +4 -4
  164. package/_standalone/__next/server/middleware-build-manifest.js +1 -1
  165. package/_standalone/__next/server/middleware-react-loadable-manifest.js +1 -1
  166. package/_standalone/__next/server/pages/500.html +2 -2
  167. package/_standalone/__next/server/server-reference-manifest.js +1 -1
  168. package/_standalone/__next/server/server-reference-manifest.json +1 -1
  169. package/_standalone/__next/static/chunks/{1430-c4ffa328888515c1.js → 1104-0822d9349a412b9b.js} +7 -2
  170. package/_standalone/__next/static/chunks/1655.0a559759973b42e9.js +1 -0
  171. package/_standalone/__next/static/chunks/{2073-3f913ebb13702b7e.js → 2073-fadffc82a27afdc7.js} +2 -2
  172. package/{static-web/_next/static/chunks/9216.d3339c27169b21bf.js → _standalone/__next/static/chunks/2245.ef71edb24c5232c2.js} +1 -1
  173. package/_standalone/__next/static/chunks/2258-2d3b5aac6a1fa92a.js +53 -0
  174. package/{static-web/_next/static/chunks/4937-4101fcdadacf46e3.js → _standalone/__next/static/chunks/2409-244f9b90dceb0c04.js} +1 -1
  175. package/_standalone/__next/static/chunks/3279-b49c25a4f2964b16.js +1 -0
  176. package/_standalone/__next/static/chunks/3807-115388f118106ca8.js +1 -0
  177. package/_standalone/__next/static/chunks/3966.ea75f9c5490955de.js +1 -0
  178. package/_standalone/__next/static/chunks/4010.48b219cb22dfa5d8.js +10 -0
  179. package/_standalone/__next/static/chunks/5026-7fed7ca22272c18f.js +1 -0
  180. package/_standalone/__next/static/chunks/5152-87e6ed56dfd7d17d.js +1 -0
  181. package/_standalone/__next/static/chunks/577.5e448c99068f1323.js +1 -0
  182. package/_standalone/__next/static/chunks/5913.a0a734f87b13f81a.js +1 -0
  183. package/_standalone/__next/static/chunks/596.9cbaf6ba90cb204f.js +7 -0
  184. package/_standalone/__next/static/chunks/6223-3fb90852221bda56.js +1 -0
  185. package/_standalone/__next/static/chunks/6343.582d063078c45d73.js +6 -0
  186. package/_standalone/__next/static/chunks/8174-50048777dc2469c0.js +1 -0
  187. package/_standalone/__next/static/chunks/{5913.3cee388e26959b62.js → 8294.cc9f9ff2f8b219ed.js} +1 -1
  188. package/_standalone/__next/static/chunks/8626-7da79d9ab2504eed.js +1 -0
  189. package/_standalone/__next/static/chunks/{8732.9002f42201b06fe8.js → 8732.87554c78e8825fac.js} +4 -4
  190. package/_standalone/__next/static/chunks/8922-3babcd35e18e9e4f.js +1 -0
  191. package/_standalone/__next/static/chunks/9440-eee639175695be7d.js +33 -0
  192. package/_standalone/__next/static/chunks/9479-b48d19e3588823c1.js +34 -0
  193. package/_standalone/__next/static/chunks/{9602.4e99e3525e5f062c.js → 9602.218427fc7b3d6b11.js} +1 -1
  194. package/_standalone/__next/static/chunks/app/agents/[agentKey]/page-ef111ea0a3368752.js +1 -0
  195. package/_standalone/__next/static/chunks/app/agents/page-aacead0f47cedb0d.js +1 -0
  196. package/_standalone/__next/static/chunks/app/layout-ed608bbf9585e78f.js +99 -0
  197. package/_standalone/__next/static/chunks/app/page-d22928276c36528c.js +1 -0
  198. package/_standalone/__next/static/chunks/app/settings/{page-c9f44b3447a41431.js → page-045afd8c0908f923.js} +1 -1
  199. package/{static-web/_next/static/chunks/app/setup/page-f5de08d0d588c778.js → _standalone/__next/static/chunks/app/setup/page-034a608f19d04653.js} +1 -1
  200. package/_standalone/__next/static/chunks/app/trash/page-251aaf5aac9d5a0b.js +1 -0
  201. package/_standalone/__next/static/chunks/app/view/[...path]/page-7e17c3d13fe2e275.js +12 -0
  202. package/_standalone/__next/static/chunks/webpack-1decda0633a8a874.js +1 -0
  203. package/_standalone/__next/static/css/5f000212c8b2e09a.css +1 -0
  204. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  205. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  206. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  207. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  208. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  209. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  210. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  211. package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  212. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  213. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  214. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  215. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  216. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  217. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  218. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  219. package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  220. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  221. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  222. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  223. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  224. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  225. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  226. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  227. package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  228. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  229. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  230. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  231. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  232. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  233. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  234. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  235. package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  236. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  237. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  238. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  239. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  240. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  241. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  242. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  243. package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  244. package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/strip-ansi/node_modules/ansi-regex/index.js +14 -0
  245. package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/strip-ansi/node_modules/ansi-regex/license +9 -0
  246. package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/strip-ansi/node_modules/ansi-regex/package.json +61 -0
  247. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  248. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  249. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  250. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  251. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  252. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  253. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  254. package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  255. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  256. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  257. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  258. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  259. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  260. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  261. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  262. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  263. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  264. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  265. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  266. package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  267. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  268. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  269. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  270. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  271. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  272. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  273. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  274. package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  275. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  276. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  277. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  278. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  279. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  280. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  281. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  282. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  283. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  284. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  285. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  286. package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  287. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  288. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  289. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  290. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  291. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
  292. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
  293. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
  294. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
  295. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
  296. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
  297. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
  298. package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
  299. package/_standalone/__node_modules/bignumber.js/doc/API.html +2249 -0
  300. package/_standalone/__node_modules/entities/LICENSE +11 -0
  301. package/_standalone/__node_modules/entities/dist/decode-codepoint.js +46 -0
  302. package/_standalone/__node_modules/entities/dist/decode.js +544 -0
  303. package/_standalone/__node_modules/entities/dist/encode.js +90 -0
  304. package/_standalone/__node_modules/entities/dist/escape.js +132 -0
  305. package/_standalone/__node_modules/entities/dist/generated/decode-data-html.js +5 -0
  306. package/_standalone/__node_modules/entities/dist/generated/decode-data-xml.js +5 -0
  307. package/_standalone/__node_modules/entities/dist/generated/encode-html.js +12 -0
  308. package/_standalone/__node_modules/entities/dist/index.js +91 -0
  309. package/_standalone/__node_modules/entities/dist/internal/bin-trie-flags.js +18 -0
  310. package/_standalone/__node_modules/entities/dist/internal/decode-shared.js +17 -0
  311. package/_standalone/__node_modules/entities/dist/internal/encode-shared.js +93 -0
  312. package/_standalone/__node_modules/entities/package.json +83 -0
  313. package/_standalone/__node_modules/entities/src/decode-codepoint.ts +50 -0
  314. package/_standalone/__node_modules/entities/src/decode.ts +671 -0
  315. package/_standalone/__node_modules/entities/src/encode.ts +95 -0
  316. package/_standalone/__node_modules/entities/src/escape.ts +160 -0
  317. package/_standalone/__node_modules/entities/src/generated/decode-data-html.ts +7 -0
  318. package/_standalone/__node_modules/entities/src/generated/decode-data-xml.ts +7 -0
  319. package/_standalone/__node_modules/entities/src/generated/encode-html.ts +18 -0
  320. package/_standalone/__node_modules/entities/src/index.ts +162 -0
  321. package/_standalone/__node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
  322. package/_standalone/__node_modules/entities/src/internal/decode-shared.ts +18 -0
  323. package/_standalone/__node_modules/entities/src/internal/encode-shared.ts +123 -0
  324. package/_standalone/__node_modules/has-flag/index.js +8 -0
  325. package/_standalone/__node_modules/has-flag/license +9 -0
  326. package/_standalone/__node_modules/has-flag/package.json +46 -0
  327. package/_standalone/__node_modules/koffi/doc/benchmarks.md +126 -0
  328. package/_standalone/__node_modules/koffi/doc/callbacks.md +210 -0
  329. package/_standalone/__node_modules/koffi/doc/contribute.md +148 -0
  330. package/_standalone/__node_modules/koffi/doc/functions.md +250 -0
  331. package/_standalone/__node_modules/koffi/doc/index.md +61 -0
  332. package/_standalone/__node_modules/koffi/doc/input.md +471 -0
  333. package/_standalone/__node_modules/koffi/doc/migration.md +159 -0
  334. package/_standalone/__node_modules/koffi/doc/misc.md +180 -0
  335. package/_standalone/__node_modules/koffi/doc/output.md +305 -0
  336. package/_standalone/__node_modules/koffi/doc/packaging.md +88 -0
  337. package/_standalone/__node_modules/koffi/doc/platforms.md +36 -0
  338. package/_standalone/__node_modules/koffi/doc/pointers.md +328 -0
  339. package/_standalone/__node_modules/koffi/doc/start.md +118 -0
  340. package/_standalone/__node_modules/koffi/doc/unions.md +186 -0
  341. package/_standalone/__node_modules/koffi/doc/variables.md +102 -0
  342. package/_standalone/__node_modules/supports-color/browser.js +5 -0
  343. package/_standalone/__node_modules/supports-color/index.js +135 -0
  344. package/_standalone/__node_modules/supports-color/license +9 -0
  345. package/_standalone/__node_modules/supports-color/package.json +53 -0
  346. package/_standalone/__node_modules/yaml/browser/dist/doc/Document.js +335 -0
  347. package/_standalone/__node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  348. package/_standalone/__node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  349. package/_standalone/__node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  350. package/_standalone/__node_modules/yaml/browser/dist/doc/directives.js +176 -0
  351. package/_standalone/__node_modules/yaml/dist/doc/Document.js +337 -0
  352. package/_standalone/__node_modules/yaml/dist/doc/anchors.js +76 -0
  353. package/_standalone/__node_modules/yaml/dist/doc/applyReviver.js +57 -0
  354. package/_standalone/__node_modules/yaml/dist/doc/createNode.js +90 -0
  355. package/_standalone/__node_modules/yaml/dist/doc/directives.js +178 -0
  356. package/_standalone/public/agent-icons/claude.svg +1 -0
  357. package/_standalone/public/agent-icons/cursor.svg +1 -0
  358. package/_standalone/public/agent-icons/github-copilot.svg +1 -0
  359. package/_standalone/public/agent-icons/google.svg +1 -0
  360. package/_standalone/public/agent-icons/openai.svg +1 -0
  361. package/_standalone/public/agent-icons/windsurf.svg +1 -0
  362. package/bin/lib/stop.js +45 -0
  363. package/bin/lib/sync.js +32 -19
  364. package/dist/server/handlers/file.js +5 -2
  365. package/dist/server/handlers/file.js.map +1 -1
  366. package/dist/server/handlers/mcp-restart.d.ts +2 -0
  367. package/dist/server/handlers/mcp-restart.d.ts.map +1 -1
  368. package/dist/server/handlers/mcp-restart.js +45 -2
  369. package/dist/server/handlers/mcp-restart.js.map +1 -1
  370. package/dist/server/handlers/skills.d.ts.map +1 -1
  371. package/dist/server/handlers/skills.js +17 -3
  372. package/dist/server/handlers/skills.js.map +1 -1
  373. package/dist/server/handlers/sync.d.ts.map +1 -1
  374. package/dist/server/handlers/sync.js +28 -10
  375. package/dist/server/handlers/sync.js.map +1 -1
  376. package/dist/server/index.d.ts +1 -1
  377. package/dist/server/index.d.ts.map +1 -1
  378. package/dist/server/index.js +1 -1
  379. package/dist/server/index.js.map +1 -1
  380. package/dist/server/runtime.d.ts.map +1 -1
  381. package/dist/server/runtime.js +20 -21
  382. package/dist/server/runtime.js.map +1 -1
  383. package/package.json +1 -1
  384. package/runtime-manifest.json +1 -1
  385. package/scripts/build-bun-binary.mjs +139 -6
  386. package/scripts/prepare-standalone.mjs +0 -1
  387. package/scripts/prepare-static-web.mjs +52 -4
  388. package/scripts/release.sh +1 -1
  389. package/scripts/setup.js +115 -2
  390. package/scripts/verify-standalone.mjs +12 -0
  391. package/static-web/.mindos-build-version +1 -1
  392. package/static-web/_next/static/chunks/{1430-c4ffa328888515c1.js → 1104-0822d9349a412b9b.js} +7 -2
  393. package/static-web/_next/static/chunks/1655.0a559759973b42e9.js +1 -0
  394. package/static-web/_next/static/chunks/{2073-3f913ebb13702b7e.js → 2073-fadffc82a27afdc7.js} +2 -2
  395. package/{_standalone/__next/static/chunks/9216.d3339c27169b21bf.js → static-web/_next/static/chunks/2245.ef71edb24c5232c2.js} +1 -1
  396. package/static-web/_next/static/chunks/2258-2d3b5aac6a1fa92a.js +53 -0
  397. package/{_standalone/__next/static/chunks/4937-4101fcdadacf46e3.js → static-web/_next/static/chunks/2409-244f9b90dceb0c04.js} +1 -1
  398. package/static-web/_next/static/chunks/3279-b49c25a4f2964b16.js +1 -0
  399. package/static-web/_next/static/chunks/3807-115388f118106ca8.js +1 -0
  400. package/static-web/_next/static/chunks/3966.ea75f9c5490955de.js +1 -0
  401. package/static-web/_next/static/chunks/4010.48b219cb22dfa5d8.js +10 -0
  402. package/static-web/_next/static/chunks/5026-7fed7ca22272c18f.js +1 -0
  403. package/static-web/_next/static/chunks/5152-87e6ed56dfd7d17d.js +1 -0
  404. package/static-web/_next/static/chunks/577.5e448c99068f1323.js +1 -0
  405. package/static-web/_next/static/chunks/5913.a0a734f87b13f81a.js +1 -0
  406. package/static-web/_next/static/chunks/596.9cbaf6ba90cb204f.js +7 -0
  407. package/static-web/_next/static/chunks/6223-3fb90852221bda56.js +1 -0
  408. package/static-web/_next/static/chunks/6343.582d063078c45d73.js +6 -0
  409. package/static-web/_next/static/chunks/8174-50048777dc2469c0.js +1 -0
  410. package/static-web/_next/static/chunks/{5913.3cee388e26959b62.js → 8294.cc9f9ff2f8b219ed.js} +1 -1
  411. package/static-web/_next/static/chunks/8626-7da79d9ab2504eed.js +1 -0
  412. package/static-web/_next/static/chunks/{8732.9002f42201b06fe8.js → 8732.87554c78e8825fac.js} +4 -4
  413. package/static-web/_next/static/chunks/8922-3babcd35e18e9e4f.js +1 -0
  414. package/static-web/_next/static/chunks/9440-eee639175695be7d.js +33 -0
  415. package/static-web/_next/static/chunks/9479-b48d19e3588823c1.js +34 -0
  416. package/static-web/_next/static/chunks/{9602.4e99e3525e5f062c.js → 9602.218427fc7b3d6b11.js} +1 -1
  417. package/static-web/_next/static/chunks/app/agents/[agentKey]/page-ef111ea0a3368752.js +1 -0
  418. package/static-web/_next/static/chunks/app/agents/page-aacead0f47cedb0d.js +1 -0
  419. package/static-web/_next/static/chunks/app/layout-ed608bbf9585e78f.js +99 -0
  420. package/static-web/_next/static/chunks/app/page-d22928276c36528c.js +1 -0
  421. package/static-web/_next/static/chunks/app/settings/{page-c9f44b3447a41431.js → page-045afd8c0908f923.js} +1 -1
  422. package/{_standalone/__next/static/chunks/app/setup/page-f5de08d0d588c778.js → static-web/_next/static/chunks/app/setup/page-034a608f19d04653.js} +1 -1
  423. package/static-web/_next/static/chunks/app/trash/page-251aaf5aac9d5a0b.js +1 -0
  424. package/static-web/_next/static/chunks/app/view/[...path]/page-7e17c3d13fe2e275.js +12 -0
  425. package/static-web/_next/static/chunks/webpack-1decda0633a8a874.js +1 -0
  426. package/static-web/_next/static/css/5f000212c8b2e09a.css +1 -0
  427. package/static-web/agent-icons/claude.svg +1 -0
  428. package/static-web/agent-icons/cursor.svg +1 -0
  429. package/static-web/agent-icons/github-copilot.svg +1 -0
  430. package/static-web/agent-icons/google.svg +1 -0
  431. package/static-web/agent-icons/openai.svg +1 -0
  432. package/static-web/agent-icons/windsurf.svg +1 -0
  433. package/static-web/help/index.html +5 -20
  434. package/static-web/index.html +8 -22
  435. package/static-web/setup/index.html +5 -20
  436. package/static-web/static-web-manifest.json +1 -1
  437. package/static-web/wiki/index.html +5 -20
  438. package/_standalone/__next/server/chunks/2037.js +0 -2
  439. package/_standalone/__next/server/chunks/9350.js +0 -11
  440. package/_standalone/__next/static/chunks/2288-4dcb8ad3ccbd651e.js +0 -1
  441. package/_standalone/__next/static/chunks/2461-a1073a0bd04c228a.js +0 -33
  442. package/_standalone/__next/static/chunks/3424-060f01a8983e438d.js +0 -1
  443. package/_standalone/__next/static/chunks/4172-4fc551f07f7d082f.js +0 -1
  444. package/_standalone/__next/static/chunks/4454-f582e17b76ccf1d1.js +0 -1
  445. package/_standalone/__next/static/chunks/47-41e1a06e6d389b69.js +0 -48
  446. package/_standalone/__next/static/chunks/5152-2db55438be7ecb94.js +0 -1
  447. package/_standalone/__next/static/chunks/5200-6c82e5ce54a95b4b.js +0 -6
  448. package/_standalone/__next/static/chunks/6274-f173cb227ad1ef21.js +0 -1
  449. package/_standalone/__next/static/chunks/6947.7e50e18da7dc4aef.js +0 -1
  450. package/_standalone/__next/static/chunks/725-3b648bf7929ff78d.js +0 -1
  451. package/_standalone/__next/static/chunks/9479-7b304601a56304cd.js +0 -32
  452. package/_standalone/__next/static/chunks/app/agents/[agentKey]/page-44c493b744d18249.js +0 -1
  453. package/_standalone/__next/static/chunks/app/agents/page-6591b482a193e657.js +0 -1
  454. package/_standalone/__next/static/chunks/app/layout-5966cd317bbed698.js +0 -114
  455. package/_standalone/__next/static/chunks/app/page-5c9489e28657376e.js +0 -1
  456. package/_standalone/__next/static/chunks/app/trash/page-d87207a63591ee16.js +0 -1
  457. package/_standalone/__next/static/chunks/app/view/[...path]/page-1898f4ae4ab28db0.js +0 -12
  458. package/_standalone/__next/static/chunks/webpack-75abef9cbb1ea912.js +0 -1
  459. package/_standalone/__next/static/css/0d2fd378b5449176.css +0 -1
  460. package/static-web/_next/static/chunks/2288-4dcb8ad3ccbd651e.js +0 -1
  461. package/static-web/_next/static/chunks/2461-a1073a0bd04c228a.js +0 -33
  462. package/static-web/_next/static/chunks/3424-060f01a8983e438d.js +0 -1
  463. package/static-web/_next/static/chunks/4172-4fc551f07f7d082f.js +0 -1
  464. package/static-web/_next/static/chunks/4454-f582e17b76ccf1d1.js +0 -1
  465. package/static-web/_next/static/chunks/47-41e1a06e6d389b69.js +0 -48
  466. package/static-web/_next/static/chunks/5152-2db55438be7ecb94.js +0 -1
  467. package/static-web/_next/static/chunks/5200-6c82e5ce54a95b4b.js +0 -6
  468. package/static-web/_next/static/chunks/6274-f173cb227ad1ef21.js +0 -1
  469. package/static-web/_next/static/chunks/6947.7e50e18da7dc4aef.js +0 -1
  470. package/static-web/_next/static/chunks/725-3b648bf7929ff78d.js +0 -1
  471. package/static-web/_next/static/chunks/9479-7b304601a56304cd.js +0 -32
  472. package/static-web/_next/static/chunks/app/agents/[agentKey]/page-44c493b744d18249.js +0 -1
  473. package/static-web/_next/static/chunks/app/agents/page-6591b482a193e657.js +0 -1
  474. package/static-web/_next/static/chunks/app/layout-5966cd317bbed698.js +0 -114
  475. package/static-web/_next/static/chunks/app/page-5c9489e28657376e.js +0 -1
  476. package/static-web/_next/static/chunks/app/trash/page-d87207a63591ee16.js +0 -1
  477. package/static-web/_next/static/chunks/app/view/[...path]/page-1898f4ae4ab28db0.js +0 -12
  478. package/static-web/_next/static/chunks/webpack-75abef9cbb1ea912.js +0 -1
  479. package/static-web/_next/static/css/0d2fd378b5449176.css +0 -1
  480. /package/_standalone/__next/static/{J9M4pgRyRHH7Ofbxuuklh → apol5mbXb7N_sqaKgpXN1}/_buildManifest.js +0 -0
  481. /package/_standalone/__next/static/{J9M4pgRyRHH7Ofbxuuklh → apol5mbXb7N_sqaKgpXN1}/_ssgManifest.js +0 -0
  482. /package/static-web/_next/static/{J9M4pgRyRHH7Ofbxuuklh → apol5mbXb7N_sqaKgpXN1}/_buildManifest.js +0 -0
  483. /package/static-web/_next/static/{J9M4pgRyRHH7Ofbxuuklh → apol5mbXb7N_sqaKgpXN1}/_ssgManifest.js +0 -0
@@ -0,0 +1,180 @@
1
+ # Types
2
+
3
+ ## Introspection
4
+
5
+ *New in Koffi 2.0: `koffi.resolve()`, new in Koffi 2.2: `koffi.offsetof()`*
6
+
7
+ > [!NOTE]
8
+ > The value returned by `introspect()` has **changed in version 2.0 and in version 2.2**.
9
+ >
10
+ > In Koffi 1.x, it could only be used with struct types and returned the object passed to koffi.struct() with the member names and types.
11
+ >
12
+ > Starting in Koffi 2.2, each record member is exposed as an object containing the name, the type and the offset within the record.
13
+ >
14
+ > Consult the [migration guide](migration) for more information.
15
+
16
+ Use `koffi.introspect(type)` to get detailed information about a type: name, primitive, size, alignment, members (record types), reference type (array, pointer) and length (array).
17
+
18
+ ```js
19
+ const FoobarType = koffi.struct('FoobarType', {
20
+ a: 'int',
21
+ b: 'char *',
22
+ c: 'double'
23
+ });
24
+
25
+ console.log(koffi.introspect(FoobarType));
26
+
27
+ // Expected result on 64-bit machines:
28
+ // {
29
+ // name: 'FoobarType',
30
+ // primitive: 'Record',
31
+ // size: 24,
32
+ // alignment: 8,
33
+ // members: {
34
+ // a: { name: 'a', type: [External: 4b28a60], offset: 0 },
35
+ // b: { name: 'b', type: [External: 4b292e0], offset: 8 },
36
+ // c: { name: 'c', type: [External: 4b29260], offset: 16 }
37
+ // }
38
+ // }
39
+ ```
40
+
41
+ Koffi also exposes a few more utility functions to get a subset of this information:
42
+
43
+ - `koffi.sizeof(type)` to get the size of a type
44
+ - `koffi.alignof(type)` to get the alignment of a type
45
+ - `koffi.offsetof(type, member_name)` to get the offset of a record member
46
+ - `koffi.resolve(type)` to get the resolved type object from a type string
47
+
48
+ Just like before, you can refer to primitive types by their name or through `koffi.types`:
49
+
50
+ ```js
51
+ // These two lines do the same:
52
+ console.log(koffi.sizeof('long'));
53
+ console.log(koffi.sizeof(koffi.types.long));
54
+ ```
55
+
56
+ ## Aliases
57
+
58
+ *New in Koffi 2.0*
59
+
60
+ You can alias a type with `koffi.alias(name, type)`. Aliased types are completely equivalent.
61
+
62
+ ## Circular references
63
+
64
+ *New in Koffi 2.10.0*
65
+
66
+ In some cases, composite types can point to each other and thus depend on each other. This can also happen when a function takes a pointer to a struct that also contains a function pointer.
67
+
68
+ To deal with this, you can create an opaque type and redefine it later to a concrete struct or union type, as shown below.
69
+
70
+ ```js
71
+ const Type1 = koffi.opaque('Type1');
72
+
73
+ const Type2 = koffi.struct('Type2', {
74
+ ptr: 'Type1 *',
75
+ i: 'int'
76
+ });
77
+
78
+ // Redefine Type1 to a concrete type
79
+ koffi.struct(Type1, {
80
+ ptr: 'Type2 *',
81
+ f: 'float'
82
+ });
83
+ ```
84
+
85
+ > [!NOTE]
86
+ > You must use a proper type object when you redefine the type. If you only have the name, use `koffi.resolve()` to get a type object from a type string.
87
+ >
88
+ > ```js
89
+ > const MyType = koffi.opaque('MyType');
90
+ >
91
+ > // This does not work, you must use the MyType object and not a type string
92
+ > koffi.struct('MyType', {
93
+ > ptr: 'Type2 *',
94
+ > f: 'float'
95
+ > });
96
+
97
+ # Settings
98
+
99
+ ## Memory usage
100
+
101
+ For synchronous/normal calls, Koffi uses two preallocated memory blocks:
102
+
103
+ - One to construct the C stack and assign registers, subsequently used by the platform-specific assembly code (1 MiB by default)
104
+ - One to allocate strings and objects/structs (2 MiB by default)
105
+
106
+ Unless very big strings or objects (at least more than one page of memory) are used, Koffi does not directly allocate any extra memory during calls or callbacks. However, please note that the JS engine (V8) might.
107
+
108
+ The size (in bytes) of these preallocated blocks can be changed. Use `koffi.config()` to get an object with the settings, and `koffi.config(obj)` to apply new settings.
109
+
110
+ ```js
111
+ let config = koffi.config();
112
+ console.log(config);
113
+ ```
114
+
115
+ The same is true for asynchronous calls. When an asynchronous call is made, Koffi will allocate new blocks unless there is an unused (resident) set of blocks still available. Once the asynchronous call is finished, these blocks are freed if there are more than `resident_async_pools` sets of blocks left around. By default, the preallocated stack and heap blocks are much smaller than for synchronous calls (see [default settings](#default-settings)).
116
+
117
+ > [!CAUTION]
118
+ > The **memory usage can blow up easily** if you increase the size of async memory blocks and many async calls are running or queued at the same time !
119
+ >
120
+ > For example, with 4096 running/queued async calls, a stack size of 256 kiB and a heap size of 512 kiB, the memory usage will reach approximately _4096 * (256 + 512) kiB ≈ 3 GiB_ just for Koffi, even though most of it will be freed once the number of queued calls goes down.
121
+
122
+ Async calls run on worker threads, the number of which depends on the number of cores in your machine. Additional async calls are queued, up to `max_async_calls` can run and be queued at the same time. If you try to make an async call once the queue if full, an exception will be thrown.
123
+
124
+ ## Default settings
125
+
126
+ *Changed in Koffi 2.15*
127
+
128
+ Setting | Default | Maximum | Description
129
+ -------------------- | ------- | ------- | ----------------------------------------------------
130
+ sync_stack_size | 1 MiB | 16 MiB | Stack size for synchronous calls
131
+ sync_heap_size | 2 MiB | 16 MiB | Heap size for synchronous calls
132
+ async_stack_size | 128 kiB | 16 MiB | Stack size for asynchronous calls
133
+ async_heap_size | 128 kiB | 16 MiB | Heap size for asynchronous calls
134
+ resident_async_pools | 4 | 16 | Number of resident pools for asynchronous calls
135
+ max_async_calls | 256 | 4096 | Maximum number of queued asynchronous calls
136
+ max_type_size | 64 MiB | 512 MiB | Maximum size of Koffi types (for arrays and structs)
137
+
138
+ # Usage statistics
139
+
140
+ *New in Koffi 2.3.2*
141
+
142
+ You can use `koffi.stats()` to get a few statistics related to Koffi.
143
+
144
+ # POSIX error codes
145
+
146
+ *New in Koffi 2.3.14*
147
+
148
+ You can use `koffi.errno()` to get the current errno value, and `koffi.errno(value)` to change it.
149
+
150
+ The standard POSIX error codes are available in `koffi.os.errno`, as shown below:
151
+
152
+ ```js
153
+ const assert = require('assert');
154
+
155
+ // ES6 syntax: import koffi from 'koffi';
156
+ const koffi = require('koffi');
157
+
158
+ const lib = koffi.load('libc.so.6');
159
+
160
+ const close = lib.func('int close(int fd)');
161
+
162
+ close(-1);
163
+ assert.equal(koffi.errno(), koffi.os.errno.EBADF);
164
+
165
+ console.log('close() with invalid FD is POSIX compliant!');
166
+ ```
167
+
168
+ # Reset internal state
169
+
170
+ *New in Koffi 2.5.19*
171
+
172
+ You can use `koffi.reset()` to clear some Koffi internal state such as:
173
+
174
+ - Parser type names
175
+ - Asynchronous function broker (useful to avoid false positive with `jest --detectOpenHandles`)
176
+
177
+ This function is mainly intended for test code, when you execute the same code over and over and you need to reuse type names.
178
+
179
+ > [!WARNING]
180
+ > Trying to use a function or a type that was initially defined before the reset is undefined behavior and will likely lead to a crash!
@@ -0,0 +1,305 @@
1
+ # Output and input/output
2
+
3
+ For simplicity, and because Javascript only has value semantics for primitive types, Koffi can marshal out (or in/out) multiple types of parameters:
4
+
5
+ - [Structs](input#struct-types) (to/from JS objects)
6
+ - [Unions](unions)
7
+ - [Opaque types](input#opaque-types)
8
+ - String buffers
9
+
10
+ In order to change an argument from input-only to output or input/output, use the following functions:
11
+
12
+ - `koffi.out()` on a pointer, e.g. `koffi.out(koffi.pointer(timeval))` (where timeval is a struct type)
13
+ - `koffi.inout()` for dual input/output parameters
14
+
15
+ The same can be done when declaring a function with a C-like prototype string, with the MSDN-like type qualifiers:
16
+
17
+ - `_Out_` for output parameters
18
+ - `_Inout_` for dual input/output parameters
19
+
20
+ > [!TIP]
21
+ > The Win32 API provides many functions that take a pointer to an empty struct for output, except that the first member of the struct (often named `cbSize`) must be set to the size of the struct before calling the function. An example of such a function is `GetLastInputInfo()`.
22
+ >
23
+ > In order to use these functions in Koffi, you must define the parameter as `_Inout_`: the value must be copied in (to provide `cbSize` to the function) and then the filled struct must be copied out to JS.
24
+ >
25
+ > Look at the [Win32 example](#win32-struct-example) below for more information.
26
+
27
+ ## Primitive value
28
+
29
+ This Windows example enumerate all Chrome windows along with their PID and their title. The `GetWindowThreadProcessId()` function illustrates how to get a primitive value from an output argument.
30
+
31
+ ```js
32
+ // ES6 syntax: import koffi from 'koffi';
33
+ const koffi = require('koffi');
34
+
35
+ const user32 = koffi.load('user32.dll');
36
+
37
+ const DWORD = koffi.alias('DWORD', 'uint32_t');
38
+ const HANDLE = koffi.pointer('HANDLE', koffi.opaque());
39
+ const HWND = koffi.alias('HWND', HANDLE);
40
+
41
+ const FindWindowEx = user32.func('HWND __stdcall FindWindowExW(HWND hWndParent, HWND hWndChildAfter, const char16_t *lpszClass, const char16_t *lpszWindow)');
42
+ const GetWindowThreadProcessId = user32.func('DWORD __stdcall GetWindowThreadProcessId(HWND hWnd, _Out_ DWORD *lpdwProcessId)');
43
+ const GetWindowText = user32.func('int __stdcall GetWindowTextA(HWND hWnd, _Out_ uint8_t *lpString, int nMaxCount)');
44
+
45
+ for (let hwnd = null;;) {
46
+ hwnd = FindWindowEx(0, hwnd, 'Chrome_WidgetWin_1', null);
47
+
48
+ if (!hwnd)
49
+ break;
50
+
51
+ // Get PID
52
+ let pid;
53
+ {
54
+ let ptr = [null];
55
+ let tid = GetWindowThreadProcessId(hwnd, ptr);
56
+
57
+ if (!tid) {
58
+ // Maybe the process ended in-between?
59
+ continue;
60
+ }
61
+
62
+ pid = ptr[0];
63
+ }
64
+
65
+ // Get window title
66
+ let title;
67
+ {
68
+ let buf = Buffer.allocUnsafe(1024);
69
+ let length = GetWindowText(hwnd, buf, buf.length);
70
+
71
+ if (!length) {
72
+ // Maybe the process ended in-between?
73
+ continue;
74
+ }
75
+
76
+ title = koffi.decode(buf, 'char', length);
77
+ }
78
+
79
+ console.log({ PID: pid, Title: title });
80
+ }
81
+ ```
82
+
83
+ ## Struct examples
84
+
85
+ ### POSIX struct example
86
+
87
+ This example calls the POSIX function `gettimeofday()`, and uses the prototype-like syntax.
88
+
89
+ ```js
90
+ // ES6 syntax: import koffi from 'koffi';
91
+ const koffi = require('koffi');
92
+
93
+ const lib = koffi.load('libc.so.6');
94
+
95
+ const timeval = koffi.struct('timeval', {
96
+ tv_sec: 'unsigned int',
97
+ tv_usec: 'unsigned int'
98
+ });
99
+ const timezone = koffi.struct('timezone', {
100
+ tz_minuteswest: 'int',
101
+ tz_dsttime: 'int'
102
+ });
103
+
104
+ // The _Out_ qualifiers instruct Koffi to marshal out the values
105
+ const gettimeofday = lib.func('int gettimeofday(_Out_ timeval *tv, _Out_ timezone *tz)');
106
+
107
+ let tv = {};
108
+ gettimeofday(tv, null);
109
+
110
+ console.log(tv);
111
+ ```
112
+
113
+ ### Win32 struct example
114
+
115
+ Many Win32 functions that use struct outputs require you to set a size member (often named `cbSize`). These functions won't work with `_Out_` because the size value must be copied from JS to C, use `_Inout_` in this case.
116
+
117
+ ```js
118
+ // ES6 syntax: import koffi from 'koffi';
119
+ const koffi = require('koffi');
120
+
121
+ const user32 = koffi.load('user32.dll');
122
+
123
+ const LASTINPUTINFO = koffi.struct('LASTINPUTINFO', {
124
+ cbSize: 'uint',
125
+ dwTime: 'uint32'
126
+ });
127
+ const GetLastInputInfo = user32.func('bool __stdcall GetLastInputInfo(_Inout_ LASTINPUTINFO *plii)');
128
+
129
+ let info = { cbSize: koffi.sizeof(LASTINPUTINFO) };
130
+ let success = GetLastInputInfo(info);
131
+
132
+ console.log(success, info);
133
+ ```
134
+
135
+ ## Opaque type example
136
+
137
+ This example opens an in-memory SQLite database, and uses the node-ffi-style function declaration syntax.
138
+
139
+ ```js
140
+ // ES6 syntax: import koffi from 'koffi';
141
+ const koffi = require('koffi');
142
+
143
+ const lib = koffi.load('sqlite3.so');
144
+
145
+ const sqlite3 = koffi.opaque('sqlite3');
146
+
147
+ // Use koffi.out() on a double pointer to copy out (from C to JS) after the call
148
+ const sqlite3_open_v2 = lib.func('sqlite3_open_v2', 'int', ['str', koffi.out(koffi.pointer(sqlite3, 2)), 'int', 'str']);
149
+ const sqlite3_close_v2 = lib.func('sqlite3_close_v2', 'int', [koffi.pointer(sqlite3)]);
150
+
151
+ const SQLITE_OPEN_READWRITE = 0x2;
152
+ const SQLITE_OPEN_CREATE = 0x4;
153
+
154
+ let out = [null];
155
+ if (sqlite3_open_v2(':memory:', out, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, null) != 0)
156
+ throw new Error('Failed to open database');
157
+ let db = out[0];
158
+
159
+ sqlite3_close_v2(db);
160
+ ```
161
+
162
+ ## String buffer example
163
+
164
+ *New in Koffi 2.2*
165
+
166
+ This example calls a C function to concatenate two strings to a pre-allocated string buffer. Since JS strings are immutable, you must pass an array with a single string instead.
167
+
168
+ ```c
169
+ void ConcatToBuffer(const char *str1, const char *str2, char *out)
170
+ {
171
+ size_t len = 0;
172
+
173
+ for (size_t i = 0; str1[i]; i++) {
174
+ out[len++] = str1[i];
175
+ }
176
+ for (size_t i = 0; str2[i]; i++) {
177
+ out[len++] = str2[i];
178
+ }
179
+
180
+ out[len] = 0;
181
+ }
182
+ ```
183
+
184
+ ```js
185
+ const ConcatToBuffer = lib.func('void ConcatToBuffer(const char *str1, const char *str2, _Out_ char *out)');
186
+
187
+ let str1 = 'Hello ';
188
+ let str2 = 'Friends!';
189
+
190
+ // We need to reserve space for the output buffer! Including the NUL terminator
191
+ // because ConcatToBuffer() expects so, but Koffi can convert back to a JS string
192
+ // without it (if we reserve the right size).
193
+ let out = ['\0'.repeat(str1.length + str2.length + 1)];
194
+
195
+ ConcatToBuffer(str1, str2, out);
196
+
197
+ console.log(out[0]);
198
+ ```
199
+
200
+ # Output buffers
201
+
202
+ In most cases, you can use buffers and typed arrays to provide output buffers. This works as long as the buffer only gets used while the native C function is being called. See [transient pointers](#transient-pointers) below for an example.
203
+
204
+ > [!WARNING]
205
+ > It is unsafe to keep the pointer around in the native code, or to change the contents outside of the function call where it is provided.
206
+ >
207
+ > If you need to provide a pointer that will be kept around, allocate memory with [koffi.alloc()](#stable-pointers) instead.
208
+
209
+ ## Transient pointers
210
+
211
+ *New in Koffi 2.3*
212
+
213
+ You can use buffers and typed arrays for output (and input/output) pointer parameters. Simply pass the buffer as an argument and the native function will receive a pointer to its contents.
214
+
215
+ Once the native function returns, you can decode the content with `koffi.decode(value, type)` as in the following example:
216
+
217
+ ```js
218
+ // ES6 syntax: import koffi from 'koffi';
219
+ const koffi = require('koffi');
220
+
221
+ const lib = koffi.load('libc.so.6');
222
+
223
+ const Vec3 = koffi.struct('Vec3', {
224
+ x: 'float32',
225
+ y: 'float32',
226
+ z: 'float32'
227
+ })
228
+
229
+ const memcpy = lib.func('void *memcpy(_Out_ void *dest, const void *src, size_t size)');
230
+
231
+ let vec1 = { x: 1, y: 2, z: 3 };
232
+ let vec2 = null;
233
+
234
+ // Copy the vector in a convoluted way through memcpy
235
+ {
236
+ let src = koffi.as(vec1, 'Vec3 *');
237
+ let dest = Buffer.allocUnsafe(koffi.sizeof(Vec3));
238
+
239
+ memcpy(dest, src, koffi.sizeof(Vec3));
240
+
241
+ vec2 = koffi.decode(dest, Vec3);
242
+ }
243
+
244
+ // CHange vector1, leaving copy alone
245
+ [vec1.x, vec1.y, vec1.z] = [vec1.z, vec1.y, vec1.x];
246
+
247
+ console.log(vec1); // { x: 3, y: 2, z: 1 }
248
+ console.log(vec2); // { x: 1, y: 2, z: 3 }
249
+ ```
250
+
251
+ See [decoding variables](variables#decode-to-js-values) for more information about the decode function.
252
+
253
+ ## Stable pointers
254
+
255
+ *New in Koffi 2.8*
256
+
257
+ In some cases, the native code may need to change the output buffer at a later time, maybe during a later call or from another thread.
258
+
259
+ In this case, it is **not safe to use buffers or typed arrays**!
260
+
261
+ However, you can use `koffi.alloc(type, len)` to allocate memory and get a pointer that won't move, and can be safely used at any time by the native code. Use [koffi.decode()](variables#decode-to-js-values) to read data from the pointer when needed.
262
+
263
+ The example below sets up some memory to be used as an output buffer where a concatenation function appends a string on each call.
264
+
265
+ ```c
266
+ #include <assert.h>
267
+ #include <stddef.h>
268
+
269
+ static char *buf_ptr;
270
+ static size_t buf_len;
271
+ static size_t buf_size;
272
+
273
+ void reset_buffer(char *buf, size_t size)
274
+ {
275
+ assert(size > 1);
276
+
277
+ buf_ptr = buf;
278
+ buf_len = 0;
279
+ buf_size = size - 1; // Keep space for trailing NUL
280
+
281
+ buf_ptr[0] = 0;
282
+ }
283
+
284
+ void append_str(const char *str)
285
+ {
286
+ for (size_t i = 0; str[i] && buf_len < buf_size; i++, buf_len++) {
287
+ buf_ptr[buf_len] = str[i];
288
+ }
289
+ buf_ptr[buf_len] = 0;
290
+ }
291
+ ```
292
+
293
+ ```js
294
+ const reset_buffer = lib.func('void reset_buffer(char *buf, size_t size)');
295
+ const append_str = lib.func('void append_str(const char *str)');
296
+
297
+ let output = koffi.alloc('char', 64);
298
+ reset_buffer(output, 64);
299
+
300
+ append_str('Hello');
301
+ console.log(koffi.decode(output, 'char', -1)); // Prints Hello
302
+
303
+ append_str(' World!');
304
+ console.log(koffi.decode(output, 'char', -1)); // Prints Hello World!
305
+ ```
@@ -0,0 +1,88 @@
1
+ # Bundling
2
+
3
+ ## Native modules
4
+
5
+ *Simplified in Koffi 2.5.9*
6
+
7
+ Koffi uses native modules to work. The NPM package contains binaries for various platforms and architectures, and the appropriate module is selected at runtime.
8
+
9
+ > [!IMPORTANT]
10
+ > Please note that Koffi is meant for Node.js (or Electron) and not for browsers! It it not possible to load native libraries inside a browser!
11
+
12
+ In theory, the **packagers/bundlers should be able to find all native modules** because they are explictly listed in the Javascript file (as static strings) and package them somehow.
13
+
14
+ If that is not the case, you can manually arrange to copy the `node_modules/koffi/build/koffi` directory next to your bundled script.
15
+
16
+ Here is an example that would work:
17
+
18
+ ```text
19
+ koffi/
20
+ win32_x64/
21
+ koffi.node
22
+ linux_x64/
23
+ koffi.node
24
+ ...
25
+ MyBundle.js
26
+ ```
27
+
28
+ When running in Electron, Koffi will also try to find the native module in `process.resourcesPath`. For an Electron app you could do something like this
29
+
30
+ ```text
31
+ locales/
32
+ resources/
33
+ koffi/
34
+ win32_ia32/
35
+ koffi.node
36
+ win32_x64/
37
+ koffi.node
38
+ ...
39
+ MyApp.exe
40
+ ```
41
+
42
+ ## Indirect loader
43
+
44
+ *New in Koffi 2.6.2*
45
+
46
+ Some bundlers (such as vite) don't like when require is used with native modules.
47
+
48
+ In this case, you can use `require('koffi/indirect')` but you will need to make sure that the native Koffi modules are packaged properly.
49
+
50
+ # Packaging examples
51
+
52
+ ## Electron with electron-builder
53
+
54
+ Packaging with electron-builder should work as-is.
55
+
56
+ Take a look at the full [working example in the repository](https://codeberg.org/Koromix/rygel/src/branch/master/src/koffi/examples/electron-builder).
57
+
58
+ ## Electron Forge
59
+
60
+ Packaging with Electron Force should work as-is, even when using webpack as configured initially when you run:
61
+
62
+ ```sh
63
+ npm init electron-app@latest my-app -- --template=webpack
64
+ ```
65
+
66
+ Take a look at the full [working example in the repository](https://codeberg.org/Koromix/rygel/src/branch/master/src/koffi/examples/electron-forge).
67
+
68
+ ## NW.js
69
+
70
+ Packagers such as nw-builder should work as-is.
71
+
72
+ You can find a full [working example in the repository](https://codeberg.org/Koromix/rygel/src/branch/master/src/koffi/examples/nwjs).
73
+
74
+ ## Node.js and esbuild
75
+
76
+ You can easily tell esbuild to copy the native files with the copy loader and things should just work. Use something like:
77
+
78
+ ```sh
79
+ esbuild index.js --platform=node --bundle --loader:.node=copy --outdir=dist/
80
+ ```
81
+
82
+ You can find a full [working example in the repository](https://codeberg.org/Koromix/rygel/src/branch/master/src/koffi/examples/node-esbuild).
83
+
84
+ ## Node.js and yao-pkg
85
+
86
+ Use [yao-pkg](https://github.com/yao-pkg/pkg) to make binary packages of your Node.js-based project.
87
+
88
+ You can find a full [working example in the repository](https://codeberg.org/Koromix/rygel/src/branch/master/src/koffi/examples/yao-pkg).
@@ -0,0 +1,36 @@
1
+ # Node.js
2
+
3
+ Koffi requires a recent [Node.js](https://nodejs.org/) version with [N-API](https://nodejs.org/api/n-api.html) version 8 support:
4
+
5
+ - Node < 12.22.0 is not supported
6
+ - _Node 12.x_: Node 12.22.0 or newer
7
+ - _Node 14.x_: Node 14.17.0 or newer
8
+ - _Node 15.x_: Node 15.12.0 or newer
9
+ - Node 16.0.0 or later versions
10
+
11
+ Use [NVM](https://github.com/nvm-sh/nvm) to install more recent Node versions on older Linux distributions.
12
+
13
+ # Supported platforms
14
+
15
+ The following combinations of OS and architectures __are officially supported and tested__ at the moment:
16
+
17
+ ISA / OS | Windows | Linux (glibc) | Linux (musl) | macOS | FreeBSD | OpenBSD
18
+ ------------------ | ----------- | ------------- | ------------ | ----------- | ----------- | --------
19
+ x86 (IA32) [^1] | ✅ Yes | ✅ Yes | 🟨 Probably | ⬜️ *N/A* | ✅ Yes | ✅ Yes
20
+ x86_64 (AMD64) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes
21
+ ARM32 LE [^2] | ⬜️ *N/A* | ✅ Yes | 🟨 Probably | ⬜️ *N/A* | 🟨 Probably | 🟨 Probably
22
+ ARM64 (AArch64) LE | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | 🟨 Probably
23
+ RISC-V 64 [^3] | ⬜️ *N/A* | ✅ Yes | 🟨 Probably | ⬜️ *N/A* | 🟨 Probably | 🟨 Probably
24
+ LoongArch64 | ⬜️ *N/A* | ✅ Yes | 🟨 Probably | ⬜️ *N/A* | 🟨 Probably | 🟨 Probably
25
+
26
+ <div class="legend">✅ Yes | 🟨 Probably | ⬜️ Not applicable</div>
27
+
28
+ [^1]: The following call conventions are supported for forward calls: cdecl, stdcall, MS fastcall, thiscall. Only cdecl and stdcall can be used for C to JS callbacks.
29
+ [^2]: The prebuilt binary uses the hard float ABI and expects a VFP coprocessor. Build from source to use Koffi with a different ABI (softfp, soft).
30
+ [^3]: The prebuilt binary uses the LP64D (double-precision float) ABI. The LP64 ABI is supported in theory if you build Koffi from source (untested), the LP64F ABI is not supported.
31
+
32
+ For all fully supported platforms (green check marks), a prebuilt binary is included in the NPM package which means you can install Koffi without a C++ compiler.
33
+
34
+ <style>
35
+ table td:not(:first-child) { text-align: center; }
36
+ </style>