@posthog/agent 1.24.0 → 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/LICENSE +33 -0
- 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 +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- 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 +15 -25
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +118 -156
- package/dist/src/agent.js.map +1 -1
- package/dist/src/file-manager.d.ts +2 -2
- package/dist/src/file-manager.d.ts.map +1 -1
- package/dist/src/file-manager.js +13 -5
- package/dist/src/file-manager.js.map +1 -1
- package/dist/src/git-manager.d.ts +1 -0
- package/dist/src/git-manager.d.ts.map +1 -1
- package/dist/src/git-manager.js +18 -0
- package/dist/src/git-manager.js.map +1 -1
- package/dist/src/posthog-api.d.ts +8 -13
- package/dist/src/posthog-api.d.ts.map +1 -1
- package/dist/src/posthog-api.js +14 -2
- package/dist/src/posthog-api.js.map +1 -1
- package/dist/src/prompt-builder.d.ts +2 -2
- package/dist/src/prompt-builder.d.ts.map +1 -1
- package/dist/src/prompt-builder.js +7 -7
- 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 +3 -3
- package/dist/src/task-manager.d.ts.map +1 -1
- package/dist/src/task-manager.js.map +1 -1
- package/dist/src/template-manager.d.ts.map +1 -1
- package/dist/src/template-manager.js +6 -6
- package/dist/src/template-manager.js.map +1 -1
- package/dist/src/todo-manager.d.ts +2 -2
- package/dist/src/todo-manager.d.ts.map +1 -1
- package/dist/src/todo-manager.js +5 -1
- package/dist/src/todo-manager.js.map +1 -1
- package/dist/src/types.d.ts +54 -159
- 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 +10 -2
- package/dist/src/utils/logger.d.ts.map +1 -1
- package/dist/src/utils/logger.js +35 -20
- 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/steps/build.d.ts.map +1 -1
- package/dist/src/workflow/steps/build.js +15 -9
- package/dist/src/workflow/steps/build.js.map +1 -1
- package/dist/src/workflow/steps/finalize.d.ts.map +1 -1
- package/dist/src/workflow/steps/finalize.js +4 -4
- package/dist/src/workflow/steps/finalize.js.map +1 -1
- package/dist/src/workflow/steps/plan.d.ts.map +1 -1
- package/dist/src/workflow/steps/plan.js +22 -12
- package/dist/src/workflow/steps/plan.js.map +1 -1
- package/dist/src/workflow/steps/research.d.ts.map +1 -1
- package/dist/src/workflow/steps/research.js +33 -26
- package/dist/src/workflow/steps/research.js.map +1 -1
- package/dist/src/workflow/types.d.ts +10 -5
- package/dist/src/workflow/types.d.ts.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 +19 -15
- 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 +151 -222
- package/src/file-manager.ts +16 -7
- package/src/git-manager.ts +20 -0
- package/src/posthog-api.ts +38 -17
- package/src/prompt-builder.ts +23 -15
- package/src/schemas.ts +241 -0
- package/src/session-store.ts +244 -0
- package/src/task-manager.ts +3 -3
- package/src/template-manager.ts +8 -8
- package/src/todo-manager.ts +9 -3
- package/src/types.ts +79 -210
- package/src/utils/logger.ts +47 -22
- package/src/utils/tapped-stream.ts +60 -0
- package/src/workflow/steps/build.ts +16 -11
- package/src/workflow/steps/finalize.ts +4 -11
- package/src/workflow/steps/plan.ts +24 -19
- package/src/workflow/steps/research.ts +34 -33
- package/src/workflow/types.ts +14 -5
- 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 -356
- 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 -42
- package/dist/src/task-progress-reporter.d.ts.map +0 -1
- package/dist/src/task-progress-reporter.js +0 -398
- package/dist/src/task-progress-reporter.js.map +0 -1
- package/src/adapters/claude/claude-adapter.ts +0 -390
- package/src/adapters/claude/tool-mapper.ts +0 -46
- package/src/adapters/types.ts +0 -37
- package/src/task-progress-reporter.ts +0 -454
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import type { PostHogAPIClient, TaskRunUpdate } from "./posthog-api.js";
|
|
2
|
+
import type { StoredNotification, TaskRun } from "./types.js";
|
|
3
|
+
import { Logger } from "./utils/logger.js";
|
|
4
|
+
|
|
5
|
+
export interface SessionPersistenceConfig {
|
|
6
|
+
taskId: string;
|
|
7
|
+
runId: string;
|
|
8
|
+
logUrl: string;
|
|
9
|
+
sdkSessionId?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class SessionStore {
|
|
13
|
+
private posthogAPI?: PostHogAPIClient;
|
|
14
|
+
private pendingEntries: Map<string, StoredNotification[]> = new Map();
|
|
15
|
+
private flushTimeouts: Map<string, NodeJS.Timeout> = new Map();
|
|
16
|
+
private configs: Map<string, SessionPersistenceConfig> = new Map();
|
|
17
|
+
private logger: Logger;
|
|
18
|
+
|
|
19
|
+
constructor(posthogAPI?: PostHogAPIClient, logger?: Logger) {
|
|
20
|
+
this.posthogAPI = posthogAPI;
|
|
21
|
+
this.logger =
|
|
22
|
+
logger ?? new Logger({ debug: false, prefix: "[SessionStore]" });
|
|
23
|
+
|
|
24
|
+
// Flush all pending on process exit
|
|
25
|
+
const flushAllAndExit = async () => {
|
|
26
|
+
const flushPromises: Promise<void>[] = [];
|
|
27
|
+
for (const sessionId of this.configs.keys()) {
|
|
28
|
+
flushPromises.push(this.flush(sessionId));
|
|
29
|
+
}
|
|
30
|
+
await Promise.all(flushPromises);
|
|
31
|
+
process.exit(0);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
process.on("beforeExit", () => {
|
|
35
|
+
flushAllAndExit().catch((e) => this.logger.error("Flush failed:", e));
|
|
36
|
+
});
|
|
37
|
+
process.on("SIGINT", () => {
|
|
38
|
+
flushAllAndExit().catch((e) => this.logger.error("Flush failed:", e));
|
|
39
|
+
});
|
|
40
|
+
process.on("SIGTERM", () => {
|
|
41
|
+
flushAllAndExit().catch((e) => this.logger.error("Flush failed:", e));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Register a session for persistence */
|
|
46
|
+
register(sessionId: string, config: SessionPersistenceConfig): void {
|
|
47
|
+
this.configs.set(sessionId, config);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Unregister and flush pending */
|
|
51
|
+
async unregister(sessionId: string): Promise<void> {
|
|
52
|
+
await this.flush(sessionId);
|
|
53
|
+
this.configs.delete(sessionId);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Check if a session is registered for persistence */
|
|
57
|
+
isRegistered(sessionId: string): boolean {
|
|
58
|
+
return this.configs.has(sessionId);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Append a raw JSON-RPC line for persistence.
|
|
63
|
+
* Parses and wraps as StoredNotification for the API.
|
|
64
|
+
*/
|
|
65
|
+
appendRawLine(sessionId: string, line: string): void {
|
|
66
|
+
const config = this.configs.get(sessionId);
|
|
67
|
+
if (!config) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
try {
|
|
72
|
+
const message = JSON.parse(line);
|
|
73
|
+
const entry: StoredNotification = {
|
|
74
|
+
type: "notification",
|
|
75
|
+
timestamp: new Date().toISOString(),
|
|
76
|
+
notification: message,
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const pending = this.pendingEntries.get(sessionId) ?? [];
|
|
80
|
+
pending.push(entry);
|
|
81
|
+
this.pendingEntries.set(sessionId, pending);
|
|
82
|
+
|
|
83
|
+
this.scheduleFlush(sessionId);
|
|
84
|
+
} catch {
|
|
85
|
+
this.logger.warn("Failed to parse raw line for persistence", {
|
|
86
|
+
sessionId,
|
|
87
|
+
lineLength: line.length,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** Load raw JSON-RPC messages from S3 */
|
|
93
|
+
async load(logUrl: string): Promise<unknown[]> {
|
|
94
|
+
const response = await fetch(logUrl);
|
|
95
|
+
|
|
96
|
+
if (!response.ok) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const content = await response.text();
|
|
101
|
+
if (!content.trim()) return [];
|
|
102
|
+
|
|
103
|
+
return content
|
|
104
|
+
.trim()
|
|
105
|
+
.split("\n")
|
|
106
|
+
.map((line) => {
|
|
107
|
+
try {
|
|
108
|
+
return JSON.parse(line);
|
|
109
|
+
} catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
})
|
|
113
|
+
.filter((entry): entry is unknown => entry !== null);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** Force flush pending entries */
|
|
117
|
+
async flush(sessionId: string): Promise<void> {
|
|
118
|
+
const config = this.configs.get(sessionId);
|
|
119
|
+
const pending = this.pendingEntries.get(sessionId);
|
|
120
|
+
|
|
121
|
+
if (!config || !pending?.length) return;
|
|
122
|
+
|
|
123
|
+
this.pendingEntries.delete(sessionId);
|
|
124
|
+
const timeout = this.flushTimeouts.get(sessionId);
|
|
125
|
+
if (timeout) {
|
|
126
|
+
clearTimeout(timeout);
|
|
127
|
+
this.flushTimeouts.delete(sessionId);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (!this.posthogAPI) {
|
|
131
|
+
this.logger.debug("No PostHog API configured, skipping flush");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
try {
|
|
136
|
+
await this.posthogAPI.appendTaskRunLog(
|
|
137
|
+
config.taskId,
|
|
138
|
+
config.runId,
|
|
139
|
+
pending,
|
|
140
|
+
);
|
|
141
|
+
} catch (error) {
|
|
142
|
+
this.logger.error("Failed to persist session logs:", error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private scheduleFlush(sessionId: string): void {
|
|
147
|
+
const existing = this.flushTimeouts.get(sessionId);
|
|
148
|
+
if (existing) clearTimeout(existing);
|
|
149
|
+
const timeout = setTimeout(() => this.flush(sessionId), 500);
|
|
150
|
+
this.flushTimeouts.set(sessionId, timeout);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Get the persistence config for a session */
|
|
154
|
+
getConfig(sessionId: string): SessionPersistenceConfig | undefined {
|
|
155
|
+
return this.configs.get(sessionId);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Start a session for persistence.
|
|
160
|
+
* Loads the task run and updates status to "in_progress".
|
|
161
|
+
*/
|
|
162
|
+
async start(
|
|
163
|
+
sessionId: string,
|
|
164
|
+
taskId: string,
|
|
165
|
+
runId: string,
|
|
166
|
+
): Promise<TaskRun | undefined> {
|
|
167
|
+
if (!this.posthogAPI) {
|
|
168
|
+
this.logger.debug(
|
|
169
|
+
"No PostHog API configured, registering session without persistence",
|
|
170
|
+
);
|
|
171
|
+
this.register(sessionId, {
|
|
172
|
+
taskId,
|
|
173
|
+
runId,
|
|
174
|
+
logUrl: "",
|
|
175
|
+
});
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
const taskRun = await this.posthogAPI.getTaskRun(taskId, runId);
|
|
180
|
+
|
|
181
|
+
this.register(sessionId, {
|
|
182
|
+
taskId,
|
|
183
|
+
runId,
|
|
184
|
+
logUrl: taskRun.log_url,
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
await this.updateTaskRun(sessionId, { status: "in_progress" });
|
|
188
|
+
|
|
189
|
+
return taskRun;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Mark a session as completed.
|
|
194
|
+
*/
|
|
195
|
+
async complete(sessionId: string): Promise<void> {
|
|
196
|
+
await this.flush(sessionId);
|
|
197
|
+
await this.updateTaskRun(sessionId, { status: "completed" });
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Mark a session as failed.
|
|
202
|
+
*/
|
|
203
|
+
async fail(sessionId: string, error: Error | string): Promise<void> {
|
|
204
|
+
await this.flush(sessionId);
|
|
205
|
+
const message = typeof error === "string" ? error : error.message;
|
|
206
|
+
await this.updateTaskRun(sessionId, {
|
|
207
|
+
status: "failed",
|
|
208
|
+
error_message: message,
|
|
209
|
+
});
|
|
210
|
+
this.logger.error("Session failed", { sessionId, error: message });
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Update the task run associated with a session.
|
|
215
|
+
*/
|
|
216
|
+
async updateTaskRun(
|
|
217
|
+
sessionId: string,
|
|
218
|
+
update: TaskRunUpdate,
|
|
219
|
+
): Promise<TaskRun | undefined> {
|
|
220
|
+
const config = this.configs.get(sessionId);
|
|
221
|
+
if (!config) {
|
|
222
|
+
this.logger.error(
|
|
223
|
+
`Cannot update task run: session ${sessionId} not registered`,
|
|
224
|
+
);
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if (!this.posthogAPI) {
|
|
229
|
+
this.logger.debug("No PostHog API configured, skipping task run update");
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
return await this.posthogAPI.updateTaskRun(
|
|
235
|
+
config.taskId,
|
|
236
|
+
config.runId,
|
|
237
|
+
update,
|
|
238
|
+
);
|
|
239
|
+
} catch (error) {
|
|
240
|
+
this.logger.error("Failed to update task run:", error);
|
|
241
|
+
return undefined;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
package/src/task-manager.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface TaskExecutionState {
|
|
|
4
4
|
taskId: string;
|
|
5
5
|
status: "running" | "completed" | "failed" | "canceled" | "timeout";
|
|
6
6
|
mode: "plan_only" | "plan_and_build" | "build_only";
|
|
7
|
-
result?:
|
|
7
|
+
result?: unknown;
|
|
8
8
|
startedAt: number;
|
|
9
9
|
completedAt?: number;
|
|
10
10
|
abortController?: AbortController;
|
|
@@ -37,7 +37,7 @@ export class TaskManager {
|
|
|
37
37
|
return executionState;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
async waitForCompletion(executionId: string): Promise<
|
|
40
|
+
async waitForCompletion(executionId: string): Promise<unknown> {
|
|
41
41
|
const execution = this.executionStates.get(executionId);
|
|
42
42
|
if (!execution) {
|
|
43
43
|
throw new Error(`Execution ${executionId} not found`);
|
|
@@ -76,7 +76,7 @@ export class TaskManager {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
completeExecution(executionId: string, result:
|
|
79
|
+
completeExecution(executionId: string, result: unknown): void {
|
|
80
80
|
const execution = this.executionStates.get(executionId);
|
|
81
81
|
if (!execution) {
|
|
82
82
|
throw new Error(`Execution ${executionId} not found`);
|
package/src/template-manager.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { existsSync, promises as fs } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { Logger } from "./utils/logger";
|
|
5
|
+
|
|
6
|
+
const logger = new Logger({ prefix: "[TemplateManager]" });
|
|
4
7
|
|
|
5
8
|
export interface TemplateVariables {
|
|
6
9
|
task_id: string;
|
|
@@ -77,14 +80,11 @@ export class TemplateManager {
|
|
|
77
80
|
const resolvedDir = candidateDirs.find((dir) => existsSync(dir));
|
|
78
81
|
|
|
79
82
|
if (!resolvedDir) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
candidateDirs
|
|
86
|
-
.map((d) => `\n - ${d} (exists: ${existsSync(d)})`)
|
|
87
|
-
.join(""),
|
|
83
|
+
logger.error("Could not find templates directory.");
|
|
84
|
+
logger.error(`Current file: ${__filename}`);
|
|
85
|
+
logger.error(`Current dir: ${__dirname}`);
|
|
86
|
+
logger.error(
|
|
87
|
+
`Tried: ${candidateDirs.map((d) => `\n - ${d} (exists: ${existsSync(d)})`).join("")}`,
|
|
88
88
|
);
|
|
89
89
|
}
|
|
90
90
|
|
package/src/todo-manager.ts
CHANGED
|
@@ -76,7 +76,7 @@ export class TodoManager {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
parseTodoWriteInput(toolInput:
|
|
79
|
+
parseTodoWriteInput(toolInput: Record<string, unknown>): TodoList {
|
|
80
80
|
const items: TodoItem[] = [];
|
|
81
81
|
|
|
82
82
|
if (toolInput.todos && Array.isArray(toolInput.todos)) {
|
|
@@ -137,10 +137,16 @@ export class TodoManager {
|
|
|
137
137
|
|
|
138
138
|
// check for TodoWrite tool call and persist if found
|
|
139
139
|
async checkAndPersistFromMessage(
|
|
140
|
-
message:
|
|
140
|
+
message: Record<string, unknown>,
|
|
141
141
|
taskId: string,
|
|
142
142
|
): Promise<TodoList | null> {
|
|
143
|
-
if (
|
|
143
|
+
if (
|
|
144
|
+
message.type !== "assistant" ||
|
|
145
|
+
typeof message.message !== "object" ||
|
|
146
|
+
!message.message ||
|
|
147
|
+
!("content" in message.message) ||
|
|
148
|
+
!Array.isArray(message.message.content)
|
|
149
|
+
) {
|
|
144
150
|
return null;
|
|
145
151
|
}
|
|
146
152
|
|
package/src/types.ts
CHANGED
|
@@ -1,13 +1,39 @@
|
|
|
1
1
|
// import and export to keep a single type file
|
|
2
|
+
|
|
3
|
+
import type { SessionNotification } from "@agentclientprotocol/sdk";
|
|
2
4
|
import type {
|
|
3
5
|
CanUseTool,
|
|
4
6
|
PermissionResult,
|
|
5
7
|
} from "@anthropic-ai/claude-agent-sdk";
|
|
6
|
-
export type { CanUseTool, PermissionResult };
|
|
8
|
+
export type { CanUseTool, PermissionResult, SessionNotification };
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Stored custom notification following ACP extensibility model.
|
|
12
|
+
* Custom notifications use underscore-prefixed methods (e.g., `_posthog/phase_start`).
|
|
13
|
+
* See: https://agentclientprotocol.com/docs/extensibility
|
|
14
|
+
*/
|
|
15
|
+
export interface StoredNotification {
|
|
16
|
+
type: "notification";
|
|
17
|
+
/** When this notification was stored */
|
|
18
|
+
timestamp: string;
|
|
19
|
+
/** JSON-RPC 2.0 notification (no id field = notification, not request) */
|
|
20
|
+
notification: {
|
|
21
|
+
jsonrpc: "2.0";
|
|
22
|
+
method: string;
|
|
23
|
+
params?: Record<string, unknown>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Type alias for stored log entries.
|
|
29
|
+
*/
|
|
30
|
+
export type StoredEntry = StoredNotification;
|
|
7
31
|
|
|
8
32
|
// PostHog Task model (matches Array's OpenAPI schema)
|
|
9
33
|
export interface Task {
|
|
10
34
|
id: string;
|
|
35
|
+
task_number?: number;
|
|
36
|
+
slug?: string;
|
|
11
37
|
title: string;
|
|
12
38
|
description: string;
|
|
13
39
|
origin_product:
|
|
@@ -16,28 +42,22 @@ export interface Task {
|
|
|
16
42
|
| "user_created"
|
|
17
43
|
| "support_queue"
|
|
18
44
|
| "session_summaries";
|
|
19
|
-
position?: number;
|
|
20
45
|
github_integration?: number | null;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
primary_repository: string;
|
|
46
|
+
repository: string; // Format: "organization/repository" (e.g., "posthog/posthog-js")
|
|
47
|
+
json_schema?: Record<string, unknown> | null; // JSON schema for task output validation
|
|
24
48
|
created_at: string;
|
|
25
49
|
updated_at: string;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
created_by?: {
|
|
51
|
+
id: number;
|
|
52
|
+
uuid: string;
|
|
53
|
+
distinct_id: string;
|
|
54
|
+
first_name: string;
|
|
55
|
+
email: string;
|
|
56
|
+
};
|
|
32
57
|
latest_run?: TaskRun;
|
|
33
58
|
}
|
|
34
59
|
|
|
35
60
|
// Log entry structure for TaskRun.log
|
|
36
|
-
export interface LogEntry {
|
|
37
|
-
type: string; // e.g., "info", "warning", "error", "success", "debug"
|
|
38
|
-
message: string;
|
|
39
|
-
[key: string]: unknown; // Allow additional fields
|
|
40
|
-
}
|
|
41
61
|
|
|
42
62
|
export type ArtifactType =
|
|
43
63
|
| "plan"
|
|
@@ -55,14 +75,26 @@ export interface TaskRunArtifact {
|
|
|
55
75
|
uploaded_at?: string;
|
|
56
76
|
}
|
|
57
77
|
|
|
78
|
+
export type TaskRunStatus =
|
|
79
|
+
| "not_started"
|
|
80
|
+
| "queued"
|
|
81
|
+
| "in_progress"
|
|
82
|
+
| "completed"
|
|
83
|
+
| "failed"
|
|
84
|
+
| "cancelled";
|
|
85
|
+
|
|
86
|
+
export type TaskRunEnvironment = "local" | "cloud";
|
|
87
|
+
|
|
58
88
|
// TaskRun model - represents individual execution runs of tasks
|
|
59
89
|
export interface TaskRun {
|
|
60
90
|
id: string;
|
|
61
91
|
task: string; // Task ID
|
|
62
92
|
team: number;
|
|
63
93
|
branch: string | null;
|
|
64
|
-
|
|
65
|
-
|
|
94
|
+
stage: string | null; // Current stage (e.g., 'research', 'plan', 'build')
|
|
95
|
+
environment: TaskRunEnvironment;
|
|
96
|
+
status: TaskRunStatus;
|
|
97
|
+
log_url: string;
|
|
66
98
|
error_message: string | null;
|
|
67
99
|
output: Record<string, unknown> | null; // Structured output (PR URL, commit SHA, etc.)
|
|
68
100
|
state: Record<string, unknown>; // Intermediate run state (defaults to {}, never null)
|
|
@@ -104,198 +136,15 @@ export interface TaskExecutionOptions {
|
|
|
104
136
|
isCloudMode?: boolean; // Determines local vs cloud behavior (local pauses after each phase)
|
|
105
137
|
createPR?: boolean; // Whether to create PR after build (defaults to false if local. This setting has no effect if isCloudMode is true.)
|
|
106
138
|
autoProgress?: boolean;
|
|
107
|
-
queryOverrides?: Record<string,
|
|
139
|
+
queryOverrides?: Record<string, unknown>;
|
|
108
140
|
// Fine-grained permission control (only applied to build phase)
|
|
109
141
|
// See: https://docs.claude.com/en/api/agent-sdk/permissions
|
|
110
142
|
canUseTool?: CanUseTool;
|
|
143
|
+
skipGitBranch?: boolean; // Skip creating a task-specific git branch
|
|
111
144
|
}
|
|
112
145
|
|
|
113
|
-
// Base event with timestamp
|
|
114
|
-
interface BaseEvent {
|
|
115
|
-
ts: number;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Streaming content events
|
|
119
|
-
export interface TokenEvent extends BaseEvent {
|
|
120
|
-
type: "token";
|
|
121
|
-
content: string;
|
|
122
|
-
contentType?: "text" | "thinking" | "tool_input";
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export interface ContentBlockStartEvent extends BaseEvent {
|
|
126
|
-
type: "content_block_start";
|
|
127
|
-
index: number;
|
|
128
|
-
contentType: "text" | "tool_use" | "thinking";
|
|
129
|
-
toolName?: string;
|
|
130
|
-
toolId?: string;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export interface ContentBlockStopEvent extends BaseEvent {
|
|
134
|
-
type: "content_block_stop";
|
|
135
|
-
index: number;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Tool events
|
|
139
|
-
export interface ToolCallEvent extends BaseEvent {
|
|
140
|
-
type: "tool_call";
|
|
141
|
-
toolName: string;
|
|
142
|
-
callId: string;
|
|
143
|
-
args: Record<string, any>;
|
|
144
|
-
parentToolUseId?: string | null; // For nested tool calls (subagents)
|
|
145
|
-
// Tool metadata (enriched by adapter for UI consumption)
|
|
146
|
-
tool?: import("./tools/types.js").Tool;
|
|
147
|
-
category?: import("./tools/types.js").ToolCategory;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
export interface ToolResultEvent extends BaseEvent {
|
|
151
|
-
type: "tool_result";
|
|
152
|
-
toolName: string;
|
|
153
|
-
callId: string;
|
|
154
|
-
result: any;
|
|
155
|
-
isError?: boolean; // Whether the tool execution failed
|
|
156
|
-
parentToolUseId?: string | null; // For nested tool calls (subagents)
|
|
157
|
-
// Tool metadata (enriched by adapter for UI consumption)
|
|
158
|
-
tool?: import("./tools/types.js").Tool;
|
|
159
|
-
category?: import("./tools/types.js").ToolCategory;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// Message lifecycle events
|
|
163
|
-
export interface MessageStartEvent extends BaseEvent {
|
|
164
|
-
type: "message_start";
|
|
165
|
-
messageId?: string;
|
|
166
|
-
model?: string;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export interface MessageDeltaEvent extends BaseEvent {
|
|
170
|
-
type: "message_delta";
|
|
171
|
-
stopReason?: string;
|
|
172
|
-
stopSequence?: string;
|
|
173
|
-
usage?: {
|
|
174
|
-
outputTokens: number;
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
export interface MessageStopEvent extends BaseEvent {
|
|
179
|
-
type: "message_stop";
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
// User message events
|
|
183
|
-
export interface UserMessageEvent extends BaseEvent {
|
|
184
|
-
type: "user_message";
|
|
185
|
-
content: string;
|
|
186
|
-
isSynthetic?: boolean;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// System events
|
|
190
|
-
export interface StatusEvent extends BaseEvent {
|
|
191
|
-
type: "status";
|
|
192
|
-
phase: string;
|
|
193
|
-
// Common optional fields (varies by phase):
|
|
194
|
-
kind?: string; // Kind of status (plan, implementation)
|
|
195
|
-
branch?: string; // Git branch name
|
|
196
|
-
prUrl?: string; // Pull request URL
|
|
197
|
-
taskId?: string; // Task identifier
|
|
198
|
-
messageId?: string; // Claude message ID
|
|
199
|
-
model?: string; // Model name
|
|
200
|
-
[key: string]: any; // Allow additional fields
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
export interface InitEvent extends BaseEvent {
|
|
204
|
-
type: "init";
|
|
205
|
-
model: string;
|
|
206
|
-
tools: string[];
|
|
207
|
-
permissionMode: string;
|
|
208
|
-
cwd: string;
|
|
209
|
-
apiKeySource: string;
|
|
210
|
-
agents?: string[];
|
|
211
|
-
slashCommands?: string[];
|
|
212
|
-
outputStyle?: string;
|
|
213
|
-
mcpServers?: Array<{ name: string; status: string }>;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export interface CompactBoundaryEvent extends BaseEvent {
|
|
217
|
-
type: "compact_boundary";
|
|
218
|
-
trigger: "manual" | "auto";
|
|
219
|
-
preTokens: number;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// Result events
|
|
223
|
-
export interface DoneEvent extends BaseEvent {
|
|
224
|
-
type: "done";
|
|
225
|
-
result?: string; // Final summary text from Claude
|
|
226
|
-
durationMs?: number;
|
|
227
|
-
durationApiMs?: number; // API-only duration (excluding local processing)
|
|
228
|
-
numTurns?: number;
|
|
229
|
-
totalCostUsd?: number;
|
|
230
|
-
usage?: any;
|
|
231
|
-
modelUsage?: {
|
|
232
|
-
// Per-model usage breakdown
|
|
233
|
-
[modelName: string]: {
|
|
234
|
-
inputTokens: number;
|
|
235
|
-
outputTokens: number;
|
|
236
|
-
cacheReadInputTokens: number;
|
|
237
|
-
cacheCreationInputTokens: number;
|
|
238
|
-
webSearchRequests: number;
|
|
239
|
-
costUSD: number;
|
|
240
|
-
contextWindow: number;
|
|
241
|
-
};
|
|
242
|
-
};
|
|
243
|
-
permissionDenials?: Array<{
|
|
244
|
-
// Tools that were denied by permissions
|
|
245
|
-
tool_name: string;
|
|
246
|
-
tool_use_id: string;
|
|
247
|
-
tool_input: Record<string, unknown>;
|
|
248
|
-
}>;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
export interface ErrorEvent extends BaseEvent {
|
|
252
|
-
type: "error";
|
|
253
|
-
message: string;
|
|
254
|
-
error?: any;
|
|
255
|
-
errorType?: string;
|
|
256
|
-
context?: Record<string, any>; // Partial error context for debugging
|
|
257
|
-
sdkError?: any; // Original SDK error object
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
// Metric and artifact events (general purpose, not tool-specific)
|
|
261
|
-
export interface MetricEvent extends BaseEvent {
|
|
262
|
-
type: "metric";
|
|
263
|
-
key: string;
|
|
264
|
-
value: number;
|
|
265
|
-
unit?: string;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
export interface ArtifactEvent extends BaseEvent {
|
|
269
|
-
type: "artifact";
|
|
270
|
-
kind: string;
|
|
271
|
-
content: any;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
export interface RawSDKEvent extends BaseEvent {
|
|
275
|
-
type: "raw_sdk_event";
|
|
276
|
-
sdkMessage: any; // Full SDK message for debugging
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
export type AgentEvent =
|
|
280
|
-
| TokenEvent
|
|
281
|
-
| ContentBlockStartEvent
|
|
282
|
-
| ContentBlockStopEvent
|
|
283
|
-
| ToolCallEvent
|
|
284
|
-
| ToolResultEvent
|
|
285
|
-
| MessageStartEvent
|
|
286
|
-
| MessageDeltaEvent
|
|
287
|
-
| MessageStopEvent
|
|
288
|
-
| UserMessageEvent
|
|
289
|
-
| StatusEvent
|
|
290
|
-
| InitEvent
|
|
291
|
-
| CompactBoundaryEvent
|
|
292
|
-
| DoneEvent
|
|
293
|
-
| ErrorEvent
|
|
294
|
-
| MetricEvent
|
|
295
|
-
| ArtifactEvent
|
|
296
|
-
| RawSDKEvent;
|
|
297
|
-
|
|
298
146
|
export interface ExecutionResult {
|
|
147
|
+
// biome-ignore lint/suspicious/noExplicitAny: Results array contains varying SDK response types
|
|
299
148
|
results: any[];
|
|
300
149
|
}
|
|
301
150
|
|
|
@@ -330,17 +179,26 @@ export type McpServerConfig =
|
|
|
330
179
|
| {
|
|
331
180
|
type: "sdk";
|
|
332
181
|
name: string;
|
|
333
|
-
|
|
182
|
+
// biome-ignore lint/suspicious/noExplicitAny: McpServer instance type from external SDK
|
|
183
|
+
instance?: any;
|
|
334
184
|
};
|
|
335
185
|
|
|
186
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
187
|
+
|
|
188
|
+
export type OnLogCallback = (
|
|
189
|
+
level: LogLevel,
|
|
190
|
+
scope: string,
|
|
191
|
+
message: string,
|
|
192
|
+
data?: unknown,
|
|
193
|
+
) => void;
|
|
194
|
+
|
|
336
195
|
export interface AgentConfig {
|
|
337
196
|
workingDirectory?: string;
|
|
338
|
-
onEvent?: (event: AgentEvent) => void;
|
|
339
197
|
|
|
340
|
-
// PostHog API configuration
|
|
341
|
-
posthogApiUrl
|
|
342
|
-
posthogApiKey
|
|
343
|
-
posthogProjectId
|
|
198
|
+
// PostHog API configuration (optional - enables PostHog integration when provided)
|
|
199
|
+
posthogApiUrl?: string;
|
|
200
|
+
posthogApiKey?: string;
|
|
201
|
+
posthogProjectId?: number;
|
|
344
202
|
|
|
345
203
|
// PostHog MCP configuration
|
|
346
204
|
posthogMcpUrl?: string;
|
|
@@ -352,6 +210,7 @@ export interface AgentConfig {
|
|
|
352
210
|
|
|
353
211
|
// Logging configuration
|
|
354
212
|
debug?: boolean;
|
|
213
|
+
onLog?: OnLogCallback;
|
|
355
214
|
|
|
356
215
|
// Fine-grained permission control for direct run() calls
|
|
357
216
|
// See: https://docs.claude.com/en/api/agent-sdk/permissions
|
|
@@ -378,6 +237,7 @@ export interface PostHogResource {
|
|
|
378
237
|
url: string;
|
|
379
238
|
title?: string;
|
|
380
239
|
content: string;
|
|
240
|
+
// biome-ignore lint/suspicious/noExplicitAny: Metadata contains varying resource-specific fields
|
|
381
241
|
metadata?: Record<string, any>;
|
|
382
242
|
}
|
|
383
243
|
|
|
@@ -410,3 +270,12 @@ export interface ResearchEvaluation {
|
|
|
410
270
|
answered?: boolean; // whether questions have been answered
|
|
411
271
|
answers?: ResearchAnswer[]; // user's answers to questions
|
|
412
272
|
}
|
|
273
|
+
|
|
274
|
+
// Worktree types for parallel task development
|
|
275
|
+
export interface WorktreeInfo {
|
|
276
|
+
worktreePath: string;
|
|
277
|
+
worktreeName: string;
|
|
278
|
+
branchName: string;
|
|
279
|
+
baseBranch: string;
|
|
280
|
+
createdAt: string;
|
|
281
|
+
}
|