@psnext/slingcli 2.5.20260727-1 → 2.5.20260731-1

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 (235) hide show
  1. package/bin/sling.js +163 -0
  2. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +856 -57
  3. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +8 -5
  4. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -1
  5. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +1 -1
  6. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonSettings.js +1 -0
  7. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{JsonCodec.js → codec-v1/JsonCodec.js} +1 -1
  8. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonSettings.js +1 -0
  9. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{JsonShapeDeserializer.js → codec-v1/JsonShapeDeserializer.js} +6 -6
  10. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{JsonShapeSerializer.js → codec-v1/JsonShapeSerializer.js} +3 -3
  11. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js +103 -0
  12. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js +20 -0
  13. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{experimental/BufferJsonShapeDeserializer.js → codec-v2/JsonShapeDeserializer2.js} +38 -18
  14. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{experimental/ByteJsonShapeSerializer.js → codec-v2/JsonShapeSerializer2.js} +66 -60
  15. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +9 -6
  16. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -1
  17. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -1
  18. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +1 -1
  19. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsRestJsonProtocol.d.ts +1 -1
  20. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonSettings.d.ts +7 -0
  21. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{JsonCodec.d.ts → codec-v1/JsonCodec.d.ts} +4 -8
  22. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonSettings.d.ts +7 -0
  23. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{JsonShapeDeserializer.d.ts → codec-v1/JsonShapeDeserializer.d.ts} +3 -2
  24. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{JsonShapeSerializer.d.ts → codec-v1/JsonShapeSerializer.d.ts} +3 -2
  25. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +51 -0
  26. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +13 -0
  27. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{experimental/BufferJsonShapeDeserializer.d.ts → codec-v2/JsonShapeDeserializer2.d.ts} +4 -3
  28. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{experimental/ByteJsonShapeSerializer.d.ts → codec-v2/JsonShapeSerializer2.d.ts} +19 -16
  29. package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +4 -7
  30. package/node_modules/@aws-sdk/core/dist-types/ts3.4/index.d.ts +61 -21
  31. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +13 -27
  32. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/AccountIdEndpointModeConstants.d.ts +4 -16
  33. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/NodeAccountIdEndpointModeConfigOptions.d.ts +5 -14
  34. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/index.d.ts +16 -5
  35. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/emitWarningIfUnsupportedVersion.d.ts +4 -11
  36. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +107 -47
  37. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +112 -39
  38. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +107 -48
  39. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/longPollMiddleware.d.ts +13 -14
  40. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-host-header/hostHeaderMiddleware.d.ts +25 -35
  41. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-logger/loggerMiddleware.d.ts +14 -4
  42. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/configuration.d.ts +2 -6
  43. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.d.ts +2 -5
  44. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +2 -5
  45. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.browser.d.ts +2 -6
  46. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.d.ts +2 -10
  47. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.native.d.ts +2 -6
  48. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/check-features.d.ts +16 -20
  49. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/configurations.d.ts +21 -44
  50. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/constants.d.ts +7 -7
  51. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/encode-features.d.ts +2 -5
  52. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/user-agent-middleware.d.ts +18 -18
  53. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/awsRegionConfig.d.ts +8 -11
  54. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/extensions.d.ts +14 -16
  55. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/stsRegionDefaultResolver.browser.d.ts +1 -4
  56. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/stsRegionDefaultResolver.d.ts +7 -14
  57. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/stsRegionDefaultResolver.native.d.ts +1 -4
  58. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setCredentialFeature.d.ts +6 -7
  59. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setFeature.d.ts +6 -12
  60. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setTokenFeature.d.ts +6 -7
  61. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/aws.d.ts +2 -2
  62. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/isVirtualHostableS3Bucket.d.ts +4 -5
  63. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/parseArn.d.ts +2 -7
  64. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partition.d.ts +28 -38
  65. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partitions.d.ts +647 -638
  66. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/isIpAddress.d.ts +1 -1
  67. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/resolveDefaultAwsRegionalEndpointsConfig.d.ts +29 -56
  68. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/resolveEndpoint.d.ts +1 -1
  69. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/EndpointError.d.ts +1 -1
  70. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/EndpointRuleObject.d.ts +6 -1
  71. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/ErrorRuleObject.d.ts +1 -1
  72. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/RuleSetObject.d.ts +1 -1
  73. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/TreeRuleObject.d.ts +1 -1
  74. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/shared.d.ts +12 -1
  75. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/configurations.d.ts +4 -7
  76. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/createUserAgentStringParsingProvider.d.ts +7 -14
  77. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +7 -2
  78. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts +18 -27
  79. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts +13 -18
  80. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/crt-availability.d.ts +3 -8
  81. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/defaultUserAgent.d.ts +17 -28
  82. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/getRuntimeUserAgentPair.d.ts +2 -6
  83. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/is-crt-available.d.ts +2 -5
  84. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/nodeAppIdConfigOptions.d.ts +4 -13
  85. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts +9 -10
  86. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +39 -44
  87. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.d.ts +2 -5
  88. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.browser.d.ts +1 -6
  89. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.d.ts +1 -7
  90. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/clock-skew-node-config.d.ts +4 -13
  91. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/index.d.ts +23 -7
  92. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts +13 -38
  93. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +57 -133
  94. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/index.browser.d.ts +32 -11
  95. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/index.d.ts +32 -9
  96. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.d.ts +1 -8
  97. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.d.ts +1 -6
  98. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getDateHeader.d.ts +2 -8
  99. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.d.ts +1 -8
  100. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.d.ts +6 -26
  101. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/index.d.ts +4 -4
  102. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/isClockSkewed.d.ts +1 -9
  103. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/ConfigurableSerdeContext.d.ts +5 -8
  104. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/ProtocolLib.d.ts +40 -74
  105. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/UnionSerde.d.ts +9 -24
  106. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.d.ts +36 -25
  107. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/coercing-serializers.d.ts +3 -18
  108. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/common.d.ts +5 -2
  109. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +30 -22
  110. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_0Protocol.d.ts +21 -22
  111. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_1Protocol.d.ts +21 -22
  112. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +49 -29
  113. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsRestJsonProtocol.d.ts +49 -36
  114. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonSettings.d.ts +4 -0
  115. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/awsExpectUnion.d.ts +1 -7
  116. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonCodec.d.ts +11 -0
  117. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonSettings.d.ts +4 -0
  118. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +13 -0
  119. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +18 -0
  120. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +27 -0
  121. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +9 -0
  122. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +15 -0
  123. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +39 -0
  124. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/detectBufferParsing.d.ts +1 -1
  125. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +7 -21
  126. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +7 -15
  127. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +2 -11
  128. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +14 -22
  129. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +18 -27
  130. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsQueryProtocol.d.ts +57 -49
  131. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/QuerySerializerSettings.d.ts +7 -13
  132. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/QueryShapeSerializer.d.ts +21 -16
  133. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/writeKey.d.ts +1 -4
  134. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/AwsRestXmlProtocol.d.ts +47 -31
  135. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/XmlCodec.d.ts +17 -14
  136. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/XmlShapeDeserializer.d.ts +15 -20
  137. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/XmlShapeSerializer.d.ts +21 -21
  138. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/parseXmlBody.d.ts +4 -13
  139. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/simpleFormatXml.d.ts +1 -6
  140. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +3 -3
  141. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/util-arn-parser/arn.d.ts +14 -32
  142. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/util-format-url/format-url.d.ts +4 -2
  143. package/node_modules/@aws-sdk/core/package.json +3 -3
  144. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  145. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +2 -2
  146. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  147. package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
  148. package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
  149. package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
  150. package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
  151. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +4 -4
  152. package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
  153. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
  154. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
  155. package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
  156. package/node_modules/@aws-sdk/middleware-websocket/package.json +5 -5
  157. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  158. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  159. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  160. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  161. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  162. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +2 -2
  163. package/node_modules/@aws-sdk/nested-clients/package.json +6 -6
  164. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  165. package/node_modules/@earendil-works/pi-coding-agent/docs/compaction.md +14 -9
  166. package/node_modules/@earendil-works/pi-coding-agent/docs/containerization.md +16 -16
  167. package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +12 -9
  168. package/node_modules/@earendil-works/pi-coding-agent/docs/docs.json +1 -5
  169. package/node_modules/@earendil-works/pi-coding-agent/docs/environment-variables.md +88 -0
  170. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +54 -36
  171. package/node_modules/@earendil-works/pi-coding-agent/docs/index.md +9 -6
  172. package/node_modules/@earendil-works/pi-coding-agent/docs/json.md +5 -1
  173. package/node_modules/@earendil-works/pi-coding-agent/docs/llama-cpp.md +7 -7
  174. package/node_modules/@earendil-works/pi-coding-agent/docs/mcp.md +1 -1
  175. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +13 -9
  176. package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +13 -13
  177. package/node_modules/@earendil-works/pi-coding-agent/docs/prompt-templates.md +2 -2
  178. package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +22 -22
  179. package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +106 -10
  180. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +1186 -0
  181. package/node_modules/@earendil-works/pi-coding-agent/docs/security.md +4 -4
  182. package/node_modules/@earendil-works/pi-coding-agent/docs/session-format.md +18 -4
  183. package/node_modules/@earendil-works/pi-coding-agent/docs/sessions.md +1 -1
  184. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +8 -8
  185. package/node_modules/@earendil-works/pi-coding-agent/docs/shell-aliases.md +1 -1
  186. package/node_modules/@earendil-works/pi-coding-agent/docs/skills.md +6 -6
  187. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +2 -2
  188. package/node_modules/@earendil-works/pi-coding-agent/docs/termux.md +1 -1
  189. package/node_modules/@earendil-works/pi-coding-agent/docs/themes.md +2 -2
  190. package/node_modules/@earendil-works/pi-coding-agent/docs/tmux.md +4 -4
  191. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +12 -25
  192. package/node_modules/@earendil-works/pi-coding-agent/docs/windows.md +1 -1
  193. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +1561 -337
  194. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +4 -205
  195. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js +1 -1
  196. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeDeserializer.js +113 -0
  197. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeSerializer.js +103 -0
  198. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeDeserializer2.js +621 -0
  199. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeSerializer2.js +602 -0
  200. package/node_modules/@smithy/core/dist-es/submodules/cbor/index.js +5 -1
  201. package/node_modules/@smithy/core/dist-types/submodules/cbor/CborCodec.d.ts +5 -27
  202. package/node_modules/@smithy/core/dist-types/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +2 -2
  203. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v1/CborShapeDeserializer.d.ts +13 -0
  204. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v1/CborShapeSerializer.d.ts +15 -0
  205. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v2/CborShapeDeserializer2.d.ts +18 -0
  206. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v2/CborShapeSerializer2.d.ts +35 -0
  207. package/node_modules/@smithy/core/dist-types/submodules/cbor/index.d.ts +5 -1
  208. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/CborCodec.d.ts +5 -27
  209. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +2 -2
  210. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v1/CborShapeDeserializer.d.ts +13 -0
  211. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v1/CborShapeSerializer.d.ts +15 -0
  212. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v2/CborShapeDeserializer2.d.ts +18 -0
  213. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v2/CborShapeSerializer2.d.ts +35 -0
  214. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/index.d.ts +5 -1
  215. package/node_modules/@smithy/core/package.json +2 -1
  216. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  217. package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
  218. package/node_modules/@smithy/signature-v4/package.json +2 -2
  219. package/node_modules/@types/node/README.md +1 -1
  220. package/node_modules/@types/node/crypto.d.ts +1 -1
  221. package/node_modules/@types/node/package.json +2 -2
  222. package/node_modules/brace-expansion/README.md +1 -2
  223. package/node_modules/brace-expansion/dist/commonjs/index.js +30 -4
  224. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  225. package/node_modules/brace-expansion/dist/esm/index.js +30 -4
  226. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  227. package/node_modules/brace-expansion/package.json +1 -1
  228. package/package.json +2 -2
  229. package/slingshot/index.js +203 -205
  230. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonCodec.d.ts +0 -19
  231. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeDeserializer.d.ts +0 -13
  232. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeSerializer.d.ts +0 -28
  233. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/experimental/BufferJsonShapeDeserializer.d.ts +0 -29
  234. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/experimental/ByteJsonShapeSerializer.d.ts +0 -57
  235. package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +0 -297
