@posthog/agent 1.24.2 → 1.25.0
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.
- package/dist/_virtual/_commonjsHelpers.js +6 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/additionalItems.js +4 -0
- package/dist/_virtual/additionalItems.js.map +1 -0
- package/dist/_virtual/additionalProperties.js +4 -0
- package/dist/_virtual/additionalProperties.js.map +1 -0
- package/dist/_virtual/ajv.js +4 -0
- package/dist/_virtual/ajv.js.map +1 -0
- package/dist/_virtual/allOf.js +4 -0
- package/dist/_virtual/allOf.js.map +1 -0
- package/dist/_virtual/anyOf.js +4 -0
- package/dist/_virtual/anyOf.js.map +1 -0
- package/dist/_virtual/applicability.js +4 -0
- package/dist/_virtual/applicability.js.map +1 -0
- package/dist/_virtual/boolSchema.js +4 -0
- package/dist/_virtual/boolSchema.js.map +1 -0
- package/dist/_virtual/code.js +4 -0
- package/dist/_virtual/code.js.map +1 -0
- package/dist/_virtual/code2.js +4 -0
- package/dist/_virtual/code2.js.map +1 -0
- package/dist/_virtual/const.js +4 -0
- package/dist/_virtual/const.js.map +1 -0
- package/dist/_virtual/contains.js +4 -0
- package/dist/_virtual/contains.js.map +1 -0
- package/dist/_virtual/core.js +4 -0
- package/dist/_virtual/core.js.map +1 -0
- package/dist/_virtual/dataType.js +4 -0
- package/dist/_virtual/dataType.js.map +1 -0
- package/dist/_virtual/defaults.js +4 -0
- package/dist/_virtual/defaults.js.map +1 -0
- package/dist/_virtual/dependencies.js +4 -0
- package/dist/_virtual/dependencies.js.map +1 -0
- package/dist/_virtual/draft7.js +4 -0
- package/dist/_virtual/draft7.js.map +1 -0
- package/dist/_virtual/enum.js +4 -0
- package/dist/_virtual/enum.js.map +1 -0
- package/dist/_virtual/equal.js +4 -0
- package/dist/_virtual/equal.js.map +1 -0
- package/dist/_virtual/errors.js +4 -0
- package/dist/_virtual/errors.js.map +1 -0
- package/dist/_virtual/format.js +4 -0
- package/dist/_virtual/format.js.map +1 -0
- package/dist/_virtual/formats.js +4 -0
- package/dist/_virtual/formats.js.map +1 -0
- package/dist/_virtual/id.js +4 -0
- package/dist/_virtual/id.js.map +1 -0
- package/dist/_virtual/if.js +4 -0
- package/dist/_virtual/if.js.map +1 -0
- package/dist/_virtual/index.js +4 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index10.js +4 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +4 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index2.js +4 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.js +4 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/index4.js +4 -0
- package/dist/_virtual/index4.js.map +1 -0
- package/dist/_virtual/index5.js +4 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +4 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +4 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +4 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +4 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/items.js +4 -0
- package/dist/_virtual/items.js.map +1 -0
- package/dist/_virtual/items2020.js +4 -0
- package/dist/_virtual/items2020.js.map +1 -0
- package/dist/_virtual/keyword.js +4 -0
- package/dist/_virtual/keyword.js.map +1 -0
- package/dist/_virtual/limit.js +4 -0
- package/dist/_virtual/limit.js.map +1 -0
- package/dist/_virtual/limitItems.js +4 -0
- package/dist/_virtual/limitItems.js.map +1 -0
- package/dist/_virtual/limitLength.js +4 -0
- package/dist/_virtual/limitLength.js.map +1 -0
- package/dist/_virtual/limitNumber.js +4 -0
- package/dist/_virtual/limitNumber.js.map +1 -0
- package/dist/_virtual/limitProperties.js +4 -0
- package/dist/_virtual/limitProperties.js.map +1 -0
- package/dist/_virtual/metadata.js +4 -0
- package/dist/_virtual/metadata.js.map +1 -0
- package/dist/_virtual/multipleOf.js +4 -0
- package/dist/_virtual/multipleOf.js.map +1 -0
- package/dist/_virtual/names.js +4 -0
- package/dist/_virtual/names.js.map +1 -0
- package/dist/_virtual/not.js +4 -0
- package/dist/_virtual/not.js.map +1 -0
- package/dist/_virtual/oneOf.js +4 -0
- package/dist/_virtual/oneOf.js.map +1 -0
- package/dist/_virtual/pattern.js +4 -0
- package/dist/_virtual/pattern.js.map +1 -0
- package/dist/_virtual/patternProperties.js +4 -0
- package/dist/_virtual/patternProperties.js.map +1 -0
- package/dist/_virtual/prefixItems.js +4 -0
- package/dist/_virtual/prefixItems.js.map +1 -0
- package/dist/_virtual/properties.js +4 -0
- package/dist/_virtual/properties.js.map +1 -0
- package/dist/_virtual/propertyNames.js +4 -0
- package/dist/_virtual/propertyNames.js.map +1 -0
- package/dist/_virtual/ref.js +4 -0
- package/dist/_virtual/ref.js.map +1 -0
- package/dist/_virtual/ref_error.js +4 -0
- package/dist/_virtual/ref_error.js.map +1 -0
- package/dist/_virtual/required.js +4 -0
- package/dist/_virtual/required.js.map +1 -0
- package/dist/_virtual/resolve.js +4 -0
- package/dist/_virtual/resolve.js.map +1 -0
- package/dist/_virtual/rules.js +4 -0
- package/dist/_virtual/rules.js.map +1 -0
- package/dist/_virtual/scope.js +4 -0
- package/dist/_virtual/scope.js.map +1 -0
- package/dist/_virtual/subschema.js +4 -0
- package/dist/_virtual/subschema.js.map +1 -0
- package/dist/_virtual/thenElse.js +4 -0
- package/dist/_virtual/thenElse.js.map +1 -0
- package/dist/_virtual/types.js +4 -0
- package/dist/_virtual/types.js.map +1 -0
- package/dist/_virtual/ucs2length.js +4 -0
- package/dist/_virtual/ucs2length.js.map +1 -0
- package/dist/_virtual/uniqueItems.js +4 -0
- package/dist/_virtual/uniqueItems.js.map +1 -0
- package/dist/_virtual/uri.js +4 -0
- package/dist/_virtual/uri.js.map +1 -0
- package/dist/_virtual/util.js +4 -0
- package/dist/_virtual/util.js.map +1 -0
- package/dist/_virtual/validation_error.js +4 -0
- package/dist/_virtual/validation_error.js.map +1 -0
- package/dist/claude-cli/cli.js +2294 -2146
- package/dist/example-client.d.ts +3 -0
- package/dist/example-client.d.ts.map +1 -0
- package/dist/index.d.ts +19 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js +610 -0
- package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -0
- package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js +875 -0
- package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js.map +1 -0
- package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js +66 -0
- package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +23 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +331 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +717 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +221 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +56 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +440 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +94 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1610 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +91 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js +133 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js +9 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js +9 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js +112 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js +136 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js +112 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js +3297 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js +44 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js +36 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js +10 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js +657 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js +449 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js +413 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js +57 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js +38 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js +86 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js +61 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js +80 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js +52 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js +1307 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js +842 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js +335 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js +8 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js +51 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js.map +1 -0
- package/dist/node_modules/ajv/dist/ajv.js +69 -0
- package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/code.js +169 -0
- package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/index.js +712 -0
- package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js +157 -0
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/errors.js +140 -0
- package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/index.js +253 -0
- package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/names.js +40 -0
- package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/ref_error.js +25 -0
- package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/resolve.js +162 -0
- package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/rules.js +29 -0
- package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/util.js +183 -0
- package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js +30 -0
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +64 -0
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js +213 -0
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js +49 -0
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/index.js +544 -0
- package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js +139 -0
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js +95 -0
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/dist/node_modules/ajv/dist/core.js +639 -0
- package/dist/node_modules/ajv/dist/core.js.map +1 -0
- package/dist/node_modules/ajv/dist/refs/data.json.js +31 -0
- package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +254 -0
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/equal.js +9 -0
- package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js +25 -0
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/uri.js +8 -0
- package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/validation_error.js +22 -0
- package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +53 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +112 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +26 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +14 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +99 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +93 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +70 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +77 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +57 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +37 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +29 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +80 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +15 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +61 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +42 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +16 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/code.js +146 -0
- package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js +11 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js +21 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +131 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +113 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +12 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js +28 -0
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js +94 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js +9 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js +21 -0
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +31 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +54 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +54 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +26 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +33 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +29 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +26 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +28 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +27 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +84 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +72 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/formats.js +212 -0
- package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/index.js +52 -0
- package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/limit.js +75 -0
- package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
- package/dist/node_modules/diff/libesm/diff/base.js +256 -0
- package/dist/node_modules/diff/libesm/diff/base.js.map +1 -0
- package/dist/node_modules/diff/libesm/diff/line.js +64 -0
- package/dist/node_modules/diff/libesm/diff/line.js.map +1 -0
- package/dist/node_modules/diff/libesm/patch/create.js +185 -0
- package/dist/node_modules/diff/libesm/patch/create.js.map +1 -0
- package/dist/node_modules/fast-deep-equal/index.js +47 -0
- package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
- package/dist/node_modules/fast-uri/index.js +347 -0
- package/dist/node_modules/fast-uri/index.js.map +1 -0
- package/dist/node_modules/fast-uri/lib/schemes.js +255 -0
- package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
- package/dist/node_modules/fast-uri/lib/utils.js +334 -0
- package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
- package/dist/node_modules/json-schema-traverse/index.js +98 -0
- package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
- package/dist/node_modules/uuid/dist/rng.js +14 -0
- package/dist/node_modules/uuid/dist/rng.js.map +1 -0
- package/dist/node_modules/uuid/dist/stringify.js +29 -0
- package/dist/node_modules/uuid/dist/stringify.js.map +1 -0
- package/dist/node_modules/uuid/dist/v7.js +65 -0
- package/dist/node_modules/uuid/dist/v7.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +37 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +26 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +17 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +11 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +66 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +21 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +30 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +53 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +8 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +8 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +8 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +50 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +11 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +11 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +9 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +56 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +24 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +30 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +19 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +15 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +13 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +37 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +56 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +76 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +25 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +24 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +8 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +8 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +65 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +24 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +350 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +36 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +10 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +84 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +8 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +109 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +90 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js +42 -0
- package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js.map +1 -0
- package/dist/package.json.js +8 -0
- package/dist/package.json.js.map +1 -0
- package/dist/src/acp-extensions.d.ts +91 -0
- package/dist/src/acp-extensions.d.ts.map +1 -0
- package/dist/src/acp-extensions.js +38 -0
- package/dist/src/acp-extensions.js.map +1 -0
- package/dist/src/adapters/claude/claude.d.ts +136 -0
- package/dist/src/adapters/claude/claude.d.ts.map +1 -0
- package/dist/src/adapters/claude/claude.js +1112 -0
- package/dist/src/adapters/claude/claude.js.map +1 -0
- package/dist/src/adapters/claude/mcp-server.d.ts +30 -0
- package/dist/src/adapters/claude/mcp-server.d.ts.map +1 -0
- package/dist/src/adapters/claude/mcp-server.js +655 -0
- package/dist/src/adapters/claude/mcp-server.js.map +1 -0
- package/dist/src/adapters/claude/tools.d.ts +35 -0
- package/dist/src/adapters/claude/tools.d.ts.map +1 -0
- package/dist/src/adapters/claude/tools.js +466 -0
- package/dist/src/adapters/claude/tools.js.map +1 -0
- package/dist/src/adapters/claude/utils.d.ts +48 -0
- package/dist/src/adapters/claude/utils.d.ts.map +1 -0
- package/dist/src/adapters/claude/utils.js +158 -0
- package/dist/src/adapters/claude/utils.js.map +1 -0
- package/dist/src/agent.d.ts +18 -28
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +195 -175
- package/dist/src/agent.js.map +1 -1
- package/dist/src/agents/execution.js.map +1 -1
- package/dist/src/agents/planning.js.map +1 -1
- package/dist/src/agents/research.js.map +1 -1
- package/dist/src/file-manager.d.ts +6 -6
- package/dist/src/file-manager.d.ts.map +1 -1
- package/dist/src/file-manager.js +72 -63
- package/dist/src/file-manager.js.map +1 -1
- package/dist/src/git-manager.d.ts +2 -1
- package/dist/src/git-manager.d.ts.map +1 -1
- package/dist/src/git-manager.js +105 -70
- package/dist/src/git-manager.js.map +1 -1
- package/dist/src/posthog-api.d.ts +8 -14
- package/dist/src/posthog-api.d.ts.map +1 -1
- package/dist/src/posthog-api.js +35 -23
- package/dist/src/posthog-api.js.map +1 -1
- package/dist/src/prompt-builder.d.ts +4 -4
- package/dist/src/prompt-builder.d.ts.map +1 -1
- package/dist/src/prompt-builder.js +129 -99
- package/dist/src/prompt-builder.js.map +1 -1
- package/dist/src/schemas.d.ts +980 -0
- package/dist/src/schemas.d.ts.map +1 -0
- package/dist/src/schemas.js +196 -0
- package/dist/src/schemas.js.map +1 -0
- package/dist/src/session-store.d.ts +53 -0
- package/dist/src/session-store.d.ts.map +1 -0
- package/dist/src/session-store.js +195 -0
- package/dist/src/session-store.js.map +1 -0
- package/dist/src/task-manager.d.ts +7 -7
- package/dist/src/task-manager.d.ts.map +1 -1
- package/dist/src/task-manager.js +19 -18
- package/dist/src/task-manager.js.map +1 -1
- package/dist/src/template-manager.d.ts +1 -1
- package/dist/src/template-manager.d.ts.map +1 -1
- package/dist/src/template-manager.js +30 -28
- package/dist/src/template-manager.js.map +1 -1
- package/dist/src/todo-manager.d.ts +5 -5
- package/dist/src/todo-manager.d.ts.map +1 -1
- package/dist/src/todo-manager.js +33 -24
- package/dist/src/todo-manager.js.map +1 -1
- package/dist/src/tools/registry.d.ts +1 -1
- package/dist/src/tools/registry.js +60 -60
- package/dist/src/tools/registry.js.map +1 -1
- package/dist/src/tools/types.d.ts +31 -31
- package/dist/src/types.d.ts +62 -167
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -0
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/logger.d.ts +14 -6
- package/dist/src/utils/logger.d.ts.map +1 -1
- package/dist/src/utils/logger.js +37 -22
- package/dist/src/utils/logger.js.map +1 -1
- package/dist/src/utils/tapped-stream.d.ts +17 -0
- package/dist/src/utils/tapped-stream.d.ts.map +1 -0
- package/dist/src/utils/tapped-stream.js +45 -0
- package/dist/src/utils/tapped-stream.js.map +1 -0
- package/dist/src/workflow/config.d.ts +1 -1
- package/dist/src/workflow/config.d.ts.map +1 -1
- package/dist/src/workflow/config.js +18 -18
- package/dist/src/workflow/config.js.map +1 -1
- package/dist/src/workflow/steps/build.d.ts +1 -1
- package/dist/src/workflow/steps/build.d.ts.map +1 -1
- package/dist/src/workflow/steps/build.js +53 -39
- package/dist/src/workflow/steps/build.js.map +1 -1
- package/dist/src/workflow/steps/finalize.d.ts +1 -1
- package/dist/src/workflow/steps/finalize.d.ts.map +1 -1
- package/dist/src/workflow/steps/finalize.js +58 -52
- package/dist/src/workflow/steps/finalize.js.map +1 -1
- package/dist/src/workflow/steps/plan.d.ts +1 -1
- package/dist/src/workflow/steps/plan.d.ts.map +1 -1
- package/dist/src/workflow/steps/plan.js +69 -47
- package/dist/src/workflow/steps/plan.js.map +1 -1
- package/dist/src/workflow/steps/research.d.ts +1 -1
- package/dist/src/workflow/steps/research.d.ts.map +1 -1
- package/dist/src/workflow/steps/research.js +86 -67
- package/dist/src/workflow/steps/research.js.map +1 -1
- package/dist/src/workflow/types.d.ts +19 -14
- package/dist/src/workflow/types.d.ts.map +1 -1
- package/dist/src/workflow/utils.d.ts +1 -1
- package/dist/src/workflow/utils.d.ts.map +1 -1
- package/dist/src/workflow/utils.js +7 -4
- package/dist/src/workflow/utils.js.map +1 -1
- package/dist/src/worktree-manager.d.ts +39 -0
- package/dist/src/worktree-manager.d.ts.map +1 -0
- package/dist/src/worktree-manager.js +810 -0
- package/dist/src/worktree-manager.js.map +1 -0
- package/package.json +20 -16
- package/src/acp-extensions.ts +117 -0
- package/src/adapters/claude/claude.ts +1498 -0
- package/src/adapters/claude/mcp-server.ts +810 -0
- package/src/adapters/claude/tools.ts +609 -0
- package/src/adapters/claude/utils.ts +267 -0
- package/src/agent.ts +511 -447
- package/src/agents/execution.ts +1 -1
- package/src/agents/planning.ts +1 -1
- package/src/agents/research.ts +0 -1
- package/src/file-manager.ts +80 -70
- package/src/git-manager.ts +164 -88
- package/src/posthog-api.ts +155 -94
- package/src/prompt-builder.ts +196 -143
- package/src/schemas.ts +241 -0
- package/src/session-store.ts +244 -0
- package/src/task-manager.ts +41 -33
- package/src/template-manager.ts +98 -45
- package/src/todo-manager.ts +43 -32
- package/src/tools/registry.ts +62 -62
- package/src/tools/types.ts +36 -36
- package/src/types.ts +130 -239
- package/src/utils/logger.ts +89 -58
- package/src/utils/tapped-stream.ts +60 -0
- package/src/workflow/config.ts +48 -48
- package/src/workflow/steps/build.ts +127 -113
- package/src/workflow/steps/finalize.ts +207 -182
- package/src/workflow/steps/plan.ts +155 -130
- package/src/workflow/steps/research.ts +207 -187
- package/src/workflow/types.ts +47 -36
- package/src/workflow/utils.ts +37 -34
- package/src/worktree-manager.ts +884 -0
- package/dist/src/adapters/claude/claude-adapter.d.ts +0 -18
- package/dist/src/adapters/claude/claude-adapter.d.ts.map +0 -1
- package/dist/src/adapters/claude/claude-adapter.js +0 -311
- package/dist/src/adapters/claude/claude-adapter.js.map +0 -1
- package/dist/src/adapters/claude/tool-mapper.d.ts +0 -19
- package/dist/src/adapters/claude/tool-mapper.d.ts.map +0 -1
- package/dist/src/adapters/claude/tool-mapper.js +0 -44
- package/dist/src/adapters/claude/tool-mapper.js.map +0 -1
- package/dist/src/adapters/types.d.ts +0 -33
- package/dist/src/adapters/types.d.ts.map +0 -1
- package/dist/src/task-progress-reporter.d.ts +0 -43
- package/dist/src/task-progress-reporter.d.ts.map +0 -1
- package/dist/src/task-progress-reporter.js +0 -393
- package/dist/src/task-progress-reporter.js.map +0 -1
- package/src/adapters/claude/claude-adapter.ts +0 -338
- package/src/adapters/claude/tool-mapper.ts +0 -46
- package/src/adapters/types.ts +0 -37
- package/src/task-progress-reporter.ts +0 -443
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { CLIENT_METHODS, AGENT_METHODS, setSessionModelRequestSchema, promptRequestSchema, authenticateRequestSchema, setSessionModeRequestSchema, loadSessionRequestSchema, newSessionRequestSchema, initializeRequestSchema, cancelNotificationSchema } from './schema.js';
|
|
3
|
+
export { agentCapabilitiesSchema, agentNotificationSchema, agentOutgoingMessageSchema, agentRequestSchema, agentResponseSchema, annotationsSchema, authMethodSchema, authenticateResponseSchema, availableCommandInputSchema, availableCommandSchema, blobResourceContentsSchema, clientCapabilitiesSchema, clientNotificationSchema, clientOutgoingMessageSchema, clientRequestSchema, clientResponseSchema, contentBlockSchema, createTerminalRequestSchema, createTerminalResponseSchema, embeddedResourceResourceSchema, envVariableSchema, errorSchema, extMethodRequest1Schema, extMethodRequestSchema, extMethodResponse1Schema, extMethodResponseSchema, extNotification1Schema, extNotificationSchema, fileSystemCapabilitySchema, httpHeaderSchema, implementationSchema, initializeResponseSchema, killTerminalCommandRequestSchema, killTerminalResponseSchema, loadSessionResponseSchema, mcpCapabilitiesSchema, mcpServerSchema, modelInfoSchema, newSessionResponseSchema, notification1Schema, notificationSchema, null1Schema, nullSchema, number1Schema, numberSchema, permissionOptionSchema, planEntrySchema, promptCapabilitiesSchema, promptResponseSchema, readTextFileRequestSchema, readTextFileResponseSchema, releaseTerminalRequestSchema, releaseTerminalResponseSchema, request1Schema, requestPermissionRequestSchema, requestPermissionResponseSchema, requestSchema, response1Schema, responseSchema, roleSchema, sessionModeIdSchema, sessionModeSchema, sessionModeStateSchema, sessionModelStateSchema, sessionNotificationSchema, setSessionModeResponseSchema, setSessionModelResponseSchema, stdioSchema, string1Schema, stringSchema, terminalExitStatusSchema, terminalOutputRequestSchema, terminalOutputResponseSchema, textResourceContentsSchema, toolCallContentSchema, toolCallLocationSchema, toolCallStatusSchema, toolKindSchema, unstructuredCommandInputSchema, waitForTerminalExitRequestSchema, waitForTerminalExitResponseSchema, writeTextFileRequestSchema, writeTextFileResponseSchema } from './schema.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* An agent-side connection to a client.
|
|
7
|
+
*
|
|
8
|
+
* This class provides the agent's view of an ACP connection, allowing
|
|
9
|
+
* agents to communicate with clients. It implements the {@link Client} interface
|
|
10
|
+
* to provide methods for requesting permissions, accessing the file system,
|
|
11
|
+
* and sending session updates.
|
|
12
|
+
*
|
|
13
|
+
* See protocol docs: [Agent](https://agentclientprotocol.com/protocol/overview#agent)
|
|
14
|
+
*/
|
|
15
|
+
class AgentSideConnection {
|
|
16
|
+
#connection;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new agent-side connection to a client.
|
|
19
|
+
*
|
|
20
|
+
* This establishes the communication channel from the agent's perspective
|
|
21
|
+
* following the ACP specification.
|
|
22
|
+
*
|
|
23
|
+
* @param toAgent - A function that creates an Agent handler to process incoming client requests
|
|
24
|
+
* @param stream - The bidirectional message stream for communication. Typically created using
|
|
25
|
+
* {@link ndJsonStream} for stdio-based connections.
|
|
26
|
+
*
|
|
27
|
+
* See protocol docs: [Communication Model](https://agentclientprotocol.com/protocol/overview#communication-model)
|
|
28
|
+
*/
|
|
29
|
+
constructor(toAgent, stream) {
|
|
30
|
+
const agent = toAgent(this);
|
|
31
|
+
const requestHandler = async (method, params) => {
|
|
32
|
+
switch (method) {
|
|
33
|
+
case AGENT_METHODS.initialize: {
|
|
34
|
+
const validatedParams = initializeRequestSchema.parse(params);
|
|
35
|
+
return agent.initialize(validatedParams);
|
|
36
|
+
}
|
|
37
|
+
case AGENT_METHODS.session_new: {
|
|
38
|
+
const validatedParams = newSessionRequestSchema.parse(params);
|
|
39
|
+
return agent.newSession(validatedParams);
|
|
40
|
+
}
|
|
41
|
+
case AGENT_METHODS.session_load: {
|
|
42
|
+
if (!agent.loadSession) {
|
|
43
|
+
throw RequestError.methodNotFound(method);
|
|
44
|
+
}
|
|
45
|
+
const validatedParams = loadSessionRequestSchema.parse(params);
|
|
46
|
+
return agent.loadSession(validatedParams);
|
|
47
|
+
}
|
|
48
|
+
case AGENT_METHODS.session_set_mode: {
|
|
49
|
+
if (!agent.setSessionMode) {
|
|
50
|
+
throw RequestError.methodNotFound(method);
|
|
51
|
+
}
|
|
52
|
+
const validatedParams = setSessionModeRequestSchema.parse(params);
|
|
53
|
+
const result = await agent.setSessionMode(validatedParams);
|
|
54
|
+
return result ?? {};
|
|
55
|
+
}
|
|
56
|
+
case AGENT_METHODS.authenticate: {
|
|
57
|
+
const validatedParams = authenticateRequestSchema.parse(params);
|
|
58
|
+
const result = await agent.authenticate(validatedParams);
|
|
59
|
+
return result ?? {};
|
|
60
|
+
}
|
|
61
|
+
case AGENT_METHODS.session_prompt: {
|
|
62
|
+
const validatedParams = promptRequestSchema.parse(params);
|
|
63
|
+
return agent.prompt(validatedParams);
|
|
64
|
+
}
|
|
65
|
+
case AGENT_METHODS.session_set_model: {
|
|
66
|
+
if (!agent.setSessionModel) {
|
|
67
|
+
throw RequestError.methodNotFound(method);
|
|
68
|
+
}
|
|
69
|
+
const validatedParams = setSessionModelRequestSchema.parse(params);
|
|
70
|
+
const result = await agent.setSessionModel(validatedParams);
|
|
71
|
+
return result ?? {};
|
|
72
|
+
}
|
|
73
|
+
default:
|
|
74
|
+
if (method.startsWith("_")) {
|
|
75
|
+
if (!agent.extMethod) {
|
|
76
|
+
throw RequestError.methodNotFound(method);
|
|
77
|
+
}
|
|
78
|
+
return agent.extMethod(method.substring(1), params);
|
|
79
|
+
}
|
|
80
|
+
throw RequestError.methodNotFound(method);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const notificationHandler = async (method, params) => {
|
|
84
|
+
switch (method) {
|
|
85
|
+
case AGENT_METHODS.session_cancel: {
|
|
86
|
+
const validatedParams = cancelNotificationSchema.parse(params);
|
|
87
|
+
return agent.cancel(validatedParams);
|
|
88
|
+
}
|
|
89
|
+
default:
|
|
90
|
+
if (method.startsWith("_")) {
|
|
91
|
+
if (!agent.extNotification) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
return agent.extNotification(method.substring(1), params);
|
|
95
|
+
}
|
|
96
|
+
throw RequestError.methodNotFound(method);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
this.#connection = new Connection(requestHandler, notificationHandler, stream);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Handles session update notifications from the agent.
|
|
103
|
+
*
|
|
104
|
+
* This is a notification endpoint (no response expected) that sends
|
|
105
|
+
* real-time updates about session progress, including message chunks,
|
|
106
|
+
* tool calls, and execution plans.
|
|
107
|
+
*
|
|
108
|
+
* Note: Clients SHOULD continue accepting tool call updates even after
|
|
109
|
+
* sending a `session/cancel` notification, as the agent may send final
|
|
110
|
+
* updates before responding with the cancelled stop reason.
|
|
111
|
+
*
|
|
112
|
+
* See protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protocol/prompt-turn#3-agent-reports-output)
|
|
113
|
+
*/
|
|
114
|
+
async sessionUpdate(params) {
|
|
115
|
+
return await this.#connection.sendNotification(CLIENT_METHODS.session_update, params);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Requests permission from the user for a tool call operation.
|
|
119
|
+
*
|
|
120
|
+
* Called by the agent when it needs user authorization before executing
|
|
121
|
+
* a potentially sensitive operation. The client should present the options
|
|
122
|
+
* to the user and return their decision.
|
|
123
|
+
*
|
|
124
|
+
* If the client cancels the prompt turn via `session/cancel`, it MUST
|
|
125
|
+
* respond to this request with `RequestPermissionOutcome::Cancelled`.
|
|
126
|
+
*
|
|
127
|
+
* See protocol docs: [Requesting Permission](https://agentclientprotocol.com/protocol/tool-calls#requesting-permission)
|
|
128
|
+
*/
|
|
129
|
+
async requestPermission(params) {
|
|
130
|
+
return await this.#connection.sendRequest(CLIENT_METHODS.session_request_permission, params);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Reads content from a text file in the client's file system.
|
|
134
|
+
*
|
|
135
|
+
* Only available if the client advertises the `fs.readTextFile` capability.
|
|
136
|
+
* Allows the agent to access file contents within the client's environment.
|
|
137
|
+
*
|
|
138
|
+
* See protocol docs: [Client](https://agentclientprotocol.com/protocol/overview#client)
|
|
139
|
+
*/
|
|
140
|
+
async readTextFile(params) {
|
|
141
|
+
return await this.#connection.sendRequest(CLIENT_METHODS.fs_read_text_file, params);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Writes content to a text file in the client's file system.
|
|
145
|
+
*
|
|
146
|
+
* Only available if the client advertises the `fs.writeTextFile` capability.
|
|
147
|
+
* Allows the agent to create or modify files within the client's environment.
|
|
148
|
+
*
|
|
149
|
+
* See protocol docs: [Client](https://agentclientprotocol.com/protocol/overview#client)
|
|
150
|
+
*/
|
|
151
|
+
async writeTextFile(params) {
|
|
152
|
+
return ((await this.#connection.sendRequest(CLIENT_METHODS.fs_write_text_file, params)) ?? {});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Executes a command in a new terminal.
|
|
156
|
+
*
|
|
157
|
+
* Returns a `TerminalHandle` that can be used to get output, wait for exit,
|
|
158
|
+
* kill the command, or release the terminal.
|
|
159
|
+
*
|
|
160
|
+
* The terminal can also be embedded in tool calls by using its ID in
|
|
161
|
+
* `ToolCallContent` with type "terminal".
|
|
162
|
+
*
|
|
163
|
+
* @param params - The terminal creation parameters
|
|
164
|
+
* @returns A handle to control and monitor the terminal
|
|
165
|
+
*/
|
|
166
|
+
async createTerminal(params) {
|
|
167
|
+
const response = await this.#connection.sendRequest(CLIENT_METHODS.terminal_create, params);
|
|
168
|
+
return new TerminalHandle(response.terminalId, params.sessionId, this.#connection);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Extension method
|
|
172
|
+
*
|
|
173
|
+
* Allows the Agent to send an arbitrary request that is not part of the ACP spec.
|
|
174
|
+
*/
|
|
175
|
+
async extMethod(method, params) {
|
|
176
|
+
return await this.#connection.sendRequest(`_${method}`, params);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Extension notification
|
|
180
|
+
*
|
|
181
|
+
* Allows the Agent to send an arbitrary notification that is not part of the ACP spec.
|
|
182
|
+
*/
|
|
183
|
+
async extNotification(method, params) {
|
|
184
|
+
return await this.#connection.sendNotification(`_${method}`, params);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* AbortSignal that aborts when the connection closes.
|
|
188
|
+
*
|
|
189
|
+
* This signal can be used to:
|
|
190
|
+
* - Listen for connection closure: `connection.signal.addEventListener('abort', () => {...})`
|
|
191
|
+
* - Check connection status synchronously: `if (connection.signal.aborted) {...}`
|
|
192
|
+
* - Pass to other APIs (fetch, setTimeout) for automatic cancellation
|
|
193
|
+
*
|
|
194
|
+
* The connection closes when the underlying stream ends, either normally or due to an error.
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* const connection = new AgentSideConnection(agent, stream);
|
|
199
|
+
*
|
|
200
|
+
* // Listen for closure
|
|
201
|
+
* connection.signal.addEventListener('abort', () => {
|
|
202
|
+
* console.log('Connection closed - performing cleanup');
|
|
203
|
+
* });
|
|
204
|
+
*
|
|
205
|
+
* // Check status
|
|
206
|
+
* if (connection.signal.aborted) {
|
|
207
|
+
* console.log('Connection is already closed');
|
|
208
|
+
* }
|
|
209
|
+
*
|
|
210
|
+
* // Pass to other APIs
|
|
211
|
+
* fetch(url, { signal: connection.signal });
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
get signal() {
|
|
215
|
+
return this.#connection.signal;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Promise that resolves when the connection closes.
|
|
219
|
+
*
|
|
220
|
+
* The connection closes when the underlying stream ends, either normally or due to an error.
|
|
221
|
+
* Once closed, the connection cannot send or receive any more messages.
|
|
222
|
+
*
|
|
223
|
+
* This is useful for async/await style cleanup:
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```typescript
|
|
227
|
+
* const connection = new AgentSideConnection(agent, stream);
|
|
228
|
+
* await connection.closed;
|
|
229
|
+
* console.log('Connection closed - performing cleanup');
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
get closed() {
|
|
233
|
+
return this.#connection.closed;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Handle for controlling and monitoring a terminal created via `createTerminal`.
|
|
238
|
+
*
|
|
239
|
+
* Provides methods to:
|
|
240
|
+
* - Get current output without waiting
|
|
241
|
+
* - Wait for command completion
|
|
242
|
+
* - Kill the running command
|
|
243
|
+
* - Release terminal resources
|
|
244
|
+
*
|
|
245
|
+
* **Important:** Always call `release()` when done with the terminal to free resources.
|
|
246
|
+
|
|
247
|
+
* The terminal supports async disposal via `Symbol.asyncDispose` for automatic cleanup.
|
|
248
|
+
|
|
249
|
+
* You can use `await using` to ensure the terminal is automatically released when it
|
|
250
|
+
* goes out of scope.
|
|
251
|
+
*/
|
|
252
|
+
class TerminalHandle {
|
|
253
|
+
id;
|
|
254
|
+
#sessionId;
|
|
255
|
+
#connection;
|
|
256
|
+
constructor(id, sessionId, conn) {
|
|
257
|
+
this.id = id;
|
|
258
|
+
this.#sessionId = sessionId;
|
|
259
|
+
this.#connection = conn;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Gets the current terminal output without waiting for the command to exit.
|
|
263
|
+
*/
|
|
264
|
+
async currentOutput() {
|
|
265
|
+
return await this.#connection.sendRequest(CLIENT_METHODS.terminal_output, {
|
|
266
|
+
sessionId: this.#sessionId,
|
|
267
|
+
terminalId: this.id,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Waits for the terminal command to complete and returns its exit status.
|
|
272
|
+
*/
|
|
273
|
+
async waitForExit() {
|
|
274
|
+
return await this.#connection.sendRequest(CLIENT_METHODS.terminal_wait_for_exit, {
|
|
275
|
+
sessionId: this.#sessionId,
|
|
276
|
+
terminalId: this.id,
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Kills the terminal command without releasing the terminal.
|
|
281
|
+
*
|
|
282
|
+
* The terminal remains valid after killing, allowing you to:
|
|
283
|
+
* - Get the final output with `currentOutput()`
|
|
284
|
+
* - Check the exit status
|
|
285
|
+
* - Release the terminal when done
|
|
286
|
+
*
|
|
287
|
+
* Useful for implementing timeouts or cancellation.
|
|
288
|
+
*/
|
|
289
|
+
async kill() {
|
|
290
|
+
return ((await this.#connection.sendRequest(CLIENT_METHODS.terminal_kill, {
|
|
291
|
+
sessionId: this.#sessionId,
|
|
292
|
+
terminalId: this.id,
|
|
293
|
+
})) ?? {});
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Releases the terminal and frees all associated resources.
|
|
297
|
+
*
|
|
298
|
+
* If the command is still running, it will be killed.
|
|
299
|
+
* After release, the terminal ID becomes invalid and cannot be used
|
|
300
|
+
* with other terminal methods.
|
|
301
|
+
*
|
|
302
|
+
* Tool calls that already reference this terminal will continue to
|
|
303
|
+
* display its output.
|
|
304
|
+
*
|
|
305
|
+
* **Important:** Always call this method when done with the terminal.
|
|
306
|
+
*/
|
|
307
|
+
async release() {
|
|
308
|
+
return ((await this.#connection.sendRequest(CLIENT_METHODS.terminal_release, {
|
|
309
|
+
sessionId: this.#sessionId,
|
|
310
|
+
terminalId: this.id,
|
|
311
|
+
})) ?? {});
|
|
312
|
+
}
|
|
313
|
+
async [Symbol.asyncDispose]() {
|
|
314
|
+
await this.release();
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
class Connection {
|
|
318
|
+
#pendingResponses = new Map();
|
|
319
|
+
#nextRequestId = 0;
|
|
320
|
+
#requestHandler;
|
|
321
|
+
#notificationHandler;
|
|
322
|
+
#stream;
|
|
323
|
+
#writeQueue = Promise.resolve();
|
|
324
|
+
#abortController = new AbortController();
|
|
325
|
+
#closedPromise;
|
|
326
|
+
constructor(requestHandler, notificationHandler, stream) {
|
|
327
|
+
this.#requestHandler = requestHandler;
|
|
328
|
+
this.#notificationHandler = notificationHandler;
|
|
329
|
+
this.#stream = stream;
|
|
330
|
+
this.#closedPromise = new Promise((resolve) => {
|
|
331
|
+
this.#abortController.signal.addEventListener("abort", () => resolve());
|
|
332
|
+
});
|
|
333
|
+
this.#receive();
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* AbortSignal that aborts when the connection closes.
|
|
337
|
+
*
|
|
338
|
+
* This signal can be used to:
|
|
339
|
+
* - Listen for connection closure via event listeners
|
|
340
|
+
* - Check connection status synchronously with `signal.aborted`
|
|
341
|
+
* - Pass to other APIs (fetch, setTimeout) for automatic cancellation
|
|
342
|
+
*/
|
|
343
|
+
get signal() {
|
|
344
|
+
return this.#abortController.signal;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Promise that resolves when the connection closes.
|
|
348
|
+
*
|
|
349
|
+
* The connection closes when the underlying stream ends, either normally
|
|
350
|
+
* or due to an error. Once closed, the connection cannot send or receive
|
|
351
|
+
* any more messages.
|
|
352
|
+
*
|
|
353
|
+
* @example
|
|
354
|
+
* ```typescript
|
|
355
|
+
* const connection = new ClientSideConnection(client, stream);
|
|
356
|
+
* await connection.closed;
|
|
357
|
+
* console.log('Connection closed - performing cleanup');
|
|
358
|
+
* ```
|
|
359
|
+
*/
|
|
360
|
+
get closed() {
|
|
361
|
+
return this.#closedPromise;
|
|
362
|
+
}
|
|
363
|
+
async #receive() {
|
|
364
|
+
const reader = this.#stream.readable.getReader();
|
|
365
|
+
try {
|
|
366
|
+
while (true) {
|
|
367
|
+
const { value: message, done } = await reader.read();
|
|
368
|
+
if (done) {
|
|
369
|
+
break;
|
|
370
|
+
}
|
|
371
|
+
if (!message) {
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
try {
|
|
375
|
+
this.#processMessage(message);
|
|
376
|
+
}
|
|
377
|
+
catch (err) {
|
|
378
|
+
console.error("Unexpected error during message processing:", message, err);
|
|
379
|
+
// Only send error response if the message had an id (was a request)
|
|
380
|
+
if ("id" in message && message.id !== undefined) {
|
|
381
|
+
this.#sendMessage({
|
|
382
|
+
jsonrpc: "2.0",
|
|
383
|
+
id: message.id,
|
|
384
|
+
error: {
|
|
385
|
+
code: -32700,
|
|
386
|
+
message: "Parse error",
|
|
387
|
+
},
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
finally {
|
|
394
|
+
reader.releaseLock();
|
|
395
|
+
this.#abortController.abort();
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
async #processMessage(message) {
|
|
399
|
+
if ("method" in message && "id" in message) {
|
|
400
|
+
// It's a request
|
|
401
|
+
const response = await this.#tryCallRequestHandler(message.method, message.params);
|
|
402
|
+
if ("error" in response) {
|
|
403
|
+
console.error("Error handling request", message, response.error);
|
|
404
|
+
}
|
|
405
|
+
await this.#sendMessage({
|
|
406
|
+
jsonrpc: "2.0",
|
|
407
|
+
id: message.id,
|
|
408
|
+
...response,
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
else if ("method" in message) {
|
|
412
|
+
// It's a notification
|
|
413
|
+
const response = await this.#tryCallNotificationHandler(message.method, message.params);
|
|
414
|
+
if ("error" in response) {
|
|
415
|
+
console.error("Error handling notification", message, response.error);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
else if ("id" in message) {
|
|
419
|
+
// It's a response
|
|
420
|
+
this.#handleResponse(message);
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
console.error("Invalid message", { message });
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
async #tryCallRequestHandler(method, params) {
|
|
427
|
+
try {
|
|
428
|
+
const result = await this.#requestHandler(method, params);
|
|
429
|
+
return { result: result ?? null };
|
|
430
|
+
}
|
|
431
|
+
catch (error) {
|
|
432
|
+
if (error instanceof RequestError) {
|
|
433
|
+
return error.toResult();
|
|
434
|
+
}
|
|
435
|
+
if (error instanceof z.ZodError) {
|
|
436
|
+
return RequestError.invalidParams(error.format()).toResult();
|
|
437
|
+
}
|
|
438
|
+
let details;
|
|
439
|
+
if (error instanceof Error) {
|
|
440
|
+
details = error.message;
|
|
441
|
+
}
|
|
442
|
+
else if (typeof error === "object" &&
|
|
443
|
+
error != null &&
|
|
444
|
+
"message" in error &&
|
|
445
|
+
typeof error.message === "string") {
|
|
446
|
+
details = error.message;
|
|
447
|
+
}
|
|
448
|
+
try {
|
|
449
|
+
return RequestError.internalError(details ? JSON.parse(details) : {}).toResult();
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
return RequestError.internalError({ details }).toResult();
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
async #tryCallNotificationHandler(method, params) {
|
|
457
|
+
try {
|
|
458
|
+
await this.#notificationHandler(method, params);
|
|
459
|
+
return { result: null };
|
|
460
|
+
}
|
|
461
|
+
catch (error) {
|
|
462
|
+
if (error instanceof RequestError) {
|
|
463
|
+
return error.toResult();
|
|
464
|
+
}
|
|
465
|
+
if (error instanceof z.ZodError) {
|
|
466
|
+
return RequestError.invalidParams(error.format()).toResult();
|
|
467
|
+
}
|
|
468
|
+
let details;
|
|
469
|
+
if (error instanceof Error) {
|
|
470
|
+
details = error.message;
|
|
471
|
+
}
|
|
472
|
+
else if (typeof error === "object" &&
|
|
473
|
+
error != null &&
|
|
474
|
+
"message" in error &&
|
|
475
|
+
typeof error.message === "string") {
|
|
476
|
+
details = error.message;
|
|
477
|
+
}
|
|
478
|
+
try {
|
|
479
|
+
return RequestError.internalError(details ? JSON.parse(details) : {}).toResult();
|
|
480
|
+
}
|
|
481
|
+
catch {
|
|
482
|
+
return RequestError.internalError({ details }).toResult();
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
#handleResponse(response) {
|
|
487
|
+
const pendingResponse = this.#pendingResponses.get(response.id);
|
|
488
|
+
if (pendingResponse) {
|
|
489
|
+
if ("result" in response) {
|
|
490
|
+
pendingResponse.resolve(response.result);
|
|
491
|
+
}
|
|
492
|
+
else if ("error" in response) {
|
|
493
|
+
pendingResponse.reject(response.error);
|
|
494
|
+
}
|
|
495
|
+
this.#pendingResponses.delete(response.id);
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
console.error("Got response to unknown request", response.id);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
async sendRequest(method, params) {
|
|
502
|
+
const id = this.#nextRequestId++;
|
|
503
|
+
const responsePromise = new Promise((resolve, reject) => {
|
|
504
|
+
this.#pendingResponses.set(id, { resolve, reject });
|
|
505
|
+
});
|
|
506
|
+
await this.#sendMessage({ jsonrpc: "2.0", id, method, params });
|
|
507
|
+
return responsePromise;
|
|
508
|
+
}
|
|
509
|
+
async sendNotification(method, params) {
|
|
510
|
+
await this.#sendMessage({ jsonrpc: "2.0", method, params });
|
|
511
|
+
}
|
|
512
|
+
async #sendMessage(message) {
|
|
513
|
+
this.#writeQueue = this.#writeQueue
|
|
514
|
+
.then(async () => {
|
|
515
|
+
const writer = this.#stream.writable.getWriter();
|
|
516
|
+
try {
|
|
517
|
+
await writer.write(message);
|
|
518
|
+
}
|
|
519
|
+
finally {
|
|
520
|
+
writer.releaseLock();
|
|
521
|
+
}
|
|
522
|
+
})
|
|
523
|
+
.catch((error) => {
|
|
524
|
+
// Continue processing writes on error
|
|
525
|
+
console.error("ACP write error:", error);
|
|
526
|
+
});
|
|
527
|
+
return this.#writeQueue;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* JSON-RPC error object.
|
|
532
|
+
*
|
|
533
|
+
* Represents an error that occurred during method execution, following the
|
|
534
|
+
* JSON-RPC 2.0 error object specification with optional additional data.
|
|
535
|
+
*
|
|
536
|
+
* See protocol docs: [JSON-RPC Error Object](https://www.jsonrpc.org/specification#error_object)
|
|
537
|
+
*/
|
|
538
|
+
class RequestError extends Error {
|
|
539
|
+
code;
|
|
540
|
+
data;
|
|
541
|
+
constructor(code, message, data) {
|
|
542
|
+
super(message);
|
|
543
|
+
this.code = code;
|
|
544
|
+
this.name = "RequestError";
|
|
545
|
+
this.data = data;
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.
|
|
549
|
+
*/
|
|
550
|
+
static parseError(data, additionalMessage) {
|
|
551
|
+
return new RequestError(-32700, `Parse error${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* The JSON sent is not a valid Request object.
|
|
555
|
+
*/
|
|
556
|
+
static invalidRequest(data, additionalMessage) {
|
|
557
|
+
return new RequestError(-32600, `Invalid request${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* The method does not exist / is not available.
|
|
561
|
+
*/
|
|
562
|
+
static methodNotFound(method) {
|
|
563
|
+
return new RequestError(-32601, `"Method not found": ${method}`, {
|
|
564
|
+
method,
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Invalid method parameter(s).
|
|
569
|
+
*/
|
|
570
|
+
static invalidParams(data, additionalMessage) {
|
|
571
|
+
return new RequestError(-32602, `Invalid params${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Internal JSON-RPC error.
|
|
575
|
+
*/
|
|
576
|
+
static internalError(data, additionalMessage) {
|
|
577
|
+
return new RequestError(-32603, `Internal error${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* Authentication required.
|
|
581
|
+
*/
|
|
582
|
+
static authRequired(data, additionalMessage) {
|
|
583
|
+
return new RequestError(-32e3, `Authentication required${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Resource, such as a file, was not found
|
|
587
|
+
*/
|
|
588
|
+
static resourceNotFound(uri) {
|
|
589
|
+
return new RequestError(-32002, `Resource not found${uri ? `: ${uri}` : ""}`, uri && { uri });
|
|
590
|
+
}
|
|
591
|
+
toResult() {
|
|
592
|
+
return {
|
|
593
|
+
error: {
|
|
594
|
+
code: this.code,
|
|
595
|
+
message: this.message,
|
|
596
|
+
data: this.data,
|
|
597
|
+
},
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
toErrorResponse() {
|
|
601
|
+
return {
|
|
602
|
+
code: this.code,
|
|
603
|
+
message: this.message,
|
|
604
|
+
data: this.data,
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
export { AGENT_METHODS, AgentSideConnection, CLIENT_METHODS, RequestError, TerminalHandle, authenticateRequestSchema, cancelNotificationSchema, initializeRequestSchema, loadSessionRequestSchema, newSessionRequestSchema, promptRequestSchema, setSessionModeRequestSchema, setSessionModelRequestSchema };
|
|
610
|
+
//# sourceMappingURL=acp.js.map
|