@tier0/sdk-v2 0.2.1 → 0.3.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/README.md +29 -12
- package/dist/cjs/capabilities.js +2 -2
- package/dist/cjs/capabilities.js.map +1 -1
- package/dist/cjs/client.d.ts +284 -374
- package/dist/cjs/cloud-transport.js +6 -1
- package/dist/cjs/cloud-transport.js.map +1 -1
- package/dist/cjs/controls.d.ts +19 -7
- package/dist/cjs/controls.js +37 -34
- package/dist/cjs/controls.js.map +1 -1
- package/dist/cjs/data/bootstrap.js +3 -2
- package/dist/cjs/data/bootstrap.js.map +1 -1
- package/dist/cjs/data/collection.d.ts +64 -2
- package/dist/cjs/data/collection.js +15 -11
- package/dist/cjs/data/collection.js.map +1 -1
- package/dist/cjs/data/index.d.ts +1 -1
- package/dist/cjs/data/index.js.map +1 -1
- package/dist/cjs/files.d.ts +9 -9
- package/dist/cjs/mq/broker.d.ts +1 -1
- package/dist/cjs/mq/broker.js +1 -1
- package/dist/cjs/mq/broker.js.map +1 -1
- package/dist/cjs/mq/types.d.ts +1 -1
- package/dist/cjs/mq/types.js.map +1 -1
- package/dist/cjs/openapi/api.generated.d.ts +417 -541
- package/dist/cjs/openapi/api.generated.js +292 -377
- package/dist/cjs/openapi/api.generated.js.map +1 -1
- package/dist/cjs/openapi/client.js +1 -1
- package/dist/cjs/openapi/client.js.map +1 -1
- package/dist/cjs/openapi/codecs.generated.d.ts +394 -652
- package/dist/cjs/openapi/codecs.generated.js +2 -2
- package/dist/cjs/openapi/codecs.generated.js.map +1 -1
- package/dist/cjs/openapi/types.generated.d.ts +697 -906
- package/dist/cjs/openapi/types.generated.js.map +1 -1
- package/dist/cjs/source.d.ts +0 -7
- package/dist/cjs/source.js +1 -3
- package/dist/cjs/source.js.map +1 -1
- package/dist/cjs/stream.d.ts +0 -5
- package/dist/cjs/stream.js +3 -4
- package/dist/cjs/stream.js.map +1 -1
- package/dist/cjs/uns-v2/codec.js +1 -1
- package/dist/cjs/uns-v2/codec.js.map +1 -1
- package/dist/cjs/uns-v2/generated.d.ts +4741 -13453
- package/dist/cjs/uns-v2/generated.js +12 -33
- package/dist/cjs/uns-v2/generated.js.map +1 -1
- package/dist/esm/capabilities.js +2 -2
- package/dist/esm/capabilities.js.map +1 -1
- package/dist/esm/client.d.ts +284 -374
- package/dist/esm/cloud-transport.js +6 -1
- package/dist/esm/cloud-transport.js.map +1 -1
- package/dist/esm/controls.d.ts +19 -7
- package/dist/esm/controls.js +38 -35
- package/dist/esm/controls.js.map +1 -1
- package/dist/esm/data/bootstrap.js +4 -3
- package/dist/esm/data/bootstrap.js.map +1 -1
- package/dist/esm/data/collection.d.ts +64 -2
- package/dist/esm/data/collection.js +15 -12
- package/dist/esm/data/collection.js.map +1 -1
- package/dist/esm/data/index.d.ts +1 -1
- package/dist/esm/data/index.js.map +1 -1
- package/dist/esm/files.d.ts +9 -9
- package/dist/esm/mq/broker.d.ts +1 -1
- package/dist/esm/mq/broker.js +1 -1
- package/dist/esm/mq/broker.js.map +1 -1
- package/dist/esm/mq/types.d.ts +1 -1
- package/dist/esm/mq/types.js.map +1 -1
- package/dist/esm/openapi/api.generated.d.ts +417 -541
- package/dist/esm/openapi/api.generated.js +292 -377
- package/dist/esm/openapi/api.generated.js.map +1 -1
- package/dist/esm/openapi/client.js +1 -1
- package/dist/esm/openapi/client.js.map +1 -1
- package/dist/esm/openapi/codecs.generated.d.ts +394 -652
- package/dist/esm/openapi/codecs.generated.js +1 -1
- package/dist/esm/openapi/codecs.generated.js.map +1 -1
- package/dist/esm/openapi/types.generated.d.ts +697 -906
- package/dist/esm/openapi/types.generated.js.map +1 -1
- package/dist/esm/source.d.ts +0 -7
- package/dist/esm/source.js +1 -3
- package/dist/esm/source.js.map +1 -1
- package/dist/esm/stream.d.ts +0 -5
- package/dist/esm/stream.js +3 -4
- package/dist/esm/stream.js.map +1 -1
- package/dist/esm/uns-v2/codec.js +2 -2
- package/dist/esm/uns-v2/codec.js.map +1 -1
- package/dist/esm/uns-v2/generated.d.ts +4741 -13453
- package/dist/esm/uns-v2/generated.js +12 -33
- package/dist/esm/uns-v2/generated.js.map +1 -1
- package/package.json +17 -5
- package/skills/tier0-sdk-v2/SKILL.md +5 -3
- package/skills/tier0-sdk-v2/tier0-sdk-v2-agent/SKILL.md +4 -4
- package/skills/tier0-sdk-v2/tier0-sdk-v2-controls/SKILL.md +3 -3
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/references/read-write.md +17 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/delete.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-files/references/url.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-members/references/app-members.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-members/references/platform-members.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-notifications/references/get.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-notifications/references/send.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/SKILL.md +5 -5
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/changes.md +4 -4
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/create.md +3 -6
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/delete.md +10 -18
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/read.md +2 -2
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/state.md +9 -10
- package/skills/tier0-sdk-v2/tier0-sdk-v2-source/references/update.md +39 -21
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/SKILL.md +7 -7
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/create.md +13 -13
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/deploy.md +21 -11
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/lifecycle.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/read.md +25 -5
- package/skills/tier0-sdk-v2/tier0-sdk-v2-stream/references/update.md +3 -5
- package/skills/tier0-sdk-v2/tier0-sdk-v2-system/references/info.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-system/references/whoami.md +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/SKILL.md +3 -3
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/create.md +14 -9
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/delete.md +5 -5
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/namespace.md +4 -4
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/read.md +8 -7
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/restore.md +2 -2
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/references/update.md +4 -4
package/dist/esm/stream.d.ts
CHANGED
|
@@ -5,13 +5,8 @@ import type { CloudTransportConfig } from './cloud-transport.js';
|
|
|
5
5
|
export declare function bindStreamClient(raw: UnsV2Client): Readonly<{
|
|
6
6
|
programs: Readonly<{
|
|
7
7
|
list: (request: import("./index.js").CloudStreamProgramListReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").CloudStreamProgramListResponse>;
|
|
8
|
-
get: (request: import("./index.js").UnsV2StreamProgramGetReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramGetResponse>;
|
|
9
|
-
create: (request: import("./index.js").UnsV2StreamProgramCreateReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramCreateResponse>;
|
|
10
|
-
update: (request: import("./index.js").UnsV2StreamProgramUpdateReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramUpdateResponse>;
|
|
11
8
|
delete: (request: import("./index.js").CloudStreamProgramDeleteReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").CloudStreamProgramDeleteResponse>;
|
|
12
|
-
validate: (request: import("./index.js").UnsV2StreamProgramValidateReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramValidateResponse>;
|
|
13
9
|
deploy: (request: import("./index.js").UnsV2StreamProgramDeployReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramDeployResponse>;
|
|
14
|
-
disable: (request: import("./index.js").UnsV2StreamProgramDisableReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramDisableResponse>;
|
|
15
10
|
rollback: (request: import("./index.js").UnsV2StreamProgramRollbackReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramRollbackResponse>;
|
|
16
11
|
versions: Readonly<{
|
|
17
12
|
list: (request: import("./index.js").UnsV2StreamProgramVersionsListReq, options?: import("./openapi/client.js").RequestOptions) => Promise<import("./index.js").UnsV2StreamProgramVersionsListResponse>;
|
package/dist/esm/stream.js
CHANGED
|
@@ -4,10 +4,9 @@ import { createUnsV2Client } from './uns-v2/client.js';
|
|
|
4
4
|
export function bindStreamClient(raw) {
|
|
5
5
|
return Object.freeze({
|
|
6
6
|
programs: Object.freeze({
|
|
7
|
-
list: raw.streamProgramList,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
deploy: raw.streamProgramDeploy, disable: raw.streamProgramDisable,
|
|
7
|
+
list: raw.streamProgramList,
|
|
8
|
+
delete: raw.streamProgramDelete,
|
|
9
|
+
deploy: raw.streamProgramDeploy,
|
|
11
10
|
rollback: raw.streamProgramRollback,
|
|
12
11
|
versions: Object.freeze({ list: raw.streamProgramVersionsList }),
|
|
13
12
|
}),
|
package/dist/esm/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AAGzE,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,iBAAiB
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AAGzE,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,iBAAiB;YAC3B,MAAM,EAAE,GAAG,CAAC,mBAAmB;YAC/B,MAAM,EAAE,GAAG,CAAC,mBAAmB;YAC/B,QAAQ,EAAE,GAAG,CAAC,qBAAqB;YACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,yBAAyB,EAAE,CAAC;SACjE,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvB,GAAG,EAAE,GAAG,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,oBAAoB;YAC5D,MAAM,EAAE,GAAG,CAAC,oBAAoB,EAAE,QAAQ,EAAE,GAAG,CAAC,sBAAsB;YACtE,OAAO,EAAE,GAAG,CAAC,qBAAqB;SACnC,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,4BAA4B,EAAE,CAAC;QAC1E,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC9D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;QACjD,UAAU,EAAE,GAAG,CAAC,gBAAgB;KACjC,CAAC,CAAC;AACL,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,SAA6B,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC","sourcesContent":["import { HttpClient, type ClientConfig } from './openapi/client.js';\nimport { createUnsV2Client, type UnsV2Client } from './uns-v2/client.js';\nimport type { CloudTransportConfig } from './cloud-transport.js';\n\n/** Runtime programs and native editor documents have distinct contracts. */\nexport function bindStreamClient(raw: UnsV2Client) {\n return Object.freeze({\n programs: Object.freeze({\n list: raw.streamProgramList,\n delete: raw.streamProgramDelete,\n deploy: raw.streamProgramDeploy,\n rollback: raw.streamProgramRollback,\n versions: Object.freeze({ list: raw.streamProgramVersionsList }),\n }),\n documents: Object.freeze({\n get: raw.streamDocumentGet, create: raw.streamDocumentCreate,\n update: raw.streamDocumentUpdate, validate: raw.streamDocumentValidate,\n disable: raw.streamDocumentDisable,\n }),\n runtime: Object.freeze({ capabilities: raw.streamRuntimeCapabilitiesGet }),\n observations: Object.freeze({ get: raw.streamObservationGet }),\n runs: Object.freeze({ list: raw.streamRunsList }),\n sampleTest: raw.streamSampleTest,\n });\n}\nexport type StreamClient = ReturnType<typeof bindStreamClient>;\nexport type StreamClientConfig = ClientConfig & CloudTransportConfig;\nexport function createStreamClient(config: StreamClientConfig = {}): StreamClient {\n const http = new HttpClient(config);\n return bindStreamClient(createUnsV2Client(() => http, config));\n}\n"]}
|
package/dist/esm/uns-v2/codec.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UNS_V2_CODEC_SCHEMAS } from './generated.js';
|
|
2
|
-
import {
|
|
2
|
+
import { PLATFORM_CODEC_SCHEMAS } from '../openapi/codecs.generated.js';
|
|
3
3
|
const numericBrand = Symbol('UnsV2NumericToken');
|
|
4
|
-
const schemas = { ...UNS_V2_CODEC_SCHEMAS, ...
|
|
4
|
+
const schemas = { ...UNS_V2_CODEC_SCHEMAS, ...PLATFORM_CODEC_SCHEMAS };
|
|
5
5
|
const jsonNumberPattern = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;
|
|
6
6
|
const int64Min = -(1n << 63n);
|
|
7
7
|
const int64Max = (1n << 63n) - 1n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/uns-v2/codec.ts"],"names":[],"mappings":"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","sourcesContent":["import { UNS_V2_CODEC_SCHEMAS } from './generated.js';\nimport { V1_CODEC_SCHEMAS } from '../openapi/codecs.generated.js';\n\ntype Codec = { readonly k?: string; readonly r?: string; readonly i?: Codec; readonly p?: Record<string, Codec>; readonly x?: Codec; readonly a?: readonly Codec[] };\nconst numericBrand: unique symbol = Symbol('UnsV2NumericToken');\ntype NumericToken = { readonly [numericBrand]: string };\nconst schemas = { ...UNS_V2_CODEC_SCHEMAS, ...V1_CODEC_SCHEMAS } as unknown as Record<string, Codec>;\nconst jsonNumberPattern = /^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$/;\nconst int64Min = -(1n << 63n);\nconst int64Max = (1n << 63n) - 1n;\n\n/** Exact JSON number used when JavaScript number cannot preserve the wire value. */\nexport class UnsV2RawNumber {\n readonly lexeme: string;\n\n constructor(lexeme: string) {\n if (!jsonNumberPattern.test(lexeme)) throw new TypeError('Tier0 SDK: invalid raw JSON number.');\n this.lexeme = lexeme;\n Object.freeze(this);\n }\n\n toNumber(): number { return Number(this.lexeme); }\n toBigInt(): bigint {\n if (!/^-?(?:0|[1-9]\\d*)$/.test(this.lexeme)) throw new TypeError('Tier0 SDK: raw JSON number is not an integer.');\n return BigInt(this.lexeme);\n }\n toString(): string { return this.lexeme; }\n toJSON(): never {\n throw new TypeError('Tier0 SDK: UnsV2RawNumber requires encodeUnsV2JSON or explicit conversion.');\n }\n}\n\nfunction numeric(value: unknown): value is NumericToken {\n return value !== null && typeof value === 'object' && numericBrand in value;\n}\n\nclass JSONParser {\n private offset = 0;\n constructor(private readonly text: string) {}\n\n parse(): unknown {\n const value = this.value();\n this.space();\n if (this.offset !== this.text.length) throw new SyntaxError('Trailing JSON content.');\n return value;\n }\n\n private space(): void {\n while (this.text[this.offset] === ' ' || this.text[this.offset] === '\\t' ||\n this.text[this.offset] === '\\r' || this.text[this.offset] === '\\n') this.offset += 1;\n }\n\n private value(): unknown {\n this.space();\n const char = this.text[this.offset];\n if (char === '\"') return this.string();\n if (char === '{') return this.object();\n if (char === '[') return this.array();\n if (this.text.startsWith('true', this.offset)) { this.offset += 4; return true; }\n if (this.text.startsWith('false', this.offset)) { this.offset += 5; return false; }\n if (this.text.startsWith('null', this.offset)) { this.offset += 4; return null; }\n const match = this.text.slice(this.offset).match(/^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/);\n if (match) { this.offset += match[0].length; return { [numericBrand]: match[0] }; }\n throw new SyntaxError(`Invalid JSON at offset ${this.offset}.`);\n }\n\n private string(): string {\n const start = this.offset++;\n let escaped = false;\n while (this.offset < this.text.length) {\n const char = this.text[this.offset++];\n if (char === '\"' && !escaped) return JSON.parse(this.text.slice(start, this.offset)) as string;\n if (char === '\\\\' && !escaped) escaped = true;\n else escaped = false;\n }\n throw new SyntaxError('Unterminated JSON string.');\n }\n\n private object(): Record<string, unknown> {\n const result: Record<string, unknown> = Object.create(null) as Record<string, unknown>;\n this.offset += 1;\n this.space();\n if (this.text[this.offset] === '}') { this.offset += 1; return result; }\n while (true) {\n this.space();\n if (this.text[this.offset] !== '\"') throw new SyntaxError('Expected JSON object key.');\n const key = this.string();\n this.space();\n if (this.text[this.offset++] !== ':') throw new SyntaxError('Expected JSON object colon.');\n result[key] = this.value();\n this.space();\n const delimiter = this.text[this.offset++];\n if (delimiter === '}') return result;\n if (delimiter !== ',') throw new SyntaxError('Expected JSON object delimiter.');\n }\n }\n\n private array(): unknown[] {\n const result: unknown[] = [];\n this.offset += 1;\n this.space();\n if (this.text[this.offset] === ']') { this.offset += 1; return result; }\n while (true) {\n result.push(this.value());\n this.space();\n const delimiter = this.text[this.offset++];\n if (delimiter === ']') return result;\n if (delimiter !== ',') throw new SyntaxError('Expected JSON array delimiter.');\n }\n }\n}\n\nfunction variants(codec: Codec | undefined, seen = new Set<string>()): Codec[] {\n if (!codec) return [];\n if (codec.r) {\n if (seen.has(codec.r)) return [];\n const next = new Set(seen);\n next.add(codec.r);\n return variants(schemas[codec.r], next);\n }\n if (codec.k === 'u') return (codec.a || []).flatMap(item => variants(item, seen));\n return [codec];\n}\n\nfunction kind(codec: Codec | undefined, expected: string): Codec | undefined {\n return variants(codec).find(item => item.k === expected);\n}\n\nfunction property(codec: Codec | undefined, name: string): Codec | undefined {\n for (const candidate of variants(codec)) {\n if (candidate.k !== 'o') continue;\n if (candidate.p && Object.prototype.hasOwnProperty.call(candidate.p, name)) return candidate.p[name];\n if (candidate.x) return candidate.x;\n }\n return undefined;\n}\n\nfunction decimalIdentity(token: string): string {\n const match = token.match(/^(-?)(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) throw new SyntaxError('Invalid JSON number.');\n const negative = match[1] === '-';\n const fraction = match[3] || '';\n let digits = `${match[2]}${fraction}`.replace(/^0+/, '');\n if (!digits) return '0';\n let power = Number(match[4] || 0) - fraction.length;\n const trailing = digits.match(/0+$/)?.[0].length || 0;\n if (trailing) {\n digits = digits.slice(0, -trailing);\n power += trailing;\n }\n return `${negative ? '-' : ''}${digits}e${power}`;\n}\n\nfunction decode(value: unknown, codec: Codec | undefined): unknown {\n if (numeric(value)) {\n const token = value[numericBrand];\n if (kind(codec, 'i')) {\n if (!/^-?(?:0|[1-9]\\d*)$/.test(token)) throw new SyntaxError('Invalid int64 JSON token.');\n const integer = BigInt(token);\n if (integer < int64Min || integer > int64Max) throw new SyntaxError('UNS v2 int64 exceeds the signed 64-bit range.');\n return integer >= BigInt(Number.MIN_SAFE_INTEGER) && integer <= BigInt(Number.MAX_SAFE_INTEGER)\n ? Number(integer) : integer;\n }\n if (kind(codec, 'j') && !/^-?(?:0|[1-9]\\d*)$/.test(token)) {\n throw new SyntaxError('Invalid integer JSON token.');\n }\n const number = Number(token);\n if (Number.isFinite(number) && (!Number.isInteger(number) || Number.isSafeInteger(number)) &&\n decimalIdentity(token) === decimalIdentity(JSON.stringify(number))) return number;\n return new UnsV2RawNumber(token);\n }\n if (Array.isArray(value)) {\n const item = kind(codec, 'a')?.i;\n return value.map(entry => decode(entry, item));\n }\n if (value !== null && typeof value === 'object') {\n return Object.fromEntries(Object.entries(value).map(([name, entry]) => [name, decode(entry, property(codec, name))]));\n }\n return value;\n}\n\nfunction encode(value: unknown, codec: Codec | undefined, seen: Set<unknown>): string | undefined {\n if (value === undefined) return undefined;\n if (value === null || typeof value === 'boolean') return JSON.stringify(value);\n if (typeof value === 'string') return JSON.stringify(value);\n if (typeof value === 'bigint') {\n if (!kind(codec, 'i') || value < int64Min || value > int64Max) {\n throw new TypeError('Tier0 SDK: bigint is only valid for signed int64 contract fields.');\n }\n return value.toString();\n }\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) throw new TypeError('Tier0 SDK: UNS v2 request contains a non-finite number.');\n if (kind(codec, 'j') && !Number.isInteger(value)) {\n throw new TypeError('Tier0 SDK: UNS v2 integer field requires an integer.');\n }\n if (kind(codec, 'i') && !Number.isSafeInteger(value)) {\n throw new TypeError('Tier0 SDK: UNS v2 int64 must be a safe integer; string coercion is forbidden.');\n }\n if (Number.isInteger(value) && !Number.isSafeInteger(value)) {\n throw new TypeError('Tier0 SDK: UNS v2 request integer exceeds the JavaScript safe-integer range.');\n }\n return JSON.stringify(value);\n }\n if (value instanceof UnsV2RawNumber) {\n if (kind(codec, 'i')) {\n if (!/^-?(?:0|[1-9]\\d*)$/.test(value.lexeme)) throw new TypeError('Tier0 SDK: int64 requires an integer.');\n const integer = BigInt(value.lexeme);\n if (integer < int64Min || integer > int64Max) throw new TypeError('Tier0 SDK: int64 exceeds the signed 64-bit range.');\n }\n if (kind(codec, 'j') && !/^-?(?:0|[1-9]\\d*)$/.test(value.lexeme)) {\n throw new TypeError('Tier0 SDK: integer field requires an integer.');\n }\n return value.lexeme;\n }\n if (typeof value !== 'object' || seen.has(value)) throw new TypeError('Tier0 SDK: UNS v2 request must be acyclic JSON.');\n seen.add(value);\n try {\n if (Array.isArray(value)) {\n const item = kind(codec, 'a')?.i;\n return `[${value.map(entry => {\n const encoded = encode(entry, item, seen);\n if (encoded === undefined) throw new TypeError('Tier0 SDK: UNS v2 arrays cannot contain undefined.');\n return encoded;\n }).join(',')}]`;\n }\n const entries: string[] = [];\n for (const [name, entry] of Object.entries(value)) {\n const encoded = encode(entry, property(codec, name), seen);\n if (encoded !== undefined) entries.push(`${JSON.stringify(name)}:${encoded}`);\n }\n return `{${entries.join(',')}}`;\n } finally {\n seen.delete(value);\n }\n}\n\nexport function encodeUnsV2JSON(value: unknown, schemaName: string): string {\n const encoded = encode(value, { r: schemaName }, new Set());\n if (encoded === undefined) throw new TypeError('Tier0 SDK: UNS v2 request body is required.');\n return encoded;\n}\n\nexport function decodeUnsV2JSON(text: string, schemaName: string): unknown {\n return decode(new JSONParser(text).parse(), { r: schemaName });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/uns-v2/codec.ts"],"names":[],"mappings":"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","sourcesContent":["import { UNS_V2_CODEC_SCHEMAS } from './generated.js';\nimport { PLATFORM_CODEC_SCHEMAS } from '../openapi/codecs.generated.js';\n\ntype Codec = { readonly k?: string; readonly r?: string; readonly i?: Codec; readonly p?: Record<string, Codec>; readonly x?: Codec; readonly a?: readonly Codec[] };\nconst numericBrand: unique symbol = Symbol('UnsV2NumericToken');\ntype NumericToken = { readonly [numericBrand]: string };\nconst schemas = { ...UNS_V2_CODEC_SCHEMAS, ...PLATFORM_CODEC_SCHEMAS } as unknown as Record<string, Codec>;\nconst jsonNumberPattern = /^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$/;\nconst int64Min = -(1n << 63n);\nconst int64Max = (1n << 63n) - 1n;\n\n/** Exact JSON number used when JavaScript number cannot preserve the wire value. */\nexport class UnsV2RawNumber {\n readonly lexeme: string;\n\n constructor(lexeme: string) {\n if (!jsonNumberPattern.test(lexeme)) throw new TypeError('Tier0 SDK: invalid raw JSON number.');\n this.lexeme = lexeme;\n Object.freeze(this);\n }\n\n toNumber(): number { return Number(this.lexeme); }\n toBigInt(): bigint {\n if (!/^-?(?:0|[1-9]\\d*)$/.test(this.lexeme)) throw new TypeError('Tier0 SDK: raw JSON number is not an integer.');\n return BigInt(this.lexeme);\n }\n toString(): string { return this.lexeme; }\n toJSON(): never {\n throw new TypeError('Tier0 SDK: UnsV2RawNumber requires encodeUnsV2JSON or explicit conversion.');\n }\n}\n\nfunction numeric(value: unknown): value is NumericToken {\n return value !== null && typeof value === 'object' && numericBrand in value;\n}\n\nclass JSONParser {\n private offset = 0;\n constructor(private readonly text: string) {}\n\n parse(): unknown {\n const value = this.value();\n this.space();\n if (this.offset !== this.text.length) throw new SyntaxError('Trailing JSON content.');\n return value;\n }\n\n private space(): void {\n while (this.text[this.offset] === ' ' || this.text[this.offset] === '\\t' ||\n this.text[this.offset] === '\\r' || this.text[this.offset] === '\\n') this.offset += 1;\n }\n\n private value(): unknown {\n this.space();\n const char = this.text[this.offset];\n if (char === '\"') return this.string();\n if (char === '{') return this.object();\n if (char === '[') return this.array();\n if (this.text.startsWith('true', this.offset)) { this.offset += 4; return true; }\n if (this.text.startsWith('false', this.offset)) { this.offset += 5; return false; }\n if (this.text.startsWith('null', this.offset)) { this.offset += 4; return null; }\n const match = this.text.slice(this.offset).match(/^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/);\n if (match) { this.offset += match[0].length; return { [numericBrand]: match[0] }; }\n throw new SyntaxError(`Invalid JSON at offset ${this.offset}.`);\n }\n\n private string(): string {\n const start = this.offset++;\n let escaped = false;\n while (this.offset < this.text.length) {\n const char = this.text[this.offset++];\n if (char === '\"' && !escaped) return JSON.parse(this.text.slice(start, this.offset)) as string;\n if (char === '\\\\' && !escaped) escaped = true;\n else escaped = false;\n }\n throw new SyntaxError('Unterminated JSON string.');\n }\n\n private object(): Record<string, unknown> {\n const result: Record<string, unknown> = Object.create(null) as Record<string, unknown>;\n this.offset += 1;\n this.space();\n if (this.text[this.offset] === '}') { this.offset += 1; return result; }\n while (true) {\n this.space();\n if (this.text[this.offset] !== '\"') throw new SyntaxError('Expected JSON object key.');\n const key = this.string();\n this.space();\n if (this.text[this.offset++] !== ':') throw new SyntaxError('Expected JSON object colon.');\n result[key] = this.value();\n this.space();\n const delimiter = this.text[this.offset++];\n if (delimiter === '}') return result;\n if (delimiter !== ',') throw new SyntaxError('Expected JSON object delimiter.');\n }\n }\n\n private array(): unknown[] {\n const result: unknown[] = [];\n this.offset += 1;\n this.space();\n if (this.text[this.offset] === ']') { this.offset += 1; return result; }\n while (true) {\n result.push(this.value());\n this.space();\n const delimiter = this.text[this.offset++];\n if (delimiter === ']') return result;\n if (delimiter !== ',') throw new SyntaxError('Expected JSON array delimiter.');\n }\n }\n}\n\nfunction variants(codec: Codec | undefined, seen = new Set<string>()): Codec[] {\n if (!codec) return [];\n if (codec.r) {\n if (seen.has(codec.r)) return [];\n const next = new Set(seen);\n next.add(codec.r);\n return variants(schemas[codec.r], next);\n }\n if (codec.k === 'u') return (codec.a || []).flatMap(item => variants(item, seen));\n return [codec];\n}\n\nfunction kind(codec: Codec | undefined, expected: string): Codec | undefined {\n return variants(codec).find(item => item.k === expected);\n}\n\nfunction property(codec: Codec | undefined, name: string): Codec | undefined {\n for (const candidate of variants(codec)) {\n if (candidate.k !== 'o') continue;\n if (candidate.p && Object.prototype.hasOwnProperty.call(candidate.p, name)) return candidate.p[name];\n if (candidate.x) return candidate.x;\n }\n return undefined;\n}\n\nfunction decimalIdentity(token: string): string {\n const match = token.match(/^(-?)(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) throw new SyntaxError('Invalid JSON number.');\n const negative = match[1] === '-';\n const fraction = match[3] || '';\n let digits = `${match[2]}${fraction}`.replace(/^0+/, '');\n if (!digits) return '0';\n let power = Number(match[4] || 0) - fraction.length;\n const trailing = digits.match(/0+$/)?.[0].length || 0;\n if (trailing) {\n digits = digits.slice(0, -trailing);\n power += trailing;\n }\n return `${negative ? '-' : ''}${digits}e${power}`;\n}\n\nfunction decode(value: unknown, codec: Codec | undefined): unknown {\n if (numeric(value)) {\n const token = value[numericBrand];\n if (kind(codec, 'i')) {\n if (!/^-?(?:0|[1-9]\\d*)$/.test(token)) throw new SyntaxError('Invalid int64 JSON token.');\n const integer = BigInt(token);\n if (integer < int64Min || integer > int64Max) throw new SyntaxError('UNS v2 int64 exceeds the signed 64-bit range.');\n return integer >= BigInt(Number.MIN_SAFE_INTEGER) && integer <= BigInt(Number.MAX_SAFE_INTEGER)\n ? Number(integer) : integer;\n }\n if (kind(codec, 'j') && !/^-?(?:0|[1-9]\\d*)$/.test(token)) {\n throw new SyntaxError('Invalid integer JSON token.');\n }\n const number = Number(token);\n if (Number.isFinite(number) && (!Number.isInteger(number) || Number.isSafeInteger(number)) &&\n decimalIdentity(token) === decimalIdentity(JSON.stringify(number))) return number;\n return new UnsV2RawNumber(token);\n }\n if (Array.isArray(value)) {\n const item = kind(codec, 'a')?.i;\n return value.map(entry => decode(entry, item));\n }\n if (value !== null && typeof value === 'object') {\n return Object.fromEntries(Object.entries(value).map(([name, entry]) => [name, decode(entry, property(codec, name))]));\n }\n return value;\n}\n\nfunction encode(value: unknown, codec: Codec | undefined, seen: Set<unknown>): string | undefined {\n if (value === undefined) return undefined;\n if (value === null || typeof value === 'boolean') return JSON.stringify(value);\n if (typeof value === 'string') return JSON.stringify(value);\n if (typeof value === 'bigint') {\n if (!kind(codec, 'i') || value < int64Min || value > int64Max) {\n throw new TypeError('Tier0 SDK: bigint is only valid for signed int64 contract fields.');\n }\n return value.toString();\n }\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) throw new TypeError('Tier0 SDK: UNS v2 request contains a non-finite number.');\n if (kind(codec, 'j') && !Number.isInteger(value)) {\n throw new TypeError('Tier0 SDK: UNS v2 integer field requires an integer.');\n }\n if (kind(codec, 'i') && !Number.isSafeInteger(value)) {\n throw new TypeError('Tier0 SDK: UNS v2 int64 must be a safe integer; string coercion is forbidden.');\n }\n if (Number.isInteger(value) && !Number.isSafeInteger(value)) {\n throw new TypeError('Tier0 SDK: UNS v2 request integer exceeds the JavaScript safe-integer range.');\n }\n return JSON.stringify(value);\n }\n if (value instanceof UnsV2RawNumber) {\n if (kind(codec, 'i')) {\n if (!/^-?(?:0|[1-9]\\d*)$/.test(value.lexeme)) throw new TypeError('Tier0 SDK: int64 requires an integer.');\n const integer = BigInt(value.lexeme);\n if (integer < int64Min || integer > int64Max) throw new TypeError('Tier0 SDK: int64 exceeds the signed 64-bit range.');\n }\n if (kind(codec, 'j') && !/^-?(?:0|[1-9]\\d*)$/.test(value.lexeme)) {\n throw new TypeError('Tier0 SDK: integer field requires an integer.');\n }\n return value.lexeme;\n }\n if (typeof value !== 'object' || seen.has(value)) throw new TypeError('Tier0 SDK: UNS v2 request must be acyclic JSON.');\n seen.add(value);\n try {\n if (Array.isArray(value)) {\n const item = kind(codec, 'a')?.i;\n return `[${value.map(entry => {\n const encoded = encode(entry, item, seen);\n if (encoded === undefined) throw new TypeError('Tier0 SDK: UNS v2 arrays cannot contain undefined.');\n return encoded;\n }).join(',')}]`;\n }\n const entries: string[] = [];\n for (const [name, entry] of Object.entries(value)) {\n const encoded = encode(entry, property(codec, name), seen);\n if (encoded !== undefined) entries.push(`${JSON.stringify(name)}:${encoded}`);\n }\n return `{${entries.join(',')}}`;\n } finally {\n seen.delete(value);\n }\n}\n\nexport function encodeUnsV2JSON(value: unknown, schemaName: string): string {\n const encoded = encode(value, { r: schemaName }, new Set());\n if (encoded === undefined) throw new TypeError('Tier0 SDK: UNS v2 request body is required.');\n return encoded;\n}\n\nexport function decodeUnsV2JSON(text: string, schemaName: string): unknown {\n return decode(new JSONParser(text).parse(), { r: schemaName });\n}\n"]}
|