@@ -1,12 +1,12 @@
1
1
  # Security
2
2
 
3
- Sling is a local coding agent. It runs with the permissions of the user account that starts it, and it treats files writable by that user as inside the same local trust boundary.
3
+ sling is a local coding agent. It runs with the permissions of the user account that starts it, and it treats files writable by that user as inside the same local trust boundary.
4
4
 
5
5
  ## Project Trust
6
6
 
7
7
  Project trust controls whether sling loads project-local settings, resources, packages, and extensions. It is not a sandbox and it does not restrict what the model can ask tools to do after you start working in a directory.
8
8
 
9
- Sling considers a project to have resources that require trust when it finds any of these from the current working directory:
9
+ sling considers a project to have resources that require trust when it finds any of these from the current working directory:
10
10
 
11
11
  - `.sling/settings.json`
12
12
  - `.sling/extensions`, `.sling/skills`, `.sling/prompts`, or `.sling/themes`
@@ -30,9 +30,9 @@ Non-interactive modes (`-p`, `--mode json`, and `--mode rpc`) do not show a trus
30
30
 
31
31
  ## No Built-in Sandbox
32
32
 
33
- Sling does not include a built-in sandbox. Built-in tools can read files, write files, edit files, and run shell commands with the permissions of the sling process. Extensions are TypeScript modules that run with the same permissions. Package installs, shell commands, language servers, test commands, and other developer tools behave as ordinary local processes.
33
+ sling does not include a built-in sandbox. Built-in tools can read files, write files, edit files, and run shell commands with the permissions of the sling process. Extensions are TypeScript modules that run with the same permissions. Package installs, shell commands, language servers, test commands, and other developer tools behave as ordinary local processes.
34
34
 
