@psnext/slingcli 2.4.20260526-1 → 2.4.20260527-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) 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 +73 -58
  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 +60 -40
  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/node-http-handler/package.json +2 -2
  99. package/package.json +6 -6
  100. package/slingshot/index.js +246 -244
  101. package/node_modules/koffi/CHANGELOG.md +0 -1093
  102. package/node_modules/koffi/LICENSE.txt +0 -22
  103. package/node_modules/koffi/README.md +0 -43
  104. package/node_modules/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
  105. package/node_modules/koffi/build/koffi/darwin_x64/koffi.node +0 -0
  106. package/node_modules/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
  107. package/node_modules/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
  108. package/node_modules/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
  109. package/node_modules/koffi/build/koffi/linux_arm64/koffi.node +0 -0
  110. package/node_modules/koffi/build/koffi/linux_armhf/koffi.node +0 -0
  111. package/node_modules/koffi/build/koffi/linux_ia32/koffi.node +0 -0
  112. package/node_modules/koffi/build/koffi/linux_loong64/koffi.node +0 -0
  113. package/node_modules/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
  114. package/node_modules/koffi/build/koffi/linux_x64/koffi.node +0 -0
  115. package/node_modules/koffi/build/koffi/musl_arm64/koffi.node +0 -0
  116. package/node_modules/koffi/build/koffi/musl_x64/koffi.node +0 -0
  117. package/node_modules/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
  118. package/node_modules/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
  119. package/node_modules/koffi/build/koffi/win32_arm64/koffi.exp +0 -0
  120. package/node_modules/koffi/build/koffi/win32_arm64/koffi.lib +0 -0
  121. package/node_modules/koffi/build/koffi/win32_arm64/koffi.node +0 -0
  122. package/node_modules/koffi/build/koffi/win32_ia32/koffi.exp +0 -0
  123. package/node_modules/koffi/build/koffi/win32_ia32/koffi.lib +0 -0
  124. package/node_modules/koffi/build/koffi/win32_ia32/koffi.node +0 -0
  125. package/node_modules/koffi/build/koffi/win32_x64/koffi.exp +0 -0
  126. package/node_modules/koffi/build/koffi/win32_x64/koffi.lib +0 -0
  127. package/node_modules/koffi/build/koffi/win32_x64/koffi.node +0 -0
  128. package/node_modules/koffi/doc/benchmarks.md +0 -126
  129. package/node_modules/koffi/doc/callbacks.md +0 -210
  130. package/node_modules/koffi/doc/contribute.md +0 -148
  131. package/node_modules/koffi/doc/functions.md +0 -250
  132. package/node_modules/koffi/doc/index.md +0 -61
  133. package/node_modules/koffi/doc/input.md +0 -471
  134. package/node_modules/koffi/doc/migration.md +0 -159
  135. package/node_modules/koffi/doc/misc.md +0 -180
  136. package/node_modules/koffi/doc/output.md +0 -305
  137. package/node_modules/koffi/doc/packaging.md +0 -88
  138. package/node_modules/koffi/doc/platforms.md +0 -36
  139. package/node_modules/koffi/doc/pointers.md +0 -328
  140. package/node_modules/koffi/doc/start.md +0 -118
  141. package/node_modules/koffi/doc/unions.md +0 -186
  142. package/node_modules/koffi/doc/variables.md +0 -102
  143. package/node_modules/koffi/index.d.ts +0 -288
  144. package/node_modules/koffi/index.js +0 -634
  145. package/node_modules/koffi/indirect.js +0 -533
  146. package/node_modules/koffi/lib/native/base/base.cc +0 -11015
  147. package/node_modules/koffi/lib/native/base/base.hh +0 -6003
  148. package/node_modules/koffi/lib/native/base/crc.inc +0 -2214
  149. package/node_modules/koffi/lib/native/base/crc_gen.py +0 -72
  150. package/node_modules/koffi/lib/native/base/mimetypes.inc +0 -1248
  151. package/node_modules/koffi/lib/native/base/mimetypes_gen.py +0 -58
  152. package/node_modules/koffi/lib/native/base/tower.cc +0 -821
  153. package/node_modules/koffi/lib/native/base/tower.hh +0 -81
  154. package/node_modules/koffi/lib/native/base/unicode.inc +0 -408
  155. package/node_modules/koffi/lib/native/base/unicode_gen.py +0 -152
  156. package/node_modules/koffi/package.json +0 -38
  157. package/node_modules/koffi/src/cnoke/LICENSE.txt +0 -22
  158. package/node_modules/koffi/src/cnoke/README.md +0 -99
  159. package/node_modules/koffi/src/cnoke/assets/FindCNoke.cmake +0 -127
  160. package/node_modules/koffi/src/cnoke/assets/toolchains.json +0 -126
  161. package/node_modules/koffi/src/cnoke/assets/win_delay_hook.c +0 -36
  162. package/node_modules/koffi/src/cnoke/cnoke.js +0 -170
  163. package/node_modules/koffi/src/cnoke/package.json +0 -24
  164. package/node_modules/koffi/src/cnoke/src/builder.js +0 -511
  165. package/node_modules/koffi/src/cnoke/src/index.js +0 -10
  166. package/node_modules/koffi/src/cnoke/src/tools.js +0 -407
  167. package/node_modules/koffi/src/koffi/CMakeLists.txt +0 -182
  168. package/node_modules/koffi/src/koffi/src/abi_arm32.cc +0 -1018
  169. package/node_modules/koffi/src/koffi/src/abi_arm32_asm.S +0 -169
  170. package/node_modules/koffi/src/koffi/src/abi_arm64.cc +0 -1295
  171. package/node_modules/koffi/src/koffi/src/abi_arm64_asm.S +0 -195
  172. package/node_modules/koffi/src/koffi/src/abi_arm64_asm.asm +0 -174
  173. package/node_modules/koffi/src/koffi/src/abi_loong64.cc +0 -5
  174. package/node_modules/koffi/src/koffi/src/abi_loong64_asm.S +0 -204
  175. package/node_modules/koffi/src/koffi/src/abi_riscv64.cc +0 -915
  176. package/node_modules/koffi/src/koffi/src/abi_riscv64_asm.S +0 -203
  177. package/node_modules/koffi/src/koffi/src/abi_x64_sysv.cc +0 -939
  178. package/node_modules/koffi/src/koffi/src/abi_x64_sysv_asm.S +0 -231
  179. package/node_modules/koffi/src/koffi/src/abi_x64_win.cc +0 -715
  180. package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.S +0 -166
  181. package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.asm +0 -192
  182. package/node_modules/koffi/src/koffi/src/abi_x86.cc +0 -860
  183. package/node_modules/koffi/src/koffi/src/abi_x86_asm.S +0 -193
  184. package/node_modules/koffi/src/koffi/src/abi_x86_asm.asm +0 -177
  185. package/node_modules/koffi/src/koffi/src/call.cc +0 -1326
  186. package/node_modules/koffi/src/koffi/src/call.hh +0 -179
  187. package/node_modules/koffi/src/koffi/src/errno.inc +0 -462
  188. package/node_modules/koffi/src/koffi/src/ffi.cc +0 -2702
  189. package/node_modules/koffi/src/koffi/src/ffi.hh +0 -354
  190. package/node_modules/koffi/src/koffi/src/init.js +0 -105
  191. package/node_modules/koffi/src/koffi/src/parser.cc +0 -220
  192. package/node_modules/koffi/src/koffi/src/parser.hh +0 -54
  193. package/node_modules/koffi/src/koffi/src/util.cc +0 -1807
  194. package/node_modules/koffi/src/koffi/src/util.hh +0 -221
  195. package/node_modules/koffi/src/koffi/src/uv.cc +0 -193
  196. package/node_modules/koffi/src/koffi/src/uv.def +0 -10
  197. package/node_modules/koffi/src/koffi/src/uv.hh +0 -40
  198. package/node_modules/koffi/src/koffi/src/win32.cc +0 -198
  199. package/node_modules/koffi/src/koffi/src/win32.hh +0 -119
  200. package/node_modules/koffi/src/koffi/tools/write_trampolines.js +0 -77
  201. package/node_modules/koffi/vendor/node-addon-api/LICENSE.md +0 -9
  202. package/node_modules/koffi/vendor/node-addon-api/README.md +0 -95
  203. package/node_modules/koffi/vendor/node-addon-api/napi-inl.deprecated.h +0 -186
  204. package/node_modules/koffi/vendor/node-addon-api/napi-inl.h +0 -7033
  205. package/node_modules/koffi/vendor/node-addon-api/napi.h +0 -3309
  206. package/node_modules/koffi/vendor/node-api-headers/LICENSE +0 -21
  207. package/node_modules/koffi/vendor/node-api-headers/README.md +0 -95
  208. package/node_modules/koffi/vendor/node-api-headers/def/js_native_api.def +0 -125
  209. package/node_modules/koffi/vendor/node-api-headers/def/node_api.def +0 -157
  210. package/node_modules/koffi/vendor/node-api-headers/include/js_native_api.h +0 -591
  211. package/node_modules/koffi/vendor/node-api-headers/include/js_native_api_types.h +0 -210
  212. package/node_modules/koffi/vendor/node-api-headers/include/node_api.h +0 -265
  213. package/node_modules/koffi/vendor/node-api-headers/include/node_api_types.h +0 -58
  214. package/node_modules/koffi/vendor/node-api-headers/include/uv/aix.h +0 -32
  215. package/node_modules/koffi/vendor/node-api-headers/include/uv/bsd.h +0 -34
  216. package/node_modules/koffi/vendor/node-api-headers/include/uv/darwin.h +0 -61
  217. package/node_modules/koffi/vendor/node-api-headers/include/uv/errno.h +0 -483
  218. package/node_modules/koffi/vendor/node-api-headers/include/uv/linux.h +0 -34
  219. package/node_modules/koffi/vendor/node-api-headers/include/uv/os390.h +0 -33
  220. package/node_modules/koffi/vendor/node-api-headers/include/uv/posix.h +0 -31
  221. package/node_modules/koffi/vendor/node-api-headers/include/uv/sunos.h +0 -44
  222. package/node_modules/koffi/vendor/node-api-headers/include/uv/threadpool.h +0 -37
  223. package/node_modules/koffi/vendor/node-api-headers/include/uv/tree.h +0 -521
  224. package/node_modules/koffi/vendor/node-api-headers/include/uv/unix.h +0 -512
  225. package/node_modules/koffi/vendor/node-api-headers/include/uv/version.h +0 -43
  226. package/node_modules/koffi/vendor/node-api-headers/include/uv/win.h +0 -698
  227. package/node_modules/koffi/vendor/node-api-headers/include/uv.h +0 -1990
