@oxy.so/contracts 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +675 -201
- package/NOTICE +7 -2
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/identity.js +3 -2
- package/dist/cjs/identityMove.js +111 -40
- package/dist/cjs/identityProof.js +164 -0
- package/dist/cjs/identityRecovery.js +51 -0
- package/dist/cjs/index.js +52 -21
- package/dist/cjs/inference/catalogue.js +23 -1
- package/dist/cjs/inference/identifiers.js +3 -1
- package/dist/cjs/inference/providerConnection.js +1 -1
- package/dist/cjs/inference/request.js +27 -1
- package/dist/cjs/inference/streamEvents.js +24 -2
- package/dist/cjs/inference/version.js +1 -1
- package/dist/cjs/username.js +70 -2
- package/dist/cjs/webIdentityCarrier.js +112 -53
- package/dist/cjs/webauthn.js +14 -0
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/identity.js +3 -2
- package/dist/esm/identityMove.js +105 -39
- package/dist/esm/identityProof.js +159 -0
- package/dist/esm/identityRecovery.js +48 -0
- package/dist/esm/index.js +12 -9
- package/dist/esm/inference/catalogue.js +22 -0
- package/dist/esm/inference/identifiers.js +2 -0
- package/dist/esm/inference/providerConnection.js +2 -2
- package/dist/esm/inference/request.js +27 -1
- package/dist/esm/inference/streamEvents.js +24 -2
- package/dist/esm/inference/version.js +1 -1
- package/dist/esm/username.js +69 -1
- package/dist/esm/webIdentityCarrier.js +111 -52
- package/dist/esm/webauthn.js +14 -0
- package/dist/types/.tsbuildinfo +1 -1
- package/dist/types/accountGraph.d.ts +7 -7
- package/dist/types/agency.d.ts +24 -24
- package/dist/types/browserHub.d.ts +16 -16
- package/dist/types/deviceDirectory.d.ts +28 -28
- package/dist/types/externalIdentity.d.ts +7 -7
- package/dist/types/identity.d.ts +3 -2
- package/dist/types/identityMove.d.ts +119 -43
- package/dist/types/identityProof.d.ts +156 -0
- package/dist/types/identityRecovery.d.ts +246 -0
- package/dist/types/index.d.ts +15 -13
- package/dist/types/inference/catalogue.d.ts +51 -0
- package/dist/types/inference/identifiers.d.ts +2 -0
- package/dist/types/inference/modelDocumentation.d.ts +12 -0
- package/dist/types/inference/providerConnection.d.ts +40 -40
- package/dist/types/inference/request.d.ts +119 -36
- package/dist/types/inference/streamEvents.d.ts +57 -1
- package/dist/types/inference/version.d.ts +1 -1
- package/dist/types/keyRotation.d.ts +2 -2
- package/dist/types/oauth.d.ts +30 -30
- package/dist/types/sessionStatus.d.ts +6 -6
- package/dist/types/transparency.d.ts +10 -10
- package/dist/types/userResponse.d.ts +18 -18
- package/dist/types/username.d.ts +25 -2
- package/dist/types/webIdentityCarrier.d.ts +767 -159
- package/dist/types/webauthn.d.ts +208 -0
- package/package.json +2 -2
- package/dist/cjs/devicePairing.js +0 -138
- package/dist/esm/devicePairing.js +0 -135
- package/dist/types/devicePairing.d.ts +0 -130
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity proof contract — the ONE signed format for operations on a personal root.
|
|
3
|
+
*
|
|
4
|
+
* ADR 0024 D7. A proof is a signature by the root key over the canonical bytes
|
|
5
|
+
* of {@link IdentityProofClaims}. Every field the verifier cares about is IN the
|
|
6
|
+
* signed bytes, so a signature cannot be moved to another operation, account,
|
|
7
|
+
* root, payload, revision or audience, and the one-use `challenge` means it
|
|
8
|
+
* cannot be replayed either (a timestamp window is not replay protection).
|
|
9
|
+
*
|
|
10
|
+
* Both sides build the bytes with {@link buildIdentityProofMessage} and hash
|
|
11
|
+
* payloads with {@link canonicalJson}; neither writes its own JSON template, so
|
|
12
|
+
* the client and the verifier cannot drift apart.
|
|
13
|
+
*
|
|
14
|
+
* Platform-agnostic — zod only, ESM-safe (no `require()`), no hashing here (the
|
|
15
|
+
* caller hashes `canonicalJson(payload)` with SHA-256 using its platform's
|
|
16
|
+
* primitive and passes the hex digest in).
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
export declare const IDENTITY_PROOF_VERSION: 2;
|
|
20
|
+
export declare const IDENTITY_PROOF_DOMAIN: "oxy-identity-proof";
|
|
21
|
+
/** The audience every API-verified identity proof names. */
|
|
22
|
+
export declare const IDENTITY_PROOF_AUDIENCE: "oxy-api/identity";
|
|
23
|
+
/** How long a proof challenge lives: one interactive ceremony. */
|
|
24
|
+
export declare const IDENTITY_PROOF_CHALLENGE_TTL_MS: number;
|
|
25
|
+
/**
|
|
26
|
+
* Everything a root proof may authorize. A challenge is minted for exactly one
|
|
27
|
+
* action and spent only by a proof for that action.
|
|
28
|
+
*/
|
|
29
|
+
export declare const IDENTITY_PROOF_ACTIONS: {
|
|
30
|
+
/** A keyless account's FIRST root, stored with its web envelope. */
|
|
31
|
+
readonly establish: "web_envelope_establish";
|
|
32
|
+
/** Replace the web envelope (add or remove a wrap, re-seal). */
|
|
33
|
+
readonly put: "web_envelope_put";
|
|
34
|
+
/** Record that the recovery material is written down. */
|
|
35
|
+
readonly phraseConfirmed: "web_envelope_phrase_confirmed";
|
|
36
|
+
/** Record that the recovery material re-derived the root. */
|
|
37
|
+
readonly recoveryVerified: "web_envelope_recovery_verified";
|
|
38
|
+
/** Remove the web holder. */
|
|
39
|
+
readonly delete: "web_envelope_delete";
|
|
40
|
+
/** Link a keyless account's first root without a web envelope (`POST /auth/link`). */
|
|
41
|
+
readonly link: "link_identity";
|
|
42
|
+
/** Create a personal account together with its root (passkey sign-up). */
|
|
43
|
+
readonly enroll: "enroll_identity";
|
|
44
|
+
/** Prove the root to start signed-out recovery. */
|
|
45
|
+
readonly recoverStart: "recover_account_start";
|
|
46
|
+
/** Bind the new passkey and envelope when completing signed-out recovery. */
|
|
47
|
+
readonly recoverComplete: "recover_account_complete";
|
|
48
|
+
/** Seal the root for the Commons device that joined a move (payload: move id + sealed bytes). */
|
|
49
|
+
readonly moveSeal: "identity_move_seal";
|
|
50
|
+
};
|
|
51
|
+
export type IdentityProofAction = (typeof IDENTITY_PROOF_ACTIONS)[keyof typeof IDENTITY_PROOF_ACTIONS];
|
|
52
|
+
export declare const IDENTITY_PROOF_ACTION_VALUES: [IdentityProofAction, ...IdentityProofAction[]];
|
|
53
|
+
/**
|
|
54
|
+
* The signed claims. `null` is written explicitly for a field that does not
|
|
55
|
+
* apply, so "absent" can never be confused with a value.
|
|
56
|
+
*/
|
|
57
|
+
export interface IdentityProofClaims {
|
|
58
|
+
action: IdentityProofAction;
|
|
59
|
+
/** The account the operation changes (`users.id`), or a namespaced subject (`username:alice`) before one exists. */
|
|
60
|
+
subject: string;
|
|
61
|
+
/** Who performs it: the signed-in personal principal, or `credential:<id>` / `anonymous` where none exists. */
|
|
62
|
+
actor: string;
|
|
63
|
+
/** The root doing the signing, lowercase uncompressed hex. */
|
|
64
|
+
rootPublicKey: string;
|
|
65
|
+
/** SHA-256 hex of `canonicalJson(payload)`, or `null` when the operation has no payload. */
|
|
66
|
+
payloadDigest: string | null;
|
|
67
|
+
/** The envelope revision the operation expects to replace, or `null`. */
|
|
68
|
+
expectedRevision: number | null;
|
|
69
|
+
audience: string;
|
|
70
|
+
/** The one-use server challenge. */
|
|
71
|
+
challenge: string;
|
|
72
|
+
/** Unix milliseconds after which the proof is refused. */
|
|
73
|
+
expiresAt: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Canonical JSON: object keys sorted by UTF-16 code unit, no whitespace,
|
|
77
|
+
* `undefined` members omitted, arrays in order. Numbers must be finite. This is
|
|
78
|
+
* the ONLY serializer for anything digested into a proof.
|
|
79
|
+
*/
|
|
80
|
+
export declare function canonicalJson(value: unknown): string;
|
|
81
|
+
/**
|
|
82
|
+
* The exact bytes a root signs. Throws on a malformed claim rather than signing
|
|
83
|
+
* (or verifying) something ambiguous.
|
|
84
|
+
*/
|
|
85
|
+
export declare function buildIdentityProofMessage(claims: IdentityProofClaims): string;
|
|
86
|
+
/** The proof as it travels: the signature plus the two claims the verifier cannot derive. */
|
|
87
|
+
export declare const identityProofSchema: z.ZodObject<{
|
|
88
|
+
v: z.ZodLiteral<2>;
|
|
89
|
+
challenge: z.ZodString;
|
|
90
|
+
expiresAt: z.ZodNumber;
|
|
91
|
+
signature: z.ZodString;
|
|
92
|
+
}, "strip", z.ZodTypeAny, {
|
|
93
|
+
expiresAt: number;
|
|
94
|
+
signature: string;
|
|
95
|
+
v: 2;
|
|
96
|
+
challenge: string;
|
|
97
|
+
}, {
|
|
98
|
+
expiresAt: number;
|
|
99
|
+
signature: string;
|
|
100
|
+
v: 2;
|
|
101
|
+
challenge: string;
|
|
102
|
+
}>;
|
|
103
|
+
export type IdentityProof = z.infer<typeof identityProofSchema>;
|
|
104
|
+
/** `POST /identity/proof-challenge` */
|
|
105
|
+
export declare const identityProofChallengeRequestSchema: z.ZodObject<{
|
|
106
|
+
action: z.ZodEnum<[IdentityProofAction, ...IdentityProofAction[]]>;
|
|
107
|
+
}, "strip", z.ZodTypeAny, {
|
|
108
|
+
action: IdentityProofAction;
|
|
109
|
+
}, {
|
|
110
|
+
action: IdentityProofAction;
|
|
111
|
+
}>;
|
|
112
|
+
export type IdentityProofChallengeRequest = z.infer<typeof identityProofChallengeRequestSchema>;
|
|
113
|
+
export interface IdentityProofChallengeResponse {
|
|
114
|
+
challenge: string;
|
|
115
|
+
/** Unix milliseconds; a proof must not claim a later `expiresAt`. */
|
|
116
|
+
expiresAt: number;
|
|
117
|
+
audience: string;
|
|
118
|
+
}
|
|
119
|
+
export declare const identityProofChallengeResponseSchema: z.ZodType<IdentityProofChallengeResponse>;
|
|
120
|
+
/**
|
|
121
|
+
* Stable error codes the root routes answer with (`error.code` in the API error
|
|
122
|
+
* body). Clients map these through their localization, never the English message.
|
|
123
|
+
*/
|
|
124
|
+
export declare const IDENTITY_ERROR_CODES: {
|
|
125
|
+
readonly proofInvalid: "IDENTITY_PROOF_INVALID";
|
|
126
|
+
readonly revisionConflict: "IDENTITY_ENVELOPE_REVISION_CONFLICT";
|
|
127
|
+
readonly rootAlreadyLinked: "IDENTITY_ROOT_ALREADY_LINKED";
|
|
128
|
+
readonly rootLinkedElsewhere: "IDENTITY_ROOT_LINKED_ELSEWHERE";
|
|
129
|
+
readonly noRoot: "IDENTITY_NO_ROOT";
|
|
130
|
+
readonly freshFactorRequired: "IDENTITY_FRESH_FACTOR_REQUIRED";
|
|
131
|
+
readonly lastWebHolder: "IDENTITY_LAST_WEB_HOLDER";
|
|
132
|
+
readonly enrollmentRequired: "IDENTITY_ENROLLMENT_REQUIRED";
|
|
133
|
+
readonly enrollmentInvalid: "IDENTITY_ENROLLMENT_INVALID";
|
|
134
|
+
readonly notPersonal: "IDENTITY_NOT_PERSONAL_ACCOUNT";
|
|
135
|
+
readonly recoveryFailed: "IDENTITY_RECOVERY_FAILED";
|
|
136
|
+
};
|
|
137
|
+
export type IdentityErrorCode = (typeof IDENTITY_ERROR_CODES)[keyof typeof IDENTITY_ERROR_CODES];
|
|
138
|
+
/**
|
|
139
|
+
* `GET /identity/root-status` — non-sensitive readiness metadata any first-party
|
|
140
|
+
* surface (Accounts, the account menu) may read with a bearer to show a reminder,
|
|
141
|
+
* without the ciphertext and without opening anything (ADR 0024 D5).
|
|
142
|
+
*/
|
|
143
|
+
export interface IdentityRootStatus {
|
|
144
|
+
/** Whether the account has a root at all. */
|
|
145
|
+
rootLinked: boolean;
|
|
146
|
+
/** Passkeys whose wraps can open the web holder, and how many have proven it. `null`: no web holder. */
|
|
147
|
+
webHolder: {
|
|
148
|
+
passkeys: number;
|
|
149
|
+
verifiedPasskeys: number;
|
|
150
|
+
} | null;
|
|
151
|
+
/** Whether the root has recovery words (a raw-key root does not). `null` when unknown (no web holder). */
|
|
152
|
+
hasPhrase: boolean | null;
|
|
153
|
+
phraseConfirmedAt: string | null;
|
|
154
|
+
recoveryVerifiedAt: string | null;
|
|
155
|
+
}
|
|
156
|
+
export declare const identityRootStatusSchema: z.ZodType<IdentityRootStatus>;
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signed-out recovery contract (ADR 0024 D5) — get an EXISTING account back from
|
|
3
|
+
* its root alone, with no passkey, session or email.
|
|
4
|
+
*
|
|
5
|
+
* 1. `POST /identity/recovery/challenge` → a one-use challenge. It says nothing
|
|
6
|
+
* about any account.
|
|
7
|
+
* 2. The holder derives the root locally from recovery material (12/24 words or a
|
|
8
|
+
* raw key) and signs `recover_account_start` over that challenge:
|
|
9
|
+
* `POST /identity/recovery/start { publicKey, proof }`. Only a valid proof
|
|
10
|
+
* learns which account the root belongs to; the response carries passkey
|
|
11
|
+
* registration options for THAT account and a short-lived ticket.
|
|
12
|
+
* 3. The holder creates the passkey, seals the root under it (PRF), and signs
|
|
13
|
+
* `recover_account_complete` over the registration challenge and the envelope
|
|
14
|
+
* digest: `POST /identity/recovery/complete`. The passkey, the envelope and a
|
|
15
|
+
* session are created in one transaction.
|
|
16
|
+
*
|
|
17
|
+
* The recovery material and the root never leave the holder. Platform-agnostic —
|
|
18
|
+
* zod only, ESM-safe.
|
|
19
|
+
*/
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
/** A recovery attempt lives this long between steps. */
|
|
22
|
+
export declare const IDENTITY_RECOVERY_TTL_MS: number;
|
|
23
|
+
export interface IdentityRecoveryChallengeResponse {
|
|
24
|
+
/** 32 bytes, lowercase hex. */
|
|
25
|
+
challenge: string;
|
|
26
|
+
/** Unix milliseconds. */
|
|
27
|
+
expiresAt: number;
|
|
28
|
+
}
|
|
29
|
+
export declare const identityRecoveryChallengeResponseSchema: z.ZodType<IdentityRecoveryChallengeResponse>;
|
|
30
|
+
export declare const identityRecoveryStartRequestSchema: z.ZodObject<{
|
|
31
|
+
publicKey: z.ZodString;
|
|
32
|
+
/** `recover_account_start`, subject `root:<publicKey>`, actor `anonymous`. */
|
|
33
|
+
proof: z.ZodObject<{
|
|
34
|
+
v: z.ZodLiteral<2>;
|
|
35
|
+
challenge: z.ZodString;
|
|
36
|
+
expiresAt: z.ZodNumber;
|
|
37
|
+
signature: z.ZodString;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
expiresAt: number;
|
|
40
|
+
signature: string;
|
|
41
|
+
v: 2;
|
|
42
|
+
challenge: string;
|
|
43
|
+
}, {
|
|
44
|
+
expiresAt: number;
|
|
45
|
+
signature: string;
|
|
46
|
+
v: 2;
|
|
47
|
+
challenge: string;
|
|
48
|
+
}>;
|
|
49
|
+
}, "strict", z.ZodTypeAny, {
|
|
50
|
+
publicKey: string;
|
|
51
|
+
proof: {
|
|
52
|
+
expiresAt: number;
|
|
53
|
+
signature: string;
|
|
54
|
+
v: 2;
|
|
55
|
+
challenge: string;
|
|
56
|
+
};
|
|
57
|
+
}, {
|
|
58
|
+
publicKey: string;
|
|
59
|
+
proof: {
|
|
60
|
+
expiresAt: number;
|
|
61
|
+
signature: string;
|
|
62
|
+
v: 2;
|
|
63
|
+
challenge: string;
|
|
64
|
+
};
|
|
65
|
+
}>;
|
|
66
|
+
export type IdentityRecoveryStartRequest = z.infer<typeof identityRecoveryStartRequestSchema>;
|
|
67
|
+
export interface IdentityRecoveryStartResponse {
|
|
68
|
+
/** Opaque, one-use; presented once to `complete`. */
|
|
69
|
+
ticket: string;
|
|
70
|
+
accountId: string;
|
|
71
|
+
username: string | null;
|
|
72
|
+
/** `PublicKeyCredentialCreationOptionsJSON` for the account's new passkey. */
|
|
73
|
+
registrationOptions: Record<string, unknown>;
|
|
74
|
+
/** Unix milliseconds. */
|
|
75
|
+
expiresAt: number;
|
|
76
|
+
}
|
|
77
|
+
export declare const identityRecoveryCompleteRequestSchema: z.ZodObject<{
|
|
78
|
+
ticket: z.ZodString;
|
|
79
|
+
/** The browser `RegistrationResponseJSON`, verified by the API's WebAuthn library. */
|
|
80
|
+
response: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
81
|
+
/** The root sealed under the new passkey — exactly one wrap, for that credential. */
|
|
82
|
+
envelope: z.ZodEffects<z.ZodObject<{
|
|
83
|
+
version: z.ZodLiteral<2>;
|
|
84
|
+
algorithm: z.ZodLiteral<"xchacha20poly1305">;
|
|
85
|
+
publicKey: z.ZodString;
|
|
86
|
+
secretKind: z.ZodEnum<["mnemonic-entropy", "raw-private-key"]>;
|
|
87
|
+
secretNonce: z.ZodString;
|
|
88
|
+
sealedSecret: z.ZodString;
|
|
89
|
+
wraps: z.ZodArray<z.ZodObject<{
|
|
90
|
+
credentialId: z.ZodString;
|
|
91
|
+
nonce: z.ZodString;
|
|
92
|
+
wrappedKey: z.ZodString;
|
|
93
|
+
createdAt: z.ZodString;
|
|
94
|
+
rpId: z.ZodString;
|
|
95
|
+
verifiedAt: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, "strip", z.ZodTypeAny, {
|
|
97
|
+
credentialId: string;
|
|
98
|
+
createdAt: string;
|
|
99
|
+
nonce: string;
|
|
100
|
+
wrappedKey: string;
|
|
101
|
+
rpId: string;
|
|
102
|
+
verifiedAt?: string | undefined;
|
|
103
|
+
}, {
|
|
104
|
+
credentialId: string;
|
|
105
|
+
createdAt: string;
|
|
106
|
+
nonce: string;
|
|
107
|
+
wrappedKey: string;
|
|
108
|
+
rpId: string;
|
|
109
|
+
verifiedAt?: string | undefined;
|
|
110
|
+
}>, "many">;
|
|
111
|
+
}, "strip", z.ZodTypeAny, {
|
|
112
|
+
version: 2;
|
|
113
|
+
publicKey: string;
|
|
114
|
+
algorithm: "xchacha20poly1305";
|
|
115
|
+
secretKind: "mnemonic-entropy" | "raw-private-key";
|
|
116
|
+
secretNonce: string;
|
|
117
|
+
sealedSecret: string;
|
|
118
|
+
wraps: {
|
|
119
|
+
credentialId: string;
|
|
120
|
+
createdAt: string;
|
|
121
|
+
nonce: string;
|
|
122
|
+
wrappedKey: string;
|
|
123
|
+
rpId: string;
|
|
124
|
+
verifiedAt?: string | undefined;
|
|
125
|
+
}[];
|
|
126
|
+
}, {
|
|
127
|
+
version: 2;
|
|
128
|
+
publicKey: string;
|
|
129
|
+
algorithm: "xchacha20poly1305";
|
|
130
|
+
secretKind: "mnemonic-entropy" | "raw-private-key";
|
|
131
|
+
secretNonce: string;
|
|
132
|
+
sealedSecret: string;
|
|
133
|
+
wraps: {
|
|
134
|
+
credentialId: string;
|
|
135
|
+
createdAt: string;
|
|
136
|
+
nonce: string;
|
|
137
|
+
wrappedKey: string;
|
|
138
|
+
rpId: string;
|
|
139
|
+
verifiedAt?: string | undefined;
|
|
140
|
+
}[];
|
|
141
|
+
}>, {
|
|
142
|
+
version: 2;
|
|
143
|
+
publicKey: string;
|
|
144
|
+
algorithm: "xchacha20poly1305";
|
|
145
|
+
secretKind: "mnemonic-entropy" | "raw-private-key";
|
|
146
|
+
secretNonce: string;
|
|
147
|
+
sealedSecret: string;
|
|
148
|
+
wraps: {
|
|
149
|
+
credentialId: string;
|
|
150
|
+
createdAt: string;
|
|
151
|
+
nonce: string;
|
|
152
|
+
wrappedKey: string;
|
|
153
|
+
rpId: string;
|
|
154
|
+
verifiedAt?: string | undefined;
|
|
155
|
+
}[];
|
|
156
|
+
}, {
|
|
157
|
+
version: 2;
|
|
158
|
+
publicKey: string;
|
|
159
|
+
algorithm: "xchacha20poly1305";
|
|
160
|
+
secretKind: "mnemonic-entropy" | "raw-private-key";
|
|
161
|
+
secretNonce: string;
|
|
162
|
+
sealedSecret: string;
|
|
163
|
+
wraps: {
|
|
164
|
+
credentialId: string;
|
|
165
|
+
createdAt: string;
|
|
166
|
+
nonce: string;
|
|
167
|
+
wrappedKey: string;
|
|
168
|
+
rpId: string;
|
|
169
|
+
verifiedAt?: string | undefined;
|
|
170
|
+
}[];
|
|
171
|
+
}>;
|
|
172
|
+
/** `recover_account_complete`, subject = account id, actor `credential:<id>`, challenge = registration challenge (hex). */
|
|
173
|
+
proof: z.ZodObject<{
|
|
174
|
+
v: z.ZodLiteral<2>;
|
|
175
|
+
challenge: z.ZodString;
|
|
176
|
+
expiresAt: z.ZodNumber;
|
|
177
|
+
signature: z.ZodString;
|
|
178
|
+
}, "strip", z.ZodTypeAny, {
|
|
179
|
+
expiresAt: number;
|
|
180
|
+
signature: string;
|
|
181
|
+
v: 2;
|
|
182
|
+
challenge: string;
|
|
183
|
+
}, {
|
|
184
|
+
expiresAt: number;
|
|
185
|
+
signature: string;
|
|
186
|
+
v: 2;
|
|
187
|
+
challenge: string;
|
|
188
|
+
}>;
|
|
189
|
+
deviceName: z.ZodOptional<z.ZodString>;
|
|
190
|
+
deviceFingerprint: z.ZodOptional<z.ZodString>;
|
|
191
|
+
}, "strict", z.ZodTypeAny, {
|
|
192
|
+
proof: {
|
|
193
|
+
expiresAt: number;
|
|
194
|
+
signature: string;
|
|
195
|
+
v: 2;
|
|
196
|
+
challenge: string;
|
|
197
|
+
};
|
|
198
|
+
envelope: {
|
|
199
|
+
version: 2;
|
|
200
|
+
publicKey: string;
|
|
201
|
+
algorithm: "xchacha20poly1305";
|
|
202
|
+
secretKind: "mnemonic-entropy" | "raw-private-key";
|
|
203
|
+
secretNonce: string;
|
|
204
|
+
sealedSecret: string;
|
|
205
|
+
wraps: {
|
|
206
|
+
credentialId: string;
|
|
207
|
+
createdAt: string;
|
|
208
|
+
nonce: string;
|
|
209
|
+
wrappedKey: string;
|
|
210
|
+
rpId: string;
|
|
211
|
+
verifiedAt?: string | undefined;
|
|
212
|
+
}[];
|
|
213
|
+
};
|
|
214
|
+
response: Record<string, unknown>;
|
|
215
|
+
ticket: string;
|
|
216
|
+
deviceName?: string | undefined;
|
|
217
|
+
deviceFingerprint?: string | undefined;
|
|
218
|
+
}, {
|
|
219
|
+
proof: {
|
|
220
|
+
expiresAt: number;
|
|
221
|
+
signature: string;
|
|
222
|
+
v: 2;
|
|
223
|
+
challenge: string;
|
|
224
|
+
};
|
|
225
|
+
envelope: {
|
|
226
|
+
version: 2;
|
|
227
|
+
publicKey: string;
|
|
228
|
+
algorithm: "xchacha20poly1305";
|
|
229
|
+
secretKind: "mnemonic-entropy" | "raw-private-key";
|
|
230
|
+
secretNonce: string;
|
|
231
|
+
sealedSecret: string;
|
|
232
|
+
wraps: {
|
|
233
|
+
credentialId: string;
|
|
234
|
+
createdAt: string;
|
|
235
|
+
nonce: string;
|
|
236
|
+
wrappedKey: string;
|
|
237
|
+
rpId: string;
|
|
238
|
+
verifiedAt?: string | undefined;
|
|
239
|
+
}[];
|
|
240
|
+
};
|
|
241
|
+
response: Record<string, unknown>;
|
|
242
|
+
ticket: string;
|
|
243
|
+
deviceName?: string | undefined;
|
|
244
|
+
deviceFingerprint?: string | undefined;
|
|
245
|
+
}>;
|
|
246
|
+
export type IdentityRecoveryCompleteRequest = z.infer<typeof identityRecoveryCompleteRequestSchema>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { ACCOUNT_KINDS, accountKindSchema, CHILD_ACCOUNT_KINDS, childAccountKindSchema, isAccountKind, isDelegatedActAsEligibleKind, isOperatorSwitchTargetKind, ACCOUNT_CATEGORY_IDS, ACCOUNT_CATEGORY_KINDS, accountCategoriesSchema, accountCategoryIdSchema, isSelectableAccountCategoryId, kindAcceptsAccountCategories, MAX_ACCOUNT_CATEGORIES, newlyAddedRetiredCategories, RETIRED_ACCOUNT_CATEGORY_IDS, SELECTABLE_ACCOUNT_CATEGORY_IDS, createAccountRequestSchema, } from './accountGraph';
|
|
13
13
|
export type { AccountKind, AccountCategoryId, AccountCategoryKind, ChildAccountKind, CreateAccountRequest, } from './accountGraph';
|
|
14
|
-
export { usernameSchema, usernameSchemaForAccountKind, isValidUsername, stripDisallowedUsernameCharacters, applyBotUsernameSuffix, USERNAME_MIN_LENGTH, USERNAME_MAX_LENGTH, USERNAME_INVALID_MESSAGE, BOT_USERNAME_INVALID_MESSAGE, } from './username';
|
|
14
|
+
export { usernameSchema, usernameSchemaForAccountKind, isValidUsername, stripDisallowedUsernameCharacters, applyBotUsernameSuffix, USERNAME_MIN_LENGTH, USERNAME_MAX_LENGTH, USERNAME_INVALID_MESSAGE, BOT_USERNAME_INVALID_MESSAGE, RESERVED_USERNAME_MESSAGE, NUMERIC_USERNAME_MESSAGE, } from './username';
|
|
15
15
|
export { userNameSchema, userRelationshipSchema, themePreferenceSchema, dateOfBirthSchema, userResponseSchema, userProfileUpdateSchema, currentUserResponseSchema, deviceLinkedSessionSchema, deviceLinkedSessionsResponseSchema, resolveUserId, safeParseContract, } from './userResponse';
|
|
16
16
|
export type { UserNameResponse, UserRelationship, ThemePreference, UserResponse, UserProfileUpdate, CurrentUserResponseContract, DeviceLinkedSessionResponse, DeviceLinkedSessionsResponseContract, } from './userResponse';
|
|
17
17
|
export { applicationTypeSchema, publicApplicationSchema, sessionStatusSchema, } from './sessionStatus';
|
|
@@ -51,16 +51,18 @@ export { rotateKeyChallengeResponseSchema, rotateKeyCompleteRequestSchema, rotat
|
|
|
51
51
|
export type { RotateKeyChallengeResponse, RotateKeyCompleteRequest, RotateKeyCompleteResponse, } from './keyRotation';
|
|
52
52
|
export { backupLookupIdSchema, encryptedBackupEnvelopeSchema, backupUploadRequestSchema, backupStatusResponseSchema, } from './keyRecovery';
|
|
53
53
|
export type { EncryptedBackupEnvelope, BackupUploadRequest, BackupStatusResponse, } from './keyRecovery';
|
|
54
|
-
export { WEB_IDENTITY_ENVELOPE_VERSION, webIdentityPublicKeySchema, webauthnCredentialIdSchema, webIdentityWrapSchema, webIdentityEnvelopeSchema, webIdentityEnvelopeUploadSchema, webIdentityEnvelopeResponseSchema,
|
|
55
|
-
export {
|
|
56
|
-
export
|
|
57
|
-
export type {
|
|
54
|
+
export { WEB_IDENTITY_ENVELOPE_VERSION, WEB_IDENTITY_SECRET_KINDS, webIdentityPublicKeySchema, webauthnCredentialIdSchema, webauthnRpIdSchema, webIdentityWrapSchema, webIdentityEnvelopeSchema, webIdentityEnvelopeUploadSchema, webIdentityHolderSchema, webIdentityEnvelopeResponseSchema, webIdentityEnvelopeProofFieldsSchema, webIdentityEnvelopeActionSchema, webIdentityEnvelopePutSchema, webauthnAssertionResponseSchema, webIdentityEnvelopeEstablishSchema, } from './webIdentityCarrier';
|
|
55
|
+
export { IDENTITY_PROOF_VERSION, IDENTITY_PROOF_DOMAIN, IDENTITY_PROOF_AUDIENCE, IDENTITY_PROOF_CHALLENGE_TTL_MS, IDENTITY_PROOF_ACTIONS, IDENTITY_PROOF_ACTION_VALUES, IDENTITY_ERROR_CODES, canonicalJson, buildIdentityProofMessage, identityProofSchema, identityProofChallengeRequestSchema, identityProofChallengeResponseSchema, identityRootStatusSchema, } from './identityProof';
|
|
56
|
+
export { IDENTITY_RECOVERY_TTL_MS, identityRecoveryChallengeResponseSchema, identityRecoveryStartRequestSchema, identityRecoveryCompleteRequestSchema, } from './identityRecovery';
|
|
57
|
+
export type { IdentityRecoveryChallengeResponse, IdentityRecoveryStartRequest, IdentityRecoveryStartResponse, IdentityRecoveryCompleteRequest, } from './identityRecovery';
|
|
58
|
+
export type { IdentityProofAction, IdentityErrorCode, IdentityProofClaims, IdentityProof, IdentityProofChallengeRequest, IdentityProofChallengeResponse, IdentityRootStatus, } from './identityProof';
|
|
59
|
+
export { IDENTITY_MOVE_TTL_MS, IDENTITY_MOVE_STATUSES, IDENTITY_MOVE_QR_PREFIX, identityMoveRevealRequestSchema, buildMoveCommitmentInput, buildMoveSasInput, buildMoveSealPayload, buildMoveCiphertextDigestInput, buildMoveReceiptMessage, identityMoveIdSchema, identityMoveEphemeralKeySchema, identityMoveCreateRequestSchema, identityMoveCreateResponseSchema, identityMoveJoinRequestSchema, identityMoveSealRequestSchema, identityMoveReceiptRequestSchema, identityMoveStateSchema, } from './identityMove';
|
|
60
|
+
export type { IdentityMoveStatus, IdentityMoveCreateRequest, IdentityMoveCreateResponse, IdentityMoveJoinRequest, IdentityMoveSealRequest, IdentityMoveReceiptRequest, IdentityMoveRevealRequest, IdentityMoveState, } from './identityMove';
|
|
61
|
+
export type { WebIdentityWrap, WebIdentityEnvelope, WebIdentitySecretKind, WebIdentityHolder, WebIdentityEnvelopeAction, WebauthnAssertionResponse, WebIdentityEnvelopeUpload, WebIdentityEnvelopeResponse, WebIdentityEnvelopePut, WebIdentityEnvelopeEstablish, } from './webIdentityCarrier';
|
|
58
62
|
export { updatePlatformSchema, updateStatusSchema, updateAssetStatusSchema, sha256HexSchema, channelNameSchema, runtimeVersionSchema, rolloutPercentSchema, assetInitItemSchema, assetInitRequestSchema, assetUploadTicketSchema, assetInitResponseSchema, assetCompleteRequestSchema, assetCompleteResultItemSchema, assetCompleteResponseSchema, updateAssetRefSchema, createUpdateRequestSchema, updateSchema, createUpdateResponseSchema, rollbackToEmbeddedEntrySchema, channelSchema, channelListResponseSchema, updateListResponseSchema, rollbackRequestSchema, rollbackToEmbeddedRequestSchema, promoteRequestSchema, updateRolloutPatchSchema, } from './updates';
|
|
59
63
|
export type { UpdatePlatform, UpdateStatus, UpdateAssetStatus, AssetInitItem, AssetInitRequest, AssetUploadTicket, AssetInitResponse, AssetCompleteRequest, AssetCompleteResultItem, AssetCompleteResponse, UpdateAssetRef, CreateUpdateRequest, Update, CreateUpdateResponse, RollbackToEmbeddedEntry, Channel, ChannelListResponse, UpdateListResponse, RollbackRequest, RollbackToEmbeddedRequest, PromoteRequest, UpdateRolloutPatch, } from './updates';
|
|
60
64
|
export { webauthnRegisterOptionsRequestSchema, webauthnLoginOptionsRequestSchema, webauthnRegisterVerifyRequestSchema, webauthnLoginVerifyRequestSchema, } from './webauthn';
|
|
61
65
|
export type { WebauthnRegisterOptionsRequest, WebauthnLoginOptionsRequest, WebauthnRegisterVerifyRequest, WebauthnLoginVerifyRequest, } from './webauthn';
|
|
62
|
-
export { devicePairingStatusSchema, deviceTransferInitRequestSchema, deviceTransferInitResponseSchema, deviceTransferInfoResponseSchema, deviceTransferApproveRequestSchema, deviceTransferApproveResponseSchema, deviceTransferDenyResponseSchema, } from './devicePairing';
|
|
63
|
-
export type { DevicePairingStatus, DeviceTransferInitRequest, DeviceTransferInitResponse, DeviceTransferInfoResponse, DeviceTransferApproveRequest, DeviceTransferApproveResponse, DeviceTransferDenyResponse, } from './devicePairing';
|
|
64
66
|
export { transparencyCheckpointSignatureSchema, transparencyAnchorSchema, transparencyCheckpointSchema, transparencyInclusionProofSchema, transparencyCheckpointListSchema, } from './transparency';
|
|
65
67
|
export type { TransparencyCheckpointSignature, TransparencyAnchor, TransparencyCheckpoint, TransparencyInclusionProof, TransparencyCheckpointList, } from './transparency';
|
|
66
68
|
export { INFERENCE_CONTRACT_VERSION, } from './inference/version';
|
|
@@ -76,18 +78,18 @@ export { embeddingVectorSchema, embeddingUsageSchema, embeddingSuccessSchema, em
|
|
|
76
78
|
export type { EmbeddingVector, EmbeddingUsage, EmbeddingSuccess, EmbeddingFailure, EmbeddingResponse, } from './inference/embeddings';
|
|
77
79
|
export { priceVersionStatusSchema, priceVersionSchema, priceSnapshotSchema, } from './inference/priceVersion';
|
|
78
80
|
export type { PriceVersionStatus, PriceVersion, PriceSnapshot } from './inference/priceVersion';
|
|
79
|
-
export { inferenceModalitySchema, modelCapabilitiesSchema, modelLicenseSchema, modelProvenanceSchema, inferenceDataPolicySchema, availabilityScopeSchema, commercialPermissionSchema, modelDeprecationSchema, modelEvaluationResultSchema, modelSafetyMetadataSchema, modelPublisherSchema, catalogueModelSchema, modelRevisionSchema, inferenceProviderSchema, modelDeploymentSchema, routingProfileCandidateSchema, routingProfileSchema, cataloguePublisherSummarySchema, catalogueServingProviderSummarySchema, modelCatalogueEntrySchema, } from './inference/catalogue';
|
|
80
|
-
export type { InferenceModality, ModelCapabilities, ModelLicense, ModelProvenance, InferenceDataPolicy, AvailabilityScope, CommercialPermission, ModelDeprecation, ModelEvaluationResult, ModelSafetyMetadata, ModelPublisher, CatalogueModel, ModelRevision, InferenceProvider, ModelDeployment, RoutingProfileCandidate, RoutingProfile, CataloguePublisherSummary, CatalogueServingProviderSummary, ModelCatalogueEntry, } from './inference/catalogue';
|
|
81
|
+
export { inferenceModalitySchema, reasoningEffortSchema, modelCapabilitiesSchema, modelLicenseSchema, modelProvenanceSchema, inferenceDataPolicySchema, availabilityScopeSchema, commercialPermissionSchema, modelDeprecationSchema, modelEvaluationResultSchema, modelSafetyMetadataSchema, modelPublisherSchema, catalogueModelSchema, modelRevisionSchema, inferenceProviderSchema, modelDeploymentSchema, routingProfileCandidateSchema, routingProfileSchema, cataloguePublisherSummarySchema, catalogueServingProviderSummarySchema, modelCatalogueEntrySchema, } from './inference/catalogue';
|
|
82
|
+
export type { InferenceModality, ReasoningEffort, ModelCapabilities, ModelLicense, ModelProvenance, InferenceDataPolicy, AvailabilityScope, CommercialPermission, ModelDeprecation, ModelEvaluationResult, ModelSafetyMetadata, ModelPublisher, CatalogueModel, ModelRevision, InferenceProvider, ModelDeployment, RoutingProfileCandidate, RoutingProfile, CataloguePublisherSummary, CatalogueServingProviderSummary, ModelCatalogueEntry, } from './inference/catalogue';
|
|
81
83
|
export { routingTargetSchema, routingPolicyScopeSchema, routingFallbackPolicySchema, routingPolicySchema, routingPolicyReferenceSchema, authorizedRouteSchema, } from './inference/routingPolicy';
|
|
82
84
|
export type { RoutingTarget, RoutingPolicyScope, RoutingFallbackPolicy, RoutingPolicy, RoutingPolicyReference, AuthorizedRoute, } from './inference/routingPolicy';
|
|
83
85
|
export { aliaReleaseArtifactSchema, aliaReleaseSignatureSchema, aliaModelReleaseManifestSchema, } from './inference/aliaModelRelease';
|
|
84
86
|
export type { AliaReleaseArtifact, AliaReleaseSignature, AliaModelReleaseManifest, } from './inference/aliaModelRelease';
|
|
85
87
|
export { modelDistributionMethodSchema, modelSystemicRiskTierSchema, trainingComputeFlopsSchema, SYSTEMIC_RISK_COMPUTE_THRESHOLD_FLOPS, modelDownstreamDocumentationSchema, modelGpaiDocumentationSchema, modelLineDeclarationSchema, modelReleaseIngestionRequestSchema, modelReleaseIngestionResultSchema, modelDocumentationSchema, } from './inference/modelDocumentation';
|
|
86
88
|
export type { ModelDistributionMethod, ModelSystemicRiskTier, ModelDownstreamDocumentation, ModelGpaiDocumentation, ModelLineDeclaration, ModelReleaseIngestionRequest, ModelReleaseIngestionResult, ModelDocumentation, } from './inference/modelDocumentation';
|
|
87
|
-
export { inferenceContentSourceSchema, inferenceContentPartSchema, inferenceToolCallSchema, inferenceMessageRoleSchema, inferenceMessageSchema, inferenceInputSchema, samplingParametersSchema, toolDefinitionSchema, toolChoiceSchema, responseFormatSchema, clientRequestMetadataSchema, inferenceRequestSchema, } from './inference/request';
|
|
88
|
-
export type { InferenceContentSource, InferenceContentPart, InferenceToolCall, InferenceMessageRole, InferenceMessage, InferenceInput, SamplingParameters, ToolDefinition, ToolChoice, ResponseFormat, ClientRequestMetadata, InferenceRequest, } from './inference/request';
|
|
89
|
-
export { inferenceStreamStartEventSchema, inferenceStreamDeltaEventSchema, inferenceStreamToolCallEventSchema, inferenceStreamUsageEventSchema, inferenceRouteSwitchDetailSchema, inferenceRouteSwitchReasonSchema, inferenceStreamRouteSwitchEventSchema, inferenceStreamErrorEventSchema, inferenceFinishReasonSchema, inferenceStreamDoneEventSchema, inferenceStreamEventSchema, } from './inference/streamEvents';
|
|
90
|
-
export type { InferenceStreamStartEvent, InferenceStreamDeltaEvent, InferenceStreamToolCallEvent, InferenceStreamUsageEvent, InferenceRouteSwitchDetail, InferenceRouteSwitchReason, InferenceStreamRouteSwitchEvent, InferenceStreamErrorEvent, InferenceFinishReason, InferenceStreamDoneEvent, InferenceStreamEvent, } from './inference/streamEvents';
|
|
89
|
+
export { inferenceContentSourceSchema, inferenceContentPartSchema, inferenceToolCallSchema, inferenceMessageRoleSchema, inferenceMessageSchema, inferenceInputSchema, samplingParametersSchema, inferenceReasoningSchema, toolDefinitionSchema, toolChoiceSchema, responseFormatSchema, clientRequestMetadataSchema, inferenceRequestSchema, inferenceSpeechParametersSchema, } from './inference/request';
|
|
90
|
+
export type { InferenceContentSource, InferenceContentPart, InferenceToolCall, InferenceMessageRole, InferenceMessage, InferenceInput, SamplingParameters, InferenceReasoning, ToolDefinition, ToolChoice, ResponseFormat, ClientRequestMetadata, InferenceRequest, InferenceSpeechParameters, } from './inference/request';
|
|
91
|
+
export { inferenceStreamStartEventSchema, inferenceStreamDeltaEventSchema, inferenceAudioMediaTypeSchema, MAX_INFERENCE_AUDIO_BYTES, inferenceStreamAudioEventSchema, inferenceStreamToolCallEventSchema, inferenceStreamUsageEventSchema, inferenceRouteSwitchDetailSchema, inferenceRouteSwitchReasonSchema, inferenceStreamRouteSwitchEventSchema, inferenceStreamErrorEventSchema, inferenceFinishReasonSchema, inferenceStreamDoneEventSchema, inferenceStreamEventSchema, } from './inference/streamEvents';
|
|
92
|
+
export type { InferenceStreamStartEvent, InferenceStreamDeltaEvent, InferenceAudioMediaType, InferenceStreamAudioEvent, InferenceStreamToolCallEvent, InferenceStreamUsageEvent, InferenceRouteSwitchDetail, InferenceRouteSwitchReason, InferenceStreamRouteSwitchEvent, InferenceStreamErrorEvent, InferenceFinishReason, InferenceStreamDoneEvent, InferenceStreamEvent, } from './inference/streamEvents';
|
|
91
93
|
export { usageReservationRequestSchema, usageReservationStatusSchema, usageReservationSchema, inferenceRequestOutcomeSchema, normalizedUsageReportSchema, usageReceiptSchema, usageRefundSubjectSchema, usageRefundReasonSchema, usageRefundSchema, } from './inference/usage';
|
|
92
94
|
export type { UsageReservationRequest, UsageReservationStatus, UsageReservation, InferenceRequestOutcome, NormalizedUsageReport, UsageReceipt, UsageRefundSubject, UsageRefundReason, UsageRefund, } from './inference/usage';
|
|
93
95
|
export { providerConnectionScopeSchema, kaanaCredentialHandleSchema, kaanaCredentialOperationIdSchema, kaanaCredentialOperationActionSchema, kaanaCredentialIdentitySchema, kaanaCredentialCreateMutationSchema, kaanaCredentialRotateMutationSchema, kaanaCredentialRevokeMutationSchema, kaanaCredentialMutationSchema, kaanaCredentialCreateOutcomeRequestSchema, kaanaCredentialRotateOutcomeRequestSchema, kaanaCredentialRevokeOutcomeRequestSchema, kaanaCredentialOutcomeRequestSchema, kaanaCredentialAppliedOutcomeSchema, kaanaCredentialConflictOutcomeSchema, kaanaCredentialOutcomeSchema, kaanaCredentialValidationTaskSchema, kaanaCredentialValidationOutcomeStateSchema, kaanaCredentialValidationFailureCodeSchema, kaanaCredentialValidationOutcomeSchema, providerCredentialValidationOperationSchema, providerCredentialValidationDeploymentSchema, providerCredentialCustodyStateSchema, providerConnectionValidationSchema, providerConnectionStatusSchema, providerConnectionSchema, } from './inference/providerConnection';
|
|
@@ -29,6 +29,15 @@
|
|
|
29
29
|
import { z } from 'zod';
|
|
30
30
|
/** The modalities a model can consume or produce. */
|
|
31
31
|
export declare const inferenceModalitySchema: z.ZodEnum<["text", "image", "audio", "video", "embedding"]>;
|
|
32
|
+
/**
|
|
33
|
+
* How hard a reasoning model is asked to think before it answers.
|
|
34
|
+
*
|
|
35
|
+
* A closed, provider-neutral vocabulary: Kaana translates each value into the
|
|
36
|
+
* serving provider's own control. A model advertises the subset it accepts in
|
|
37
|
+
* `modelCapabilitiesSchema.reasoningEfforts`, and Oxy refuses a request for an
|
|
38
|
+
* effort the resolved model does not advertise rather than dropping it.
|
|
39
|
+
*/
|
|
40
|
+
export declare const reasoningEffortSchema: z.ZodEnum<["low", "medium", "high"]>;
|
|
32
41
|
/**
|
|
33
42
|
* What a model can do, in the terms a caller has to decide against before
|
|
34
43
|
* sending a request: can it call tools, does it accept images, will it honour a
|
|
@@ -42,6 +51,13 @@ export declare const modelCapabilitiesSchema: z.ZodObject<{
|
|
|
42
51
|
structuredOutput: z.ZodBoolean;
|
|
43
52
|
jsonMode: z.ZodBoolean;
|
|
44
53
|
reasoning: z.ZodBoolean;
|
|
54
|
+
/**
|
|
55
|
+
* The reasoning efforts a request may name for this model, in the order
|
|
56
|
+
* low → high. Empty means the model takes no effort control at all (it may
|
|
57
|
+
* still reason: `reasoning` answers that). Added in contract set 3.1.0;
|
|
58
|
+
* absent on the wire from an older producer, it parses as `[]`.
|
|
59
|
+
*/
|
|
60
|
+
reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
|
|
45
61
|
streaming: z.ZodBoolean;
|
|
46
62
|
promptCaching: z.ZodBoolean;
|
|
47
63
|
maxContextTokens: z.ZodNumber;
|
|
@@ -54,6 +70,7 @@ export declare const modelCapabilitiesSchema: z.ZodObject<{
|
|
|
54
70
|
structuredOutput: boolean;
|
|
55
71
|
jsonMode: boolean;
|
|
56
72
|
reasoning: boolean;
|
|
73
|
+
reasoningEfforts: ("low" | "medium" | "high")[];
|
|
57
74
|
streaming: boolean;
|
|
58
75
|
promptCaching: boolean;
|
|
59
76
|
maxContextTokens: number;
|
|
@@ -70,6 +87,7 @@ export declare const modelCapabilitiesSchema: z.ZodObject<{
|
|
|
70
87
|
promptCaching: boolean;
|
|
71
88
|
maxContextTokens: number;
|
|
72
89
|
maxOutputTokens: number;
|
|
90
|
+
reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
|
|
73
91
|
}>;
|
|
74
92
|
/**
|
|
75
93
|
* License terms, including the two questions that decide whether Oxy may serve
|
|
@@ -289,6 +307,13 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
289
307
|
structuredOutput: z.ZodBoolean;
|
|
290
308
|
jsonMode: z.ZodBoolean;
|
|
291
309
|
reasoning: z.ZodBoolean;
|
|
310
|
+
/**
|
|
311
|
+
* The reasoning efforts a request may name for this model, in the order
|
|
312
|
+
* low → high. Empty means the model takes no effort control at all (it may
|
|
313
|
+
* still reason: `reasoning` answers that). Added in contract set 3.1.0;
|
|
314
|
+
* absent on the wire from an older producer, it parses as `[]`.
|
|
315
|
+
*/
|
|
316
|
+
reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
|
|
292
317
|
streaming: z.ZodBoolean;
|
|
293
318
|
promptCaching: z.ZodBoolean;
|
|
294
319
|
maxContextTokens: z.ZodNumber;
|
|
@@ -301,6 +326,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
301
326
|
structuredOutput: boolean;
|
|
302
327
|
jsonMode: boolean;
|
|
303
328
|
reasoning: boolean;
|
|
329
|
+
reasoningEfforts: ("low" | "medium" | "high")[];
|
|
304
330
|
streaming: boolean;
|
|
305
331
|
promptCaching: boolean;
|
|
306
332
|
maxContextTokens: number;
|
|
@@ -317,6 +343,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
317
343
|
promptCaching: boolean;
|
|
318
344
|
maxContextTokens: number;
|
|
319
345
|
maxOutputTokens: number;
|
|
346
|
+
reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
|
|
320
347
|
}>;
|
|
321
348
|
license: z.ZodObject<{
|
|
322
349
|
/** SPDX identifier where one exists, otherwise the publisher's own name. */
|
|
@@ -395,6 +422,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
395
422
|
structuredOutput: boolean;
|
|
396
423
|
jsonMode: boolean;
|
|
397
424
|
reasoning: boolean;
|
|
425
|
+
reasoningEfforts: ("low" | "medium" | "high")[];
|
|
398
426
|
streaming: boolean;
|
|
399
427
|
promptCaching: boolean;
|
|
400
428
|
maxContextTokens: number;
|
|
@@ -441,6 +469,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
441
469
|
promptCaching: boolean;
|
|
442
470
|
maxContextTokens: number;
|
|
443
471
|
maxOutputTokens: number;
|
|
472
|
+
reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
|
|
444
473
|
};
|
|
445
474
|
schemaVersion: 1;
|
|
446
475
|
slug: string;
|
|
@@ -479,6 +508,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
479
508
|
structuredOutput: boolean;
|
|
480
509
|
jsonMode: boolean;
|
|
481
510
|
reasoning: boolean;
|
|
511
|
+
reasoningEfforts: ("low" | "medium" | "high")[];
|
|
482
512
|
streaming: boolean;
|
|
483
513
|
promptCaching: boolean;
|
|
484
514
|
maxContextTokens: number;
|
|
@@ -525,6 +555,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
|
|
|
525
555
|
promptCaching: boolean;
|
|
526
556
|
maxContextTokens: number;
|
|
527
557
|
maxOutputTokens: number;
|
|
558
|
+
reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
|
|
528
559
|
};
|
|
529
560
|
schemaVersion: 1;
|
|
530
561
|
slug: string;
|
|
@@ -1127,6 +1158,13 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1127
1158
|
structuredOutput: z.ZodBoolean;
|
|
1128
1159
|
jsonMode: z.ZodBoolean;
|
|
1129
1160
|
reasoning: z.ZodBoolean;
|
|
1161
|
+
/**
|
|
1162
|
+
* The reasoning efforts a request may name for this model, in the order
|
|
1163
|
+
* low → high. Empty means the model takes no effort control at all (it may
|
|
1164
|
+
* still reason: `reasoning` answers that). Added in contract set 3.1.0;
|
|
1165
|
+
* absent on the wire from an older producer, it parses as `[]`.
|
|
1166
|
+
*/
|
|
1167
|
+
reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
|
|
1130
1168
|
streaming: z.ZodBoolean;
|
|
1131
1169
|
promptCaching: z.ZodBoolean;
|
|
1132
1170
|
maxContextTokens: z.ZodNumber;
|
|
@@ -1139,6 +1177,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1139
1177
|
structuredOutput: boolean;
|
|
1140
1178
|
jsonMode: boolean;
|
|
1141
1179
|
reasoning: boolean;
|
|
1180
|
+
reasoningEfforts: ("low" | "medium" | "high")[];
|
|
1142
1181
|
streaming: boolean;
|
|
1143
1182
|
promptCaching: boolean;
|
|
1144
1183
|
maxContextTokens: number;
|
|
@@ -1155,6 +1194,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1155
1194
|
promptCaching: boolean;
|
|
1156
1195
|
maxContextTokens: number;
|
|
1157
1196
|
maxOutputTokens: number;
|
|
1197
|
+
reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
|
|
1158
1198
|
}>;
|
|
1159
1199
|
license: z.ZodObject<{
|
|
1160
1200
|
/** SPDX identifier where one exists, otherwise the publisher's own name. */
|
|
@@ -1195,6 +1235,12 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1195
1235
|
}>;
|
|
1196
1236
|
knowledgeCutoff: z.ZodOptional<z.ZodString>;
|
|
1197
1237
|
releasedOn: z.ZodOptional<z.ZodString>;
|
|
1238
|
+
/**
|
|
1239
|
+
* When the upstream provider first published this model, as that provider
|
|
1240
|
+
* reports it. Present only when a provider reported it; never an Oxy or Kaana
|
|
1241
|
+
* observation time. Lets a picker order models newest first.
|
|
1242
|
+
*/
|
|
1243
|
+
releasedAt: z.ZodOptional<z.ZodString>;
|
|
1198
1244
|
regions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1199
1245
|
servingProviders: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1200
1246
|
slug: z.ZodString;
|
|
@@ -1418,6 +1464,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1418
1464
|
structuredOutput: boolean;
|
|
1419
1465
|
jsonMode: boolean;
|
|
1420
1466
|
reasoning: boolean;
|
|
1467
|
+
reasoningEfforts: ("low" | "medium" | "high")[];
|
|
1421
1468
|
streaming: boolean;
|
|
1422
1469
|
promptCaching: boolean;
|
|
1423
1470
|
maxContextTokens: number;
|
|
@@ -1483,6 +1530,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1483
1530
|
description?: string | undefined;
|
|
1484
1531
|
knowledgeCutoff?: string | undefined;
|
|
1485
1532
|
releasedOn?: string | undefined;
|
|
1533
|
+
releasedAt?: string | undefined;
|
|
1486
1534
|
modelCardUrl?: string | undefined;
|
|
1487
1535
|
safety?: {
|
|
1488
1536
|
contentFilteringDefault: "strict" | "none" | "provider_default";
|
|
@@ -1516,6 +1564,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1516
1564
|
promptCaching: boolean;
|
|
1517
1565
|
maxContextTokens: number;
|
|
1518
1566
|
maxOutputTokens: number;
|
|
1567
|
+
reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
|
|
1519
1568
|
};
|
|
1520
1569
|
schemaVersion: 3;
|
|
1521
1570
|
modelId: string;
|
|
@@ -1556,6 +1605,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1556
1605
|
description?: string | undefined;
|
|
1557
1606
|
knowledgeCutoff?: string | undefined;
|
|
1558
1607
|
releasedOn?: string | undefined;
|
|
1608
|
+
releasedAt?: string | undefined;
|
|
1559
1609
|
modelCardUrl?: string | undefined;
|
|
1560
1610
|
evaluations?: {
|
|
1561
1611
|
score: string;
|
|
@@ -1598,6 +1648,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
|
|
|
1598
1648
|
} | undefined;
|
|
1599
1649
|
}>;
|
|
1600
1650
|
export type InferenceModality = z.infer<typeof inferenceModalitySchema>;
|
|
1651
|
+
export type ReasoningEffort = z.infer<typeof reasoningEffortSchema>;
|
|
1601
1652
|
export type ModelCapabilities = z.infer<typeof modelCapabilitiesSchema>;
|
|
1602
1653
|
export type ModelLicense = z.infer<typeof modelLicenseSchema>;
|
|
1603
1654
|
export type ModelProvenance = z.infer<typeof modelProvenanceSchema>;
|