35
- This is intentional. Sling is designed to operate on local source trees, invoke project toolchains, and integrate with the user's existing development environment. A partial in-process sandbox would be easy to misunderstand as a security boundary while still depending on the host shell, filesystem, package managers, credentials, and extension code. Real isolation needs to come from the operating system or a virtualization/container boundary.
35
+ This is intentional. sling is designed to operate on local source trees, invoke project toolchains, and integrate with the user's existing development environment. A partial in-process sandbox would be easy to misunderstand as a security boundary while still depending on the host shell, filesystem, package managers, credentials, and extension code. Real isolation needs to come from the operating system or a virtualization/container boundary.
36
36
 
37
37
  Project trust is only an input-loading guard. It prevents a repository from silently changing sling's settings or extensions before you approve it. It does not make untrusted code, untrusted prompts, or untrusted model output safe. Prompt injection from repository files, comments, documentation, context files, or build output is expected local-agent risk and cannot be reliably prevented by sling.
38
38
 
@@ -14,7 +14,7 @@ Where `<path>` is the working directory with `/` replaced by `-`.
14
14
 
15
15
  Sessions can be removed by deleting their `.jsonl` files under `~/.sling/agent/sessions/`.
16
16
 
17
- Pi also supports deleting sessions interactively from `/resume` (select a session and press `Ctrl+D`, then confirm). When available, pi uses the `trash` CLI to avoid permanent deletion.
17
+ sling also supports deleting sessions interactively from `/resume` (select a session and press `Ctrl+D`, then confirm). When available, sling uses the `trash` CLI to avoid permanent deletion.
18
18
 
