@pickaxeproject/react 4.4.0 → 4.5.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/cjs/_virtual/additionalItems.js +1 -0
- package/dist/cjs/_virtual/additionalProperties.js +1 -0
- package/dist/cjs/_virtual/ajv.js +1 -0
- package/dist/cjs/_virtual/allOf.js +1 -0
- package/dist/cjs/_virtual/anyOf.js +1 -0
- package/dist/cjs/_virtual/applicability.js +1 -0
- package/dist/cjs/_virtual/boolSchema.js +1 -0
- package/dist/cjs/_virtual/code.js +1 -0
- package/dist/cjs/_virtual/code2.js +1 -0
- package/dist/cjs/_virtual/const.js +1 -0
- package/dist/cjs/_virtual/contains.js +1 -0
- package/dist/cjs/_virtual/core.js +1 -0
- package/dist/cjs/_virtual/dataType.js +1 -0
- package/dist/cjs/_virtual/defaults.js +1 -0
- package/dist/cjs/_virtual/dependencies.js +1 -0
- package/dist/cjs/_virtual/draft7.js +1 -0
- package/dist/cjs/_virtual/enum.js +1 -0
- package/dist/cjs/_virtual/equal.js +1 -0
- package/dist/cjs/_virtual/errors.js +1 -0
- package/dist/cjs/_virtual/format.js +1 -0
- package/dist/cjs/_virtual/formats.js +1 -0
- package/dist/cjs/_virtual/id.js +1 -0
- package/dist/cjs/_virtual/if.js +1 -0
- package/dist/cjs/_virtual/index10.js +1 -0
- package/dist/cjs/_virtual/index11.js +1 -0
- package/dist/cjs/_virtual/index12.js +1 -0
- package/dist/cjs/_virtual/index2.js +1 -0
- package/dist/cjs/_virtual/index3.js +1 -0
- package/dist/cjs/_virtual/index4.js +1 -0
- package/dist/cjs/_virtual/index5.js +1 -0
- package/dist/cjs/_virtual/index6.js +1 -0
- package/dist/cjs/_virtual/index7.js +1 -0
- package/dist/cjs/_virtual/index8.js +1 -0
- package/dist/cjs/_virtual/index9.js +1 -0
- package/dist/cjs/_virtual/items.js +1 -0
- package/dist/cjs/_virtual/items2020.js +1 -0
- package/dist/cjs/_virtual/keyword.js +1 -0
- package/dist/cjs/_virtual/limit.js +1 -0
- package/dist/cjs/_virtual/limitItems.js +1 -0
- package/dist/cjs/_virtual/limitLength.js +1 -0
- package/dist/cjs/_virtual/limitNumber.js +1 -0
- package/dist/cjs/_virtual/limitProperties.js +1 -0
- package/dist/cjs/_virtual/metadata.js +1 -0
- package/dist/cjs/_virtual/multipleOf.js +1 -0
- package/dist/cjs/_virtual/names.js +1 -0
- package/dist/cjs/_virtual/not.js +1 -0
- package/dist/cjs/_virtual/oneOf.js +1 -0
- package/dist/cjs/_virtual/pattern.js +1 -0
- package/dist/cjs/_virtual/patternProperties.js +1 -0
- package/dist/cjs/_virtual/prefixItems.js +1 -0
- package/dist/cjs/_virtual/properties.js +1 -0
- package/dist/cjs/_virtual/propertyNames.js +1 -0
- package/dist/cjs/_virtual/ref.js +1 -0
- package/dist/cjs/_virtual/ref_error.js +1 -0
- package/dist/cjs/_virtual/required.js +1 -0
- package/dist/cjs/_virtual/resolve.js +1 -0
- package/dist/cjs/_virtual/rules.js +1 -0
- package/dist/cjs/_virtual/scope.js +1 -0
- package/dist/cjs/_virtual/subschema.js +1 -0
- package/dist/cjs/_virtual/thenElse.js +1 -0
- package/dist/cjs/_virtual/types.js +1 -0
- package/dist/cjs/_virtual/ucs2length.js +1 -0
- package/dist/cjs/_virtual/uniqueItems.js +1 -0
- package/dist/cjs/_virtual/uri.js +1 -0
- package/dist/cjs/_virtual/util.js +1 -0
- package/dist/cjs/_virtual/validation_error.js +1 -0
- package/dist/cjs/common/api/api.js +1 -0
- package/dist/cjs/common/api/pickaxe.js +1 -1
- package/dist/cjs/common/fernet.js +1 -0
- package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
- package/dist/cjs/components/Pickaxe/common/SmitheryAuthProvider.js +1 -0
- package/dist/cjs/components/Pickaxe/common/SmitheryConnectView.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1 -0
- package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
- package/dist/cjs/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
- package/dist/cjs/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/lib/schemes.js +1 -0
- package/dist/cjs/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/lib/scopedChars.js +1 -0
- package/dist/cjs/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/lib/utils.js +1 -0
- package/dist/cjs/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/coerce.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/compat.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/errors.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/iso.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/parse.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/schemas.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/api.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/checks.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/core.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/doc.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/errors.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/parse.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/regexes.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/registries.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/schemas.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/util.js +1 -0
- package/dist/cjs/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/versions.js +1 -0
- package/dist/cjs/src/common/api/api.d.ts +2 -0
- package/dist/cjs/src/common/api/pickaxe.d.ts +1 -0
- package/dist/cjs/src/common/fernet.d.ts +3 -0
- package/dist/cjs/src/components/Pickaxe/Chat/History/Message.d.ts +8 -1
- package/dist/cjs/src/components/Pickaxe/Chat/History/index.d.ts +3 -1
- package/dist/cjs/src/components/Pickaxe/Chat/Input.d.ts +2 -0
- package/dist/cjs/src/components/Pickaxe/common/SmitheryAuthProvider.d.ts +20 -0
- package/dist/cjs/src/components/Pickaxe/common/SmitheryConnectView.d.ts +9 -0
- package/dist/cjs/src/types/history.d.ts +1 -1
- package/dist/esm/_virtual/additionalItems.js +1 -0
- package/dist/esm/_virtual/additionalProperties.js +1 -0
- package/dist/esm/_virtual/ajv.js +1 -0
- package/dist/esm/_virtual/allOf.js +1 -0
- package/dist/esm/_virtual/anyOf.js +1 -0
- package/dist/esm/_virtual/applicability.js +1 -0
- package/dist/esm/_virtual/boolSchema.js +1 -0
- package/dist/esm/_virtual/code.js +1 -0
- package/dist/esm/_virtual/code2.js +1 -0
- package/dist/esm/_virtual/const.js +1 -0
- package/dist/esm/_virtual/contains.js +1 -0
- package/dist/esm/_virtual/core.js +1 -0
- package/dist/esm/_virtual/dataType.js +1 -0
- package/dist/esm/_virtual/defaults.js +1 -0
- package/dist/esm/_virtual/dependencies.js +1 -0
- package/dist/esm/_virtual/draft7.js +1 -0
- package/dist/esm/_virtual/enum.js +1 -0
- package/dist/esm/_virtual/equal.js +1 -0
- package/dist/esm/_virtual/errors.js +1 -0
- package/dist/esm/_virtual/format.js +1 -0
- package/dist/esm/_virtual/formats.js +1 -0
- package/dist/esm/_virtual/id.js +1 -0
- package/dist/esm/_virtual/if.js +1 -0
- package/dist/esm/_virtual/index10.js +1 -0
- package/dist/esm/_virtual/index11.js +1 -0
- package/dist/esm/_virtual/index12.js +1 -0
- package/dist/esm/_virtual/index2.js +1 -0
- package/dist/esm/_virtual/index3.js +1 -0
- package/dist/esm/_virtual/index4.js +1 -0
- package/dist/esm/_virtual/index5.js +1 -0
- package/dist/esm/_virtual/index6.js +1 -0
- package/dist/esm/_virtual/index7.js +1 -0
- package/dist/esm/_virtual/index8.js +1 -0
- package/dist/esm/_virtual/index9.js +1 -0
- package/dist/esm/_virtual/items.js +1 -0
- package/dist/esm/_virtual/items2020.js +1 -0
- package/dist/esm/_virtual/keyword.js +1 -0
- package/dist/esm/_virtual/limit.js +1 -0
- package/dist/esm/_virtual/limitItems.js +1 -0
- package/dist/esm/_virtual/limitLength.js +1 -0
- package/dist/esm/_virtual/limitNumber.js +1 -0
- package/dist/esm/_virtual/limitProperties.js +1 -0
- package/dist/esm/_virtual/metadata.js +1 -0
- package/dist/esm/_virtual/multipleOf.js +1 -0
- package/dist/esm/_virtual/names.js +1 -0
- package/dist/esm/_virtual/not.js +1 -0
- package/dist/esm/_virtual/oneOf.js +1 -0
- package/dist/esm/_virtual/pattern.js +1 -0
- package/dist/esm/_virtual/patternProperties.js +1 -0
- package/dist/esm/_virtual/prefixItems.js +1 -0
- package/dist/esm/_virtual/properties.js +1 -0
- package/dist/esm/_virtual/propertyNames.js +1 -0
- package/dist/esm/_virtual/ref.js +1 -0
- package/dist/esm/_virtual/ref_error.js +1 -0
- package/dist/esm/_virtual/required.js +1 -0
- package/dist/esm/_virtual/resolve.js +1 -0
- package/dist/esm/_virtual/rules.js +1 -0
- package/dist/esm/_virtual/scope.js +1 -0
- package/dist/esm/_virtual/subschema.js +1 -0
- package/dist/esm/_virtual/thenElse.js +1 -0
- package/dist/esm/_virtual/types.js +1 -0
- package/dist/esm/_virtual/ucs2length.js +1 -0
- package/dist/esm/_virtual/uniqueItems.js +1 -0
- package/dist/esm/_virtual/uri.js +1 -0
- package/dist/esm/_virtual/util.js +1 -0
- package/dist/esm/_virtual/validation_error.js +1 -0
- package/dist/esm/common/api/api.js +1 -0
- package/dist/esm/common/api/pickaxe.js +1 -1
- package/dist/esm/common/fernet.js +1 -0
- package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
- package/dist/esm/components/Pickaxe/common/SmitheryAuthProvider.js +1 -0
- package/dist/esm/components/Pickaxe/common/SmitheryConnectView.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1 -0
- package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
- package/dist/esm/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
- package/dist/esm/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/lib/schemes.js +1 -0
- package/dist/esm/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/lib/scopedChars.js +1 -0
- package/dist/esm/node_modules/.pnpm/fast-uri@3.0.5/node_modules/fast-uri/lib/utils.js +1 -0
- package/dist/esm/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/coerce.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/compat.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/errors.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/iso.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/parse.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/schemas.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/api.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/checks.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/core.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/doc.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/errors.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/parse.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/regexes.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/registries.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/schemas.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/util.js +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/versions.js +1 -0
- package/dist/esm/src/common/api/api.d.ts +2 -0
- package/dist/esm/src/common/api/pickaxe.d.ts +1 -0
- package/dist/esm/src/common/fernet.d.ts +3 -0
- package/dist/esm/src/components/Pickaxe/Chat/History/Message.d.ts +8 -1
- package/dist/esm/src/components/Pickaxe/Chat/History/index.d.ts +3 -1
- package/dist/esm/src/components/Pickaxe/Chat/Input.d.ts +2 -0
- package/dist/esm/src/components/Pickaxe/common/SmitheryAuthProvider.d.ts +20 -0
- package/dist/esm/src/components/Pickaxe/common/SmitheryConnectView.d.ts +9 -0
- package/dist/esm/src/types/history.d.ts +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={exports:{}};export{e as __module};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={exports:{}};export{e as __module};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={exports:{}};export{e as __module};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r={};export{r as __exports};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"axios";const o=process.env.NEXT_PUBLIC_API_URL;if(!o)throw new Error("[px/react] NEXT_PUBLIC_API_URL is not defined");const r=e.create({baseURL:o});export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"axios";const o=process.env.NEXT_PUBLIC_PICKAXE_API_URL||"";if(!o)throw new Error("[px/react] NEXT_PUBLIC_PICKAXE_API_URL is not defined");const n="undefined"!=typeof window?window.location.hostname:"",s="undefined"!=typeof window?window.location.href:"",i="undefined"!=typeof window&&window.self!==window.top,t=n.includes("pickaxe.co")&&!s.includes("https://studio.pickaxe.co/_embed")&&!i,d=e.create(Object.assign(Object.assign({baseURL:o},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),t&&{withCredentials:!0}));export{d as default};
|
|
1
|
+
import e from"axios";const o=process.env.NEXT_PUBLIC_PICKAXE_API_URL||"";if(!o)throw new Error("[px/react] NEXT_PUBLIC_PICKAXE_API_URL is not defined");const n="undefined"!=typeof window?window.location.hostname:"",s="undefined"!=typeof window?window.location.href:"",i="undefined"!=typeof window&&window.self!==window.top,t=n.includes("pickaxe.co")&&!s.includes("https://studio.pickaxe.co/_embed")&&!i,d=e.create(Object.assign(Object.assign({baseURL:o},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),t&&{withCredentials:!0}));export{d as default,t as isPickaxeDomain};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"fernet";if(!process.env.NEXT_FERNET_SECRET_KEY)throw new Error("NEXT_FERNET_SECRET_KEY is not defined");const E=new e.Secret(process.env.NEXT_FERNET_SECRET_KEY),r=(r,n)=>`${n||""}${new e.Token({secret:E}).encode(r)}`;export{r as encryptFernet};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useState as t,useEffect as i,Fragment as o}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as a}from"../../../../hooks/studio/useStyleFontSize.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useArtifact as c}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as l}from"../../common/PickaxeMarkdown/index.js";import d from"../../common/PickaxeIcon.js";import m from"./Document.js";import p from"../../common/PickaxeMessageActions.js";import h from"../../common/PickaxeMessageParts/index.js";import x from"../../../../common/cn.js";import{convertToIso1 as f}from"../../../../common/isoMap.js";import{franc as g}from"franc-min";const
|
|
1
|
+
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useState as t,useEffect as i,Fragment as o}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as a}from"../../../../hooks/studio/useStyleFontSize.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useArtifact as c}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as l}from"../../common/PickaxeMarkdown/index.js";import d from"../../common/PickaxeIcon.js";import m from"./Document.js";import p from"../../common/PickaxeMessageActions.js";import h from"../../common/PickaxeMessageParts/index.js";import x from"../../../../common/cn.js";import{convertToIso1 as f}from"../../../../common/isoMap.js";import{franc as g}from"franc-min";import u from"../../common/SmitheryConnectView.js";const b=({index:b,message:w,smitheryData:y,resubmitPrompt:j,isLastMessage:v=!1})=>{var k,O;const{pickaxeId:N,pickaxe:C,styles:I,colors:S,misc:A,responsiveBy:P,disableHtml:R,disableJs:M,disableCss:H,isNewChat:J,isRtl:V}=n(),{isGenerating:B}=r(),{onLoadArtifact:D}=c(),[F,G]=t(!1),[L,T]=t([]),W=a(),z=null!==(k=null==C?void 0:C.chaticon)&&void 0!==k?k:`https://cdn.mail.studio/chaticons/${N}.png`,E=v&&B,U=null==C?void 0:C.enablereadout;i((()=>{if(!U||"assistant"!==w.role)return;const e=()=>{const e=window.speechSynthesis.getVoices();e.length>0&&T(e)};return e(),window.speechSynthesis.onvoiceschanged=e,()=>{window.speechSynthesis.onvoiceschanged=null}}),[U,w.role]),i((()=>()=>{F&&window.speechSynthesis.cancel()}),[F]);const $=()=>{if(F)return window.speechSynthesis.cancel(),void G(!1);const e=w.parts.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ");if(!e)return;const s=g(e),t=f(s);window.speechSynthesis.cancel();const i=new SpeechSynthesisUtterance(e),o=L.find((e=>e.lang.startsWith(t)&&e.name.includes("Google")))||L.find((e=>e.lang.startsWith(t)));o?(i.voice=o,i.lang=o.lang):i.lang=t||"en",i.onstart=()=>G(!0),i.onend=()=>G(!1),i.onerror=()=>G(!1),window.speechSynthesis.speak(i)},q=!w.parts.some((e=>["text","reasoning","data-action-tool-caption"].includes(e.type)));return"assistant"===w.role?e("div",Object.assign({className:x("flex w-full",V?"justify-end":"justify-start")},{children:e("div",Object.assign({className:x("flex flex-col w-full",0===b&&J&&"viewport"===P&&"min-[767px]:max-w-[80%]",0===b&&J&&"container"===P&&"@[767px]/pickaxe-root:max-w-[80%]")},{children:s("div",Object.assign({className:x("flex gap-x-3",V&&"flex-row-reverse")},{children:[A.isChatImage&&"NONE"!==z&&e(d,{src:z,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:S.text}),s("div",Object.assign({className:x("flex flex-col flex-grow",V?"items-end":"items-start")},{children:[s("div",Object.assign({className:x(W.b2,"chat-message pt-3 w-full",V?"text-right":"text-left")},{children:[e(l,Object.assign({theme:I.theme,colors:S},V&&{rtl:!0},R&&{disableHtml:!0},M&&{disableJs:!0},H&&{disableCss:!0},{disableReasoning:null!==(O=null==C?void 0:C.enablereasoningdisplay)&&void 0!==O&&O,onArtifactClick:D},{children:e(h,{parts:w.parts})})),v&&y&&j&&e("div",Object.assign({className:"mt-4 px-1"},{children:e(u,{serverId:y.serverId,smitheryId:y.smitheryId,name:y.smitheryId,resubmitPrompt:()=>j()})}))]})),e("div",Object.assign({className:x("flex flex-col gap-6 my-4",q&&"mt-2")},{children:E?e("div",Object.assign({className:"flex items-center gap-x-2 rounded"},{children:Array.from({length:3}).map(((s,t)=>e("div",{className:x("h-1.5 w-1.5 animate-dot rounded-full",1===t&&"animate-dot-down"),style:{backgroundColor:S.secondaryText}},t)))})):e(p,Object.assign({content:w.parts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),index:b},"intromessage"===w.area&&{isHideFeedback:!0},{onReadOut:$,isReadOut:U||!1,isReading:F}))}))]}))]}))}))})):"user"===w.role?e("div",Object.assign({className:x("flex w-full",V?"justify-start":"justify-end")},{children:e("div",Object.assign({className:x("flex gap-x-3 max-w-[80%]",V?"pr-9":"pl-9","viewport"===P?V?"min-[767px]:pr-0":"min-[767px]:pl-0":V?"@[767px]/pickaxe-root:pr-0":"@[767px]/pickaxe-root:pl-0")},{children:s("div",Object.assign({className:x(W.b2,"overflow-x-auto overflow-y-hidden px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B] flex flex-col gap-y-3",V?"text-right":"text-left"),style:{backgroundColor:S.secondary+"80",color:S.secondaryText,borderRadius:I.cornerRadius}},{children:[w.documentIds&&w.documentIds.length>0&&e("div",Object.assign({className:x("flex flex-col gap-y-2",V?"items-start":"items-end")},{children:w.documentIds.map((s=>e(o,{children:e(m,{documentId:s})},s)))})),e(l,Object.assign({theme:I.theme,colors:S},V&&{rtl:!0},R&&{disableHtml:!0},M&&{disableJs:!0},H&&{disableCss:!0},{children:e(h,{parts:w.parts})}))]}))}))})):e("div",{})};export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as
|
|
1
|
+
import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as o}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as r}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as c}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as m}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as d}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as p}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as u,motion as h}from"framer-motion";import f from"../../../Icons/lock.svg.js";import g from"../../../Core/ErrorAlert.js";import x from"../../common/PickaxeHead.js";import j from"../../common/PickaxeEmbedHead.js";import b from"../../common/PickaxeUpgradeCard.js";import v from"../../common/PickaxeSkeleton.js";import y from"../../common/PickaxeHistoryButton.js";import k from"../../Addons/Scroll/ScrollLockView.js";import w from"../../Addons/Artifact/Renderer/index.js";import N from"./Message.js";import O from"./CustomMessage.js";import C from"../../Addons/IceBreaker/index.js";import S from"../../common/PickaxeBranding.js";import A from"../../../../common/cn.js";const P=({additionalScrollHeight:P,smitheryAuthData:I,isForceHideInfo:L,isInputFocused:H,onSubmit:R,resubmitPrompt:B})=>{var D,E,T,$,z;const{sessionId:F,deploymentType:M,pickaxe:W,translations:U,misc:V,isNewChat:_,isRtl:q,isEmbed:G,isEmailLogin:J,isShowIceBreaker:K,setSessionId:Q,setLastSessionId:X}=a(),{emailInput:Y,isLoggedOut:Z,isSending:ee,isResendDisabled:se,isSent:ie}=o(),{onSend:te}=l(),{scrollContainerRef:ae}=c(),{messages:oe,limitData:le,error:ne}=n(),{height:re,width:ce}=r(),{currentArtifact:me,chatPopupType:de,currentPopupType:pe}=p(),ue=d(),he=m(),fe=t((()=>(null==W?void 0:W.icebreakers)?W.icebreakers.slice(0,3):[]),[null==W?void 0:W.icebreakers]),ge=t((()=>{const e=!!ue.data&&ue.data.messages.length>1;return!L&&ue.isSuccess&&_&&!e}),[L,ue.isSuccess,_,ue.data]),xe=t((()=>!(null==W?void 0:W.chatflag)&&(null==W?void 0:W.enablechatresponses)&&oe.length>0),[W,oe]),je=t((()=>!!ue.data&&ue.data.messages.some((e=>"intromessage"===e.area))),[ue.data]),be="chat-input"===M&&J&&Z&&ie,ve=K&&!H&&!je&&ge&&ce>767,ye=K&&!H&&(je||ce<=767),ke=()=>{X(F),Q("")};return e("div",Object.assign({ref:ae,className:"flex w-full flex-col items-center overflow-y-auto mb-12 pb-4 scrollbar scrollbar-thin",style:{height:`calc(${re}px - 74px)`,paddingBottom:`${P+16}px`}},{children:[s(u,{children:!!me&&"inline"===pe&&s(h.div,Object.assign({className:A("absolute top-0 z-20 w-full px-4 py-2",de),style:{height:`calc(${re-P}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(w,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:me.id,version:me.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[ge&&G&&s("div",Object.assign({className:A("absolute right-4 top-3 flex items-center gap-2","popup"===M&&"right-12")},{children:s(y,{tip:(null==U?void 0:U["chat-history"])||"Chat History",onClick:ke})})),s(x,Object.assign({className:A("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",ge&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!be&&{onIconClick:ke})),G&&!ue.isLoading&&s(j,Object.assign({className:A("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!ge&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==U?void 0:U["chat-history"])||"Chat History"},!be&&{onIconClick:ke,onHistoryClick:ke})),e("div",Object.assign({className:A("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",G&&!ue.isLoading&&!ge&&"mt-0")},{children:[ve&&s("div",Object.assign({className:A("grid grid-cols-3 gap-4",2===fe.length&&"grid-cols-2",1===fe.length&&"grid-cols-1")},{children:s(C,{type:"center",data:fe,onSend:R})})),be?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(O,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(f,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:Y}))]}))})),s(O,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(T=null==U?void 0:U["we-sent-your-an-activation-link"])&&void 0!==T?T:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{se||ee||te(!0)}},{children:ee?null!==($=null==U?void 0:U.resending)&&void 0!==$?$:"Resending...":null!==(z=null==U?void 0:U.resend)&&void 0!==z?z:"Resend"}))]}))}))]}))})):s(i,{children:ue.isLoading&&!(null==W?void 0:W.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[_&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(v,{className:"w-[72px] h-[72px]"}),s(v,{className:"h-[20px] mt-6 w-full"}),s(v,{className:"h-[20px] mt-2 w-full"}),s(v,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(v,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(v,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(v,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):ue.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:A(he.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):ue.data||xe?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(E=null===(D=ue.data)||void 0===D?void 0:D.messages)&&void 0!==E?E:[]).map(((e,i)=>s(N,{index:i,message:e},i))),oe.map(((e,i)=>{var t,a;return s(N,{smitheryData:I,resubmitPrompt:B,index:(null!==(a=null===(t=ue.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===oe.length-1},i)})),le?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(b,{})})):ne?s("div",Object.assign({className:A("flex items-center gap-x-3",q?"justify-end":"justify-start")},{children:s(g,{error:ne})})):null]})),e("div",Object.assign({className:A("flex flex-col",!V.isWhiteLabel||ye&&"mt-4")},{children:[!V.isWhiteLabel&&s(S,{containerClassName:A("justify-end",ye&&"mb-2")}),ye&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(C,{type:"right",data:fe,onSend:R})})),s(k,{})]}))]})):null})]}))]}))]}))};export{P as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import"../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js";import u,{useSpeechRecognition as p}from"react-speech-recognition";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as f}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as g}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as h}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import{useSubmit as y}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as j}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as O}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as k}from"../../../hooks/core/useHover.js";import{useMediaQuery as w}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as S,allowedImageMimeTypes as C,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as I}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import D from"../../Icons/arrow-right.svg.js";import E from"../../Icons/microphone.svg.js";import T from"../../Icons/stop.svg.js";import R from"../Addons/Document/List.js";import L from"../../Core/Textarea.js";import W from"../../Core/ErrorAlert.js";import H from"../../../common/error.js";import F from"../../../common/cn.js";const $=i((({onFocus:i,onBlur:$,onInputHeightChange:_},J)=>{var P,B,V;const{origin:z,pickaxeId:M,sessionId:U,sender:G,senderType:K,deploymentId:Q,deploymentType:q,pickaxe:X,styles:Y,colors:Z,locale:ee,forceMobile:te,isNewChat:ne,isRtl:se,isEmailLogin:oe,isShowFeedbackMessage:ie,setIsNewChat:re,setIsShowIceBreaker:ae,onGenerateComplete:le}=m(),{token:ce,isLoggedOut:de,isSent:ue}=b(),{messages:pe,limits:me,isGenerating:fe,setMessages:ge,setStatus:he,setLimitData:ve,setError:be}=f(),{documents:ye,isUploading:je,documentError:xe,onFileUpload:Oe,setDocuments:ke,setDocumentError:we}=j(),{scrollStartSession:Se,scrollEndSession:Ce,scrollToBottom:Ne}=x({auto:!0}),{artifacts:Ie,currentPopupType:Ae,setArtifacts:De,setCurrentArtifact:Ee}=O(),Te=v(),Re=y(),[Le,We]=r(""),[He,Fe]=r(!1),[$e,_e]=r(!1),Je=a(null),Pe=a(""),Be=a(null),Ve=a(null),ze=a(null),{transcript:Me,listening:Ue,resetTranscript:Ge,browserSupportsSpeechRecognition:Ke}=p(),[Qe]=w("(max-width: 480px)"),qe=k(),{isHover:Xe}=qe,Ye=e(qe,["isHover"]),Ze=k(),{isHover:et}=Ze,tt=e(Ze,["isHover"]),nt=k(),{isHover:st}=nt,ot=e(nt,["isHover"]),[it,rt]=r(!1),at=h(),lt=g(),ct=null===(P=null==X?void 0:X.documentuploadtype)||void 0===P?void 0:P.startsWith("enduserupload"),dt=Ke&&(null==X?void 0:X.enablevoicetotext),ut="chat-input"===q&&ne&&!ue,pt="chat-input"===q&&oe&&de&&ue,mt=He||$e,ft=l((()=>{var e,t,n;return!!ne&&(!!X&&(!Te.isLoading&&(!((null!==(t=null===(e=Te.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=X.icebreakers)||void 0===n?void 0:n.length)&&(!ie&&!ut)))))}),[X,ne,ie,ut,Te.data,Te.isLoading]),gt=l((()=>{if(fe||je)return!1;const e=ye.length>0&&ye.every((e=>"finished"===e.status));return!(!Le.trim()&&!e)&&ye.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[fe,je,Le,ye]);c(J,(()=>({onSubmit:ht}))),d((()=>{ae(ft)}),[ft]),d((()=>{if(!Ue)return;const e=Pe.current?`${Pe.current} `:"";We(`${e}${Me}`)}),[Me,Ue]),d((()=>{if(!Ve.current)return;(()=>{if(!Ve.current)return;let e=Ve.current.scrollHeight>52;Le.includes("\n")||ye.length?e=!0:Le.trim()||(e=!1),Fe(e)})()}),[Le,ye]),d((()=>{const e=Ve.current,t=ze.current;if(!e||!t||He||Le.includes("\n"))return void _e(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=Le,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;_e(i>l)}),[Le,He]);const ht=e=>t(void 0,void 0,void 0,(function*(){var t,n;try{if(fe||je)return;const s=ye.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),o=s.length>0,i=null!=e?e:Le;if(!i&&!o)return;be(""),we(""),ve(null),We(""),re(!1),he("fetching"),Se(),Ne();const r=null!==(n=null===(t=null==X?void 0:X.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n&&s.length>0,a=[...Array.from(pe),{id:pe.length+1,role:"user",parts:[{type:"text",content:i,isVisible:!0}],documentIds:r?s:[]},{id:pe.length+2,role:"assistant",parts:[],documentIds:[]}];ge(a),Ne(),r&&ke([]);const l=(yield Re.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({origin:z,pickaxeId:M,sessionId:U,senderType:K,value:i},r&&{documentIds:s}),G&&{sender:G}),ce&&{studioSessionToken:ce}),Q&&{deploymentId:Q}))).body;if(!l)throw new Error("Streaming error");const c=a.length-1,d=new TextDecoder;Be.current=l.getReader();const u=[];let p="",m=!0,f=!1,g=[...null!=Ie?Ie:[]];const h=I({onEvent:e=>{var t,n;if("delta"===e.event){const s=JSON.parse(e.data);if("text-start"===s.type)p="",u.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t}),ge([...a.slice(0,c),Object.assign(Object.assign({},a[a.length-1]),{id:pe.length+1,role:"assistant",parts:u})]);else if("text-delta"===s.type)p+=s.delta,u[u.length-1].content=p,ge([...a.slice(0,c),Object.assign(Object.assign({},a[a.length-1]),{id:pe.length+1,role:"assistant",parts:u})]);else if("text-end"===s.type)p="";else if("reasoning-start"===s.type)p="",u.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n}),ge([...a.slice(0,c),Object.assign(Object.assign({},a[a.length-1]),{id:pe.length+1,role:"assistant",parts:u})]);else if("reasoning-delta"===s.type)p+=s.delta,u[u.length-1].content=p,ge([...a.slice(0,c),Object.assign(Object.assign({},a[a.length-1]),{id:pe.length+1,role:"assistant",parts:u})]);else if("reasoning-end"===s.type)p="";else if(s.type.startsWith("data-")){const e=s;u.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0}),ge([...a.slice(0,c),Object.assign(Object.assign({},a[a.length-1]),{id:pe.length+1,role:"assistant",parts:u})])}}else if("artifact_created"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),De(g),Ae.startsWith("inline")||Ee({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),De(g),Ae.startsWith("inline")||Ee({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),De(g),Ae.startsWith("inline")||Ee({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");g=g.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),De(g)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);De(g.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);be(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(m=!1)}});for(;m&&Be.current;){const{value:e,done:t}=yield Be.current.read();if(t){m=!1;break}const n=d.decode(e);n&&(f||(he("streaming"),f=!0),h.feed(n))}null==le||le(U)}catch(e){if("AbortError"===e.name)return;let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const n=Object.entries(me).find((([e])=>t.includes(e)));n?ve(n[1]):be(t)}finally{Ne(),he("idle"),Ce(),Be.current=null}}));return pt?null:n("div",Object.assign({className:F("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!ut&&"px-4 pb-4"),dir:se?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({className:F("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Y.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},lt),it&&{backgroundColor:"#EEEEEE"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),rt(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),rt(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),rt(!0)},onDrop:e=>t(void 0,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation(),rt(!1);const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(re(!1),yield Oe(t))}))},{children:[Ue&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(B=Z.accent)&&void 0!==B?B:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Z.text+"90"}},{children:"Listening..."}))]})),!fe&&ye.length>0&&n(R,{className:"p-4 pb-0",isDisabled:fe}),n(L,Object.assign({ref:Ve,className:F(at.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Le.trim()&&!Le.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap",se?"text-right":"text-left",mt&&"mb-12",Ue&&"text-transparent"),value:Le,placeholder:null!==(V=null==X?void 0:X.placeholdertext)&&void 0!==V?V:se?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(We(e),_){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void _(0);if(t>=11)return;let n=0;t>1&&(n=50),_(24*(t-1)+n)}},onKeyDown:e=>{te||Qe||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),je||fe||ht()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),re(!1),yield Oe(t))}))},i&&{onFocus:i},$&&{onBlur:$},{dir:se?"rtl":"ltr"})),n("div",Object.assign({ref:ze,className:F("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",mt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!mt&<.backgroundColor&&{backgroundColor:lt.backgroundColor}),{borderTopRightRadius:Y.cornerRadius+"px",borderBottomRightRadius:Y.cornerRadius+"px"})},{children:fe?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Be.current&&(Be.current.cancel(),Be.current=null),he("idle")},style:{backgroundColor:Z.accent,color:Z.accentText}},{children:n(T,{className:"h-4 w-4 shrink-0"})})):Ue?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:u.stopListening,style:{backgroundColor:Z.accent,color:Z.accentText}},{children:n(T,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[ct&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:et?Z.accent+"10":void 0,color:et?Z.accent:Z.accent+"80"},disabled:je||fe,onClick:()=>{var e;return null===(e=Je.current)||void 0===e?void 0:e.click()}},tt,{children:[n("input",{id:"file-upload",ref:Je,type:"file",accept:[...S,...C,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){re(!1),yield Oe(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),dt&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Ue?Z.accent:st?Z.accent+"10":void 0,color:Ue?Z.accentText:st?Z.accent:Z.accent+"80"},disabled:je||fe,onClick:()=>{Ue?u.stopListening():(Pe.current=Le,Ge(),u.startListening({continuous:!0,interimResults:!0,language:ee||"en-US"}))}},ot,{children:n(E,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Xe||gt?Z.accent:Z.accent+"10",color:Xe||gt?Z.accentText:Z.accent+"80"},disabled:!gt,onClick:()=>ht()},Ye,{children:n(D,{className:F("h-6 w-6 shrink-0",se&&"scale-x-[-1] transform")})}))]})}))]})),xe&&n(W,{error:xe,className:"mt-3"})]}))}))}));$.displayName="Input";export{$ as default};
|
|
1
|
+
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as s,jsxs as n,Fragment as o}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import"../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js";import u,{useSpeechRecognition as m}from"react-speech-recognition";import{usePickaxeContext as p}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as f}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as g}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as h}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import{useSubmit as y}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as j}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as O}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as k}from"../../../hooks/core/useHover.js";import{useMediaQuery as w}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as S,allowedImageMimeTypes as N,additionalAllowedFileExtensions as C}from"../../../common/documents.js";import{createParser as I}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import D from"../../Icons/arrow-right.svg.js";import E from"../../Icons/microphone.svg.js";import T from"../../Icons/stop.svg.js";import R from"../Addons/Document/List.js";import L from"../../Core/Textarea.js";import W from"../../Core/ErrorAlert.js";import _ from"../../../common/error.js";import H from"../../../common/cn.js";const F=i((({resubmitPrompt:i,onFocus:F,onBlur:P,onInputHeightChange:$,initSmitheryAuthData:J},B)=>{var V,z,M;const{origin:U,pickaxeId:q,sessionId:G,sender:K,senderType:Q,deploymentId:X,deploymentType:Y,pickaxe:Z,styles:ee,colors:te,locale:se,forceMobile:ne,isNewChat:oe,isRtl:ie,isEmailLogin:re,isShowFeedbackMessage:ae,setIsNewChat:le,setIsShowIceBreaker:ce,onGenerateComplete:de}=p(),{token:ue,isLoggedOut:me,isSent:pe}=b(),{messages:fe,limits:ge,isGenerating:he,setMessages:ve,setStatus:be,setLimitData:ye,setError:je}=f(),{documents:xe,isUploading:Oe,documentError:ke,onFileUpload:we,setDocuments:Se,setDocumentError:Ne}=j(),{scrollStartSession:Ce,scrollEndSession:Ie,scrollToBottom:Ae}=x({auto:!0}),{artifacts:De,currentPopupType:Ee,setArtifacts:Te,setCurrentArtifact:Re}=O(),Le=v(),We=y(),[_e,He]=r(""),[Fe,Pe]=r(!1),[$e,Je]=r(!1),Be=a(null),Ve=a(""),ze=a(null),Me=a(null),Ue=a(null),{transcript:qe,listening:Ge,resetTranscript:Ke,browserSupportsSpeechRecognition:Qe}=m(),[Xe]=w("(max-width: 480px)"),Ye=k(),{isHover:Ze}=Ye,et=e(Ye,["isHover"]),tt=k(),{isHover:st}=tt,nt=e(tt,["isHover"]),ot=k(),{isHover:it}=ot,rt=e(ot,["isHover"]),[at,lt]=r(!1),ct=h(),dt=g(),ut=null===(V=null==Z?void 0:Z.documentuploadtype)||void 0===V?void 0:V.startsWith("enduserupload"),mt=Qe&&(null==Z?void 0:Z.enablevoicetotext),pt="chat-input"===Y&&oe&&!pe,ft="chat-input"===Y&&re&&me&&pe,gt=Fe||$e,ht=l((()=>{var e,t,s;return!!oe&&(!!Z&&(!Le.isLoading&&(!((null!==(t=null===(e=Le.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=Z.icebreakers)||void 0===s?void 0:s.length)&&(!ae&&!pt)))))}),[Z,oe,ae,pt,Le.data,Le.isLoading]),vt=l((()=>{if(he||Oe)return!1;const e=xe.length>0&&xe.every((e=>"finished"===e.status));return!(!_e.trim()&&!e)&&xe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[he,Oe,_e,xe]);c(B,(()=>({onSubmit:bt}))),d((()=>{ce(ht)}),[ht]),d((()=>{var e;if(i){const t=Array.from(fe),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;bt(s,!0)}}),[i]),d((()=>{if(!Ge)return;const e=Ve.current?`${Ve.current} `:"";He(`${e}${qe}`)}),[qe,Ge]),d((()=>{if(!Me.current)return;(()=>{if(!Me.current)return;let e=Me.current.scrollHeight>52;_e.includes("\n")||xe.length?e=!0:_e.trim()||(e=!1),Pe(e)})()}),[_e,xe]),d((()=>{const e=Me.current,t=Ue.current;if(!e||!t||Fe||_e.includes("\n"))return void Je(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=_e,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Je(i>l)}),[_e,Fe]);const bt=(e,s=!1)=>t(void 0,void 0,void 0,(function*(){var t,n;try{if(he||Oe)return;const o=xe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),i=o.length>0,r=null!=e?e:_e;if(!r&&!i)return;je(""),Ne(""),ye(null),He(""),le(!1),be("fetching"),Ce(),Ae();const a=null!==(n=null===(t=null==Z?void 0:Z.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n&&o.length>0,l=[...s?Array.from(fe.slice(0,fe.length-1)):Array.from(fe),...s?[]:[{id:fe.length+1,role:"user",parts:[{type:"text",content:r,isVisible:!0}],documentIds:a?o:[]}],{id:fe.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];ve(l),Ae(),a&&Se([]);const c=(yield We.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({origin:U,pickaxeId:q,sessionId:G,senderType:Q,value:r},a&&{documentIds:o}),K&&{sender:K}),ue&&{studioSessionToken:ue}),X&&{deploymentId:X}))).body;if(!c)throw new Error("Streaming error");const d=l.length-1,u=new TextDecoder;ze.current=c.getReader();const m=[];let p="",f=!0,g=!1,h=[...null!=De?De:[]];const v=I({onEvent:e=>{var t,s;if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&J){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);t&&t[1]&&s&&s[1]&&n&&n[1]&&(f=!1,J({smitheryId:t[1],serverId:s[1],name:n[1]}))}}else if("object"==typeof e&&null!==e){const t=e;"unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name&&(f=!1,J({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}))}}else if("text-start"===n.type)p="",m.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t}),ve([...l.slice(0,d),Object.assign(Object.assign({},l[l.length-1]),{id:fe.length+1,role:"assistant",parts:m})]);else if("text-delta"===n.type)p+=n.delta,m[m.length-1].content=p,ve([...l.slice(0,d),Object.assign(Object.assign({},l[l.length-1]),{id:fe.length+1,role:"assistant",parts:m})]);else if("text-end"===n.type)p="";else if("reasoning-start"===n.type)p="",m.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s}),ve([...l.slice(0,d),Object.assign(Object.assign({},l[l.length-1]),{id:fe.length+1,role:"assistant",parts:m})]);else if("reasoning-delta"===n.type)p+=n.delta,m[m.length-1].content=p,ve([...l.slice(0,d),Object.assign(Object.assign({},l[l.length-1]),{id:fe.length+1,role:"assistant",parts:m})]);else if("reasoning-end"===n.type)p="";else if(n.type.startsWith("data-")){const e=n;m.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0}),ve([...l.slice(0,d),Object.assign(Object.assign({},l[l.length-1]),{id:fe.length+1,role:"assistant",parts:m})])}}else if("artifact_created"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Te(h),Ee.startsWith("inline")||Re({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Te(h),Ee.startsWith("inline")||Re({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Te(h),Ee.startsWith("inline")||Re({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");h=h.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Te(h)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Te(h.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);je(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(f=!1)}});for(;f&&ze.current;){const{value:e,done:t}=yield ze.current.read();if(t){f=!1;break}const s=u.decode(e);s&&(g||(be("streaming"),g=!0),v.feed(s))}null==de||de(G)}catch(e){if("AbortError"===e.name)return;let t=_(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(ge).find((([e])=>t.includes(e)));s?ye(s[1]):je(t)}finally{Ae(),be("idle"),Ie(),ze.current=null}}));return ft?null:s("div",Object.assign({className:H("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!pt&&"px-4 pb-4"),dir:ie?"rtl":"ltr"},{children:n("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[n("div",Object.assign({className:H("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ee.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},dt),at&&{backgroundColor:"#EEEEEE"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),lt(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),lt(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),lt(!0)},onDrop:e=>t(void 0,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation(),lt(!1);const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(le(!1),yield we(t))}))},{children:[Ge&&n("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[s("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(z=te.accent)&&void 0!==z?z:"#ff0000"}}),s("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:te.text+"90"}},{children:"Listening..."}))]})),!he&&xe.length>0&&s(R,{className:"p-4 pb-0",isDisabled:he}),s(L,Object.assign({ref:Me,className:H(ct.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!_e.trim()&&!_e.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap",ie?"text-right":"text-left",gt&&"mb-12",Ge&&"text-transparent"),value:_e,placeholder:null!==(M=null==Z?void 0:Z.placeholdertext)&&void 0!==M?M:ie?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(He(e),$){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void $(0);if(t>=11)return;let s=0;t>1&&(s=50),$(24*(t-1)+s)}},onKeyDown:e=>{ne||Xe||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Oe||he||bt()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),le(!1),yield we(t))}))},F&&{onFocus:F},P&&{onBlur:P},{dir:ie?"rtl":"ltr"})),s("div",Object.assign({ref:Ue,className:H("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",gt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!gt&&dt.backgroundColor&&{backgroundColor:dt.backgroundColor}),{borderTopRightRadius:ee.cornerRadius+"px",borderBottomRightRadius:ee.cornerRadius+"px"})},{children:he?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{ze.current&&(ze.current.cancel(),ze.current=null),be("idle")},style:{backgroundColor:te.accent,color:te.accentText}},{children:s(T,{className:"h-4 w-4 shrink-0"})})):Ge?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:u.stopListening,style:{backgroundColor:te.accent,color:te.accentText}},{children:s(T,{className:"h-4 w-4 shrink-0"})})):n(o,{children:[ut&&n("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:st?te.accent+"10":void 0,color:st?te.accent:te.accent+"80"},disabled:Oe||he,onClick:()=>{var e;return null===(e=Be.current)||void 0===e?void 0:e.click()}},nt,{children:[s("input",{id:"file-upload",ref:Be,type:"file",accept:[...S,...N,...C].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){le(!1),yield we(Array.from(e.target.files||[])),e.target.value=""}))}),s(A,{className:"h-6 w-6 shrink-0"})]})),mt&&s("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Ge?te.accent:it?te.accent+"10":void 0,color:Ge?te.accentText:it?te.accent:te.accent+"80"},disabled:Oe||he,onClick:()=>{Ge?u.stopListening():(Ve.current=_e,Ke(),u.startListening({continuous:!0,interimResults:!0,language:se||"en-US"}))}},rt,{children:s(E,{className:"h-5 w-5 shrink-0"})})),s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Ze||vt?te.accent:te.accent+"10",color:Ze||vt?te.accentText:te.accent+"80"},disabled:!vt,onClick:()=>bt()},et,{children:s(D,{className:H("h-6 w-6 shrink-0",ie&&"scale-x-[-1] transform")})}))]})}))]})),ke&&s(W,{error:ke,className:"mt-3"})]}))}))}));F.displayName="Input";export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as e,jsxs as o,Fragment as
|
|
1
|
+
import{__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{useState as n,useRef as i,useEffect as s}from"react";import{usePickaxeContext as u}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as m}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as c}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as l}from"../Addons/Document/hooks/useDocument.js";import a from"./History/index.js";import h from"./Input.js";const d=()=>{const{deploymentType:d,isNewChat:p}=u(),{isSent:f}=m(),{width:x,height:j,setDimension:b}=c(),{setDocuments:v}=l(),[g,k]=n(0),[D,A]=n(!1),I=i(null),w=i(null),[y,C]=n(null),[F,S]=n(!1),H="chat-input"===d&&p&&!f;return s((()=>()=>{v([])}),[]),s((()=>{if(!I.current)return;const t=new ResizeObserver((t=>{for(const e of t){const{width:t,height:o}=e.contentRect;b(parseInt(t.toFixed(0)),parseInt(o.toFixed(0)))}}));return t.observe(I.current),()=>{t.disconnect()}}),[I.current]),e("div",Object.assign({ref:I,className:"relative flex flex-grow flex-col items-center"},{children:H?e(h,{}):o(r,{children:[e(a,{additionalScrollHeight:g,isForceHideInfo:j<=545||x<=350||D,isInputFocused:D,onSubmit:e=>t(void 0,void 0,void 0,(function*(){w.current&&w.current.onSubmit(e)})),smitheryAuthData:y,resubmitPrompt:()=>{C(null),S(!0)}}),e(h,{ref:w,onFocus:()=>A(!0),onBlur:()=>A(!1),onInputHeightChange:k,initSmitheryAuthData:t=>C(t),resubmitPrompt:F})]})}))};export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as e}from"../../../_virtual/_tslib.js";class t{constructor(e,t="Pickaxe Client"){Object.defineProperty(this,"handshakeId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"clientName",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_tokens",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_clientInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_codeVerifier",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hasRedirected",{enumerable:!0,configurable:!0,writable:!0,value:!1})}get redirectUrl(){return`${process.env.NEXT_PUBLIC_BUILDER_URL}/oauth/callback`}get clientMetadata(){return{client_name:this.clientName,client_uri:window.location.origin,redirect_uris:[this.redirectUrl],grant_types:["authorization_code","refresh_token"],response_types:["code"],scope:"read write",token_endpoint_auth_method:"none"}}clientInformation(){return this._clientInfo}saveClientInformation(t){return e(this,void 0,void 0,(function*(){this._clientInfo=t}))}tokens(){return this._tokens}saveTokens(t){return e(this,void 0,void 0,(function*(){this._tokens=t,localStorage.setItem("mcp_tokens",JSON.stringify(t)),localStorage.setItem("mcp_client",JSON.stringify(this._clientInfo))}))}redirectToAuthorization(t){return e(this,void 0,void 0,(function*(){this._hasRedirected?console.warn("SmitheryAuthProvider: Redirect requested twice, ignoring."):(this._hasRedirected=!0,t.searchParams.set("state",this.handshakeId),window.open(t.toString()))}))}saveCodeVerifier(t){return e(this,void 0,void 0,(function*(){this._codeVerifier=t}))}codeVerifier(){return e(this,void 0,void 0,(function*(){if(!this._codeVerifier)throw new Error("No code verifier stored");return this._codeVerifier}))}}export{t as SmitheryAuthProvider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as r,useRef as s,useMemo as n,useEffect as i}from"react";import c from"../../../common/error.js";import{Client as a}from"../../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js";import{StreamableHTTPClientTransport as l}from"../../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js";import m from"../../Core/Button.js";import d from"../../Core/ErrorAlert.js";import{SmitheryAuthProvider as p}from"./SmitheryAuthProvider.js";import{v4 as u}from"uuid";import f from"../../../common/api/api.js";import{usePickaxeContext as h}from"../../../hooks/pickaxe/usePickaxeContext.js";import{isPickaxeDomain as v}from"../../../common/api/pickaxe.js";import{encryptFernet as g}from"../../../common/fernet.js";const x=({serverId:x,smitheryId:_,name:b,resubmitPrompt:j})=>{const{sender:O}=h(),[k,N]=r(!0),[I,y]=r(!1),[E,S]=r(null),C=s(null),w=n((()=>u()),[]);i((()=>{let o=null;return I&&(o=setInterval((()=>e(void 0,void 0,void 0,(function*(){const e=yield f.post("/oauth/handshake/check",{sessionId:w}),{success:t,code:r}=e.data;if("failed"===r)return S("Auth failed"),y(!1),void(o&&clearInterval(o));if(r&&t){o&&clearInterval(o);try{if(!C.current)throw new Error("Transport not available for finalization.");yield C.current.finishAuth(r)}catch(e){return console.error(e),S("Failed to finalize authentication."),void y(!1)}const e=localStorage.getItem("mcp_tokens"),t=localStorage.getItem("mcp_client");e&&t&&P(JSON.parse(e),JSON.parse(t))}}))),1e3)),()=>{o&&clearInterval(o)}}),[I]);const P=(o,t)=>e(void 0,void 0,void 0,(function*(){try{yield f.post("/mcp/user/save",{tokens:g(JSON.stringify(o)),clientId:t.client_id,serverId:x,userId:O},Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),v&&{credentials:"include"})),localStorage.removeItem("mcp_tokens"),localStorage.removeItem("mcp_client"),N(!1),j()}catch(e){S(c(e))}}));return k?o("div",Object.assign({className:"w-full bg-white border border-c-sep rounded-lg shadow-sm p-4 flex flex-col gap-4"},{children:[o("div",Object.assign({className:"flex flex-col gap-1"},{children:[t("h3",Object.assign({className:"font-semibold text-black/80 text-lg"},{children:"Authentication Required"})),o("p",Object.assign({className:"text-black/60 text-sm"},{children:["The tool you are trying to use requires authentication with"," ",t("span",Object.assign({className:"font-semibold text-black/80"},{children:b||_})),"."]}))]})),E&&t(d,{error:E}),o("div",Object.assign({className:"flex justify-end gap-2"},{children:[t(m,Object.assign({variant:"secondary",onClick:()=>N(!1),className:"text-sm px-3 h-9"},{children:"Dismiss"})),t(m,Object.assign({variant:"primary",loadingText:"Connecting...",isLoading:I,onClick:()=>e(void 0,void 0,void 0,(function*(){if(!I)if("LOGGED OUT"!==O)try{S(null),y(!0);const e=new p(w),o=new l(new URL(`https://server.smithery.ai/${_}/mcp`),{authProvider:e});C.current=o;const t=new a({name:"Pickaxe",version:"1.0.0"});yield t.connect(o)}catch(e){console.log(c(e))}else S("You must be logged in to connect Smithery MCPs.")})),className:"text-sm px-3 h-9"},{children:"Connect"}))]}))]})):null};export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"pkce-challenge";import{LATEST_PROTOCOL_VERSION as t}from"../types.js";import{OAuthProtectedResourceMetadataSchema as n,OAuthMetadataSchema as r,OpenIdProviderDiscoveryMetadataSchema as o,OAuthClientInformationFullSchema as a,OAuthErrorResponseSchema as i,OAuthTokensSchema as s}from"../shared/auth.js";import{resourceUrlFromServerUrl as c,checkResourceAllowed as l}from"../shared/auth-utils.js";import{InvalidClientError as u,UnauthorizedClientError as d,InvalidGrantError as h,InvalidClientMetadataError as f,OAuthError as p,ServerError as w,OAUTH_ERRORS as m}from"../server/auth/errors.js";class _ extends Error{constructor(e){super(null!=e?e:"Unauthorized")}}const v="code",U="S256";function y(e,t){const n=void 0!==e.client_secret;return 0===t.length?n?"client_secret_post":"none":"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&(r=e.token_endpoint_auth_method,["client_secret_basic","client_secret_post","none"].includes(r))&&t.includes(e.token_endpoint_auth_method)?e.token_endpoint_auth_method:n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none";var r}function R(e,t,n,r){const{client_id:o,client_secret:a}=t;switch(e){case"client_secret_basic":return void function(e,t,n){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const r=btoa(`${e}:${t}`);n.set("Authorization",`Basic ${r}`)}(o,a,n);case"client_secret_post":return void function(e,t,n){n.set("client_id",e),t&&n.set("client_secret",t)}(o,a,r);case"none":return void function(e,t){t.set("client_id",e)}(o,r);default:throw new Error(`Unsupported client authentication method: ${e}`)}}async function k(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const e=i.parse(JSON.parse(n)),{error:t,error_description:r,error_uri:o}=e;return new(m[t]||w)(r||"",o)}catch(e){return new w(`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${e}. Raw body: ${n}`)}}async function g(e,t){var n,r;try{return await P(e,t)}catch(o){if(o instanceof u||o instanceof d)return await(null===(n=e.invalidateCredentials)||void 0===n?void 0:n.call(e,"all")),await P(e,t);if(o instanceof h)return await(null===(r=e.invalidateCredentials)||void 0===r?void 0:r.call(e,"tokens")),await P(e,t);throw o}}async function P(e,{serverUrl:t,authorizationCode:n,scope:r,resourceMetadataUrl:o,fetchFn:a}){var i,s;let c,l;try{c=await E(t,{resourceMetadataUrl:o},a),c.authorization_servers&&c.authorization_servers.length>0&&(l=c.authorization_servers[0])}catch(e){}l||(l=new URL("/",t));const u=await $(t,e,c),d=await z(l,{fetchFn:a});let h=await Promise.resolve(e.clientInformation());if(!h){if(void 0!==n)throw new Error("Existing OAuth client information is required when exchanging an authorization code");const t=!0===(null==d?void 0:d.client_id_metadata_document_supported),r=e.clientMetadataUrl;if(r&&!L(r))throw new f(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${r}`);if(t&&r)h={client_id:r},await(null===(i=e.saveClientInformation)||void 0===i?void 0:i.call(e,h));else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const t=await S(l,{metadata:d,clientMetadata:e.clientMetadata,fetchFn:a});await e.saveClientInformation(t),h=t}}const m=!e.redirectUrl;if(void 0!==n||m){const t=await q(e,l,{metadata:d,resource:u,authorizationCode:n,fetchFn:a});return await e.saveTokens(t),"AUTHORIZED"}const _=await e.tokens();if(null==_?void 0:_.refresh_token)try{const t=await F(l,{metadata:d,clientInformation:h,refreshToken:_.refresh_token,resource:u,addClientAuthentication:e.addClientAuthentication,fetchFn:a});return await e.saveTokens(t),"AUTHORIZED"}catch(e){if(e instanceof p&&!(e instanceof w))throw e}const v=e.state?await e.state():void 0,{authorizationUrl:U,codeVerifier:y}=await M(l,{metadata:d,clientInformation:h,state:v,redirectUrl:e.redirectUrl,scope:r||(null===(s=null==c?void 0:c.scopes_supported)||void 0===s?void 0:s.join(" "))||e.clientMetadata.scope,resource:u});return await e.saveCodeVerifier(y),await e.redirectToAuthorization(U),"REDIRECT"}function L(e){if(!e)return!1;try{const t=new URL(e);return"https:"===t.protocol&&"/"!==t.pathname}catch(e){return!1}}async function $(e,t,n){const r=c(e);if(t.validateResourceURL)return await t.validateResourceURL(r,null==n?void 0:n.resource);if(n){if(!l({requestedResource:r,configuredResource:n.resource}))throw new Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}function T(e){const t=e.headers.get("WWW-Authenticate");if(!t)return{};const[n,r]=t.split(" ");if("bearer"!==n.toLowerCase()||!r)return{};const o=C(e,"resource_metadata")||void 0;let a;if(o)try{a=new URL(o)}catch(e){}return{resourceMetadataUrl:a,scope:C(e,"scope")||void 0,error:C(e,"error")||void 0}}function C(e,t){const n=e.headers.get("WWW-Authenticate");if(!n)return null;const r=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),o=n.match(r);return o?o[1]||o[2]:null}async function E(e,r,o=fetch){var a,i;const s=await async function(e,n,r,o){var a,i;const s=new URL(e),c=null!==(a=null==o?void 0:o.protocolVersion)&&void 0!==a?a:t;let l;if(null==o?void 0:o.metadataUrl)l=new URL(o.metadataUrl);else{const e=function(e,t="",n={}){t.endsWith("/")&&(t=t.slice(0,-1));return n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}(n,s.pathname);l=new URL(e,null!==(i=null==o?void 0:o.metadataServerUrl)&&void 0!==i?i:s),l.search=s.search}let u=await I(l,c,r);if(!(null==o?void 0:o.metadataUrl)&&function(e,t){return!e||e.status>=400&&e.status<500&&"/"!==t}(u,s.pathname)){const e=new URL(`/.well-known/${n}`,s);u=await I(e,c,r)}return u}(e,"oauth-protected-resource",o,{protocolVersion:null==r?void 0:r.protocolVersion,metadataUrl:null==r?void 0:r.resourceMetadataUrl});if(!s||404===s.status)throw await(null===(a=null==s?void 0:s.body)||void 0===a?void 0:a.cancel()),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!s.ok)throw await(null===(i=s.body)||void 0===i?void 0:i.cancel()),new Error(`HTTP ${s.status} trying to load well-known OAuth protected resource metadata.`);return n.parse(await s.json())}async function A(e,t,n=fetch){try{return await n(e,{headers:t})}catch(r){if(r instanceof TypeError)return t?A(e,void 0,n):void 0;throw r}}async function I(e,t,n=fetch){const r={"MCP-Protocol-Version":t};return await A(e,r,n)}function b(e){const t="string"==typeof e?new URL(e):e,n=[];if(!("/"!==t.pathname))return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let r=t.pathname;return r.endsWith("/")&&(r=r.slice(0,-1)),n.push({url:new URL(`/.well-known/oauth-authorization-server${r}`,t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${r}`,t.origin),type:"oidc"}),n.push({url:new URL(`${r}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function z(e,{fetchFn:n=fetch,protocolVersion:a=t}={}){var i;const s={"MCP-Protocol-Version":a,Accept:"application/json"},c=b(e);for(const{url:e,type:t}of c){const a=await A(e,s,n);if(a){if(!a.ok){if(await(null===(i=a.body)||void 0===i?void 0:i.cancel()),a.status>=400&&a.status<500)continue;throw new Error(`HTTP ${a.status} trying to load ${"oauth"===t?"OAuth":"OpenID provider"} metadata from ${e}`)}return"oauth"===t?r.parse(await a.json()):o.parse(await a.json())}}}async function M(t,{metadata:n,clientInformation:r,redirectUrl:o,scope:a,state:i,resource:s}){let c;if(n){if(c=new URL(n.authorization_endpoint),!n.response_types_supported.includes(v))throw new Error(`Incompatible auth server: does not support response type ${v}`);if(n.code_challenge_methods_supported&&!n.code_challenge_methods_supported.includes(U))throw new Error(`Incompatible auth server: does not support code challenge method ${U}`)}else c=new URL("/authorize",t);const l=await e(),u=l.code_verifier,d=l.code_challenge;return c.searchParams.set("response_type",v),c.searchParams.set("client_id",r.client_id),c.searchParams.set("code_challenge",d),c.searchParams.set("code_challenge_method",U),c.searchParams.set("redirect_uri",String(o)),i&&c.searchParams.set("state",i),a&&c.searchParams.set("scope",a),(null==a?void 0:a.includes("offline_access"))&&c.searchParams.append("prompt","consent"),s&&c.searchParams.set("resource",s.href),{authorizationUrl:c,codeVerifier:u}}function j(e,t,n){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(n)})}async function O(e,{metadata:t,tokenRequestParams:n,clientInformation:r,addClientAuthentication:o,resource:a,fetchFn:i}){var c;const l=(null==t?void 0:t.token_endpoint)?new URL(t.token_endpoint):new URL("/token",e),u=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(a&&n.set("resource",a.href),o)await o(u,n,l,t);else if(r){R(y(r,null!==(c=null==t?void 0:t.token_endpoint_auth_methods_supported)&&void 0!==c?c:[]),r,u,n)}const d=await(null!=i?i:fetch)(l,{method:"POST",headers:u,body:n});if(!d.ok)throw await k(d);return s.parse(await d.json())}async function F(e,{metadata:t,clientInformation:n,refreshToken:r,resource:o,addClientAuthentication:a,fetchFn:i}){const s=new URLSearchParams({grant_type:"refresh_token",refresh_token:r});return{refresh_token:r,...await O(e,{metadata:t,tokenRequestParams:s,clientInformation:n,addClientAuthentication:a,resource:o,fetchFn:i})}}async function q(e,t,{metadata:n,resource:r,authorizationCode:o,fetchFn:a}={}){const i=e.clientMetadata.scope;let s;if(e.prepareTokenRequest&&(s=await e.prepareTokenRequest(i)),!s){if(!o)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");s=j(o,await e.codeVerifier(),e.redirectUrl)}const c=await e.clientInformation();return O(t,{metadata:n,tokenRequestParams:s,clientInformation:null!=c?c:void 0,addClientAuthentication:e.addClientAuthentication,resource:r,fetchFn:a})}async function S(e,{metadata:t,clientMetadata:n,fetchFn:r}){let o;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");o=new URL(t.registration_endpoint)}else o=new URL("/register",e);const i=await(null!=r?r:fetch)(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!i.ok)throw await k(i);return a.parse(await i.json())}export{_ as UnauthorizedError,g as auth,b as buildDiscoveryUrls,z as discoverAuthorizationServerMetadata,E as discoverOAuthProtectedResourceMetadata,T as extractWWWAuthenticateParams,q as fetchToken,L as isHttpsUrl,k as parseErrorResponse,j as prepareAuthorizationCodeRequest,F as refreshAuthorization,S as registerClient,y as selectClientAuthMethod,$ as selectResourceURL,M as startAuthorization};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Protocol as e,mergeCapabilities as t}from"../shared/protocol.js";import{LATEST_PROTOCOL_VERSION as r,InitializeResultSchema as s,SUPPORTED_PROTOCOL_VERSIONS as o,EmptyResultSchema as i,CompleteResultSchema as a,GetPromptResultSchema as n,ListPromptsResultSchema as l,ListResourcesResultSchema as c,ListResourceTemplatesResultSchema as u,ReadResourceResultSchema as d,McpError as p,ErrorCode as h,CallToolResultSchema as m,ListToolsResultSchema as v,ElicitRequestSchema as f,CreateTaskResultSchema as w,ElicitResultSchema as b,CreateMessageRequestSchema as g,CreateMessageResultSchema as _}from"../types.js";import{AjvJsonSchemaValidator as q}from"../validation/ajv-provider.js";import{getObjectShape as y,isZ4Schema as k,safeParse as T}from"../server/zod-compat.js";import{ExperimentalClientTasks as C}from"../experimental/tasks/client.js";import{assertToolsCallTaskCapability as S,assertClientRequestTaskCapability as E}from"../experimental/tasks/helpers.js";function $(e,t){if(e&&null!==t&&"object"==typeof t){if("object"===e.type&&e.properties&&"object"==typeof e.properties){const r=t,s=e.properties;for(const e of Object.keys(s)){const t=s[e];void 0===r[e]&&Object.prototype.hasOwnProperty.call(t,"default")&&(r[e]=t.default),void 0!==r[e]&&$(t,r[e])}}if(Array.isArray(e.anyOf))for(const r of e.anyOf)$(r,t);if(Array.isArray(e.oneOf))for(const r of e.oneOf)$(r,t)}}function I(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};const t=void 0!==e.form,r=void 0!==e.url;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}class R extends e{constructor(e,t){var r,s;super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._capabilities=null!==(r=null==t?void 0:t.capabilities)&&void 0!==r?r:{},this._jsonSchemaValidator=null!==(s=null==t?void 0:t.jsonSchemaValidator)&&void 0!==s?s:new q}get experimental(){return this._experimental||(this._experimental={tasks:new C(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=t(this._capabilities,e)}setRequestHandler(e,t){var r,s,o;const i=y(e),a=null==i?void 0:i.method;if(!a)throw new Error("Schema is missing a method literal");let n;if(k(a)){const e=a,t=null===(r=e._zod)||void 0===r?void 0:r.def;n=null!==(s=null==t?void 0:t.value)&&void 0!==s?s:e.value}else{const e=a,t=e._def;n=null!==(o=null==t?void 0:t.value)&&void 0!==o?o:e.value}if("string"!=typeof n)throw new Error("Schema method literal must be a string");const l=n;if("elicitation/create"===l){const r=async(e,r)=>{var s,o,i;const a=T(f,e);if(!a.success){const e=a.error instanceof Error?a.error.message:String(a.error);throw new p(h.InvalidParams,`Invalid elicitation request: ${e}`)}const{params:n}=a.data,l=null!==(s=n.mode)&&void 0!==s?s:"form",{supportsFormMode:c,supportsUrlMode:u}=I(this._capabilities.elicitation);if("form"===l&&!c)throw new p(h.InvalidParams,"Client does not support form-mode elicitation requests");if("url"===l&&!u)throw new p(h.InvalidParams,"Client does not support URL-mode elicitation requests");const d=await Promise.resolve(t(e,r));if(n.task){const e=T(w,d);if(!e.success){const t=e.error instanceof Error?e.error.message:String(e.error);throw new p(h.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}const m=T(b,d);if(!m.success){const e=m.error instanceof Error?m.error.message:String(m.error);throw new p(h.InvalidParams,`Invalid elicitation result: ${e}`)}const v=m.data,g="form"===l?n.requestedSchema:void 0;if("form"===l&&"accept"===v.action&&v.content&&g&&(null===(i=null===(o=this._capabilities.elicitation)||void 0===o?void 0:o.form)||void 0===i?void 0:i.applyDefaults))try{$(g,v.content)}catch(e){}return v};return super.setRequestHandler(e,r)}if("sampling/createMessage"===l){const r=async(e,r)=>{const s=T(g,e);if(!s.success){const e=s.error instanceof Error?s.error.message:String(s.error);throw new p(h.InvalidParams,`Invalid sampling request: ${e}`)}const{params:o}=s.data,i=await Promise.resolve(t(e,r));if(o.task){const e=T(w,i);if(!e.success){const t=e.error instanceof Error?e.error.message:String(e.error);throw new p(h.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}const a=T(_,i);if(!a.success){const e=a.error instanceof Error?a.error.message:String(a.error);throw new p(h.InvalidParams,`Invalid sampling result: ${e}`)}return a.data};return super.setRequestHandler(e,r)}return super.setRequestHandler(e,t)}assertCapability(e,t){var r;if(!(null===(r=this._serverCapabilities)||void 0===r?void 0:r[e]))throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),void 0===e.sessionId)try{const i=await this.request({method:"initialize",params:{protocolVersion:r,capabilities:this._capabilities,clientInfo:this._clientInfo}},s,t);if(void 0===i)throw new Error(`Server sent invalid initialize result: ${i}`);if(!o.includes(i.protocolVersion))throw new Error(`Server's protocol version is not supported: ${i.protocolVersion}`);this._serverCapabilities=i.capabilities,this._serverVersion=i.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(i.protocolVersion),this._instructions=i.instructions,await this.notification({method:"notifications/initialized"})}catch(e){throw this.close(),e}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){var t,r,s,o,i;switch(e){case"logging/setLevel":if(!(null===(t=this._serverCapabilities)||void 0===t?void 0:t.logging))throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!(null===(r=this._serverCapabilities)||void 0===r?void 0:r.prompts))throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!(null===(s=this._serverCapabilities)||void 0===s?void 0:s.resources))throw new Error(`Server does not support resources (required for ${e})`);if("resources/subscribe"===e&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!(null===(o=this._serverCapabilities)||void 0===o?void 0:o.tools))throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!(null===(i=this._serverCapabilities)||void 0===i?void 0:i.completions))throw new Error(`Server does not support completions (required for ${e})`)}}assertNotificationCapability(e){var t;if("notifications/roots/list_changed"===e)if(!(null===(t=this._capabilities.roots)||void 0===t?void 0:t.listChanged))throw new Error(`Client does not support roots list changed notifications (required for ${e})`)}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`)}}assertTaskCapability(e){var t,r;S(null===(r=null===(t=this._serverCapabilities)||void 0===t?void 0:t.tasks)||void 0===r?void 0:r.requests,e,"Server")}assertTaskHandlerCapability(e){var t;this._capabilities&&E(null===(t=this._capabilities.tasks)||void 0===t?void 0:t.requests,e,"Client")}async ping(e){return this.request({method:"ping"},i,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},a,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},i,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},n,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},l,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},c,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},u,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},d,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},i,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},i,t)}async callTool(e,t=m,r){if(this.isToolTaskRequired(e.name))throw new p(h.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const s=await this.request({method:"tools/call",params:e},t,r),o=this.getToolOutputValidator(e.name);if(o){if(!s.structuredContent&&!s.isError)throw new p(h.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(s.structuredContent)try{const e=o(s.structuredContent);if(!e.valid)throw new p(h.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)}catch(e){if(e instanceof p)throw e;throw new p(h.InvalidParams,`Failed to validate structured content: ${e instanceof Error?e.message:String(e)}`)}}return s}isToolTask(e){var t,r,s,o;return!!(null===(o=null===(s=null===(r=null===(t=this._serverCapabilities)||void 0===t?void 0:t.tasks)||void 0===r?void 0:r.requests)||void 0===s?void 0:s.tools)||void 0===o?void 0:o.call)&&this._cachedKnownTaskTools.has(e)}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){var t;this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const r of e){if(r.outputSchema){const e=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,e)}const e=null===(t=r.execution)||void 0===t?void 0:t.taskSupport;"required"!==e&&"optional"!==e||this._cachedKnownTaskTools.add(r.name),"required"===e&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const r=await this.request({method:"tools/list",params:e},v,t);return this.cacheToolMetadata(r.tools),r}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}export{R as Client,I as getSupportedElicitationModes};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createFetchWithInit as t,normalizeHeaders as e}from"../shared/transport.js";import{isJSONRPCRequest as o,isInitializedNotification as r,JSONRPCMessageSchema as s,isJSONRPCResponse as i}from"../types.js";import{UnauthorizedError as n,auth as a,extractWWWAuthenticateParams as h}from"./auth.js";import{EventSourceParserStream as l}from"eventsource-parser/stream";const c={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class d extends Error{constructor(t,e){super(`Streamable HTTP error: ${e}`),this.code=t}}class u{constructor(e,o){var r;this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=null==o?void 0:o.requestInit,this._authProvider=null==o?void 0:o.authProvider,this._fetch=null==o?void 0:o.fetch,this._fetchWithInit=t(null==o?void 0:o.fetch,null==o?void 0:o.requestInit),this._sessionId=null==o?void 0:o.sessionId,this._reconnectionOptions=null!==(r=null==o?void 0:o.reconnectionOptions)&&void 0!==r?r:c}async _authThenStart(){var t;if(!this._authProvider)throw new n("No auth provider");let e;try{e=await a(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(e){throw null===(t=this.onerror)||void 0===t||t.call(this,e),e}if("AUTHORIZED"!==e)throw new n;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){var t;const o={};if(this._authProvider){const t=await this._authProvider.tokens();t&&(o.Authorization=`Bearer ${t.access_token}`)}this._sessionId&&(o["mcp-session-id"]=this._sessionId),this._protocolVersion&&(o["mcp-protocol-version"]=this._protocolVersion);const r=e(null===(t=this._requestInit)||void 0===t?void 0:t.headers);return new Headers({...o,...r})}async _startOrAuthSse(t){var e,o,r,s;const{resumptionToken:i}=t;try{const s=await this._commonHeaders();s.set("Accept","text/event-stream"),i&&s.set("last-event-id",i);const n=await(null!==(e=this._fetch)&&void 0!==e?e:fetch)(this._url,{method:"GET",headers:s,signal:null===(o=this._abortController)||void 0===o?void 0:o.signal});if(!n.ok){if(await(null===(r=n.body)||void 0===r?void 0:r.cancel()),401===n.status&&this._authProvider)return await this._authThenStart();if(405===n.status)return;throw new d(n.status,`Failed to open SSE stream: ${n.statusText}`)}this._handleSseStream(n.body,t,!0)}catch(t){throw null===(s=this.onerror)||void 0===s||s.call(this,t),t}}_getNextReconnectionDelay(t){if(void 0!==this._serverRetryMs)return this._serverRetryMs;const e=this._reconnectionOptions.initialReconnectionDelay,o=this._reconnectionOptions.reconnectionDelayGrowFactor,r=this._reconnectionOptions.maxReconnectionDelay;return Math.min(e*Math.pow(o,t),r)}_scheduleReconnection(t,e=0){var o;const r=this._reconnectionOptions.maxRetries;if(e>=r)return void(null===(o=this.onerror)||void 0===o||o.call(this,new Error(`Maximum reconnection attempts (${r}) exceeded.`)));const s=this._getNextReconnectionDelay(e);this._reconnectionTimeout=setTimeout((()=>{this._startOrAuthSse(t).catch((o=>{var r;null===(r=this.onerror)||void 0===r||r.call(this,new Error(`Failed to reconnect SSE stream: ${o instanceof Error?o.message:String(o)}`)),this._scheduleReconnection(t,e+1)}))}),s)}_handleSseStream(t,e,o){if(!t)return;const{onresumptiontoken:r,replayMessageId:n}=e;let a,h=!1,c=!1;(async()=>{var e,d,u,_;try{const u=t.pipeThrough(new TextDecoderStream).pipeThrough(new l({onRetry:t=>{this._serverRetryMs=t}})).getReader();for(;;){const{value:t,done:o}=await u.read();if(o)break;if(t.id&&(a=t.id,h=!0,null==r||r(t.id)),t.data&&(!t.event||"message"===t.event))try{const o=s.parse(JSON.parse(t.data));i(o)&&(c=!0,void 0!==n&&(o.id=n)),null===(e=this.onmessage)||void 0===e||e.call(this,o)}catch(t){null===(d=this.onerror)||void 0===d||d.call(this,t)}}(o||h)&&!c&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:a,onresumptiontoken:r,replayMessageId:n},0)}catch(t){null===(u=this.onerror)||void 0===u||u.call(this,new Error(`SSE stream disconnected: ${t}`));if((o||h)&&!c&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:a,onresumptiontoken:r,replayMessageId:n},0)}catch(t){null===(_=this.onerror)||void 0===_||_.call(this,new Error(`Failed to reconnect: ${t instanceof Error?t.message:String(t)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(t){if(!this._authProvider)throw new n("No auth provider");if("AUTHORIZED"!==await a(this._authProvider,{serverUrl:this._url,authorizationCode:t,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new n("Failed to authorize")}async close(){var t,e;this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),null===(t=this._abortController)||void 0===t||t.abort(),null===(e=this.onclose)||void 0===e||e.call(this)}async send(t,e){var i,l,c,u,_,v,p;try{const{resumptionToken:p,onresumptiontoken:m}=e||{};if(p)return void this._startOrAuthSse({resumptionToken:p,replayMessageId:o(t)?t.id:void 0}).catch((t=>{var e;return null===(e=this.onerror)||void 0===e?void 0:e.call(this,t)}));const w=await this._commonHeaders();w.set("content-type","application/json"),w.set("accept","application/json, text/event-stream");const f={...this._requestInit,method:"POST",headers:w,body:JSON.stringify(t),signal:null===(i=this._abortController)||void 0===i?void 0:i.signal},y=await(null!==(l=this._fetch)&&void 0!==l?l:fetch)(this._url,f),g=y.headers.get("mcp-session-id");if(g&&(this._sessionId=g),!y.ok){const e=await y.text().catch((()=>null));if(401===y.status&&this._authProvider){if(this._hasCompletedAuthFlow)throw new d(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:e,scope:o}=h(y);this._resourceMetadataUrl=e,this._scope=o;if("AUTHORIZED"!==await a(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new n;return this._hasCompletedAuthFlow=!0,this.send(t)}if(403===y.status&&this._authProvider){const{resourceMetadataUrl:e,scope:o,error:r}=h(y);if("insufficient_scope"===r){const r=y.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===r)throw new d(403,"Server returned 403 after trying upscoping");o&&(this._scope=o),e&&(this._resourceMetadataUrl=e),this._lastUpscopingHeader=null!=r?r:void 0;if("AUTHORIZED"!==await a(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch}))throw new n;return this.send(t)}}throw new d(y.status,`Error POSTing to endpoint: ${e}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,202===y.status)return await(null===(c=y.body)||void 0===c?void 0:c.cancel()),void(r(t)&&this._startOrAuthSse({resumptionToken:void 0}).catch((t=>{var e;return null===(e=this.onerror)||void 0===e?void 0:e.call(this,t)})));const T=(Array.isArray(t)?t:[t]).filter((t=>"method"in t&&"id"in t&&void 0!==t.id)).length>0,S=y.headers.get("content-type");if(T)if(null==S?void 0:S.includes("text/event-stream"))this._handleSseStream(y.body,{onresumptiontoken:m},!1);else{if(!(null==S?void 0:S.includes("application/json")))throw await(null===(_=y.body)||void 0===_?void 0:_.cancel()),new d(-1,`Unexpected content type: ${S}`);{const t=await y.json(),e=Array.isArray(t)?t.map((t=>s.parse(t))):[s.parse(t)];for(const t of e)null===(u=this.onmessage)||void 0===u||u.call(this,t)}}else await(null===(v=y.body)||void 0===v?void 0:v.cancel())}catch(t){throw null===(p=this.onerror)||void 0===p||p.call(this,t),t}}get sessionId(){return this._sessionId}async terminateSession(){var t,e,o,r;if(this._sessionId)try{const r=await this._commonHeaders(),s={...this._requestInit,method:"DELETE",headers:r,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal},i=await(null!==(e=this._fetch)&&void 0!==e?e:fetch)(this._url,s);if(await(null===(o=i.body)||void 0===o?void 0:o.cancel()),!i.ok&&405!==i.status)throw new d(i.status,`Failed to terminate session: ${i.statusText}`);this._sessionId=void 0}catch(t){throw null===(r=this.onerror)||void 0===r||r.call(this,t),t}}setProtocolVersion(t){this._protocolVersion=t}get protocolVersion(){return this._protocolVersion}async resumeStream(t,e){await this._startOrAuthSse({resumptionToken:t,onresumptiontoken:null==e?void 0:e.onresumptiontoken})}}export{u as StreamableHTTPClientTransport,d as StreamableHTTPError};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{McpError as t,ErrorCode as e,CallToolResultSchema as r}from"../../types.js";class s{constructor(t){this._client=t}async*callToolStream(s,a=r,n){var o;const i=this._client,c={...n,task:null!==(o=null==n?void 0:n.task)&&void 0!==o?o:i.isToolTask(s.name)?{}:void 0},l=i.requestStream({method:"tools/call",params:s},a,c),u=i.getToolOutputValidator(s.name);for await(const r of l){if("result"===r.type&&u){const a=r.result;if(!a.structuredContent&&!a.isError)return void(yield{type:"error",error:new t(e.InvalidRequest,`Tool ${s.name} has an output schema but did not return structured content`)});if(a.structuredContent)try{const r=u(a.structuredContent);if(!r.valid)return void(yield{type:"error",error:new t(e.InvalidParams,`Structured content does not match the tool's output schema: ${r.errorMessage}`)})}catch(r){return r instanceof t?void(yield{type:"error",error:r}):void(yield{type:"error",error:new t(e.InvalidParams,`Failed to validate structured content: ${r instanceof Error?r.message:String(r)}`)})}}yield r}}async getTask(t,e){return this._client.getTask({taskId:t},e)}async getTaskResult(t,e,r){return this._client.getTaskResult({taskId:t},e,r)}async listTasks(t,e){return this._client.listTasks(t?{cursor:t}:void 0,e)}async cancelTask(t,e){return this._client.cancelTask({taskId:t},e)}requestStream(t,e,r){return this._client.requestStream(t,e,r)}}export{s as ExperimentalClientTasks};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(r,o,e){var t;if(!r)throw new Error(`${e} does not support task creation (required for ${o})`);if("tools/call"===o)if(!(null===(t=r.tools)||void 0===t?void 0:t.call))throw new Error(`${e} does not support task creation for tools/call (required for ${o})`)}function o(r,o,e){var t,i;if(!r)throw new Error(`${e} does not support task creation (required for ${o})`);switch(o){case"sampling/createMessage":if(!(null===(t=r.sampling)||void 0===t?void 0:t.createMessage))throw new Error(`${e} does not support task creation for sampling/createMessage (required for ${o})`);break;case"elicitation/create":if(!(null===(i=r.elicitation)||void 0===i?void 0:i.create))throw new Error(`${e} does not support task creation for elicitation/create (required for ${o})`)}}export{o as assertClientRequestTaskCapability,r as assertToolsCallTaskCapability};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return"completed"===e||"failed"===e||"cancelled"===e}export{e as isTerminal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class r extends Error{constructor(r,e){super(r),this.errorUri=e,this.name=this.constructor.name}toResponseObject(){const r={error:this.errorCode,error_description:this.message};return this.errorUri&&(r.error_uri=this.errorUri),r}get errorCode(){return this.constructor.errorCode}}class e extends r{}e.errorCode="invalid_request";class o extends r{}o.errorCode="invalid_client";class s extends r{}s.errorCode="invalid_grant";class d extends r{}d.errorCode="unauthorized_client";class t extends r{}t.errorCode="unsupported_grant_type";class n extends r{}n.errorCode="invalid_scope";class a extends r{}a.errorCode="access_denied";class i extends r{}i.errorCode="server_error";class C extends r{}C.errorCode="temporarily_unavailable";class c extends r{}c.errorCode="unsupported_response_type";class l extends r{}l.errorCode="unsupported_token_type";class _ extends r{}_.errorCode="invalid_token";class u extends r{}u.errorCode="method_not_allowed";class x extends r{}x.errorCode="too_many_requests";class p extends r{}p.errorCode="invalid_client_metadata";class h extends r{}h.errorCode="insufficient_scope";class v extends r{}v.errorCode="invalid_target";const m={[e.errorCode]:e,[o.errorCode]:o,[s.errorCode]:s,[d.errorCode]:d,[t.errorCode]:t,[n.errorCode]:n,[a.errorCode]:a,[i.errorCode]:i,[C.errorCode]:C,[c.errorCode]:c,[l.errorCode]:l,[_.errorCode]:_,[u.errorCode]:u,[x.errorCode]:x,[p.errorCode]:p,[h.errorCode]:h,[v.errorCode]:v};export{a as AccessDeniedError,h as InsufficientScopeError,o as InvalidClientError,p as InvalidClientMetadataError,s as InvalidGrantError,e as InvalidRequestError,n as InvalidScopeError,v as InvalidTargetError,_ as InvalidTokenError,u as MethodNotAllowedError,m as OAUTH_ERRORS,r as OAuthError,i as ServerError,C as TemporarilyUnavailableError,x as TooManyRequestsError,d as UnauthorizedClientError,t as UnsupportedGrantTypeError,c as UnsupportedResponseTypeError,l as UnsupportedTokenTypeError};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{safeParse as e}from"../../../../../../../zod@4.1.13/node_modules/zod/v4/core/parse.js";function r(e){return!!e._zod}function u(u,n){if(r(u)){return e(u,n)}return u.safeParse(n)}function n(e){var u,n;if(!e)return;let i;if(r(e)){i=null===(n=null===(u=e._zod)||void 0===u?void 0:u.def)||void 0===n?void 0:n.shape}else{i=e.shape}if(i){if("function"==typeof i)try{return i()}catch(e){return}return i}}function i(e){var u;if(r(e)){const r=null===(u=e._zod)||void 0===u?void 0:u.def;if(r){if(void 0!==r.value)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}}const n=e._def;if(n){if(void 0!==n.value)return n.value;if(Array.isArray(n.values)&&n.values.length>0)return n.values[0]}const i=e.value;if(void 0!==i)return i}export{i as getLiteralValue,n as getObjectShape,r as isZ4Schema,u as safeParse};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getObjectShape as r,getLiteralValue as t,safeParse as o}from"./zod-compat.js";function e(o){const e=r(o),n=null==e?void 0:e.method;if(!n)throw new Error("Schema is missing a method literal");const i=t(n);if("string"!=typeof i)throw new Error("Schema method literal must be a string");return i}function n(r,t){const e=o(r,t);if(!e.success)throw e.error;return e.data}export{e as getMethodLiteral,n as parseWithCompat};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){const n="string"==typeof e?new URL(e):new URL(e.href);return n.hash="",n}function n({requestedResource:e,configuredResource:n}){const t="string"==typeof e?new URL(e):new URL(e.href),r="string"==typeof n?new URL(n):new URL(n.href);if(t.origin!==r.origin)return!1;if(t.pathname.length<r.pathname.length)return!1;const a=t.pathname.endsWith("/")?t.pathname:t.pathname+"/",h=r.pathname.endsWith("/")?r.pathname:r.pathname+"/";return a.startsWith(h)}export{n as checkResourceAllowed,e as resourceUrlFromServerUrl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{url as o,looseObject as t,string as e,array as p,boolean as n,object as i,literal as s,any as _,number as a}from"../../../../../../../zod@4.1.13/node_modules/zod/v4/classic/schemas.js";import{ZodIssueCode as r}from"../../../../../../../zod@4.1.13/node_modules/zod/v4/classic/compat.js";import{NEVER as l}from"../../../../../../../zod@4.1.13/node_modules/zod/v4/core/core.js";import{number as u}from"../../../../../../../zod@4.1.13/node_modules/zod/v4/classic/coerce.js";const d=o().superRefine(((o,t)=>{if(!URL.canParse(o))return t.addIssue({code:r.custom,message:"URL must be parseable",fatal:!0}),l})).refine((o=>{const t=new URL(o);return"javascript:"!==t.protocol&&"data:"!==t.protocol&&"vbscript:"!==t.protocol}),{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),c=t({resource:e().url(),authorization_servers:p(d).optional(),jwks_uri:e().url().optional(),scopes_supported:p(e()).optional(),bearer_methods_supported:p(e()).optional(),resource_signing_alg_values_supported:p(e()).optional(),resource_name:e().optional(),resource_documentation:e().optional(),resource_policy_uri:e().url().optional(),resource_tos_uri:e().url().optional(),tls_client_certificate_bound_access_tokens:n().optional(),authorization_details_types_supported:p(e()).optional(),dpop_signing_alg_values_supported:p(e()).optional(),dpop_bound_access_tokens_required:n().optional()}),m=t({issuer:e(),authorization_endpoint:d,token_endpoint:d,registration_endpoint:d.optional(),scopes_supported:p(e()).optional(),response_types_supported:p(e()),response_modes_supported:p(e()).optional(),grant_types_supported:p(e()).optional(),token_endpoint_auth_methods_supported:p(e()).optional(),token_endpoint_auth_signing_alg_values_supported:p(e()).optional(),service_documentation:d.optional(),revocation_endpoint:d.optional(),revocation_endpoint_auth_methods_supported:p(e()).optional(),revocation_endpoint_auth_signing_alg_values_supported:p(e()).optional(),introspection_endpoint:e().optional(),introspection_endpoint_auth_methods_supported:p(e()).optional(),introspection_endpoint_auth_signing_alg_values_supported:p(e()).optional(),code_challenge_methods_supported:p(e()).optional(),client_id_metadata_document_supported:n().optional()}),g=t({issuer:e(),authorization_endpoint:d,token_endpoint:d,userinfo_endpoint:d.optional(),jwks_uri:d,registration_endpoint:d.optional(),scopes_supported:p(e()).optional(),response_types_supported:p(e()),response_modes_supported:p(e()).optional(),grant_types_supported:p(e()).optional(),acr_values_supported:p(e()).optional(),subject_types_supported:p(e()),id_token_signing_alg_values_supported:p(e()),id_token_encryption_alg_values_supported:p(e()).optional(),id_token_encryption_enc_values_supported:p(e()).optional(),userinfo_signing_alg_values_supported:p(e()).optional(),userinfo_encryption_alg_values_supported:p(e()).optional(),userinfo_encryption_enc_values_supported:p(e()).optional(),request_object_signing_alg_values_supported:p(e()).optional(),request_object_encryption_alg_values_supported:p(e()).optional(),request_object_encryption_enc_values_supported:p(e()).optional(),token_endpoint_auth_methods_supported:p(e()).optional(),token_endpoint_auth_signing_alg_values_supported:p(e()).optional(),display_values_supported:p(e()).optional(),claim_types_supported:p(e()).optional(),claims_supported:p(e()).optional(),service_documentation:e().optional(),claims_locales_supported:p(e()).optional(),ui_locales_supported:p(e()).optional(),claims_parameter_supported:n().optional(),request_parameter_supported:n().optional(),request_uri_parameter_supported:n().optional(),require_request_uri_registration:n().optional(),op_policy_uri:d.optional(),op_tos_uri:d.optional(),client_id_metadata_document_supported:n().optional()}),v=i({...g.shape,...m.pick({code_challenge_methods_supported:!0}).shape}),h=i({access_token:e(),id_token:e().optional(),token_type:e(),expires_in:u().optional(),scope:e().optional(),refresh_token:e().optional()}).strip(),k=i({error:e(),error_description:e().optional(),error_uri:e().optional()}),y=d.optional().or(s("").transform((()=>{}))),f=i({redirect_uris:p(d),token_endpoint_auth_method:e().optional(),grant_types:p(e()).optional(),response_types:p(e()).optional(),client_name:e().optional(),client_uri:d.optional(),logo_uri:y,scope:e().optional(),contacts:p(e()).optional(),tos_uri:y,policy_uri:e().optional(),jwks_uri:d.optional(),jwks:_().optional(),software_id:e().optional(),software_version:e().optional(),software_statement:e().optional()}).strip(),j=i({client_id:e(),client_secret:e().optional(),client_id_issued_at:a().optional(),client_secret_expires_at:a().optional()}).strip(),b=f.merge(j);i({error:e(),error_description:e().optional()}).strip(),i({token:e(),token_type_hint:e().optional()}).strip();export{b as OAuthClientInformationFullSchema,j as OAuthClientInformationSchema,f as OAuthClientMetadataSchema,k as OAuthErrorResponseSchema,m as OAuthMetadataSchema,c as OAuthProtectedResourceMetadataSchema,h as OAuthTokensSchema,v as OpenIdProviderDiscoveryMetadataSchema,g as OpenIdProviderMetadataSchema,y as OptionalSafeUrlSchema,d as SafeUrlSchema};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{safeParse as e}from"../server/zod-compat.js";import{CancelledNotificationSchema as t,ProgressNotificationSchema as s,PingRequestSchema as r,GetTaskRequestSchema as a,McpError as o,ErrorCode as n,GetTaskPayloadRequestSchema as i,ListTasksRequestSchema as l,CancelTaskRequestSchema as d,isJSONRPCResponse as u,isJSONRPCError as c,isJSONRPCRequest as h,isJSONRPCNotification as m,RELATED_TASK_META_KEY as p,CreateTaskResultSchema as k,GetTaskResultSchema as v,ListTasksResultSchema as _,CancelTaskResultSchema as f,TaskStatusNotificationSchema as g}from"../types.js";import{isTerminal as w}from"../experimental/tasks/interfaces.js";import{getMethodLiteral as T,parseWithCompat as I}from"../server/zod-json-schema-compat.js";const q=6e4;class y{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(t,(e=>{this._oncancel(e)})),this.setNotificationHandler(s,(e=>{this._onprogress(e)})),this.setRequestHandler(r,(e=>({}))),this._taskStore=null==e?void 0:e.taskStore,this._taskMessageQueue=null==e?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(a,(async(e,t)=>{const s=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!s)throw new o(n.InvalidParams,"Failed to retrieve task: Task not found");return{...s}})),this.setRequestHandler(i,(async(e,t)=>{const s=async()=>{var r;const a=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(a,t.sessionId);)if("response"!==e.type&&"error"!==e.type)await(null===(r=this._transport)||void 0===r?void 0:r.send(e.message,{relatedRequestId:t.requestId}));else{const t=e.message,s=t.id,r=this._requestResolvers.get(s);if(r)if(this._requestResolvers.delete(s),"response"===e.type)r(t);else{const e=t;r(new o(e.error.code,e.error.message,e.error.data))}else{const t="response"===e.type?"Response":"Error";this._onerror(new Error(`${t} handler missing for request ${s}`))}}}const i=await this._taskStore.getTask(a,t.sessionId);if(!i)throw new o(n.InvalidParams,`Task not found: ${a}`);if(!w(i.status))return await this._waitForTaskUpdate(a,t.signal),await s();if(w(i.status)){const e=await this._taskStore.getTaskResult(a,t.sessionId);return this._clearTaskQueue(a),{...e,_meta:{...e._meta,[p]:{taskId:a}}}}return await s()};return await s()})),this.setRequestHandler(l,(async(e,t)=>{var s;try{const{tasks:r,nextCursor:a}=await this._taskStore.listTasks(null===(s=e.params)||void 0===s?void 0:s.cursor,t.sessionId);return{tasks:r,nextCursor:a,_meta:{}}}catch(e){throw new o(n.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}})),this.setRequestHandler(d,(async(e,t)=>{try{const s=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!s)throw new o(n.InvalidParams,`Task not found: ${e.params.taskId}`);if(w(s.status))throw new o(n.InvalidParams,`Cannot cancel task in terminal status: ${s.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,"cancelled","Client cancelled task execution.",t.sessionId),this._clearTaskQueue(e.params.taskId);const r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new o(n.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){if(e instanceof o)throw e;throw new o(n.InvalidRequest,`Failed to cancel task: ${e instanceof Error?e.message:String(e)}`)}})))}async _oncancel(e){const t=this._requestHandlerAbortControllers.get(e.params.requestId);null==t||t.abort(e.params.reason)}_setupTimeout(e,t,s,r,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:a,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),o.fromError(n.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var t,s,r;this._transport=e;const a=null===(t=this.transport)||void 0===t?void 0:t.onclose;this._transport.onclose=()=>{null==a||a(),this._onclose()};const o=null===(s=this.transport)||void 0===s?void 0:s.onerror;this._transport.onerror=e=>{null==o||o(e),this._onerror(e)};const n=null===(r=this._transport)||void 0===r?void 0:r.onmessage;this._transport.onmessage=(e,t)=>{null==n||n(e,t),u(e)||c(e)?this._onresponse(e):h(e)?this._onrequest(e,t):m(e)?this._onnotification(e):this._onerror(new Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){var e;const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();const s=o.fromError(n.ConnectionClosed,"Connection closed");this._transport=void 0,null===(e=this.onclose)||void 0===e||e.call(this);for(const e of t.values())e(s)}_onerror(e){var t;null===(t=this.onerror)||void 0===t||t.call(this,e)}_onnotification(e){var t;const s=null!==(t=this._notificationHandlers.get(e.method))&&void 0!==t?t:this.fallbackNotificationHandler;void 0!==s&&Promise.resolve().then((()=>s(e))).catch((e=>this._onerror(new Error(`Uncaught error in notification handler: ${e}`))))}_onrequest(e,t){var s,r,a,o,i,l;const d=null!==(s=this._requestHandlers.get(e.method))&&void 0!==s?s:this.fallbackRequestHandler,u=this._transport,c=null===(o=null===(a=null===(r=e.params)||void 0===r?void 0:r._meta)||void 0===a?void 0:a[p])||void 0===o?void 0:o.taskId;if(void 0===d){const t={jsonrpc:"2.0",id:e.id,error:{code:n.MethodNotFound,message:"Method not found"}};return void(c&&this._taskMessageQueue?this._enqueueTaskMessage(c,{type:"error",message:t,timestamp:Date.now()},null==u?void 0:u.sessionId).catch((e=>this._onerror(new Error(`Failed to enqueue error response: ${e}`)))):null==u||u.send(t).catch((e=>this._onerror(new Error(`Failed to send an error response: ${e}`)))))}const h=new AbortController;this._requestHandlerAbortControllers.set(e.id,h);const m=null===(i=e.params)||void 0===i?void 0:i.task,k=this._taskStore?this.requestTaskStore(e,null==u?void 0:u.sessionId):void 0,v={signal:h.signal,sessionId:null==u?void 0:u.sessionId,_meta:null===(l=e.params)||void 0===l?void 0:l._meta,sendNotification:async t=>{const s={relatedRequestId:e.id};c&&(s.relatedTask={taskId:c}),await this.notification(t,s)},sendRequest:async(t,s,r)=>{var a,o;const n={...r,relatedRequestId:e.id};c&&!n.relatedTask&&(n.relatedTask={taskId:c});const i=null!==(o=null===(a=n.relatedTask)||void 0===a?void 0:a.taskId)&&void 0!==o?o:c;return i&&k&&await k.updateTaskStatus(i,"input_required"),await this.request(t,s,n)},authInfo:null==t?void 0:t.authInfo,requestId:e.id,requestInfo:null==t?void 0:t.requestInfo,taskId:c,taskStore:k,taskRequestedTtl:null==m?void 0:m.ttl,closeSSEStream:null==t?void 0:t.closeSSEStream,closeStandaloneSSEStream:null==t?void 0:t.closeStandaloneSSEStream};Promise.resolve().then((()=>{m&&this.assertTaskHandlerCapability(e.method)})).then((()=>d(e,v))).then((async t=>{if(h.signal.aborted)return;const s={result:t,jsonrpc:"2.0",id:e.id};c&&this._taskMessageQueue?await this._enqueueTaskMessage(c,{type:"response",message:s,timestamp:Date.now()},null==u?void 0:u.sessionId):await(null==u?void 0:u.send(s))}),(async t=>{var s;if(h.signal.aborted)return;const r={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:n.InternalError,message:null!==(s=t.message)&&void 0!==s?s:"Internal error",...void 0!==t.data&&{data:t.data}}};c&&this._taskMessageQueue?await this._enqueueTaskMessage(c,{type:"error",message:r,timestamp:Date.now()},null==u?void 0:u.sessionId):await(null==u?void 0:u.send(r))})).catch((e=>this._onerror(new Error(`Failed to send response: ${e}`)))).finally((()=>{this._requestHandlerAbortControllers.delete(e.id)}))}_onprogress(e){const{progressToken:t,...s}=e.params,r=Number(t),a=this._progressHandlers.get(r);if(!a)return void this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));const o=this._responseHandlers.get(r),n=this._timeoutInfo.get(r);if(n&&o&&n.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){return this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),void o(e)}a(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s){if(this._requestResolvers.delete(t),u(e))s(e);else{s(new o(e.error.code,e.error.message,e.error.data))}return}const r=this._responseHandlers.get(t);if(void 0===r)return void this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));this._responseHandlers.delete(t),this._cleanupTimeout(t);let a=!1;if(u(e)&&e.result&&"object"==typeof e.result){const s=e.result;if(s.task&&"object"==typeof s.task){const e=s.task;"string"==typeof e.taskId&&(a=!0,this._taskProgressTokens.set(e.taskId,t))}}if(a||this._progressHandlers.delete(t),u(e))r(e);else{r(o.fromError(e.error.code,e.error.message,e.error.data))}}get transport(){return this._transport}async close(){var e;await(null===(e=this._transport)||void 0===e?void 0:e.close())}async*requestStream(e,t,s){var r,a,i,l;const{task:d}=null!=s?s:{};if(!d){try{const r=await this.request(e,t,s);yield{type:"result",result:r}}catch(e){yield{type:"error",error:e instanceof o?e:new o(n.InternalError,String(e))}}return}let u;try{const d=await this.request(e,k,s);if(!d.task)throw new o(n.InternalError,"Task creation did not return a task");for(u=d.task.taskId,yield{type:"taskCreated",task:d.task};;){const e=await this.getTask({taskId:u},s);if(yield{type:"taskStatus",task:e},w(e.status)){if("completed"===e.status){const e=await this.getTaskResult({taskId:u},t,s);yield{type:"result",result:e}}else"failed"===e.status?yield{type:"error",error:new o(n.InternalError,`Task ${u} failed`)}:"cancelled"===e.status&&(yield{type:"error",error:new o(n.InternalError,`Task ${u} was cancelled`)});return}if("input_required"===e.status){const e=await this.getTaskResult({taskId:u},t,s);return void(yield{type:"result",result:e})}const d=null!==(i=null!==(r=e.pollInterval)&&void 0!==r?r:null===(a=this._options)||void 0===a?void 0:a.defaultTaskPollInterval)&&void 0!==i?i:1e3;await new Promise((e=>setTimeout(e,d))),null===(l=null==s?void 0:s.signal)||void 0===l||l.throwIfAborted()}}catch(e){yield{type:"error",error:e instanceof o?e:new o(n.InternalError,String(e))}}}request(t,s,r){const{relatedRequestId:a,resumptionToken:i,onresumptiontoken:l,task:d,relatedTask:u}=null!=r?r:{};return new Promise(((c,h)=>{var m,k,v,_,f,g,w;const T=e=>{h(e)};if(!this._transport)return void T(new Error("Not connected"));if(!0===(null===(m=this._options)||void 0===m?void 0:m.enforceStrictCapabilities))try{this.assertCapabilityForMethod(t.method),d&&this.assertTaskCapability(t.method)}catch(e){return void T(e)}null===(k=null==r?void 0:r.signal)||void 0===k||k.throwIfAborted();const I=this._requestMessageId++,q={...t,jsonrpc:"2.0",id:I};(null==r?void 0:r.onprogress)&&(this._progressHandlers.set(I,r.onprogress),q.params={...t.params,_meta:{...(null===(v=t.params)||void 0===v?void 0:v._meta)||{},progressToken:I}}),d&&(q.params={...q.params,task:d}),u&&(q.params={...q.params,_meta:{...(null===(_=q.params)||void 0===_?void 0:_._meta)||{},[p]:u}});const y=e=>{var t;this._responseHandlers.delete(I),this._progressHandlers.delete(I),this._cleanupTimeout(I),null===(t=this._transport)||void 0===t||t.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:I,reason:String(e)}},{relatedRequestId:a,resumptionToken:i,onresumptiontoken:l}).catch((e=>this._onerror(new Error(`Failed to send cancellation: ${e}`))));const s=e instanceof o?e:new o(n.RequestTimeout,String(e));h(s)};this._responseHandlers.set(I,(t=>{var a;if(!(null===(a=null==r?void 0:r.signal)||void 0===a?void 0:a.aborted)){if(t instanceof Error)return h(t);try{const r=e(s,t.result);r.success?c(r.data):h(r.error)}catch(e){h(e)}}})),null===(f=null==r?void 0:r.signal)||void 0===f||f.addEventListener("abort",(()=>{var e;y(null===(e=null==r?void 0:r.signal)||void 0===e?void 0:e.reason)}));const S=null!==(g=null==r?void 0:r.timeout)&&void 0!==g?g:6e4;this._setupTimeout(I,S,null==r?void 0:r.maxTotalTimeout,(()=>y(o.fromError(n.RequestTimeout,"Request timed out",{timeout:S}))),null!==(w=null==r?void 0:r.resetTimeoutOnProgress)&&void 0!==w&&w);const H=null==u?void 0:u.taskId;if(H){const e=e=>{const t=this._responseHandlers.get(I);t?t(e):this._onerror(new Error(`Response handler missing for side-channeled request ${I}`))};this._requestResolvers.set(I,e),this._enqueueTaskMessage(H,{type:"request",message:q,timestamp:Date.now()}).catch((e=>{this._cleanupTimeout(I),h(e)}))}else this._transport.send(q,{relatedRequestId:a,resumptionToken:i,onresumptiontoken:l}).catch((e=>{this._cleanupTimeout(I),h(e)}))}))}async getTask(e,t){return this.request({method:"tasks/get",params:e},v,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},_,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},f,t)}async notification(e,t){var s,r,a,o,n;if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const i=null===(s=null==t?void 0:t.relatedTask)||void 0===s?void 0:s.taskId;if(i){const s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...(null===(r=e.params)||void 0===r?void 0:r._meta)||{},[p]:t.relatedTask}}};return void await this._enqueueTaskMessage(i,{type:"notification",message:s,timestamp:Date.now()})}if((null!==(o=null===(a=this._options)||void 0===a?void 0:a.debouncedNotificationMethods)&&void 0!==o?o:[]).includes(e.method)&&!e.params&&!(null==t?void 0:t.relatedRequestId)&&!(null==t?void 0:t.relatedTask)){if(this._pendingDebouncedNotifications.has(e.method))return;return this._pendingDebouncedNotifications.add(e.method),void Promise.resolve().then((()=>{var s,r;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};(null==t?void 0:t.relatedTask)&&(a={...a,params:{...a.params,_meta:{...(null===(s=a.params)||void 0===s?void 0:s._meta)||{},[p]:t.relatedTask}}}),null===(r=this._transport)||void 0===r||r.send(a,t).catch((e=>this._onerror(e)))}))}let l={...e,jsonrpc:"2.0"};(null==t?void 0:t.relatedTask)&&(l={...l,params:{...l.params,_meta:{...(null===(n=l.params)||void 0===n?void 0:n._meta)||{},[p]:t.relatedTask}}}),await this._transport.send(l,t)}setRequestHandler(e,t){const s=T(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,((s,r)=>{const a=I(e,s);return Promise.resolve(t(a,r))}))}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=T(e);this._notificationHandlers.set(s,(s=>{const r=I(e,s);return Promise.resolve(t(r))}))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);void 0!==t&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){var r;if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const a=null===(r=this._options)||void 0===r?void 0:r.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,a)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const t of s)if("request"===t.type&&h(t.message)){const s=t.message.id,r=this._requestResolvers.get(s);r?(r(new o(n.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){var s,r,a;let i=null!==(r=null===(s=this._options)||void 0===s?void 0:s.defaultTaskPollInterval)&&void 0!==r?r:1e3;try{const t=await(null===(a=this._taskStore)||void 0===a?void 0:a.getTask(e));(null==t?void 0:t.pollInterval)&&(i=t.pollInterval)}catch(e){}return new Promise(((e,s)=>{if(t.aborted)return void s(new o(n.InvalidRequest,"Request cancelled"));const r=setTimeout(e,i);t.addEventListener("abort",(()=>{clearTimeout(r),s(new o(n.InvalidRequest,"Request cancelled"))}),{once:!0})}))}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async r=>{if(!e)throw new Error("No request provided");return await s.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{const r=await s.getTask(e,t);if(!r)throw new o(n.InvalidParams,"Failed to retrieve task: Task not found");return r},storeTaskResult:async(e,r,a)=>{await s.storeTaskResult(e,r,a,t);const o=await s.getTask(e,t);if(o){const t=g.parse({method:"notifications/tasks/status",params:o});await this.notification(t),w(o.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>s.getTaskResult(e,t),updateTaskStatus:async(e,r,a)=>{const i=await s.getTask(e,t);if(!i)throw new o(n.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(w(i.status))throw new o(n.InvalidParams,`Cannot update task "${e}" from terminal status "${i.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(e,r,a,t);const l=await s.getTask(e,t);if(l){const t=g.parse({method:"notifications/tasks/status",params:l});await this.notification(t),w(l.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>s.listTasks(e,t)}}}function S(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function H(e,t){const s={...e};for(const e in t){const r=e,a=t[r];if(void 0===a)continue;const o=s[r];S(o)&&S(a)?s[r]={...o,...a}:s[r]=a}return s}export{q as DEFAULT_REQUEST_TIMEOUT_MSEC,y as Protocol,H as mergeCapabilities};
|