@posthog/agent 1.26.0 → 1.28.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/index.d.ts +1274 -20
- package/dist/index.js +7327 -11
- package/dist/index.js.map +1 -1
- package/package.json +6 -12
- package/src/agent.ts +42 -5
- package/src/types.ts +1 -1
- package/src/worktree-manager.ts +45 -0
- package/dist/_virtual/_commonjsHelpers.js +0 -6
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/_tslib.js +0 -74
- package/dist/_virtual/_tslib.js.map +0 -1
- package/dist/_virtual/additionalItems.js +0 -4
- package/dist/_virtual/additionalItems.js.map +0 -1
- package/dist/_virtual/additionalProperties.js +0 -4
- package/dist/_virtual/additionalProperties.js.map +0 -1
- package/dist/_virtual/ajv.js +0 -4
- package/dist/_virtual/ajv.js.map +0 -1
- package/dist/_virtual/allOf.js +0 -4
- package/dist/_virtual/allOf.js.map +0 -1
- package/dist/_virtual/anyOf.js +0 -4
- package/dist/_virtual/anyOf.js.map +0 -1
- package/dist/_virtual/applicability.js +0 -4
- package/dist/_virtual/applicability.js.map +0 -1
- package/dist/_virtual/boolSchema.js +0 -4
- package/dist/_virtual/boolSchema.js.map +0 -1
- package/dist/_virtual/code.js +0 -4
- package/dist/_virtual/code.js.map +0 -1
- package/dist/_virtual/code2.js +0 -4
- package/dist/_virtual/code2.js.map +0 -1
- package/dist/_virtual/const.js +0 -4
- package/dist/_virtual/const.js.map +0 -1
- package/dist/_virtual/contains.js +0 -4
- package/dist/_virtual/contains.js.map +0 -1
- package/dist/_virtual/core.js +0 -4
- package/dist/_virtual/core.js.map +0 -1
- package/dist/_virtual/dataType.js +0 -4
- package/dist/_virtual/dataType.js.map +0 -1
- package/dist/_virtual/defaults.js +0 -4
- package/dist/_virtual/defaults.js.map +0 -1
- package/dist/_virtual/dependencies.js +0 -4
- package/dist/_virtual/dependencies.js.map +0 -1
- package/dist/_virtual/draft7.js +0 -4
- package/dist/_virtual/draft7.js.map +0 -1
- package/dist/_virtual/enum.js +0 -4
- package/dist/_virtual/enum.js.map +0 -1
- package/dist/_virtual/equal.js +0 -4
- package/dist/_virtual/equal.js.map +0 -1
- package/dist/_virtual/errors.js +0 -4
- package/dist/_virtual/errors.js.map +0 -1
- package/dist/_virtual/format.js +0 -4
- package/dist/_virtual/format.js.map +0 -1
- package/dist/_virtual/formats.js +0 -4
- package/dist/_virtual/formats.js.map +0 -1
- package/dist/_virtual/id.js +0 -4
- package/dist/_virtual/id.js.map +0 -1
- package/dist/_virtual/if.js +0 -4
- package/dist/_virtual/if.js.map +0 -1
- package/dist/_virtual/index.js +0 -4
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index10.js +0 -4
- package/dist/_virtual/index10.js.map +0 -1
- package/dist/_virtual/index11.js +0 -4
- package/dist/_virtual/index11.js.map +0 -1
- package/dist/_virtual/index2.js +0 -4
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index3.js +0 -4
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index4.js +0 -4
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index5.js +0 -4
- package/dist/_virtual/index5.js.map +0 -1
- package/dist/_virtual/index6.js +0 -4
- package/dist/_virtual/index6.js.map +0 -1
- package/dist/_virtual/index7.js +0 -4
- package/dist/_virtual/index7.js.map +0 -1
- package/dist/_virtual/index8.js +0 -4
- package/dist/_virtual/index8.js.map +0 -1
- package/dist/_virtual/index9.js +0 -4
- package/dist/_virtual/index9.js.map +0 -1
- package/dist/_virtual/items.js +0 -4
- package/dist/_virtual/items.js.map +0 -1
- package/dist/_virtual/items2020.js +0 -4
- package/dist/_virtual/items2020.js.map +0 -1
- package/dist/_virtual/keyword.js +0 -4
- package/dist/_virtual/keyword.js.map +0 -1
- package/dist/_virtual/limit.js +0 -4
- package/dist/_virtual/limit.js.map +0 -1
- package/dist/_virtual/limitItems.js +0 -4
- package/dist/_virtual/limitItems.js.map +0 -1
- package/dist/_virtual/limitLength.js +0 -4
- package/dist/_virtual/limitLength.js.map +0 -1
- package/dist/_virtual/limitNumber.js +0 -4
- package/dist/_virtual/limitNumber.js.map +0 -1
- package/dist/_virtual/limitProperties.js +0 -4
- package/dist/_virtual/limitProperties.js.map +0 -1
- package/dist/_virtual/metadata.js +0 -4
- package/dist/_virtual/metadata.js.map +0 -1
- package/dist/_virtual/multipleOf.js +0 -4
- package/dist/_virtual/multipleOf.js.map +0 -1
- package/dist/_virtual/names.js +0 -4
- package/dist/_virtual/names.js.map +0 -1
- package/dist/_virtual/not.js +0 -4
- package/dist/_virtual/not.js.map +0 -1
- package/dist/_virtual/oneOf.js +0 -4
- package/dist/_virtual/oneOf.js.map +0 -1
- package/dist/_virtual/pattern.js +0 -4
- package/dist/_virtual/pattern.js.map +0 -1
- package/dist/_virtual/patternProperties.js +0 -4
- package/dist/_virtual/patternProperties.js.map +0 -1
- package/dist/_virtual/prefixItems.js +0 -4
- package/dist/_virtual/prefixItems.js.map +0 -1
- package/dist/_virtual/properties.js +0 -4
- package/dist/_virtual/properties.js.map +0 -1
- package/dist/_virtual/propertyNames.js +0 -4
- package/dist/_virtual/propertyNames.js.map +0 -1
- package/dist/_virtual/ref.js +0 -4
- package/dist/_virtual/ref.js.map +0 -1
- package/dist/_virtual/ref_error.js +0 -4
- package/dist/_virtual/ref_error.js.map +0 -1
- package/dist/_virtual/required.js +0 -4
- package/dist/_virtual/required.js.map +0 -1
- package/dist/_virtual/resolve.js +0 -4
- package/dist/_virtual/resolve.js.map +0 -1
- package/dist/_virtual/rules.js +0 -4
- package/dist/_virtual/rules.js.map +0 -1
- package/dist/_virtual/scope.js +0 -4
- package/dist/_virtual/scope.js.map +0 -1
- package/dist/_virtual/subschema.js +0 -4
- package/dist/_virtual/subschema.js.map +0 -1
- package/dist/_virtual/thenElse.js +0 -4
- package/dist/_virtual/thenElse.js.map +0 -1
- package/dist/_virtual/types.js +0 -4
- package/dist/_virtual/types.js.map +0 -1
- package/dist/_virtual/ucs2length.js +0 -4
- package/dist/_virtual/ucs2length.js.map +0 -1
- package/dist/_virtual/uniqueItems.js +0 -4
- package/dist/_virtual/uniqueItems.js.map +0 -1
- package/dist/_virtual/uri.js +0 -4
- package/dist/_virtual/uri.js.map +0 -1
- package/dist/_virtual/util.js +0 -4
- package/dist/_virtual/util.js.map +0 -1
- package/dist/_virtual/validation_error.js +0 -4
- package/dist/_virtual/validation_error.js.map +0 -1
- package/dist/example-client.d.ts +0 -3
- package/dist/example-client.d.ts.map +0 -1
- package/dist/example.d.ts +0 -3
- package/dist/example.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js +0 -891
- package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +0 -1
- package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js +0 -876
- package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js.map +0 -1
- package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js +0 -66
- package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +0 -23
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +0 -331
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +0 -717
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +0 -221
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +0 -56
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +0 -440
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +0 -94
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +0 -1610
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +0 -91
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js +0 -133
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js +0 -9
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js +0 -9
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js +0 -112
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js +0 -136
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js +0 -112
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js +0 -3297
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js +0 -44
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js +0 -36
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js +0 -10
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js +0 -657
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js +0 -449
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js +0 -413
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js +0 -57
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js +0 -38
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js +0 -86
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js +0 -61
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js +0 -80
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js +0 -52
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js +0 -1307
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js +0 -842
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js +0 -335
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js +0 -8
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js.map +0 -1
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js +0 -51
- package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js.map +0 -1
- package/dist/node_modules/ajv/dist/ajv.js +0 -69
- package/dist/node_modules/ajv/dist/ajv.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/codegen/code.js +0 -169
- package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/codegen/index.js +0 -712
- package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js +0 -157
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/errors.js +0 -140
- package/dist/node_modules/ajv/dist/compile/errors.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/index.js +0 -253
- package/dist/node_modules/ajv/dist/compile/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/names.js +0 -40
- package/dist/node_modules/ajv/dist/compile/names.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/ref_error.js +0 -25
- package/dist/node_modules/ajv/dist/compile/ref_error.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/resolve.js +0 -162
- package/dist/node_modules/ajv/dist/compile/resolve.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/rules.js +0 -29
- package/dist/node_modules/ajv/dist/compile/rules.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/util.js +0 -183
- package/dist/node_modules/ajv/dist/compile/util.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js +0 -30
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +0 -64
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js +0 -213
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js +0 -49
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/index.js +0 -544
- package/dist/node_modules/ajv/dist/compile/validate/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js +0 -139
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +0 -1
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js +0 -95
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +0 -1
- package/dist/node_modules/ajv/dist/core.js +0 -639
- package/dist/node_modules/ajv/dist/core.js.map +0 -1
- package/dist/node_modules/ajv/dist/refs/data.json.js +0 -31
- package/dist/node_modules/ajv/dist/refs/data.json.js.map +0 -1
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +0 -254
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +0 -1
- package/dist/node_modules/ajv/dist/runtime/equal.js +0 -9
- package/dist/node_modules/ajv/dist/runtime/equal.js.map +0 -1
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js +0 -25
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
- package/dist/node_modules/ajv/dist/runtime/uri.js +0 -8
- package/dist/node_modules/ajv/dist/runtime/uri.js.map +0 -1
- package/dist/node_modules/ajv/dist/runtime/validation_error.js +0 -22
- package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +0 -53
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +0 -112
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +0 -26
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +0 -14
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +0 -99
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +0 -93
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +0 -70
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +0 -77
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +0 -57
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +0 -37
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +0 -29
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +0 -64
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +0 -80
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +0 -15
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +0 -61
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +0 -42
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +0 -16
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/code.js +0 -146
- package/dist/node_modules/ajv/dist/vocabularies/code.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js +0 -11
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js +0 -21
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +0 -131
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +0 -113
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +0 -12
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js +0 -28
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js +0 -94
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js +0 -9
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js +0 -21
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +0 -31
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +0 -54
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +0 -54
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +0 -26
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +0 -33
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +0 -29
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +0 -26
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +0 -28
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +0 -27
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +0 -84
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +0 -1
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +0 -72
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +0 -1
- package/dist/node_modules/ajv-formats/dist/formats.js +0 -212
- package/dist/node_modules/ajv-formats/dist/formats.js.map +0 -1
- package/dist/node_modules/ajv-formats/dist/index.js +0 -52
- package/dist/node_modules/ajv-formats/dist/index.js.map +0 -1
- package/dist/node_modules/ajv-formats/dist/limit.js +0 -75
- package/dist/node_modules/ajv-formats/dist/limit.js.map +0 -1
- package/dist/node_modules/diff/libesm/diff/base.js +0 -256
- package/dist/node_modules/diff/libesm/diff/base.js.map +0 -1
- package/dist/node_modules/diff/libesm/diff/line.js +0 -64
- package/dist/node_modules/diff/libesm/diff/line.js.map +0 -1
- package/dist/node_modules/diff/libesm/patch/create.js +0 -185
- package/dist/node_modules/diff/libesm/patch/create.js.map +0 -1
- package/dist/node_modules/fast-deep-equal/index.js +0 -47
- package/dist/node_modules/fast-deep-equal/index.js.map +0 -1
- package/dist/node_modules/fast-uri/index.js +0 -347
- package/dist/node_modules/fast-uri/index.js.map +0 -1
- package/dist/node_modules/fast-uri/lib/schemes.js +0 -255
- package/dist/node_modules/fast-uri/lib/schemes.js.map +0 -1
- package/dist/node_modules/fast-uri/lib/utils.js +0 -334
- package/dist/node_modules/fast-uri/lib/utils.js.map +0 -1
- package/dist/node_modules/json-schema-traverse/index.js +0 -98
- package/dist/node_modules/json-schema-traverse/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/rng.js +0 -14
- package/dist/node_modules/uuid/dist/rng.js.map +0 -1
- package/dist/node_modules/uuid/dist/stringify.js +0 -29
- package/dist/node_modules/uuid/dist/stringify.js.map +0 -1
- package/dist/node_modules/uuid/dist/v7.js +0 -65
- package/dist/node_modules/uuid/dist/v7.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +0 -37
- package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +0 -26
- package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +0 -17
- package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +0 -11
- package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +0 -66
- package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +0 -21
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +0 -30
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +0 -53
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +0 -8
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +0 -8
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +0 -8
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +0 -50
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +0 -11
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +0 -11
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +0 -9
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +0 -56
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +0 -24
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +0 -30
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +0 -19
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +0 -15
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +0 -13
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +0 -37
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +0 -56
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +0 -76
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +0 -25
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +0 -24
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +0 -8
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +0 -8
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +0 -65
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +0 -24
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +0 -350
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +0 -36
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +0 -10
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +0 -84
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +0 -8
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +0 -109
- package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +0 -90
- package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +0 -1
- package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js +0 -42
- package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js.map +0 -1
- package/dist/package.json.js +0 -8
- package/dist/package.json.js.map +0 -1
- package/dist/src/acp-extensions.d.ts +0 -91
- package/dist/src/acp-extensions.d.ts.map +0 -1
- package/dist/src/acp-extensions.js +0 -38
- package/dist/src/acp-extensions.js.map +0 -1
- package/dist/src/adapters/claude/claude.d.ts +0 -136
- package/dist/src/adapters/claude/claude.d.ts.map +0 -1
- package/dist/src/adapters/claude/claude.js +0 -1128
- package/dist/src/adapters/claude/claude.js.map +0 -1
- package/dist/src/adapters/claude/mcp-server.d.ts +0 -30
- package/dist/src/adapters/claude/mcp-server.d.ts.map +0 -1
- package/dist/src/adapters/claude/mcp-server.js +0 -668
- package/dist/src/adapters/claude/mcp-server.js.map +0 -1
- package/dist/src/adapters/claude/tools.d.ts +0 -35
- package/dist/src/adapters/claude/tools.d.ts.map +0 -1
- package/dist/src/adapters/claude/tools.js +0 -473
- package/dist/src/adapters/claude/tools.js.map +0 -1
- package/dist/src/adapters/claude/utils.d.ts +0 -48
- package/dist/src/adapters/claude/utils.d.ts.map +0 -1
- package/dist/src/adapters/claude/utils.js +0 -158
- package/dist/src/adapters/claude/utils.js.map +0 -1
- package/dist/src/agent.d.ts +0 -58
- package/dist/src/agent.d.ts.map +0 -1
- package/dist/src/agent.js +0 -576
- package/dist/src/agent.js.map +0 -1
- package/dist/src/agents/execution.d.ts +0 -2
- package/dist/src/agents/execution.d.ts.map +0 -1
- package/dist/src/agents/execution.js +0 -40
- package/dist/src/agents/execution.js.map +0 -1
- package/dist/src/agents/planning.d.ts +0 -2
- package/dist/src/agents/planning.d.ts.map +0 -1
- package/dist/src/agents/planning.js +0 -63
- package/dist/src/agents/planning.js.map +0 -1
- package/dist/src/agents/research.d.ts +0 -2
- package/dist/src/agents/research.d.ts.map +0 -1
- package/dist/src/agents/research.js +0 -163
- package/dist/src/agents/research.js.map +0 -1
- package/dist/src/file-manager.d.ts +0 -43
- package/dist/src/file-manager.d.ts.map +0 -1
- package/dist/src/file-manager.js +0 -266
- package/dist/src/file-manager.js.map +0 -1
- package/dist/src/git-manager.d.ts +0 -79
- package/dist/src/git-manager.d.ts.map +0 -1
- package/dist/src/git-manager.js +0 -454
- package/dist/src/git-manager.js.map +0 -1
- package/dist/src/posthog-api.d.ts +0 -48
- package/dist/src/posthog-api.d.ts.map +0 -1
- package/dist/src/posthog-api.js +0 -260
- package/dist/src/posthog-api.js.map +0 -1
- package/dist/src/prompt-builder.d.ts +0 -49
- package/dist/src/prompt-builder.d.ts.map +0 -1
- package/dist/src/prompt-builder.js +0 -397
- package/dist/src/prompt-builder.js.map +0 -1
- package/dist/src/schemas.d.ts +0 -980
- package/dist/src/schemas.d.ts.map +0 -1
- package/dist/src/schemas.js +0 -196
- package/dist/src/schemas.js.map +0 -1
- package/dist/src/session-store.d.ts +0 -58
- package/dist/src/session-store.d.ts.map +0 -1
- package/dist/src/session-store.js +0 -206
- package/dist/src/session-store.js.map +0 -1
- package/dist/src/task-manager.d.ts +0 -25
- package/dist/src/task-manager.d.ts.map +0 -1
- package/dist/src/task-manager.js +0 -123
- package/dist/src/task-manager.js.map +0 -1
- package/dist/src/template-manager.d.ts +0 -30
- package/dist/src/template-manager.d.ts.map +0 -1
- package/dist/src/template-manager.js +0 -152
- package/dist/src/template-manager.js.map +0 -1
- package/dist/src/todo-manager.d.ts +0 -29
- package/dist/src/todo-manager.d.ts.map +0 -1
- package/dist/src/todo-manager.js +0 -135
- package/dist/src/todo-manager.js.map +0 -1
- package/dist/src/tools/registry.d.ts +0 -25
- package/dist/src/tools/registry.d.ts.map +0 -1
- package/dist/src/tools/registry.js +0 -120
- package/dist/src/tools/registry.js.map +0 -1
- package/dist/src/tools/types.d.ts +0 -80
- package/dist/src/tools/types.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -193
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -11
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/logger.d.ts +0 -37
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js +0 -83
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/utils/tapped-stream.d.ts +0 -17
- package/dist/src/utils/tapped-stream.d.ts.map +0 -1
- package/dist/src/utils/tapped-stream.js +0 -45
- package/dist/src/utils/tapped-stream.js.map +0 -1
- package/dist/src/workflow/config.d.ts +0 -3
- package/dist/src/workflow/config.d.ts.map +0 -1
- package/dist/src/workflow/config.js +0 -54
- package/dist/src/workflow/config.js.map +0 -1
- package/dist/src/workflow/steps/build.d.ts +0 -3
- package/dist/src/workflow/steps/build.d.ts.map +0 -1
- package/dist/src/workflow/steps/build.js +0 -108
- package/dist/src/workflow/steps/build.js.map +0 -1
- package/dist/src/workflow/steps/finalize.d.ts +0 -3
- package/dist/src/workflow/steps/finalize.d.ts.map +0 -1
- package/dist/src/workflow/steps/finalize.js +0 -188
- package/dist/src/workflow/steps/finalize.js.map +0 -1
- package/dist/src/workflow/steps/plan.d.ts +0 -3
- package/dist/src/workflow/steps/plan.d.ts.map +0 -1
- package/dist/src/workflow/steps/plan.js +0 -136
- package/dist/src/workflow/steps/plan.js.map +0 -1
- package/dist/src/workflow/steps/research.d.ts +0 -3
- package/dist/src/workflow/steps/research.d.ts.map +0 -1
- package/dist/src/workflow/steps/research.js +0 -189
- package/dist/src/workflow/steps/research.js.map +0 -1
- package/dist/src/workflow/types.d.ts +0 -51
- package/dist/src/workflow/types.d.ts.map +0 -1
- package/dist/src/workflow/utils.d.ts +0 -12
- package/dist/src/workflow/utils.d.ts.map +0 -1
- package/dist/src/workflow/utils.js +0 -41
- package/dist/src/workflow/utils.js.map +0 -1
- package/dist/src/worktree-manager.d.ts +0 -39
- package/dist/src/worktree-manager.d.ts.map +0 -1
- package/dist/src/worktree-manager.js +0 -808
- package/dist/src/worktree-manager.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sources":["../../../../src/adapters/claude/claude.ts"],"sourcesContent":["/**\n * The claude adapter has been based on the original claude-code-acp adapter,\n * and could use some cleanup.\n *\n * https://github.com/zed-industries/claude-code-acp\n */\n\nimport * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\nimport {\n type Agent,\n AgentSideConnection,\n type AuthenticateRequest,\n type AvailableCommand,\n type CancelNotification,\n type ClientCapabilities,\n type InitializeRequest,\n type InitializeResponse,\n type LoadSessionRequest,\n type LoadSessionResponse,\n type NewSessionRequest,\n type NewSessionResponse,\n ndJsonStream,\n type PromptRequest,\n type PromptResponse,\n type ReadTextFileRequest,\n type ReadTextFileResponse,\n RequestError,\n type SessionModelState,\n type SessionNotification,\n type SetSessionModelRequest,\n type SetSessionModeRequest,\n type SetSessionModeResponse,\n type TerminalHandle,\n type TerminalOutputResponse,\n type WriteTextFileRequest,\n type WriteTextFileResponse,\n} from \"@agentclientprotocol/sdk\";\nimport {\n type CanUseTool,\n type McpServerConfig,\n type Options,\n type PermissionMode,\n type Query,\n query,\n type SDKPartialAssistantMessage,\n type SDKUserMessage,\n} from \"@anthropic-ai/claude-agent-sdk\";\nimport type { ContentBlockParam } from \"@anthropic-ai/sdk/resources\";\nimport type {\n BetaContentBlock,\n BetaRawContentBlockDelta,\n} from \"@anthropic-ai/sdk/resources/beta.mjs\";\nimport { v7 as uuidv7 } from \"uuid\";\nimport type {\n SessionPersistenceConfig,\n SessionStore,\n} from \"@/session-store.js\";\nimport { Logger } from \"@/utils/logger.js\";\nimport { createTappedWritableStream } from \"@/utils/tapped-stream.js\";\nimport packageJson from \"../../../package.json\" with { type: \"json\" };\nimport { createMcpServer, EDIT_TOOL_NAMES, toolNames } from \"./mcp-server.js\";\nimport {\n type ClaudePlanEntry,\n createPostToolUseHook,\n planEntries,\n registerHookCallback,\n toolInfoFromToolUse,\n toolUpdateFromToolResult,\n} from \"./tools.js\";\nimport {\n createBidirectionalStreams,\n Pushable,\n type StreamPair,\n unreachable,\n} from \"./utils.js\";\n\n/**\n * Clears the statsig cache to work around a claude-agent-sdk bug where cached\n * tool definitions include input_examples which causes API errors.\n * See: https://github.com/anthropics/claude-code/issues/11678\n */\nfunction clearStatsigCache(): void {\n const configDir =\n process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), \".claude\");\n const statsigPath = path.join(configDir, \"statsig\");\n\n try {\n if (fs.existsSync(statsigPath)) {\n fs.rmSync(statsigPath, { recursive: true, force: true });\n }\n } catch {\n // Ignore errors - cache clearing is best-effort\n }\n}\n\ntype Session = {\n query: Query;\n input: Pushable<SDKUserMessage>;\n cancelled: boolean;\n permissionMode: PermissionMode;\n notificationHistory: SessionNotification[];\n sdkSessionId?: string;\n};\n\ntype BackgroundTerminal =\n | {\n handle: TerminalHandle;\n status: \"started\";\n lastOutput: TerminalOutputResponse | null;\n }\n | {\n status: \"aborted\" | \"exited\" | \"killed\" | \"timedOut\";\n pendingOutput: TerminalOutputResponse;\n };\n\n/**\n * Extra metadata that can be given to Claude Code when creating a new session.\n */\nexport type NewSessionMeta = {\n claudeCode?: {\n /**\n * Options forwarded to Claude Code when starting a new session.\n * Those parameters will be ignored and managed by ACP:\n * - cwd\n * - includePartialMessages\n * - allowDangerouslySkipPermissions\n * - permissionMode\n * - canUseTool\n * - executable\n * Those parameters will be used and updated to work with ACP:\n * - hooks (merged with ACP's hooks)\n * - mcpServers (merged with ACP's mcpServers)\n */\n options?: Options;\n };\n};\n\n/**\n * Extra metadata that the agent provides for each tool_call / tool_update update.\n */\nexport type ToolUpdateMeta = {\n claudeCode?: {\n /* The name of the tool that was used in Claude Code. */\n toolName: string;\n /* The structured output provided by Claude Code. */\n toolResponse?: unknown;\n };\n};\n\ntype ToolUseCache = {\n [key: string]: {\n type: \"tool_use\" | \"server_tool_use\" | \"mcp_tool_use\";\n id: string;\n name: string;\n input: any;\n };\n};\n\n// Bypass Permissions doesn't work if we are a root/sudo user\nconst IS_ROOT = (process.geteuid?.() ?? process.getuid?.()) === 0;\n\n// Implement the ACP Agent interface\nexport class ClaudeAcpAgent implements Agent {\n sessions: {\n [key: string]: Session;\n };\n client: AgentSideConnection;\n toolUseCache: ToolUseCache;\n fileContentCache: { [key: string]: string };\n backgroundTerminals: { [key: string]: BackgroundTerminal } = {};\n clientCapabilities?: ClientCapabilities;\n logger: Logger = new Logger({ debug: true, prefix: \"[ClaudeAcpAgent]\" });\n sessionStore?: SessionStore;\n\n constructor(client: AgentSideConnection, sessionStore?: SessionStore) {\n this.sessions = {};\n this.client = client;\n this.toolUseCache = {};\n this.fileContentCache = {};\n this.sessionStore = sessionStore;\n }\n\n createSession(\n sessionId: string,\n q: Query,\n input: Pushable<SDKUserMessage>,\n permissionMode: PermissionMode,\n ): Session {\n const session: Session = {\n query: q,\n input,\n cancelled: false,\n permissionMode,\n notificationHistory: [],\n };\n this.sessions[sessionId] = session;\n return session;\n }\n\n appendNotification(\n sessionId: string,\n notification: SessionNotification,\n ): void {\n // In-memory only - S3 persistence is now automatic via tapped stream\n this.sessions[sessionId]?.notificationHistory.push(notification);\n }\n\n async initialize(request: InitializeRequest): Promise<InitializeResponse> {\n this.clientCapabilities = request.clientCapabilities;\n\n // Default authMethod\n const authMethod: any = {\n description: \"Run `claude /login` in the terminal\",\n name: \"Log in with Claude Code\",\n id: \"claude-login\",\n };\n\n // If client supports terminal-auth capability, use that instead.\n // if (request.clientCapabilities?._meta?.[\"terminal-auth\"] === true) {\n // const cliPath = fileURLToPath(import.meta.resolve(\"@anthropic-ai/claude-agent-sdk/cli.js\"));\n\n // authMethod._meta = {\n // \"terminal-auth\": {\n // command: \"node\",\n // args: [cliPath, \"/login\"],\n // label: \"Claude Code Login\",\n // },\n // };\n // }\n\n return {\n protocolVersion: 1,\n agentCapabilities: {\n promptCapabilities: {\n image: true,\n embeddedContext: true,\n },\n mcpCapabilities: {\n http: true,\n sse: true,\n },\n loadSession: true,\n _meta: {\n posthog: {\n resumeSession: true,\n },\n },\n },\n agentInfo: {\n name: packageJson.name,\n title: \"Claude Code\",\n version: packageJson.version,\n },\n authMethods: [authMethod],\n };\n }\n async newSession(params: NewSessionRequest): Promise<NewSessionResponse> {\n if (\n fs.existsSync(path.resolve(os.homedir(), \".claude.json.backup\")) &&\n !fs.existsSync(path.resolve(os.homedir(), \".claude.json\"))\n ) {\n throw RequestError.authRequired();\n }\n\n // Allow caller to specify sessionId via _meta (e.g. taskRunId in our case)\n const sessionId =\n (params._meta as { sessionId?: string } | undefined)?.sessionId ||\n uuidv7();\n const input = new Pushable<SDKUserMessage>();\n\n const mcpServers: Record<string, McpServerConfig> = {};\n if (Array.isArray(params.mcpServers)) {\n for (const server of params.mcpServers) {\n if (\"type\" in server) {\n mcpServers[server.name] = {\n type: server.type,\n url: server.url,\n headers: server.headers\n ? Object.fromEntries(server.headers.map((e) => [e.name, e.value]))\n : undefined,\n };\n } else {\n mcpServers[server.name] = {\n type: \"stdio\",\n command: server.command,\n args: server.args,\n env: server.env\n ? Object.fromEntries(server.env.map((e) => [e.name, e.value]))\n : undefined,\n };\n }\n }\n }\n\n // Only add the acp MCP server if built-in tools are not disabled\n if (!params._meta?.disableBuiltInTools) {\n const server = createMcpServer(this, sessionId, this.clientCapabilities);\n mcpServers.acp = {\n type: \"sdk\",\n name: \"acp\",\n instance: server,\n };\n }\n\n let systemPrompt: Options[\"systemPrompt\"] = {\n type: \"preset\",\n preset: \"claude_code\",\n };\n if (params._meta?.systemPrompt) {\n const customPrompt = params._meta.systemPrompt;\n if (typeof customPrompt === \"string\") {\n systemPrompt = customPrompt;\n } else if (\n typeof customPrompt === \"object\" &&\n \"append\" in customPrompt &&\n typeof customPrompt.append === \"string\"\n ) {\n systemPrompt.append = customPrompt.append;\n }\n }\n\n const permissionMode = \"default\";\n\n // Extract options from _meta if provided\n const userProvidedOptions = (params._meta as NewSessionMeta | undefined)\n ?.claudeCode?.options;\n\n const options: Options = {\n systemPrompt,\n settingSources: [\"user\", \"project\", \"local\"],\n stderr: (err) => this.logger.error(err),\n ...userProvidedOptions,\n // Override certain fields that must be controlled by ACP\n cwd: params.cwd,\n includePartialMessages: true,\n mcpServers: { ...(userProvidedOptions?.mcpServers || {}), ...mcpServers },\n // If we want bypassPermissions to be an option, we have to allow it here.\n // But it doesn't work in root mode, so we only activate it if it will work.\n allowDangerouslySkipPermissions: !IS_ROOT,\n permissionMode,\n canUseTool: this.canUseTool(sessionId),\n // Use \"node\" to resolve via PATH where a symlink to Electron exists.\n // This avoids launching the Electron binary directly from the app bundle,\n // which can cause dock icons to appear on macOS even with ELECTRON_RUN_AS_NODE.\n executable: \"node\",\n // Prevent spawned Electron processes from showing in dock/tray.\n // Must merge with process.env since SDK replaces rather than merges.\n env: { ...process.env, ELECTRON_RUN_AS_NODE: \"1\" },\n ...(process.env.CLAUDE_CODE_EXECUTABLE && {\n pathToClaudeCodeExecutable: process.env.CLAUDE_CODE_EXECUTABLE,\n }),\n hooks: {\n ...userProvidedOptions?.hooks,\n PostToolUse: [\n ...(userProvidedOptions?.hooks?.PostToolUse || []),\n {\n hooks: [createPostToolUseHook(this.logger)],\n },\n ],\n },\n };\n\n const allowedTools = [];\n const disallowedTools = [];\n\n // Check if built-in tools should be disabled\n const disableBuiltInTools = params._meta?.disableBuiltInTools === true;\n\n if (!disableBuiltInTools) {\n if (this.clientCapabilities?.fs?.readTextFile) {\n allowedTools.push(toolNames.read);\n disallowedTools.push(\"Read\");\n }\n if (this.clientCapabilities?.fs?.writeTextFile) {\n disallowedTools.push(\"Write\", \"Edit\");\n }\n if (this.clientCapabilities?.terminal) {\n allowedTools.push(toolNames.bashOutput, toolNames.killShell);\n disallowedTools.push(\"Bash\", \"BashOutput\", \"KillShell\");\n }\n } else {\n // When built-in tools are disabled, explicitly disallow all of them\n disallowedTools.push(\n toolNames.read,\n toolNames.write,\n toolNames.edit,\n toolNames.bash,\n toolNames.bashOutput,\n toolNames.killShell,\n \"Read\",\n \"Write\",\n \"Edit\",\n \"Bash\",\n \"BashOutput\",\n \"KillShell\",\n \"Glob\",\n \"Grep\",\n \"Task\",\n \"TodoWrite\",\n \"ExitPlanMode\",\n \"WebSearch\",\n \"WebFetch\",\n \"AskUserQuestion\",\n \"SlashCommand\",\n \"Skill\",\n \"NotebookEdit\",\n );\n }\n\n if (allowedTools.length > 0) {\n options.allowedTools = allowedTools;\n }\n if (disallowedTools.length > 0) {\n options.disallowedTools = disallowedTools;\n }\n\n // Handle abort controller from meta options\n const abortController = userProvidedOptions?.abortController;\n if (abortController?.signal.aborted) {\n throw new Error(\"Cancelled\");\n }\n\n // Clear statsig cache before creating query to avoid input_examples bug\n clearStatsigCache();\n\n const q = query({\n prompt: input,\n options,\n });\n\n this.createSession(sessionId, q, input, permissionMode);\n\n // Register for S3 persistence if config provided\n const persistence = params._meta?.persistence as\n | SessionPersistenceConfig\n | undefined;\n if (persistence && this.sessionStore) {\n this.sessionStore.register(sessionId, persistence);\n }\n\n const availableCommands = await getAvailableSlashCommands(q);\n const models = await getAvailableModels(q);\n\n // Needs to happen after we return the session\n setTimeout(() => {\n this.client.sessionUpdate({\n sessionId,\n update: {\n sessionUpdate: \"available_commands_update\",\n availableCommands,\n },\n });\n }, 0);\n\n const availableModes = [\n {\n id: \"default\",\n name: \"Always Ask\",\n description: \"Prompts for permission on first use of each tool\",\n },\n {\n id: \"acceptEdits\",\n name: \"Accept Edits\",\n description:\n \"Automatically accepts file edit permissions for the session\",\n },\n {\n id: \"plan\",\n name: \"Plan Mode\",\n description:\n \"Claude can analyze but not modify files or execute commands\",\n },\n ];\n // Only works in non-root mode\n if (!IS_ROOT) {\n availableModes.push({\n id: \"bypassPermissions\",\n name: \"Bypass Permissions\",\n description: \"Skips all permission prompts\",\n });\n }\n\n return {\n sessionId,\n models,\n modes: {\n currentModeId: permissionMode,\n availableModes,\n },\n };\n }\n\n async authenticate(_params: AuthenticateRequest): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n async prompt(params: PromptRequest): Promise<PromptResponse> {\n if (!this.sessions[params.sessionId]) {\n throw new Error(\"Session not found\");\n }\n\n this.sessions[params.sessionId].cancelled = false;\n\n const { query, input } = this.sessions[params.sessionId];\n\n // Capture and store user message for replay\n for (const chunk of params.prompt) {\n const userNotification: SessionNotification = {\n sessionId: params.sessionId,\n update: {\n sessionUpdate: \"user_message_chunk\",\n content: chunk,\n },\n };\n await this.client.sessionUpdate(userNotification);\n this.appendNotification(params.sessionId, userNotification);\n }\n\n input.push(promptToClaude(params));\n while (true) {\n const { value: message, done } = await query.next();\n if (done || !message) {\n if (this.sessions[params.sessionId].cancelled) {\n return { stopReason: \"cancelled\" };\n }\n break;\n }\n this.logger.debug(\"SDK message received\", {\n type: message.type,\n subtype: (message as any).subtype,\n });\n\n switch (message.type) {\n case \"system\":\n switch (message.subtype) {\n case \"init\":\n // Capture SDK session ID and notify client for persistence\n if (message.session_id) {\n const session = this.sessions[params.sessionId];\n if (session && !session.sdkSessionId) {\n session.sdkSessionId = message.session_id;\n this.client.extNotification(\"_posthog/sdk_session\", {\n sessionId: params.sessionId,\n sdkSessionId: message.session_id,\n });\n }\n }\n break;\n case \"compact_boundary\":\n case \"hook_response\":\n case \"status\":\n // Todo: process via status api: https://docs.claude.com/en/docs/claude-code/hooks#hook-output\n break;\n default:\n unreachable(message, this.logger);\n break;\n }\n break;\n case \"result\": {\n if (this.sessions[params.sessionId].cancelled) {\n return { stopReason: \"cancelled\" };\n }\n\n switch (message.subtype) {\n case \"success\": {\n if (message.result.includes(\"Please run /login\")) {\n throw RequestError.authRequired();\n }\n if (message.is_error) {\n throw RequestError.internalError(undefined, message.result);\n }\n return { stopReason: \"end_turn\" };\n }\n case \"error_during_execution\":\n if (message.is_error) {\n throw RequestError.internalError(\n undefined,\n message.errors.join(\", \") || message.subtype,\n );\n }\n return { stopReason: \"end_turn\" };\n case \"error_max_budget_usd\":\n case \"error_max_turns\":\n case \"error_max_structured_output_retries\":\n if (message.is_error) {\n throw RequestError.internalError(\n undefined,\n message.errors.join(\", \") || message.subtype,\n );\n }\n return { stopReason: \"max_turn_requests\" };\n default:\n unreachable(message, this.logger);\n break;\n }\n break;\n }\n case \"stream_event\": {\n this.logger.debug(\"Stream event\", { eventType: message.event?.type });\n for (const notification of streamEventToAcpNotifications(\n message,\n params.sessionId,\n this.toolUseCache,\n this.fileContentCache,\n this.client,\n this.logger,\n )) {\n await this.client.sessionUpdate(notification);\n this.appendNotification(params.sessionId, notification);\n }\n break;\n }\n case \"user\":\n case \"assistant\": {\n if (this.sessions[params.sessionId].cancelled) {\n break;\n }\n\n // Slash commands like /compact can generate invalid output... doesn't match\n // their own docs: https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-slash-commands#%2Fcompact-compact-conversation-history\n if (\n typeof message.message.content === \"string\" &&\n message.message.content.includes(\"<local-command-stdout>\")\n ) {\n this.logger.info(message.message.content);\n break;\n }\n\n if (\n typeof message.message.content === \"string\" &&\n message.message.content.includes(\"<local-command-stderr>\")\n ) {\n this.logger.error(message.message.content);\n break;\n }\n // Skip these user messages for now, since they seem to just be messages we don't want in the feed\n if (\n message.type === \"user\" &&\n (typeof message.message.content === \"string\" ||\n (Array.isArray(message.message.content) &&\n message.message.content.length === 1 &&\n message.message.content[0].type === \"text\"))\n ) {\n break;\n }\n\n if (\n message.type === \"assistant\" &&\n message.message.model === \"<synthetic>\" &&\n Array.isArray(message.message.content) &&\n message.message.content.length === 1 &&\n message.message.content[0].type === \"text\" &&\n message.message.content[0].text.includes(\"Please run /login\")\n ) {\n throw RequestError.authRequired();\n }\n\n // For assistant messages, text/thinking are normally streamed via stream_event.\n // But some gateways (like LiteLLM) don't stream, so we process all content.\n const content = message.message.content;\n\n for (const notification of toAcpNotifications(\n content,\n message.message.role,\n params.sessionId,\n this.toolUseCache,\n this.fileContentCache,\n this.client,\n this.logger,\n )) {\n await this.client.sessionUpdate(notification);\n this.appendNotification(params.sessionId, notification);\n }\n break;\n }\n case \"tool_progress\":\n break;\n case \"auth_status\":\n break;\n default:\n unreachable(message, this.logger);\n break;\n }\n }\n throw new Error(\"Session did not end in result\");\n }\n\n async cancel(params: CancelNotification): Promise<void> {\n if (!this.sessions[params.sessionId]) {\n throw new Error(\"Session not found\");\n }\n this.sessions[params.sessionId].cancelled = true;\n await this.sessions[params.sessionId].query.interrupt();\n }\n\n async setSessionModel(params: SetSessionModelRequest) {\n if (!this.sessions[params.sessionId]) {\n throw new Error(\"Session not found\");\n }\n await this.sessions[params.sessionId].query.setModel(params.modelId);\n }\n\n async setSessionMode(\n params: SetSessionModeRequest,\n ): Promise<SetSessionModeResponse> {\n if (!this.sessions[params.sessionId]) {\n throw new Error(\"Session not found\");\n }\n\n switch (params.modeId) {\n case \"default\":\n case \"acceptEdits\":\n case \"bypassPermissions\":\n case \"plan\":\n this.sessions[params.sessionId].permissionMode = params.modeId;\n try {\n await this.sessions[params.sessionId].query.setPermissionMode(\n params.modeId,\n );\n } catch (error) {\n const errorMessage =\n error instanceof Error && error.message\n ? error.message\n : \"Invalid Mode\";\n\n throw new Error(errorMessage);\n }\n return {};\n default:\n throw new Error(\"Invalid Mode\");\n }\n }\n\n async readTextFile(\n params: ReadTextFileRequest,\n ): Promise<ReadTextFileResponse> {\n const response = await this.client.readTextFile(params);\n if (!params.limit && !params.line) {\n this.fileContentCache[params.path] = response.content;\n }\n return response;\n }\n\n async writeTextFile(\n params: WriteTextFileRequest,\n ): Promise<WriteTextFileResponse> {\n const response = await this.client.writeTextFile(params);\n this.fileContentCache[params.path] = params.content;\n return response;\n }\n\n /**\n * Load session delegates to resumeSession since we have no need to replay history.\n * Client is responsible for fetching and rendering history from S3.\n */\n async loadSession(params: LoadSessionRequest): Promise<LoadSessionResponse> {\n return this.resumeSession(params);\n }\n\n canUseTool(sessionId: string): CanUseTool {\n return async (toolName, toolInput, { suggestions, toolUseID }) => {\n const session = this.sessions[sessionId];\n if (!session) {\n return {\n behavior: \"deny\",\n message: \"Session not found\",\n interrupt: true,\n };\n }\n\n if (toolName === \"ExitPlanMode\") {\n const response = await this.client.requestPermission({\n options: [\n {\n kind: \"allow_always\",\n name: \"Yes, and auto-accept edits\",\n optionId: \"acceptEdits\",\n },\n {\n kind: \"allow_once\",\n name: \"Yes, and manually approve edits\",\n optionId: \"default\",\n },\n {\n kind: \"reject_once\",\n name: \"No, keep planning\",\n optionId: \"plan\",\n },\n ],\n sessionId,\n toolCall: {\n toolCallId: toolUseID,\n rawInput: toolInput,\n title: toolInfoFromToolUse(\n { name: toolName, input: toolInput },\n this.fileContentCache,\n this.logger,\n ).title,\n },\n });\n\n if (\n response.outcome?.outcome === \"selected\" &&\n (response.outcome.optionId === \"default\" ||\n response.outcome.optionId === \"acceptEdits\")\n ) {\n session.permissionMode = response.outcome.optionId;\n await this.client.sessionUpdate({\n sessionId,\n update: {\n sessionUpdate: \"current_mode_update\",\n currentModeId: response.outcome.optionId,\n },\n });\n\n return {\n behavior: \"allow\",\n updatedInput: toolInput,\n updatedPermissions: suggestions ?? [\n {\n type: \"setMode\",\n mode: response.outcome.optionId,\n destination: \"session\",\n },\n ],\n };\n } else {\n return {\n behavior: \"deny\",\n message: \"User rejected request to exit plan mode.\",\n interrupt: true,\n };\n }\n }\n\n if (\n session.permissionMode === \"bypassPermissions\" ||\n (session.permissionMode === \"acceptEdits\" &&\n EDIT_TOOL_NAMES.includes(toolName))\n ) {\n return {\n behavior: \"allow\",\n updatedInput: toolInput,\n updatedPermissions: suggestions ?? [\n {\n type: \"addRules\",\n rules: [{ toolName }],\n behavior: \"allow\",\n destination: \"session\",\n },\n ],\n };\n }\n\n const response = await this.client.requestPermission({\n options: [\n {\n kind: \"allow_always\",\n name: \"Always Allow\",\n optionId: \"allow_always\",\n },\n { kind: \"allow_once\", name: \"Allow\", optionId: \"allow\" },\n { kind: \"reject_once\", name: \"Reject\", optionId: \"reject\" },\n ],\n sessionId,\n toolCall: {\n toolCallId: toolUseID,\n rawInput: toolInput,\n title: toolInfoFromToolUse(\n { name: toolName, input: toolInput },\n this.fileContentCache,\n this.logger,\n ).title,\n },\n });\n if (\n response.outcome?.outcome === \"selected\" &&\n (response.outcome.optionId === \"allow\" ||\n response.outcome.optionId === \"allow_always\")\n ) {\n // If Claude Code has suggestions, it will update their settings already\n if (response.outcome.optionId === \"allow_always\") {\n return {\n behavior: \"allow\",\n updatedInput: toolInput,\n updatedPermissions: suggestions ?? [\n {\n type: \"addRules\",\n rules: [{ toolName }],\n behavior: \"allow\",\n destination: \"session\",\n },\n ],\n };\n }\n return {\n behavior: \"allow\",\n updatedInput: toolInput,\n };\n } else {\n return {\n behavior: \"deny\",\n message: \"User refused permission to run tool\",\n interrupt: true,\n };\n }\n };\n }\n\n /**\n * Handle custom extension methods.\n * Per ACP spec, extension methods start with underscore.\n */\n async extMethod(\n method: string,\n params: Record<string, unknown>,\n ): Promise<Record<string, unknown>> {\n if (method === \"_posthog/session/resume\") {\n await this.resumeSession(params as unknown as LoadSessionRequest);\n return {};\n }\n\n throw RequestError.methodNotFound(method);\n }\n\n /**\n * Resume a session without replaying history.\n * Client is responsible for fetching and rendering history from S3.\n * This basically implemetns the ACP session/resume RFD:\n * https://agentclientprotocol.com/rfds/session-resume\n */\n async resumeSession(\n params: LoadSessionRequest,\n ): Promise<LoadSessionResponse> {\n this.logger.info(\"[RESUME] Resuming session\", { params });\n const { sessionId } = params;\n\n // Extract persistence config and SDK session ID from _meta\n const persistence = params._meta?.persistence as\n | SessionPersistenceConfig\n | undefined;\n const sdkSessionId = params._meta?.sdkSessionId as string | undefined;\n\n if (!this.sessions[sessionId]) {\n const input = new Pushable<SDKUserMessage>();\n\n const mcpServers: Record<string, McpServerConfig> = {};\n if (Array.isArray(params.mcpServers)) {\n for (const server of params.mcpServers) {\n if (\"type\" in server) {\n mcpServers[server.name] = {\n type: server.type,\n url: server.url,\n headers: server.headers\n ? Object.fromEntries(\n server.headers.map((e) => [e.name, e.value]),\n )\n : undefined,\n };\n } else {\n mcpServers[server.name] = {\n type: \"stdio\",\n command: server.command,\n args: server.args,\n env: server.env\n ? Object.fromEntries(server.env.map((e) => [e.name, e.value]))\n : undefined,\n };\n }\n }\n }\n\n const server = createMcpServer(this, sessionId, this.clientCapabilities);\n mcpServers.acp = {\n type: \"sdk\",\n name: \"acp\",\n instance: server,\n };\n\n const permissionMode = \"default\";\n\n this.logger.info(\"Resuming session\", {\n cwd: params.cwd,\n sdkSessionId,\n persistence,\n });\n const options: Options = {\n cwd: params.cwd,\n includePartialMessages: true,\n mcpServers,\n systemPrompt: { type: \"preset\", preset: \"claude_code\" },\n settingSources: [\"user\", \"project\", \"local\"],\n allowDangerouslySkipPermissions: !IS_ROOT,\n permissionMode,\n canUseTool: this.canUseTool(sessionId),\n stderr: (err) => this.logger.error(err),\n // Use \"node\" to resolve via PATH where a symlink to Electron exists.\n // This avoids launching the Electron binary directly from the app bundle,\n // which can cause dock icons to appear on macOS even with ELECTRON_RUN_AS_NODE.\n executable: \"node\",\n // Prevent spawned Electron processes from showing in dock/tray.\n // Must merge with process.env since SDK replaces rather than merges.\n env: { ...process.env, ELECTRON_RUN_AS_NODE: \"1\" },\n ...(process.env.CLAUDE_CODE_EXECUTABLE && {\n pathToClaudeCodeExecutable: process.env.CLAUDE_CODE_EXECUTABLE,\n }),\n // Resume from SDK session if available\n ...(sdkSessionId && { resume: sdkSessionId }),\n hooks: {\n PostToolUse: [\n {\n hooks: [createPostToolUseHook(this.logger)],\n },\n ],\n },\n };\n\n // Clear statsig cache before creating query to avoid input_examples bug\n clearStatsigCache();\n\n const q = query({\n prompt: input,\n options,\n });\n\n const availableCommands = await getAvailableSlashCommands(q);\n\n const newSession = this.createSession(\n sessionId,\n q,\n input,\n permissionMode,\n );\n\n // Store SDK session ID if resuming\n if (sdkSessionId) {\n newSession.sdkSessionId = sdkSessionId;\n }\n\n // Register for future persistence\n if (persistence && this.sessionStore) {\n this.sessionStore.register(sessionId, persistence);\n }\n\n setTimeout(() => {\n this.client.sessionUpdate({\n sessionId,\n update: {\n sessionUpdate: \"available_commands_update\",\n availableCommands,\n },\n });\n }, 0);\n }\n\n return {};\n }\n}\n\nasync function getAvailableModels(query: Query): Promise<SessionModelState> {\n const models = await query.supportedModels();\n\n // Query doesn't give us access to the currently selected model, so we just choose the first model in the list.\n const currentModel = models[0];\n await query.setModel(currentModel.value);\n\n const availableModels = models.map((model) => ({\n modelId: model.value,\n name: model.displayName,\n description: model.description,\n }));\n\n return {\n availableModels,\n currentModelId: currentModel.value,\n };\n}\n\nasync function getAvailableSlashCommands(\n query: Query,\n): Promise<AvailableCommand[]> {\n const UNSUPPORTED_COMMANDS = [\n \"context\",\n \"cost\",\n \"login\",\n \"logout\",\n \"output-style:new\",\n \"release-notes\",\n \"todos\",\n ];\n const commands = await query.supportedCommands();\n\n return commands\n .map((command) => {\n const input = command.argumentHint\n ? { hint: command.argumentHint }\n : null;\n let name = command.name;\n if (command.name.endsWith(\" (MCP)\")) {\n name = `mcp:${name.replace(\" (MCP)\", \"\")}`;\n }\n return {\n name,\n description: command.description || \"\",\n input,\n };\n })\n .filter(\n (command: AvailableCommand) =>\n !UNSUPPORTED_COMMANDS.includes(command.name),\n );\n}\n\nfunction formatUriAsLink(uri: string): string {\n try {\n if (uri.startsWith(\"file://\")) {\n const path = uri.slice(7); // Remove \"file://\"\n const name = path.split(\"/\").pop() || path;\n return `[@${name}](${uri})`;\n } else if (uri.startsWith(\"zed://\")) {\n const parts = uri.split(\"/\");\n const name = parts[parts.length - 1] || uri;\n return `[@${name}](${uri})`;\n }\n return uri;\n } catch {\n return uri;\n }\n}\n\nexport function promptToClaude(prompt: PromptRequest): SDKUserMessage {\n const content: any[] = [];\n const context: any[] = [];\n\n for (const chunk of prompt.prompt) {\n switch (chunk.type) {\n case \"text\": {\n let text = chunk.text;\n // change /mcp:server:command args -> /server:command (MCP) args\n const mcpMatch = text.match(/^\\/mcp:([^:\\s]+):(\\S+)(\\s+.*)?$/);\n if (mcpMatch) {\n const [, server, command, args] = mcpMatch;\n text = `/${server}:${command} (MCP)${args || \"\"}`;\n }\n content.push({ type: \"text\", text });\n break;\n }\n case \"resource_link\": {\n const formattedUri = formatUriAsLink(chunk.uri);\n content.push({\n type: \"text\",\n text: formattedUri,\n });\n break;\n }\n case \"resource\": {\n if (\"text\" in chunk.resource) {\n const formattedUri = formatUriAsLink(chunk.resource.uri);\n content.push({\n type: \"text\",\n text: formattedUri,\n });\n context.push({\n type: \"text\",\n text: `\\n<context ref=\"${chunk.resource.uri}\">\\n${chunk.resource.text}\\n</context>`,\n });\n }\n // Ignore blob resources (unsupported)\n break;\n }\n case \"image\":\n if (chunk.data) {\n content.push({\n type: \"image\",\n source: {\n type: \"base64\",\n data: chunk.data,\n media_type: chunk.mimeType,\n },\n });\n } else if (chunk.uri?.startsWith(\"http\")) {\n content.push({\n type: \"image\",\n source: {\n type: \"url\",\n url: chunk.uri,\n },\n });\n }\n break;\n // Ignore audio and other unsupported types\n default:\n break;\n }\n }\n\n content.push(...context);\n\n return {\n type: \"user\",\n message: {\n role: \"user\",\n content: content,\n },\n session_id: prompt.sessionId,\n parent_tool_use_id: null,\n };\n}\n\n/**\n * Convert an SDKAssistantMessage (Claude) to a SessionNotification (ACP).\n * Only handles text, image, and thinking chunks for now.\n */\nexport function toAcpNotifications(\n content:\n | string\n | ContentBlockParam[]\n | BetaContentBlock[]\n | BetaRawContentBlockDelta[],\n role: \"assistant\" | \"user\",\n sessionId: string,\n toolUseCache: ToolUseCache,\n fileContentCache: { [key: string]: string },\n client: AgentSideConnection,\n logger: Logger,\n): SessionNotification[] {\n if (typeof content === \"string\") {\n return [\n {\n sessionId,\n update: {\n sessionUpdate:\n role === \"assistant\" ? \"agent_message_chunk\" : \"user_message_chunk\",\n content: {\n type: \"text\",\n text: content,\n },\n },\n },\n ];\n }\n\n const output = [];\n // Only handle the first chunk for streaming; extend as needed for batching\n for (const chunk of content) {\n let update: SessionNotification[\"update\"] | null = null;\n switch (chunk.type) {\n case \"text\":\n case \"text_delta\":\n update = {\n sessionUpdate:\n role === \"assistant\" ? \"agent_message_chunk\" : \"user_message_chunk\",\n content: {\n type: \"text\",\n text: chunk.text,\n },\n };\n break;\n case \"image\":\n update = {\n sessionUpdate:\n role === \"assistant\" ? \"agent_message_chunk\" : \"user_message_chunk\",\n content: {\n type: \"image\",\n data: chunk.source.type === \"base64\" ? chunk.source.data : \"\",\n mimeType:\n chunk.source.type === \"base64\" ? chunk.source.media_type : \"\",\n uri: chunk.source.type === \"url\" ? chunk.source.url : undefined,\n },\n };\n break;\n case \"thinking\":\n case \"thinking_delta\":\n update = {\n sessionUpdate: \"agent_thought_chunk\",\n content: {\n type: \"text\",\n text: chunk.thinking,\n },\n };\n break;\n case \"tool_use\":\n case \"server_tool_use\":\n case \"mcp_tool_use\": {\n toolUseCache[chunk.id] = chunk;\n if (chunk.name === \"TodoWrite\") {\n // @ts-expect-error - sometimes input is empty object\n if (Array.isArray(chunk.input.todos)) {\n update = {\n sessionUpdate: \"plan\",\n entries: planEntries(chunk.input as { todos: ClaudePlanEntry[] }),\n };\n }\n } else {\n // Register hook callback to receive the structured output from the hook\n registerHookCallback(chunk.id, {\n onPostToolUseHook: async (toolUseId, _toolInput, toolResponse) => {\n const toolUse = toolUseCache[toolUseId];\n if (toolUse) {\n const update: SessionNotification[\"update\"] = {\n _meta: {\n claudeCode: {\n toolResponse,\n toolName: toolUse.name,\n },\n } satisfies ToolUpdateMeta,\n toolCallId: toolUseId,\n sessionUpdate: \"tool_call_update\",\n };\n await client.sessionUpdate({\n sessionId,\n update,\n });\n } else {\n logger.error(\n `[claude-code-acp] Got a tool response for tool use that wasn't tracked: ${toolUseId}`,\n );\n }\n },\n });\n\n let rawInput: Record<string, unknown> | undefined;\n try {\n rawInput = JSON.parse(JSON.stringify(chunk.input));\n } catch {\n // ignore if we can't turn it to JSON\n }\n update = {\n _meta: {\n claudeCode: {\n toolName: chunk.name,\n },\n } satisfies ToolUpdateMeta,\n toolCallId: chunk.id,\n sessionUpdate: \"tool_call\",\n rawInput,\n status: \"pending\",\n ...toolInfoFromToolUse(chunk, fileContentCache, logger),\n };\n }\n break;\n }\n\n case \"tool_result\":\n case \"tool_search_tool_result\":\n case \"web_fetch_tool_result\":\n case \"web_search_tool_result\":\n case \"code_execution_tool_result\":\n case \"bash_code_execution_tool_result\":\n case \"text_editor_code_execution_tool_result\":\n case \"mcp_tool_result\": {\n const toolUse = toolUseCache[chunk.tool_use_id];\n if (!toolUse) {\n logger.error(\n `[claude-code-acp] Got a tool result for tool use that wasn't tracked: ${chunk.tool_use_id}`,\n );\n break;\n }\n\n if (toolUse.name !== \"TodoWrite\") {\n update = {\n _meta: {\n claudeCode: {\n toolName: toolUse.name,\n },\n } satisfies ToolUpdateMeta,\n toolCallId: chunk.tool_use_id,\n sessionUpdate: \"tool_call_update\",\n status:\n \"is_error\" in chunk && chunk.is_error ? \"failed\" : \"completed\",\n ...toolUpdateFromToolResult(chunk, toolUseCache[chunk.tool_use_id]),\n };\n }\n break;\n }\n\n case \"document\":\n case \"search_result\":\n case \"redacted_thinking\":\n case \"input_json_delta\":\n case \"citations_delta\":\n case \"signature_delta\":\n case \"container_upload\":\n break;\n\n default:\n unreachable(chunk, logger);\n break;\n }\n if (update) {\n output.push({ sessionId, update });\n }\n }\n\n return output;\n}\n\nexport function streamEventToAcpNotifications(\n message: SDKPartialAssistantMessage,\n sessionId: string,\n toolUseCache: ToolUseCache,\n fileContentCache: { [key: string]: string },\n client: AgentSideConnection,\n logger: Logger,\n): SessionNotification[] {\n const event = message.event;\n switch (event.type) {\n case \"content_block_start\":\n return toAcpNotifications(\n [event.content_block],\n \"assistant\",\n sessionId,\n toolUseCache,\n fileContentCache,\n client,\n logger,\n );\n case \"content_block_delta\":\n return toAcpNotifications(\n [event.delta],\n \"assistant\",\n sessionId,\n toolUseCache,\n fileContentCache,\n client,\n logger,\n );\n // No content\n case \"message_start\":\n case \"message_delta\":\n case \"message_stop\":\n case \"content_block_stop\":\n return [];\n\n default:\n unreachable(event, logger);\n return [];\n }\n}\n\nexport type AcpConnectionConfig = {\n sessionStore?: SessionStore;\n sessionId?: string;\n taskId?: string;\n};\n\nexport type InProcessAcpConnection = {\n agentConnection: AgentSideConnection;\n clientStreams: StreamPair;\n};\n\nexport function createAcpConnection(\n config: AcpConnectionConfig = {},\n): InProcessAcpConnection {\n const logger = new Logger({ debug: true, prefix: \"[AcpConnection]\" });\n const streams = createBidirectionalStreams();\n\n const { sessionStore } = config;\n\n // Tap both streams for automatic persistence\n // All messages (bidirectional) will be persisted as they flow through\n let agentWritable = streams.agent.writable;\n let clientWritable = streams.client.writable;\n\n if (config.sessionId && sessionStore) {\n // Register session for persistence BEFORE tapping streams\n // This ensures all messages from the start get persisted\n if (!sessionStore.isRegistered(config.sessionId)) {\n sessionStore.register(config.sessionId, {\n taskId: config.taskId ?? config.sessionId,\n runId: config.sessionId,\n logUrl: \"\", // Will be updated when we get the real logUrl\n });\n }\n\n // Tap agent→client stream\n agentWritable = createTappedWritableStream(streams.agent.writable, {\n onMessage: (line) => {\n sessionStore.appendRawLine(config.sessionId!, line);\n },\n logger,\n });\n\n // Tap client→agent stream\n clientWritable = createTappedWritableStream(streams.client.writable, {\n onMessage: (line) => {\n sessionStore.appendRawLine(config.sessionId!, line);\n },\n logger,\n });\n } else {\n logger.info(\"Tapped streams NOT enabled\", {\n hasSessionId: !!config.sessionId,\n hasSessionStore: !!sessionStore,\n });\n }\n\n const agentStream = ndJsonStream(agentWritable, streams.agent.readable);\n\n const agentConnection = new AgentSideConnection(\n (client) => new ClaudeAcpAgent(client, sessionStore),\n agentStream,\n );\n\n return {\n agentConnection,\n clientStreams: {\n readable: streams.client.readable,\n writable: clientWritable,\n },\n };\n}\n"],"names":["uuidv7"],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { ClientCapabilities } from "@agentclientprotocol/sdk";
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
import type { ClaudeAcpAgent } from "./claude.js";
|
|
4
|
-
export declare const SYSTEM_REMINDER = "\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>";
|
|
5
|
-
export declare const toolNames: {
|
|
6
|
-
read: string;
|
|
7
|
-
edit: string;
|
|
8
|
-
write: string;
|
|
9
|
-
bash: string;
|
|
10
|
-
killShell: string;
|
|
11
|
-
bashOutput: string;
|
|
12
|
-
};
|
|
13
|
-
export declare const EDIT_TOOL_NAMES: string[];
|
|
14
|
-
export declare function createMcpServer(agent: ClaudeAcpAgent, sessionId: string, clientCapabilities: ClientCapabilities | undefined): McpServer;
|
|
15
|
-
/**
|
|
16
|
-
* Replace text in a file and calculate the line numbers where the edits occurred.
|
|
17
|
-
*
|
|
18
|
-
* @param fileContent - The full file content
|
|
19
|
-
* @param edits - Array of edit operations to apply sequentially
|
|
20
|
-
* @returns the new content and the line numbers where replacements occurred in the final content
|
|
21
|
-
*/
|
|
22
|
-
export declare function replaceAndCalculateLocation(fileContent: string, edits: Array<{
|
|
23
|
-
oldText: string;
|
|
24
|
-
newText: string;
|
|
25
|
-
replaceAll?: boolean;
|
|
26
|
-
}>): {
|
|
27
|
-
newContent: string;
|
|
28
|
-
lineNumbers: number[];
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=mcp-server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../../src/adapters/claude/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,eAAe,iSAIT,CAAC;AAcpB,eAAO,MAAM,SAAS;;;;;;;CAOrB,CAAC;AAEF,eAAO,MAAM,eAAe,UAAoC,CAAC;AAEjE,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,GACjD,SAAS,CAolBX;AA+DD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC,GACD;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CA2F/C"}
|