@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,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-process",
3
- "version": "3.972.61",
3
+ "version": "3.972.65",
4
4
  "description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
5
5
  "keywords": [
6
6
  "aws",
@@ -43,9 +43,9 @@
43
43
  "test:watch": "yarn g:vitest watch"
44
44
  },
45
45
  "dependencies": {
46
- "@aws-sdk/core": "^3.977.0",
46
+ "@aws-sdk/core": "^3.977.4",
47
47
  "@aws-sdk/types": "^3.974.2",
48
- "@smithy/core": "^3.29.8",
48
+ "@smithy/core": "^3.31.1",
49
49
  "@smithy/types": "^4.16.1",
50
50
  "tslib": "^2.6.2"
51
51
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.1095.0",
3
+ "version": "3.1100.0",
4
4
  "description": "A collection of token providers",
5
5
  "keywords": [
6
6
  "aws",
@@ -48,10 +48,10 @@
48
48
  "test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
49
49
  },
50
50
  "dependencies": {
51
- "@aws-sdk/core": "^3.977.0",
52
- "@aws-sdk/nested-clients": "^3.997.35",
51
+ "@aws-sdk/core": "^3.977.4",
52
+ "@aws-sdk/nested-clients": "^3.997.39",
53
53
  "@aws-sdk/types": "^3.974.2",
54
- "@smithy/core": "^3.29.8",
54
+ "@smithy/core": "^3.31.1",
55
55
  "@smithy/types": "^4.16.1",
56
56
  "tslib": "^2.6.2"
57
57
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.973.5",
3
+ "version": "3.973.9",
4
4
  "description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
5
5
  "keywords": [
6
6
  "aws",
@@ -45,11 +45,11 @@
45
45
  "test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
46
46
  },
47
47
  "dependencies": {
48
- "@aws-sdk/core": "^3.977.0",
49
- "@aws-sdk/nested-clients": "^3.997.35",
50
- "@aws-sdk/token-providers": "3.1095.0",
48
+ "@aws-sdk/core": "^3.977.4",
49
+ "@aws-sdk/nested-clients": "^3.997.39",
50
+ "@aws-sdk/token-providers": "3.1100.0",
51
51
  "@aws-sdk/types": "^3.974.2",
52
- "@smithy/core": "^3.29.8",
52
+ "@smithy/core": "^3.31.1",
53
53
  "@smithy/types": "^4.16.1",
54
54
  "tslib": "^2.6.2"
55
55
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-web-identity",
3
- "version": "3.972.67",
3
+ "version": "3.972.71",
4
4
  "description": "AWS credential provider that calls STS assumeRole for temporary AWS credentials",
5
5
  "keywords": [
6
6
  "aws",
@@ -50,10 +50,10 @@
50
50
  "test:watch": "yarn g:vitest watch"
51
51
  },
52
52
  "dependencies": {
53
- "@aws-sdk/core": "^3.977.0",
54
- "@aws-sdk/nested-clients": "^3.997.35",
53
+ "@aws-sdk/core": "^3.977.4",
54
+ "@aws-sdk/nested-clients": "^3.997.39",
55
55
  "@aws-sdk/types": "^3.974.2",
56
- "@smithy/core": "^3.29.8",
56
+ "@smithy/core": "^3.31.1",
57
57
  "@smithy/types": "^4.16.1",
58
58
  "tslib": "^2.6.2"
59
59
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/eventstream-handler-node",
3
- "version": "3.972.30",
3
+ "version": "3.972.31",
4
4
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/eventstream-handler-node",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@aws-sdk/types": "^3.974.2",
42
- "@smithy/core": "^3.29.8",
42
+ "@smithy/core": "^3.31.1",
43
43
  "@smithy/types": "^4.16.1",
44
44
  "tslib": "^2.6.2"
45
45
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-eventstream",
3
- "version": "3.972.25",
3
+ "version": "3.972.26",
4
4
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/middleware-eventstream",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@aws-sdk/types": "^3.974.2",
43
- "@smithy/core": "^3.29.8",
43
+ "@smithy/core": "^3.31.1",
44
44
  "@smithy/types": "^4.16.1",
45
45
  "tslib": "^2.6.2"
46
46
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-websocket",
3
- "version": "3.972.43",
3
+ "version": "3.972.47",
4
4
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/middleware-websocket",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -40,11 +40,11 @@
40
40
  "test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
41
41
  },
42
42
  "dependencies": {
43
- "@aws-sdk/core": "^3.977.0",
43
+ "@aws-sdk/core": "^3.977.4",
44
44
  "@aws-sdk/types": "^3.974.2",
45
- "@smithy/core": "^3.29.8",
46
- "@smithy/fetch-http-handler": "^5.6.10",
47
- "@smithy/signature-v4": "^5.6.9",
45
+ "@smithy/core": "^3.31.1",
46
+ "@smithy/fetch-http-handler": "^5.6.13",
47
+ "@smithy/signature-v4": "^5.6.12",
48
48
  "@smithy/types": "^4.16.1",
49
49
  "tslib": "^2.6.2"
50
50
  },
@@ -83,7 +83,7 @@ const commonParams = {
83
83
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
84
84
  };
85
85
 
86
- var version = "3.997.34";
86
+ var version = "3.997.38";
87
87
  var packageInfo = {
88
88
  version: version};
89
89
 
@@ -78,7 +78,7 @@ const commonParams = {
78
78
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
79
79
  };
80
80
 
81
- var version = "3.997.34";
81
+ var version = "3.997.38";
82
82
  var packageInfo = {
83
83
  version: version};
84
84
 
@@ -78,7 +78,7 @@ const commonParams = {
78
78
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
79
79
  };
80
80
 
81
- var version = "3.997.34";
81
+ var version = "3.997.38";
82
82
  var packageInfo = {
83
83
  version: version};
84
84
 
@@ -78,7 +78,7 @@ const commonParams = {
78
78
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
79
79
  };
80
80
 
81
- var version = "3.997.34";
81
+ var version = "3.997.38";
82
82
  var packageInfo = {
83
83
  version: version};
84
84
 
@@ -258,7 +258,7 @@ const commonParams = {
258
258
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
259
259
  };
260
260
 
261
- var version = "3.997.34";
261
+ var version = "3.997.38";
262
262
  var packageInfo = {
263
263
  version: version};
264
264
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/node-http-handler",
3
- "version": "4.9.11",
3
+ "version": "4.9.13",
4
4
  "description": "Provides a way to make requests",
5
5
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/node-http-handler",
6
6
  "license": "Apache-2.0",
@@ -43,7 +43,7 @@
43
43
  "test:watch": "yarn g:vitest watch"
44
44
  },
45
45
  "dependencies": {
46
- "@smithy/core": "^3.30.0",
46
+ "@smithy/core": "^3.31.1",
47
47
  "@smithy/types": "^4.16.1",
48
48
  "tslib": "^2.6.2"
49
49
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.997.35",
3
+ "version": "3.997.39",
4
4
  "description": "Nested clients for AWS SDK packages.",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
6
6
  "license": "Apache-2.0",
@@ -100,12 +100,12 @@
100
100
  "test:watch": "yarn g:vitest watch"
101
101
  },
102
102
  "dependencies": {
103
- "@aws-sdk/core": "^3.977.0",
104
- "@aws-sdk/signature-v4-multi-region": "^3.996.42",
103
+ "@aws-sdk/core": "^3.977.4",
104
+ "@aws-sdk/signature-v4-multi-region": "^3.996.43",
105
105
  "@aws-sdk/types": "^3.974.2",
106
- "@smithy/core": "^3.29.8",
107
- "@smithy/fetch-http-handler": "^5.6.10",
108
- "@smithy/node-http-handler": "^4.9.10",
106
+ "@smithy/core": "^3.31.1",
107
+ "@smithy/fetch-http-handler": "^5.6.13",
108
+ "@smithy/node-http-handler": "^4.9.13",
109
109
  "@smithy/types": "^4.16.1",
110
110
  "tslib": "^2.6.2"
111
111
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/signature-v4-multi-region",
3
- "version": "3.996.42",
3
+ "version": "3.996.43",
4
4
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/signature-v4-multi-region",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@aws-sdk/types": "^3.974.2",
46
- "@smithy/signature-v4": "^5.6.9",
46
+ "@smithy/signature-v4": "^5.6.12",
47
47
  "@smithy/types": "^4.16.1",
48
48
  "tslib": "^2.6.2"
49
49
  },
@@ -13,14 +13,14 @@ For TypeScript definitions in your project, inspect `node_modules/@earendil-work
13
13
 
14
14
  ## Overview
15
15
 
16
- Pi has two summarization mechanisms:
16
+ Sling has two summarization mechanisms:
17
17
 
18
18
  | Mechanism | Trigger | Purpose |
19
19
  |-----------|---------|---------|
20
20
  | Compaction | Context exceeds threshold, or `/compact` | Summarize old messages to free up context |
21
21
  | Branch summarization | `/tree` navigation | Preserve context when switching branches |
22
22
 
23
- Both use the same structured summary format and track file operations cumulatively.
23
+ Both use the same structured summary format and track file operations cumulatively. Compaction and branch-summary requests use fresh routing session IDs and, where supported by the provider, disable prompt-cache writes because these one-off prompts are unlikely to be reused.
24
24
 
25
25
  ## Compaction
26
26
 
@@ -76,7 +76,7 @@ What the LLM sees:
76
76
  prompt from cmp messages from firstKeptEntryId
77
77
  ```
78
78
 
79
- On repeated compactions, the summarized span starts at the previous compaction's kept boundary (`firstKeptEntryId`), not at the compaction entry itself, falling back to the entry after the previous compaction if that kept entry cannot be found in the path. This preserves messages that survived the earlier compaction by including them in the next summarization pass as well. Pi also recalculates `tokensBefore` from the rebuilt session context before writing the new `CompactionEntry`, so the token count reflects the actual pre-compaction context being replaced.
79
+ On repeated compactions, the summarized span starts at the previous compaction's kept boundary (`firstKeptEntryId`), not at the compaction entry itself, falling back to the entry after the previous compaction if that kept entry cannot be found in the path. This preserves messages that survived the earlier compaction by including them in the next summarization pass as well. Sling also recalculates `tokensBefore` from the rebuilt session context before writing the new `CompactionEntry`, so the token count reflects the actual pre-compaction context being replaced.
80
80
 
81
81
  ### Split Turns
82
82
 
@@ -102,7 +102,7 @@ Split turn (one huge turn exceeds budget):
102
102
  turnPrefixMessages = [usr, ass, tool, ass, tool, tool]
103
103
  ```
104
104
 
105
- For split turns, pi generates two summaries and merges them:
105
+ For split turns, sling generates two summaries and merges them:
106
106
  1. **History summary**: Previous context (if any)
107
107
  2. **Turn prefix summary**: The early part of the split turn
108
108
 
@@ -129,6 +129,7 @@ interface CompactionEntry<T = unknown> {
129
129
  summary: string;
130
130
  firstKeptEntryId: string;
131
131
  tokensBefore: number;
132
+ usage?: Usage; // LLM usage that generated the summary
132
133
  fromHook?: boolean; // true if provided by extension (legacy field name)
133
134
  details?: T; // implementation-specific data
134
135
  }
@@ -140,15 +141,15 @@ interface CompactionDetails {
140
141
  }
141
142
  ```
142
143
 
143
- Extensions can store any JSON-serializable data in `details`. The default compaction tracks file operations, but custom extension implementations can use their own structure.
144
+ Extensions can store any JSON-serializable data in `details`. The default compaction tracks file operations, but custom extension implementations can use their own structure. Generated and extension-provided summaries store their LLM `usage` when available so session totals include summarization work.
144
145
 
145
- See [`prepareCompaction()`](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/compaction/compaction.ts) and [`compact()`](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/compaction/compaction.ts) for the implementation.
146
+ See [`prepareCompaction()`](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/compaction/compaction.ts) and [`compact()`](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/compaction/compaction.ts) for the implementation. For direct programmatic summarization, `generateSummary()` returns the summary text and `generateSummaryWithUsage()` returns `{ text, usage }`.
146
147
 
147
148
  ## Branch Summarization
148
149
 
149
150
  ### When It Triggers
150
151
 
151
- When you use `/tree` to navigate to a different branch, pi offers to summarize the work you're leaving. This injects context from the left branch into the new branch.
152
+ When you use `/tree` to navigate to a different branch, sling offers to summarize the work you're leaving. This injects context from the left branch into the new branch.
152
153
 
153
154
  ### How It Works
154
155
 
@@ -177,7 +178,7 @@ After navigation with summary:
177
178
 
178
179
  ### Cumulative File Tracking
179
180
 
180
- Both compaction and branch summarization track files cumulatively. When generating a summary, pi extracts file operations from:
181
+ Both compaction and branch summarization track files cumulatively. When generating a summary, sling extracts file operations from:
181
182
  - Tool calls in the messages being summarized
182
183
  - Previous compaction or branch summary `details` (if any)
183
184
 
@@ -195,6 +196,7 @@ interface BranchSummaryEntry<T = unknown> {
195
196
  timestamp: number;
196
197
  summary: string;
197
198
  fromId: string; // Entry we navigated from
199
+ usage?: Usage; // LLM usage that generated the summary
198
200
  fromHook?: boolean; // true if provided by extension (legacy field name)
199
201
  details?: T; // implementation-specific data
200
202
  }
@@ -300,6 +302,7 @@ pi.on("session_before_compact", async (event, ctx) => {
300
302
  summary: "Your summary...",
301
303
  firstKeptEntryId: preparation.firstKeptEntryId,
302
304
  tokensBefore: preparation.tokensBefore,
305
+ // usage: summaryResponse.usage, // Optional; included in session totals
303
306
  details: { /* custom data */ },
304
307
  }
305
308
  };
@@ -328,13 +331,14 @@ pi.on("session_before_compact", async (event, ctx) => {
328
331
  // [Tool result]: output text
329
332
 
330
333
  // Now send to your model for summarization
331
- const summary = await myModel.summarize(conversationText);
334
+ const { summary, usage } = await myModel.summarize(conversationText);
332
335
 
333
336
  return {
334
337
  compaction: {
335
338
  summary,
336
339
  firstKeptEntryId: preparation.firstKeptEntryId,
337
340
  tokensBefore: preparation.tokensBefore,
341
+ usage,
338
342
  }
339
343
  };
340
344
  });
@@ -364,6 +368,7 @@ pi.on("session_before_tree", async (event, ctx) => {
364
368
  return {
365
369
  summary: {
366
370
  summary: "Your summary...",
371
+ // usage: summaryResponse.usage, // Optional; included in session totals
367
372
  details: { /* custom data */ },
368
373
  }
369
374
  };
@@ -3,23 +3,23 @@
3
3
  Pi runs with all permissions by default, but in some cases, you will want to have more control over what directories Pi can write to and which accesses it has.
4
4
 
5
5
  There are two general options. You can either
6
- 1. run the whole `pi` process inside an isolated environment, or
7
- 2. run `pi` on the host and route tool execution into an isolated environment.
6
+ 1. run the whole `sling` process inside an isolated environment, or
7
+ 2. run `sling` on the host and route tool execution into an isolated environment.
8
8
 
9
9
  ## Choose a pattern
10
10
 
11
11
  | Pattern | What is isolated | Best for | Notes |
12
12
  | --- | --- | --- | --- |
13
13
  | Gondolin extension | Built-in tools and `!` commands | Local micro-VM isolation while keeping auth on host | See [`examples/extensions/gondolin/`](../examples/extensions/gondolin/). |
14
- | Plain Docker | Whole `pi` process in a local container | Simple local isolation | Provider API keys enter the container. |
15
- | OpenShell | Whole `pi` process in a policy-controlled sandbox | Local or remote managed sandbox | Requires an OpenShell gateway |
14
+ | Plain Docker | Whole `sling` process in a local container | Simple local isolation | Provider API keys enter the container. |
15
+ | OpenShell | Whole `sling` process in a policy-controlled sandbox | Local or remote managed sandbox | Requires an OpenShell gateway |
16
16
 
17
- Extensions run wherever the `pi` process runs. If you run host `pi` with a tool-routing extension, other custom extension tools still run on the host unless they also delegate their operations.
17
+ Extensions run wherever the `sling` process runs. If you run host `sling` with a tool-routing extension, other custom extension tools still run on the host unless they also delegate their operations.
18
18
 
19
19
  ## Gondolin
20
20
 
21
21
  [Gondolin](https://github.com/earendil-works/gondolin) is a local Linux micro-VM.
22
- Use the [example extension](../examples/extensions/gondolin) when you want `pi` on the host but all built-in tools routed into the VM.
22
+ Use the [example extension](../examples/extensions/gondolin) when you want `sling` on the host but all built-in tools routed into the VM.
23
23
 
24
24
  Setup:
25
25
 
@@ -33,7 +33,7 @@ Run from the project you want mounted:
33
33
 
34
34
  ```bash
35
35
  cd /path/to/project
36
- pi -e ~/.sling/agent/extensions/gondolin
36
+ sling -e ~/.sling/agent/extensions/gondolin
37
37
  ```
38
38
 
39
39
  The extension mounts the host cwd at `/workspace` in the VM and overrides `read`, `write`, `edit`, `bash`, `grep`, `find`, and `ls`.
@@ -54,7 +54,7 @@ FROM node:24-bookworm-slim
54
54
  RUN apt-get update \
55
55
  && apt-get install -y --no-install-recommends bash ca-certificates git ripgrep \
56
56
  && rm -rf /var/lib/apt/lists/*
57
- RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent
57
+ RUN npm install -g --ignore-scripts @psnext/slingcli
58
58
 
59
59
  WORKDIR /workspace
60
60
  ENTRYPOINT ["sling"]
@@ -63,13 +63,13 @@ ENTRYPOINT ["sling"]
63
63
  Build and run:
64
64
 
65
65
  ```bash
66
- docker build -t pi-sandbox -f Dockerfile.sling .
66
+ docker build -t sling-sandbox -f Dockerfile.sling .
67
67
 
68
68
  docker run --rm -it \
69
69
  -e ANTHROPIC_API_KEY \
70
70
  -v "$PWD:/workspace" \
71
- -v pi-agent-home:/root/.sling/agent \
72
- pi-sandbox
71
+ -v sling-agent-home:/root/.sling/agent \
72
+ sling-sandbox
73
73
  ```
74
74
 
75
75
  The `-v "$PWD:/workspace"` mounts your current directory into the container at /workspace such that reads and writes in `/workspace` inside Docker directly affect your host files, like in the Gondolin example.
@@ -89,21 +89,21 @@ openshell gateway add <gateway-url> --name <name>
89
89
  openshell gateway select <name>
90
90
  ```
91
91
 
92
- Launch `pi` inside an OpenShell sandbox:
92
+ Launch `sling` inside an OpenShell sandbox:
93
93
 
94
94
  ```bash
95
- openshell sandbox create --name pi-sandbox --from pi -- pi
95
+ openshell sandbox create --name sling-sandbox --from sling -- sling
96
96
  ```
97
97
 
98
- In this pattern, the whole `pi` process runs inside the sandbox.
98
+ In this pattern, the whole `sling` process runs inside the sandbox.
99
99
  Built-in tools, `!` commands, and extension tools execute inside the OpenShell boundary.
100
100
 
101
101
  If the gateway is remote, project files are not bind-mounted from the host, meaning writes in the sandbox are not reflected on your machine.
102
102
  Clone the repository inside the sandbox or use OpenShell file transfer commands:
103
103
 
104
104
  ```bash
105
- openshell sandbox upload pi-sandbox ./repo /workspace
106
- openshell sandbox download pi-sandbox /workspace/repo ./repo-out
105
+ openshell sandbox upload sling-sandbox ./repo /workspace
106
+ openshell sandbox download sling-sandbox /workspace/repo ./repo-out
107
107
  ```
108
108
 
109
109
  OpenShell providers can keep raw model API keys outside the sandbox.
@@ -88,7 +88,7 @@ export default function (pi: ExtensionAPI) {
88
88
  }
89
89
  ```
90
90
 
91
- The extension factory can also be `async`. For dynamic model discovery, fetch and register models in the factory instead of `session_start`. pi waits for the factory before startup continues, so the provider is available during interactive startup and to `pi --list-models`.
91
+ The extension factory can also be `async`. For dynamic model discovery, fetch and register models in the factory instead of `session_start`. sling waits for the factory before startup continues, so the provider is available during interactive startup and to `sling --list-models`.
92
92
 
93
93
  ## Override Existing Provider
94
94
 
@@ -259,7 +259,7 @@ models: [{
259
259
  ```
260
260
 
261
261
  Use `openrouter` for OpenRouter-style `reasoning: { effort }` controls. Use `together` for Together-style `reasoning: { enabled }` controls; with `supportsReasoningEffort`, it also sends `reasoning_effort`. Use `qwen-chat-template` for local Qwen-compatible servers that read `chat_template_kwargs.enable_thinking` and need `preserve_thinking`.
262
- Use `cacheControlFormat: "anthropic"` for OpenAI-compatible providers that expose Anthropic-style prompt caching via `cache_control` on the system prompt, last tool definition, and last user/assistant text content.
262
+ Use `cacheControlFormat: "anthropic"` for OpenAI-compatible providers that expose Anthropic-style prompt caching via `cache_control` on the system prompt, last tool definition, and last user, assistant, or tool-result text content.
263
263
 
264
264
  For Anthropic-compatible providers using `api: "anthropic-messages"`, set `compat.forceAdaptiveThinking: true` on models or providers whose upstream model requires adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`). Built-in adaptive Claude models set this automatically. Set `compat.allowEmptySignature: true` only for providers that emit empty thinking signatures and expect `signature: ""` on replay.
265
265
 
@@ -560,14 +560,14 @@ calculateCost(model, output.usage);
560
560
 
561
561
  ### Context Overflow Errors
562
562
 
563
- When a request exceeds the model's context window, pi can recover automatically by compacting the conversation and retrying. This recovery only kicks in if pi recognizes the failure as an overflow.
563
+ When a request exceeds the model's context window, sling can recover automatically by compacting the conversation and retrying. This recovery only kicks in if sling recognizes the failure as an overflow.
564
564
 
565
565
  Detection runs on the finalized assistant message:
566
566
 
567
567
  - `stopReason === "error"`
568
- - `errorMessage` matches one of pi's known overflow patterns (see [`packages/ai/src/utils/overflow.ts`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/utils/overflow.ts))
568
+ - `errorMessage` matches one of sling's known overflow patterns (see [`packages/ai/src/utils/overflow.ts`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/utils/overflow.ts))
569
569
 
570
- If your provider returns overflow errors with a message pi does not recognize, normalize the error from the same extension that registers the provider. Use a `message_end` handler to rewrite the assistant message so its `errorMessage` starts with a phrase pi recognizes. The generic fallback `context_length_exceeded` is the safest choice.
570
+ If your provider returns overflow errors with a message sling does not recognize, normalize the error from the same extension that registers the provider. Use a `message_end` handler to rewrite the assistant message so its `errorMessage` starts with a phrase sling recognizes. The generic fallback `context_length_exceeded` is the safest choice.
571
571
 
572
572
  ```typescript
573
573
  const MY_PROVIDER_OVERFLOW_PATTERN = /your provider's overflow phrase/i;
@@ -599,7 +599,7 @@ export default function (pi: ExtensionAPI) {
599
599
  }
600
600
  ```
601
601
 
602
- `message_end` runs before pi tracks the assistant message for auto-compaction, so the rewritten `errorMessage` is what pi checks. With this in place, pi will:
602
+ `message_end` runs before sling tracks the assistant message for auto-compaction, so the rewritten `errorMessage` is what sling checks. With this in place, sling will:
603
603
 
604
604
  1. Detect the overflow from `errorMessage`.
605
605
  2. Drop the failed assistant message from live context.
@@ -609,7 +609,7 @@ export default function (pi: ExtensionAPI) {
609
609
  Guard the rewrite carefully:
610
610
 
611
611
  - Scope it to your provider (`message.provider` and `ctx.model?.provider`) so unrelated errors from other providers are untouched.
612
- - Match a provider-specific pattern, not pi's generic overflow patterns. Rewriting rate-limit or throttling errors (`rate limit`, `too many requests`) would falsely trigger compaction instead of pi's normal retry-with-backoff path.
612
+ - Match a provider-specific pattern, not sling's generic overflow patterns. Rewriting rate-limit or throttling errors (`rate limit`, `too many requests`) would falsely trigger compaction instead of sling's normal retry-with-backoff path.
613
613
  - Skip when `errorMessage` already includes `context_length_exceeded` so the handler is idempotent.
614
614
 
615
615
  ### Registration
@@ -617,7 +617,7 @@ Guard the rewrite carefully:
617
617
  Register your stream function:
618
618
 
619
619
  ```typescript
620
- pi.registerProvider("my-provider", {
620
+ sling.registerProvider("my-provider", {
621
621
  baseUrl: "https://api.example.com",
622
622
  apiKey: "$MY_API_KEY",
623
623
  api: "my-custom-api",
@@ -737,6 +737,8 @@ interface ProviderModelConfig {
737
737
  supportsDeveloperRole?: boolean;
738
738
  supportsReasoningEffort?: boolean;
739
739
  supportsUsageInStreaming?: boolean;
740
+ supportsStrictMode?: boolean;
741
+ supportsOpenAIGrammarTools?: boolean; // openai-completions/openai-responses; false falls back to normal function tools
740
742
  maxTokensField?: "max_completion_tokens" | "max_tokens";
741
743
  requiresToolResultName?: boolean;
742
744
  requiresAssistantAfterToolResult?: boolean;
@@ -755,9 +757,10 @@ interface ProviderModelConfig {
755
757
  supportsCacheControlOnTools?: boolean;
756
758
  forceAdaptiveThinking?: boolean;
757
759
  allowEmptySignature?: boolean;
760
+ supportsStrictTools?: boolean;
758
761
  };
759
762
  }
760
763
  ```
761
764
 
762
765
  `openrouter` sends `reasoning: { effort }`. `deepseek` sends `thinking: { type: "enabled" | "disabled" }` and `reasoning_effort` when enabled. `together` sends `reasoning: { enabled }` and also `reasoning_effort` when `supportsReasoningEffort` is enabled. `qwen` is for DashScope-style top-level `enable_thinking`. Use `qwen-chat-template` for local Qwen-compatible servers that read `chat_template_kwargs.enable_thinking` and need `preserve_thinking`. Use `chat-template` for configurable `chat_template_kwargs`, for example DeepSeek V3.x behind vLLM with `chatTemplateKwargs: { "thinking": { "$var": "thinking.enabled" } }`.
763
- `cacheControlFormat: "anthropic"` applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user/assistant text content.
766
+ `cacheControlFormat: "anthropic"` applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user, assistant, or tool-result text content.
@@ -12,7 +12,7 @@
12
12
  "path": "quickstart.md"
13
13
  },
14
14
  {
15
- "title": "Using sling",
15
+ "title": "Using Sling",
16
16
  "path": "usage.md"
17
17
  },
18
18
  {
@@ -68,10 +68,6 @@
68
68
  "title": "Pi Packages",
69
69
  "path": "packages.md"
70
70
  },
71
- {
72
- "title": "MCP Servers",
73
- "path": "mcp.md"
74
- },
75
71
  {
76
72
  "title": "Custom Models",
77
73
  "path": "models.md"