package/bin/sling.js CHANGED
@@ -363,8 +363,11 @@ function updateSettings() {
363
363
  console.error("Failed to update settings.json:", err.message);
364
364
  }
365
365
  }
366
+
367
+ //disable startup notices
366
368
  config.enableInstallTelemetry = false;
367
-
369
+ config.collapseChangelog = true;
370
+
368
371
  config.powerline ={...{
369
372
  "preset": "default",
370
373
  "customItems": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/core",
3
- "version": "3.974.13",
3
+ "version": "3.974.14",
4
4
  "description": "Core functions & classes shared by multiple AWS SDK clients.",
5
5
  "scripts": {
6
6
  "build": "yarn prebuild && yarn lint && concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
@@ -111,7 +111,7 @@
111
111
  "license": "Apache-2.0",
112
112
  "dependencies": {
113
113
  "@aws-sdk/types": "^3.973.9",
114
- "@aws-sdk/xml-builder": "^3.972.25",
114
+ "@aws-sdk/xml-builder": "^3.972.26",
115
115
  "@aws/lambda-invoke-store": "^0.2.2",
116
116
  "@smithy/core": "^3.24.3",
117
117
  "@smithy/signature-v4": "^5.4.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-env",
3
- "version": "3.972.39",
3
+ "version": "3.972.40",
4
4
  "description": "AWS credential provider that sources credentials from known environment variables",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.13",
29
+ "@aws-sdk/core": "^3.974.14",
30
30
  "@aws-sdk/types": "^3.973.9",
31
31
  "@smithy/core": "^3.24.3",
32
32
  "@smithy/types": "^4.14.2",
@@ -46,11 +46,9 @@ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
46
46
  }
47
47
  const url = new URL(host);
48
48
  (0, checkUrl_1.checkUrl)(url, options.logger);
49
- const requestHandler = node_http_handler_1.NodeHttpHandler.create({
50
- requestTimeout: options.timeout ?? 1000,
51
- connectionTimeout: options.timeout ?? 1000,
52
- });
53
- return (0, retry_wrapper_1.retryWrapper)(async () => {
49
+ const requestHandler = node_http_handler_1.NodeHttpHandler.create({ connectionTimeout: options.timeout ?? 1000 });
50
+ const requestTimeout = options.timeout ?? 1000;
51
+ const provider = (0, retry_wrapper_1.retryWrapper)(async () => {
54
52
  const request = (0, requestHelpers_1.createGetRequest)(url);
55
53
  if (token) {
56
54
  request.headers.Authorization = token;
@@ -59,12 +57,20 @@ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
59
57
  request.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString();
60
58
  }
61
59
  try {
62
- const result = await requestHandler.handle(request);
60
+ const result = await requestHandler.handle(request, { requestTimeout });
63
61
  return (0, requestHelpers_1.getCredentials)(result.response).then((creds) => (0, client_1.setCredentialFeature)(creds, "CREDENTIALS_HTTP", "z"));
64
62
  }
65
63
  catch (e) {
66
64
  throw new config_1.CredentialsProviderError(String(e), { logger: options.logger });
67
65
  }
68
66
  }, options.maxRetries ?? 3, options.timeout ?? 1000);
67
+ return async () => {
68
+ try {
69
+ return await provider();
70
+ }
71
+ finally {
72
+ requestHandler.destroy?.();
73
+ }
74
+ };
69
75
  };
70
76
  exports.fromHttp = fromHttp;
@@ -42,11 +42,9 @@ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
42
42
  }
43
43
  const url = new URL(host);
44
44
  checkUrl(url, options.logger);
45
- const requestHandler = NodeHttpHandler.create({
46
- requestTimeout: options.timeout ?? 1000,
47
- connectionTimeout: options.timeout ?? 1000,
48
- });
49
- return retryWrapper(async () => {
45
+ const requestHandler = NodeHttpHandler.create({ connectionTimeout: options.timeout ?? 1000 });
46
+ const requestTimeout = options.timeout ?? 1000;
47
+ const provider = retryWrapper(async () => {
50
48
  const request = createGetRequest(url);
51
49
  if (token) {
52
50
  request.headers.Authorization = token;
@@ -55,11 +53,19 @@ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
55
53
  request.headers.Authorization = (await fs.readFile(tokenFile)).toString();
56
54
  }
57
55
  try {
58
- const result = await requestHandler.handle(request);
56
+ const result = await requestHandler.handle(request, { requestTimeout });
59
57
  return getCredentials(result.response).then((creds) => setCredentialFeature(creds, "CREDENTIALS_HTTP", "z"));
60
58
  }
61
59
  catch (e) {
62
60
  throw new CredentialsProviderError(String(e), { logger: options.logger });
63
61
  }
64
62
  }, options.maxRetries ?? 3, options.timeout ?? 1000);
63
+ return async () => {
64
+ try {
65
+ return await provider();
66
+ }
67
+ finally {
68
+ requestHandler.destroy?.();
69
+ }
70
+ };
65
71
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-http",
3
- "version": "3.972.41",
3
+ "version": "3.972.42",
4
4
  "description": "AWS credential provider for containers and HTTP sources",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -23,6 +23,7 @@
23
23
  "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
24
24
  "clean": "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
25
25
  "test": "yarn g:vitest run",
26
+ "test:integration": "yarn g:vitest run -c vitest.config.integ.mts",
26
27
  "test:watch": "yarn g:vitest watch"
27
28
  },
28
29
  "keywords": [
@@ -36,7 +37,7 @@
36
37
  },
37
38
  "license": "Apache-2.0",
38
39
  "dependencies": {
39
- "@aws-sdk/core": "^3.974.13",
40
+ "@aws-sdk/core": "^3.974.14",
40
41
  "@aws-sdk/types": "^3.973.9",
41
42
  "@smithy/core": "^3.24.3",
42
43
  "@smithy/fetch-http-handler": "^5.4.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-ini",
3
- "version": "3.972.43",
3
+ "version": "3.972.44",
4
4
  "description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,14 +28,14 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.13",
32
- "@aws-sdk/credential-provider-env": "^3.972.39",
33
- "@aws-sdk/credential-provider-http": "^3.972.41",
34
- "@aws-sdk/credential-provider-login": "^3.972.43",
35
- "@aws-sdk/credential-provider-process": "^3.972.39",
36
- "@aws-sdk/credential-provider-sso": "^3.972.43",
37
- "@aws-sdk/credential-provider-web-identity": "^3.972.43",
38
- "@aws-sdk/nested-clients": "^3.997.11",
31
+ "@aws-sdk/core": "^3.974.14",
32
+ "@aws-sdk/credential-provider-env": "^3.972.40",
33
+ "@aws-sdk/credential-provider-http": "^3.972.42",
34
+ "@aws-sdk/credential-provider-login": "^3.972.44",
35
+ "@aws-sdk/credential-provider-process": "^3.972.40",
36
+ "@aws-sdk/credential-provider-sso": "^3.972.44",
37
+ "@aws-sdk/credential-provider-web-identity": "^3.972.44",
38
+ "@aws-sdk/nested-clients": "^3.997.12",
39
39
  "@aws-sdk/types": "^3.973.9",
40
40
  "@smithy/core": "^3.24.3",
41
41
  "@smithy/credential-provider-imds": "^4.3.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-login",
3
- "version": "3.972.43",
3
+ "version": "3.972.44",
4
4
  "description": "AWS credential provider that sources credentials from aws login cached tokens",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.13",
32
- "@aws-sdk/nested-clients": "^3.997.11",
31
+ "@aws-sdk/core": "^3.974.14",
32
+ "@aws-sdk/nested-clients": "^3.997.12",
33
33
  "@aws-sdk/types": "^3.973.9",
34
34
  "@smithy/core": "^3.24.3",
35
35
  "@smithy/types": "^4.14.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.972.44",
3
+ "version": "3.972.45",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=20.0.0"
@@ -31,12 +31,12 @@
31
31
  },
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
- "@aws-sdk/credential-provider-env": "^3.972.39",
35
- "@aws-sdk/credential-provider-http": "^3.972.41",
36
- "@aws-sdk/credential-provider-ini": "^3.972.43",
37
- "@aws-sdk/credential-provider-process": "^3.972.39",
38
- "@aws-sdk/credential-provider-sso": "^3.972.43",
39
- "@aws-sdk/credential-provider-web-identity": "^3.972.43",
34
+ "@aws-sdk/credential-provider-env": "^3.972.40",
35
+ "@aws-sdk/credential-provider-http": "^3.972.42",
36
+ "@aws-sdk/credential-provider-ini": "^3.972.44",
37
+ "@aws-sdk/credential-provider-process": "^3.972.40",
38
+ "@aws-sdk/credential-provider-sso": "^3.972.44",
39
+ "@aws-sdk/credential-provider-web-identity": "^3.972.44",
40
40
  "@aws-sdk/types": "^3.973.9",
41
41
  "@smithy/core": "^3.24.3",
42
42
  "@smithy/credential-provider-imds": "^4.3.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-process",
3
- "version": "3.972.39",
3
+ "version": "3.972.40",
4
4
  "description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.13",
29
+ "@aws-sdk/core": "^3.974.14",
30
30
  "@aws-sdk/types": "^3.973.9",
31
31
  "@smithy/core": "^3.24.3",
32
32
  "@smithy/types": "^4.14.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.1052.0",
3
+ "version": "3.1054.0",
4
4
  "description": "A collection of token providers",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "license": "Apache-2.0",
31
31
  "dependencies": {
32
- "@aws-sdk/core": "^3.974.13",
33
- "@aws-sdk/nested-clients": "^3.997.11",
32
+ "@aws-sdk/core": "^3.974.14",
33
+ "@aws-sdk/nested-clients": "^3.997.12",
34
34
  "@aws-sdk/types": "^3.973.9",
35
35
  "@smithy/core": "^3.24.3",
36
36
  "@smithy/types": "^4.14.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.972.43",
3
+ "version": "3.972.44",
4
4
  "description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.13",
30
- "@aws-sdk/nested-clients": "^3.997.11",
31
- "@aws-sdk/token-providers": "3.1052.0",
29
+ "@aws-sdk/core": "^3.974.14",
30
+ "@aws-sdk/nested-clients": "^3.997.12",
31
+ "@aws-sdk/token-providers": "3.1054.0",
32
32
  "@aws-sdk/types": "^3.973.9",
33
33
  "@smithy/core": "^3.24.3",
34
34
  "@smithy/types": "^4.14.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-web-identity",
3
- "version": "3.972.43",
3
+ "version": "3.972.44",
4
4
  "description": "AWS credential provider that calls STS assumeRole for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -34,8 +34,8 @@
34
34
  },
35
35
  "license": "Apache-2.0",
36
36
  "dependencies": {
37
- "@aws-sdk/core": "^3.974.13",
38
- "@aws-sdk/nested-clients": "^3.997.11",
37
+ "@aws-sdk/core": "^3.974.14",
38
+ "@aws-sdk/nested-clients": "^3.997.12",
39
39
  "@aws-sdk/types": "^3.973.9",
40
40
  "@smithy/core": "^3.24.3",
41
41
  "@smithy/types": "^4.14.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-websocket",
3
- "version": "3.972.21",
3
+ "version": "3.972.22",
4
4
  "main": "./dist-cjs/index.js",
5
5
  "module": "./dist-es/index.js",
6
6
  "types": "./dist-types/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/core": "^3.974.13",
27
+ "@aws-sdk/core": "^3.974.14",
28
28
  "@aws-sdk/types": "^3.973.9",
29
29
  "@smithy/core": "^3.24.3",
30
30
  "@smithy/fetch-http-handler": "^5.4.3",
@@ -80,7 +80,7 @@ const commonParams = {
80
80
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
81
81
  };
82
82
 
83
- var version = "3.997.10";
83
+ var version = "3.997.11";
84
84
  var packageInfo = {
85
85
  version: version};
86
86
 
@@ -76,7 +76,7 @@ const commonParams = {
76
76
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
77
77
  };
78
78
 
79
- var version = "3.997.10";
79
+ var version = "3.997.11";
80
80
  var packageInfo = {
81
81
  version: version};
82
82
 
@@ -76,7 +76,7 @@ const commonParams = {
76
76
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
77
77
  };
78
78
 
79
- var version = "3.997.10";
79
+ var version = "3.997.11";
80
80
  var packageInfo = {
81
81
  version: version};
82
82
 
@@ -76,7 +76,7 @@ const commonParams = {
76
76
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
77
77
  };
78
78
 
79
- var version = "3.997.10";
79
+ var version = "3.997.11";
80
80
  var packageInfo = {
81
81
  version: version};
82
82
 
@@ -319,7 +319,7 @@ const commonParams = {
319
319
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
320
320
  };
321
321
 
322
- var version = "3.997.10";
322
+ var version = "3.997.11";
323
323
  var packageInfo = {
324
324
  version: version};
325
325
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.997.11",
3
+ "version": "3.997.12",
4
4
  "description": "Nested clients for AWS SDK packages.",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,8 +29,8 @@
29
29
  "dependencies": {
30
30
  "@aws-crypto/sha256-browser": "5.2.0",
31
31
  "@aws-crypto/sha256-js": "5.2.0",
32
- "@aws-sdk/core": "^3.974.13",
33
- "@aws-sdk/signature-v4-multi-region": "^3.996.28",
32
+ "@aws-sdk/core": "^3.974.14",
33
+ "@aws-sdk/signature-v4-multi-region": "^3.996.29",
34
34
  "@aws-sdk/types": "^3.973.9",
35
35
  "@smithy/core": "^3.24.3",
36
36
  "@smithy/fetch-http-handler": "^5.4.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/signature-v4-multi-region",
3
- "version": "3.996.28",
3
+ "version": "3.996.29",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
6
6
  "build:cjs": "node ../../scripts/compilation/inline signature-v4-multi-region",
@@ -26,7 +26,6 @@
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
28
  "@aws-sdk/types": "^3.973.9",
29
- "@smithy/core": "^3.24.3",
30
29
  "@smithy/signature-v4": "^5.4.2",
31
30
  "@smithy/types": "^4.14.2",
32
31
  "tslib": "^2.6.2"
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@aws-sdk/xml-builder",
3
- "version": "3.972.25",
3
+ "version": "3.972.26",
4
4
  "description": "XML utilities for the AWS SDK",
5
5
  "dependencies": {
6
- "@nodable/entities": "2.1.0",
7
6
  "@smithy/types": "^4.14.2",
8
7
  "fast-xml-parser": "5.7.3",
9
8
  "tslib": "^2.6.2"
@@ -55,6 +54,7 @@
55
54
  "directory": "packages-internal/xml-builder"
56
55
  },
57
56
  "devDependencies": {
57
+ "@nodable/entities": "2.1.0",
58
58
  "@tsconfig/recommended": "1.0.1",
59
59
  "concurrently": "7.0.0",
60
60
  "downlevel-dts": "0.10.1",
@@ -125,22 +125,28 @@ export function shouldCompact(contextTokens, contextWindow, settings) {
125
125
  return false;
126
126
  return contextTokens > contextWindow - settings.reserveTokens;
127
127
  }
128
+ const ESTIMATED_IMAGE_CHARS = 4800;
129
+ function estimateTextAndImageContentChars(content) {
130
+ if (typeof content === "string") {
131
+ return content.length;
132
+ }
133
+ let chars = 0;
134
+ for (const block of content) {
135
+ if (block.type === "text" && block.text) {
136
+ chars += block.text.length;
137
+ }
138
+ else if (block.type === "image") {
139
+ chars += ESTIMATED_IMAGE_CHARS;
140
+ }
141
+ }
142
+ return chars;
143
+ }
128
144
  /** Estimate token count for one message using a conservative character heuristic. */
129
145
  export function estimateTokens(message) {
130
146
  let chars = 0;
131
147
  switch (message.role) {
132
148
  case "user": {
133
- const content = message.content;
134
- if (typeof content === "string") {
135
- chars = content.length;
136
- }
137
- else if (Array.isArray(content)) {
138
- for (const block of content) {
139
- if (block.type === "text" && block.text) {
140
- chars += block.text.length;
141
- }
142
- }
143
- }
149
+ chars = estimateTextAndImageContentChars(message.content);
144
150
  return Math.ceil(chars / 4);
145
151
  }
146
152
  case "assistant": {
@@ -160,19 +166,7 @@ export function estimateTokens(message) {
160
166
  }
161
167
  case "custom":
162
168
  case "toolResult": {
163
- if (typeof message.content === "string") {
164
- chars = message.content.length;
165
- }
166
- else {
167
- for (const block of message.content) {
168
- if (block.type === "text" && block.text) {
169
- chars += block.text.length;
170
- }
171
- if (block.type === "image") {
172
- chars += 4800;
173
- }
174
- }
175
- }
169
+ chars = estimateTextAndImageContentChars(message.content);
176
170
  return Math.ceil(chars / 4);
177
171
  }
178
172
  case "bashExecution": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-agent-core",
3
- "version": "0.75.4",
3
+ "version": "0.75.5",
4
4
  "description": "General-purpose agent with transport abstraction, state management, and attachment support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,7 +29,7 @@
29
29
  "prepublishOnly": "npm run clean && npm run build"
30
30
  },
31
31
  "dependencies": {
32
- "@earendil-works/pi-ai": "^0.75.4",
32
+ "@earendil-works/pi-ai": "^0.75.5",
33
33
  "ignore": "7.0.5",
34
34
  "typebox": "1.1.38",
35
35
  "yaml": "2.9.0"
@@ -36,9 +36,23 @@ async function login(providerId) {
36
36
  console.log(info.instructions);
37
37
  console.log();
38
38
  },
39
+ onDeviceCode: (info) => {
40
+ console.log(`\nOpen this URL in your browser:\n${info.verificationUri}`);
41
+ console.log(`Enter code: ${info.userCode}`);
42
+ console.log();
43
+ },
39
44
  onPrompt: async (p) => {
40
45
  return await promptFn(`${p.message}${p.placeholder ? ` (${p.placeholder})` : ""}:`);
41
46
  },
47
+ onSelect: async (p) => {
48
+ console.log(`\n${p.message}`);
49
+ for (let i = 0; i < p.options.length; i++) {
50
+ console.log(` ${i + 1}. ${p.options[i].label}`);
51
+ }
52
+ const choice = await promptFn(`Enter number (1-${p.options.length}):`);
53
+ const index = parseInt(choice, 10) - 1;
54
+ return p.options[index]?.id;
55
+ },
42
56
  onProgress: (msg) => console.log(msg),
43
57
  });
44
58
  const auth = loadAuth();