@tier0/sdk-v2 0.0.0-stage → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE.md +7 -0
- package/README.md +201 -2
- package/dist/cjs/app-identity-contract.generated.d.ts +22 -0
- package/dist/cjs/app-identity-contract.generated.js +51 -0
- package/dist/cjs/app-identity-contract.generated.js.map +1 -0
- package/dist/cjs/capabilities.d.ts +54 -0
- package/dist/cjs/capabilities.js +134 -0
- package/dist/cjs/capabilities.js.map +1 -0
- package/dist/cjs/client.d.ts +604 -0
- package/dist/cjs/client.js +35 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/cloud-server.d.ts +31 -0
- package/dist/cjs/cloud-server.js +114 -0
- package/dist/cjs/cloud-server.js.map +1 -0
- package/dist/cjs/cloud-transport.d.ts +67 -0
- package/dist/cjs/cloud-transport.js +272 -0
- package/dist/cjs/cloud-transport.js.map +1 -0
- package/dist/cjs/controls.d.ts +93 -0
- package/dist/cjs/controls.js +169 -0
- package/dist/cjs/controls.js.map +1 -0
- package/dist/cjs/data/bootstrap.d.ts +70 -0
- package/dist/cjs/data/bootstrap.js +291 -0
- package/dist/cjs/data/bootstrap.js.map +1 -0
- package/dist/cjs/data/call.d.ts +33 -0
- package/dist/cjs/data/call.js +216 -0
- package/dist/cjs/data/call.js.map +1 -0
- package/dist/cjs/data/client.d.ts +134 -0
- package/dist/cjs/data/client.js +185 -0
- package/dist/cjs/data/client.js.map +1 -0
- package/dist/cjs/data/collection.d.ts +335 -0
- package/dist/cjs/data/collection.js +601 -0
- package/dist/cjs/data/collection.js.map +1 -0
- package/dist/cjs/data/context.d.ts +12 -0
- package/dist/cjs/data/context.js +50 -0
- package/dist/cjs/data/context.js.map +1 -0
- package/dist/cjs/data/declarations.d.ts +11 -0
- package/dist/cjs/data/declarations.js +18 -0
- package/dist/cjs/data/declarations.js.map +1 -0
- package/dist/cjs/data/define.d.ts +77 -0
- package/dist/cjs/data/define.js +31 -0
- package/dist/cjs/data/define.js.map +1 -0
- package/dist/cjs/data/error.d.ts +78 -0
- package/dist/cjs/data/error.js +182 -0
- package/dist/cjs/data/error.js.map +1 -0
- package/dist/cjs/data/index.d.ts +24 -0
- package/dist/cjs/data/index.js +49 -0
- package/dist/cjs/data/index.js.map +1 -0
- package/dist/cjs/data/schema.d.ts +88 -0
- package/dist/cjs/data/schema.js +657 -0
- package/dist/cjs/data/schema.js.map +1 -0
- package/dist/cjs/data/sort.d.ts +8 -0
- package/dist/cjs/data/sort.js +21 -0
- package/dist/cjs/data/sort.js.map +1 -0
- package/dist/cjs/data/subscribe.d.ts +108 -0
- package/dist/cjs/data/subscribe.js +270 -0
- package/dist/cjs/data/subscribe.js.map +1 -0
- package/dist/cjs/files.d.ts +67 -0
- package/dist/cjs/files.js +119 -0
- package/dist/cjs/files.js.map +1 -0
- package/dist/cjs/framework-scope.d.ts +1 -0
- package/dist/cjs/framework-scope.js +14 -0
- package/dist/cjs/framework-scope.js.map +1 -0
- package/dist/cjs/index.d.ts +14 -0
- package/dist/cjs/index.js +33 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mq/broker.d.ts +65 -0
- package/dist/cjs/mq/broker.js +115 -0
- package/dist/cjs/mq/broker.js.map +1 -0
- package/dist/cjs/mq/client.d.ts +37 -0
- package/dist/cjs/mq/client.js +321 -0
- package/dist/cjs/mq/client.js.map +1 -0
- package/dist/cjs/mq/index.d.ts +5 -0
- package/dist/cjs/mq/index.js +11 -0
- package/dist/cjs/mq/index.js.map +1 -0
- package/dist/cjs/mq/types.d.ts +48 -0
- package/dist/cjs/mq/types.js +3 -0
- package/dist/cjs/mq/types.js.map +1 -0
- package/dist/cjs/openapi/api.generated.d.ts +820 -0
- package/dist/cjs/openapi/api.generated.js +607 -0
- package/dist/cjs/openapi/api.generated.js.map +1 -0
- package/dist/cjs/openapi/client.d.ts +56 -0
- package/dist/cjs/openapi/client.js +219 -0
- package/dist/cjs/openapi/client.js.map +1 -0
- package/dist/cjs/openapi/codecs.generated.d.ts +2234 -0
- package/dist/cjs/openapi/codecs.generated.js +6 -0
- package/dist/cjs/openapi/codecs.generated.js.map +1 -0
- package/dist/cjs/openapi/index.d.ts +5 -0
- package/dist/cjs/openapi/index.js +12 -0
- package/dist/cjs/openapi/index.js.map +1 -0
- package/dist/cjs/openapi/types.generated.d.ts +3227 -0
- package/dist/cjs/openapi/types.generated.js +3 -0
- package/dist/cjs/openapi/types.generated.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/react.d.ts +9 -0
- package/dist/cjs/react.js +16 -0
- package/dist/cjs/react.js.map +1 -0
- package/dist/cjs/runtime-context.d.ts +9 -0
- package/dist/cjs/runtime-context.js +25 -0
- package/dist/cjs/runtime-context.js.map +1 -0
- package/dist/cjs/runtime-env.d.ts +1 -0
- package/dist/cjs/runtime-env.js +18 -0
- package/dist/cjs/runtime-env.js.map +1 -0
- package/dist/cjs/source.d.ts +39 -0
- package/dist/cjs/source.js +29 -0
- package/dist/cjs/source.js.map +1 -0
- package/dist/cjs/stream.d.ts +40 -0
- package/dist/cjs/stream.js +33 -0
- package/dist/cjs/stream.js.map +1 -0
- package/dist/cjs/uns-v2/client.d.ts +132 -0
- package/dist/cjs/uns-v2/client.js +352 -0
- package/dist/cjs/uns-v2/client.js.map +1 -0
- package/dist/cjs/uns-v2/codec.d.ts +11 -0
- package/dist/cjs/uns-v2/codec.js +290 -0
- package/dist/cjs/uns-v2/codec.js.map +1 -0
- package/dist/cjs/uns-v2/data-client.d.ts +10 -0
- package/dist/cjs/uns-v2/data-client.js +18 -0
- package/dist/cjs/uns-v2/data-client.js.map +1 -0
- package/dist/cjs/uns-v2/generated.d.ts +18178 -0
- package/dist/cjs/uns-v2/generated.js +144 -0
- package/dist/cjs/uns-v2/generated.js.map +1 -0
- package/dist/cjs/uns-v2/index.d.ts +5 -0
- package/dist/cjs/uns-v2/index.js +24 -0
- package/dist/cjs/uns-v2/index.js.map +1 -0
- package/dist/cjs/uns-v2/sse.d.ts +20 -0
- package/dist/cjs/uns-v2/sse.js +65 -0
- package/dist/cjs/uns-v2/sse.js.map +1 -0
- package/dist/cjs/vue.d.ts +9 -0
- package/dist/cjs/vue.js +39 -0
- package/dist/cjs/vue.js.map +1 -0
- package/dist/esm/app-identity-contract.generated.d.ts +22 -0
- package/dist/esm/app-identity-contract.generated.js +48 -0
- package/dist/esm/app-identity-contract.generated.js.map +1 -0
- package/dist/esm/capabilities.d.ts +54 -0
- package/dist/esm/capabilities.js +129 -0
- package/dist/esm/capabilities.js.map +1 -0
- package/dist/esm/client.d.ts +604 -0
- package/dist/esm/client.js +32 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/cloud-server.d.ts +31 -0
- package/dist/esm/cloud-server.js +109 -0
- package/dist/esm/cloud-server.js.map +1 -0
- package/dist/esm/cloud-transport.d.ts +67 -0
- package/dist/esm/cloud-transport.js +267 -0
- package/dist/esm/cloud-transport.js.map +1 -0
- package/dist/esm/controls.d.ts +93 -0
- package/dist/esm/controls.js +163 -0
- package/dist/esm/controls.js.map +1 -0
- package/dist/esm/data/bootstrap.d.ts +70 -0
- package/dist/esm/data/bootstrap.js +286 -0
- package/dist/esm/data/bootstrap.js.map +1 -0
- package/dist/esm/data/call.d.ts +33 -0
- package/dist/esm/data/call.js +211 -0
- package/dist/esm/data/call.js.map +1 -0
- package/dist/esm/data/client.d.ts +134 -0
- package/dist/esm/data/client.js +181 -0
- package/dist/esm/data/client.js.map +1 -0
- package/dist/esm/data/collection.d.ts +335 -0
- package/dist/esm/data/collection.js +594 -0
- package/dist/esm/data/collection.js.map +1 -0
- package/dist/esm/data/context.d.ts +12 -0
- package/dist/esm/data/context.js +44 -0
- package/dist/esm/data/context.js.map +1 -0
- package/dist/esm/data/declarations.d.ts +11 -0
- package/dist/esm/data/declarations.js +10 -0
- package/dist/esm/data/declarations.js.map +1 -0
- package/dist/esm/data/define.d.ts +77 -0
- package/dist/esm/data/define.js +27 -0
- package/dist/esm/data/define.js.map +1 -0
- package/dist/esm/data/error.d.ts +78 -0
- package/dist/esm/data/error.js +176 -0
- package/dist/esm/data/error.js.map +1 -0
- package/dist/esm/data/index.d.ts +24 -0
- package/dist/esm/data/index.js +20 -0
- package/dist/esm/data/index.js.map +1 -0
- package/dist/esm/data/schema.d.ts +88 -0
- package/dist/esm/data/schema.js +646 -0
- package/dist/esm/data/schema.js.map +1 -0
- package/dist/esm/data/sort.d.ts +8 -0
- package/dist/esm/data/sort.js +18 -0
- package/dist/esm/data/sort.js.map +1 -0
- package/dist/esm/data/subscribe.d.ts +108 -0
- package/dist/esm/data/subscribe.js +265 -0
- package/dist/esm/data/subscribe.js.map +1 -0
- package/dist/esm/files.d.ts +67 -0
- package/dist/esm/files.js +113 -0
- package/dist/esm/files.js.map +1 -0
- package/dist/esm/framework-scope.d.ts +1 -0
- package/dist/esm/framework-scope.js +11 -0
- package/dist/esm/framework-scope.js.map +1 -0
- package/dist/esm/index.d.ts +14 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/mq/broker.d.ts +65 -0
- package/dist/esm/mq/broker.js +109 -0
- package/dist/esm/mq/broker.js.map +1 -0
- package/dist/esm/mq/client.d.ts +37 -0
- package/dist/esm/mq/client.js +314 -0
- package/dist/esm/mq/client.js.map +1 -0
- package/dist/esm/mq/index.d.ts +5 -0
- package/dist/esm/mq/index.js +3 -0
- package/dist/esm/mq/index.js.map +1 -0
- package/dist/esm/mq/types.d.ts +48 -0
- package/dist/esm/mq/types.js +2 -0
- package/dist/esm/mq/types.js.map +1 -0
- package/dist/esm/openapi/api.generated.d.ts +820 -0
- package/dist/esm/openapi/api.generated.js +603 -0
- package/dist/esm/openapi/api.generated.js.map +1 -0
- package/dist/esm/openapi/client.d.ts +56 -0
- package/dist/esm/openapi/client.js +210 -0
- package/dist/esm/openapi/client.js.map +1 -0
- package/dist/esm/openapi/codecs.generated.d.ts +2234 -0
- package/dist/esm/openapi/codecs.generated.js +3 -0
- package/dist/esm/openapi/codecs.generated.js.map +1 -0
- package/dist/esm/openapi/index.d.ts +5 -0
- package/dist/esm/openapi/index.js +3 -0
- package/dist/esm/openapi/index.js.map +1 -0
- package/dist/esm/openapi/types.generated.d.ts +3227 -0
- package/dist/esm/openapi/types.generated.js +2 -0
- package/dist/esm/openapi/types.generated.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/react.d.ts +9 -0
- package/dist/esm/react.js +12 -0
- package/dist/esm/react.js.map +1 -0
- package/dist/esm/runtime-context.d.ts +9 -0
- package/dist/esm/runtime-context.js +22 -0
- package/dist/esm/runtime-context.js.map +1 -0
- package/dist/esm/runtime-env.d.ts +1 -0
- package/dist/esm/runtime-env.js +15 -0
- package/dist/esm/runtime-env.js.map +1 -0
- package/dist/esm/source.d.ts +39 -0
- package/dist/esm/source.js +25 -0
- package/dist/esm/source.js.map +1 -0
- package/dist/esm/stream.d.ts +40 -0
- package/dist/esm/stream.js +29 -0
- package/dist/esm/stream.js.map +1 -0
- package/dist/esm/uns-v2/client.d.ts +132 -0
- package/dist/esm/uns-v2/client.js +343 -0
- package/dist/esm/uns-v2/client.js.map +1 -0
- package/dist/esm/uns-v2/codec.d.ts +11 -0
- package/dist/esm/uns-v2/codec.js +284 -0
- package/dist/esm/uns-v2/codec.js.map +1 -0
- package/dist/esm/uns-v2/data-client.d.ts +10 -0
- package/dist/esm/uns-v2/data-client.js +14 -0
- package/dist/esm/uns-v2/data-client.js.map +1 -0
- package/dist/esm/uns-v2/generated.d.ts +18178 -0
- package/dist/esm/uns-v2/generated.js +141 -0
- package/dist/esm/uns-v2/generated.js.map +1 -0
- package/dist/esm/uns-v2/index.d.ts +5 -0
- package/dist/esm/uns-v2/index.js +5 -0
- package/dist/esm/uns-v2/index.js.map +1 -0
- package/dist/esm/uns-v2/sse.d.ts +20 -0
- package/dist/esm/uns-v2/sse.js +60 -0
- package/dist/esm/uns-v2/sse.js.map +1 -0
- package/dist/esm/vue.d.ts +9 -0
- package/dist/esm/vue.js +36 -0
- package/dist/esm/vue.js.map +1 -0
- package/docs/acceptance-2026-10-22.md +88 -0
- package/package.json +243 -4
- package/skills/tier0-sdk-v2/SKILL.md +66 -0
- package/skills/tier0-sdk-v2/references/integration.md +72 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-agent/SKILL.md +73 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-agent/references/results.md +45 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-controls/SKILL.md +63 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/SKILL.md +58 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/references/consistency.md +70 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/references/errors.md +82 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/references/modeling.md +113 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/references/read-write.md +168 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/references/schema-evolution.md +36 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/SKILL.md +85 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/delete.md +22 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/download.md +49 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/multipart.md +42 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/upload.md +27 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/url.md +22 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-members/SKILL.md +56 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-members/references/app-members.md +41 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-members/references/platform-members.md +56 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-mq/SKILL.md +78 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-mq/references/quickstart.md +69 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-notifications/SKILL.md +42 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-notifications/references/get.md +34 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-notifications/references/send.md +72 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/SKILL.md +38 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/changes.md +40 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/create.md +63 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/delete.md +47 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/protocols.md +36 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/read.md +34 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/state.md +37 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/update.md +62 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/SKILL.md +43 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/create.md +56 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/delete.md +35 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/deploy.md +64 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/lifecycle.md +26 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/read.md +35 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/update.md +36 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-system/SKILL.md +64 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-system/references/info.md +23 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-system/references/whoami.md +21 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/SKILL.md +55 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/create.md +56 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/data-workflows.md +69 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/delete.md +53 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/namespace.md +38 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/read.md +34 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/restore.md +39 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/update.md +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.generated.js","sourceRoot":"","sources":["../../../src/openapi/api.generated.ts"],"names":[],"mappings":"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","sourcesContent":["// Generated. Stable names follow public resource paths, not goctl operationId.\nimport type { HttpClient, RequestOptions } from './client.js';\nimport type { components } from './types.generated.js';\n\nexport const OPENAPI_OPERATIONS = {\n \"agentAnalysesDispatch\": {\n \"name\": \"agentAnalysesDispatch\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/analyses/dispatch\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentAnalysesDispatchRequest\",\n \"responseSchema\": \"V1_SdkagentAnalysesDispatchWire\"\n },\n \"agentAnalysesGet\": {\n \"name\": \"agentAnalysesGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/analyses/get\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentAnalysesGetRequest\",\n \"responseSchema\": \"V1_SdkagentAnalysesGetWire\"\n },\n \"agentCanvasesList\": {\n \"name\": \"agentCanvasesList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/canvases/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentCanvasesListRequest\",\n \"responseSchema\": \"V1_SdkagentCanvasesListWire\"\n },\n \"agentCardsDelete\": {\n \"name\": \"agentCardsDelete\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/cards/delete\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentCardsDeleteRequest\",\n \"responseSchema\": \"V1_SdkagentCardsDeleteWire\"\n },\n \"agentCardsGet\": {\n \"name\": \"agentCardsGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/cards/get\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentCardsGetRequest\",\n \"responseSchema\": \"V1_SdkagentCardsGetWire\"\n },\n \"agentCardsList\": {\n \"name\": \"agentCardsList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/cards/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentCardsListRequest\",\n \"responseSchema\": \"V1_SdkagentCardsListWire\"\n },\n \"agentCardsUpdate\": {\n \"name\": \"agentCardsUpdate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/cards/update\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentCardsUpdateRequest\",\n \"responseSchema\": \"V1_SdkagentCardsUpdateWire\"\n },\n \"agentJobRunsGet\": {\n \"name\": \"agentJobRunsGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/job-runs/get\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentJobRunsGetRequest\",\n \"responseSchema\": \"V1_SdkagentJobRunsGetWire\"\n },\n \"agentJobRunsList\": {\n \"name\": \"agentJobRunsList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/job-runs/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentJobRunsListRequest\",\n \"responseSchema\": \"V1_SdkagentJobRunsListWire\"\n },\n \"agentJobsCreate\": {\n \"name\": \"agentJobsCreate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/create\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentJobsCreateRequest\",\n \"responseSchema\": \"V1_SdkagentJobsCreateWire\"\n },\n \"agentJobsDelete\": {\n \"name\": \"agentJobsDelete\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/delete\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentJobsDeleteRequest\",\n \"responseSchema\": \"V1_SdkagentJobsDeleteWire\"\n },\n \"agentJobsGet\": {\n \"name\": \"agentJobsGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/get\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentJobsGetRequest\",\n \"responseSchema\": \"V1_SdkagentJobsGetWire\"\n },\n \"agentJobsList\": {\n \"name\": \"agentJobsList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentJobsListRequest\",\n \"responseSchema\": \"V1_SdkagentJobsListWire\"\n },\n \"agentJobsPause\": {\n \"name\": \"agentJobsPause\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/pause\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentJobsPauseRequest\",\n \"responseSchema\": \"V1_SdkagentJobsPauseWire\"\n },\n \"agentJobsResume\": {\n \"name\": \"agentJobsResume\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/resume\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentJobsResumeRequest\",\n \"responseSchema\": \"V1_SdkagentJobsResumeWire\"\n },\n \"agentJobsTrigger\": {\n \"name\": \"agentJobsTrigger\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/trigger\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentJobsTriggerRequest\",\n \"responseSchema\": \"V1_SdkagentJobsTriggerWire\"\n },\n \"agentJobsUpdate\": {\n \"name\": \"agentJobsUpdate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/jobs/update\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentJobsUpdateRequest\",\n \"responseSchema\": \"V1_SdkagentJobsUpdateWire\"\n },\n \"agentLibraryCreate\": {\n \"name\": \"agentLibraryCreate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/library/create\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentLibraryCreateRequest\",\n \"responseSchema\": \"V1_SdkagentLibraryCreateWire\"\n },\n \"agentLibraryDelete\": {\n \"name\": \"agentLibraryDelete\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/library/delete\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentLibraryDeleteRequest\",\n \"responseSchema\": \"V1_SdkagentLibraryDeleteWire\"\n },\n \"agentLibraryGet\": {\n \"name\": \"agentLibraryGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/library/get\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentLibraryGetRequest\",\n \"responseSchema\": \"V1_SdkagentLibraryGetWire\"\n },\n \"agentLibraryList\": {\n \"name\": \"agentLibraryList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/library/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentLibraryListRequest\",\n \"responseSchema\": \"V1_SdkagentLibraryListWire\"\n },\n \"agentLibraryUpdate\": {\n \"name\": \"agentLibraryUpdate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/library/update\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentLibraryUpdateRequest\",\n \"responseSchema\": \"V1_SdkagentLibraryUpdateWire\"\n },\n \"agentNodesIndexSync\": {\n \"name\": \"agentNodesIndexSync\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/nodes/index-sync\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"responseSchema\": \"V1_SdkagentNodesIndexSyncWire\"\n },\n \"agentNodesSearchSemantic\": {\n \"name\": \"agentNodesSearchSemantic\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/nodes/search-semantic\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentNodesSearchSemanticRequest\",\n \"responseSchema\": \"V1_SdkagentNodesSearchSemanticWire\"\n },\n \"agentRelationsList\": {\n \"name\": \"agentRelationsList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/relations/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentRelationsListRequest\",\n \"responseSchema\": \"V1_SdkagentRelationsListWire\"\n },\n \"agentRelationsTeach\": {\n \"name\": \"agentRelationsTeach\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/relations/teach\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentRelationsTeachRequest\",\n \"responseSchema\": \"V1_SdkagentRelationsTeachWire\"\n },\n \"agentResultsCreate\": {\n \"name\": \"agentResultsCreate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/results/create\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentResultsCreateRequest\",\n \"responseSchema\": \"V1_SdkagentResultsCreateWire\"\n },\n \"agentResultsGet\": {\n \"name\": \"agentResultsGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/results/get\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentResultsGetRequest\",\n \"responseSchema\": \"V1_SdkagentResultsGetWire\"\n },\n \"agentResultsList\": {\n \"name\": \"agentResultsList\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/results/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkagentResultsListRequest\",\n \"responseSchema\": \"V1_SdkagentResultsListWire\"\n },\n \"agentResultsPin\": {\n \"name\": \"agentResultsPin\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/agent/results/pin\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkagentResultsPinRequest\",\n \"responseSchema\": \"V1_SdkagentResultsPinWire\"\n },\n \"membersListApp\": {\n \"name\": \"membersListApp\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/apps/access-members/list\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkmembersListAppRequest\",\n \"responseSchema\": \"V1_SdkmembersListAppWire\"\n },\n \"assetsFilesPrepareUpload\": {\n \"name\": \"assetsFilesPrepareUpload\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/files\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsFilesPrepareUploadRequest\",\n \"responseSchema\": \"V1_SdkassetsFilesPrepareUploadWire\"\n },\n \"assetsFilesDelete\": {\n \"name\": \"assetsFilesDelete\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/files/delete\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsFilesDeleteRequest\",\n \"responseSchema\": \"V1_SdkassetsFilesDeleteWire\"\n },\n \"assetsFilesDownload\": {\n \"name\": \"assetsFilesDownload\",\n \"method\": \"GET\",\n \"path\": \"/openapi/v1/assets/files/download\",\n \"pathParams\": [],\n \"mode\": \"download\",\n \"readonly\": true,\n \"responseSchema\": \"V1_SdkassetsFilesDownloadWire\"\n },\n \"assetsFilesMultipartAbort\": {\n \"name\": \"assetsFilesMultipartAbort\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/files/multipart/abort\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsFilesMultipartAbortRequest\",\n \"responseSchema\": \"V1_SdkassetsFilesMultipartAbortWire\"\n },\n \"assetsFilesMultipartComplete\": {\n \"name\": \"assetsFilesMultipartComplete\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/files/multipart/complete\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsFilesMultipartCompleteRequest\",\n \"responseSchema\": \"V1_SdkassetsFilesMultipartCompleteWire\"\n },\n \"assetsFilesMultipartInit\": {\n \"name\": \"assetsFilesMultipartInit\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/files/multipart/init\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsFilesMultipartInitRequest\",\n \"responseSchema\": \"V1_SdkassetsFilesMultipartInitWire\"\n },\n \"assetsFilesMultipartPartUrls\": {\n \"name\": \"assetsFilesMultipartPartUrls\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/files/multipart/part-urls\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsFilesMultipartPartUrlsRequest\",\n \"responseSchema\": \"V1_SdkassetsFilesMultipartPartUrlsWire\"\n },\n \"assetsFilesUrl\": {\n \"name\": \"assetsFilesUrl\",\n \"method\": \"GET\",\n \"path\": \"/openapi/v1/assets/files/url\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"responseSchema\": \"V1_SdkassetsFilesUrlWire\"\n },\n \"assetsUpload\": {\n \"name\": \"assetsUpload\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/assets/upload\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkassetsUploadRequest\",\n \"responseSchema\": \"V1_SdkassetsUploadWire\"\n },\n \"systemWhoami\": {\n \"name\": \"systemWhoami\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/auth/whoami\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"responseSchema\": \"V1_SdksystemWhoamiWire\"\n },\n \"capabilitiesDiscover\": {\n \"name\": \"capabilitiesDiscover\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/capabilities/discover\",\n \"pathParams\": [],\n \"mode\": \"direct\",\n \"readonly\": true,\n \"responseSchema\": \"V1_SdkcapabilitiesDiscoverWire\"\n },\n \"controlsDiscover\": {\n \"name\": \"controlsDiscover\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/controls/discover\",\n \"pathParams\": [],\n \"mode\": \"direct\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkcontrolsDiscoverRequest\",\n \"responseSchema\": \"V1_SdkcontrolsDiscoverWire\"\n },\n \"controlsDescribe\": {\n \"name\": \"controlsDescribe\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/controls/{controlCode}/describe\",\n \"pathParams\": [\n \"controlCode\"\n ],\n \"mode\": \"direct\",\n \"readonly\": true,\n \"responseSchema\": \"V1_SdkcontrolsDescribeWire\"\n },\n \"controlsInvoke\": {\n \"name\": \"controlsInvoke\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/controls/{controlCode}/invoke\",\n \"pathParams\": [\n \"controlCode\"\n ],\n \"mode\": \"direct\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkcontrolsInvokeRequest\",\n \"responseSchema\": \"V1_SdkcontrolsInvokeWire\"\n },\n \"systemInfo\": {\n \"name\": \"systemInfo\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/info\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"responseSchema\": \"V1_SdksystemInfoWire\"\n },\n \"mqttAuthCreate\": {\n \"name\": \"mqttAuthCreate\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/mqtt-auth/create\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkmqttAuthCreateRequest\",\n \"responseSchema\": \"V1_SdkmqttAuthCreateWire\"\n },\n \"mqttAuthDelete\": {\n \"name\": \"mqttAuthDelete\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/mqtt-auth/delete\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdkmqttAuthDeleteRequest\",\n \"responseSchema\": \"V1_SdkmqttAuthDeleteWire\"\n },\n \"notificationsGet\": {\n \"name\": \"notificationsGet\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/notifications/get\",\n \"pathParams\": [],\n \"mode\": \"direct\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdknotificationsGetRequest\",\n \"responseSchema\": \"V1_SdknotificationsGetWire\"\n },\n \"notificationsSend\": {\n \"name\": \"notificationsSend\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/notifications/send\",\n \"pathParams\": [],\n \"mode\": \"direct\",\n \"readonly\": false,\n \"requestSchema\": \"V1_SdknotificationsSendRequest\",\n \"responseSchema\": \"V1_SdknotificationsSendWire\"\n },\n \"membersListWorkspace\": {\n \"name\": \"membersListWorkspace\",\n \"method\": \"POST\",\n \"path\": \"/openapi/v1/platform/getMembers\",\n \"pathParams\": [],\n \"mode\": \"envelope\",\n \"readonly\": true,\n \"requestSchema\": \"V1_SdkmembersListWorkspaceRequest\",\n \"responseSchema\": \"V1_SdkmembersListWorkspaceWire\"\n }\n} as const;\n\nexport function createOpenAPI(http: HttpClient) {\n return {\n \"agent\": {\n \"analyses\": {\n \"dispatch\": (body: components['schemas'][\"SdkagentAnalysesDispatchRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentAnalysesDispatchData\"]>(OPENAPI_OPERATIONS[\"agentAnalysesDispatch\"], { body }, options),\n \"get\": (body: components['schemas'][\"SdkagentAnalysesGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentAnalysesGetData\"]>(OPENAPI_OPERATIONS[\"agentAnalysesGet\"], { body }, options),\n },\n \"canvases\": {\n \"list\": (body: components['schemas'][\"SdkagentCanvasesListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentCanvasesListData\"]>(OPENAPI_OPERATIONS[\"agentCanvasesList\"], { body }, options),\n },\n \"cards\": {\n \"delete\": (body: components['schemas'][\"SdkagentCardsDeleteRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentCardsDeleteData\"]>(OPENAPI_OPERATIONS[\"agentCardsDelete\"], { body }, options),\n \"get\": (body: components['schemas'][\"SdkagentCardsGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentCardsGetData\"]>(OPENAPI_OPERATIONS[\"agentCardsGet\"], { body }, options),\n \"list\": (body: components['schemas'][\"SdkagentCardsListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentCardsListData\"]>(OPENAPI_OPERATIONS[\"agentCardsList\"], { body }, options),\n \"update\": (body: components['schemas'][\"SdkagentCardsUpdateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentCardsUpdateData\"]>(OPENAPI_OPERATIONS[\"agentCardsUpdate\"], { body }, options),\n },\n \"jobRuns\": {\n \"get\": (body: components['schemas'][\"SdkagentJobRunsGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobRunsGetData\"]>(OPENAPI_OPERATIONS[\"agentJobRunsGet\"], { body }, options),\n \"list\": (body: components['schemas'][\"SdkagentJobRunsListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobRunsListData\"]>(OPENAPI_OPERATIONS[\"agentJobRunsList\"], { body }, options),\n },\n \"jobs\": {\n \"create\": (body: components['schemas'][\"SdkagentJobsCreateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsCreateData\"]>(OPENAPI_OPERATIONS[\"agentJobsCreate\"], { body }, options),\n \"delete\": (body: components['schemas'][\"SdkagentJobsDeleteRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsDeleteData\"]>(OPENAPI_OPERATIONS[\"agentJobsDelete\"], { body }, options),\n \"get\": (body: components['schemas'][\"SdkagentJobsGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsGetData\"]>(OPENAPI_OPERATIONS[\"agentJobsGet\"], { body }, options),\n \"list\": (body: components['schemas'][\"SdkagentJobsListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsListData\"]>(OPENAPI_OPERATIONS[\"agentJobsList\"], { body }, options),\n \"pause\": (body: components['schemas'][\"SdkagentJobsPauseRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsPauseData\"]>(OPENAPI_OPERATIONS[\"agentJobsPause\"], { body }, options),\n \"resume\": (body: components['schemas'][\"SdkagentJobsResumeRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsResumeData\"]>(OPENAPI_OPERATIONS[\"agentJobsResume\"], { body }, options),\n \"trigger\": (body: components['schemas'][\"SdkagentJobsTriggerRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsTriggerData\"]>(OPENAPI_OPERATIONS[\"agentJobsTrigger\"], { body }, options),\n \"update\": (body: components['schemas'][\"SdkagentJobsUpdateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentJobsUpdateData\"]>(OPENAPI_OPERATIONS[\"agentJobsUpdate\"], { body }, options),\n },\n \"library\": {\n \"create\": (body: components['schemas'][\"SdkagentLibraryCreateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentLibraryCreateData\"]>(OPENAPI_OPERATIONS[\"agentLibraryCreate\"], { body }, options),\n \"delete\": (body: components['schemas'][\"SdkagentLibraryDeleteRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentLibraryDeleteData\"]>(OPENAPI_OPERATIONS[\"agentLibraryDelete\"], { body }, options),\n \"get\": (body: components['schemas'][\"SdkagentLibraryGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentLibraryGetData\"]>(OPENAPI_OPERATIONS[\"agentLibraryGet\"], { body }, options),\n \"list\": (body: components['schemas'][\"SdkagentLibraryListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentLibraryListData\"]>(OPENAPI_OPERATIONS[\"agentLibraryList\"], { body }, options),\n \"update\": (body: components['schemas'][\"SdkagentLibraryUpdateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentLibraryUpdateData\"]>(OPENAPI_OPERATIONS[\"agentLibraryUpdate\"], { body }, options),\n },\n \"nodes\": {\n \"indexSync\": (options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentNodesIndexSyncData\"]>(OPENAPI_OPERATIONS[\"agentNodesIndexSync\"], { }, options),\n \"searchSemantic\": (body: components['schemas'][\"SdkagentNodesSearchSemanticRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentNodesSearchSemanticData\"]>(OPENAPI_OPERATIONS[\"agentNodesSearchSemantic\"], { body }, options),\n },\n \"relations\": {\n \"list\": (body: components['schemas'][\"SdkagentRelationsListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentRelationsListData\"]>(OPENAPI_OPERATIONS[\"agentRelationsList\"], { body }, options),\n \"teach\": (body: components['schemas'][\"SdkagentRelationsTeachRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentRelationsTeachData\"]>(OPENAPI_OPERATIONS[\"agentRelationsTeach\"], { body }, options),\n },\n \"results\": {\n \"create\": (body: components['schemas'][\"SdkagentResultsCreateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentResultsCreateData\"]>(OPENAPI_OPERATIONS[\"agentResultsCreate\"], { body }, options),\n \"get\": (body?: components['schemas'][\"SdkagentResultsGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentResultsGetData\"]>(OPENAPI_OPERATIONS[\"agentResultsGet\"], { body }, options),\n \"list\": (body: components['schemas'][\"SdkagentResultsListRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentResultsListData\"]>(OPENAPI_OPERATIONS[\"agentResultsList\"], { body }, options),\n \"pin\": (body: components['schemas'][\"SdkagentResultsPinRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkagentResultsPinData\"]>(OPENAPI_OPERATIONS[\"agentResultsPin\"], { body }, options),\n },\n },\n \"members\": {\n \"listApp\": (body: components['schemas'][\"SdkmembersListAppRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkmembersListAppData\"]>(OPENAPI_OPERATIONS[\"membersListApp\"], { body }, options),\n \"listWorkspace\": (body?: components['schemas'][\"SdkmembersListWorkspaceRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkmembersListWorkspaceData\"]>(OPENAPI_OPERATIONS[\"membersListWorkspace\"], { body }, options),\n },\n \"assets\": {\n \"files\": {\n \"prepareUpload\": (body: components['schemas'][\"SdkassetsFilesPrepareUploadRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesPrepareUploadData\"]>(OPENAPI_OPERATIONS[\"assetsFilesPrepareUpload\"], { body }, options),\n \"delete\": (body: components['schemas'][\"SdkassetsFilesDeleteRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesDeleteData\"]>(OPENAPI_OPERATIONS[\"assetsFilesDelete\"], { body }, options),\n \"download\": (query: components['schemas'][\"SdkassetsFilesDownloadQuery\"], options?: RequestOptions) => http.operation<Response>(OPENAPI_OPERATIONS[\"assetsFilesDownload\"], { query }, options),\n \"multipart\": {\n \"abort\": (body: components['schemas'][\"SdkassetsFilesMultipartAbortRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesMultipartAbortData\"]>(OPENAPI_OPERATIONS[\"assetsFilesMultipartAbort\"], { body }, options),\n \"complete\": (body: components['schemas'][\"SdkassetsFilesMultipartCompleteRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesMultipartCompleteData\"]>(OPENAPI_OPERATIONS[\"assetsFilesMultipartComplete\"], { body }, options),\n \"init\": (body: components['schemas'][\"SdkassetsFilesMultipartInitRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesMultipartInitData\"]>(OPENAPI_OPERATIONS[\"assetsFilesMultipartInit\"], { body }, options),\n \"partUrls\": (body: components['schemas'][\"SdkassetsFilesMultipartPartUrlsRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesMultipartPartUrlsData\"]>(OPENAPI_OPERATIONS[\"assetsFilesMultipartPartUrls\"], { body }, options),\n },\n \"url\": (query: components['schemas'][\"SdkassetsFilesUrlQuery\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsFilesUrlData\"]>(OPENAPI_OPERATIONS[\"assetsFilesUrl\"], { query }, options),\n },\n \"upload\": (body: components['schemas'][\"SdkassetsUploadRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkassetsUploadData\"]>(OPENAPI_OPERATIONS[\"assetsUpload\"], { body }, options),\n },\n \"system\": {\n \"whoami\": (options?: RequestOptions) => http.operation<components['schemas'][\"SdksystemWhoamiData\"]>(OPENAPI_OPERATIONS[\"systemWhoami\"], { }, options),\n \"info\": (options?: RequestOptions) => http.operation<components['schemas'][\"SdksystemInfoData\"]>(OPENAPI_OPERATIONS[\"systemInfo\"], { }, options),\n },\n \"capabilities\": {\n \"discover\": (options?: RequestOptions) => http.operation<components['schemas'][\"SdkcapabilitiesDiscoverData\"]>(OPENAPI_OPERATIONS[\"capabilitiesDiscover\"], { }, options),\n },\n \"controls\": {\n \"discover\": (body?: components['schemas'][\"SdkcontrolsDiscoverRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkcontrolsDiscoverData\"]>(OPENAPI_OPERATIONS[\"controlsDiscover\"], { body }, options),\n \"describe\": (params: { \"controlCode\": string }, options?: RequestOptions) => http.operation<components['schemas'][\"SdkcontrolsDescribeData\"]>(OPENAPI_OPERATIONS[\"controlsDescribe\"], { params }, options),\n \"invoke\": (params: { \"controlCode\": string }, body: components['schemas'][\"SdkcontrolsInvokeRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkcontrolsInvokeData\"]>(OPENAPI_OPERATIONS[\"controlsInvoke\"], { params, body }, options),\n },\n \"mqttAuth\": {\n \"create\": (body: components['schemas'][\"SdkmqttAuthCreateRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkmqttAuthCreateData\"]>(OPENAPI_OPERATIONS[\"mqttAuthCreate\"], { body }, options),\n \"delete\": (body: components['schemas'][\"SdkmqttAuthDeleteRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdkmqttAuthDeleteData\"]>(OPENAPI_OPERATIONS[\"mqttAuthDelete\"], { body }, options),\n },\n \"notifications\": {\n \"get\": (body: components['schemas'][\"SdknotificationsGetRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdknotificationsGetData\"]>(OPENAPI_OPERATIONS[\"notificationsGet\"], { body }, options),\n \"send\": (body: components['schemas'][\"SdknotificationsSendRequest\"], options?: RequestOptions) => http.operation<components['schemas'][\"SdknotificationsSendData\"]>(OPENAPI_OPERATIONS[\"notificationsSend\"], { body }, options),\n },\n};\n}\nexport type OpenAPI = ReturnType<typeof createOpenAPI>;\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface ClientConfig {
|
|
2
|
+
apiHost?: string;
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
getApiHost?: () => string | undefined;
|
|
5
|
+
getApiKey?: () => string | undefined;
|
|
6
|
+
fetch?: typeof globalThis.fetch;
|
|
7
|
+
transportTimeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface RequestOptions {
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
}
|
|
12
|
+
export interface Operation {
|
|
13
|
+
method: string;
|
|
14
|
+
path: string;
|
|
15
|
+
readonly pathParams: readonly string[];
|
|
16
|
+
mode: 'envelope' | 'direct' | 'download';
|
|
17
|
+
readonly: boolean;
|
|
18
|
+
requestSchema?: string;
|
|
19
|
+
responseSchema: string;
|
|
20
|
+
}
|
|
21
|
+
export interface OperationInput {
|
|
22
|
+
params?: Record<string, string>;
|
|
23
|
+
query?: object;
|
|
24
|
+
body?: unknown;
|
|
25
|
+
}
|
|
26
|
+
export declare class ApiError extends Error {
|
|
27
|
+
readonly status: number;
|
|
28
|
+
readonly code: number;
|
|
29
|
+
readonly msg: string;
|
|
30
|
+
readonly errorCode?: string;
|
|
31
|
+
readonly outcomeUnknown: boolean;
|
|
32
|
+
constructor(status: number, code: number, msg: string, details?: {
|
|
33
|
+
errorCode?: string;
|
|
34
|
+
outcomeUnknown?: boolean;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export declare class TransportError extends ApiError {
|
|
38
|
+
constructor(kind: 'TIMEOUT' | 'ABORTED' | 'NETWORK' | 'PROTOCOL', outcomeUnknown: boolean, status?: number);
|
|
39
|
+
}
|
|
40
|
+
export declare function responseError(status: number, value: unknown, fallback?: string): ApiError;
|
|
41
|
+
/** An immutable configuration snapshot. Each request resolves optional credential callbacks once. */
|
|
42
|
+
export declare class HttpClient {
|
|
43
|
+
private readonly config;
|
|
44
|
+
readonly timeoutMs: number;
|
|
45
|
+
constructor(config?: ClientConfig);
|
|
46
|
+
getBaseURL(): string;
|
|
47
|
+
getApiKey(): string | undefined;
|
|
48
|
+
getFetch(): typeof globalThis.fetch;
|
|
49
|
+
private exchange;
|
|
50
|
+
operation<T>(operation: Operation, input?: OperationInput, options?: RequestOptions): Promise<T>;
|
|
51
|
+
private raw;
|
|
52
|
+
get<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
53
|
+
post<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
|
|
54
|
+
}
|
|
55
|
+
export declare function configureClient(config: ClientConfig): void;
|
|
56
|
+
export declare function getClient(): HttpClient;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { getEnvVar } from '../runtime-env.js';
|
|
2
|
+
import { decodeUnsV2JSON, encodeUnsV2JSON } from '../uns-v2/codec.js';
|
|
3
|
+
export class ApiError extends Error {
|
|
4
|
+
status;
|
|
5
|
+
code;
|
|
6
|
+
msg;
|
|
7
|
+
errorCode;
|
|
8
|
+
outcomeUnknown;
|
|
9
|
+
constructor(status, code, msg, details = {}) {
|
|
10
|
+
super(`HTTP ${status}: ${msg}`);
|
|
11
|
+
this.status = status;
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.msg = msg;
|
|
14
|
+
this.name = 'ApiError';
|
|
15
|
+
this.errorCode = details.errorCode;
|
|
16
|
+
this.outcomeUnknown = details.outcomeUnknown ?? false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class TransportError extends ApiError {
|
|
20
|
+
constructor(kind, outcomeUnknown, status = 0) {
|
|
21
|
+
super(status, 0, `Tier0 SDK v2 ${kind.toLowerCase()} error`, { errorCode: `SDK_${kind}`, outcomeUnknown });
|
|
22
|
+
this.name = 'TransportError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const record = (v) => v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
26
|
+
export function responseError(status, value, fallback = 'Request failed') {
|
|
27
|
+
return new ApiError(status, record(value) && typeof value.code === 'number' ? value.code : 0, record(value) && typeof value.message === 'string' ? value.message : record(value) && typeof value.msg === 'string' ? value.msg : fallback, { errorCode: record(value) && typeof value.errorCode === 'string' ? value.errorCode : undefined });
|
|
28
|
+
}
|
|
29
|
+
/** An immutable configuration snapshot. Each request resolves optional credential callbacks once. */
|
|
30
|
+
export class HttpClient {
|
|
31
|
+
config;
|
|
32
|
+
timeoutMs;
|
|
33
|
+
constructor(config = {}) {
|
|
34
|
+
this.config = Object.freeze({ ...config });
|
|
35
|
+
this.timeoutMs = config.transportTimeoutMs ?? 60_000;
|
|
36
|
+
if (!Number.isInteger(this.timeoutMs) || this.timeoutMs < 1 || this.timeoutMs > 2_147_483_647)
|
|
37
|
+
throw new TypeError('Invalid transportTimeoutMs');
|
|
38
|
+
}
|
|
39
|
+
getBaseURL() {
|
|
40
|
+
const host = this.config.apiHost ?? this.config.getApiHost?.() ?? getEnvVar('TIER0_API_HOST');
|
|
41
|
+
if (!host?.trim())
|
|
42
|
+
throw new Error('Tier0 SDK v2: apiHost or TIER0_API_HOST is required.');
|
|
43
|
+
const base = host.trim().replace(/\/+$/, '');
|
|
44
|
+
const url = new URL(/^https?:\/\//i.test(base) ? base : `https://${base}`);
|
|
45
|
+
if (!['https:', 'http:'].includes(url.protocol) || url.username || url.password || url.search || url.hash)
|
|
46
|
+
throw new TypeError('Invalid apiHost');
|
|
47
|
+
return url.href.replace(/\/+$/, '');
|
|
48
|
+
}
|
|
49
|
+
getApiKey() { return this.config.apiKey ?? this.config.getApiKey?.() ?? getEnvVar('TIER0_API_KEY'); }
|
|
50
|
+
getFetch() { return this.config.fetch ?? globalThis.fetch; }
|
|
51
|
+
async exchange(path, init, options, mutation) {
|
|
52
|
+
if (!path.startsWith('/') || path.startsWith('//') || path.includes('\\'))
|
|
53
|
+
throw new TypeError('A relative API path is required');
|
|
54
|
+
const url = this.getBaseURL() + path;
|
|
55
|
+
const key = this.getApiKey();
|
|
56
|
+
const headers = new Headers(init.headers);
|
|
57
|
+
headers.set('Content-Type', 'application/json');
|
|
58
|
+
if (key) {
|
|
59
|
+
headers.set('X-API-Key', key);
|
|
60
|
+
headers.set('Authorization', `Bearer ${key}`);
|
|
61
|
+
}
|
|
62
|
+
const controller = new AbortController();
|
|
63
|
+
let expired = false;
|
|
64
|
+
let started = false;
|
|
65
|
+
let response;
|
|
66
|
+
let reader;
|
|
67
|
+
let rejectAbort = () => undefined;
|
|
68
|
+
const fail = () => {
|
|
69
|
+
controller.abort();
|
|
70
|
+
void reader?.cancel().catch(() => undefined);
|
|
71
|
+
rejectAbort(new TransportError(expired ? 'TIMEOUT' : 'ABORTED', mutation && started, response?.status));
|
|
72
|
+
};
|
|
73
|
+
const aborted = new Promise((_, reject) => { rejectAbort = reject; });
|
|
74
|
+
const timer = setTimeout(() => { expired = true; fail(); }, this.timeoutMs);
|
|
75
|
+
options.signal?.addEventListener('abort', fail, { once: true });
|
|
76
|
+
try {
|
|
77
|
+
if (options.signal?.aborted)
|
|
78
|
+
throw new TransportError('ABORTED', false);
|
|
79
|
+
const request = async () => {
|
|
80
|
+
started = true;
|
|
81
|
+
try {
|
|
82
|
+
response = await this.getFetch()(url, { ...init, headers, redirect: 'manual', signal: controller.signal });
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
throw new TransportError(expired ? 'TIMEOUT' : controller.signal.aborted ? 'ABORTED' : 'NETWORK', mutation, response?.status);
|
|
86
|
+
}
|
|
87
|
+
const maxBytes = 20 * 1024 * 1024;
|
|
88
|
+
if (Number(response.headers.get('content-length')) > maxBytes) {
|
|
89
|
+
await response.body?.cancel();
|
|
90
|
+
throw new TransportError('PROTOCOL', mutation, response.status);
|
|
91
|
+
}
|
|
92
|
+
if (!response.body)
|
|
93
|
+
return { text: '', status: response.status, ok: response.ok };
|
|
94
|
+
reader = response.body.getReader();
|
|
95
|
+
const decoder = new TextDecoder('utf-8', { fatal: true });
|
|
96
|
+
const chunks = [];
|
|
97
|
+
let size = 0;
|
|
98
|
+
try {
|
|
99
|
+
while (true) {
|
|
100
|
+
const { done, value } = await reader.read();
|
|
101
|
+
if (done)
|
|
102
|
+
break;
|
|
103
|
+
size += value.byteLength;
|
|
104
|
+
if (size > maxBytes) {
|
|
105
|
+
await reader.cancel();
|
|
106
|
+
throw new Error('Response too large');
|
|
107
|
+
}
|
|
108
|
+
chunks.push(decoder.decode(value, { stream: true }));
|
|
109
|
+
}
|
|
110
|
+
chunks.push(decoder.decode());
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
throw new TransportError('PROTOCOL', mutation, response.status);
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
reader.releaseLock();
|
|
117
|
+
reader = undefined;
|
|
118
|
+
}
|
|
119
|
+
return { text: chunks.join(''), status: response.status, ok: response.ok };
|
|
120
|
+
};
|
|
121
|
+
return await Promise.race([request(), aborted]);
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
clearTimeout(timer);
|
|
125
|
+
options.signal?.removeEventListener('abort', fail);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async operation(operation, input = {}, options = {}) {
|
|
129
|
+
let path = operation.path;
|
|
130
|
+
for (const name of operation.pathParams) {
|
|
131
|
+
const value = input.params?.[name];
|
|
132
|
+
if (!value || value === '.' || value === '..' || /[/\\\u0000-\u001f\u007f]/.test(value))
|
|
133
|
+
throw new TypeError(`Invalid path parameter: ${name}`);
|
|
134
|
+
path = path.replace(`{${name}}`, encodeURIComponent(value));
|
|
135
|
+
}
|
|
136
|
+
const query = new URLSearchParams();
|
|
137
|
+
for (const [name, value] of Object.entries(input.query ?? {})) {
|
|
138
|
+
if (value !== undefined)
|
|
139
|
+
query.set(name, String(value));
|
|
140
|
+
}
|
|
141
|
+
if (query.size)
|
|
142
|
+
path += `?${query}`;
|
|
143
|
+
if (operation.mode === 'download') {
|
|
144
|
+
// Resolve the signed URL through the JSON endpoint, then fetch without platform credentials.
|
|
145
|
+
const urlPath = path.replace('/files/download', '/files/url');
|
|
146
|
+
const result = await this.get(urlPath, options);
|
|
147
|
+
if (result.code !== 200 || !result.data?.fileUrl)
|
|
148
|
+
throw responseError(200, result, 'Invalid download URL response');
|
|
149
|
+
const url = new URL(result.data.fileUrl);
|
|
150
|
+
if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password)
|
|
151
|
+
throw new TypeError('Invalid download URL');
|
|
152
|
+
const response = await this.getFetch()(url, { signal: options.signal, credentials: 'omit' });
|
|
153
|
+
if (!response.ok)
|
|
154
|
+
throw new ApiError(response.status, 0, 'File download failed');
|
|
155
|
+
return response;
|
|
156
|
+
}
|
|
157
|
+
let body = input.body ?? {};
|
|
158
|
+
if (path === '/openapi/v1/notifications/send') {
|
|
159
|
+
if (!record(body))
|
|
160
|
+
throw new TypeError('Notification body must be an object');
|
|
161
|
+
const channels = body.channels ?? ['web', 'mobile'];
|
|
162
|
+
if (!Array.isArray(channels) || channels.some(c => c !== 'web' && c !== 'mobile'))
|
|
163
|
+
throw new TypeError('Notification channels must be web or mobile');
|
|
164
|
+
body = { ...body, channels: [...new Set(channels)] };
|
|
165
|
+
}
|
|
166
|
+
const serialized = operation.method === 'GET' ? undefined : encodeUnsV2JSON(body, operation.requestSchema ?? 'V1_Empty');
|
|
167
|
+
const response = await this.exchange(path, { method: operation.method, body: serialized }, options, !operation.readonly);
|
|
168
|
+
let value;
|
|
169
|
+
try {
|
|
170
|
+
value = decodeUnsV2JSON(response.text, operation.responseSchema);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
if (!response.ok)
|
|
174
|
+
throw new ApiError(response.status, 0, 'Non-JSON API error');
|
|
175
|
+
throw new TransportError('PROTOCOL', !operation.readonly, response.status);
|
|
176
|
+
}
|
|
177
|
+
if (!response.ok)
|
|
178
|
+
throw responseError(response.status, value);
|
|
179
|
+
if (operation.mode === 'envelope') {
|
|
180
|
+
if (!record(value) || typeof value.code !== 'number')
|
|
181
|
+
throw new TransportError('PROTOCOL', !operation.readonly, response.status);
|
|
182
|
+
if (value.code !== 200)
|
|
183
|
+
throw responseError(response.status, value);
|
|
184
|
+
if (!Object.hasOwn(value, 'data'))
|
|
185
|
+
throw new TransportError('PROTOCOL', !operation.readonly, response.status);
|
|
186
|
+
return value.data;
|
|
187
|
+
}
|
|
188
|
+
return value;
|
|
189
|
+
}
|
|
190
|
+
async raw(method, path, body, options = {}) {
|
|
191
|
+
const response = await this.exchange(path, { method, body: body === undefined ? undefined : encodeUnsV2JSON(body, 'V1_Empty') }, options, method !== 'GET');
|
|
192
|
+
let value;
|
|
193
|
+
try {
|
|
194
|
+
value = decodeUnsV2JSON(response.text, 'V1_Empty');
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
throw new ApiError(response.status, 0, 'Invalid API response');
|
|
198
|
+
}
|
|
199
|
+
if (!response.ok || (record(value) && typeof value.code === 'number' && value.code !== 200))
|
|
200
|
+
throw responseError(response.status, value);
|
|
201
|
+
return value;
|
|
202
|
+
}
|
|
203
|
+
get(path, options) { return this.raw('GET', path, undefined, options); }
|
|
204
|
+
post(path, body, options) { return this.raw('POST', path, body, options); }
|
|
205
|
+
}
|
|
206
|
+
// Used by standalone domain clients. createClient() never reads or changes this default.
|
|
207
|
+
let defaultClient = new HttpClient();
|
|
208
|
+
export function configureClient(config) { defaultClient = new HttpClient(config); }
|
|
209
|
+
export function getClient() { return defaultClient; }
|
|
210
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/openapi/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { getEnvVar } from '../runtime-env.js';\nimport { decodeUnsV2JSON, encodeUnsV2JSON } from '../uns-v2/codec.js';\n\nexport interface ClientConfig {\n apiHost?: string;\n apiKey?: string;\n getApiHost?: () => string | undefined;\n getApiKey?: () => string | undefined;\n fetch?: typeof globalThis.fetch;\n transportTimeoutMs?: number;\n}\nexport interface RequestOptions { signal?: AbortSignal }\nexport interface Operation {\n method: string;\n path: string;\n readonly pathParams: readonly string[];\n mode: 'envelope' | 'direct' | 'download';\n readonly: boolean;\n requestSchema?: string;\n responseSchema: string;\n}\nexport interface OperationInput {\n params?: Record<string, string>;\n query?: object;\n body?: unknown;\n}\nexport class ApiError extends Error {\n readonly errorCode?: string;\n readonly outcomeUnknown: boolean;\n constructor(readonly status: number, readonly code: number, readonly msg: string,\n details: { errorCode?: string; outcomeUnknown?: boolean } = {}) {\n super(`HTTP ${status}: ${msg}`);\n this.name = 'ApiError';\n this.errorCode = details.errorCode;\n this.outcomeUnknown = details.outcomeUnknown ?? false;\n }\n}\nexport class TransportError extends ApiError {\n constructor(kind: 'TIMEOUT' | 'ABORTED' | 'NETWORK' | 'PROTOCOL', outcomeUnknown: boolean, status = 0) {\n super(status, 0, `Tier0 SDK v2 ${kind.toLowerCase()} error`, { errorCode: `SDK_${kind}`, outcomeUnknown });\n this.name = 'TransportError';\n }\n}\nconst record = (v: unknown): v is Record<string, unknown> => v !== null && typeof v === 'object' && !Array.isArray(v);\nexport function responseError(status: number, value: unknown, fallback = 'Request failed'): ApiError {\n return new ApiError(status, record(value) && typeof value.code === 'number' ? value.code : 0,\n record(value) && typeof value.message === 'string' ? value.message : record(value) && typeof value.msg === 'string' ? value.msg : fallback,\n { errorCode: record(value) && typeof value.errorCode === 'string' ? value.errorCode : undefined });\n}\n\n/** An immutable configuration snapshot. Each request resolves optional credential callbacks once. */\nexport class HttpClient {\n private readonly config: Readonly<ClientConfig>;\n readonly timeoutMs: number;\n constructor(config: ClientConfig = {}) {\n this.config = Object.freeze({ ...config });\n this.timeoutMs = config.transportTimeoutMs ?? 60_000;\n if (!Number.isInteger(this.timeoutMs) || this.timeoutMs < 1 || this.timeoutMs > 2_147_483_647) throw new TypeError('Invalid transportTimeoutMs');\n }\n getBaseURL(): string {\n const host = this.config.apiHost ?? this.config.getApiHost?.() ?? getEnvVar('TIER0_API_HOST');\n if (!host?.trim()) throw new Error('Tier0 SDK v2: apiHost or TIER0_API_HOST is required.');\n const base = host.trim().replace(/\\/+$/, '');\n const url = new URL(/^https?:\\/\\//i.test(base) ? base : `https://${base}`);\n if (!['https:', 'http:'].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new TypeError('Invalid apiHost');\n return url.href.replace(/\\/+$/, '');\n }\n getApiKey(): string | undefined { return this.config.apiKey ?? this.config.getApiKey?.() ?? getEnvVar('TIER0_API_KEY'); }\n getFetch(): typeof globalThis.fetch { return this.config.fetch ?? globalThis.fetch; }\n\n private async exchange(path: string, init: RequestInit, options: RequestOptions, mutation: boolean): Promise<{ text: string; status: number; ok: boolean }> {\n if (!path.startsWith('/') || path.startsWith('//') || path.includes('\\\\')) throw new TypeError('A relative API path is required');\n const url = this.getBaseURL() + path;\n const key = this.getApiKey();\n const headers = new Headers(init.headers);\n headers.set('Content-Type', 'application/json');\n if (key) { headers.set('X-API-Key', key); headers.set('Authorization', `Bearer ${key}`); }\n const controller = new AbortController();\n let expired = false;\n let started = false;\n let response: Response | undefined;\n let reader: ReadableStreamDefaultReader<Uint8Array> | undefined;\n let rejectAbort: (error: Error) => void = () => undefined;\n const fail = () => {\n controller.abort();\n void reader?.cancel().catch(() => undefined);\n rejectAbort(new TransportError(expired ? 'TIMEOUT' : 'ABORTED', mutation && started, response?.status));\n };\n const aborted = new Promise<never>((_, reject) => { rejectAbort = reject; });\n const timer = setTimeout(() => { expired = true; fail(); }, this.timeoutMs);\n options.signal?.addEventListener('abort', fail, { once: true });\n try {\n if (options.signal?.aborted) throw new TransportError('ABORTED', false);\n const request = async () => {\n started = true;\n try { response = await this.getFetch()(url, { ...init, headers, redirect: 'manual', signal: controller.signal }); }\n catch { throw new TransportError(expired ? 'TIMEOUT' : controller.signal.aborted ? 'ABORTED' : 'NETWORK', mutation, response?.status); }\n const maxBytes = 20 * 1024 * 1024;\n if (Number(response.headers.get('content-length')) > maxBytes) { await response.body?.cancel(); throw new TransportError('PROTOCOL', mutation, response.status); }\n if (!response.body) return { text: '', status: response.status, ok: response.ok };\n reader = response.body.getReader();\n const decoder = new TextDecoder('utf-8', { fatal: true });\n const chunks: string[] = [];\n let size = 0;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n size += value.byteLength;\n if (size > maxBytes) { await reader.cancel(); throw new Error('Response too large'); }\n chunks.push(decoder.decode(value, { stream: true }));\n }\n chunks.push(decoder.decode());\n } catch { throw new TransportError('PROTOCOL', mutation, response.status); }\n finally { reader.releaseLock(); reader = undefined; }\n return { text: chunks.join(''), status: response.status, ok: response.ok };\n };\n return await Promise.race([request(), aborted]);\n } finally { clearTimeout(timer); options.signal?.removeEventListener('abort', fail); }\n }\n\n async operation<T>(operation: Operation, input: OperationInput = {}, options: RequestOptions = {}): Promise<T> {\n let path = operation.path;\n for (const name of operation.pathParams) {\n const value = input.params?.[name];\n if (!value || value === '.' || value === '..' || /[/\\\\\\u0000-\\u001f\\u007f]/.test(value)) throw new TypeError(`Invalid path parameter: ${name}`);\n path = path.replace(`{${name}}`, encodeURIComponent(value));\n }\n const query = new URLSearchParams();\n for (const [name, value] of Object.entries(input.query ?? {})) {\n if (value !== undefined) query.set(name, String(value));\n }\n if (query.size) path += `?${query}`;\n if (operation.mode === 'download') {\n // Resolve the signed URL through the JSON endpoint, then fetch without platform credentials.\n const urlPath = path.replace('/files/download', '/files/url');\n const result = await this.get<{ code: number; data?: { fileUrl?: string } }>(urlPath, options);\n if (result.code !== 200 || !result.data?.fileUrl) throw responseError(200, result, 'Invalid download URL response');\n const url = new URL(result.data.fileUrl);\n if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password) throw new TypeError('Invalid download URL');\n const response = await this.getFetch()(url, { signal: options.signal, credentials: 'omit' });\n if (!response.ok) throw new ApiError(response.status, 0, 'File download failed');\n return response as T;\n }\n let body = input.body ?? {};\n if (path === '/openapi/v1/notifications/send') {\n if (!record(body)) throw new TypeError('Notification body must be an object');\n const channels = body.channels ?? ['web', 'mobile'];\n if (!Array.isArray(channels) || channels.some(c => c !== 'web' && c !== 'mobile')) throw new TypeError('Notification channels must be web or mobile');\n body = { ...body, channels: [...new Set(channels)] };\n }\n const serialized = operation.method === 'GET' ? undefined : encodeUnsV2JSON(body, operation.requestSchema ?? 'V1_Empty');\n const response = await this.exchange(path, { method: operation.method, body: serialized }, options, !operation.readonly);\n let value: unknown;\n try { value = decodeUnsV2JSON(response.text, operation.responseSchema); }\n catch {\n if (!response.ok) throw new ApiError(response.status, 0, 'Non-JSON API error');\n throw new TransportError('PROTOCOL', !operation.readonly, response.status);\n }\n if (!response.ok) throw responseError(response.status, value);\n if (operation.mode === 'envelope') {\n if (!record(value) || typeof value.code !== 'number') throw new TransportError('PROTOCOL', !operation.readonly, response.status);\n if (value.code !== 200) throw responseError(response.status, value);\n if (!Object.hasOwn(value, 'data')) throw new TransportError('PROTOCOL', !operation.readonly, response.status);\n return value.data as T;\n }\n return value as T;\n }\n\n private async raw<T>(method: string, path: string, body?: unknown, options: RequestOptions = {}): Promise<T> {\n const response = await this.exchange(path, { method, body: body === undefined ? undefined : encodeUnsV2JSON(body, 'V1_Empty') }, options, method !== 'GET');\n let value: unknown;\n try { value = decodeUnsV2JSON(response.text, 'V1_Empty'); }\n catch { throw new ApiError(response.status, 0, 'Invalid API response'); }\n if (!response.ok || (record(value) && typeof value.code === 'number' && value.code !== 200)) throw responseError(response.status, value);\n return value as T;\n }\n get<T>(path: string, options?: RequestOptions): Promise<T> { return this.raw('GET', path, undefined, options); }\n post<T>(path: string, body: unknown, options?: RequestOptions): Promise<T> { return this.raw('POST', path, body, options); }\n}\n\n// Used by standalone domain clients. createClient() never reads or changes this default.\nlet defaultClient = new HttpClient();\nexport function configureClient(config: ClientConfig): void { defaultClient = new HttpClient(config); }\nexport function getClient(): HttpClient { return defaultClient; }\n"]}
|