@psnext/slingcli 2.4.20260526-1 → 2.4.20260527-3

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 (382) hide show
  1. package/bin/sling.js +4 -1
  2. package/node_modules/@aws-sdk/core/package.json +2 -2
  3. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  4. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +12 -6
  5. package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js +12 -6
  6. package/node_modules/@aws-sdk/credential-provider-http/package.json +3 -2
  7. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  8. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  9. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  10. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  11. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +3 -3
  12. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  13. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  14. package/node_modules/@aws-sdk/middleware-websocket/package.json +2 -2
  15. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  16. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  17. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  18. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  19. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  20. package/node_modules/@aws-sdk/nested-clients/package.json +3 -3
  21. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +1 -2
  22. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  23. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +18 -24
  24. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  25. package/node_modules/@earendil-works/pi-ai/dist/cli.js +14 -0
  26. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +88 -107
  27. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +2 -1
  28. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +8 -22
  29. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +1 -1
  30. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +1 -1
  31. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +47 -30
  32. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +1 -1
  33. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +1 -1
  34. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +55 -0
  35. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +45 -69
  36. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -0
  37. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +5 -2
  38. package/node_modules/@earendil-works/pi-ai/package.json +4 -3
  39. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js +2 -3
  40. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +18 -12
  41. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js +2 -1
  42. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +3 -2
  43. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +8 -2
  44. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +2 -1
  45. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +18 -24
  46. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.js +8 -6
  47. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/template.js +6 -3
  48. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +12 -29
  49. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +5 -1
  50. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js +52 -22
  51. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +63 -36
  52. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js +6 -20
  53. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +38 -31
  54. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +9 -4
  55. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +32 -24
  56. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +6 -13
  57. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js +8 -22
  58. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +54 -53
  59. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js +8 -1
  60. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +44 -81
  61. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js +27 -12
  62. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +2 -3
  63. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +3 -3
  64. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -5
  65. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.js +9 -3
  66. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js +39 -21
  67. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +9 -8
  68. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.js +12 -2
  69. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +20 -35
  70. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +5 -6
  71. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js +1 -1
  72. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +14 -5
  73. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +29 -4
  74. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +1 -1
  75. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +4 -4
  76. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +37 -28
  77. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +64 -7
  78. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +15 -3
  79. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js +14 -8
  80. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js +124 -0
  81. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js +31 -0
  82. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js +75 -115
  83. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js +33 -7
  84. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +13 -26
  85. package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
  86. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +40 -55
  87. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +2 -2
  88. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +12 -2
  89. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +53 -0
  90. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +4 -1
  91. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +38 -16
  92. package/node_modules/@earendil-works/pi-tui/dist/utils.js +19 -12
  93. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
  94. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
  95. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
  96. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
  97. package/node_modules/@earendil-works/pi-tui/package.json +3 -5
  98. package/node_modules/@smithy/core/dist-cjs/index.js +3 -4
  99. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +3 -11
  100. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +2 -2
  101. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +2 -2
  102. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +2 -2
  103. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +9 -40
  104. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +9 -40
  105. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +12 -142
  106. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +7 -9
  107. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -2
  108. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +2 -2
  109. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -2
  110. package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +184 -0
  111. package/node_modules/@smithy/core/dist-es/index.js +6 -6
  112. package/node_modules/@smithy/core/dist-es/submodules/client/index.js +2 -2
  113. package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js +1 -1
  114. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.browser.js +2 -2
  115. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +2 -2
  116. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js +1 -1
  117. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js +1 -1
  118. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js +1 -1
  119. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +1 -1
  120. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +1 -2
  121. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
  122. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +5 -5
  123. package/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js +1 -1
  124. package/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +1 -1
  125. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js +3 -4
  126. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +1 -2
  127. package/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js +1 -1
  128. package/node_modules/@smithy/core/dist-es/submodules/transport/index.js +9 -0
  129. package/node_modules/@smithy/core/dist-es/submodules/{protocols/url-parser → transport}/parseUrl.js +1 -1
  130. package/node_modules/@smithy/core/dist-es/submodules/{endpoints → transport}/toEndpointV1.js +1 -1
  131. package/node_modules/@smithy/core/dist-types/index.d.ts +10 -6
  132. package/node_modules/@smithy/core/dist-types/submodules/client/index.d.ts +2 -2
  133. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.browser.d.ts +2 -2
  134. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +2 -2
  135. package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.d.ts +2 -2
  136. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/lib/index.d.ts +1 -1
  137. package/node_modules/@smithy/core/dist-types/submodules/protocols/HttpBindingProtocol.d.ts +1 -1
  138. package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +5 -5
  139. package/node_modules/@smithy/core/dist-types/submodules/protocols/protocol-http/httpHandler.d.ts +1 -2
  140. package/node_modules/@smithy/core/dist-types/submodules/protocols/requestBuilder.d.ts +1 -1
  141. package/node_modules/@smithy/core/dist-types/submodules/transport/index.d.ts +9 -0
  142. package/node_modules/@smithy/core/package.json +19 -10
  143. package/node_modules/@smithy/core/transport.d.ts +5 -0
  144. package/node_modules/@smithy/core/transport.js +5 -0
  145. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  146. package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
  147. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  148. package/node_modules/@smithy/signature-v4/package.json +2 -2
  149. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +2 -2
  150. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -1
  151. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -1
  152. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +1 -1
  153. package/node_modules/lru-cache/dist/commonjs/index.d.ts +2 -2
  154. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
  155. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
  156. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +1 -1
  157. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +2 -2
  158. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -1
  159. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -1
  160. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +1 -1
  161. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +2 -2
  162. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
  163. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
  164. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +1 -1
  165. package/node_modules/lru-cache/dist/esm/index.d.ts +2 -2
  166. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
  167. package/node_modules/lru-cache/dist/esm/index.js.map +1 -1
  168. package/node_modules/lru-cache/dist/esm/index.min.js.map +1 -1
  169. package/node_modules/lru-cache/dist/esm/node/index.d.ts +2 -2
  170. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
  171. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
  172. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +1 -1
  173. package/node_modules/lru-cache/package.json +1 -1
  174. package/package.json +6 -6
  175. package/slingshot/index.js +246 -244
  176. package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +0 -6
  177. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -21
  178. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +0 -21
  179. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +0 -46
  180. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +0 -6
  181. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +0 -24
  182. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +0 -19
  183. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +0 -27
  184. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +0 -5
  185. package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +0 -10
  186. package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +0 -44
  187. package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +0 -5
  188. package/node_modules/@smithy/core/dist-cjs/setFeature.js +0 -14
  189. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +0 -18
  190. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +0 -38
  191. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +0 -15
  192. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +0 -6
  193. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +0 -9
  194. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +0 -6
  195. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +0 -61
  196. package/node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js +0 -1
  197. package/node_modules/@smithy/core/dist-es/submodules/client/util-middleware/getSmithyContext.js +0 -2
  198. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/TestVectors.fixture.js +0 -146
  199. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/vectorTypes.fixture.js +0 -1
  200. package/node_modules/@smithy/core/dist-types/request-builder/requestBuilder.d.ts +0 -6
  201. package/node_modules/@smithy/core/dist-types/submodules/client/util-middleware/getSmithyContext.d.ts +0 -5
  202. package/node_modules/@smithy/core/dist-types/submodules/event-streams/eventstream-codec/TestVectors.fixture.d.ts +0 -2
  203. package/node_modules/@smithy/core/dist-types/submodules/event-streams/eventstream-codec/vectorTypes.fixture.d.ts +0 -12
  204. package/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/index.js +0 -2
  205. package/node_modules/@smithy/credential-provider-imds/dist-types/remoteProvider/index.d.ts +0 -8
  206. package/node_modules/@smithy/signature-v4/dist-es/suite.fixture.js +0 -399
  207. package/node_modules/@smithy/signature-v4/dist-types/suite.fixture.d.ts +0 -14
  208. package/node_modules/koffi/CHANGELOG.md +0 -1093
  209. package/node_modules/koffi/LICENSE.txt +0 -22
  210. package/node_modules/koffi/README.md +0 -43
  211. package/node_modules/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
  212. package/node_modules/koffi/build/koffi/darwin_x64/koffi.node +0 -0
  213. package/node_modules/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
  214. package/node_modules/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
  215. package/node_modules/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
  216. package/node_modules/koffi/build/koffi/linux_arm64/koffi.node +0 -0
  217. package/node_modules/koffi/build/koffi/linux_armhf/koffi.node +0 -0
  218. package/node_modules/koffi/build/koffi/linux_ia32/koffi.node +0 -0
  219. package/node_modules/koffi/build/koffi/linux_loong64/koffi.node +0 -0
  220. package/node_modules/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
  221. package/node_modules/koffi/build/koffi/linux_x64/koffi.node +0 -0
  222. package/node_modules/koffi/build/koffi/musl_arm64/koffi.node +0 -0
  223. package/node_modules/koffi/build/koffi/musl_x64/koffi.node +0 -0
  224. package/node_modules/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
  225. package/node_modules/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
  226. package/node_modules/koffi/build/koffi/win32_arm64/koffi.exp +0 -0
  227. package/node_modules/koffi/build/koffi/win32_arm64/koffi.lib +0 -0
  228. package/node_modules/koffi/build/koffi/win32_arm64/koffi.node +0 -0
  229. package/node_modules/koffi/build/koffi/win32_ia32/koffi.exp +0 -0
  230. package/node_modules/koffi/build/koffi/win32_ia32/koffi.lib +0 -0
  231. package/node_modules/koffi/build/koffi/win32_ia32/koffi.node +0 -0
  232. package/node_modules/koffi/build/koffi/win32_x64/koffi.exp +0 -0
  233. package/node_modules/koffi/build/koffi/win32_x64/koffi.lib +0 -0
  234. package/node_modules/koffi/build/koffi/win32_x64/koffi.node +0 -0
  235. package/node_modules/koffi/doc/benchmarks.md +0 -126
  236. package/node_modules/koffi/doc/callbacks.md +0 -210
  237. package/node_modules/koffi/doc/contribute.md +0 -148
  238. package/node_modules/koffi/doc/functions.md +0 -250
  239. package/node_modules/koffi/doc/index.md +0 -61
  240. package/node_modules/koffi/doc/input.md +0 -471
  241. package/node_modules/koffi/doc/migration.md +0 -159
  242. package/node_modules/koffi/doc/misc.md +0 -180
  243. package/node_modules/koffi/doc/output.md +0 -305
  244. package/node_modules/koffi/doc/packaging.md +0 -88
  245. package/node_modules/koffi/doc/platforms.md +0 -36
  246. package/node_modules/koffi/doc/pointers.md +0 -328
  247. package/node_modules/koffi/doc/start.md +0 -118
  248. package/node_modules/koffi/doc/unions.md +0 -186
  249. package/node_modules/koffi/doc/variables.md +0 -102
  250. package/node_modules/koffi/index.d.ts +0 -288
  251. package/node_modules/koffi/index.js +0 -634
  252. package/node_modules/koffi/indirect.js +0 -533
  253. package/node_modules/koffi/lib/native/base/base.cc +0 -11015
  254. package/node_modules/koffi/lib/native/base/base.hh +0 -6003
  255. package/node_modules/koffi/lib/native/base/crc.inc +0 -2214
  256. package/node_modules/koffi/lib/native/base/crc_gen.py +0 -72
  257. package/node_modules/koffi/lib/native/base/mimetypes.inc +0 -1248
  258. package/node_modules/koffi/lib/native/base/mimetypes_gen.py +0 -58
  259. package/node_modules/koffi/lib/native/base/tower.cc +0 -821
  260. package/node_modules/koffi/lib/native/base/tower.hh +0 -81
  261. package/node_modules/koffi/lib/native/base/unicode.inc +0 -408
  262. package/node_modules/koffi/lib/native/base/unicode_gen.py +0 -152
  263. package/node_modules/koffi/package.json +0 -38
  264. package/node_modules/koffi/src/cnoke/LICENSE.txt +0 -22
  265. package/node_modules/koffi/src/cnoke/README.md +0 -99
  266. package/node_modules/koffi/src/cnoke/assets/FindCNoke.cmake +0 -127
  267. package/node_modules/koffi/src/cnoke/assets/toolchains.json +0 -126
  268. package/node_modules/koffi/src/cnoke/assets/win_delay_hook.c +0 -36
  269. package/node_modules/koffi/src/cnoke/cnoke.js +0 -170
  270. package/node_modules/koffi/src/cnoke/package.json +0 -24
  271. package/node_modules/koffi/src/cnoke/src/builder.js +0 -511
  272. package/node_modules/koffi/src/cnoke/src/index.js +0 -10
  273. package/node_modules/koffi/src/cnoke/src/tools.js +0 -407
  274. package/node_modules/koffi/src/koffi/CMakeLists.txt +0 -182
  275. package/node_modules/koffi/src/koffi/src/abi_arm32.cc +0 -1018
  276. package/node_modules/koffi/src/koffi/src/abi_arm32_asm.S +0 -169
  277. package/node_modules/koffi/src/koffi/src/abi_arm64.cc +0 -1295
  278. package/node_modules/koffi/src/koffi/src/abi_arm64_asm.S +0 -195
  279. package/node_modules/koffi/src/koffi/src/abi_arm64_asm.asm +0 -174
  280. package/node_modules/koffi/src/koffi/src/abi_loong64.cc +0 -5
  281. package/node_modules/koffi/src/koffi/src/abi_loong64_asm.S +0 -204
  282. package/node_modules/koffi/src/koffi/src/abi_riscv64.cc +0 -915
  283. package/node_modules/koffi/src/koffi/src/abi_riscv64_asm.S +0 -203
  284. package/node_modules/koffi/src/koffi/src/abi_x64_sysv.cc +0 -939
  285. package/node_modules/koffi/src/koffi/src/abi_x64_sysv_asm.S +0 -231
  286. package/node_modules/koffi/src/koffi/src/abi_x64_win.cc +0 -715
  287. package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.S +0 -166
  288. package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.asm +0 -192
  289. package/node_modules/koffi/src/koffi/src/abi_x86.cc +0 -860
  290. package/node_modules/koffi/src/koffi/src/abi_x86_asm.S +0 -193
  291. package/node_modules/koffi/src/koffi/src/abi_x86_asm.asm +0 -177
  292. package/node_modules/koffi/src/koffi/src/call.cc +0 -1326
  293. package/node_modules/koffi/src/koffi/src/call.hh +0 -179
  294. package/node_modules/koffi/src/koffi/src/errno.inc +0 -462
  295. package/node_modules/koffi/src/koffi/src/ffi.cc +0 -2702
  296. package/node_modules/koffi/src/koffi/src/ffi.hh +0 -354
  297. package/node_modules/koffi/src/koffi/src/init.js +0 -105
  298. package/node_modules/koffi/src/koffi/src/parser.cc +0 -220
  299. package/node_modules/koffi/src/koffi/src/parser.hh +0 -54
  300. package/node_modules/koffi/src/koffi/src/util.cc +0 -1807
  301. package/node_modules/koffi/src/koffi/src/util.hh +0 -221
  302. package/node_modules/koffi/src/koffi/src/uv.cc +0 -193
  303. package/node_modules/koffi/src/koffi/src/uv.def +0 -10
  304. package/node_modules/koffi/src/koffi/src/uv.hh +0 -40
  305. package/node_modules/koffi/src/koffi/src/win32.cc +0 -198
  306. package/node_modules/koffi/src/koffi/src/win32.hh +0 -119
  307. package/node_modules/koffi/src/koffi/tools/write_trampolines.js +0 -77
  308. package/node_modules/koffi/vendor/node-addon-api/LICENSE.md +0 -9
  309. package/node_modules/koffi/vendor/node-addon-api/README.md +0 -95
  310. package/node_modules/koffi/vendor/node-addon-api/napi-inl.deprecated.h +0 -186
  311. package/node_modules/koffi/vendor/node-addon-api/napi-inl.h +0 -7033
  312. package/node_modules/koffi/vendor/node-addon-api/napi.h +0 -3309
  313. package/node_modules/koffi/vendor/node-api-headers/LICENSE +0 -21
  314. package/node_modules/koffi/vendor/node-api-headers/README.md +0 -95
  315. package/node_modules/koffi/vendor/node-api-headers/def/js_native_api.def +0 -125
  316. package/node_modules/koffi/vendor/node-api-headers/def/node_api.def +0 -157
  317. package/node_modules/koffi/vendor/node-api-headers/include/js_native_api.h +0 -591
  318. package/node_modules/koffi/vendor/node-api-headers/include/js_native_api_types.h +0 -210
  319. package/node_modules/koffi/vendor/node-api-headers/include/node_api.h +0 -265
  320. package/node_modules/koffi/vendor/node-api-headers/include/node_api_types.h +0 -58
  321. package/node_modules/koffi/vendor/node-api-headers/include/uv/aix.h +0 -32
  322. package/node_modules/koffi/vendor/node-api-headers/include/uv/bsd.h +0 -34
  323. package/node_modules/koffi/vendor/node-api-headers/include/uv/darwin.h +0 -61
  324. package/node_modules/koffi/vendor/node-api-headers/include/uv/errno.h +0 -483
  325. package/node_modules/koffi/vendor/node-api-headers/include/uv/linux.h +0 -34
  326. package/node_modules/koffi/vendor/node-api-headers/include/uv/os390.h +0 -33
  327. package/node_modules/koffi/vendor/node-api-headers/include/uv/posix.h +0 -31
  328. package/node_modules/koffi/vendor/node-api-headers/include/uv/sunos.h +0 -44
  329. package/node_modules/koffi/vendor/node-api-headers/include/uv/threadpool.h +0 -37
  330. package/node_modules/koffi/vendor/node-api-headers/include/uv/tree.h +0 -521
  331. package/node_modules/koffi/vendor/node-api-headers/include/uv/unix.h +0 -512
  332. package/node_modules/koffi/vendor/node-api-headers/include/uv/version.h +0 -43
  333. package/node_modules/koffi/vendor/node-api-headers/include/uv/win.h +0 -698
  334. package/node_modules/koffi/vendor/node-api-headers/include/uv.h +0 -1990
  335. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -0
  336. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemePlugin.js +0 -0
  337. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/httpAuthSchemeMiddleware.js +0 -0
  338. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/index.js +0 -0
  339. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/resolveAuthOptions.js +0 -0
  340. /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/getHttpSigningMiddleware.js +0 -0
  341. /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/httpSigningMiddleware.js +0 -0
  342. /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/index.js +0 -0
  343. /package/node_modules/@smithy/core/dist-es/{pagination → legacy-root-exports/pagination}/createPaginator.js +0 -0
  344. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/DefaultIdentityProviderConfig.js +0 -0
  345. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpApiKeyAuth.js +0 -0
  346. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpBearerAuth.js +0 -0
  347. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/index.js +0 -0
  348. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/noAuth.js +0 -0
  349. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/index.js +0 -0
  350. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/memoizeIdentityProvider.js +0 -0
  351. /package/node_modules/@smithy/core/dist-es/{getSmithyContext.js → submodules/transport/getSmithyContext.js} +0 -0
  352. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpRequest.js +0 -0
  353. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpResponse.js +0 -0
  354. /package/node_modules/@smithy/core/dist-es/submodules/{endpoints/util-endpoints/lib → transport}/isValidHostLabel.js +0 -0
  355. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/isValidHostname.js +0 -0
  356. /package/node_modules/@smithy/core/dist-es/submodules/{client/util-middleware → transport}/normalizeProvider.js +0 -0
  357. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/querystring-parser → transport}/parseQueryString.js +0 -0
  358. /package/node_modules/@smithy/core/dist-types/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemeEndpointRuleSetPlugin.d.ts +0 -0
  359. /package/node_modules/@smithy/core/dist-types/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemePlugin.d.ts +0 -0
  360. /package/node_modules/@smithy/core/dist-types/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/httpAuthSchemeMiddleware.d.ts +0 -0
  361. /package/node_modules/@smithy/core/dist-types/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/index.d.ts +0 -0
  362. /package/node_modules/@smithy/core/dist-types/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/resolveAuthOptions.d.ts +0 -0
  363. /package/node_modules/@smithy/core/dist-types/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/getHttpSigningMiddleware.d.ts +0 -0
  364. /package/node_modules/@smithy/core/dist-types/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/httpSigningMiddleware.d.ts +0 -0
  365. /package/node_modules/@smithy/core/dist-types/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/index.d.ts +0 -0
  366. /package/node_modules/@smithy/core/dist-types/{pagination → legacy-root-exports/pagination}/createPaginator.d.ts +0 -0
  367. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/DefaultIdentityProviderConfig.d.ts +0 -0
  368. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpApiKeyAuth.d.ts +0 -0
  369. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpBearerAuth.d.ts +0 -0
  370. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/index.d.ts +0 -0
  371. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/noAuth.d.ts +0 -0
  372. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/index.d.ts +0 -0
  373. /package/node_modules/@smithy/core/dist-types/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/memoizeIdentityProvider.d.ts +0 -0
  374. /package/node_modules/@smithy/core/dist-types/{getSmithyContext.d.ts → submodules/transport/getSmithyContext.d.ts} +0 -0
  375. /package/node_modules/@smithy/core/dist-types/submodules/{protocols/protocol-http → transport}/httpRequest.d.ts +0 -0
  376. /package/node_modules/@smithy/core/dist-types/submodules/{protocols/protocol-http → transport}/httpResponse.d.ts +0 -0
  377. /package/node_modules/@smithy/core/dist-types/submodules/{endpoints/util-endpoints/lib → transport}/isValidHostLabel.d.ts +0 -0
  378. /package/node_modules/@smithy/core/dist-types/submodules/{protocols/protocol-http → transport}/isValidHostname.d.ts +0 -0
  379. /package/node_modules/@smithy/core/dist-types/submodules/{client/util-middleware → transport}/normalizeProvider.d.ts +0 -0
  380. /package/node_modules/@smithy/core/dist-types/submodules/{protocols/querystring-parser → transport}/parseQueryString.d.ts +0 -0
  381. /package/node_modules/@smithy/core/dist-types/submodules/{protocols/url-parser → transport}/parseUrl.d.ts +0 -0
  382. /package/node_modules/@smithy/core/dist-types/submodules/{endpoints → transport}/toEndpointV1.d.ts +0 -0