19
19
  ## Session Version
20
20
 
@@ -96,6 +96,7 @@ interface ToolResultMessage {
96
96
  toolName: string;
97
97
  content: (TextContent | ImageContent)[];
98
98
  details?: any; // Tool-specific metadata
99
+ usage?: Usage; // Nested LLM work performed by the tool
99
100
  isError: boolean;
100
101
  timestamp: number;
101
102
  }
@@ -231,9 +232,18 @@ Created when context is compacted. Stores a summary of earlier messages.
231
232
  {"type":"compaction","id":"f6g7h8i9","parentId":"e5f6g7h8","timestamp":"2024-12-03T14:10:00.000Z","summary":"User discussed X, Y, Z...","firstKeptEntryId":"c3d4e5f6","tokensBefore":50000}
232
233
  ```
233
234
 
235
+ Newer harness-generated compactions embed the retained post-compaction context directly on the entry, instead of `firstKeptEntryId`:
236
+
237
+ ```json
238
+ {"type":"compaction","id":"f6g7h8i9","parentId":"e5f6g7h8","timestamp":"2024-12-03T14:10:00.000Z","summary":"User discussed X, Y, Z...","tokensBefore":50000,"retainedTail":[{"role":"user","content":"latest request"},{"role":"assistant","content":[{"type":"text","text":"latest reply"}],"provider":"anthropic","model":"claude-sonnet-4-5","usage":{...},"stopReason":"stop"}]}
239
+ ```
240
+
234
241
  Optional fields:
242
+ - `usage`: LLM usage from generating the summary; included in session token and cost totals
243
+ - `retainedTail`: Materialized `AgentMessage[]` kept after compaction. This is optional only for backward compatibility with older sessions. Newer harness-generated compactions include it so we can rebuild context from this checkpoint without walking older entries before the compaction entry.
235
244
  - `details`: Implementation-specific data (e.g., `{ readFiles: string[], modifiedFiles: string[] }` for default, or custom data for extensions)
236
245
  - `fromHook`: `true` if generated by an extension, `false`/`undefined` if pi-generated (legacy field name)
246
+ - `firstKeptEntryId`: for compatibility with old entry format.
237
247
 
238
248
  ### BranchSummaryEntry
239
249
 
@@ -244,6 +254,7 @@ Created when switching branches via `/tree` with an LLM generated summary of the
244
254
  ```
245
255
 
246
256
  Optional fields:
257
+ - `usage`: LLM usage from generating the summary; included in session token and cost totals
247
258
  - `details`: File tracking data (`{ readFiles: string[], modifiedFiles: string[] }`) for default, or custom data for extensions
248
259
  - `fromHook`: `true` if generated by an extension, `false`/`undefined` if pi-generated (legacy field name)
249
260
 
@@ -311,8 +322,9 @@ Entries form a tree:
311
322
  1. Collects all entries on the path
312
323
  2. If a `CompactionEntry` is on the path:
313
324
  - Includes the compaction entry first
314
- - Then entries from `firstKeptEntryId` to compaction
315
- - Then entries after compaction
325
+ - If `retainedTail` is present, it acts as a self-contained checkpoint and entries after the compaction are included
326
+ - Otherwise entries from `firstKeptEntryId` to the compaction are included
327
+ - Then entries after compaction are included
316
328
  3. Preserves non-message entries in the selected range so interactive mode can render them
317
329
 
318
330
  `buildSessionContext()` builds on that entry list to produce the message list for the LLM:
@@ -320,11 +332,13 @@ Entries form a tree:
320
332
  1. Extracts current model and thinking level settings from the full path
321
333
  2. Converts selected entries to messages:
322
334
  - `message` -> stored `AgentMessage`
323
- - `compaction` -> `compactionSummary`
335
+ - `compaction` -> `compactionSummary` plus `retainedTail` when present
324
336
  - `branch_summary` -> `branchSummary`
325
337
  - `custom_message` -> `CustomMessage`
326
338
  - `custom` -> no context message
327
339
 
340
+ This makes newer compactions act like self-contained checkpoints. `retainedTail` is optional only so older sessions that only store `firstKeptEntryId` continue to load correctly.
341
+
328
342
  ## Parsing Example
329
343
 
