@tabstack/sdk 1.0.5 → 2.0.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/CHANGELOG.md +90 -0
- package/LICENSE +1 -1
- package/README.md +282 -356
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +186 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +186 -0
- package/client.d.ts.map +1 -0
- package/client.js +467 -0
- package/client.js.map +1 -0
- package/client.mjs +463 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/streaming.d.mts +33 -0
- package/core/streaming.d.mts.map +1 -0
- package/core/streaming.d.ts +33 -0
- package/core/streaming.d.ts.map +1 -0
- package/core/streaming.js +263 -0
- package/core/streaming.js.map +1 -0
- package/core/streaming.mjs +258 -0
- package/core/streaming.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +6 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -0
- package/index.d.ts.map +1 -0
- package/index.js +30 -0
- package/index.js.map +1 -0
- package/index.mjs +7 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/decoders/line.d.mts +17 -0
- package/internal/decoders/line.d.mts.map +1 -0
- package/internal/decoders/line.d.ts +17 -0
- package/internal/decoders/line.d.ts.map +1 -0
- package/internal/decoders/line.js +113 -0
- package/internal/decoders/line.js.map +1 -0
- package/internal/decoders/line.mjs +108 -0
- package/internal/decoders/line.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +45 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +42 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/request-options.d.mts +77 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +77 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +7 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +7 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +11 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +139 -82
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/agent.d.mts +74 -0
- package/resources/agent.d.mts.map +1 -0
- package/resources/agent.d.ts +74 -0
- package/resources/agent.d.ts.map +1 -0
- package/resources/agent.js +45 -0
- package/resources/agent.js.map +1 -0
- package/resources/agent.mjs +41 -0
- package/resources/agent.mjs.map +1 -0
- package/resources/extract.d.mts +118 -0
- package/resources/extract.d.mts.map +1 -0
- package/resources/extract.d.ts +118 -0
- package/resources/extract.d.ts.map +1 -0
- package/resources/extract.js +37 -0
- package/resources/extract.js.map +1 -0
- package/resources/extract.mjs +33 -0
- package/resources/extract.mjs.map +1 -0
- package/resources/generate.d.mts +45 -0
- package/resources/generate.d.mts.map +1 -0
- package/resources/generate.d.ts +45 -0
- package/resources/generate.d.ts.map +1 -0
- package/resources/generate.js +26 -0
- package/resources/generate.js.map +1 -0
- package/resources/generate.mjs +22 -0
- package/resources/generate.mjs.map +1 -0
- package/resources/index.d.mts +4 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +4 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +11 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +5 -0
- package/resources/index.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +756 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/resource.ts +11 -0
- package/src/core/streaming.ts +315 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +22 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/decoders/line.ts +135 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +97 -0
- package/src/internal/parse.ts +64 -0
- package/src/internal/request-options.ts +93 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +126 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +8 -0
- package/src/lib/.keep +4 -0
- package/src/resource.ts +2 -0
- package/src/resources/agent.ts +93 -0
- package/src/resources/extract.ts +147 -0
- package/src/resources/generate.ts +53 -0
- package/src/resources/index.ts +11 -0
- package/src/resources.ts +1 -0
- package/src/streaming.ts +2 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/streaming.d.mts +2 -0
- package/streaming.d.mts.map +1 -0
- package/streaming.d.ts +2 -0
- package/streaming.d.ts.map +1 -0
- package/streaming.js +6 -0
- package/streaming.js.map +1 -0
- package/streaming.mjs +2 -0
- package/streaming.mjs.map +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
- package/dist/cjs/agent.d.ts +0 -156
- package/dist/cjs/agent.d.ts.map +0 -1
- package/dist/cjs/agent.js +0 -211
- package/dist/cjs/agent.js.map +0 -1
- package/dist/cjs/agent.test.d.ts +0 -5
- package/dist/cjs/agent.test.d.ts.map +0 -1
- package/dist/cjs/agent.test.js +0 -441
- package/dist/cjs/agent.test.js.map +0 -1
- package/dist/cjs/client.d.ts +0 -58
- package/dist/cjs/client.d.ts.map +0 -1
- package/dist/cjs/client.js +0 -58
- package/dist/cjs/client.js.map +0 -1
- package/dist/cjs/client.test.d.ts +0 -5
- package/dist/cjs/client.test.d.ts.map +0 -1
- package/dist/cjs/client.test.js +0 -255
- package/dist/cjs/client.test.js.map +0 -1
- package/dist/cjs/exceptions.d.ts +0 -57
- package/dist/cjs/exceptions.d.ts.map +0 -1
- package/dist/cjs/exceptions.js +0 -95
- package/dist/cjs/exceptions.js.map +0 -1
- package/dist/cjs/exceptions.test.d.ts +0 -5
- package/dist/cjs/exceptions.test.d.ts.map +0 -1
- package/dist/cjs/exceptions.test.js +0 -239
- package/dist/cjs/exceptions.test.js.map +0 -1
- package/dist/cjs/extract.d.ts +0 -151
- package/dist/cjs/extract.d.ts.map +0 -1
- package/dist/cjs/extract.js +0 -165
- package/dist/cjs/extract.js.map +0 -1
- package/dist/cjs/extract.test.d.ts +0 -5
- package/dist/cjs/extract.test.d.ts.map +0 -1
- package/dist/cjs/extract.test.js +0 -250
- package/dist/cjs/extract.test.js.map +0 -1
- package/dist/cjs/generate.d.ts +0 -113
- package/dist/cjs/generate.d.ts.map +0 -1
- package/dist/cjs/generate.js +0 -124
- package/dist/cjs/generate.js.map +0 -1
- package/dist/cjs/generate.test.d.ts +0 -5
- package/dist/cjs/generate.test.d.ts.map +0 -1
- package/dist/cjs/generate.test.js +0 -314
- package/dist/cjs/generate.test.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -52
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -72
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/types.d.ts +0 -73
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -118
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/types.test.d.ts +0 -5
- package/dist/cjs/types.test.d.ts.map +0 -1
- package/dist/cjs/types.test.js +0 -370
- package/dist/cjs/types.test.js.map +0 -1
- package/dist/cjs/util/http.d.ts +0 -29
- package/dist/cjs/util/http.d.ts.map +0 -1
- package/dist/cjs/util/http.js +0 -201
- package/dist/cjs/util/http.js.map +0 -1
- package/dist/cjs/util/http.test.d.ts +0 -5
- package/dist/cjs/util/http.test.d.ts.map +0 -1
- package/dist/cjs/util/http.test.js +0 -237
- package/dist/cjs/util/http.test.js.map +0 -1
- package/dist/esm/agent.d.ts +0 -156
- package/dist/esm/agent.d.ts.map +0 -1
- package/dist/esm/agent.js +0 -207
- package/dist/esm/agent.js.map +0 -1
- package/dist/esm/agent.test.d.ts +0 -5
- package/dist/esm/agent.test.d.ts.map +0 -1
- package/dist/esm/agent.test.js +0 -439
- package/dist/esm/agent.test.js.map +0 -1
- package/dist/esm/client.d.ts +0 -58
- package/dist/esm/client.d.ts.map +0 -1
- package/dist/esm/client.js +0 -54
- package/dist/esm/client.js.map +0 -1
- package/dist/esm/client.test.d.ts +0 -5
- package/dist/esm/client.test.d.ts.map +0 -1
- package/dist/esm/client.test.js +0 -253
- package/dist/esm/client.test.js.map +0 -1
- package/dist/esm/exceptions.d.ts +0 -57
- package/dist/esm/exceptions.d.ts.map +0 -1
- package/dist/esm/exceptions.js +0 -85
- package/dist/esm/exceptions.js.map +0 -1
- package/dist/esm/exceptions.test.d.ts +0 -5
- package/dist/esm/exceptions.test.d.ts.map +0 -1
- package/dist/esm/exceptions.test.js +0 -237
- package/dist/esm/exceptions.test.js.map +0 -1
- package/dist/esm/extract.d.ts +0 -151
- package/dist/esm/extract.d.ts.map +0 -1
- package/dist/esm/extract.js +0 -161
- package/dist/esm/extract.js.map +0 -1
- package/dist/esm/extract.test.d.ts +0 -5
- package/dist/esm/extract.test.d.ts.map +0 -1
- package/dist/esm/extract.test.js +0 -248
- package/dist/esm/extract.test.js.map +0 -1
- package/dist/esm/generate.d.ts +0 -113
- package/dist/esm/generate.d.ts.map +0 -1
- package/dist/esm/generate.js +0 -120
- package/dist/esm/generate.js.map +0 -1
- package/dist/esm/generate.test.d.ts +0 -5
- package/dist/esm/generate.test.d.ts.map +0 -1
- package/dist/esm/generate.test.js +0 -312
- package/dist/esm/generate.test.js.map +0 -1
- package/dist/esm/index.d.ts +0 -52
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -53
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/package.json +0 -3
- package/dist/esm/types.d.ts +0 -73
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js +0 -110
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/types.test.d.ts +0 -5
- package/dist/esm/types.test.d.ts.map +0 -1
- package/dist/esm/types.test.js +0 -368
- package/dist/esm/types.test.js.map +0 -1
- package/dist/esm/util/http.d.ts +0 -29
- package/dist/esm/util/http.d.ts.map +0 -1
- package/dist/esm/util/http.js +0 -164
- package/dist/esm/util/http.js.map +0 -1
- package/dist/esm/util/http.test.d.ts +0 -5
- package/dist/esm/util/http.test.d.ts.map +0 -1
- package/dist/esm/util/http.test.js +0 -232
- package/dist/esm/util/http.test.js.map +0 -1
- package/dist/types/agent.d.ts +0 -156
- package/dist/types/agent.d.ts.map +0 -1
- package/dist/types/agent.test.d.ts +0 -5
- package/dist/types/agent.test.d.ts.map +0 -1
- package/dist/types/client.d.ts +0 -58
- package/dist/types/client.d.ts.map +0 -1
- package/dist/types/client.test.d.ts +0 -5
- package/dist/types/client.test.d.ts.map +0 -1
- package/dist/types/exceptions.d.ts +0 -57
- package/dist/types/exceptions.d.ts.map +0 -1
- package/dist/types/exceptions.test.d.ts +0 -5
- package/dist/types/exceptions.test.d.ts.map +0 -1
- package/dist/types/extract.d.ts +0 -151
- package/dist/types/extract.d.ts.map +0 -1
- package/dist/types/extract.test.d.ts +0 -5
- package/dist/types/extract.test.d.ts.map +0 -1
- package/dist/types/generate.d.ts +0 -113
- package/dist/types/generate.d.ts.map +0 -1
- package/dist/types/generate.test.d.ts +0 -5
- package/dist/types/generate.test.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -52
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/types.d.ts +0 -73
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.test.d.ts +0 -5
- package/dist/types/types.test.d.ts.map +0 -1
- package/dist/types/util/http.d.ts +0 -29
- package/dist/types/util/http.d.ts.map +0 -1
- package/dist/types/util/http.test.d.ts +0 -5
- package/dist/types/util/http.test.d.ts.map +0 -1
package/dist/esm/generate.d.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generate operator for Tabstack SDK
|
|
3
|
-
*/
|
|
4
|
-
import { HTTPClient } from './util/http';
|
|
5
|
-
import { JsonResponse } from './types';
|
|
6
|
-
export interface GenerateJsonOptions {
|
|
7
|
-
nocache?: boolean;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Generate operator for AI-powered content transformation
|
|
11
|
-
*
|
|
12
|
-
* This class provides methods for generating transformed content from URLs using AI,
|
|
13
|
-
* allowing you to create summaries, restructure data, and enhance content based on
|
|
14
|
-
* custom instructions.
|
|
15
|
-
*/
|
|
16
|
-
export declare class Generate {
|
|
17
|
-
private httpClient;
|
|
18
|
-
constructor(httpClient: HTTPClient);
|
|
19
|
-
/**
|
|
20
|
-
* Generate transformed JSON with AI
|
|
21
|
-
*
|
|
22
|
-
* Fetches URL content, extracts data, and transforms it using AI based on custom
|
|
23
|
-
* instructions. Use this to generate new content, summaries, categorizations, or
|
|
24
|
-
* restructured data. Unlike extract.json() which extracts existing data, this
|
|
25
|
-
* method creates new content based on your instructions.
|
|
26
|
-
*
|
|
27
|
-
* @param url - URL to fetch content from
|
|
28
|
-
* @param schema - JSON schema object defining the structure of the transformed output
|
|
29
|
-
* @param instructions - Instructions describing how to transform the data. Example: "For each story, categorize it (tech/business/science/other) and write a one-sentence summary explaining what it's about in simple terms."
|
|
30
|
-
* @param options - Optional generation options
|
|
31
|
-
* @param options.nocache - Bypass cache and force fresh data retrieval. Default: false
|
|
32
|
-
*
|
|
33
|
-
* @returns JsonResponse containing the transformed data matching the schema
|
|
34
|
-
*
|
|
35
|
-
* @throws {BadRequestError} When URL, schema, or instructions are missing, or schema format is invalid
|
|
36
|
-
* @throws {UnauthorizedError} When API key is invalid or missing
|
|
37
|
-
* @throws {InvalidURLError} When URL is invalid
|
|
38
|
-
* @throws {ServerError} When server fails to fetch URL, page is too large, or data transformation fails
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* Categorize and summarize news stories:
|
|
42
|
-
* ```typescript
|
|
43
|
-
* const schema = {
|
|
44
|
-
* type: 'object',
|
|
45
|
-
* properties: {
|
|
46
|
-
* summaries: {
|
|
47
|
-
* type: 'array',
|
|
48
|
-
* items: {
|
|
49
|
-
* type: 'object',
|
|
50
|
-
* properties: {
|
|
51
|
-
* title: { type: 'string' },
|
|
52
|
-
* category: { type: 'string' },
|
|
53
|
-
* summary: { type: 'string' }
|
|
54
|
-
* },
|
|
55
|
-
* required: ['title', 'category', 'summary']
|
|
56
|
-
* }
|
|
57
|
-
* }
|
|
58
|
-
* },
|
|
59
|
-
* required: ['summaries']
|
|
60
|
-
* };
|
|
61
|
-
*
|
|
62
|
-
* const result = await tabs.generate.json(
|
|
63
|
-
* 'https://news.ycombinator.com',
|
|
64
|
-
* schema,
|
|
65
|
-
* 'For each story, categorize it (tech/business/science/other) and write a one-sentence summary explaining what it\'s about in simple terms.'
|
|
66
|
-
* );
|
|
67
|
-
*
|
|
68
|
-
* console.log(result.data.summaries);
|
|
69
|
-
* // [
|
|
70
|
-
* // {
|
|
71
|
-
* // title: "New AI Model Released",
|
|
72
|
-
* // category: "tech",
|
|
73
|
-
* // summary: "A research lab announced a new large language model that achieves state-of-the-art performance on reasoning tasks."
|
|
74
|
-
* // },
|
|
75
|
-
* // ...
|
|
76
|
-
* // ]
|
|
77
|
-
* ```
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* Create structured analysis:
|
|
81
|
-
* ```typescript
|
|
82
|
-
* const schema = {
|
|
83
|
-
* type: 'object',
|
|
84
|
-
* properties: {
|
|
85
|
-
* sentiment: { type: 'string' },
|
|
86
|
-
* keyPoints: {
|
|
87
|
-
* type: 'array',
|
|
88
|
-
* items: { type: 'string' }
|
|
89
|
-
* },
|
|
90
|
-
* summary: { type: 'string' },
|
|
91
|
-
* tags: {
|
|
92
|
-
* type: 'array',
|
|
93
|
-
* items: { type: 'string' }
|
|
94
|
-
* }
|
|
95
|
-
* },
|
|
96
|
-
* required: ['sentiment', 'keyPoints', 'summary', 'tags']
|
|
97
|
-
* };
|
|
98
|
-
*
|
|
99
|
-
* const result = await tabs.generate.json(
|
|
100
|
-
* 'https://example.com/article',
|
|
101
|
-
* schema,
|
|
102
|
-
* 'Analyze the sentiment (positive/negative/neutral), extract key points, create a brief summary, and add relevant tags'
|
|
103
|
-
* );
|
|
104
|
-
*
|
|
105
|
-
* console.log(result.data.sentiment); // "positive"
|
|
106
|
-
* console.log(result.data.keyPoints); // ["Key point 1", "Key point 2", ...]
|
|
107
|
-
* console.log(result.data.summary); // "Brief summary of the article..."
|
|
108
|
-
* console.log(result.data.tags); // ["technology", "innovation", ...]
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
json<T = unknown>(url: string, schema: Record<string, unknown>, instructions: string, options?: GenerateJsonOptions): Promise<JsonResponse<T>>;
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2FG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAW5B"}
|
package/dist/esm/generate.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generate operator for Tabstack SDK
|
|
3
|
-
*/
|
|
4
|
-
import { JsonResponse } from './types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Generate operator for AI-powered content transformation
|
|
7
|
-
*
|
|
8
|
-
* This class provides methods for generating transformed content from URLs using AI,
|
|
9
|
-
* allowing you to create summaries, restructure data, and enhance content based on
|
|
10
|
-
* custom instructions.
|
|
11
|
-
*/
|
|
12
|
-
export class Generate {
|
|
13
|
-
constructor(httpClient) {
|
|
14
|
-
this.httpClient = httpClient;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Generate transformed JSON with AI
|
|
18
|
-
*
|
|
19
|
-
* Fetches URL content, extracts data, and transforms it using AI based on custom
|
|
20
|
-
* instructions. Use this to generate new content, summaries, categorizations, or
|
|
21
|
-
* restructured data. Unlike extract.json() which extracts existing data, this
|
|
22
|
-
* method creates new content based on your instructions.
|
|
23
|
-
*
|
|
24
|
-
* @param url - URL to fetch content from
|
|
25
|
-
* @param schema - JSON schema object defining the structure of the transformed output
|
|
26
|
-
* @param instructions - Instructions describing how to transform the data. Example: "For each story, categorize it (tech/business/science/other) and write a one-sentence summary explaining what it's about in simple terms."
|
|
27
|
-
* @param options - Optional generation options
|
|
28
|
-
* @param options.nocache - Bypass cache and force fresh data retrieval. Default: false
|
|
29
|
-
*
|
|
30
|
-
* @returns JsonResponse containing the transformed data matching the schema
|
|
31
|
-
*
|
|
32
|
-
* @throws {BadRequestError} When URL, schema, or instructions are missing, or schema format is invalid
|
|
33
|
-
* @throws {UnauthorizedError} When API key is invalid or missing
|
|
34
|
-
* @throws {InvalidURLError} When URL is invalid
|
|
35
|
-
* @throws {ServerError} When server fails to fetch URL, page is too large, or data transformation fails
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* Categorize and summarize news stories:
|
|
39
|
-
* ```typescript
|
|
40
|
-
* const schema = {
|
|
41
|
-
* type: 'object',
|
|
42
|
-
* properties: {
|
|
43
|
-
* summaries: {
|
|
44
|
-
* type: 'array',
|
|
45
|
-
* items: {
|
|
46
|
-
* type: 'object',
|
|
47
|
-
* properties: {
|
|
48
|
-
* title: { type: 'string' },
|
|
49
|
-
* category: { type: 'string' },
|
|
50
|
-
* summary: { type: 'string' }
|
|
51
|
-
* },
|
|
52
|
-
* required: ['title', 'category', 'summary']
|
|
53
|
-
* }
|
|
54
|
-
* }
|
|
55
|
-
* },
|
|
56
|
-
* required: ['summaries']
|
|
57
|
-
* };
|
|
58
|
-
*
|
|
59
|
-
* const result = await tabs.generate.json(
|
|
60
|
-
* 'https://news.ycombinator.com',
|
|
61
|
-
* schema,
|
|
62
|
-
* 'For each story, categorize it (tech/business/science/other) and write a one-sentence summary explaining what it\'s about in simple terms.'
|
|
63
|
-
* );
|
|
64
|
-
*
|
|
65
|
-
* console.log(result.data.summaries);
|
|
66
|
-
* // [
|
|
67
|
-
* // {
|
|
68
|
-
* // title: "New AI Model Released",
|
|
69
|
-
* // category: "tech",
|
|
70
|
-
* // summary: "A research lab announced a new large language model that achieves state-of-the-art performance on reasoning tasks."
|
|
71
|
-
* // },
|
|
72
|
-
* // ...
|
|
73
|
-
* // ]
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* Create structured analysis:
|
|
78
|
-
* ```typescript
|
|
79
|
-
* const schema = {
|
|
80
|
-
* type: 'object',
|
|
81
|
-
* properties: {
|
|
82
|
-
* sentiment: { type: 'string' },
|
|
83
|
-
* keyPoints: {
|
|
84
|
-
* type: 'array',
|
|
85
|
-
* items: { type: 'string' }
|
|
86
|
-
* },
|
|
87
|
-
* summary: { type: 'string' },
|
|
88
|
-
* tags: {
|
|
89
|
-
* type: 'array',
|
|
90
|
-
* items: { type: 'string' }
|
|
91
|
-
* }
|
|
92
|
-
* },
|
|
93
|
-
* required: ['sentiment', 'keyPoints', 'summary', 'tags']
|
|
94
|
-
* };
|
|
95
|
-
*
|
|
96
|
-
* const result = await tabs.generate.json(
|
|
97
|
-
* 'https://example.com/article',
|
|
98
|
-
* schema,
|
|
99
|
-
* 'Analyze the sentiment (positive/negative/neutral), extract key points, create a brief summary, and add relevant tags'
|
|
100
|
-
* );
|
|
101
|
-
*
|
|
102
|
-
* console.log(result.data.sentiment); // "positive"
|
|
103
|
-
* console.log(result.data.keyPoints); // ["Key point 1", "Key point 2", ...]
|
|
104
|
-
* console.log(result.data.summary); // "Brief summary of the article..."
|
|
105
|
-
* console.log(result.data.tags); // ["technology", "innovation", ...]
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
async json(url, schema, instructions, options) {
|
|
109
|
-
const requestData = {
|
|
110
|
-
url,
|
|
111
|
-
json_schema: schema,
|
|
112
|
-
instructions,
|
|
113
|
-
};
|
|
114
|
-
if (options?.nocache)
|
|
115
|
-
requestData.nocache = options.nocache;
|
|
116
|
-
const response = await this.httpClient.post('v1/generate/json', requestData);
|
|
117
|
-
return JsonResponse.fromJSON(response);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=generate.js.map
|
package/dist/esm/generate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACnB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2FG;IACH,KAAK,CAAC,IAAI,CACR,GAAW,EACX,MAA+B,EAC/B,YAAoB,EACpB,OAA6B;QAE7B,MAAM,WAAW,GAA4B;YAC3C,GAAG;YACH,WAAW,EAAE,MAAM;YACnB,YAAY;SACb,CAAC;QACF,IAAI,OAAO,EAAE,OAAO;YAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAChF,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.test.d.ts","sourceRoot":"","sources":["../../src/generate.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for Generate operator
|
|
3
|
-
*/
|
|
4
|
-
import { Generate } from './generate.js';
|
|
5
|
-
import { HTTPClient } from './util/http.js';
|
|
6
|
-
import { JsonResponse } from './types.js';
|
|
7
|
-
// Mock HTTPClient
|
|
8
|
-
jest.mock('./util/http');
|
|
9
|
-
describe('Generate', () => {
|
|
10
|
-
let generate;
|
|
11
|
-
let mockHttpClient;
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
mockHttpClient = new HTTPClient({ apiKey: 'test-key' });
|
|
14
|
-
generate = new Generate(mockHttpClient);
|
|
15
|
-
});
|
|
16
|
-
afterEach(() => {
|
|
17
|
-
jest.clearAllMocks();
|
|
18
|
-
});
|
|
19
|
-
describe('json', () => {
|
|
20
|
-
const testSchema = {
|
|
21
|
-
type: 'object',
|
|
22
|
-
properties: {
|
|
23
|
-
title: { type: 'string' },
|
|
24
|
-
category: { type: 'string' },
|
|
25
|
-
summary: { type: 'string' },
|
|
26
|
-
},
|
|
27
|
-
required: ['title', 'category', 'summary'],
|
|
28
|
-
};
|
|
29
|
-
const testInstructions = 'Categorize and summarize the content';
|
|
30
|
-
it('should generate JSON data from URL', async () => {
|
|
31
|
-
const mockData = {
|
|
32
|
-
title: 'Test Article',
|
|
33
|
-
category: 'technology',
|
|
34
|
-
summary: 'A test article about tech',
|
|
35
|
-
};
|
|
36
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
37
|
-
const result = await generate.json('https://example.com', testSchema, testInstructions);
|
|
38
|
-
expect(mockHttpClient.post).toHaveBeenCalledWith('v1/generate/json', {
|
|
39
|
-
url: 'https://example.com',
|
|
40
|
-
json_schema: testSchema,
|
|
41
|
-
instructions: testInstructions,
|
|
42
|
-
});
|
|
43
|
-
expect(result).toBeInstanceOf(JsonResponse);
|
|
44
|
-
expect(result.data).toEqual(mockData);
|
|
45
|
-
});
|
|
46
|
-
it('should generate JSON with nocache option', async () => {
|
|
47
|
-
const mockData = { fresh: true };
|
|
48
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
49
|
-
await generate.json('https://example.com', testSchema, testInstructions, { nocache: true });
|
|
50
|
-
expect(mockHttpClient.post).toHaveBeenCalledWith('v1/generate/json', {
|
|
51
|
-
url: 'https://example.com',
|
|
52
|
-
json_schema: testSchema,
|
|
53
|
-
instructions: testInstructions,
|
|
54
|
-
nocache: true,
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
it('should handle array data generation', async () => {
|
|
58
|
-
const schema = {
|
|
59
|
-
type: 'object',
|
|
60
|
-
properties: {
|
|
61
|
-
summaries: {
|
|
62
|
-
type: 'array',
|
|
63
|
-
items: {
|
|
64
|
-
type: 'object',
|
|
65
|
-
properties: {
|
|
66
|
-
title: { type: 'string' },
|
|
67
|
-
summary: { type: 'string' },
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
const mockData = {
|
|
74
|
-
summaries: [
|
|
75
|
-
{ title: 'Story 1', summary: 'Summary 1' },
|
|
76
|
-
{ title: 'Story 2', summary: 'Summary 2' },
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
80
|
-
const result = await generate.json('https://example.com', schema, 'Create summaries for each story');
|
|
81
|
-
expect(result.data).toEqual(mockData);
|
|
82
|
-
});
|
|
83
|
-
it('should handle complex nested data generation', async () => {
|
|
84
|
-
const schema = {
|
|
85
|
-
type: 'object',
|
|
86
|
-
properties: {
|
|
87
|
-
analysis: {
|
|
88
|
-
type: 'object',
|
|
89
|
-
properties: {
|
|
90
|
-
sentiment: { type: 'string' },
|
|
91
|
-
topics: {
|
|
92
|
-
type: 'array',
|
|
93
|
-
items: { type: 'string' },
|
|
94
|
-
},
|
|
95
|
-
entities: {
|
|
96
|
-
type: 'array',
|
|
97
|
-
items: {
|
|
98
|
-
type: 'object',
|
|
99
|
-
properties: {
|
|
100
|
-
name: { type: 'string' },
|
|
101
|
-
type: { type: 'string' },
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
const mockData = {
|
|
110
|
-
analysis: {
|
|
111
|
-
sentiment: 'positive',
|
|
112
|
-
topics: ['AI', 'Technology', 'Innovation'],
|
|
113
|
-
entities: [
|
|
114
|
-
{ name: 'OpenAI', type: 'organization' },
|
|
115
|
-
{ name: 'GPT-4', type: 'product' },
|
|
116
|
-
],
|
|
117
|
-
},
|
|
118
|
-
};
|
|
119
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
120
|
-
const result = await generate.json('https://example.com', schema, 'Analyze the content for sentiment, topics, and entities');
|
|
121
|
-
expect(result.data).toEqual(mockData);
|
|
122
|
-
});
|
|
123
|
-
it('should work with TypeScript generics', async () => {
|
|
124
|
-
const mockData = {
|
|
125
|
-
title: 'AI News',
|
|
126
|
-
category: 'technology',
|
|
127
|
-
tags: ['AI', 'ML', 'Innovation'],
|
|
128
|
-
summary: 'Latest developments in AI technology',
|
|
129
|
-
};
|
|
130
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
131
|
-
const result = await generate.json('https://example.com', testSchema, 'Generate structured content');
|
|
132
|
-
expect(result.data.title).toBe('AI News');
|
|
133
|
-
expect(result.data.category).toBe('technology');
|
|
134
|
-
expect(result.data.tags).toEqual(['AI', 'ML', 'Innovation']);
|
|
135
|
-
expect(result.data.summary).toBe('Latest developments in AI technology');
|
|
136
|
-
});
|
|
137
|
-
it('should handle simple text generation', async () => {
|
|
138
|
-
const schema = {
|
|
139
|
-
type: 'object',
|
|
140
|
-
properties: {
|
|
141
|
-
summary: { type: 'string' },
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
const mockData = {
|
|
145
|
-
summary: 'This is a generated summary of the content.',
|
|
146
|
-
};
|
|
147
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
148
|
-
const result = await generate.json('https://example.com', schema, 'Summarize the content');
|
|
149
|
-
expect(result.data).toEqual(mockData);
|
|
150
|
-
});
|
|
151
|
-
it('should handle sentiment analysis generation', async () => {
|
|
152
|
-
const schema = {
|
|
153
|
-
type: 'object',
|
|
154
|
-
properties: {
|
|
155
|
-
sentiment: { type: 'string' },
|
|
156
|
-
confidence: { type: 'number' },
|
|
157
|
-
reasoning: { type: 'string' },
|
|
158
|
-
},
|
|
159
|
-
};
|
|
160
|
-
const mockData = {
|
|
161
|
-
sentiment: 'positive',
|
|
162
|
-
confidence: 0.87,
|
|
163
|
-
reasoning: 'The article uses optimistic language and discusses benefits',
|
|
164
|
-
};
|
|
165
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
166
|
-
const result = await generate.json('https://example.com', schema, 'Analyze sentiment with confidence score and reasoning');
|
|
167
|
-
expect(result.data).toEqual(mockData);
|
|
168
|
-
});
|
|
169
|
-
it('should handle categorization generation', async () => {
|
|
170
|
-
const schema = {
|
|
171
|
-
type: 'object',
|
|
172
|
-
properties: {
|
|
173
|
-
categories: {
|
|
174
|
-
type: 'array',
|
|
175
|
-
items: { type: 'string' },
|
|
176
|
-
},
|
|
177
|
-
primaryCategory: { type: 'string' },
|
|
178
|
-
},
|
|
179
|
-
};
|
|
180
|
-
const mockData = {
|
|
181
|
-
categories: ['technology', 'business', 'innovation'],
|
|
182
|
-
primaryCategory: 'technology',
|
|
183
|
-
};
|
|
184
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
185
|
-
const result = await generate.json('https://example.com', schema, 'Categorize the content and identify primary category');
|
|
186
|
-
expect(result.data).toEqual(mockData);
|
|
187
|
-
});
|
|
188
|
-
it('should handle key points extraction generation', async () => {
|
|
189
|
-
const schema = {
|
|
190
|
-
type: 'object',
|
|
191
|
-
properties: {
|
|
192
|
-
keyPoints: {
|
|
193
|
-
type: 'array',
|
|
194
|
-
items: { type: 'string' },
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
};
|
|
198
|
-
const mockData = {
|
|
199
|
-
keyPoints: [
|
|
200
|
-
'First important point from the article',
|
|
201
|
-
'Second key takeaway',
|
|
202
|
-
'Third major insight',
|
|
203
|
-
],
|
|
204
|
-
};
|
|
205
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
206
|
-
const result = await generate.json('https://example.com', schema, 'Extract the main key points');
|
|
207
|
-
expect(result.data).toEqual(mockData);
|
|
208
|
-
});
|
|
209
|
-
it('should handle long instructions', async () => {
|
|
210
|
-
const longInstructions = 'Analyze the content comprehensively. For each section, identify the main topic, ' +
|
|
211
|
-
'extract key points, determine sentiment, categorize by subject area, and create ' +
|
|
212
|
-
'a concise summary. Additionally, identify any mentioned entities such as people, ' +
|
|
213
|
-
'organizations, or products, and classify them appropriately.';
|
|
214
|
-
const mockData = {
|
|
215
|
-
sections: [
|
|
216
|
-
{
|
|
217
|
-
topic: 'AI Development',
|
|
218
|
-
keyPoints: ['Point 1', 'Point 2'],
|
|
219
|
-
sentiment: 'positive',
|
|
220
|
-
category: 'technology',
|
|
221
|
-
summary: 'Summary text',
|
|
222
|
-
},
|
|
223
|
-
],
|
|
224
|
-
};
|
|
225
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
226
|
-
await generate.json('https://example.com', testSchema, longInstructions);
|
|
227
|
-
expect(mockHttpClient.post).toHaveBeenCalledWith('v1/generate/json', {
|
|
228
|
-
url: 'https://example.com',
|
|
229
|
-
json_schema: testSchema,
|
|
230
|
-
instructions: longInstructions,
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
it('should handle empty schema', async () => {
|
|
234
|
-
const mockData = { result: 'data' };
|
|
235
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
236
|
-
const result = await generate.json('https://example.com', {}, 'Generate content');
|
|
237
|
-
expect(result.data).toEqual(mockData);
|
|
238
|
-
});
|
|
239
|
-
it('should handle null data', async () => {
|
|
240
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(null);
|
|
241
|
-
const result = await generate.json('https://example.com', testSchema, testInstructions);
|
|
242
|
-
expect(result.data).toBeNull();
|
|
243
|
-
});
|
|
244
|
-
it('should propagate errors from HTTP client', async () => {
|
|
245
|
-
const error = new Error('Generation failed');
|
|
246
|
-
mockHttpClient.post = jest.fn().mockRejectedValue(error);
|
|
247
|
-
await expect(generate.json('https://example.com', testSchema, testInstructions)).rejects.toThrow('Generation failed');
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
describe('Integration scenarios', () => {
|
|
251
|
-
it('should generate different analyses from same URL', async () => {
|
|
252
|
-
const sentimentSchema = {
|
|
253
|
-
type: 'object',
|
|
254
|
-
properties: { sentiment: { type: 'string' } },
|
|
255
|
-
};
|
|
256
|
-
const summarySchema = {
|
|
257
|
-
type: 'object',
|
|
258
|
-
properties: { summary: { type: 'string' } },
|
|
259
|
-
};
|
|
260
|
-
mockHttpClient.post = jest
|
|
261
|
-
.fn()
|
|
262
|
-
.mockResolvedValueOnce({ sentiment: 'positive' })
|
|
263
|
-
.mockResolvedValueOnce({ summary: 'A summary of the content' });
|
|
264
|
-
const sentiment = await generate.json('https://example.com', sentimentSchema, 'Analyze sentiment');
|
|
265
|
-
const summary = await generate.json('https://example.com', summarySchema, 'Create summary');
|
|
266
|
-
expect(sentiment.data).toEqual({ sentiment: 'positive' });
|
|
267
|
-
expect(summary.data).toEqual({ summary: 'A summary of the content' });
|
|
268
|
-
});
|
|
269
|
-
it('should handle batch content generation', async () => {
|
|
270
|
-
const schema = {
|
|
271
|
-
type: 'object',
|
|
272
|
-
properties: {
|
|
273
|
-
items: {
|
|
274
|
-
type: 'array',
|
|
275
|
-
items: {
|
|
276
|
-
type: 'object',
|
|
277
|
-
properties: {
|
|
278
|
-
title: { type: 'string' },
|
|
279
|
-
category: { type: 'string' },
|
|
280
|
-
},
|
|
281
|
-
},
|
|
282
|
-
},
|
|
283
|
-
},
|
|
284
|
-
};
|
|
285
|
-
const mockData = {
|
|
286
|
-
items: [
|
|
287
|
-
{ title: 'Item 1', category: 'tech' },
|
|
288
|
-
{ title: 'Item 2', category: 'business' },
|
|
289
|
-
{ title: 'Item 3', category: 'science' },
|
|
290
|
-
],
|
|
291
|
-
};
|
|
292
|
-
mockHttpClient.post = jest.fn().mockResolvedValue(mockData);
|
|
293
|
-
const result = await generate.json('https://example.com', schema, 'Categorize all items on the page');
|
|
294
|
-
expect(result.data.items).toHaveLength(3);
|
|
295
|
-
expect(result.data.items[0]?.category).toBe('tech');
|
|
296
|
-
});
|
|
297
|
-
it('should work with nocache for fresh generation', async () => {
|
|
298
|
-
mockHttpClient.post = jest
|
|
299
|
-
.fn()
|
|
300
|
-
.mockResolvedValueOnce({ version: 'cached' })
|
|
301
|
-
.mockResolvedValueOnce({ version: 'fresh' });
|
|
302
|
-
const schema = { type: 'object', properties: { version: { type: 'string' } } };
|
|
303
|
-
const cached = await generate.json('https://example.com', schema, 'Generate data');
|
|
304
|
-
const fresh = await generate.json('https://example.com', schema, 'Generate data', {
|
|
305
|
-
nocache: true,
|
|
306
|
-
});
|
|
307
|
-
expect(cached.data).toEqual({ version: 'cached' });
|
|
308
|
-
expect(fresh.data).toEqual({ version: 'fresh' });
|
|
309
|
-
});
|
|
310
|
-
});
|
|
311
|
-
});
|
|
312
|
-
//# sourceMappingURL=generate.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../src/generate.test.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tabstack TypeScript/JavaScript SDK
|
|
3
|
-
*
|
|
4
|
-
* This SDK provides a TypeScript/JavaScript interface to the Tabstack API for web
|
|
5
|
-
* content extraction, AI-powered content generation, and browser automation.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { Tabstack } from '@tabstack/sdk';
|
|
10
|
-
*
|
|
11
|
-
* const tabs = new Tabstack({
|
|
12
|
-
* apiKey: process.env.TABSTACK_API_KEY!
|
|
13
|
-
* });
|
|
14
|
-
*
|
|
15
|
-
* // Extract markdown
|
|
16
|
-
* const result = await tabs.extract.markdown('https://example.com');
|
|
17
|
-
* console.log(result.content);
|
|
18
|
-
*
|
|
19
|
-
* // Extract structured JSON
|
|
20
|
-
* const schema = {
|
|
21
|
-
* type: 'object',
|
|
22
|
-
* properties: {
|
|
23
|
-
* stories: {
|
|
24
|
-
* type: 'array',
|
|
25
|
-
* items: {
|
|
26
|
-
* type: 'object',
|
|
27
|
-
* properties: {
|
|
28
|
-
* title: { type: 'string' },
|
|
29
|
-
* points: { type: 'number' },
|
|
30
|
-
* author: { type: 'string' }
|
|
31
|
-
* }
|
|
32
|
-
* }
|
|
33
|
-
* }
|
|
34
|
-
* }
|
|
35
|
-
* };
|
|
36
|
-
*
|
|
37
|
-
* const data = await tabs.extract.json('https://news.ycombinator.com', schema);
|
|
38
|
-
* console.log(data.data);
|
|
39
|
-
* ```
|
|
40
|
-
*
|
|
41
|
-
* @packageDocumentation
|
|
42
|
-
*/
|
|
43
|
-
export { Tabstack, TabstackOptions } from './client';
|
|
44
|
-
export { Extract } from './extract';
|
|
45
|
-
export { Generate } from './generate';
|
|
46
|
-
export { Agent } from './agent';
|
|
47
|
-
export { Metadata, MetadataFields, MarkdownResponse, JsonResponse, AutomateEvent, EventData, } from './types';
|
|
48
|
-
export { TabstackError, BadRequestError, UnauthorizedError, InvalidURLError, ServerError, ServiceUnavailableError, APIError, } from './exceptions';
|
|
49
|
-
export type { ExtractMarkdownOptions, ExtractJsonOptions } from './extract';
|
|
50
|
-
export type { GenerateJsonOptions } from './generate';
|
|
51
|
-
export type { AutomateOptions } from './agent';
|
|
52
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|