@@ -27,17 +27,19 @@ export class Markdown {
27
27
  paddingY; // Top/bottom padding
28
28
  defaultTextStyle;
29
29
  theme;
30
+ options;
30
31
  defaultStylePrefix;
31
32
  // Cache for rendered output
32
33
  cachedText;
33
34
  cachedWidth;
34
35
  cachedLines;
35
- constructor(text, paddingX, paddingY, theme, defaultTextStyle) {
36
+ constructor(text, paddingX, paddingY, theme, defaultTextStyle, options) {
36
37
  this.text = text;
37
38
  this.paddingX = paddingX;
38
39
  this.paddingY = paddingY;
39
40
  this.theme = theme;
40
41
  this.defaultTextStyle = defaultTextStyle;
42
+ this.options = options ? { ...options } : {};
41
43
  }
42
44
  setText(text) {
43
45
  this.text = text;
@@ -421,6 +423,10 @@ export class Markdown {
421
423
  }
422
424
  return result;
423
425
  }
426
+ getOrderedListMarker(item) {
427
+ const match = /^(?: {0,3})(\d{1,9}[.)])[ \t]+/.exec(item.raw);
428
+ return match ? `${match[1]} ` : undefined;
429
+ }
424
430
  /**
425
431
  * Render a list with proper nesting support
426
432
  */
@@ -431,7 +437,11 @@ export class Markdown {
431
437
  const startNumber = typeof token.start === "number" ? token.start : 1;
432
438
  for (let i = 0; i < token.items.length; i++) {
433
439
  const item = token.items[i];
434
- const bullet = token.ordered ? `${startNumber + i}. ` : "- ";
440
+ const bullet = token.ordered
441
+ ? this.options.preserveOrderedListMarkers
442
+ ? (this.getOrderedListMarker(item) ?? `${startNumber + i}. `)
443
+ : `${startNumber + i}. `
444
+ : "- ";
435
445
  const taskMarker = item.task ? `[${item.checked ? "x" : " "}] ` : "";
436
446
  const marker = bullet + taskMarker;
437
447
  const firstPrefix = indent + this.theme.listBullet(marker);
@@ -0,0 +1,53 @@
1
+ import { createRequire } from "node:module";
2
+ import * as path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const cjsRequire = createRequire(import.meta.url);
5
+ let nativeModifiersHelper;
6
+ function isNativeModifiersHelper(value) {
7
+ if (typeof value !== "object" || value === null)
8
+ return false;
9
+ const candidate = value.isModifierPressed;
10
+ return typeof candidate === "function";
11
+ }
12
+ function loadNativeModifiersHelper() {
13
+ if (nativeModifiersHelper !== undefined)
14
+ return nativeModifiersHelper ?? undefined;
15
+ nativeModifiersHelper = null;
16
+ if (process.platform !== "darwin")
17
+ return undefined;
18
+ const arch = process.arch;
19
+ if (arch !== "x64" && arch !== "arm64")
20
+ return undefined;
21
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
22
+ const nativePath = path.join("native", "darwin", "prebuilds", `darwin-${arch}`, "darwin-modifiers.node");
23
+ const candidates = [
24
+ path.join(moduleDir, "..", nativePath),
25
+ path.join(moduleDir, nativePath),
26
+ path.join(path.dirname(process.execPath), nativePath),
27
+ ];
28
+ for (const modulePath of candidates) {
29
+ try {
30
+ const helper = cjsRequire(modulePath);
31
+ if (isNativeModifiersHelper(helper)) {
32
+ nativeModifiersHelper = helper;
33
+ return helper;
34
+ }
35
+ }
36
+ catch {
37
+ // Try the next possible packaging location.
38
+ }
39
+ }
40
+ return undefined;
41
+ }
42
+ export function isNativeModifierPressed(key) {
43
+ const helper = loadNativeModifiersHelper();
44
+ if (!helper)
45
+ return false;
46
+ try {
47
+ return helper.isModifierPressed(key) === true;
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ //# sourceMappingURL=native-modifiers.js.map
@@ -32,6 +32,9 @@ export function detectCapabilities() {
32
32
  if (process.env.ITERM_SESSION_ID || termProgram === "iterm.app") {
33
33
  return { images: "iterm2", trueColor: true, hyperlinks: true };
34
34
  }
35
+ if (process.env.WT_SESSION) {
36
+ return { images: null, trueColor: true, hyperlinks: true };
37
+ }
35
38
  if (termProgram === "vscode") {
36
39
  return { images: null, trueColor: true, hyperlinks: true };
37
40
  }
@@ -42,7 +45,7 @@ export function detectCapabilities() {
42
45
  // text" on terminals that swallow it, which means the URL disappears from
43
46
  // the rendered output. Default to the legacy `text (url)` behavior unless we
44
47
  // have positively identified a hyperlink-capable terminal above.
45
- return { images: null, trueColor: hasTrueColorHint || !!process.env.WT_SESSION, hyperlinks: false };
48
+ return { images: null, trueColor: hasTrueColorHint, hyperlinks: false };
46
49
  }
47
50
  export function getCapabilities() {
48
51
  if (!cachedCapabilities) {
@@ -1,12 +1,23 @@
1
1
  import * as fs from "node:fs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as path from "node:path";
4
+ import { fileURLToPath } from "node:url";
4
5
  import { setKittyProtocolActive } from "./keys.js";
6
+ import { isNativeModifierPressed } from "./native-modifiers.js";
5
7
  import { StdinBuffer } from "./stdin-buffer.js";
6
8
  const cjsRequire = createRequire(import.meta.url);
7
9
  const TERMINAL_PROGRESS_KEEPALIVE_MS = 1000;
8
10
  const TERMINAL_PROGRESS_ACTIVE_SEQUENCE = "\x1b]9;4;3\x07";
9
11
  const TERMINAL_PROGRESS_CLEAR_SEQUENCE = "\x1b]9;4;0;\x07";
12
+ const APPLE_TERMINAL_SHIFT_ENTER_SEQUENCE = "\x1b[13;2u";
13
+ export function isAppleTerminalSession() {
14
+ return process.platform === "darwin" && process.env.TERM_PROGRAM === "Apple_Terminal";
15
+ }
16
+ export function normalizeAppleTerminalInput(data, isAppleTerminal, isShiftPressed) {
17
+ if (isAppleTerminal && data === "\r" && isShiftPressed)
18
+ return APPLE_TERMINAL_SHIFT_ENTER_SEQUENCE;
19
+ return data;
20
+ }
10
21
  /**
11
22
  * Real terminal using process.stdin/stdout
12
23
  */
@@ -97,7 +108,9 @@ export class ProcessTerminal {
97
108
  }
98
109
  }
99
110
  if (this.inputHandler) {
100
- this.inputHandler(sequence);
111
+ const isAppleTerminal = sequence === "\r" && isAppleTerminalSession();
112
+ const input = normalizeAppleTerminalInput(sequence, isAppleTerminal, isAppleTerminal && isNativeModifierPressed("shift"));
113
+ this.inputHandler(input);
101
114
  }
102
115
  });
103
116
  // Re-wrap paste content with bracketed paste markers for existing editor handling
@@ -146,23 +159,32 @@ export class ProcessTerminal {
146
159
  if (process.platform !== "win32")
147
160
  return;
148
161
  try {
149
- // Dynamic require to avoid bundling koffi's 74MB of cross-platform
150
- // native binaries into every compiled binary. Koffi is only needed
151
- // on Windows for VT input support.
152
- const koffi = cjsRequire("koffi");
153
- const k32 = koffi.load("kernel32.dll");
154
- const GetStdHandle = k32.func("void* __stdcall GetStdHandle(int)");
155
- const GetConsoleMode = k32.func("bool __stdcall GetConsoleMode(void*, _Out_ uint32_t*)");
156
- const SetConsoleMode = k32.func("bool __stdcall SetConsoleMode(void*, uint32_t)");
157
- const STD_INPUT_HANDLE = -10;
158
- const ENABLE_VIRTUAL_TERMINAL_INPUT = 0x0200;
159
- const handle = GetStdHandle(STD_INPUT_HANDLE);
160
- const mode = new Uint32Array(1);
161
- GetConsoleMode(handle, mode);
162
- SetConsoleMode(handle, mode[0] | ENABLE_VIRTUAL_TERMINAL_INPUT);
162
+ const arch = process.arch;
163
+ if (arch !== "x64" && arch !== "arm64")
164
+ return;
165
+ // Dynamic require so non-Windows and bundled/browser paths never load the
166
+ // native helper. In the npm package native/ is next to dist/; in compiled
167
+ // binary archives native/ is copied next to the executable.
168
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
169
+ const nativePath = path.join("native", "win32", "prebuilds", `win32-${arch}`, "win32-console-mode.node");
170
+ const candidates = [
171
+ path.join(moduleDir, "..", nativePath),
172
+ path.join(moduleDir, nativePath),
173
+ path.join(path.dirname(process.execPath), nativePath),
174
+ ];
175
+ for (const modulePath of candidates) {
176
+ try {
177
+ const helper = cjsRequire(modulePath);
178
+ helper.enableVirtualTerminalInput?.();
179
+ return;
180
+ }
181
+ catch {
182
+ // Try the next possible packaging location.
183
+ }
184
+ }
163
185
  }
164
186
  catch {
165
- // koffi not available — Shift+Tab won't be distinguishable from Tab
187
+ // Native helper not available — Shift+Tab won't be distinguishable from Tab.
166
188
  }
167
189
  }
168
190
  async drainInput(maxMs = 1000, idleMs = 50) {
@@ -1,11 +1,18 @@
1
1
  import { eastAsianWidth } from "get-east-asian-width";
2
- // Grapheme segmenter (shared instance)
3
- const segmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" });
2
+ // segmenters (shared instance)
3
+ const graphemeSegmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" });
4
+ const wordSegmenter = new Intl.Segmenter(undefined, { granularity: "word" });
4
5
  /**
5
6
  * Get the shared grapheme segmenter instance.
6
7
  */
7
- export function getSegmenter() {
8
- return segmenter;
8
+ export function getGraphemeSegmenter() {
9
+ return graphemeSegmenter;
10
+ }
11
+ /**
12
+ * Get the shared word segmenter instance.
13
+ */
14
+ export function getWordSegmenter() {
15
+ return wordSegmenter;
9
16
  }
10
17
  /**
11
18
  * Check if a grapheme cluster (after segmentation) could possibly be an RGI emoji.
@@ -52,7 +59,7 @@ function truncateFragmentToWidth(text, maxWidth) {
52
59
  if (!hasAnsi && !hasTabs) {
53
60
  let result = "";
54
61
  let width = 0;
55
- for (const { segment } of segmenter.segment(text)) {
62
+ for (const { segment } of graphemeSegmenter.segment(text)) {
56
63
  const w = graphemeWidth(segment);
57
64
  if (width + w > maxWidth) {
58
65
  break;
@@ -94,7 +101,7 @@ function truncateFragmentToWidth(text, maxWidth) {
94
101
  }
95
102
  end++;
96
103
  }
97
- for (const { segment } of segmenter.segment(text.slice(i, end))) {
104
+ for (const { segment } of graphemeSegmenter.segment(text.slice(i, end))) {
98
105
  const w = graphemeWidth(segment);
99
106
  if (width + w > maxWidth) {
100
107
  return { text: result, width };
@@ -203,7 +210,7 @@ export function visibleWidth(str) {
203
210
  }
204
211
  // Calculate width
205
212
  let width = 0;
206
- for (const { segment } of segmenter.segment(clean)) {
213
+ for (const { segment } of graphemeSegmenter.segment(clean)) {
207
214
  width += graphemeWidth(segment);
208
215
  }
209
216
  // Cache result
@@ -710,7 +717,7 @@ function breakLongWord(word, width, tracker) {
710
717
  }
711
718
  // Segment this non-ANSI portion into graphemes
712
719
  const textPortion = word.slice(i, end);
713
- for (const seg of segmenter.segment(textPortion)) {
720
+ for (const seg of graphemeSegmenter.segment(textPortion)) {
714
721
  segments.push({ type: "grapheme", value: seg.segment });
715
722
  }
716
723
  i = end;
@@ -812,7 +819,7 @@ export function truncateToWidth(text, maxWidth, ellipsis = "...", pad = false) {
812
819
  const hasAnsi = text.includes("\x1b");
813
820
  const hasTabs = text.includes("\t");
814
821
  if (!hasAnsi && !hasTabs) {
815
- for (const { segment } of segmenter.segment(text)) {
822
+ for (const { segment } of graphemeSegmenter.segment(text)) {
816
823
  const width = graphemeWidth(segment);
817
824
  if (keepContiguousPrefix && keptWidth + width <= targetWidth) {
818
825
  result += segment;
@@ -867,7 +874,7 @@ export function truncateToWidth(text, maxWidth, ellipsis = "...", pad = false) {
867
874
  }
868
875
  end++;
869
876
  }
870
- for (const { segment } of segmenter.segment(text.slice(i, end))) {
877
+ for (const { segment } of graphemeSegmenter.segment(text.slice(i, end))) {
871
878
  const width = graphemeWidth(segment);
872
879
  if (keepContiguousPrefix && keptWidth + width <= targetWidth) {
873
880
  if (pendingAnsi) {
@@ -925,7 +932,7 @@ export function sliceWithWidth(line, startCol, length, strict = false) {
925
932
  let textEnd = i;
926
933
  while (textEnd < line.length && !extractAnsiCode(line, textEnd))
927
934
  textEnd++;
928
- for (const { segment } of segmenter.segment(line.slice(i, textEnd))) {
935
+ for (const { segment } of graphemeSegmenter.segment(line.slice(i, textEnd))) {
929
936
  const w = graphemeWidth(segment);
930
937
  const inRange = currentCol >= startCol && currentCol < endCol;
931
938
  const fits = !strict || currentCol + w <= endCol;
@@ -981,7 +988,7 @@ export function extractSegments(line, beforeEnd, afterStart, afterLen, strictAft
981
988
  let textEnd = i;
982
989
  while (textEnd < line.length && !extractAnsiCode(line, textEnd))
983
990
  textEnd++;
984
- for (const { segment } of segmenter.segment(line.slice(i, textEnd))) {
991
+ for (const { segment } of graphemeSegmenter.segment(line.slice(i, textEnd))) {
985
992
  const w = graphemeWidth(segment);
986
993
  if (currentCol < beforeEnd) {
987
994
  if (pendingAnsiBefore) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-tui",
3
- "version": "0.75.4",
3
+ "version": "0.75.5",
4
4
  "description": "Terminal User Interface library with differential rendering for efficient text-based applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,6 +12,8 @@
12
12
  },
13
13
  "files": [
14
14
  "dist/**/*",
15
+ "native/win32/prebuilds/**/*.node",
16
+ "native/darwin/prebuilds/**/*.node",
15
17
  "README.md"
16
18
  ],
17
19
  "keywords": [
@@ -38,12 +40,8 @@
38
40
  "get-east-asian-width": "1.6.0",
39
41
  "marked": "15.0.12"
40
42
  },
41
- "optionalDependencies": {
42
- "koffi": "2.16.2"
43
- },
44
43
  "devDependencies": {
45
44
  "@xterm/headless": "5.5.0",
46
- "@xterm/xterm": "5.5.0",
47
45
  "chalk": "5.6.2"
48
46
  }
49
47
  }
@@ -1,11 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var types = require('@smithy/types');
3
+ var transport = require('@smithy/core/transport');
4
4
  var protocols = require('@smithy/core/protocols');
5
+ var types = require('@smithy/types');
5
6
  var client = require('@smithy/core/client');
6
7
 
7
- const getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});
8
-
9
8
  const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {
10
9
  if (!authSchemePreference || authSchemePreference.length === 0) {
11
10
  return candidateAuthOptions;
@@ -321,6 +320,7 @@ const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {
321
320
  };
322
321
  };
323
322
 
323
+ exports.getSmithyContext = transport.getSmithyContext;
324
324
  exports.requestBuilder = protocols.requestBuilder;
325
325
  exports.DefaultIdentityProviderConfig = DefaultIdentityProviderConfig;
326
326
  exports.EXPIRATION_MS = EXPIRATION_MS;
@@ -333,7 +333,6 @@ exports.doesIdentityRequireRefresh = doesIdentityRequireRefresh;
333
333
  exports.getHttpAuthSchemeEndpointRuleSetPlugin = getHttpAuthSchemeEndpointRuleSetPlugin;
334
334
  exports.getHttpAuthSchemePlugin = getHttpAuthSchemePlugin;
335
335
  exports.getHttpSigningPlugin = getHttpSigningPlugin;
336
- exports.getSmithyContext = getSmithyContext;
337
336
  exports.httpAuthSchemeEndpointRuleSetMiddlewareOptions = httpAuthSchemeEndpointRuleSetMiddlewareOptions;
338
337
  exports.httpAuthSchemeMiddleware = httpAuthSchemeMiddleware;
339
338
  exports.httpAuthSchemeMiddlewareOptions = httpAuthSchemeMiddlewareOptions;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var transport = require('@smithy/core/transport');
3
4
  var types = require('@smithy/types');
4
5
  var schema = require('@smithy/core/schema');
5
6
 
@@ -285,15 +286,6 @@ const priorityWeights = {
285
286
  low: 1,
286
287
  };
287
288
 
288
- const getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});
289
-
290
- const normalizeProvider = (input) => {
291
- if (typeof input === "function")
292
- return input;
293
- const promisified = Promise.resolve(input);
294
- return () => promisified;
295
- };
296
-
297
289
  const invalidFunction = (message) => () => {
298
290
  throw new Error(message);
299
291
  };
@@ -1097,6 +1089,8 @@ const _json = (obj) => {
1097
1089
  return obj;
1098
1090
  };
1099
1091
 
1092
+ exports.getSmithyContext = transport.getSmithyContext;
1093
+ exports.normalizeProvider = transport.normalizeProvider;
1100
1094
  exports.AlgorithmId = types.AlgorithmId;
1101
1095
  exports.Client = Client;
1102
1096
  exports.Command = Command;
@@ -1116,14 +1110,12 @@ exports.getChecksumConfiguration = getChecksumConfiguration;
1116
1110
  exports.getDefaultClientConfiguration = getDefaultClientConfiguration;
1117
1111
  exports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration;
1118
1112
  exports.getRetryConfiguration = getRetryConfiguration;
1119
- exports.getSmithyContext = getSmithyContext;
1120
1113
  exports.getValueFromTextNode = getValueFromTextNode;
1121
1114
  exports.invalidFunction = invalidFunction;
1122
1115
  exports.invalidProvider = invalidProvider;
1123
1116
  exports.isSerializableHeaderValue = isSerializableHeaderValue;
1124
1117
  exports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;
1125
1118
  exports.map = map;
1126
- exports.normalizeProvider = normalizeProvider;
1127
1119
  exports.resolveChecksumRuntimeConfig = resolveChecksumRuntimeConfig;
1128
1120
  exports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;
1129
1121
  exports.resolveRetryRuntimeConfig = resolveRetryRuntimeConfig;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var client = require('@smithy/core/client');
4
- var endpoints = require('@smithy/core/endpoints');
4
+ var transport = require('@smithy/core/transport');
5
5
 
6
6
  class ProviderError extends Error {
7
7
  name = "ProviderError";
@@ -178,7 +178,7 @@ const resolveEndpointsConfig = (input) => {
178
178
  };
179
179
 
180
180
  const validRegions = new Set();
181
- const checkRegion = (region, check = endpoints.isValidHostLabel) => {
181
+ const checkRegion = (region, check = transport.isValidHostLabel) => {
182
182
  if (!validRegions.has(region) && !check(region)) {
183
183
  if (region === "*") {
184
184
  console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
@@ -6,7 +6,7 @@ var node_crypto = require('node:crypto');
6
6
  var promises = require('node:fs/promises');
7
7
  var types = require('@smithy/types');
8
8
  var client = require('@smithy/core/client');
9
- var endpoints = require('@smithy/core/endpoints');
9
+ var transport = require('@smithy/core/transport');
10
10
 
11
11
  class ProviderError extends Error {
12
12
  name = "ProviderError";
@@ -486,7 +486,7 @@ const NODE_REGION_CONFIG_FILE_OPTIONS = {
486
486
  };
487
487
 
488
488
  const validRegions = new Set();
489
- const checkRegion = (region, check = endpoints.isValidHostLabel) => {
489
+ const checkRegion = (region, check = transport.isValidHostLabel) => {
490
490
  if (!validRegions.has(region) && !check(region)) {
491
491
  if (region === "*") {
492
492
  console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var client = require('@smithy/core/client');
4
- var endpoints = require('@smithy/core/endpoints');
4
+ var transport = require('@smithy/core/transport');
5
5
 
6
6
  class ProviderError extends Error {
7
7
  name = "ProviderError";
@@ -178,7 +178,7 @@ const resolveEndpointsConfig = (input) => {
178
178
  };
179
179
 
180
180
  const validRegions = new Set();
181
- const checkRegion = (region, check = endpoints.isValidHostLabel) => {
181
+ const checkRegion = (region, check = transport.isValidHostLabel) => {
182
182
  if (!validRegions.has(region) && !check(region)) {
183
183
  if (region === "*") {
184
184
  console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var protocols = require('@smithy/core/protocols');
3
+ var transport = require('@smithy/core/transport');
4
4
  var client = require('@smithy/core/client');
5
5
  var types = require('@smithy/types');
6
6
 
@@ -93,23 +93,6 @@ const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config,
93
93
  return configProvider;
94
94
  };
95
95
 
96
- const toEndpointV1 = (endpoint) => {
97
- if (typeof endpoint === "object") {
98
- if ("url" in endpoint) {
99
- const v1Endpoint = protocols.parseUrl(endpoint.url);
100
- if (endpoint.headers) {
101
- v1Endpoint.headers = {};
102
- for (const name in endpoint.headers) {
103
- v1Endpoint.headers[name.toLowerCase()] = endpoint.headers[name].join(", ");
104
- }
105
- }
106
- return v1Endpoint;
107
- }
108
- return endpoint;
109
- }
110
- return protocols.parseUrl(endpoint);
111
- };
112
-
113
96
  function bindGetEndpointFromInstructions(getEndpointFromConfig) {
114
97
  return async (commandInput, instructionsSupplier, clientConfig, context) => {
115
98
  if (!clientConfig.isCustomEndpoint) {
@@ -121,7 +104,7 @@ function bindGetEndpointFromInstructions(getEndpointFromConfig) {
121
104
  endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);
122
105
  }
123
106
  if (endpointFromConfig) {
124
- clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));
107
+ clientConfig.endpoint = () => Promise.resolve(transport.toEndpointV1(endpointFromConfig));
125
108
  clientConfig.isCustomEndpoint = true;
126
109
  }
127
110
  }
@@ -245,14 +228,14 @@ function bindResolveEndpointConfig(getEndpointFromConfig) {
245
228
  return (input) => {
246
229
  const tls = input.tls ?? true;
247
230
  const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;
248
- const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await client.normalizeProvider(endpoint)()) : undefined;
231
+ const customEndpointProvider = endpoint != null ? async () => transport.toEndpointV1(await transport.normalizeProvider(endpoint)()) : undefined;
249
232
  const isCustomEndpoint = !!endpoint;
250
233
  const resolvedConfig = Object.assign(input, {
251
234
  endpoint: customEndpointProvider,
252
235
  tls,
253
236
  isCustomEndpoint,
254
- useDualstackEndpoint: client.normalizeProvider(useDualstackEndpoint ?? false),
255
- useFipsEndpoint: client.normalizeProvider(useFipsEndpoint ?? false),
237
+ useDualstackEndpoint: transport.normalizeProvider(useDualstackEndpoint ?? false),
238
+ useFipsEndpoint: transport.normalizeProvider(useFipsEndpoint ?? false),
256
239
  });
257
240
  let configuredEndpointPromise = undefined;
258
241
  resolvedConfig.serviceConfiguredEndpoint = async () => {
@@ -405,20 +388,6 @@ const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {
405
388
 
406
389
  const isSet = (value) => value != null;
407
390
 
408
- const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);
409
- const isValidHostLabel = (value, allowSubDomains = false) => {
410
- if (!allowSubDomains) {
411
- return VALID_HOST_LABEL_REGEX.test(value);
412
- }
413
- const labels = value.split(".");
414
- for (const label of labels) {
415
- if (!isValidHostLabel(label)) {
416
- return false;
417
- }
418
- }
419
- return true;
420
- };
421
-
422
391
  function ite(condition, trueValue, falseValue) {
423
392
  return condition ? trueValue : falseValue;
424
393
  }
@@ -511,7 +480,7 @@ const endpointFunctions = {
511
480
  coalesce,
512
481
  getAttr,
513
482
  isSet,
514
- isValidHostLabel,
483
+ isValidHostLabel: transport.isValidHostLabel,
515
484
  ite,
516
485
  not,
517
486
  parseURL,
@@ -841,6 +810,9 @@ const resolveEndpointConfig = bindResolveEndpointConfig(getEndpointFromConfig);
841
810
  const endpointMiddleware = bindEndpointMiddleware(getEndpointFromConfig);
842
811
  const getEndpointPlugin = bindGetEndpointPlugin(getEndpointFromConfig);
843
812
 
813
+ exports.isValidHostLabel = transport.isValidHostLabel;
814
+ exports.middlewareEndpointToEndpointV1 = transport.toEndpointV1;
815
+ exports.toEndpointV1 = transport.toEndpointV1;
844
816
  exports.BinaryDecisionDiagram = BinaryDecisionDiagram;
845
817
  exports.EndpointCache = EndpointCache;
846
818
  exports.EndpointError = EndpointError;
@@ -851,10 +823,7 @@ exports.endpointMiddlewareOptions = endpointMiddlewareOptions;
851
823
  exports.getEndpointFromInstructions = getEndpointFromInstructions;
852
824
  exports.getEndpointPlugin = getEndpointPlugin;
853
825
  exports.isIpAddress = isIpAddress;
854
- exports.isValidHostLabel = isValidHostLabel;
855
- exports.middlewareEndpointToEndpointV1 = toEndpointV1;
856
826
  exports.resolveEndpoint = resolveEndpoint;
857
827
  exports.resolveEndpointConfig = resolveEndpointConfig;
858
828
  exports.resolveEndpointRequiredConfig = resolveEndpointRequiredConfig;
859
829
  exports.resolveParams = resolveParams;
860
- exports.toEndpointV1 = toEndpointV1;