330
344
  ```typescript
@@ -128,7 +128,7 @@ Use `/tree` when you want to keep alternatives together. Use `/fork` or `/clone`
128
128
 
129
129
  ## Branch Summaries
130
130
 
131
- When `/tree` switches away from one branch to another, pi can summarize the abandoned branch and attach that summary at the new position. This preserves important context from the path you left without replaying the whole branch.
131
+ When `/tree` switches away from one branch to another, sling can summarize the abandoned branch and attach that summary at the new position. This preserves important context from the path you left without replaying the whole branch.
132
132
 
133
133
  When prompted, choose one of:
134
134
 
@@ -11,15 +11,15 @@ Edit directly or use `/settings` for common options.
11
11
 
12
12
  ## Project Trust
13
13
 
14
- On interactive startup, pi asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `~/.sling/agent/trust.json`. Trusting a project allows sling to load `.sling/settings.json` and `.sling` resources, install missing project packages, and execute project extensions.
14
+ On interactive startup, sling asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `~/.sling/agent/trust.json`. Trusting a project allows sling to load `.sling/settings.json` and `.sling` resources, install missing project packages, and execute project extensions.
15
15
 
16
16
  Non-interactive modes (`-p`, `--mode json`, and `--mode rpc`) do not show a trust prompt. Without an applicable saved trust decision, they use `defaultProjectTrust` from global settings: `ask` (default) and `never` ignore those project resources, while `always` trusts them. Pass `--approve`/`-a` or `--no-approve`/`-na` to override project trust for one run.
17
17
 
18
18
  If no extension or saved decision applies, `defaultProjectTrust` controls the fallback behavior. Set it to `"ask"`, `"always"`, or `"never"` in `~/.sling/agent/settings.json`, or change it with `/settings`.
19
19
 
20
- `pi config` and package commands use the same project trust flow, except `pi update` never prompts. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them.
20
+ `sling config` and package commands use the same project trust flow, except `sling update` never prompts. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them.
21
21
 
22
- Use `/trust` in interactive mode to save a project trust decision for future sessions, including trust for the immediate parent folder. It writes `~/.sling/agent/trust.json` only; the current session is not reloaded, so restart pi for changes to take effect.
22
+ Use `/trust` in interactive mode to save a project trust decision for future sessions, including trust for the immediate parent folder. It writes `~/.sling/agent/trust.json` only; the current session is not reloaded, so restart sling for changes to take effect.
23
23
 
24
24
  ## All Settings
25
25
 
@@ -66,7 +66,7 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
66
66
  | `autocompleteMaxVisible` | number | `5` | Max visible items in autocomplete dropdown (3-20) |
67
67
  | `showHardwareCursor` | boolean | `false` | Show the terminal cursor while TUI positions it for IME support |
68
68
 
69
- For VS Code, include `--wait` so pi resumes after the editor exits:
69
+ For VS Code, include `--wait` so sling resumes after the editor exits:
70
70
 
71
71
  ```json
72
72
  {
@@ -76,9 +76,9 @@ For VS Code, include `--wait` so pi resumes after the editor exits:
76
76
 
77
77
  ### Telemetry and update checks
78
78
 
79
- `enableInstallTelemetry` only controls the anonymous install/update ping to `https://pi.dev/api/report-install`. Opting out of telemetry does not disable update checks; Pi can still fetch `https://pi.dev/api/latest-version` to look for the latest version.
79
+ `enableInstallTelemetry` only controls the anonymous install/update ping to `https://pi.dev/api/report-install`. Opting out of telemetry does not disable update checks; sling can still fetch `https://pi.dev/api/latest-version` to look for the latest version.
80
80
 
81
- Set `PI_SKIP_VERSION_CHECK=1` to disable the Pi version update check. Use `--offline` or `PI_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.
81
+ Set `PI_SKIP_VERSION_CHECK=1` to disable the sling version update check. Use `--offline` or `PI_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.
82
82
 
83
83
  ### Network
84
84
 
@@ -142,9 +142,9 @@ Set `PI_SKIP_VERSION_CHECK=1` to disable the Pi version update check. Use `--off
142
142
  | `retry.provider.maxRetries` | number | `0` | Provider/SDK retry attempts |
143
143
  | `retry.provider.maxRetryDelayMs` | number | `60000` | Max server-requested delay before failing (60s) |
144
144
 
145
- When a provider requests a retry delay longer than `retry.provider.maxRetryDelayMs` (e.g., Google's "quota will reset after 5h"), the request fails immediately with an informative error instead of waiting silently. Set to `0` to disable the cap.
145
+ When a provider requests a retry delay longer than `retry.provider.maxRetryDelayMs`, the request fails immediately with an informative error instead of waiting silently. Set it to `0` to disable the limit.
146
146
 
147
- Keep `retry.provider.maxRetries` at `0` unless provider-level retries are explicitly needed. Setting it above `0` can make SDK/provider retries handle out-of-usage-limit errors before Pi sees them, which may block the agent until the provider quota resets in some circumstances.
147
+ Keep `retry.provider.maxRetries` at `0` unless provider-level retries are explicitly needed. Setting it above `0` can make SDK/provider retries handle out-of-usage-limit errors before sling sees them, which may block the agent until the provider quota resets in some circumstances.
148
148
 
149
149
  ```json
150
150
  {
@@ -1,6 +1,6 @@
1
1
  # Shell Aliases
2
2
 
3
- Pi runs bash in non-interactive mode (`bash -c`), which doesn't expand aliases by default.
3
+ sling runs bash in non-interactive mode (`bash -c`), which doesn't expand aliases by default.
4
4
 
5
5
  To enable your shell aliases, add to `~/.sling/agent/settings.json`:
6
6
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Skills are self-contained capability packages that the agent loads on-demand. A skill provides specialized workflows, setup instructions, helper scripts, and reference documentation for specific tasks.
6
6
 
7
- Sling implements the [Agent Skills standard](https://agentskills.io/specification), warning about most violations but remaining lenient. Sling allows skill names to differ from their parent directory even though the standard disallows it; that rule is suboptimal for shared skill directories used across multiple agent harnesses.
7
+ sling implements the [Agent Skills standard](https://agentskills.io/specification), warning about most violations but remaining lenient. sling allows skill names to differ from their parent directory even though the standard disallows it; that rule is suboptimal for shared skill directories used across multiple agent harnesses.
8
8
 
9
9
  ## Table of Contents
10
10
 
@@ -21,7 +21,7 @@ Sling implements the [Agent Skills standard](https://agentskills.io/specificatio
21
21
 
22
22
  > **Security:** Skills can instruct the model to perform any action and may include executable code the model invokes. Review skill content before use.
23
23
 
24
- Sling loads skills from:
24
+ sling loads skills from:
25
25
 
26
26
  - Global:
27
27
  - `~/.sling/agent/skills/`
@@ -29,7 +29,7 @@ Sling loads skills from:
29
29
  - Project (only after the project is trusted):
30
30
  - `.sling/skills/`
31
31
  - `.agents/skills/` in `cwd` and ancestor directories (up to git repo root, or filesystem root when not in a repo)
32
- - Packages: `skills/` directories or `pi.skills` entries in `package.json`
32
+ - Packages: `skills/` directories or `sling.skills` entries in `package.json`
33
33
  - Settings: `skills` array with files or directories
34
34
  - CLI: `--skill <path>` (repeatable, additive even with `--no-skills`)
35
35
 
@@ -140,7 +140,7 @@ Per the [Agent Skills specification](https://agentskills.io/specification#frontm
140
140
 
141
141
  | Field | Required | Description |
142
142
  |-------|----------|-------------|
143
- | `name` | Yes | Max 64 chars. Lowercase a-z, 0-9, hyphens. Unlike the standard, Sling does not require this to match the parent directory because that standard requirement is suboptimal for shared skill directories. |
143
+ | `name` | Yes | Max 64 chars. Lowercase a-z, 0-9, hyphens. Unlike the standard, sling does not require this to match the parent directory because that standard requirement is suboptimal for shared skill directories. |
144
144
  | `description` | Yes | Max 1024 chars. What the skill does and when to use it. |
145
145
  | `license` | No | License name or reference to bundled file. |
146
146
  | `compatibility` | No | Max 500 chars. Environment requirements. |
@@ -154,7 +154,7 @@ Per the [Agent Skills specification](https://agentskills.io/specification#frontm
154
154
  - Lowercase letters, numbers, hyphens only
155
155
  - No leading/trailing hyphens
156
156
  - No consecutive hyphens
157
- Pi does not require the name to match the parent directory. The Agent Skills standard does, but that requirement is suboptimal for shared skill directories used by multiple tools.
157
+ sling does not require the name to match the parent directory. The Agent Skills standard does, but that requirement is suboptimal for shared skill directories used by multiple tools.
158
158
 
159
159
  Valid: `pdf-processing`, `data-analysis`, `code-review`
160
160
  Invalid: `PDF-Processing`, `-pdf`, `pdf--processing`
@@ -175,7 +175,7 @@ description: Helps with PDFs.
175
175
 
176
176
  ## Validation
177
177
 
178
- Pi validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
178
+ sling validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
179
179
 
180
180
  - Name exceeds 64 characters or contains invalid characters
181
181
  - Name starts/ends with hyphen or has consecutive hyphens
@@ -1,6 +1,6 @@
1
1
  # Terminal Setup
2
2
 
3
- Sling uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
3
+ sling uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
4
4
 
5
5
  ## Kitty, iTerm2
6
6
 
@@ -30,7 +30,7 @@ That mapping sends a raw linefeed byte. Inside sling, that is indistinguishable
30
30
 
31
31
  If Claude Code 2.x or newer is the only reason you added that mapping, you can remove it, unless you want to use Claude Code in tmux, where it still requires that Ghostty mapping.
32
32
 
33
- Sling binds `Ctrl+J` as a default newline alias, so `Shift+Enter` keeps working in tmux via that remap without extra sling configuration.
33
+ sling binds `Ctrl+J` as a default newline alias, so `Shift+Enter` keeps working in tmux via that remap without extra sling configuration.
34
34
 
35
35
  ## WezTerm
36
36
 
@@ -1,6 +1,6 @@
1
1
  # Termux (Android) Setup
2
2
 
3
- Sling runs on Android via [Termux](https://termux.dev/), a terminal emulator and Linux environment for Android.
3
+ sling runs on Android via [Termux](https://termux.dev/), a terminal emulator and Linux environment for Android.
4
4
 
5
5
  ## Prerequisites
6
6
 
@@ -16,7 +16,7 @@ Themes are JSON files that define colors for the TUI.
16
16
 
17
17
  ## Locations
18
18
 
19
- Sling loads themes from:
19
+ sling loads themes from:
20
20
 
21
21
  - Built-in: `dark`, `light`
22
22
  - Global: `~/.sling/agent/themes/*.json`
@@ -270,7 +270,7 @@ Four formats are supported:
270
270
 
271
271
  ### Terminal Compatibility
272
272
 
273
- Sling uses 24-bit RGB colors. Most modern terminals support this (iTerm2, Kitty, WezTerm, Windows Terminal, VS Code). For older terminals with only 256-color support, sling falls back to the nearest approximation.
273
+ sling uses 24-bit RGB colors. Most modern terminals support this (iTerm2, Kitty, WezTerm, Windows Terminal, VS Code). For older terminals with only 256-color support, sling falls back to the nearest approximation.
274
274
 
275
275
  Check truecolor support:
276
276
 
@@ -1,6 +1,6 @@
1
1
  # tmux Setup
2
2
 
3
- Sling works inside tmux, but tmux strips modifier information from certain keys by default. Without configuration, `Shift+Enter` and `Ctrl+Enter` are usually indistinguishable from plain `Enter`.
3
+ sling works inside tmux, but tmux strips modifier information from certain keys by default. Without configuration, `Shift+Enter` and `Ctrl+Enter` are usually indistinguishable from plain `Enter`.
4
4
 
5
5
  ## Recommended Configuration
6
6
 
@@ -18,7 +18,7 @@ tmux kill-server
18
18
  tmux
19
19
  ```
20
20
 
21
- Sling requests extended key reporting automatically when Kitty keyboard protocol is not available. With `extended-keys-format csi-u`, tmux forwards modified keys in CSI-u format, which is the most reliable configuration. The `extended-keys-format` option requires tmux 3.5 or later.
21
+ sling requests extended key reporting automatically when Kitty keyboard protocol is not available. With `extended-keys-format csi-u`, tmux forwards modified keys in CSI-u format, which is the most reliable configuration. The `extended-keys-format` option requires tmux 3.5 or later.
22
22
 
23
23
  ## Why `csi-u` Is Recommended
24
24
 
@@ -40,7 +40,7 @@ With `extended-keys-format csi-u`, the same keys are forwarded as:
40
40
  - `Ctrl+D` → `\x1b[100;5u`
41
41
  - `Ctrl+Enter` → `\x1b[13;5u`
42
42
 
43
- Sling supports both formats, but `csi-u` is the recommended tmux setup.
43
+ sling supports both formats, but `csi-u` is the recommended tmux setup.
44
44
 
45
45
  ## What This Fixes
46
46
 
@@ -60,4 +60,4 @@ This affects the default keybindings (`Enter` to submit, `Shift+Enter` for newli
60
60
  - tmux 3.5 or later for `extended-keys-format csi-u` (run `tmux -V` to check)
61
61
  - A terminal emulator that supports extended keys (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)
62
62
 
63
- With tmux 3.2 through 3.4, omit `extended-keys-format csi-u`; Sling still supports tmux's default xterm `modifyOtherKeys` format.
63
+ With tmux 3.2 through 3.4, omit `extended-keys-format csi-u`; sling still supports tmux's default xterm `modifyOtherKeys` format.
@@ -1,4 +1,4 @@
1
- # Using Sling
1
+ # Using sling
2
2
 
3
3
  This page collects day-to-day usage details that do not fit on the quickstart page.
4
4
 
@@ -11,7 +11,7 @@ The interface has four main areas:
11
11
  - **Startup header** - shortcuts, loaded context files, prompt templates, skills, and extensions
12
12
  - **Messages** - user messages, assistant responses, tool calls, tool results, notifications, errors, and extension UI
13
13
  - **Editor** - where you type; border color indicates the current thinking level
14
- - **Footer** - working directory, session name, token/cache usage, cost, context usage, and current model
14
+ - **Footer** - working directory, session name, token/cache usage, cost, context usage, and current model. Totals include assistant responses, usage reported by tools, and summary generation.
15
15
 
16
16
  The editor can be replaced temporarily by built-in UI such as `/settings` or by custom extension UI.
17
17
 
@@ -97,7 +97,7 @@ See [Sessions](sessions.md) and [Compaction](compaction.md) for details.
97
97
 
98
98
  ## Context Files
99
99
 
100
- Sling loads `AGENTS.md` or `CLAUDE.md` at startup from:
100
+ sling loads `AGENTS.md` or `CLAUDE.md` at startup from:
101
101
 
102
102
  - `~/.sling/agent/AGENTS.md` for global instructions
103
103
  - parent directories, walking up from the current working directory
@@ -135,7 +135,7 @@ Use `/export [file]` to write a session to HTML.
135
135
 
136
136
  Use `/share` to upload a private GitHub gist with a shareable HTML link.
137
137
 
138
- If you use pi for open source work and want to publish sessions for model, prompt, tool, and evaluation research, see [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). It publishes sessions to Hugging Face datasets.
138
+ If you use sling for open source work and want to publish sessions for model, prompt, tool, and evaluation research, see [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). It publishes sessions to Hugging Face datasets.
139
139
 
140
140
  ## CLI Reference
141
141
 
@@ -149,7 +149,7 @@ sling [options] [@files...] [messages...]
149
149
  sling install <source> [-l] # Install package, -l for project-local
150
150
  sling remove <source> [-l] # Remove package
151
151
  sling uninstall <source> [-l] # Alias for remove
152
- sling update [source|self|pi] # Update sling only, or one package source
152
+ sling update [source|self|sling] # Update sling only, or one package source
153
153
  sling update --all # Update sling and packages; reconcile pinned git refs
154
154
  sling update --extensions # Update packages only; reconcile pinned git refs
155
155
  sling update --models # Refresh model catalogs only
@@ -161,7 +161,7 @@ sling config # Enable/disable package resources
161
161
 
162
162
  These commands manage sling packages and `sling update` can update the sling CLI installation. To uninstall sling itself, see [Quickstart](quickstart.md#uninstall). `sling config` and project package commands accept `--approve`/`--no-approve` to trust or ignore project-local settings for one command. `sling update` never prompts for project trust.
163
163
 
164
- See [Pi Packages](packages.md) for package sources and security notes.
164
+ See [sling Packages](packages.md) for package sources and security notes.
165
165
 
166
166
  ### Modes
167
167
 
@@ -173,7 +173,7 @@ See [Pi Packages](packages.md) for package sources and security notes.
173
173
  | `--mode rpc` | RPC mode over stdin/stdout; see [RPC mode](rpc.md) |
174
174
  | `--export <in> [out]` | Export a session to HTML |
175
175
 
176
- In print mode, pi also reads piped stdin and merges it into the initial prompt:
176
+ In print mode, sling also reads piped stdin and merges it into the initial prompt:
177
177
 
178
178
  ```bash
179
179
  cat README.md | sling -p "Summarize this text"
@@ -271,16 +271,16 @@ cat README.md | sling -p "Summarize this text"
271
271
  sling --name "release audit" -p "Audit this repository"
272
272
 
273
273
  # Different model
274
- sling --provider slingshot --model gpt-4o "Help me refactor"
274
+ sling --provider slingshot --model gpt-5.5 "Help me refactor"
275
275
 
276
276
  # Model with provider prefix
277
- sling --model slingshot/gpt-4o "Help me refactor"
277
+ sling --model slingshot/gpt-5.5 "Help me refactor"
278
278
 
279
279
  # Model with thinking level shorthand
280
- sling --model sonnet:high "Solve this complex problem"
280
+ sling --model sonnet-4:high "Solve this complex problem"
281
281
 
282
282
  # Limit model cycling
283
- sling --models "claude-*,gpt-4o"
283
+ sling --models "claude-*,gpt-*"
284
284
 
285
285
  # Read-only mode
286
286
  sling --tools read,grep,find,ls -p "Review the code"
@@ -289,22 +289,9 @@ sling --tools read,grep,find,ls -p "Review the code"
289
289
  sling --exclude-tools ask_question
290
290
  ```
291
291
 
292
- ### Environment Variables
293
-
294
- | Variable | Description |
295
- |----------|-------------|
296
- | `PI_CODING_AGENT_DIR` | Override config directory; default is `~/.sling/agent` |
297
- | `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory; overridden by `--session-dir` |
298
- | `PI_PACKAGE_DIR` | Override package directory, useful for Nix/Guix store paths |
299
- | `PI_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |
300
- | `PI_SKIP_VERSION_CHECK` | Skip the Sling version update check at startup. This prevents the `pi.dev` latest-version request |
301
- | `PI_TELEMETRY` | Override install/update telemetry and provider attribution headers: `1`/`true`/`yes` or `0`/`false`/`no`. This does not disable update checks |
302
- | `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache where supported |
303
- | `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |
304
-
305
292
  ## Design Principles
306
293
 
307
- Sling keeps the core small and pushes workflow-specific behavior into extensions, skills, prompt templates, and packages.
294
+ sling keeps the core small and pushes workflow-specific behavior into extensions, skills, prompt templates, and packages.
308
295
 
309
296
  It intentionally does not include built-in MCP, sub-agents, permission popups, plan mode, to-dos, or background bash. You can build or install those workflows as extensions or packages, or use external tools such as containers and tmux.
310
297
 
@@ -1,6 +1,6 @@
1
1
  # Windows Setup
2
2
 
3
- Sling requires a bash shell on Windows. Checked locations (in order):
3
+ sling requires a bash shell on Windows. Checked locations (in order):
4
4
 
5
5
  1. Custom path from `~/.sling/agent/settings.json`
6
6
  2. Git Bash (`C:\Program Files\Git\bin\bash.exe`)