@warmhub/sdk-ts 0.84.0 → 0.86.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 +13 -0
- package/dist/checkpoint.d.ts +46 -0
- package/dist/checkpoint.js +2 -0
- package/dist/checkpoint.js.map +1 -0
- package/dist/chunk-FDD3D4H7.js +36 -0
- package/dist/chunk-FDD3D4H7.js.map +1 -0
- package/dist/chunk-H7QYGBKI.js +8 -0
- package/dist/chunk-H7QYGBKI.js.map +1 -0
- package/dist/index.d.ts +2125 -505
- package/dist/index.js +1 -2
- package/dist/react.js +1 -79
- package/dist/react.js.map +1 -1
- package/package.json +12 -5
- package/dist/chunk-CLDVXOJD.js +0 -13304
- package/dist/chunk-CLDVXOJD.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,179 +1,3 @@
|
|
|
1
|
-
declare const COMMIT_OPERATIONS: readonly ["add", "revise", "retract", "rename"];
|
|
2
|
-
type CommitOperation = (typeof COMMIT_OPERATIONS)[number];
|
|
3
|
-
declare const COMMIT_OPERATION_KINDS: readonly ["shape", "thing", "assertion", "collection"];
|
|
4
|
-
type CommitOperationKind = (typeof COMMIT_OPERATION_KINDS)[number];
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Canonical request signing for component CLI dispatch.
|
|
8
|
-
*
|
|
9
|
-
* Component workers expose CLI methods over HTTP. The platform dispatcher
|
|
10
|
-
* signs each call with HMAC-SHA256 over a canonical request representation
|
|
11
|
-
* so the worker can authenticate the caller without sharing more than a
|
|
12
|
-
* single secret. The same canonical input works for GET and POST methods:
|
|
13
|
-
* the difference is whether the method args ride in the query string or
|
|
14
|
-
* the body.
|
|
15
|
-
*
|
|
16
|
-
* Canonical signing input:
|
|
17
|
-
* <METHOD>\n<PATH>\n<CANONICAL_QUERY>\n<INSTALL_REPO>\n<SHA256_HEX(BODY)>\n<TIMESTAMP>
|
|
18
|
-
*
|
|
19
|
-
* Where:
|
|
20
|
-
* - METHOD is the uppercased HTTP method ('GET' | 'POST').
|
|
21
|
-
* - PATH is the URL path component (no scheme, host, or query).
|
|
22
|
-
* - CANONICAL_QUERY is `canonicalCliQueryString(query)` — sorted, RFC 3986
|
|
23
|
-
* percent-encoded, omitting undefined / null entries.
|
|
24
|
-
* - INSTALL_REPO is the `<org>/<repo>` slug of the install, transmitted on
|
|
25
|
-
* the wire as the `X-WarmHub-Install-Repo` header.
|
|
26
|
-
* - BODY is the raw request body string ('' for GET).
|
|
27
|
-
* - TIMESTAMP is unix-seconds since epoch (string-formatted).
|
|
28
|
-
*
|
|
29
|
-
* Verifiers should enforce a tolerance window on the timestamp to bound
|
|
30
|
-
* replay attacks (default 300 s); they should also compare signatures in
|
|
31
|
-
* constant time.
|
|
32
|
-
*
|
|
33
|
-
* This module is intentionally low-level: component authors import the
|
|
34
|
-
* higher-level `verifyCliCall(request, secret)` wrapper from
|
|
35
|
-
* `@warmhub/sdk-ts`, which extracts the canonical inputs from a Fetch
|
|
36
|
-
* `Request` and calls `verifyCliRequest` for them.
|
|
37
|
-
*/
|
|
38
|
-
/**
|
|
39
|
-
* Wire header names for component CLI dispatch — the single source of truth
|
|
40
|
-
* shared by the backend dispatcher (which sets them) and `verifyCliCall` (which
|
|
41
|
-
* reads them). The install repo always rides in {@link CLI_INSTALL_REPO_HEADER};
|
|
42
|
-
* the signing scheme adds {@link CLI_SIGNATURE_HEADER} + {@link CLI_TIMESTAMP_HEADER}.
|
|
43
|
-
* @see https://docs.warmhub.ai/sdk-reference/variables/cli_install_repo_header/
|
|
44
|
-
*/
|
|
45
|
-
declare const CLI_INSTALL_REPO_HEADER = "X-WarmHub-Install-Repo";
|
|
46
|
-
/**
|
|
47
|
-
* HMAC signature header used by component CLI dispatch.
|
|
48
|
-
* @see https://docs.warmhub.ai/sdk-reference/variables/cli_signature_header/
|
|
49
|
-
*/
|
|
50
|
-
declare const CLI_SIGNATURE_HEADER = "X-WarmHub-Signature";
|
|
51
|
-
/**
|
|
52
|
-
* Unix-seconds timestamp header used by component CLI dispatch.
|
|
53
|
-
* @see https://docs.warmhub.ai/sdk-reference/variables/cli_timestamp_header/
|
|
54
|
-
*/
|
|
55
|
-
declare const CLI_TIMESTAMP_HEADER = "X-WarmHub-Timestamp";
|
|
56
|
-
/**
|
|
57
|
-
* HTTP verbs a component CLI method can declare. No-body verbs (GET, DELETE)
|
|
58
|
-
* carry args in the query string; body verbs (POST, PUT, PATCH) carry args in
|
|
59
|
-
* the JSON body.
|
|
60
|
-
*/
|
|
61
|
-
type CliHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
62
|
-
|
|
63
|
-
/** Every event type a webhook subscription can watch. */
|
|
64
|
-
declare const SUBSCRIBABLE_EVENT_TYPES: readonly ["commit", "repo.renamed", "org.renamed", "org.member_added", "org.repo_created", "org.repo_published", "thing.renamed", "shape.renamed"];
|
|
65
|
-
type SubscribableEventType = (typeof SUBSCRIBABLE_EVENT_TYPES)[number];
|
|
66
|
-
/** Org-scoped events — created with an `orgName` and no `repoName`. */
|
|
67
|
-
declare const ORG_SCOPED_EVENT_TYPES: readonly ["org.renamed", "org.member_added", "org.repo_created", "org.repo_published"];
|
|
68
|
-
type OrgScopedEventType = (typeof ORG_SCOPED_EVENT_TYPES)[number];
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Validate a data payload against shape field definitions.
|
|
72
|
-
*
|
|
73
|
-
* Shape field types:
|
|
74
|
-
* - "number", "string", "boolean": primitive types
|
|
75
|
-
* - "wref": string (reference to a shape or shaped thing)
|
|
76
|
-
* - Typed field objects: { type: primitive, description?: string }
|
|
77
|
-
* - Nested objects: { fieldName: type, ... }
|
|
78
|
-
* - Arrays: [elementType]
|
|
79
|
-
* - Optional fields: field name ending with "?" (e.g. "terminal_reason?": "string")
|
|
80
|
-
* OR type string ending with "?" (e.g. "terminal_reason": "string?")
|
|
81
|
-
* OR typed object type ending with "?" (e.g. { type: "string?" })
|
|
82
|
-
*
|
|
83
|
-
* For v1 this is permissive: validates top-level field existence and basic types.
|
|
84
|
-
* Returns a {@link ShapeValidatorResult} discriminated union — read `result.valid`
|
|
85
|
-
* to branch, then `result.errors` (only present when invalid) for the list of
|
|
86
|
-
* messages. `result.warnings` may be present in either branch and carries
|
|
87
|
-
* undeclared top-level field names.
|
|
88
|
-
*
|
|
89
|
-
* @example
|
|
90
|
-
* ```ts
|
|
91
|
-
* import { validateAgainstShape } from "@warmhub/sdk-ts";
|
|
92
|
-
*
|
|
93
|
-
* const shapeFields = { x: "number", y: "number", label: "string?" };
|
|
94
|
-
*
|
|
95
|
-
* const ok = validateAgainstShape({ x: 1, y: 2 }, shapeFields);
|
|
96
|
-
* // ok.valid === true
|
|
97
|
-
*
|
|
98
|
-
* const bad = validateAgainstShape({ x: "not-a-number" }, shapeFields);
|
|
99
|
-
* if (!bad.valid) {
|
|
100
|
-
* for (const message of bad.errors) console.error(message);
|
|
101
|
-
* // ['Field "x" must be a number', 'Missing required field: "y"']
|
|
102
|
-
* }
|
|
103
|
-
* ```
|
|
104
|
-
* @see https://docs.warmhub.ai/sdk-reference/functions/validateagainstshape/
|
|
105
|
-
*/
|
|
106
|
-
declare function validateAgainstShape(data: Record<string, unknown>, shapeFields: Record<string, unknown>): ShapeValidatorResult;
|
|
107
|
-
/**
|
|
108
|
-
* Warning details for input fields that the shape does not declare.
|
|
109
|
-
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/undeclaredfieldswarning/
|
|
110
|
-
*/
|
|
111
|
-
type UndeclaredFieldsWarning = {
|
|
112
|
-
undeclaredFields: string[];
|
|
113
|
-
undeclaredFieldsTruncated?: true;
|
|
114
|
-
totalUndeclared?: number;
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* Discriminated result returned when input is validated against shape fields.
|
|
118
|
-
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/shapevalidatorresult/
|
|
119
|
-
*/
|
|
120
|
-
type ShapeValidatorResult = {
|
|
121
|
-
valid: true;
|
|
122
|
-
warnings?: UndeclaredFieldsWarning;
|
|
123
|
-
} | {
|
|
124
|
-
valid: false;
|
|
125
|
-
errors: string[];
|
|
126
|
-
warnings?: UndeclaredFieldsWarning;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Hardcoded meta-schema for validating shape definitions.
|
|
131
|
-
* Shapes are NOT validated against a DB-stored shape — they validate against this constant.
|
|
132
|
-
* This avoids the bootstrap chicken-and-egg problem.
|
|
133
|
-
*
|
|
134
|
-
* A valid shape definition is:
|
|
135
|
-
* { fields: Record<string, TypeSpec>, description?: string }
|
|
136
|
-
* where TypeSpec is one of:
|
|
137
|
-
* - primitive string: "number", "string", "boolean", "wref", "array"
|
|
138
|
-
* - optional primitive: "number?", "string?", "boolean?", "wref?", "array?"
|
|
139
|
-
* - typed field object: { type: primitive, description?: string }
|
|
140
|
-
* - array: [TypeSpec] (shorthand) or { type: "array", items: TypeSpec }
|
|
141
|
-
* - nested object: { fieldName: TypeSpec, ... } (key may end with "?" for optional)
|
|
142
|
-
*
|
|
143
|
-
* The primitive vocabulary above is closed: any other type name (e.g. "text",
|
|
144
|
-
* "integer", "json", "date") is rejected. See VALID_PRIMITIVE_TYPES in
|
|
145
|
-
* ./shape-types.ts for the authoritative set.
|
|
146
|
-
* String `pattern` constraints use RE2 syntax and are evaluated with re2js so
|
|
147
|
-
* user-authored patterns run in linear time across backend, SDK, web, CLI, and
|
|
148
|
-
* worker-adjacent consumers. JavaScript-only constructs such as backreferences
|
|
149
|
-
* and lookarounds are rejected at shape-definition time.
|
|
150
|
-
*/
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Maximum size, in bytes (UTF-8 encoded), allowed for a single content field value.
|
|
154
|
-
* WarmHub is not a document store: values larger than this are rejected at validation.
|
|
155
|
-
* Store large documents in S3, Box, Drive, or another document system and reference
|
|
156
|
-
* them from WarmHub instead.
|
|
157
|
-
* @see https://docs.warmhub.ai/sdk-reference/variables/max_content_field_bytes/
|
|
158
|
-
*/
|
|
159
|
-
declare const MAX_CONTENT_FIELD_BYTES: number;
|
|
160
|
-
/**
|
|
161
|
-
* Human-readable explanation of the {@link MAX_CONTENT_FIELD_BYTES} limit, suitable for
|
|
162
|
-
* appending to a field-specific validation error. States the byte cap and points callers
|
|
163
|
-
* to an external document store for large payloads.
|
|
164
|
-
* @see https://docs.warmhub.ai/sdk-reference/variables/content_field_limit_error/
|
|
165
|
-
*/
|
|
166
|
-
declare const CONTENT_FIELD_LIMIT_ERROR: string;
|
|
167
|
-
/**
|
|
168
|
-
* Returns a validation error message if the given string exceeds
|
|
169
|
-
* {@link MAX_CONTENT_FIELD_BYTES} when UTF-8 encoded, or `null` if it is within the limit.
|
|
170
|
-
*
|
|
171
|
-
* @param path - The field path, used to identify the offending field in the message.
|
|
172
|
-
* @param value - The candidate field value to measure.
|
|
173
|
-
* @see https://docs.warmhub.ai/sdk-reference/functions/contentfieldlimiterror/
|
|
174
|
-
*/
|
|
175
|
-
declare function contentFieldLimitError(path: string, value: string): string | null;
|
|
176
|
-
|
|
177
1
|
type ActionAttempt = {
|
|
178
2
|
attempt: number;
|
|
179
3
|
status: string;
|
|
@@ -266,7 +90,7 @@ type AccessResolveResult$1 = {
|
|
|
266
90
|
orgName: string;
|
|
267
91
|
repoName: string;
|
|
268
92
|
visible: boolean;
|
|
269
|
-
scopes: Array<'repo:read' | 'repo:write' | 'repo:configure' | 'repo:admin' | 'repo:action-callback'>;
|
|
93
|
+
scopes: Array<'repo:read' | 'repo:checkpoint-read' | 'repo:write' | 'repo:configure' | 'repo:admin' | 'repo:action-callback'>;
|
|
270
94
|
allowedMatches?: Array<string>;
|
|
271
95
|
repoDurableId?: string;
|
|
272
96
|
}>;
|
|
@@ -280,12 +104,18 @@ type AuthSyncResult = {
|
|
|
280
104
|
success: boolean;
|
|
281
105
|
};
|
|
282
106
|
type CollectionTag$1 = 'arc' | 'bond' | 'pair' | 'set' | 'list';
|
|
283
|
-
type
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
107
|
+
type OperationEventReceiptV1$1 = {
|
|
108
|
+
event: {
|
|
109
|
+
committedAt: string;
|
|
110
|
+
eventDigest: string;
|
|
111
|
+
operationCount: number;
|
|
112
|
+
repo: {
|
|
113
|
+
orgName: string;
|
|
114
|
+
repoName: string;
|
|
115
|
+
};
|
|
116
|
+
repoSeq: string;
|
|
117
|
+
} | null;
|
|
118
|
+
eventRequestId: string;
|
|
289
119
|
operations: Array<{
|
|
290
120
|
opIndex?: number;
|
|
291
121
|
name: string;
|
|
@@ -310,7 +140,63 @@ type CommitApplyResult = {
|
|
|
310
140
|
removalMilestone: string;
|
|
311
141
|
}>;
|
|
312
142
|
};
|
|
143
|
+
} | {
|
|
144
|
+
opIndex?: number;
|
|
145
|
+
name: string;
|
|
146
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
147
|
+
version?: number;
|
|
148
|
+
dataHash?: string;
|
|
149
|
+
status?: 'success' | 'noop' | 'failed';
|
|
150
|
+
error?: {
|
|
151
|
+
code: string;
|
|
152
|
+
message: string;
|
|
153
|
+
details?: {
|
|
154
|
+
reason: 'expected_version_mismatch';
|
|
155
|
+
expectedVersion: number;
|
|
156
|
+
currentVersion: number;
|
|
157
|
+
} | {
|
|
158
|
+
reason: 'lease_held';
|
|
159
|
+
leaseExpiresAt: string;
|
|
160
|
+
} | {
|
|
161
|
+
reason: 'validation_failed';
|
|
162
|
+
issues: Array<{
|
|
163
|
+
path: string;
|
|
164
|
+
message: string;
|
|
165
|
+
}>;
|
|
166
|
+
} | {
|
|
167
|
+
reason: 'rate_limit_reset';
|
|
168
|
+
retryAfterSeconds: number;
|
|
169
|
+
resetAt: string;
|
|
170
|
+
} | {
|
|
171
|
+
reason: 'cursor_fence_unavailable';
|
|
172
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
173
|
+
retryFromStart: true;
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
resolvedName?: string;
|
|
177
|
+
retryable?: boolean;
|
|
178
|
+
warnings?: {
|
|
179
|
+
undeclaredFields?: Array<string>;
|
|
180
|
+
undeclaredFieldsTruncated?: true;
|
|
181
|
+
totalUndeclared?: number;
|
|
182
|
+
coalescedWrefs?: Array<{
|
|
183
|
+
fieldPath: string;
|
|
184
|
+
wref: string;
|
|
185
|
+
reason: string;
|
|
186
|
+
}>;
|
|
187
|
+
coalescedWrefsTruncated?: true;
|
|
188
|
+
totalCoalescedWrefs?: number;
|
|
189
|
+
deprecations?: Array<{
|
|
190
|
+
shape: string;
|
|
191
|
+
message: string;
|
|
192
|
+
removalMilestone: string;
|
|
193
|
+
}>;
|
|
194
|
+
};
|
|
313
195
|
}>;
|
|
196
|
+
outcome: 'event' | 'no_event';
|
|
197
|
+
requestDigest: string;
|
|
198
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
199
|
+
submissionId?: string;
|
|
314
200
|
};
|
|
315
201
|
type CollectionContainsResult$1 = {
|
|
316
202
|
type: 'arc' | 'bond' | 'pair' | 'set' | 'list' | 'triple';
|
|
@@ -374,34 +260,8 @@ type CollectionMembersPage$1 = {
|
|
|
374
260
|
}>;
|
|
375
261
|
nextCursor?: string;
|
|
376
262
|
};
|
|
377
|
-
type
|
|
378
|
-
type: 'arc' | 'bond' | 'set' | 'list' | '
|
|
379
|
-
wref: string;
|
|
380
|
-
version: number;
|
|
381
|
-
memberCount: number;
|
|
382
|
-
dataHash?: string;
|
|
383
|
-
operationCount: number;
|
|
384
|
-
status: 'created' | 'updated' | 'noop';
|
|
385
|
-
warnings?: {
|
|
386
|
-
undeclaredFields?: Array<string>;
|
|
387
|
-
undeclaredFieldsTruncated?: true;
|
|
388
|
-
totalUndeclared?: number;
|
|
389
|
-
coalescedWrefs?: Array<{
|
|
390
|
-
fieldPath: string;
|
|
391
|
-
wref: string;
|
|
392
|
-
reason: string;
|
|
393
|
-
}>;
|
|
394
|
-
coalescedWrefsTruncated?: true;
|
|
395
|
-
totalCoalescedWrefs?: number;
|
|
396
|
-
deprecations?: Array<{
|
|
397
|
-
shape: string;
|
|
398
|
-
message: string;
|
|
399
|
-
removalMilestone: string;
|
|
400
|
-
}>;
|
|
401
|
-
};
|
|
402
|
-
};
|
|
403
|
-
type CollectionStatsResult$1 = {
|
|
404
|
-
type: 'arc' | 'bond' | 'pair' | 'set' | 'list' | 'triple';
|
|
263
|
+
type CollectionStatsResult$1 = {
|
|
264
|
+
type: 'arc' | 'bond' | 'pair' | 'set' | 'list' | 'triple';
|
|
405
265
|
wref: string;
|
|
406
266
|
version: number;
|
|
407
267
|
memberCount: number;
|
|
@@ -471,6 +331,101 @@ type ComponentInstallResult$1 = {
|
|
|
471
331
|
setupCreates: Array<string>;
|
|
472
332
|
errors: Array<string>;
|
|
473
333
|
hasSetup: boolean;
|
|
334
|
+
submissionId: string;
|
|
335
|
+
eventReceipts: Array<{
|
|
336
|
+
event: {
|
|
337
|
+
committedAt: string;
|
|
338
|
+
eventDigest: string;
|
|
339
|
+
operationCount: number;
|
|
340
|
+
repo: {
|
|
341
|
+
orgName: string;
|
|
342
|
+
repoName: string;
|
|
343
|
+
};
|
|
344
|
+
repoSeq: string;
|
|
345
|
+
} | null;
|
|
346
|
+
eventRequestId: string;
|
|
347
|
+
operations: Array<{
|
|
348
|
+
opIndex?: number;
|
|
349
|
+
name: string;
|
|
350
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
351
|
+
version: number;
|
|
352
|
+
dataHash: string;
|
|
353
|
+
status?: 'applied' | 'noop';
|
|
354
|
+
warnings?: {
|
|
355
|
+
undeclaredFields?: Array<string>;
|
|
356
|
+
undeclaredFieldsTruncated?: true;
|
|
357
|
+
totalUndeclared?: number;
|
|
358
|
+
coalescedWrefs?: Array<{
|
|
359
|
+
fieldPath: string;
|
|
360
|
+
wref: string;
|
|
361
|
+
reason: string;
|
|
362
|
+
}>;
|
|
363
|
+
coalescedWrefsTruncated?: true;
|
|
364
|
+
totalCoalescedWrefs?: number;
|
|
365
|
+
deprecations?: Array<{
|
|
366
|
+
shape: string;
|
|
367
|
+
message: string;
|
|
368
|
+
removalMilestone: string;
|
|
369
|
+
}>;
|
|
370
|
+
};
|
|
371
|
+
} | {
|
|
372
|
+
opIndex?: number;
|
|
373
|
+
name: string;
|
|
374
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
375
|
+
version?: number;
|
|
376
|
+
dataHash?: string;
|
|
377
|
+
status?: 'success' | 'noop' | 'failed';
|
|
378
|
+
error?: {
|
|
379
|
+
code: string;
|
|
380
|
+
message: string;
|
|
381
|
+
details?: {
|
|
382
|
+
reason: 'expected_version_mismatch';
|
|
383
|
+
expectedVersion: number;
|
|
384
|
+
currentVersion: number;
|
|
385
|
+
} | {
|
|
386
|
+
reason: 'lease_held';
|
|
387
|
+
leaseExpiresAt: string;
|
|
388
|
+
} | {
|
|
389
|
+
reason: 'validation_failed';
|
|
390
|
+
issues: Array<{
|
|
391
|
+
path: string;
|
|
392
|
+
message: string;
|
|
393
|
+
}>;
|
|
394
|
+
} | {
|
|
395
|
+
reason: 'rate_limit_reset';
|
|
396
|
+
retryAfterSeconds: number;
|
|
397
|
+
resetAt: string;
|
|
398
|
+
} | {
|
|
399
|
+
reason: 'cursor_fence_unavailable';
|
|
400
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
401
|
+
retryFromStart: true;
|
|
402
|
+
};
|
|
403
|
+
};
|
|
404
|
+
resolvedName?: string;
|
|
405
|
+
retryable?: boolean;
|
|
406
|
+
warnings?: {
|
|
407
|
+
undeclaredFields?: Array<string>;
|
|
408
|
+
undeclaredFieldsTruncated?: true;
|
|
409
|
+
totalUndeclared?: number;
|
|
410
|
+
coalescedWrefs?: Array<{
|
|
411
|
+
fieldPath: string;
|
|
412
|
+
wref: string;
|
|
413
|
+
reason: string;
|
|
414
|
+
}>;
|
|
415
|
+
coalescedWrefsTruncated?: true;
|
|
416
|
+
totalCoalescedWrefs?: number;
|
|
417
|
+
deprecations?: Array<{
|
|
418
|
+
shape: string;
|
|
419
|
+
message: string;
|
|
420
|
+
removalMilestone: string;
|
|
421
|
+
}>;
|
|
422
|
+
};
|
|
423
|
+
}>;
|
|
424
|
+
outcome: 'event' | 'no_event';
|
|
425
|
+
requestDigest: string;
|
|
426
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
427
|
+
submissionId?: string;
|
|
428
|
+
}>;
|
|
474
429
|
};
|
|
475
430
|
type ComponentListResult = {
|
|
476
431
|
items: Array<{
|
|
@@ -514,6 +469,101 @@ type ComponentUninstallResult$1 = {
|
|
|
514
469
|
tokensRevoked: number;
|
|
515
470
|
uninstallDispatched: boolean;
|
|
516
471
|
warnings: Array<string>;
|
|
472
|
+
submissionId: string;
|
|
473
|
+
eventReceipts: Array<{
|
|
474
|
+
event: {
|
|
475
|
+
committedAt: string;
|
|
476
|
+
eventDigest: string;
|
|
477
|
+
operationCount: number;
|
|
478
|
+
repo: {
|
|
479
|
+
orgName: string;
|
|
480
|
+
repoName: string;
|
|
481
|
+
};
|
|
482
|
+
repoSeq: string;
|
|
483
|
+
} | null;
|
|
484
|
+
eventRequestId: string;
|
|
485
|
+
operations: Array<{
|
|
486
|
+
opIndex?: number;
|
|
487
|
+
name: string;
|
|
488
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
489
|
+
version: number;
|
|
490
|
+
dataHash: string;
|
|
491
|
+
status?: 'applied' | 'noop';
|
|
492
|
+
warnings?: {
|
|
493
|
+
undeclaredFields?: Array<string>;
|
|
494
|
+
undeclaredFieldsTruncated?: true;
|
|
495
|
+
totalUndeclared?: number;
|
|
496
|
+
coalescedWrefs?: Array<{
|
|
497
|
+
fieldPath: string;
|
|
498
|
+
wref: string;
|
|
499
|
+
reason: string;
|
|
500
|
+
}>;
|
|
501
|
+
coalescedWrefsTruncated?: true;
|
|
502
|
+
totalCoalescedWrefs?: number;
|
|
503
|
+
deprecations?: Array<{
|
|
504
|
+
shape: string;
|
|
505
|
+
message: string;
|
|
506
|
+
removalMilestone: string;
|
|
507
|
+
}>;
|
|
508
|
+
};
|
|
509
|
+
} | {
|
|
510
|
+
opIndex?: number;
|
|
511
|
+
name: string;
|
|
512
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
513
|
+
version?: number;
|
|
514
|
+
dataHash?: string;
|
|
515
|
+
status?: 'success' | 'noop' | 'failed';
|
|
516
|
+
error?: {
|
|
517
|
+
code: string;
|
|
518
|
+
message: string;
|
|
519
|
+
details?: {
|
|
520
|
+
reason: 'expected_version_mismatch';
|
|
521
|
+
expectedVersion: number;
|
|
522
|
+
currentVersion: number;
|
|
523
|
+
} | {
|
|
524
|
+
reason: 'lease_held';
|
|
525
|
+
leaseExpiresAt: string;
|
|
526
|
+
} | {
|
|
527
|
+
reason: 'validation_failed';
|
|
528
|
+
issues: Array<{
|
|
529
|
+
path: string;
|
|
530
|
+
message: string;
|
|
531
|
+
}>;
|
|
532
|
+
} | {
|
|
533
|
+
reason: 'rate_limit_reset';
|
|
534
|
+
retryAfterSeconds: number;
|
|
535
|
+
resetAt: string;
|
|
536
|
+
} | {
|
|
537
|
+
reason: 'cursor_fence_unavailable';
|
|
538
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
539
|
+
retryFromStart: true;
|
|
540
|
+
};
|
|
541
|
+
};
|
|
542
|
+
resolvedName?: string;
|
|
543
|
+
retryable?: boolean;
|
|
544
|
+
warnings?: {
|
|
545
|
+
undeclaredFields?: Array<string>;
|
|
546
|
+
undeclaredFieldsTruncated?: true;
|
|
547
|
+
totalUndeclared?: number;
|
|
548
|
+
coalescedWrefs?: Array<{
|
|
549
|
+
fieldPath: string;
|
|
550
|
+
wref: string;
|
|
551
|
+
reason: string;
|
|
552
|
+
}>;
|
|
553
|
+
coalescedWrefsTruncated?: true;
|
|
554
|
+
totalCoalescedWrefs?: number;
|
|
555
|
+
deprecations?: Array<{
|
|
556
|
+
shape: string;
|
|
557
|
+
message: string;
|
|
558
|
+
removalMilestone: string;
|
|
559
|
+
}>;
|
|
560
|
+
};
|
|
561
|
+
}>;
|
|
562
|
+
outcome: 'event' | 'no_event';
|
|
563
|
+
requestDigest: string;
|
|
564
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
565
|
+
submissionId?: string;
|
|
566
|
+
}>;
|
|
517
567
|
};
|
|
518
568
|
type CredentialDeleteResult$1 = {
|
|
519
569
|
ok: true;
|
|
@@ -530,6 +580,8 @@ type CredentialRevokeResult$1 = {
|
|
|
530
580
|
type Capabilities = {
|
|
531
581
|
apiVersion: string;
|
|
532
582
|
minSupportedSdk: string;
|
|
583
|
+
minSupportedClients: Record<string, string>;
|
|
584
|
+
writeContractVersion: number;
|
|
533
585
|
features: Record<string, boolean>;
|
|
534
586
|
};
|
|
535
587
|
type HomepageFeaturedListsResult$1 = {
|
|
@@ -568,94 +620,1144 @@ type HomepageFeaturedListsResult$1 = {
|
|
|
568
620
|
assertion: number;
|
|
569
621
|
};
|
|
570
622
|
}>;
|
|
571
|
-
}>;
|
|
623
|
+
}>;
|
|
624
|
+
};
|
|
625
|
+
type StreamAppendInput$1 = {
|
|
626
|
+
orgName: string;
|
|
627
|
+
repoName: string;
|
|
628
|
+
streamId: string;
|
|
629
|
+
componentRef?: string;
|
|
630
|
+
workspaceName?: never;
|
|
631
|
+
committer?: string;
|
|
632
|
+
message?: string;
|
|
633
|
+
returnRepoSeq?: boolean;
|
|
634
|
+
allocatedTokens?: never;
|
|
635
|
+
allocatedTokenRanges: Array<{
|
|
636
|
+
start: number;
|
|
637
|
+
end: number;
|
|
638
|
+
}>;
|
|
639
|
+
operations: Array<{
|
|
640
|
+
operation: 'add';
|
|
641
|
+
kind: 'shape';
|
|
642
|
+
name: string;
|
|
643
|
+
data: unknown;
|
|
644
|
+
skipExisting?: boolean;
|
|
645
|
+
} | {
|
|
646
|
+
operation: 'add';
|
|
647
|
+
kind: 'thing';
|
|
648
|
+
name: string;
|
|
649
|
+
data: unknown;
|
|
650
|
+
skipExisting?: boolean;
|
|
651
|
+
} | {
|
|
652
|
+
operation: 'add';
|
|
653
|
+
kind: 'assertion';
|
|
654
|
+
name: string;
|
|
655
|
+
about: string;
|
|
656
|
+
data: unknown;
|
|
657
|
+
skipExisting?: boolean;
|
|
658
|
+
} | {
|
|
659
|
+
operation: 'add';
|
|
660
|
+
kind: 'collection';
|
|
661
|
+
name: string;
|
|
662
|
+
type: 'arc' | 'bond' | 'pair' | 'set' | 'list';
|
|
663
|
+
members: Array<string>;
|
|
664
|
+
skipExisting?: boolean;
|
|
665
|
+
} | {
|
|
666
|
+
operation: 'revise';
|
|
667
|
+
kind: 'shape';
|
|
668
|
+
name: string;
|
|
669
|
+
data: unknown;
|
|
670
|
+
expectedVersion?: number;
|
|
671
|
+
active?: never;
|
|
672
|
+
leaseId?: string;
|
|
673
|
+
} | {
|
|
674
|
+
operation: 'revise';
|
|
675
|
+
kind: 'thing';
|
|
676
|
+
name: string;
|
|
677
|
+
data: unknown;
|
|
678
|
+
expectedVersion?: number;
|
|
679
|
+
active?: never;
|
|
680
|
+
leaseId?: string;
|
|
681
|
+
} | {
|
|
682
|
+
operation: 'revise';
|
|
683
|
+
kind: 'assertion';
|
|
684
|
+
name: string;
|
|
685
|
+
data: unknown;
|
|
686
|
+
expectedVersion?: number;
|
|
687
|
+
active?: never;
|
|
688
|
+
leaseId?: string;
|
|
689
|
+
} | {
|
|
690
|
+
operation: 'revise';
|
|
691
|
+
kind: 'collection';
|
|
692
|
+
name: string;
|
|
693
|
+
type: 'arc' | 'bond' | 'pair' | 'set' | 'list';
|
|
694
|
+
members: Array<string>;
|
|
695
|
+
expectedVersion?: number;
|
|
696
|
+
leaseId?: string;
|
|
697
|
+
} | {
|
|
698
|
+
operation: 'retract';
|
|
699
|
+
name: string;
|
|
700
|
+
kind?: 'shape' | 'thing' | 'assertion' | 'collection';
|
|
701
|
+
reason?: string;
|
|
702
|
+
expectedVersion?: number;
|
|
703
|
+
leaseId?: string;
|
|
704
|
+
} | {
|
|
705
|
+
operation: 'rename';
|
|
706
|
+
name: string;
|
|
707
|
+
newName: string;
|
|
708
|
+
kind?: 'shape' | 'thing' | 'assertion' | 'collection';
|
|
709
|
+
}>;
|
|
710
|
+
chunkOrdinal: number;
|
|
711
|
+
submissionId: string;
|
|
712
|
+
};
|
|
713
|
+
type StreamAppendResult$1 = {
|
|
714
|
+
allocatedTokenRanges: Array<{
|
|
715
|
+
start: number;
|
|
716
|
+
end: number;
|
|
717
|
+
}>;
|
|
718
|
+
results: Array<{
|
|
719
|
+
opIndex?: number;
|
|
720
|
+
name: string;
|
|
721
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
722
|
+
version?: number;
|
|
723
|
+
dataHash?: string;
|
|
724
|
+
status?: 'success' | 'noop' | 'failed';
|
|
725
|
+
error?: {
|
|
726
|
+
code: string;
|
|
727
|
+
message: string;
|
|
728
|
+
details?: {
|
|
729
|
+
reason: 'expected_version_mismatch';
|
|
730
|
+
expectedVersion: number;
|
|
731
|
+
currentVersion: number;
|
|
732
|
+
} | {
|
|
733
|
+
reason: 'lease_held';
|
|
734
|
+
leaseExpiresAt: string;
|
|
735
|
+
} | {
|
|
736
|
+
reason: 'validation_failed';
|
|
737
|
+
issues: Array<{
|
|
738
|
+
path: string;
|
|
739
|
+
message: string;
|
|
740
|
+
}>;
|
|
741
|
+
} | {
|
|
742
|
+
reason: 'rate_limit_reset';
|
|
743
|
+
retryAfterSeconds: number;
|
|
744
|
+
resetAt: string;
|
|
745
|
+
} | {
|
|
746
|
+
reason: 'cursor_fence_unavailable';
|
|
747
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
748
|
+
retryFromStart: true;
|
|
749
|
+
};
|
|
750
|
+
};
|
|
751
|
+
resolvedName?: string;
|
|
752
|
+
retryable?: boolean;
|
|
753
|
+
warnings?: {
|
|
754
|
+
undeclaredFields?: Array<string>;
|
|
755
|
+
undeclaredFieldsTruncated?: true;
|
|
756
|
+
totalUndeclared?: number;
|
|
757
|
+
coalescedWrefs?: Array<{
|
|
758
|
+
fieldPath: string;
|
|
759
|
+
wref: string;
|
|
760
|
+
reason: string;
|
|
761
|
+
}>;
|
|
762
|
+
coalescedWrefsTruncated?: true;
|
|
763
|
+
totalCoalescedWrefs?: number;
|
|
764
|
+
deprecations?: Array<{
|
|
765
|
+
shape: string;
|
|
766
|
+
message: string;
|
|
767
|
+
removalMilestone: string;
|
|
768
|
+
}>;
|
|
769
|
+
};
|
|
770
|
+
}>;
|
|
771
|
+
repoSeq?: number;
|
|
772
|
+
createdByEmail?: string;
|
|
773
|
+
appendTotalMs?: number;
|
|
774
|
+
appendResolveRepoMs?: number;
|
|
775
|
+
appendTokenResolveMs?: number;
|
|
776
|
+
appendApplyMs?: number;
|
|
777
|
+
applySubphases?: {
|
|
778
|
+
addThingMs?: number;
|
|
779
|
+
addAssertionMs?: number;
|
|
780
|
+
addAssertionResolveAboutMs?: number;
|
|
781
|
+
reviseThingMs?: number;
|
|
782
|
+
reviseAssertionMs?: number;
|
|
783
|
+
reviseCollectionMs?: number;
|
|
784
|
+
preparePinnedLoadShapeFieldsMs?: number;
|
|
785
|
+
preparePinnedPinWrefsMs?: number;
|
|
786
|
+
preparePinnedResolveTokensMs?: number;
|
|
787
|
+
preparePinnedValidateMs?: number;
|
|
788
|
+
operationLoopMs?: number;
|
|
789
|
+
persistMs?: number;
|
|
790
|
+
persistThingsMs?: number;
|
|
791
|
+
persistVersionsMs?: number;
|
|
792
|
+
persistAssertionsMs?: number;
|
|
793
|
+
persistUpdatesMs?: number;
|
|
794
|
+
persistOutboxMs?: number;
|
|
795
|
+
refInsertMs?: number;
|
|
796
|
+
refSourceCount?: number;
|
|
797
|
+
};
|
|
798
|
+
event: {
|
|
799
|
+
committedAt: string;
|
|
800
|
+
eventDigest: string;
|
|
801
|
+
operationCount: number;
|
|
802
|
+
repo: {
|
|
803
|
+
orgName: string;
|
|
804
|
+
repoName: string;
|
|
805
|
+
};
|
|
806
|
+
repoSeq: string;
|
|
807
|
+
} | null;
|
|
808
|
+
eventRequestId: string;
|
|
809
|
+
operations: Array<{
|
|
810
|
+
opIndex?: number;
|
|
811
|
+
name: string;
|
|
812
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
813
|
+
version: number;
|
|
814
|
+
dataHash: string;
|
|
815
|
+
status?: 'applied' | 'noop';
|
|
816
|
+
warnings?: {
|
|
817
|
+
undeclaredFields?: Array<string>;
|
|
818
|
+
undeclaredFieldsTruncated?: true;
|
|
819
|
+
totalUndeclared?: number;
|
|
820
|
+
coalescedWrefs?: Array<{
|
|
821
|
+
fieldPath: string;
|
|
822
|
+
wref: string;
|
|
823
|
+
reason: string;
|
|
824
|
+
}>;
|
|
825
|
+
coalescedWrefsTruncated?: true;
|
|
826
|
+
totalCoalescedWrefs?: number;
|
|
827
|
+
deprecations?: Array<{
|
|
828
|
+
shape: string;
|
|
829
|
+
message: string;
|
|
830
|
+
removalMilestone: string;
|
|
831
|
+
}>;
|
|
832
|
+
};
|
|
833
|
+
} | {
|
|
834
|
+
opIndex?: number;
|
|
835
|
+
name: string;
|
|
836
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
837
|
+
version?: number;
|
|
838
|
+
dataHash?: string;
|
|
839
|
+
status?: 'success' | 'noop' | 'failed';
|
|
840
|
+
error?: {
|
|
841
|
+
code: string;
|
|
842
|
+
message: string;
|
|
843
|
+
details?: {
|
|
844
|
+
reason: 'expected_version_mismatch';
|
|
845
|
+
expectedVersion: number;
|
|
846
|
+
currentVersion: number;
|
|
847
|
+
} | {
|
|
848
|
+
reason: 'lease_held';
|
|
849
|
+
leaseExpiresAt: string;
|
|
850
|
+
} | {
|
|
851
|
+
reason: 'validation_failed';
|
|
852
|
+
issues: Array<{
|
|
853
|
+
path: string;
|
|
854
|
+
message: string;
|
|
855
|
+
}>;
|
|
856
|
+
} | {
|
|
857
|
+
reason: 'rate_limit_reset';
|
|
858
|
+
retryAfterSeconds: number;
|
|
859
|
+
resetAt: string;
|
|
860
|
+
} | {
|
|
861
|
+
reason: 'cursor_fence_unavailable';
|
|
862
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
863
|
+
retryFromStart: true;
|
|
864
|
+
};
|
|
865
|
+
};
|
|
866
|
+
resolvedName?: string;
|
|
867
|
+
retryable?: boolean;
|
|
868
|
+
warnings?: {
|
|
869
|
+
undeclaredFields?: Array<string>;
|
|
870
|
+
undeclaredFieldsTruncated?: true;
|
|
871
|
+
totalUndeclared?: number;
|
|
872
|
+
coalescedWrefs?: Array<{
|
|
873
|
+
fieldPath: string;
|
|
874
|
+
wref: string;
|
|
875
|
+
reason: string;
|
|
876
|
+
}>;
|
|
877
|
+
coalescedWrefsTruncated?: true;
|
|
878
|
+
totalCoalescedWrefs?: number;
|
|
879
|
+
deprecations?: Array<{
|
|
880
|
+
shape: string;
|
|
881
|
+
message: string;
|
|
882
|
+
removalMilestone: string;
|
|
883
|
+
}>;
|
|
884
|
+
};
|
|
885
|
+
}>;
|
|
886
|
+
outcome: 'event' | 'no_event';
|
|
887
|
+
requestDigest: string;
|
|
888
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
889
|
+
submissionId?: string;
|
|
890
|
+
receipt: {
|
|
891
|
+
event: {
|
|
892
|
+
committedAt: string;
|
|
893
|
+
eventDigest: string;
|
|
894
|
+
operationCount: number;
|
|
895
|
+
repo: {
|
|
896
|
+
orgName: string;
|
|
897
|
+
repoName: string;
|
|
898
|
+
};
|
|
899
|
+
repoSeq: string;
|
|
900
|
+
} | null;
|
|
901
|
+
eventRequestId: string;
|
|
902
|
+
operations: Array<{
|
|
903
|
+
opIndex?: number;
|
|
904
|
+
name: string;
|
|
905
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
906
|
+
version: number;
|
|
907
|
+
dataHash: string;
|
|
908
|
+
status?: 'applied' | 'noop';
|
|
909
|
+
warnings?: {
|
|
910
|
+
undeclaredFields?: Array<string>;
|
|
911
|
+
undeclaredFieldsTruncated?: true;
|
|
912
|
+
totalUndeclared?: number;
|
|
913
|
+
coalescedWrefs?: Array<{
|
|
914
|
+
fieldPath: string;
|
|
915
|
+
wref: string;
|
|
916
|
+
reason: string;
|
|
917
|
+
}>;
|
|
918
|
+
coalescedWrefsTruncated?: true;
|
|
919
|
+
totalCoalescedWrefs?: number;
|
|
920
|
+
deprecations?: Array<{
|
|
921
|
+
shape: string;
|
|
922
|
+
message: string;
|
|
923
|
+
removalMilestone: string;
|
|
924
|
+
}>;
|
|
925
|
+
};
|
|
926
|
+
} | {
|
|
927
|
+
opIndex?: number;
|
|
928
|
+
name: string;
|
|
929
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
930
|
+
version?: number;
|
|
931
|
+
dataHash?: string;
|
|
932
|
+
status?: 'success' | 'noop' | 'failed';
|
|
933
|
+
error?: {
|
|
934
|
+
code: string;
|
|
935
|
+
message: string;
|
|
936
|
+
details?: {
|
|
937
|
+
reason: 'expected_version_mismatch';
|
|
938
|
+
expectedVersion: number;
|
|
939
|
+
currentVersion: number;
|
|
940
|
+
} | {
|
|
941
|
+
reason: 'lease_held';
|
|
942
|
+
leaseExpiresAt: string;
|
|
943
|
+
} | {
|
|
944
|
+
reason: 'validation_failed';
|
|
945
|
+
issues: Array<{
|
|
946
|
+
path: string;
|
|
947
|
+
message: string;
|
|
948
|
+
}>;
|
|
949
|
+
} | {
|
|
950
|
+
reason: 'rate_limit_reset';
|
|
951
|
+
retryAfterSeconds: number;
|
|
952
|
+
resetAt: string;
|
|
953
|
+
} | {
|
|
954
|
+
reason: 'cursor_fence_unavailable';
|
|
955
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
956
|
+
retryFromStart: true;
|
|
957
|
+
};
|
|
958
|
+
};
|
|
959
|
+
resolvedName?: string;
|
|
960
|
+
retryable?: boolean;
|
|
961
|
+
warnings?: {
|
|
962
|
+
undeclaredFields?: Array<string>;
|
|
963
|
+
undeclaredFieldsTruncated?: true;
|
|
964
|
+
totalUndeclared?: number;
|
|
965
|
+
coalescedWrefs?: Array<{
|
|
966
|
+
fieldPath: string;
|
|
967
|
+
wref: string;
|
|
968
|
+
reason: string;
|
|
969
|
+
}>;
|
|
970
|
+
coalescedWrefsTruncated?: true;
|
|
971
|
+
totalCoalescedWrefs?: number;
|
|
972
|
+
deprecations?: Array<{
|
|
973
|
+
shape: string;
|
|
974
|
+
message: string;
|
|
975
|
+
removalMilestone: string;
|
|
976
|
+
}>;
|
|
977
|
+
};
|
|
978
|
+
}>;
|
|
979
|
+
outcome: 'event' | 'no_event';
|
|
980
|
+
requestDigest: string;
|
|
981
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
982
|
+
submissionId?: string;
|
|
983
|
+
};
|
|
984
|
+
};
|
|
985
|
+
type CommitApplyCompatibilityResult$1 = {
|
|
986
|
+
committer?: string;
|
|
987
|
+
createdByEmail?: string;
|
|
988
|
+
message?: string;
|
|
989
|
+
operationCount: number;
|
|
990
|
+
repoSeq?: number;
|
|
991
|
+
operations: Array<{
|
|
992
|
+
opIndex?: number;
|
|
993
|
+
name: string;
|
|
994
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
995
|
+
version: number;
|
|
996
|
+
dataHash: string;
|
|
997
|
+
status?: 'applied' | 'noop';
|
|
998
|
+
warnings?: {
|
|
999
|
+
undeclaredFields?: Array<string>;
|
|
1000
|
+
undeclaredFieldsTruncated?: true;
|
|
1001
|
+
totalUndeclared?: number;
|
|
1002
|
+
coalescedWrefs?: Array<{
|
|
1003
|
+
fieldPath: string;
|
|
1004
|
+
wref: string;
|
|
1005
|
+
reason: string;
|
|
1006
|
+
}>;
|
|
1007
|
+
coalescedWrefsTruncated?: true;
|
|
1008
|
+
totalCoalescedWrefs?: number;
|
|
1009
|
+
deprecations?: Array<{
|
|
1010
|
+
shape: string;
|
|
1011
|
+
message: string;
|
|
1012
|
+
removalMilestone: string;
|
|
1013
|
+
}>;
|
|
1014
|
+
};
|
|
1015
|
+
}>;
|
|
1016
|
+
event: {
|
|
1017
|
+
committedAt: string;
|
|
1018
|
+
eventDigest: string;
|
|
1019
|
+
operationCount: number;
|
|
1020
|
+
repo: {
|
|
1021
|
+
orgName: string;
|
|
1022
|
+
repoName: string;
|
|
1023
|
+
};
|
|
1024
|
+
repoSeq: string;
|
|
1025
|
+
} | null;
|
|
1026
|
+
eventRequestId: string;
|
|
1027
|
+
outcome: 'event' | 'no_event';
|
|
1028
|
+
requestDigest: string;
|
|
1029
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1030
|
+
submissionId?: string;
|
|
1031
|
+
receipt: {
|
|
1032
|
+
event: {
|
|
1033
|
+
committedAt: string;
|
|
1034
|
+
eventDigest: string;
|
|
1035
|
+
operationCount: number;
|
|
1036
|
+
repo: {
|
|
1037
|
+
orgName: string;
|
|
1038
|
+
repoName: string;
|
|
1039
|
+
};
|
|
1040
|
+
repoSeq: string;
|
|
1041
|
+
} | null;
|
|
1042
|
+
eventRequestId: string;
|
|
1043
|
+
operations: Array<{
|
|
1044
|
+
opIndex?: number;
|
|
1045
|
+
name: string;
|
|
1046
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1047
|
+
version: number;
|
|
1048
|
+
dataHash: string;
|
|
1049
|
+
status?: 'applied' | 'noop';
|
|
1050
|
+
warnings?: {
|
|
1051
|
+
undeclaredFields?: Array<string>;
|
|
1052
|
+
undeclaredFieldsTruncated?: true;
|
|
1053
|
+
totalUndeclared?: number;
|
|
1054
|
+
coalescedWrefs?: Array<{
|
|
1055
|
+
fieldPath: string;
|
|
1056
|
+
wref: string;
|
|
1057
|
+
reason: string;
|
|
1058
|
+
}>;
|
|
1059
|
+
coalescedWrefsTruncated?: true;
|
|
1060
|
+
totalCoalescedWrefs?: number;
|
|
1061
|
+
deprecations?: Array<{
|
|
1062
|
+
shape: string;
|
|
1063
|
+
message: string;
|
|
1064
|
+
removalMilestone: string;
|
|
1065
|
+
}>;
|
|
1066
|
+
};
|
|
1067
|
+
} | {
|
|
1068
|
+
opIndex?: number;
|
|
1069
|
+
name: string;
|
|
1070
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1071
|
+
version?: number;
|
|
1072
|
+
dataHash?: string;
|
|
1073
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1074
|
+
error?: {
|
|
1075
|
+
code: string;
|
|
1076
|
+
message: string;
|
|
1077
|
+
details?: {
|
|
1078
|
+
reason: 'expected_version_mismatch';
|
|
1079
|
+
expectedVersion: number;
|
|
1080
|
+
currentVersion: number;
|
|
1081
|
+
} | {
|
|
1082
|
+
reason: 'lease_held';
|
|
1083
|
+
leaseExpiresAt: string;
|
|
1084
|
+
} | {
|
|
1085
|
+
reason: 'validation_failed';
|
|
1086
|
+
issues: Array<{
|
|
1087
|
+
path: string;
|
|
1088
|
+
message: string;
|
|
1089
|
+
}>;
|
|
1090
|
+
} | {
|
|
1091
|
+
reason: 'rate_limit_reset';
|
|
1092
|
+
retryAfterSeconds: number;
|
|
1093
|
+
resetAt: string;
|
|
1094
|
+
} | {
|
|
1095
|
+
reason: 'cursor_fence_unavailable';
|
|
1096
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1097
|
+
retryFromStart: true;
|
|
1098
|
+
};
|
|
1099
|
+
};
|
|
1100
|
+
resolvedName?: string;
|
|
1101
|
+
retryable?: boolean;
|
|
1102
|
+
warnings?: {
|
|
1103
|
+
undeclaredFields?: Array<string>;
|
|
1104
|
+
undeclaredFieldsTruncated?: true;
|
|
1105
|
+
totalUndeclared?: number;
|
|
1106
|
+
coalescedWrefs?: Array<{
|
|
1107
|
+
fieldPath: string;
|
|
1108
|
+
wref: string;
|
|
1109
|
+
reason: string;
|
|
1110
|
+
}>;
|
|
1111
|
+
coalescedWrefsTruncated?: true;
|
|
1112
|
+
totalCoalescedWrefs?: number;
|
|
1113
|
+
deprecations?: Array<{
|
|
1114
|
+
shape: string;
|
|
1115
|
+
message: string;
|
|
1116
|
+
removalMilestone: string;
|
|
1117
|
+
}>;
|
|
1118
|
+
};
|
|
1119
|
+
}>;
|
|
1120
|
+
outcome: 'event' | 'no_event';
|
|
1121
|
+
requestDigest: string;
|
|
1122
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1123
|
+
submissionId?: string;
|
|
1124
|
+
};
|
|
1125
|
+
};
|
|
1126
|
+
type CollectionMutationCompatibilityResult = {
|
|
1127
|
+
type: 'arc' | 'bond' | 'set' | 'list' | 'pair';
|
|
1128
|
+
wref: string;
|
|
1129
|
+
version: number;
|
|
1130
|
+
memberCount: number;
|
|
1131
|
+
dataHash?: string;
|
|
1132
|
+
operationCount: number;
|
|
1133
|
+
status: 'created' | 'updated' | 'noop';
|
|
1134
|
+
warnings?: {
|
|
1135
|
+
undeclaredFields?: Array<string>;
|
|
1136
|
+
undeclaredFieldsTruncated?: true;
|
|
1137
|
+
totalUndeclared?: number;
|
|
1138
|
+
coalescedWrefs?: Array<{
|
|
1139
|
+
fieldPath: string;
|
|
1140
|
+
wref: string;
|
|
1141
|
+
reason: string;
|
|
1142
|
+
}>;
|
|
1143
|
+
coalescedWrefsTruncated?: true;
|
|
1144
|
+
totalCoalescedWrefs?: number;
|
|
1145
|
+
deprecations?: Array<{
|
|
1146
|
+
shape: string;
|
|
1147
|
+
message: string;
|
|
1148
|
+
removalMilestone: string;
|
|
1149
|
+
}>;
|
|
1150
|
+
};
|
|
1151
|
+
event: {
|
|
1152
|
+
committedAt: string;
|
|
1153
|
+
eventDigest: string;
|
|
1154
|
+
operationCount: number;
|
|
1155
|
+
repo: {
|
|
1156
|
+
orgName: string;
|
|
1157
|
+
repoName: string;
|
|
1158
|
+
};
|
|
1159
|
+
repoSeq: string;
|
|
1160
|
+
} | null;
|
|
1161
|
+
eventRequestId: string;
|
|
1162
|
+
operations: Array<{
|
|
1163
|
+
opIndex?: number;
|
|
1164
|
+
name: string;
|
|
1165
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1166
|
+
version: number;
|
|
1167
|
+
dataHash: string;
|
|
1168
|
+
status?: 'applied' | 'noop';
|
|
1169
|
+
warnings?: {
|
|
1170
|
+
undeclaredFields?: Array<string>;
|
|
1171
|
+
undeclaredFieldsTruncated?: true;
|
|
1172
|
+
totalUndeclared?: number;
|
|
1173
|
+
coalescedWrefs?: Array<{
|
|
1174
|
+
fieldPath: string;
|
|
1175
|
+
wref: string;
|
|
1176
|
+
reason: string;
|
|
1177
|
+
}>;
|
|
1178
|
+
coalescedWrefsTruncated?: true;
|
|
1179
|
+
totalCoalescedWrefs?: number;
|
|
1180
|
+
deprecations?: Array<{
|
|
1181
|
+
shape: string;
|
|
1182
|
+
message: string;
|
|
1183
|
+
removalMilestone: string;
|
|
1184
|
+
}>;
|
|
1185
|
+
};
|
|
1186
|
+
} | {
|
|
1187
|
+
opIndex?: number;
|
|
1188
|
+
name: string;
|
|
1189
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1190
|
+
version?: number;
|
|
1191
|
+
dataHash?: string;
|
|
1192
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1193
|
+
error?: {
|
|
1194
|
+
code: string;
|
|
1195
|
+
message: string;
|
|
1196
|
+
details?: {
|
|
1197
|
+
reason: 'expected_version_mismatch';
|
|
1198
|
+
expectedVersion: number;
|
|
1199
|
+
currentVersion: number;
|
|
1200
|
+
} | {
|
|
1201
|
+
reason: 'lease_held';
|
|
1202
|
+
leaseExpiresAt: string;
|
|
1203
|
+
} | {
|
|
1204
|
+
reason: 'validation_failed';
|
|
1205
|
+
issues: Array<{
|
|
1206
|
+
path: string;
|
|
1207
|
+
message: string;
|
|
1208
|
+
}>;
|
|
1209
|
+
} | {
|
|
1210
|
+
reason: 'rate_limit_reset';
|
|
1211
|
+
retryAfterSeconds: number;
|
|
1212
|
+
resetAt: string;
|
|
1213
|
+
} | {
|
|
1214
|
+
reason: 'cursor_fence_unavailable';
|
|
1215
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1216
|
+
retryFromStart: true;
|
|
1217
|
+
};
|
|
1218
|
+
};
|
|
1219
|
+
resolvedName?: string;
|
|
1220
|
+
retryable?: boolean;
|
|
1221
|
+
warnings?: {
|
|
1222
|
+
undeclaredFields?: Array<string>;
|
|
1223
|
+
undeclaredFieldsTruncated?: true;
|
|
1224
|
+
totalUndeclared?: number;
|
|
1225
|
+
coalescedWrefs?: Array<{
|
|
1226
|
+
fieldPath: string;
|
|
1227
|
+
wref: string;
|
|
1228
|
+
reason: string;
|
|
1229
|
+
}>;
|
|
1230
|
+
coalescedWrefsTruncated?: true;
|
|
1231
|
+
totalCoalescedWrefs?: number;
|
|
1232
|
+
deprecations?: Array<{
|
|
1233
|
+
shape: string;
|
|
1234
|
+
message: string;
|
|
1235
|
+
removalMilestone: string;
|
|
1236
|
+
}>;
|
|
1237
|
+
};
|
|
1238
|
+
}>;
|
|
1239
|
+
outcome: 'event' | 'no_event';
|
|
1240
|
+
requestDigest: string;
|
|
1241
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1242
|
+
submissionId?: string;
|
|
1243
|
+
receipt: {
|
|
1244
|
+
event: {
|
|
1245
|
+
committedAt: string;
|
|
1246
|
+
eventDigest: string;
|
|
1247
|
+
operationCount: number;
|
|
1248
|
+
repo: {
|
|
1249
|
+
orgName: string;
|
|
1250
|
+
repoName: string;
|
|
1251
|
+
};
|
|
1252
|
+
repoSeq: string;
|
|
1253
|
+
} | null;
|
|
1254
|
+
eventRequestId: string;
|
|
1255
|
+
operations: Array<{
|
|
1256
|
+
opIndex?: number;
|
|
1257
|
+
name: string;
|
|
1258
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1259
|
+
version: number;
|
|
1260
|
+
dataHash: string;
|
|
1261
|
+
status?: 'applied' | 'noop';
|
|
1262
|
+
warnings?: {
|
|
1263
|
+
undeclaredFields?: Array<string>;
|
|
1264
|
+
undeclaredFieldsTruncated?: true;
|
|
1265
|
+
totalUndeclared?: number;
|
|
1266
|
+
coalescedWrefs?: Array<{
|
|
1267
|
+
fieldPath: string;
|
|
1268
|
+
wref: string;
|
|
1269
|
+
reason: string;
|
|
1270
|
+
}>;
|
|
1271
|
+
coalescedWrefsTruncated?: true;
|
|
1272
|
+
totalCoalescedWrefs?: number;
|
|
1273
|
+
deprecations?: Array<{
|
|
1274
|
+
shape: string;
|
|
1275
|
+
message: string;
|
|
1276
|
+
removalMilestone: string;
|
|
1277
|
+
}>;
|
|
1278
|
+
};
|
|
1279
|
+
} | {
|
|
1280
|
+
opIndex?: number;
|
|
1281
|
+
name: string;
|
|
1282
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1283
|
+
version?: number;
|
|
1284
|
+
dataHash?: string;
|
|
1285
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1286
|
+
error?: {
|
|
1287
|
+
code: string;
|
|
1288
|
+
message: string;
|
|
1289
|
+
details?: {
|
|
1290
|
+
reason: 'expected_version_mismatch';
|
|
1291
|
+
expectedVersion: number;
|
|
1292
|
+
currentVersion: number;
|
|
1293
|
+
} | {
|
|
1294
|
+
reason: 'lease_held';
|
|
1295
|
+
leaseExpiresAt: string;
|
|
1296
|
+
} | {
|
|
1297
|
+
reason: 'validation_failed';
|
|
1298
|
+
issues: Array<{
|
|
1299
|
+
path: string;
|
|
1300
|
+
message: string;
|
|
1301
|
+
}>;
|
|
1302
|
+
} | {
|
|
1303
|
+
reason: 'rate_limit_reset';
|
|
1304
|
+
retryAfterSeconds: number;
|
|
1305
|
+
resetAt: string;
|
|
1306
|
+
} | {
|
|
1307
|
+
reason: 'cursor_fence_unavailable';
|
|
1308
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1309
|
+
retryFromStart: true;
|
|
1310
|
+
};
|
|
1311
|
+
};
|
|
1312
|
+
resolvedName?: string;
|
|
1313
|
+
retryable?: boolean;
|
|
1314
|
+
warnings?: {
|
|
1315
|
+
undeclaredFields?: Array<string>;
|
|
1316
|
+
undeclaredFieldsTruncated?: true;
|
|
1317
|
+
totalUndeclared?: number;
|
|
1318
|
+
coalescedWrefs?: Array<{
|
|
1319
|
+
fieldPath: string;
|
|
1320
|
+
wref: string;
|
|
1321
|
+
reason: string;
|
|
1322
|
+
}>;
|
|
1323
|
+
coalescedWrefsTruncated?: true;
|
|
1324
|
+
totalCoalescedWrefs?: number;
|
|
1325
|
+
deprecations?: Array<{
|
|
1326
|
+
shape: string;
|
|
1327
|
+
message: string;
|
|
1328
|
+
removalMilestone: string;
|
|
1329
|
+
}>;
|
|
1330
|
+
};
|
|
1331
|
+
}>;
|
|
1332
|
+
outcome: 'event' | 'no_event';
|
|
1333
|
+
requestDigest: string;
|
|
1334
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1335
|
+
submissionId?: string;
|
|
1336
|
+
};
|
|
1337
|
+
};
|
|
1338
|
+
type RenameCompatibilityResult = {
|
|
1339
|
+
renamed: true;
|
|
1340
|
+
event: {
|
|
1341
|
+
committedAt: string;
|
|
1342
|
+
eventDigest: string;
|
|
1343
|
+
operationCount: number;
|
|
1344
|
+
repo: {
|
|
1345
|
+
orgName: string;
|
|
1346
|
+
repoName: string;
|
|
1347
|
+
};
|
|
1348
|
+
repoSeq: string;
|
|
1349
|
+
} | null;
|
|
1350
|
+
eventRequestId: string;
|
|
1351
|
+
operations: Array<{
|
|
1352
|
+
opIndex?: number;
|
|
1353
|
+
name: string;
|
|
1354
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1355
|
+
version: number;
|
|
1356
|
+
dataHash: string;
|
|
1357
|
+
status?: 'applied' | 'noop';
|
|
1358
|
+
warnings?: {
|
|
1359
|
+
undeclaredFields?: Array<string>;
|
|
1360
|
+
undeclaredFieldsTruncated?: true;
|
|
1361
|
+
totalUndeclared?: number;
|
|
1362
|
+
coalescedWrefs?: Array<{
|
|
1363
|
+
fieldPath: string;
|
|
1364
|
+
wref: string;
|
|
1365
|
+
reason: string;
|
|
1366
|
+
}>;
|
|
1367
|
+
coalescedWrefsTruncated?: true;
|
|
1368
|
+
totalCoalescedWrefs?: number;
|
|
1369
|
+
deprecations?: Array<{
|
|
1370
|
+
shape: string;
|
|
1371
|
+
message: string;
|
|
1372
|
+
removalMilestone: string;
|
|
1373
|
+
}>;
|
|
1374
|
+
};
|
|
1375
|
+
} | {
|
|
1376
|
+
opIndex?: number;
|
|
1377
|
+
name: string;
|
|
1378
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1379
|
+
version?: number;
|
|
1380
|
+
dataHash?: string;
|
|
1381
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1382
|
+
error?: {
|
|
1383
|
+
code: string;
|
|
1384
|
+
message: string;
|
|
1385
|
+
details?: {
|
|
1386
|
+
reason: 'expected_version_mismatch';
|
|
1387
|
+
expectedVersion: number;
|
|
1388
|
+
currentVersion: number;
|
|
1389
|
+
} | {
|
|
1390
|
+
reason: 'lease_held';
|
|
1391
|
+
leaseExpiresAt: string;
|
|
1392
|
+
} | {
|
|
1393
|
+
reason: 'validation_failed';
|
|
1394
|
+
issues: Array<{
|
|
1395
|
+
path: string;
|
|
1396
|
+
message: string;
|
|
1397
|
+
}>;
|
|
1398
|
+
} | {
|
|
1399
|
+
reason: 'rate_limit_reset';
|
|
1400
|
+
retryAfterSeconds: number;
|
|
1401
|
+
resetAt: string;
|
|
1402
|
+
} | {
|
|
1403
|
+
reason: 'cursor_fence_unavailable';
|
|
1404
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1405
|
+
retryFromStart: true;
|
|
1406
|
+
};
|
|
1407
|
+
};
|
|
1408
|
+
resolvedName?: string;
|
|
1409
|
+
retryable?: boolean;
|
|
1410
|
+
warnings?: {
|
|
1411
|
+
undeclaredFields?: Array<string>;
|
|
1412
|
+
undeclaredFieldsTruncated?: true;
|
|
1413
|
+
totalUndeclared?: number;
|
|
1414
|
+
coalescedWrefs?: Array<{
|
|
1415
|
+
fieldPath: string;
|
|
1416
|
+
wref: string;
|
|
1417
|
+
reason: string;
|
|
1418
|
+
}>;
|
|
1419
|
+
coalescedWrefsTruncated?: true;
|
|
1420
|
+
totalCoalescedWrefs?: number;
|
|
1421
|
+
deprecations?: Array<{
|
|
1422
|
+
shape: string;
|
|
1423
|
+
message: string;
|
|
1424
|
+
removalMilestone: string;
|
|
1425
|
+
}>;
|
|
1426
|
+
};
|
|
1427
|
+
}>;
|
|
1428
|
+
outcome: 'event' | 'no_event';
|
|
1429
|
+
requestDigest: string;
|
|
1430
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1431
|
+
submissionId?: string;
|
|
1432
|
+
receipt: {
|
|
1433
|
+
event: {
|
|
1434
|
+
committedAt: string;
|
|
1435
|
+
eventDigest: string;
|
|
1436
|
+
operationCount: number;
|
|
1437
|
+
repo: {
|
|
1438
|
+
orgName: string;
|
|
1439
|
+
repoName: string;
|
|
1440
|
+
};
|
|
1441
|
+
repoSeq: string;
|
|
1442
|
+
} | null;
|
|
1443
|
+
eventRequestId: string;
|
|
1444
|
+
operations: Array<{
|
|
1445
|
+
opIndex?: number;
|
|
1446
|
+
name: string;
|
|
1447
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1448
|
+
version: number;
|
|
1449
|
+
dataHash: string;
|
|
1450
|
+
status?: 'applied' | 'noop';
|
|
1451
|
+
warnings?: {
|
|
1452
|
+
undeclaredFields?: Array<string>;
|
|
1453
|
+
undeclaredFieldsTruncated?: true;
|
|
1454
|
+
totalUndeclared?: number;
|
|
1455
|
+
coalescedWrefs?: Array<{
|
|
1456
|
+
fieldPath: string;
|
|
1457
|
+
wref: string;
|
|
1458
|
+
reason: string;
|
|
1459
|
+
}>;
|
|
1460
|
+
coalescedWrefsTruncated?: true;
|
|
1461
|
+
totalCoalescedWrefs?: number;
|
|
1462
|
+
deprecations?: Array<{
|
|
1463
|
+
shape: string;
|
|
1464
|
+
message: string;
|
|
1465
|
+
removalMilestone: string;
|
|
1466
|
+
}>;
|
|
1467
|
+
};
|
|
1468
|
+
} | {
|
|
1469
|
+
opIndex?: number;
|
|
1470
|
+
name: string;
|
|
1471
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1472
|
+
version?: number;
|
|
1473
|
+
dataHash?: string;
|
|
1474
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1475
|
+
error?: {
|
|
1476
|
+
code: string;
|
|
1477
|
+
message: string;
|
|
1478
|
+
details?: {
|
|
1479
|
+
reason: 'expected_version_mismatch';
|
|
1480
|
+
expectedVersion: number;
|
|
1481
|
+
currentVersion: number;
|
|
1482
|
+
} | {
|
|
1483
|
+
reason: 'lease_held';
|
|
1484
|
+
leaseExpiresAt: string;
|
|
1485
|
+
} | {
|
|
1486
|
+
reason: 'validation_failed';
|
|
1487
|
+
issues: Array<{
|
|
1488
|
+
path: string;
|
|
1489
|
+
message: string;
|
|
1490
|
+
}>;
|
|
1491
|
+
} | {
|
|
1492
|
+
reason: 'rate_limit_reset';
|
|
1493
|
+
retryAfterSeconds: number;
|
|
1494
|
+
resetAt: string;
|
|
1495
|
+
} | {
|
|
1496
|
+
reason: 'cursor_fence_unavailable';
|
|
1497
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1498
|
+
retryFromStart: true;
|
|
1499
|
+
};
|
|
1500
|
+
};
|
|
1501
|
+
resolvedName?: string;
|
|
1502
|
+
retryable?: boolean;
|
|
1503
|
+
warnings?: {
|
|
1504
|
+
undeclaredFields?: Array<string>;
|
|
1505
|
+
undeclaredFieldsTruncated?: true;
|
|
1506
|
+
totalUndeclared?: number;
|
|
1507
|
+
coalescedWrefs?: Array<{
|
|
1508
|
+
fieldPath: string;
|
|
1509
|
+
wref: string;
|
|
1510
|
+
reason: string;
|
|
1511
|
+
}>;
|
|
1512
|
+
coalescedWrefsTruncated?: true;
|
|
1513
|
+
totalCoalescedWrefs?: number;
|
|
1514
|
+
deprecations?: Array<{
|
|
1515
|
+
shape: string;
|
|
1516
|
+
message: string;
|
|
1517
|
+
removalMilestone: string;
|
|
1518
|
+
}>;
|
|
1519
|
+
};
|
|
1520
|
+
}>;
|
|
1521
|
+
outcome: 'event' | 'no_event';
|
|
1522
|
+
requestDigest: string;
|
|
1523
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1524
|
+
submissionId?: string;
|
|
1525
|
+
};
|
|
1526
|
+
};
|
|
1527
|
+
type ShapeChangeCompatibilityResult = {
|
|
1528
|
+
name: string;
|
|
1529
|
+
operation: 'add' | 'revise' | 'retract' | 'noop';
|
|
1530
|
+
version: number;
|
|
1531
|
+
dataHash: string;
|
|
1532
|
+
event: {
|
|
1533
|
+
committedAt: string;
|
|
1534
|
+
eventDigest: string;
|
|
1535
|
+
operationCount: number;
|
|
1536
|
+
repo: {
|
|
1537
|
+
orgName: string;
|
|
1538
|
+
repoName: string;
|
|
1539
|
+
};
|
|
1540
|
+
repoSeq: string;
|
|
1541
|
+
} | null;
|
|
1542
|
+
eventRequestId: string;
|
|
1543
|
+
operations: Array<{
|
|
1544
|
+
opIndex?: number;
|
|
1545
|
+
name: string;
|
|
1546
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1547
|
+
version: number;
|
|
1548
|
+
dataHash: string;
|
|
1549
|
+
status?: 'applied' | 'noop';
|
|
1550
|
+
warnings?: {
|
|
1551
|
+
undeclaredFields?: Array<string>;
|
|
1552
|
+
undeclaredFieldsTruncated?: true;
|
|
1553
|
+
totalUndeclared?: number;
|
|
1554
|
+
coalescedWrefs?: Array<{
|
|
1555
|
+
fieldPath: string;
|
|
1556
|
+
wref: string;
|
|
1557
|
+
reason: string;
|
|
1558
|
+
}>;
|
|
1559
|
+
coalescedWrefsTruncated?: true;
|
|
1560
|
+
totalCoalescedWrefs?: number;
|
|
1561
|
+
deprecations?: Array<{
|
|
1562
|
+
shape: string;
|
|
1563
|
+
message: string;
|
|
1564
|
+
removalMilestone: string;
|
|
1565
|
+
}>;
|
|
1566
|
+
};
|
|
1567
|
+
} | {
|
|
1568
|
+
opIndex?: number;
|
|
1569
|
+
name: string;
|
|
1570
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1571
|
+
version?: number;
|
|
1572
|
+
dataHash?: string;
|
|
1573
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1574
|
+
error?: {
|
|
1575
|
+
code: string;
|
|
1576
|
+
message: string;
|
|
1577
|
+
details?: {
|
|
1578
|
+
reason: 'expected_version_mismatch';
|
|
1579
|
+
expectedVersion: number;
|
|
1580
|
+
currentVersion: number;
|
|
1581
|
+
} | {
|
|
1582
|
+
reason: 'lease_held';
|
|
1583
|
+
leaseExpiresAt: string;
|
|
1584
|
+
} | {
|
|
1585
|
+
reason: 'validation_failed';
|
|
1586
|
+
issues: Array<{
|
|
1587
|
+
path: string;
|
|
1588
|
+
message: string;
|
|
1589
|
+
}>;
|
|
1590
|
+
} | {
|
|
1591
|
+
reason: 'rate_limit_reset';
|
|
1592
|
+
retryAfterSeconds: number;
|
|
1593
|
+
resetAt: string;
|
|
1594
|
+
} | {
|
|
1595
|
+
reason: 'cursor_fence_unavailable';
|
|
1596
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1597
|
+
retryFromStart: true;
|
|
1598
|
+
};
|
|
1599
|
+
};
|
|
1600
|
+
resolvedName?: string;
|
|
1601
|
+
retryable?: boolean;
|
|
1602
|
+
warnings?: {
|
|
1603
|
+
undeclaredFields?: Array<string>;
|
|
1604
|
+
undeclaredFieldsTruncated?: true;
|
|
1605
|
+
totalUndeclared?: number;
|
|
1606
|
+
coalescedWrefs?: Array<{
|
|
1607
|
+
fieldPath: string;
|
|
1608
|
+
wref: string;
|
|
1609
|
+
reason: string;
|
|
1610
|
+
}>;
|
|
1611
|
+
coalescedWrefsTruncated?: true;
|
|
1612
|
+
totalCoalescedWrefs?: number;
|
|
1613
|
+
deprecations?: Array<{
|
|
1614
|
+
shape: string;
|
|
1615
|
+
message: string;
|
|
1616
|
+
removalMilestone: string;
|
|
1617
|
+
}>;
|
|
1618
|
+
};
|
|
1619
|
+
}>;
|
|
1620
|
+
outcome: 'event' | 'no_event';
|
|
1621
|
+
requestDigest: string;
|
|
1622
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1623
|
+
submissionId?: string;
|
|
1624
|
+
receipt: {
|
|
1625
|
+
event: {
|
|
1626
|
+
committedAt: string;
|
|
1627
|
+
eventDigest: string;
|
|
1628
|
+
operationCount: number;
|
|
1629
|
+
repo: {
|
|
1630
|
+
orgName: string;
|
|
1631
|
+
repoName: string;
|
|
1632
|
+
};
|
|
1633
|
+
repoSeq: string;
|
|
1634
|
+
} | null;
|
|
1635
|
+
eventRequestId: string;
|
|
1636
|
+
operations: Array<{
|
|
1637
|
+
opIndex?: number;
|
|
1638
|
+
name: string;
|
|
1639
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1640
|
+
version: number;
|
|
1641
|
+
dataHash: string;
|
|
1642
|
+
status?: 'applied' | 'noop';
|
|
1643
|
+
warnings?: {
|
|
1644
|
+
undeclaredFields?: Array<string>;
|
|
1645
|
+
undeclaredFieldsTruncated?: true;
|
|
1646
|
+
totalUndeclared?: number;
|
|
1647
|
+
coalescedWrefs?: Array<{
|
|
1648
|
+
fieldPath: string;
|
|
1649
|
+
wref: string;
|
|
1650
|
+
reason: string;
|
|
1651
|
+
}>;
|
|
1652
|
+
coalescedWrefsTruncated?: true;
|
|
1653
|
+
totalCoalescedWrefs?: number;
|
|
1654
|
+
deprecations?: Array<{
|
|
1655
|
+
shape: string;
|
|
1656
|
+
message: string;
|
|
1657
|
+
removalMilestone: string;
|
|
1658
|
+
}>;
|
|
1659
|
+
};
|
|
1660
|
+
} | {
|
|
1661
|
+
opIndex?: number;
|
|
1662
|
+
name: string;
|
|
1663
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1664
|
+
version?: number;
|
|
1665
|
+
dataHash?: string;
|
|
1666
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1667
|
+
error?: {
|
|
1668
|
+
code: string;
|
|
1669
|
+
message: string;
|
|
1670
|
+
details?: {
|
|
1671
|
+
reason: 'expected_version_mismatch';
|
|
1672
|
+
expectedVersion: number;
|
|
1673
|
+
currentVersion: number;
|
|
1674
|
+
} | {
|
|
1675
|
+
reason: 'lease_held';
|
|
1676
|
+
leaseExpiresAt: string;
|
|
1677
|
+
} | {
|
|
1678
|
+
reason: 'validation_failed';
|
|
1679
|
+
issues: Array<{
|
|
1680
|
+
path: string;
|
|
1681
|
+
message: string;
|
|
1682
|
+
}>;
|
|
1683
|
+
} | {
|
|
1684
|
+
reason: 'rate_limit_reset';
|
|
1685
|
+
retryAfterSeconds: number;
|
|
1686
|
+
resetAt: string;
|
|
1687
|
+
} | {
|
|
1688
|
+
reason: 'cursor_fence_unavailable';
|
|
1689
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1690
|
+
retryFromStart: true;
|
|
1691
|
+
};
|
|
1692
|
+
};
|
|
1693
|
+
resolvedName?: string;
|
|
1694
|
+
retryable?: boolean;
|
|
1695
|
+
warnings?: {
|
|
1696
|
+
undeclaredFields?: Array<string>;
|
|
1697
|
+
undeclaredFieldsTruncated?: true;
|
|
1698
|
+
totalUndeclared?: number;
|
|
1699
|
+
coalescedWrefs?: Array<{
|
|
1700
|
+
fieldPath: string;
|
|
1701
|
+
wref: string;
|
|
1702
|
+
reason: string;
|
|
1703
|
+
}>;
|
|
1704
|
+
coalescedWrefsTruncated?: true;
|
|
1705
|
+
totalCoalescedWrefs?: number;
|
|
1706
|
+
deprecations?: Array<{
|
|
1707
|
+
shape: string;
|
|
1708
|
+
message: string;
|
|
1709
|
+
removalMilestone: string;
|
|
1710
|
+
}>;
|
|
1711
|
+
};
|
|
1712
|
+
}>;
|
|
1713
|
+
outcome: 'event' | 'no_event';
|
|
1714
|
+
requestDigest: string;
|
|
1715
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1716
|
+
submissionId?: string;
|
|
1717
|
+
};
|
|
572
1718
|
};
|
|
573
|
-
type
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
1719
|
+
type ShapeRemoveCompatibilityResult = {
|
|
1720
|
+
name: string;
|
|
1721
|
+
operation: 'add' | 'revise' | 'retract' | 'noop';
|
|
1722
|
+
version: number;
|
|
1723
|
+
dataHash: string;
|
|
1724
|
+
removed: true;
|
|
1725
|
+
event: {
|
|
1726
|
+
committedAt: string;
|
|
1727
|
+
eventDigest: string;
|
|
1728
|
+
operationCount: number;
|
|
1729
|
+
repo: {
|
|
1730
|
+
orgName: string;
|
|
1731
|
+
repoName: string;
|
|
1732
|
+
};
|
|
1733
|
+
repoSeq: string;
|
|
1734
|
+
} | null;
|
|
1735
|
+
eventRequestId: string;
|
|
584
1736
|
operations: Array<{
|
|
585
|
-
|
|
586
|
-
kind: 'shape';
|
|
587
|
-
name: string;
|
|
588
|
-
data: unknown;
|
|
589
|
-
skipExisting?: boolean;
|
|
590
|
-
} | {
|
|
591
|
-
operation: 'add';
|
|
592
|
-
kind: 'thing';
|
|
593
|
-
name: string;
|
|
594
|
-
data: unknown;
|
|
595
|
-
skipExisting?: boolean;
|
|
596
|
-
} | {
|
|
597
|
-
operation: 'add';
|
|
598
|
-
kind: 'assertion';
|
|
599
|
-
name: string;
|
|
600
|
-
about: string;
|
|
601
|
-
data: unknown;
|
|
602
|
-
skipExisting?: boolean;
|
|
603
|
-
} | {
|
|
604
|
-
operation: 'add';
|
|
605
|
-
kind: 'collection';
|
|
606
|
-
name: string;
|
|
607
|
-
type: 'arc' | 'bond' | 'pair' | 'set' | 'list';
|
|
608
|
-
members: Array<string>;
|
|
609
|
-
skipExisting?: boolean;
|
|
610
|
-
} | {
|
|
611
|
-
operation: 'revise';
|
|
612
|
-
kind: 'shape';
|
|
613
|
-
name: string;
|
|
614
|
-
data: unknown;
|
|
615
|
-
expectedVersion?: number;
|
|
616
|
-
active?: never;
|
|
617
|
-
leaseId?: string;
|
|
618
|
-
} | {
|
|
619
|
-
operation: 'revise';
|
|
620
|
-
kind: 'thing';
|
|
621
|
-
name: string;
|
|
622
|
-
data: unknown;
|
|
623
|
-
expectedVersion?: number;
|
|
624
|
-
active?: never;
|
|
625
|
-
leaseId?: string;
|
|
626
|
-
} | {
|
|
627
|
-
operation: 'revise';
|
|
628
|
-
kind: 'assertion';
|
|
629
|
-
name: string;
|
|
630
|
-
data: unknown;
|
|
631
|
-
expectedVersion?: number;
|
|
632
|
-
active?: never;
|
|
633
|
-
leaseId?: string;
|
|
634
|
-
} | {
|
|
635
|
-
operation: 'revise';
|
|
636
|
-
kind: 'collection';
|
|
637
|
-
name: string;
|
|
638
|
-
type: 'arc' | 'bond' | 'pair' | 'set' | 'list';
|
|
639
|
-
members: Array<string>;
|
|
640
|
-
expectedVersion?: number;
|
|
641
|
-
leaseId?: string;
|
|
642
|
-
} | {
|
|
643
|
-
operation: 'retract';
|
|
1737
|
+
opIndex?: number;
|
|
644
1738
|
name: string;
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
1739
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1740
|
+
version: number;
|
|
1741
|
+
dataHash: string;
|
|
1742
|
+
status?: 'applied' | 'noop';
|
|
1743
|
+
warnings?: {
|
|
1744
|
+
undeclaredFields?: Array<string>;
|
|
1745
|
+
undeclaredFieldsTruncated?: true;
|
|
1746
|
+
totalUndeclared?: number;
|
|
1747
|
+
coalescedWrefs?: Array<{
|
|
1748
|
+
fieldPath: string;
|
|
1749
|
+
wref: string;
|
|
1750
|
+
reason: string;
|
|
1751
|
+
}>;
|
|
1752
|
+
coalescedWrefsTruncated?: true;
|
|
1753
|
+
totalCoalescedWrefs?: number;
|
|
1754
|
+
deprecations?: Array<{
|
|
1755
|
+
shape: string;
|
|
1756
|
+
message: string;
|
|
1757
|
+
removalMilestone: string;
|
|
1758
|
+
}>;
|
|
1759
|
+
};
|
|
649
1760
|
} | {
|
|
650
|
-
operation: 'rename';
|
|
651
|
-
name: string;
|
|
652
|
-
newName: string;
|
|
653
|
-
kind?: 'shape' | 'thing' | 'assertion' | 'collection';
|
|
654
|
-
}>;
|
|
655
|
-
};
|
|
656
|
-
type StreamAppendResult$1 = {
|
|
657
|
-
allocatedTokenRanges: [];
|
|
658
|
-
results: Array<{
|
|
659
1761
|
opIndex?: number;
|
|
660
1762
|
name: string;
|
|
661
1763
|
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
@@ -708,32 +1810,103 @@ type StreamAppendResult$1 = {
|
|
|
708
1810
|
}>;
|
|
709
1811
|
};
|
|
710
1812
|
}>;
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
1813
|
+
outcome: 'event' | 'no_event';
|
|
1814
|
+
requestDigest: string;
|
|
1815
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1816
|
+
submissionId?: string;
|
|
1817
|
+
receipt: {
|
|
1818
|
+
event: {
|
|
1819
|
+
committedAt: string;
|
|
1820
|
+
eventDigest: string;
|
|
1821
|
+
operationCount: number;
|
|
1822
|
+
repo: {
|
|
1823
|
+
orgName: string;
|
|
1824
|
+
repoName: string;
|
|
1825
|
+
};
|
|
1826
|
+
repoSeq: string;
|
|
1827
|
+
} | null;
|
|
1828
|
+
eventRequestId: string;
|
|
1829
|
+
operations: Array<{
|
|
1830
|
+
opIndex?: number;
|
|
1831
|
+
name: string;
|
|
1832
|
+
operation: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1833
|
+
version: number;
|
|
1834
|
+
dataHash: string;
|
|
1835
|
+
status?: 'applied' | 'noop';
|
|
1836
|
+
warnings?: {
|
|
1837
|
+
undeclaredFields?: Array<string>;
|
|
1838
|
+
undeclaredFieldsTruncated?: true;
|
|
1839
|
+
totalUndeclared?: number;
|
|
1840
|
+
coalescedWrefs?: Array<{
|
|
1841
|
+
fieldPath: string;
|
|
1842
|
+
wref: string;
|
|
1843
|
+
reason: string;
|
|
1844
|
+
}>;
|
|
1845
|
+
coalescedWrefsTruncated?: true;
|
|
1846
|
+
totalCoalescedWrefs?: number;
|
|
1847
|
+
deprecations?: Array<{
|
|
1848
|
+
shape: string;
|
|
1849
|
+
message: string;
|
|
1850
|
+
removalMilestone: string;
|
|
1851
|
+
}>;
|
|
1852
|
+
};
|
|
1853
|
+
} | {
|
|
1854
|
+
opIndex?: number;
|
|
1855
|
+
name: string;
|
|
1856
|
+
operation?: 'add' | 'revise' | 'retract' | 'rename' | 'noop';
|
|
1857
|
+
version?: number;
|
|
1858
|
+
dataHash?: string;
|
|
1859
|
+
status?: 'success' | 'noop' | 'failed';
|
|
1860
|
+
error?: {
|
|
1861
|
+
code: string;
|
|
1862
|
+
message: string;
|
|
1863
|
+
details?: {
|
|
1864
|
+
reason: 'expected_version_mismatch';
|
|
1865
|
+
expectedVersion: number;
|
|
1866
|
+
currentVersion: number;
|
|
1867
|
+
} | {
|
|
1868
|
+
reason: 'lease_held';
|
|
1869
|
+
leaseExpiresAt: string;
|
|
1870
|
+
} | {
|
|
1871
|
+
reason: 'validation_failed';
|
|
1872
|
+
issues: Array<{
|
|
1873
|
+
path: string;
|
|
1874
|
+
message: string;
|
|
1875
|
+
}>;
|
|
1876
|
+
} | {
|
|
1877
|
+
reason: 'rate_limit_reset';
|
|
1878
|
+
retryAfterSeconds: number;
|
|
1879
|
+
resetAt: string;
|
|
1880
|
+
} | {
|
|
1881
|
+
reason: 'cursor_fence_unavailable';
|
|
1882
|
+
cause: 'not_ready' | 'below_floor' | 'above_head';
|
|
1883
|
+
retryFromStart: true;
|
|
1884
|
+
};
|
|
1885
|
+
};
|
|
1886
|
+
resolvedName?: string;
|
|
1887
|
+
retryable?: boolean;
|
|
1888
|
+
warnings?: {
|
|
1889
|
+
undeclaredFields?: Array<string>;
|
|
1890
|
+
undeclaredFieldsTruncated?: true;
|
|
1891
|
+
totalUndeclared?: number;
|
|
1892
|
+
coalescedWrefs?: Array<{
|
|
1893
|
+
fieldPath: string;
|
|
1894
|
+
wref: string;
|
|
1895
|
+
reason: string;
|
|
1896
|
+
}>;
|
|
1897
|
+
coalescedWrefsTruncated?: true;
|
|
1898
|
+
totalCoalescedWrefs?: number;
|
|
1899
|
+
deprecations?: Array<{
|
|
1900
|
+
shape: string;
|
|
1901
|
+
message: string;
|
|
1902
|
+
removalMilestone: string;
|
|
1903
|
+
}>;
|
|
1904
|
+
};
|
|
1905
|
+
}>;
|
|
1906
|
+
outcome: 'event' | 'no_event';
|
|
1907
|
+
requestDigest: string;
|
|
1908
|
+
schemaVersion: 'operation-event-receipt/v1';
|
|
1909
|
+
submissionId?: string;
|
|
737
1910
|
};
|
|
738
1911
|
};
|
|
739
1912
|
type Org = {
|
|
@@ -879,8 +2052,111 @@ type ThingHeadVersionsResult$1 = {
|
|
|
879
2052
|
}>;
|
|
880
2053
|
missing: Array<string>;
|
|
881
2054
|
};
|
|
882
|
-
type
|
|
883
|
-
|
|
2055
|
+
type RepositoryCheckpointAccess$1 = {
|
|
2056
|
+
checkpointId: string;
|
|
2057
|
+
repoSeq: number;
|
|
2058
|
+
expiresAt: number;
|
|
2059
|
+
url: string;
|
|
2060
|
+
byteLength: number;
|
|
2061
|
+
sha256: string;
|
|
2062
|
+
contentType: 'application/zip' | 'application/json' | 'application/x-ndjson';
|
|
2063
|
+
};
|
|
2064
|
+
type RepositoryCheckpointStatus$1 = {
|
|
2065
|
+
checkpointId: string;
|
|
2066
|
+
repoSeq: number;
|
|
2067
|
+
contractVersion: 1;
|
|
2068
|
+
attemptsStarted: number;
|
|
2069
|
+
runAgeMs: number;
|
|
2070
|
+
createdAt: number;
|
|
2071
|
+
updatedAt: number;
|
|
2072
|
+
runStartedAt: number;
|
|
2073
|
+
state: 'queued';
|
|
2074
|
+
nextAction: 'poll';
|
|
2075
|
+
} | {
|
|
2076
|
+
checkpointId: string;
|
|
2077
|
+
repoSeq: number;
|
|
2078
|
+
contractVersion: 1;
|
|
2079
|
+
attemptsStarted: number;
|
|
2080
|
+
runAgeMs: number;
|
|
2081
|
+
createdAt: number;
|
|
2082
|
+
updatedAt: number;
|
|
2083
|
+
runStartedAt: number;
|
|
2084
|
+
state: 'running';
|
|
2085
|
+
nextAction: 'poll';
|
|
2086
|
+
} | {
|
|
2087
|
+
checkpointId: string;
|
|
2088
|
+
repoSeq: number;
|
|
2089
|
+
contractVersion: 1;
|
|
2090
|
+
attemptsStarted: number;
|
|
2091
|
+
runAgeMs: number;
|
|
2092
|
+
createdAt: number;
|
|
2093
|
+
updatedAt: number;
|
|
2094
|
+
runStartedAt: number;
|
|
2095
|
+
state: 'complete';
|
|
2096
|
+
nextAction: 'download';
|
|
2097
|
+
completedAt: number;
|
|
2098
|
+
recordCount: number;
|
|
2099
|
+
manifest: {
|
|
2100
|
+
byteLength: number;
|
|
2101
|
+
sha256: string;
|
|
2102
|
+
};
|
|
2103
|
+
archive: {
|
|
2104
|
+
byteLength: number;
|
|
2105
|
+
sha256: string;
|
|
2106
|
+
contentType: 'application/zip';
|
|
2107
|
+
};
|
|
2108
|
+
} | {
|
|
2109
|
+
checkpointId: string;
|
|
2110
|
+
repoSeq: number;
|
|
2111
|
+
contractVersion: 1;
|
|
2112
|
+
attemptsStarted: number;
|
|
2113
|
+
runAgeMs: number;
|
|
2114
|
+
createdAt: number;
|
|
2115
|
+
updatedAt: number;
|
|
2116
|
+
runStartedAt: number;
|
|
2117
|
+
state: 'failed';
|
|
2118
|
+
completedAt: number;
|
|
2119
|
+
failureCode: 'deadline_exceeded';
|
|
2120
|
+
nextAction: 'retry';
|
|
2121
|
+
} | {
|
|
2122
|
+
checkpointId: string;
|
|
2123
|
+
repoSeq: number;
|
|
2124
|
+
contractVersion: 1;
|
|
2125
|
+
attemptsStarted: number;
|
|
2126
|
+
runAgeMs: number;
|
|
2127
|
+
createdAt: number;
|
|
2128
|
+
updatedAt: number;
|
|
2129
|
+
runStartedAt: number;
|
|
2130
|
+
state: 'failed';
|
|
2131
|
+
completedAt: number;
|
|
2132
|
+
failureCode: 'invalid_source';
|
|
2133
|
+
nextAction: 'generate';
|
|
2134
|
+
} | {
|
|
2135
|
+
checkpointId: string;
|
|
2136
|
+
repoSeq: number;
|
|
2137
|
+
contractVersion: 1;
|
|
2138
|
+
attemptsStarted: number;
|
|
2139
|
+
runAgeMs: number;
|
|
2140
|
+
createdAt: number;
|
|
2141
|
+
updatedAt: number;
|
|
2142
|
+
runStartedAt: number;
|
|
2143
|
+
state: 'failed';
|
|
2144
|
+
completedAt: number;
|
|
2145
|
+
failureCode: 'canonicalization_failed' | 'integrity_failed' | 'unsupported_contract';
|
|
2146
|
+
nextAction: 'contact_support';
|
|
2147
|
+
} | {
|
|
2148
|
+
checkpointId: string;
|
|
2149
|
+
repoSeq: number;
|
|
2150
|
+
contractVersion: 1;
|
|
2151
|
+
attemptsStarted: number;
|
|
2152
|
+
runAgeMs: number;
|
|
2153
|
+
createdAt: number;
|
|
2154
|
+
updatedAt: number;
|
|
2155
|
+
runStartedAt: number;
|
|
2156
|
+
state: 'failed';
|
|
2157
|
+
completedAt: number;
|
|
2158
|
+
failureCode: 'repository_deleted';
|
|
2159
|
+
nextAction: 'none';
|
|
884
2160
|
};
|
|
885
2161
|
type RepoConfigureStats = {
|
|
886
2162
|
subscriptionCount: number;
|
|
@@ -1060,19 +2336,6 @@ type SynthesizedRepoContent$1 = {
|
|
|
1060
2336
|
};
|
|
1061
2337
|
};
|
|
1062
2338
|
};
|
|
1063
|
-
type ShapeChangeResult = {
|
|
1064
|
-
name: string;
|
|
1065
|
-
operation: 'add' | 'revise' | 'retract' | 'noop';
|
|
1066
|
-
version: number;
|
|
1067
|
-
dataHash: string;
|
|
1068
|
-
};
|
|
1069
|
-
type ShapeRemoveResult = {
|
|
1070
|
-
name: string;
|
|
1071
|
-
operation: 'add' | 'revise' | 'retract' | 'noop';
|
|
1072
|
-
version: number;
|
|
1073
|
-
dataHash: string;
|
|
1074
|
-
removed: true;
|
|
1075
|
-
};
|
|
1076
2339
|
type SubscriptionBindCredentialsResult$1 = {
|
|
1077
2340
|
bound: true;
|
|
1078
2341
|
subscriptionName: string;
|
|
@@ -1113,12 +2376,219 @@ type TokenCreateResult = {
|
|
|
1113
2376
|
type TokenRevokeResult = {
|
|
1114
2377
|
ok: boolean;
|
|
1115
2378
|
};
|
|
1116
|
-
type WireScopeEntry$1 = {
|
|
1117
|
-
resource?: string;
|
|
1118
|
-
permissions: Array<string>;
|
|
1119
|
-
allowedMatches?: Array<string>;
|
|
2379
|
+
type WireScopeEntry$1 = {
|
|
2380
|
+
resource?: string;
|
|
2381
|
+
permissions: Array<string>;
|
|
2382
|
+
allowedMatches?: Array<string>;
|
|
2383
|
+
};
|
|
2384
|
+
|
|
2385
|
+
type DateMappedRepositoryCheckpointStatus<T> = T extends {
|
|
2386
|
+
createdAt: number;
|
|
2387
|
+
updatedAt: number;
|
|
2388
|
+
runStartedAt: number;
|
|
2389
|
+
} ? Omit<T, 'createdAt' | 'updatedAt' | 'runStartedAt' | 'completedAt'> & {
|
|
2390
|
+
createdAt: Date;
|
|
2391
|
+
updatedAt: Date;
|
|
2392
|
+
runStartedAt: Date;
|
|
2393
|
+
} & (T extends {
|
|
2394
|
+
completedAt: number;
|
|
2395
|
+
} ? {
|
|
2396
|
+
completedAt: Date;
|
|
2397
|
+
} : object) : never;
|
|
2398
|
+
/**
|
|
2399
|
+
* The current lifecycle state of a repository checkpoint.
|
|
2400
|
+
*
|
|
2401
|
+
* Checkpoint timestamps are converted from Unix milliseconds to `Date`; the
|
|
2402
|
+
* server-computed `runAgeMs` remains numeric.
|
|
2403
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/repositorycheckpointstatus/
|
|
2404
|
+
*/
|
|
2405
|
+
type RepositoryCheckpointStatus = DateMappedRepositoryCheckpointStatus<RepositoryCheckpointStatus$1>;
|
|
2406
|
+
/**
|
|
2407
|
+
* A short-lived descriptor for downloading one completed checkpoint artifact.
|
|
2408
|
+
* The SDK returns this descriptor only; it never fetches `url` on the caller's
|
|
2409
|
+
* behalf.
|
|
2410
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/repositorycheckpointaccess/
|
|
2411
|
+
*/
|
|
2412
|
+
type RepositoryCheckpointAccess = Omit<RepositoryCheckpointAccess$1, 'expiresAt'> & {
|
|
2413
|
+
expiresAt: Date;
|
|
2414
|
+
};
|
|
2415
|
+
|
|
2416
|
+
declare const COMMIT_OPERATIONS: readonly ["add", "revise", "retract", "rename"];
|
|
2417
|
+
type CommitOperation = (typeof COMMIT_OPERATIONS)[number];
|
|
2418
|
+
declare const COMMIT_OPERATION_KINDS: readonly ["shape", "thing", "assertion", "collection"];
|
|
2419
|
+
type CommitOperationKind = (typeof COMMIT_OPERATION_KINDS)[number];
|
|
2420
|
+
|
|
2421
|
+
/**
|
|
2422
|
+
* Canonical request signing for component CLI dispatch.
|
|
2423
|
+
*
|
|
2424
|
+
* Component workers expose CLI methods over HTTP. The platform dispatcher
|
|
2425
|
+
* signs each call with HMAC-SHA256 over a canonical request representation
|
|
2426
|
+
* so the worker can authenticate the caller without sharing more than a
|
|
2427
|
+
* single secret. The same canonical input works for GET and POST methods:
|
|
2428
|
+
* the difference is whether the method args ride in the query string or
|
|
2429
|
+
* the body.
|
|
2430
|
+
*
|
|
2431
|
+
* Canonical signing input:
|
|
2432
|
+
* <METHOD>\n<PATH>\n<CANONICAL_QUERY>\n<INSTALL_REPO>\n<SHA256_HEX(BODY)>\n<TIMESTAMP>
|
|
2433
|
+
*
|
|
2434
|
+
* Where:
|
|
2435
|
+
* - METHOD is the uppercased HTTP method ('GET' | 'POST').
|
|
2436
|
+
* - PATH is the URL path component (no scheme, host, or query).
|
|
2437
|
+
* - CANONICAL_QUERY is `canonicalCliQueryString(query)` — sorted, RFC 3986
|
|
2438
|
+
* percent-encoded, omitting undefined / null entries.
|
|
2439
|
+
* - INSTALL_REPO is the `<org>/<repo>` slug of the install, transmitted on
|
|
2440
|
+
* the wire as the `X-WarmHub-Install-Repo` header.
|
|
2441
|
+
* - BODY is the raw request body string ('' for GET).
|
|
2442
|
+
* - TIMESTAMP is unix-seconds since epoch (string-formatted).
|
|
2443
|
+
*
|
|
2444
|
+
* Verifiers should enforce a tolerance window on the timestamp to bound
|
|
2445
|
+
* replay attacks (default 300 s); they should also compare signatures in
|
|
2446
|
+
* constant time.
|
|
2447
|
+
*
|
|
2448
|
+
* This module is intentionally low-level: component authors import the
|
|
2449
|
+
* higher-level `verifyCliCall(request, secret)` wrapper from
|
|
2450
|
+
* `@warmhub/sdk-ts`, which extracts the canonical inputs from a Fetch
|
|
2451
|
+
* `Request` and calls `verifyCliRequest` for them.
|
|
2452
|
+
*/
|
|
2453
|
+
/**
|
|
2454
|
+
* Wire header names for component CLI dispatch — the single source of truth
|
|
2455
|
+
* shared by the backend dispatcher (which sets them) and `verifyCliCall` (which
|
|
2456
|
+
* reads them). The install repo always rides in {@link CLI_INSTALL_REPO_HEADER};
|
|
2457
|
+
* the signing scheme adds {@link CLI_SIGNATURE_HEADER} + {@link CLI_TIMESTAMP_HEADER}.
|
|
2458
|
+
* @see https://docs.warmhub.ai/sdk-reference/variables/cli_install_repo_header/
|
|
2459
|
+
*/
|
|
2460
|
+
declare const CLI_INSTALL_REPO_HEADER = "X-WarmHub-Install-Repo";
|
|
2461
|
+
/**
|
|
2462
|
+
* HMAC signature header used by component CLI dispatch.
|
|
2463
|
+
* @see https://docs.warmhub.ai/sdk-reference/variables/cli_signature_header/
|
|
2464
|
+
*/
|
|
2465
|
+
declare const CLI_SIGNATURE_HEADER = "X-WarmHub-Signature";
|
|
2466
|
+
/**
|
|
2467
|
+
* Unix-seconds timestamp header used by component CLI dispatch.
|
|
2468
|
+
* @see https://docs.warmhub.ai/sdk-reference/variables/cli_timestamp_header/
|
|
2469
|
+
*/
|
|
2470
|
+
declare const CLI_TIMESTAMP_HEADER = "X-WarmHub-Timestamp";
|
|
2471
|
+
/**
|
|
2472
|
+
* HTTP verbs a component CLI method can declare. No-body verbs (GET, DELETE)
|
|
2473
|
+
* carry args in the query string; body verbs (POST, PUT, PATCH) carry args in
|
|
2474
|
+
* the JSON body.
|
|
2475
|
+
*/
|
|
2476
|
+
type CliHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
2477
|
+
|
|
2478
|
+
/** Every event type a webhook subscription can watch. */
|
|
2479
|
+
declare const SUBSCRIBABLE_EVENT_TYPES: readonly ["commit", "repo.renamed", "org.renamed", "org.member_added", "org.repo_created", "org.repo_published", "thing.renamed", "shape.renamed"];
|
|
2480
|
+
type SubscribableEventType = (typeof SUBSCRIBABLE_EVENT_TYPES)[number];
|
|
2481
|
+
/** Org-scoped events — created with an `orgName` and no `repoName`. */
|
|
2482
|
+
declare const ORG_SCOPED_EVENT_TYPES: readonly ["org.renamed", "org.member_added", "org.repo_created", "org.repo_published"];
|
|
2483
|
+
type OrgScopedEventType = (typeof ORG_SCOPED_EVENT_TYPES)[number];
|
|
2484
|
+
|
|
2485
|
+
/**
|
|
2486
|
+
* Validate a data payload against shape field definitions.
|
|
2487
|
+
*
|
|
2488
|
+
* Shape field types:
|
|
2489
|
+
* - "number", "string", "boolean": primitive types
|
|
2490
|
+
* - "wref": string (reference to a shape or shaped thing)
|
|
2491
|
+
* - Typed field objects: { type: primitive, description?: string }
|
|
2492
|
+
* - Nested objects: { fieldName: type, ... }
|
|
2493
|
+
* - Arrays: [elementType]
|
|
2494
|
+
* - Optional fields: field name ending with "?" (e.g. "terminal_reason?": "string")
|
|
2495
|
+
* OR type string ending with "?" (e.g. "terminal_reason": "string?")
|
|
2496
|
+
* OR typed object type ending with "?" (e.g. { type: "string?" })
|
|
2497
|
+
*
|
|
2498
|
+
* For v1 this is permissive: validates top-level field existence and basic types.
|
|
2499
|
+
* Returns a {@link ShapeValidatorResult} discriminated union — read `result.valid`
|
|
2500
|
+
* to branch, then `result.errors` (only present when invalid) for the list of
|
|
2501
|
+
* messages. `result.warnings` may be present in either branch and carries
|
|
2502
|
+
* undeclared top-level field names.
|
|
2503
|
+
*
|
|
2504
|
+
* @example
|
|
2505
|
+
* ```ts
|
|
2506
|
+
* import { validateAgainstShape } from "@warmhub/sdk-ts";
|
|
2507
|
+
*
|
|
2508
|
+
* const shapeFields = { x: "number", y: "number", label: "string?" };
|
|
2509
|
+
*
|
|
2510
|
+
* const ok = validateAgainstShape({ x: 1, y: 2 }, shapeFields);
|
|
2511
|
+
* // ok.valid === true
|
|
2512
|
+
*
|
|
2513
|
+
* const bad = validateAgainstShape({ x: "not-a-number" }, shapeFields);
|
|
2514
|
+
* if (!bad.valid) {
|
|
2515
|
+
* for (const message of bad.errors) console.error(message);
|
|
2516
|
+
* // ['Field "x" must be a number', 'Missing required field: "y"']
|
|
2517
|
+
* }
|
|
2518
|
+
* ```
|
|
2519
|
+
* @see https://docs.warmhub.ai/sdk-reference/functions/validateagainstshape/
|
|
2520
|
+
*/
|
|
2521
|
+
declare function validateAgainstShape(data: Record<string, unknown>, shapeFields: Record<string, unknown>): ShapeValidatorResult;
|
|
2522
|
+
/**
|
|
2523
|
+
* Warning details for input fields that the shape does not declare.
|
|
2524
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/undeclaredfieldswarning/
|
|
2525
|
+
*/
|
|
2526
|
+
type UndeclaredFieldsWarning = {
|
|
2527
|
+
undeclaredFields: string[];
|
|
2528
|
+
undeclaredFieldsTruncated?: true;
|
|
2529
|
+
totalUndeclared?: number;
|
|
2530
|
+
};
|
|
2531
|
+
/**
|
|
2532
|
+
* Discriminated result returned when input is validated against shape fields.
|
|
2533
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/shapevalidatorresult/
|
|
2534
|
+
*/
|
|
2535
|
+
type ShapeValidatorResult = {
|
|
2536
|
+
valid: true;
|
|
2537
|
+
warnings?: UndeclaredFieldsWarning;
|
|
2538
|
+
} | {
|
|
2539
|
+
valid: false;
|
|
2540
|
+
errors: string[];
|
|
2541
|
+
warnings?: UndeclaredFieldsWarning;
|
|
1120
2542
|
};
|
|
1121
2543
|
|
|
2544
|
+
/**
|
|
2545
|
+
* Hardcoded meta-schema for validating shape definitions.
|
|
2546
|
+
* Shapes are NOT validated against a DB-stored shape — they validate against this constant.
|
|
2547
|
+
* This avoids the bootstrap chicken-and-egg problem.
|
|
2548
|
+
*
|
|
2549
|
+
* A valid shape definition is:
|
|
2550
|
+
* { fields: Record<string, TypeSpec>, description?: string }
|
|
2551
|
+
* where TypeSpec is one of:
|
|
2552
|
+
* - primitive string: "number", "string", "boolean", "wref", "array"
|
|
2553
|
+
* - optional primitive: "number?", "string?", "boolean?", "wref?", "array?"
|
|
2554
|
+
* - typed field object: { type: primitive, description?: string }
|
|
2555
|
+
* - array: [TypeSpec] (shorthand) or { type: "array", items: TypeSpec }
|
|
2556
|
+
* - nested object: { fieldName: TypeSpec, ... } (key may end with "?" for optional)
|
|
2557
|
+
*
|
|
2558
|
+
* The primitive vocabulary above is closed: any other type name (e.g. "text",
|
|
2559
|
+
* "integer", "json", "date") is rejected. See VALID_PRIMITIVE_TYPES in
|
|
2560
|
+
* ./shape-types.ts for the authoritative set.
|
|
2561
|
+
* String `pattern` constraints use RE2 syntax and are evaluated with re2js so
|
|
2562
|
+
* user-authored patterns run in linear time across backend, SDK, web, CLI, and
|
|
2563
|
+
* worker-adjacent consumers. JavaScript-only constructs such as backreferences
|
|
2564
|
+
* and lookarounds are rejected at shape-definition time.
|
|
2565
|
+
*/
|
|
2566
|
+
|
|
2567
|
+
/**
|
|
2568
|
+
* Maximum size, in bytes (UTF-8 encoded), allowed for a single content field value.
|
|
2569
|
+
* WarmHub is not a document store: values larger than this are rejected at validation.
|
|
2570
|
+
* Store large documents in S3, Box, Drive, or another document system and reference
|
|
2571
|
+
* them from WarmHub instead.
|
|
2572
|
+
* @see https://docs.warmhub.ai/sdk-reference/variables/max_content_field_bytes/
|
|
2573
|
+
*/
|
|
2574
|
+
declare const MAX_CONTENT_FIELD_BYTES: number;
|
|
2575
|
+
/**
|
|
2576
|
+
* Human-readable explanation of the {@link MAX_CONTENT_FIELD_BYTES} limit, suitable for
|
|
2577
|
+
* appending to a field-specific validation error. States the byte cap and points callers
|
|
2578
|
+
* to an external document store for large payloads.
|
|
2579
|
+
* @see https://docs.warmhub.ai/sdk-reference/variables/content_field_limit_error/
|
|
2580
|
+
*/
|
|
2581
|
+
declare const CONTENT_FIELD_LIMIT_ERROR: string;
|
|
2582
|
+
/**
|
|
2583
|
+
* Returns a validation error message if the given string exceeds
|
|
2584
|
+
* {@link MAX_CONTENT_FIELD_BYTES} when UTF-8 encoded, or `null` if it is within the limit.
|
|
2585
|
+
*
|
|
2586
|
+
* @param path - The field path, used to identify the offending field in the message.
|
|
2587
|
+
* @param value - The candidate field value to measure.
|
|
2588
|
+
* @see https://docs.warmhub.ai/sdk-reference/functions/contentfieldlimiterror/
|
|
2589
|
+
*/
|
|
2590
|
+
declare function contentFieldLimitError(path: string, value: string): string | null;
|
|
2591
|
+
|
|
1122
2592
|
/**
|
|
1123
2593
|
* Add operation accepted by `client.commit.apply`. Use this shape to create new
|
|
1124
2594
|
* shapes, things, assertions, or collections in a single commit.
|
|
@@ -1341,16 +2811,12 @@ interface OperationStreamClient {
|
|
|
1341
2811
|
append(input: StreamAppendInput$1): Promise<StreamAppendResult$1>;
|
|
1342
2812
|
};
|
|
1343
2813
|
}
|
|
2814
|
+
/** Legacy aggregate write result with exact chunk receipts added alongside it. */
|
|
1344
2815
|
type SubmittedStreamResult = {
|
|
1345
2816
|
committer?: string;
|
|
1346
2817
|
createdByEmail?: string;
|
|
1347
2818
|
message: string | undefined;
|
|
1348
2819
|
operationCount: number;
|
|
1349
|
-
/**
|
|
1350
|
-
* Sequence acknowledged for the last chunk that persisted a visibility
|
|
1351
|
-
* event when `returnRepoSeq` was requested. No-op or all-failed chunks do
|
|
1352
|
-
* not erase an earlier chunk's acknowledgement.
|
|
1353
|
-
*/
|
|
1354
2820
|
repoSeq?: number;
|
|
1355
2821
|
partial?: boolean;
|
|
1356
2822
|
statusCounts?: {
|
|
@@ -1373,13 +2839,10 @@ type SubmittedStreamResult = {
|
|
|
1373
2839
|
submittedName?: string;
|
|
1374
2840
|
resolvedName?: string;
|
|
1375
2841
|
retryable?: boolean;
|
|
1376
|
-
/**
|
|
1377
|
-
* Non-blocking warnings collected during shape validation — see GH-1418.
|
|
1378
|
-
* Aliased to the generated wire shape so this type cannot drift from
|
|
1379
|
-
* the backend's `streamMutationResultEntrySchema.warnings`.
|
|
1380
|
-
*/
|
|
1381
2842
|
warnings?: NonNullable<StreamAppendResult$1['results'][number]['warnings']>;
|
|
1382
2843
|
}>;
|
|
2844
|
+
/** One exact immutable receipt per stream chunk, in submission order. */
|
|
2845
|
+
receipts: OperationEventReceiptV1$1[];
|
|
1383
2846
|
};
|
|
1384
2847
|
/**
|
|
1385
2848
|
* Stream identity metadata for caller-managed streamed commit submissions.
|
|
@@ -1387,11 +2850,12 @@ type SubmittedStreamResult = {
|
|
|
1387
2850
|
*/
|
|
1388
2851
|
type StreamContinuationState = {
|
|
1389
2852
|
streamId: string;
|
|
1390
|
-
|
|
2853
|
+
submissionId: string;
|
|
2854
|
+
nextChunkOrdinal: number;
|
|
1391
2855
|
};
|
|
1392
2856
|
/**
|
|
1393
|
-
* Caller-facing knobs for
|
|
1394
|
-
*
|
|
2857
|
+
* Caller-facing knobs for retrying a transport-ambiguous event request under
|
|
2858
|
+
* its identical durable identity.
|
|
1395
2859
|
*
|
|
1396
2860
|
* Defaults are tuned for interactive and agent latency budgets: 3 attempts
|
|
1397
2861
|
* with exponential backoff capped at 8s, so a one-off flake recovers without
|
|
@@ -1412,13 +2876,12 @@ type StreamFailureCause = {
|
|
|
1412
2876
|
* Error raised when a streamed commit submission fails after an ambiguous or
|
|
1413
2877
|
* partial append.
|
|
1414
2878
|
*
|
|
1415
|
-
*
|
|
1416
|
-
*
|
|
1417
|
-
*
|
|
1418
|
-
*
|
|
1419
|
-
*
|
|
1420
|
-
*
|
|
1421
|
-
* may describe a later rejection that followed an earlier ambiguous attempt.
|
|
2879
|
+
* `completedReceipts` contains only earlier, acknowledged event receipts. The
|
|
2880
|
+
* other identity fields name the one pending chunk that must be looked up
|
|
2881
|
+
* before any manual retry. `acknowledgedOperationCount` preserves progress
|
|
2882
|
+
* even if a receipt omits operation rows. `attemptedAppendOutcome` and
|
|
2883
|
+
* `lastAcknowledgedRepoSeq` retain recovery information from the earlier
|
|
2884
|
+
* stream contract; the durable receipt remains the authoritative record.
|
|
1422
2885
|
*
|
|
1423
2886
|
* @see https://docs.warmhub.ai/sdk/transient-retry/#partial-submissions
|
|
1424
2887
|
*/
|
|
@@ -1428,16 +2891,21 @@ declare class PartialStreamSubmissionError extends Error {
|
|
|
1428
2891
|
*/
|
|
1429
2892
|
readonly code = "PARTIAL_STREAM_SUBMISSION";
|
|
1430
2893
|
/**
|
|
1431
|
-
*
|
|
1432
|
-
*
|
|
1433
|
-
|
|
2894
|
+
* Earlier exact receipts, in submission order.
|
|
2895
|
+
* @see https://docs.warmhub.ai/sdk-reference/classes/partialstreamsubmissionerror/#completedreceipts
|
|
2896
|
+
*/
|
|
2897
|
+
readonly completedReceipts: readonly OperationEventReceiptV1$1[];
|
|
2898
|
+
/**
|
|
2899
|
+
* Legacy projection of operations confirmed before the failed append.
|
|
1434
2900
|
* @see https://docs.warmhub.ai/sdk-reference/classes/partialstreamsubmissionerror/#completedoperations
|
|
1435
2901
|
*/
|
|
1436
2902
|
readonly completedOperations: SubmittedStreamResult['operations'];
|
|
2903
|
+
readonly submissionId: string;
|
|
2904
|
+
readonly eventRequestId: string;
|
|
2905
|
+
readonly chunkOrdinal: number;
|
|
2906
|
+
readonly pendingOutcome: 'absent' | 'unknown';
|
|
1437
2907
|
/**
|
|
1438
|
-
* Number of operations covered by append responses
|
|
1439
|
-
* the failure. This can exceed `completedOperations.length` when the backend
|
|
1440
|
-
* returns sparse or empty result rows.
|
|
2908
|
+
* Number of operations covered by acknowledged append responses.
|
|
1441
2909
|
* @see https://docs.warmhub.ai/sdk-reference/classes/partialstreamsubmissionerror/#acknowledgedoperationcount
|
|
1442
2910
|
*/
|
|
1443
2911
|
readonly acknowledgedOperationCount: number;
|
|
@@ -1463,10 +2931,15 @@ declare class PartialStreamSubmissionError extends Error {
|
|
|
1463
2931
|
readonly cause: unknown;
|
|
1464
2932
|
constructor(input: {
|
|
1465
2933
|
cause: unknown;
|
|
1466
|
-
|
|
2934
|
+
completedReceipts: readonly OperationEventReceiptV1$1[];
|
|
2935
|
+
completedOperations?: SubmittedStreamResult['operations'];
|
|
1467
2936
|
acknowledgedOperationCount?: number;
|
|
1468
2937
|
lastAcknowledgedRepoSeq?: number;
|
|
1469
2938
|
attemptedAppendOutcome: 'not_applied' | 'unknown';
|
|
2939
|
+
submissionId: string;
|
|
2940
|
+
eventRequestId: string;
|
|
2941
|
+
chunkOrdinal: number;
|
|
2942
|
+
pendingOutcome: 'absent' | 'unknown';
|
|
1470
2943
|
});
|
|
1471
2944
|
}
|
|
1472
2945
|
/**
|
|
@@ -1476,6 +2949,11 @@ declare class PartialStreamSubmissionError extends Error {
|
|
|
1476
2949
|
*/
|
|
1477
2950
|
declare class AllStreamOperationsFailedError extends Error {
|
|
1478
2951
|
readonly code = "STREAM_ALL_OPERATIONS_FAILED";
|
|
2952
|
+
/**
|
|
2953
|
+
* Every exact immutable receipt returned for the rejected submission.
|
|
2954
|
+
* @see https://docs.warmhub.ai/sdk-reference/classes/allstreamoperationsfailederror/#receipts
|
|
2955
|
+
*/
|
|
2956
|
+
readonly receipts: readonly OperationEventReceiptV1$1[];
|
|
1479
2957
|
readonly result: SubmittedStreamResult;
|
|
1480
2958
|
readonly operations: SubmittedStreamResult['operations'];
|
|
1481
2959
|
readonly statusCounts: NonNullable<SubmittedStreamResult['statusCounts']>;
|
|
@@ -1487,83 +2965,34 @@ declare class AllStreamOperationsFailedError extends Error {
|
|
|
1487
2965
|
* Submit `operations` to the WarmHub stream-append surface, chunked to
|
|
1488
2966
|
* stay under MAX_STREAM_APPEND_OPERATION_COUNT.
|
|
1489
2967
|
*
|
|
1490
|
-
*
|
|
1491
|
-
*
|
|
1492
|
-
*
|
|
1493
|
-
*
|
|
1494
|
-
*
|
|
1495
|
-
* SDK mints a fresh `streamId`, sleeps with jittered
|
|
1496
|
-
* exponential backoff, and re-issues the same operation. The retried
|
|
1497
|
-
* call is observationally indistinguishable from a single clean
|
|
1498
|
-
* apply — the SDK does not rewrite the request or the response.
|
|
1499
|
-
*
|
|
1500
|
-
* Multi-op chunks bypass retry entirely. One `stream.append` executes in one
|
|
1501
|
-
* database transaction, but a lost response still leaves its per-operation
|
|
1502
|
-
* result vector and repository sequence unknown. Replaying it could produce
|
|
1503
|
-
* different noops, conflicts, or dependency outcomes. Multi-chunk mid-flight
|
|
1504
|
-
* failures (`acknowledgedOperationCount > 0`) also bypass retry. Both surface
|
|
1505
|
-
* `PartialStreamSubmissionError`; callers must stop writes and reconcile the
|
|
1506
|
-
* attempted append from a later verified checkpoint.
|
|
1507
|
-
*
|
|
1508
|
-
* **Unfenced `revise` never auto-retries.** A `revise` without
|
|
1509
|
-
* `expectedVersion` has no server-side precondition, so a replay could
|
|
1510
|
-
* silently overwrite a concurrent revision (lost update). Its ambiguous
|
|
1511
|
-
* failure surfaces as `PartialStreamSubmissionError` instead, preserving
|
|
1512
|
-
* the stop-and-reconcile guidance. Canonical rationale:
|
|
1513
|
-
* `isReplaySafeOperation` in stream-submit-utils.ts.
|
|
2968
|
+
* Each chunk is one atomic operation event. The SDK mints one submission UUID,
|
|
2969
|
+
* derives each chunk's request UUID from its zero-based ordinal, and preserves
|
|
2970
|
+
* both identities across transport-ambiguous retries. A successful submission
|
|
2971
|
+
* returns the legacy aggregate write result plus ordered exact receipts, one
|
|
2972
|
+
* per chunk.
|
|
1514
2973
|
*
|
|
1515
2974
|
* Definite client rejections (`UNAUTHENTICATED`, `VALIDATION_ERROR`,
|
|
1516
2975
|
* `CONFLICT`, `RATE_LIMITED`, `ALREADY_RETRACTED`, …) on the first chunk
|
|
1517
2976
|
* still rethrow the raw cause unchanged — they
|
|
1518
2977
|
* are not transient, and structured detail (e.g. `retryAfter` on
|
|
1519
2978
|
* `RATE_LIMITED`) survives. If the caller's original attempt landed but
|
|
1520
|
-
* the response was lost,
|
|
1521
|
-
*
|
|
1522
|
-
*
|
|
1523
|
-
*
|
|
1524
|
-
* `COMMIT_OUTCOME_UNKNOWN` is terminal but ambiguous: the SDK never
|
|
1525
|
-
* replays it and surfaces `PartialStreamSubmissionError` with the original
|
|
1526
|
-
* cause so callers must stop writes and reconcile from a later checkpoint.
|
|
2979
|
+
* the response was lost, the same-identity retry returns the original durable
|
|
2980
|
+
* receipt instead of reapplying the operation or translating the replay into
|
|
2981
|
+
* a new conflict.
|
|
1527
2982
|
*
|
|
1528
|
-
*
|
|
1529
|
-
*
|
|
1530
|
-
*
|
|
1531
|
-
*
|
|
1532
|
-
* cause as `PartialStreamSubmissionError` instead of rethrowing raw,
|
|
1533
|
-
* so the stop-and-reconcile warning survives.
|
|
2983
|
+
* If ambiguity remains after the retry budget, `PartialStreamSubmissionError`
|
|
2984
|
+
* carries the exact pending request identity and every earlier receipt. The
|
|
2985
|
+
* caller can use `client.commit.getReceipt` and retry the identical chunk only
|
|
2986
|
+
* after an opaque not-found response.
|
|
1534
2987
|
*
|
|
1535
2988
|
* **Operation normalization.** `args.operations` accepts the public
|
|
1536
2989
|
* `Operation[]` write contract. The SDK normalizes operations to the
|
|
1537
2990
|
* backend stream shape before chunking, token checks, and appends.
|
|
1538
2991
|
*
|
|
1539
|
-
* **Idempotency is the caller's responsibility.** To make `add` ops
|
|
1540
|
-
* idempotent under retry (the GH #2243 agent-health-write use case),
|
|
1541
|
-
* pass `skipExisting: true` per-op, via `args.skipExisting`, or via
|
|
1542
|
-
* `commit.apply`'s `opts`:
|
|
1543
|
-
*
|
|
1544
|
-
* ```ts
|
|
1545
|
-
* client.commit.apply(org, repo, msg, ops, { skipExisting: true })
|
|
1546
|
-
* ```
|
|
1547
|
-
*
|
|
1548
|
-
* `args.skipExisting: true` applies `skipExisting: true` to every
|
|
1549
|
-
* normalized `add` op. The server then returns `noop` for `add` ops
|
|
1550
|
-
* whose target already exists. `revise` is naturally idempotent on
|
|
1551
|
-
* equal `dataHash` + `aboutThingId`, but only against an exact replay —
|
|
1552
|
-
* that no-op gate does not make an unfenced `revise` retry-safe (see
|
|
1553
|
-
* above); built-in collection adds dedupe on `dataHash`.
|
|
1554
|
-
*
|
|
1555
2992
|
* Pass `args.retry: false` to disable retry entirely; pass
|
|
1556
2993
|
* `args.retry: { maxAttempts, baseDelayMs, maxDelayMs }` to override
|
|
1557
2994
|
* any subset of the defaults (`{ 3, 250, 8_000 }`).
|
|
1558
2995
|
*
|
|
1559
|
-
* Retry is automatically suppressed when the caller supplies
|
|
1560
|
-
* `args.streamId`, because caller-managed streams may coordinate retries
|
|
1561
|
-
* outside the SDK.
|
|
1562
|
-
*
|
|
1563
|
-
* The server remains stateless across `stream.append` calls — there is
|
|
1564
|
-
* no `streamId`-keyed dedup table. See docs/dev/commit-flow.md for the
|
|
1565
|
-
* full idempotency contract.
|
|
1566
|
-
*
|
|
1567
2996
|
* @see https://docs.warmhub.ai/sdk/transient-retry/
|
|
1568
2997
|
* @internal
|
|
1569
2998
|
*/
|
|
@@ -1577,25 +3006,74 @@ declare function submitOperationsViaStream(client: OperationStreamClient, args:
|
|
|
1577
3006
|
chunkSize?: number;
|
|
1578
3007
|
skipExisting?: boolean;
|
|
1579
3008
|
streamId?: string;
|
|
3009
|
+
submissionId?: string;
|
|
1580
3010
|
/** Return the writer's own repository-sequence acknowledgement. */
|
|
1581
3011
|
returnRepoSeq?: boolean;
|
|
1582
3012
|
/**
|
|
1583
|
-
* Bounded
|
|
3013
|
+
* Bounded retry for transport-ambiguous operation-event responses.
|
|
1584
3014
|
* Default-on (3 attempts, 250ms base, 8s cap, jittered exponential).
|
|
1585
|
-
* Pass `false` to disable.
|
|
1586
|
-
* surface PartialStreamSubmissionError unchanged.
|
|
3015
|
+
* Pass `false` to disable.
|
|
1587
3016
|
*/
|
|
1588
3017
|
retry?: RetryPolicyOptions | false;
|
|
1589
3018
|
}): Promise<SubmittedStreamResult>;
|
|
3019
|
+
/**
|
|
3020
|
+
* Rebase one chunk's result rows onto submission-global operation indexes.
|
|
3021
|
+
* Single owner of the `chunkStart + (opIndex ?? position)` convention — chunk
|
|
3022
|
+
* accumulators (SDK and CLI) must use this rather than re-deriving it.
|
|
3023
|
+
*
|
|
3024
|
+
* @internal
|
|
3025
|
+
*/
|
|
3026
|
+
declare function offsetChunkResultIndexes(results: StreamAppendResult$1['results'], chunkStart: number): StreamAppendResult$1['results'];
|
|
3027
|
+
/**
|
|
3028
|
+
* Derive the legacy aggregate write result from accumulated stream-append
|
|
3029
|
+
* outputs. This is the single owner of the receipt-era → legacy status
|
|
3030
|
+
* mapping; CLI and other callers that accumulate chunks themselves must use
|
|
3031
|
+
* this rather than re-implementing the projection.
|
|
3032
|
+
*
|
|
3033
|
+
* `operations` only needs the submitted names (used to echo `submittedName`
|
|
3034
|
+
* on failed rows); pass lightweight `{name}` records when the full submitted
|
|
3035
|
+
* operations are not retained.
|
|
3036
|
+
*
|
|
3037
|
+
* @internal
|
|
3038
|
+
*/
|
|
3039
|
+
declare function aggregateSubmittedStreamResult(input: {
|
|
3040
|
+
committer?: string;
|
|
3041
|
+
createdByEmail?: string;
|
|
3042
|
+
message?: string;
|
|
3043
|
+
operations: ReadonlyArray<{
|
|
3044
|
+
name?: string;
|
|
3045
|
+
}>;
|
|
3046
|
+
repoSeq?: number;
|
|
3047
|
+
receipts: OperationEventReceiptV1$1[];
|
|
3048
|
+
results: StreamAppendResult$1['results'];
|
|
3049
|
+
}): SubmittedStreamResult;
|
|
3050
|
+
/**
|
|
3051
|
+
* Operations from an aggregate that were confirmed applied or noop.
|
|
3052
|
+
*
|
|
3053
|
+
* @internal
|
|
3054
|
+
*/
|
|
3055
|
+
declare function completedOperationsFrom(result: SubmittedStreamResult): SubmittedStreamResult['operations'];
|
|
1590
3056
|
|
|
1591
3057
|
/**
|
|
1592
3058
|
* Exposed for unit tests and internal callers to avoid re-deriving status values.
|
|
1593
3059
|
*
|
|
1594
3060
|
* @internal
|
|
1595
3061
|
*/
|
|
1596
|
-
declare function streamAppendResultStatus(result: StreamAppendResult$1['results'][number]):
|
|
3062
|
+
declare function streamAppendResultStatus(result: StreamAppendResult$1['results'][number]): 'applied' | 'noop' | 'error';
|
|
1597
3063
|
/** @internal */
|
|
1598
|
-
declare function countStreamAppendResultStatuses(results: StreamAppendResult$1['results']):
|
|
3064
|
+
declare function countStreamAppendResultStatuses(results: StreamAppendResult$1['results']): {
|
|
3065
|
+
applied: number;
|
|
3066
|
+
noop: number;
|
|
3067
|
+
error: number;
|
|
3068
|
+
};
|
|
3069
|
+
/**
|
|
3070
|
+
* True when stream append produced a definite pre-apply rejection rather than
|
|
3071
|
+
* a transport-ambiguous outcome. A 4xx response (except timeout-shaped 408) is
|
|
3072
|
+
* definite even when callers may choose to retry it later, as with 429.
|
|
3073
|
+
*
|
|
3074
|
+
* @internal
|
|
3075
|
+
*/
|
|
3076
|
+
declare function isDefiniteStreamAppendRejection(cause: unknown): boolean;
|
|
1599
3077
|
|
|
1600
3078
|
/**
|
|
1601
3079
|
* Server-side verifier for component CLI dispatch calls.
|
|
@@ -2033,13 +3511,17 @@ declare class OperationBuilder {
|
|
|
2033
3511
|
/**
|
|
2034
3512
|
* Validate, submit, and seal the builder.
|
|
2035
3513
|
*
|
|
2036
|
-
* A successful call
|
|
3514
|
+
* A successful call returns the same ordered exact receipts as
|
|
3515
|
+
* `client.commit.apply` and makes the builder single-use. A
|
|
3516
|
+
* `PartialStreamSubmissionError` also seals the builder to prevent a retry
|
|
3517
|
+
* under a different request identity.
|
|
2037
3518
|
*
|
|
2038
3519
|
* @param params.client WarmHub client or compatible stream client used for submission.
|
|
2039
3520
|
* @param params.message Optional commit message.
|
|
2040
3521
|
* @param params.committer Optional wref identifying the actor on whose behalf the write is made.
|
|
2041
3522
|
* @param params.chunkSize Maximum operations per stream append.
|
|
2042
3523
|
* @param params.streamId Caller-managed stream identity for observability and diagnostic correlation.
|
|
3524
|
+
* @param params.submissionId Caller-managed UUID shared by every chunk.
|
|
2043
3525
|
* @param params.returnRepoSeq Return the writer's own repository-sequence acknowledgement.
|
|
2044
3526
|
* @param params.retry Retry policy for transient first-chunk failures, or `false` to disable automatic retry.
|
|
2045
3527
|
* @see https://docs.warmhub.ai/sdk-reference/classes/operationbuilder/#commit
|
|
@@ -2052,6 +3534,7 @@ declare class OperationBuilder {
|
|
|
2052
3534
|
message?: string;
|
|
2053
3535
|
chunkSize?: number;
|
|
2054
3536
|
streamId?: string;
|
|
3537
|
+
submissionId?: string;
|
|
2055
3538
|
returnRepoSeq?: boolean;
|
|
2056
3539
|
retry?: RetryPolicyOptions | false;
|
|
2057
3540
|
}): Promise<OperationSubmitResult$1>;
|
|
@@ -2059,6 +3542,22 @@ declare class OperationBuilder {
|
|
|
2059
3542
|
private assertCanModify;
|
|
2060
3543
|
}
|
|
2061
3544
|
|
|
3545
|
+
/**
|
|
3546
|
+
* Mint the identity shared by every event in one logical submission.
|
|
3547
|
+
* @see https://docs.warmhub.ai/sdk-reference/functions/createoperationeventsubmissionid/
|
|
3548
|
+
*/
|
|
3549
|
+
declare function createOperationEventSubmissionId(): string;
|
|
3550
|
+
/**
|
|
3551
|
+
* Mint the request identity used by direct operation-event submissions.
|
|
3552
|
+
* @see https://docs.warmhub.ai/sdk-reference/variables/createoperationeventrequestid/
|
|
3553
|
+
*/
|
|
3554
|
+
declare const createOperationEventRequestId: typeof createOperationEventSubmissionId;
|
|
3555
|
+
/**
|
|
3556
|
+
* Derive the ratified UUIDv5 request identity for one stream chunk.
|
|
3557
|
+
* @see https://docs.warmhub.ai/sdk-reference/functions/operationeventstreamrequestid/
|
|
3558
|
+
*/
|
|
3559
|
+
declare function operationEventStreamRequestId(submissionId: string, chunkOrdinal: number): string;
|
|
3560
|
+
|
|
2062
3561
|
/**
|
|
2063
3562
|
* Version string for the installed SDK package.
|
|
2064
3563
|
* @see https://docs.warmhub.ai/sdk-reference/variables/sdk_version/
|
|
@@ -2079,6 +3578,12 @@ type StreamAppendInput = StreamAppendInput$1;
|
|
|
2079
3578
|
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/streamappendresult/
|
|
2080
3579
|
*/
|
|
2081
3580
|
type StreamAppendResult = StreamAppendResult$1;
|
|
3581
|
+
/**
|
|
3582
|
+
* The exact immutable receipt returned by every public write and lookup.
|
|
3583
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/operationeventreceiptv1/
|
|
3584
|
+
*/
|
|
3585
|
+
type OperationEventReceiptV1 = OperationEventReceiptV1$1;
|
|
3586
|
+
|
|
2082
3587
|
/**
|
|
2083
3588
|
* Remove an `@vN`, `@HEAD`, or `@ALL` version suffix from a wref.
|
|
2084
3589
|
*
|
|
@@ -2114,11 +3619,12 @@ interface WarmHubClientOptions {
|
|
|
2114
3619
|
functionLogs?: FunctionLogMode;
|
|
2115
3620
|
/**
|
|
2116
3621
|
* Self-identification sent on the `X-WarmHub-Client` header (`name/version`)
|
|
2117
|
-
* for backend observability
|
|
2118
|
-
* `@warmhub/sdk-ts/<SDK_VERSION>`. A wrapper
|
|
2119
|
-
*
|
|
2120
|
-
* hint — never an authz signal. A
|
|
2121
|
-
* raw request still wins over this
|
|
3622
|
+
* for backend observability, compatibility admission, and read-analytics
|
|
3623
|
+
* surface attribution. Defaults to `@warmhub/sdk-ts/<SDK_VERSION>`. A wrapper
|
|
3624
|
+
* such as the WarmHub CLI overrides both values to identify its actual
|
|
3625
|
+
* released artifact. An untrusted safety hint — never an authz signal. A
|
|
3626
|
+
* per-request `X-WarmHub-Client` header on a raw request still wins over this
|
|
3627
|
+
* default.
|
|
2122
3628
|
*/
|
|
2123
3629
|
client?: {
|
|
2124
3630
|
name?: string;
|
|
@@ -2182,7 +3688,7 @@ type SubscriptionUnbindArgs = [orgName: string, repoName: string, subscriptionNa
|
|
|
2182
3688
|
}
|
|
2183
3689
|
];
|
|
2184
3690
|
/** @internal */
|
|
2185
|
-
type CoreErrorKind = 'BACKEND' | 'NOT_FOUND' | 'FORBIDDEN' | 'UNAUTHENTICATED' | 'VALIDATION_ERROR' | 'CONFLICT' | 'RATE_LIMITED' | 'CANCELLED' | 'NETWORK';
|
|
3691
|
+
type CoreErrorKind = 'BACKEND' | 'NOT_FOUND' | 'FORBIDDEN' | 'UNAUTHENTICATED' | 'VALIDATION_ERROR' | 'CONFLICT' | 'RATE_LIMITED' | 'CANCELLED' | 'CLIENT_INCOMPATIBLE' | 'NETWORK';
|
|
2186
3692
|
/**
|
|
2187
3693
|
* Stable SDK error kinds plus backend domain codes that pass through as strings.
|
|
2188
3694
|
*
|
|
@@ -2200,6 +3706,7 @@ type CoreErrorKind = 'BACKEND' | 'NOT_FOUND' | 'FORBIDDEN' | 'UNAUTHENTICATED' |
|
|
|
2200
3706
|
* - `CONFLICT` — cause: write collides with current state (concurrent edit, name already in use); retryable: false; action: refetch the current state and reconcile before retrying the write; origin: commit pipeline, repo/org creation. Archived org / repo writes surface as the pass-through code `ARCHIVED`, not `CONFLICT`.
|
|
2201
3707
|
* - `RATE_LIMITED` — cause: caller exceeded the per-token or per-org request budget; retryable: true; action: wait {@link WarmHubError.retryAfter} seconds before retrying; origin: REST + tRPC throttling
|
|
2202
3708
|
* - `CANCELLED` — cause: caller aborted the request via `AbortSignal`; retryable: true; action: retry only if the caller still wants the result; origin: SDK `AbortError` mapping
|
|
3709
|
+
* - `CLIENT_INCOMPATIBLE` — cause: the client family/version or write contract is incompatible with the backend; retryable: false; action: follow the error hint to upgrade the client or backend; origin: SDK write preflight and backend mutation admission
|
|
2203
3710
|
* - `NETWORK` — cause: connection failed before the server produced a response (DNS, refused, timeout, fetch error); retryable: true; action: check connectivity to the configured `apiUrl` and retry with backoff; origin: SDK `fetchWithAuth` connection-error mapping
|
|
2204
3711
|
*
|
|
2205
3712
|
* Backend domain codes (e.g. `SHAPE_MISMATCH`, `WREF_UNRESOLVABLE`,
|
|
@@ -2217,12 +3724,12 @@ type CoreErrorKind = 'BACKEND' | 'NOT_FOUND' | 'FORBIDDEN' | 'UNAUTHENTICATED' |
|
|
|
2217
3724
|
*/
|
|
2218
3725
|
type ErrorKind = CoreErrorKind | (string & {});
|
|
2219
3726
|
/**
|
|
2220
|
-
*
|
|
3727
|
+
* Legacy commit result fields plus ordered exact receipts for every submitted chunk.
|
|
2221
3728
|
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/operationsubmitresult/
|
|
2222
3729
|
*/
|
|
2223
3730
|
type OperationSubmitResult = SubmittedStreamResult;
|
|
2224
3731
|
/** @internal */
|
|
2225
|
-
type ShapeChange =
|
|
3732
|
+
type ShapeChange = ShapeChangeCompatibilityResult;
|
|
2226
3733
|
/** @internal */
|
|
2227
3734
|
type Shape = ShapeGetResult;
|
|
2228
3735
|
/** @internal */
|
|
@@ -2231,13 +3738,11 @@ type ShapeList = ShapeListResult;
|
|
|
2231
3738
|
* Result of `client.shape.remove` — confirms the retraction with the new version metadata.
|
|
2232
3739
|
* @internal
|
|
2233
3740
|
*/
|
|
2234
|
-
type ShapeRemove =
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
removed: true;
|
|
2240
|
-
};
|
|
3741
|
+
type ShapeRemove = ShapeRemoveCompatibilityResult;
|
|
3742
|
+
/** @internal */
|
|
3743
|
+
type RenameResult = RenameCompatibilityResult;
|
|
3744
|
+
/** @internal */
|
|
3745
|
+
type CommitApplyCompatibilityResult = CommitApplyCompatibilityResult$1;
|
|
2241
3746
|
/**
|
|
2242
3747
|
* Shape of a subscription record returned from `client.subscription.list`,
|
|
2243
3748
|
* `client.subscription.get`, `client.subscription.create`, and
|
|
@@ -2275,6 +3780,32 @@ type SubscriptionInfo = {
|
|
|
2275
3780
|
notifyOnSuccess?: boolean;
|
|
2276
3781
|
componentRef?: string;
|
|
2277
3782
|
credentialSetNames: Array<string>;
|
|
3783
|
+
/**
|
|
3784
|
+
* Immutable operation-event routing revision. Absent for metadata and legacy
|
|
3785
|
+
* cron subscriptions. It describes stored router state; legacy delivery
|
|
3786
|
+
* remains in effect until the exact router is activated.
|
|
3787
|
+
*/
|
|
3788
|
+
operationSubscription?: {
|
|
3789
|
+
/** Omitted when current source-repository authority no longer permits its label. */
|
|
3790
|
+
effectiveSourceRepo?: string;
|
|
3791
|
+
revision: number;
|
|
3792
|
+
lifecycle: 'active' | 'paused' | 'retired';
|
|
3793
|
+
routingStatus: 'dormant' | 'active';
|
|
3794
|
+
routingGeneration: number;
|
|
3795
|
+
routingShard: number | null;
|
|
3796
|
+
matcherVersion: string;
|
|
3797
|
+
matcherDigest: string;
|
|
3798
|
+
targetGeneration: number;
|
|
3799
|
+
credentialGeneration: number;
|
|
3800
|
+
deliveryPolicy: {
|
|
3801
|
+
allowTraceReentry: boolean | null;
|
|
3802
|
+
notifyOnSuccess: boolean;
|
|
3803
|
+
};
|
|
3804
|
+
retirement?: {
|
|
3805
|
+
retiredAt: number;
|
|
3806
|
+
reason: string;
|
|
3807
|
+
};
|
|
3808
|
+
};
|
|
2278
3809
|
createdAt: number;
|
|
2279
3810
|
};
|
|
2280
3811
|
/**
|
|
@@ -2396,16 +3927,6 @@ type ActionDeliveryTarget = string | {
|
|
|
2396
3927
|
deliveryId: string;
|
|
2397
3928
|
runId?: never;
|
|
2398
3929
|
};
|
|
2399
|
-
/**
|
|
2400
|
-
* Result returned by in-place rename mutations: `client.shape.rename` and
|
|
2401
|
-
* `client.thing.rename`. A rename patches the identity field directly and
|
|
2402
|
-
* preserves the existing version history; no new version is created. The
|
|
2403
|
-
* `renamed: true` discriminator distinguishes the success shape from a
|
|
2404
|
-
* rejected request (which throws `WarmHubError`).
|
|
2405
|
-
*
|
|
2406
|
-
* @see https://docs.warmhub.ai/data-modeling/naming-as-navigation/
|
|
2407
|
-
*/
|
|
2408
|
-
type RenameResult = RenameResult$1;
|
|
2409
3930
|
/** @internal Curated lists returned by `client.homepage.featuredLists()`. */
|
|
2410
3931
|
type HomepageFeaturedListsResult = HomepageFeaturedListsResult$1;
|
|
2411
3932
|
/**
|
|
@@ -2452,6 +3973,22 @@ type ComponentHistoryOptions = {
|
|
|
2452
3973
|
type ComponentInstallResult = ComponentInstallResult$1;
|
|
2453
3974
|
/** @internal */
|
|
2454
3975
|
type ComponentUninstallResult = ComponentUninstallResult$1;
|
|
3976
|
+
/**
|
|
3977
|
+
* Caller-owned root identity for component installation repository-write
|
|
3978
|
+
* receipts. Reuse it only when recovering the same install submission.
|
|
3979
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/componentinstalloptions/
|
|
3980
|
+
*/
|
|
3981
|
+
type ComponentInstallOptions = {
|
|
3982
|
+
submissionId: string;
|
|
3983
|
+
};
|
|
3984
|
+
/**
|
|
3985
|
+
* Caller-owned root identity for component teardown repository-write receipts.
|
|
3986
|
+
* Reuse it only when recovering the same teardown submission.
|
|
3987
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/componentuninstalloptions/
|
|
3988
|
+
*/
|
|
3989
|
+
type ComponentUninstallOptions = {
|
|
3990
|
+
submissionId: string;
|
|
3991
|
+
};
|
|
2455
3992
|
/** @internal */
|
|
2456
3993
|
type ComponentListOptions = {
|
|
2457
3994
|
limit?: number;
|
|
@@ -2541,13 +4078,26 @@ type ShapeGetOptions = {
|
|
|
2541
4078
|
};
|
|
2542
4079
|
/** @internal */
|
|
2543
4080
|
type ShapeCreateOptions = {
|
|
4081
|
+
eventRequestId: string;
|
|
2544
4082
|
description?: string;
|
|
2545
4083
|
};
|
|
2546
4084
|
/** @internal */
|
|
2547
4085
|
type ShapeReviseOptions = {
|
|
4086
|
+
eventRequestId: string;
|
|
2548
4087
|
description?: string;
|
|
2549
4088
|
};
|
|
2550
4089
|
/** @internal */
|
|
4090
|
+
type ShapeRemoveOptions = {
|
|
4091
|
+
eventRequestId: string;
|
|
4092
|
+
};
|
|
4093
|
+
/**
|
|
4094
|
+
* Caller-owned UUID retained across an ambiguous rename retry.
|
|
4095
|
+
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/renameoptions/
|
|
4096
|
+
*/
|
|
4097
|
+
type RenameOptions = {
|
|
4098
|
+
eventRequestId: string;
|
|
4099
|
+
};
|
|
4100
|
+
/** @internal */
|
|
2551
4101
|
interface ShapeHistoryOptions {
|
|
2552
4102
|
includeRetracted?: boolean;
|
|
2553
4103
|
limit?: number;
|
|
@@ -3173,6 +4723,8 @@ type RefsResult = RefsResult$1;
|
|
|
3173
4723
|
/** @internal */
|
|
3174
4724
|
type CollectionType = CollectionType$1;
|
|
3175
4725
|
/** @internal */
|
|
4726
|
+
type CollectionMutationResult = CollectionMutationCompatibilityResult;
|
|
4727
|
+
/** @internal */
|
|
3176
4728
|
type CollectionMember = CollectionMember$1;
|
|
3177
4729
|
/** @internal */
|
|
3178
4730
|
type CollectionMembersPage = CollectionMembersPage$1;
|
|
@@ -3181,7 +4733,6 @@ type CollectionContainsResult = CollectionContainsResult$1;
|
|
|
3181
4733
|
/** @internal */
|
|
3182
4734
|
type CollectionDiffResult = CollectionDiffResult$1;
|
|
3183
4735
|
/** @internal */
|
|
3184
|
-
type CollectionMutationResult = CollectionMutationResult$1;
|
|
3185
4736
|
/** @internal */
|
|
3186
4737
|
type CollectionStatsResult = CollectionStatsResult$1;
|
|
3187
4738
|
/** @internal */
|
|
@@ -3350,6 +4901,8 @@ type CollectionMemberSourceOptions = {
|
|
|
3350
4901
|
};
|
|
3351
4902
|
/** @internal */
|
|
3352
4903
|
type CollectionCreateOptions = {
|
|
4904
|
+
/** Caller-owned UUID retained across ambiguous retries. */
|
|
4905
|
+
eventRequestId: string;
|
|
3353
4906
|
type: CollectionType;
|
|
3354
4907
|
name: string;
|
|
3355
4908
|
from?: string;
|
|
@@ -3379,6 +4932,8 @@ type CollectionDiffOptions = {
|
|
|
3379
4932
|
};
|
|
3380
4933
|
/** @internal */
|
|
3381
4934
|
type CollectionReviseOptions = {
|
|
4935
|
+
/** Caller-owned UUID retained across ambiguous retries. */
|
|
4936
|
+
eventRequestId: string;
|
|
3382
4937
|
add?: string[];
|
|
3383
4938
|
remove?: string[];
|
|
3384
4939
|
message?: string;
|
|
@@ -3406,7 +4961,9 @@ declare function resolveFunctionLogMode(mode?: FunctionLogMode): FunctionLogMode
|
|
|
3406
4961
|
* after a `lease_held` to back off until the lease expires (#3625).
|
|
3407
4962
|
* @see https://docs.warmhub.ai/sdk-reference/type-aliases/warmhuberrordetails/
|
|
3408
4963
|
*/
|
|
3409
|
-
type WarmHubErrorDetails = NonNullable<NonNullable<
|
|
4964
|
+
type WarmHubErrorDetails = NonNullable<NonNullable<Extract<OperationEventReceiptV1$1['operations'][number], {
|
|
4965
|
+
error?: unknown;
|
|
4966
|
+
}>['error']>['details']>;
|
|
3410
4967
|
/** @internal */
|
|
3411
4968
|
declare function sanitizeErrorMessage(message: string): string;
|
|
3412
4969
|
/**
|
|
@@ -3535,10 +5092,9 @@ declare function isConnectionError(error: unknown): boolean;
|
|
|
3535
5092
|
declare function connectionErrorMessage(url: string): string;
|
|
3536
5093
|
/**
|
|
3537
5094
|
* Returns true when `version` is strictly older than `minimum`. Both
|
|
3538
|
-
* arguments must
|
|
3539
|
-
*
|
|
3540
|
-
*
|
|
3541
|
-
* backend cannot brick existing clients.
|
|
5095
|
+
* arguments must be valid SemVer; non-parseable inputs return false for this
|
|
5096
|
+
* legacy read-side helper. Write admission validates both values separately
|
|
5097
|
+
* and fails closed.
|
|
3542
5098
|
*
|
|
3543
5099
|
* @internal
|
|
3544
5100
|
*/
|
|
@@ -3593,6 +5149,8 @@ declare class WarmHubClient {
|
|
|
3593
5149
|
protected readonly getToken?: () => Promise<string | undefined>;
|
|
3594
5150
|
private readonly trpc;
|
|
3595
5151
|
private compatibilityCheck?;
|
|
5152
|
+
private assertWriteCompatible;
|
|
5153
|
+
private createCompatibilityLink;
|
|
3596
5154
|
/**
|
|
3597
5155
|
* Authentication helpers for browser sign-in flows, session checks, and token diagnostics.
|
|
3598
5156
|
* @see https://docs.warmhub.ai/sdk-reference/classes/warmhubclient/#auth
|
|
@@ -3660,17 +5218,16 @@ declare class WarmHubClient {
|
|
|
3660
5218
|
*/
|
|
3661
5219
|
ping: () => Promise<PingResult>;
|
|
3662
5220
|
/**
|
|
3663
|
-
* Return backend API version,
|
|
5221
|
+
* Return backend API version, per-client floors, write-contract version, and feature flags.
|
|
3664
5222
|
*/
|
|
3665
5223
|
capabilities: () => Promise<Capabilities>;
|
|
3666
5224
|
/**
|
|
3667
|
-
* Verify
|
|
3668
|
-
*
|
|
3669
|
-
* "upgrade to >=X" message when it is not.
|
|
5225
|
+
* Verify this client family/version and the backend can safely write,
|
|
5226
|
+
* throwing an actionable `WarmHubError` when either side is incompatible.
|
|
3670
5227
|
*
|
|
3671
5228
|
* Call this once at startup (e.g. immediately after constructing the
|
|
3672
|
-
* client) to fail fast on
|
|
3673
|
-
*
|
|
5229
|
+
* client) to fail fast on either direction of version skew. Mutations call
|
|
5230
|
+
* the same cached check automatically before dispatch.
|
|
3674
5231
|
* The result is cached on the client instance — repeated calls reuse
|
|
3675
5232
|
* the first network round-trip and re-throw the same error if too old.
|
|
3676
5233
|
*
|
|
@@ -3758,8 +5315,12 @@ declare class WarmHubClient {
|
|
|
3758
5315
|
*
|
|
3759
5316
|
* Reinstall is idempotent: the install identity (`installId`) is reused so
|
|
3760
5317
|
* runtime tokens keyed on it survive teardown/reinstall.
|
|
5318
|
+
*
|
|
5319
|
+
* `options.submissionId` groups deterministic receipts for the repository
|
|
5320
|
+
* mutation phases only. Credential/subscription reconciliation and setup
|
|
5321
|
+
* callbacks retain their existing lifecycle semantics.
|
|
3761
5322
|
*/
|
|
3762
|
-
install: (orgName: string, repoName: string, componentRef: string) => Promise<ComponentInstallResult>;
|
|
5323
|
+
install: (orgName: string, repoName: string, componentRef: string, options: ComponentInstallOptions) => Promise<ComponentInstallResult>;
|
|
3763
5324
|
/**
|
|
3764
5325
|
* Uninstall a registered component from a repository (GH-4677).
|
|
3765
5326
|
*
|
|
@@ -3774,8 +5335,11 @@ declare class WarmHubClient {
|
|
|
3774
5335
|
*
|
|
3775
5336
|
* Non-destructive: manifest shapes and seeded data are left intact (only
|
|
3776
5337
|
* repo deletion removes those) and reinstall revives the install.
|
|
5338
|
+
* `options.submissionId` groups deterministic receipts for repository
|
|
5339
|
+
* mutation phases; it does not make callbacks or token lifecycle work one
|
|
5340
|
+
* atomic submission.
|
|
3777
5341
|
*/
|
|
3778
|
-
uninstall: (orgName: string, repoName: string, componentRef: string) => Promise<ComponentUninstallResult>;
|
|
5342
|
+
uninstall: (orgName: string, repoName: string, componentRef: string, options: ComponentUninstallOptions) => Promise<ComponentUninstallResult>;
|
|
3779
5343
|
/**
|
|
3780
5344
|
* Registered-component identity and install-pipeline operations.
|
|
3781
5345
|
*
|
|
@@ -3825,21 +5389,21 @@ declare class WarmHubClient {
|
|
|
3825
5389
|
*
|
|
3826
5390
|
* This is the primary write path for SDK callers. It streams operations to the backend, preserves server-side per-operation results, supports chunking for large submissions, and can attribute writes to a committer wref or installed component.
|
|
3827
5391
|
*
|
|
3828
|
-
*
|
|
5392
|
+
* Transport-ambiguous failures retry with the identical submission ID and
|
|
5393
|
+
* chunk ordinal. If ambiguity remains, `PartialStreamSubmissionError`
|
|
5394
|
+
* carries the pending `eventRequestId` and every earlier exact receipt.
|
|
3829
5395
|
*
|
|
3830
5396
|
* Writing to an archived organization or repository fails with an `ARCHIVED` error before any operations are applied.
|
|
3831
5397
|
*
|
|
3832
5398
|
* @param message Optional commit message stored with the submitted operations.
|
|
3833
5399
|
* @param operations Add, revise, or retract operations to submit in order.
|
|
3834
|
-
* @param opts.committer Optional untyped wref identifying the actor on whose behalf the write is made. It may target an existing shape (`"Agent"`) or shaped thing (`"Agent/bot-1"`), locally or canonically (`"wh:other-org/other-repo/Agent"` or `"wh:other-org/other-repo/Agent/bot-1"`). A one-segment value is a shape wref, not a free-form label, and succeeds only when that shape exists.
|
|
5400
|
+
* @param opts.committer Optional untyped wref identifying the actor on whose behalf the write is made. It may target an existing shape (`"Agent"`) or shaped thing (`"Agent/bot-1"`), locally or canonically (`"wh:other-org/other-repo/Agent"` or `"wh:other-org/other-repo/Agent/bot-1"`). A one-segment value is a shape wref, not a free-form label, and succeeds only when that shape exists. Exact operation-event receipts do not echo this input; version reads expose the resolved target as `committerWref`.
|
|
3835
5401
|
* @param opts.componentRef Attribute writes to an installed component, identified by its `Org/Name` ref, when the caller is allowed to claim it.
|
|
3836
5402
|
* @param opts.chunkSize Maximum operations per stream append. Values are clamped by the SDK.
|
|
3837
5403
|
* @param opts.skipExisting Return `noop` for add operations whose target already exists.
|
|
3838
5404
|
* @param opts.streamId Caller-managed stream identity for observability and diagnostic correlation.
|
|
3839
|
-
* @param opts.
|
|
3840
|
-
*
|
|
3841
|
-
* repository head. Multi-chunk submissions return the last sequence
|
|
3842
|
-
* actually allocated; a later no-op or failed chunk does not erase it.
|
|
5405
|
+
* @param opts.submissionId Caller-selected UUID correlating all chunks.
|
|
5406
|
+
* When omitted, the SDK mints one before the first network request.
|
|
3843
5407
|
* @param opts.retry Retry policy for transient first-chunk failures, or `false` to disable automatic retry.
|
|
3844
5408
|
*/
|
|
3845
5409
|
apply: (orgName: string, repoName: string, message: string | undefined, operations: Operation[], opts?: {
|
|
@@ -3848,9 +5412,12 @@ declare class WarmHubClient {
|
|
|
3848
5412
|
chunkSize?: number;
|
|
3849
5413
|
skipExisting?: boolean;
|
|
3850
5414
|
streamId?: string;
|
|
5415
|
+
submissionId?: string;
|
|
3851
5416
|
returnRepoSeq?: boolean;
|
|
3852
5417
|
retry?: RetryPolicyOptions | false;
|
|
3853
5418
|
}) => Promise<OperationSubmitResult>;
|
|
5419
|
+
/** Recover one immutable write receipt after an ambiguous response. */
|
|
5420
|
+
getReceipt: (orgName: string, repoName: string, eventRequestId: string) => Promise<OperationEventReceiptV1>;
|
|
3854
5421
|
};
|
|
3855
5422
|
/**
|
|
3856
5423
|
* Organization management surface for namespaces, membership, roles, and scoped member permissions.
|
|
@@ -3974,6 +5541,43 @@ declare class WarmHubClient {
|
|
|
3974
5541
|
* @see https://docs.warmhub.ai/sdk/repo-stats/
|
|
3975
5542
|
*/
|
|
3976
5543
|
readonly repo: {
|
|
5544
|
+
/**
|
|
5545
|
+
* Repository checkpoint lifecycle and artifact-access operations.
|
|
5546
|
+
*
|
|
5547
|
+
* Reads require unrestricted `repo:read` plus `repo:checkpoint-read`;
|
|
5548
|
+
* generation and retry additionally require `repo:admin`.
|
|
5549
|
+
*
|
|
5550
|
+
* `getAccess` returns a signed artifact descriptor only. It does not fetch
|
|
5551
|
+
* the signed URL or attach the WarmHub bearer token to that URL.
|
|
5552
|
+
*/
|
|
5553
|
+
checkpoint: {
|
|
5554
|
+
generate: (orgName: string, repoName: string, options?: {
|
|
5555
|
+
atLeastRepoSeq?: number;
|
|
5556
|
+
}) => Promise<RepositoryCheckpointStatus>;
|
|
5557
|
+
status: (orgName: string, repoName: string, selector: {
|
|
5558
|
+
checkpointId: string;
|
|
5559
|
+
repoSeq?: never;
|
|
5560
|
+
} | {
|
|
5561
|
+
repoSeq: number;
|
|
5562
|
+
checkpointId?: never;
|
|
5563
|
+
}) => Promise<RepositoryCheckpointStatus>;
|
|
5564
|
+
latest: (orgName: string, repoName: string) => Promise<(RepositoryCheckpointStatus & {
|
|
5565
|
+
state: "complete";
|
|
5566
|
+
}) | null>;
|
|
5567
|
+
getAccess: (orgName: string, repoName: string, input: {
|
|
5568
|
+
checkpoint: "latest" | ({
|
|
5569
|
+
checkpointId: string;
|
|
5570
|
+
repoSeq?: never;
|
|
5571
|
+
} | {
|
|
5572
|
+
repoSeq: number;
|
|
5573
|
+
checkpointId?: never;
|
|
5574
|
+
});
|
|
5575
|
+
artifact: "archive" | "manifest" | {
|
|
5576
|
+
chunkPath: string;
|
|
5577
|
+
};
|
|
5578
|
+
}) => Promise<RepositoryCheckpointAccess>;
|
|
5579
|
+
retry: (orgName: string, repoName: string, checkpointId: string) => Promise<RepositoryCheckpointStatus>;
|
|
5580
|
+
};
|
|
3977
5581
|
/**
|
|
3978
5582
|
* Get a repository by organization and repository name.
|
|
3979
5583
|
*/
|
|
@@ -4219,13 +5823,20 @@ declare class WarmHubClient {
|
|
|
4219
5823
|
/**
|
|
4220
5824
|
* Commit a new `Content/Readme` value.
|
|
4221
5825
|
*
|
|
4222
|
-
* The backend adds or revises the content record through the normal commit
|
|
5826
|
+
* The backend adds or revises the content record through the normal commit
|
|
5827
|
+
* pipeline. Create `opts.eventRequestId` before submission and reuse it to
|
|
5828
|
+
* look up or retry an ambiguous outcome.
|
|
4223
5829
|
*/
|
|
4224
|
-
setReadme: (orgName: string, repoName: string, content: string
|
|
5830
|
+
setReadme: (orgName: string, repoName: string, content: string, opts: {
|
|
5831
|
+
eventRequestId: string;
|
|
5832
|
+
}) => Promise<CommitApplyCompatibilityResult>;
|
|
4225
5833
|
/**
|
|
4226
5834
|
* Commit a new `Content/Agents` value through the normal commit pipeline.
|
|
5835
|
+
* The caller owns `opts.eventRequestId` across ambiguous retries.
|
|
4227
5836
|
*/
|
|
4228
|
-
setAgents: (orgName: string, repoName: string, content: string
|
|
5837
|
+
setAgents: (orgName: string, repoName: string, content: string, opts: {
|
|
5838
|
+
eventRequestId: string;
|
|
5839
|
+
}) => Promise<CommitApplyCompatibilityResult>;
|
|
4229
5840
|
/**
|
|
4230
5841
|
* Fetch the synthesized `Content/LlmsTxt` sitemap for a repository.
|
|
4231
5842
|
*
|
|
@@ -4259,11 +5870,9 @@ declare class WarmHubClient {
|
|
|
4259
5870
|
*
|
|
4260
5871
|
* Returns the full shape thing record, with `name`,
|
|
4261
5872
|
* `kind: "shape"`, `active`, and a nested `version: { version, operation,
|
|
4262
|
-
* data, dataHash } | null`.
|
|
4263
|
-
* shape
|
|
4264
|
-
*
|
|
4265
|
-
* not carry `data`. To read shape fields, call `get` and read
|
|
4266
|
-
* `result.version?.data` — the change result alone is not enough.
|
|
5873
|
+
* data, dataHash } | null`. Shape mutations return immutable operation-event
|
|
5874
|
+
* receipts, not this read projection. To read shape fields, call `get` and
|
|
5875
|
+
* read `result.version?.data`.
|
|
4267
5876
|
*
|
|
4268
5877
|
* @param opts.includeRetracted Include a retracted shape instead of treating it as missing.
|
|
4269
5878
|
*/
|
|
@@ -4273,35 +5882,41 @@ declare class WarmHubClient {
|
|
|
4273
5882
|
*
|
|
4274
5883
|
* Shape data should describe the fields used to validate things and assertions with that shape.
|
|
4275
5884
|
*
|
|
4276
|
-
* Returns
|
|
4277
|
-
*
|
|
4278
|
-
*
|
|
4279
|
-
* full shape record (with `kind`, `active`, and nested
|
|
4280
|
-
* `version.data`).
|
|
5885
|
+
* Returns the existing shape-change fields plus a nested immutable receipt.
|
|
5886
|
+
* Supply `opts.eventRequestId` when the caller needs stable receipt lookup
|
|
5887
|
+
* or safe retry after an ambiguous response; legacy callers may omit it.
|
|
4281
5888
|
*
|
|
5889
|
+
* @param opts.eventRequestId Caller-owned UUID retained across ambiguous retries.
|
|
4282
5890
|
* @param opts.description Optional human-readable shape description.
|
|
4283
5891
|
*/
|
|
4284
|
-
create: (orgName: string, repoName: string, shapeName: string, fields: Record<string, unknown>, opts
|
|
5892
|
+
create: (orgName: string, repoName: string, shapeName: string, fields: Record<string, unknown>, opts: ShapeCreateOptions) => Promise<ShapeChange>;
|
|
4285
5893
|
/**
|
|
4286
5894
|
* Revise a shape definition, creating a new shape version.
|
|
4287
5895
|
*
|
|
4288
|
-
* Returns
|
|
4289
|
-
*
|
|
4290
|
-
* `client.shape.get` for the full shape record.
|
|
5896
|
+
* Returns the existing shape-change fields plus a nested immutable receipt.
|
|
5897
|
+
* A supplied `opts.eventRequestId` remains stable across ambiguous retries.
|
|
4291
5898
|
*
|
|
5899
|
+
* @param opts.eventRequestId Caller-owned UUID retained across ambiguous retries.
|
|
4292
5900
|
* @param opts.description Optional human-readable description for the revised shape.
|
|
4293
5901
|
*/
|
|
4294
|
-
revise: (orgName: string, repoName: string, shapeName: string, newFields: Record<string, unknown>, opts
|
|
5902
|
+
revise: (orgName: string, repoName: string, shapeName: string, newFields: Record<string, unknown>, opts: ShapeReviseOptions) => Promise<ShapeChange>;
|
|
4295
5903
|
/**
|
|
4296
5904
|
* Retract a shape definition.
|
|
5905
|
+
*
|
|
5906
|
+
* Returns the existing removal fields plus a nested immutable receipt.
|
|
5907
|
+
* A supplied `opts.eventRequestId` remains stable across ambiguous retries.
|
|
5908
|
+
*
|
|
5909
|
+
* @param opts.eventRequestId Caller-owned UUID retained across ambiguous retries.
|
|
4297
5910
|
*/
|
|
4298
|
-
remove: (orgName: string, repoName: string, shapeName: string) => Promise<ShapeRemove>;
|
|
5911
|
+
remove: (orgName: string, repoName: string, shapeName: string, opts: ShapeRemoveOptions) => Promise<ShapeRemove>;
|
|
4299
5912
|
/**
|
|
4300
5913
|
* Rename a shape within a repository.
|
|
4301
5914
|
*
|
|
4302
|
-
* The rename is applied in place: the existing shape history is preserved
|
|
5915
|
+
* The rename is applied in place: the existing shape history is preserved
|
|
5916
|
+
* and no new version is created. Retain `opts.eventRequestId` for an exact
|
|
5917
|
+
* receipt replay after an ambiguous response.
|
|
4303
5918
|
*/
|
|
4304
|
-
rename: (orgName: string, repoName: string, oldName: string, newName: string) => Promise<RenameResult>;
|
|
5919
|
+
rename: (orgName: string, repoName: string, oldName: string, newName: string, opts: RenameOptions) => Promise<RenameResult>;
|
|
4305
5920
|
/**
|
|
4306
5921
|
* Return add, revise, retract, and rename history for a shape.
|
|
4307
5922
|
*
|
|
@@ -4399,9 +6014,12 @@ declare class WarmHubClient {
|
|
|
4399
6014
|
active: boolean;
|
|
4400
6015
|
}>;
|
|
4401
6016
|
/**
|
|
4402
|
-
*
|
|
6017
|
+
* Remove a subscription.
|
|
4403
6018
|
*
|
|
4404
|
-
*
|
|
6019
|
+
* Operation subscriptions are immediately retired: delivery stops, the
|
|
6020
|
+
* identity remains auditable, and the name stays reserved. Metadata and
|
|
6021
|
+
* legacy cron subscriptions are deleted. Omit `repoName` (object form) for
|
|
6022
|
+
* an org-scoped subscription.
|
|
4405
6023
|
*/
|
|
4406
6024
|
remove: (...args: SubscriptionRefArgs) => Promise<{
|
|
4407
6025
|
ok: true;
|
|
@@ -4723,9 +6341,11 @@ declare class WarmHubClient {
|
|
|
4723
6341
|
/**
|
|
4724
6342
|
* Rename a thing within its shape namespace.
|
|
4725
6343
|
*
|
|
4726
|
-
* The rename is applied in place: the thing's existing history is preserved
|
|
6344
|
+
* The rename is applied in place: the thing's existing history is preserved
|
|
6345
|
+
* and no new version is created. Retain `opts.eventRequestId` for an exact
|
|
6346
|
+
* receipt replay after an ambiguous response.
|
|
4727
6347
|
*/
|
|
4728
|
-
rename: (orgName: string, repoName: string, shapeName: string, oldName: string, newName: string) => Promise<RenameResult>;
|
|
6348
|
+
rename: (orgName: string, repoName: string, shapeName: string, oldName: string, newName: string, opts: RenameOptions) => Promise<RenameResult>;
|
|
4729
6349
|
/**
|
|
4730
6350
|
* Resolve a wref to its current projected record.
|
|
4731
6351
|
*/
|
|
@@ -5241,4 +6861,4 @@ declare class WarmHubClient {
|
|
|
5241
6861
|
private watchRepoQuery;
|
|
5242
6862
|
}
|
|
5243
6863
|
|
|
5244
|
-
export { type AboutOptions, type AboutResult, type AccessResolveInput, type AccessResolveResult, type AccessTokenProvider, type ActionAttemptInfo, type ActionDeliveryTarget, type ActionLeaseAcquire, type ActionLeaseOp, type ActionListNotificationsOptions, type ActionListRunsOptions, type ActionLiveFeed, type ActionLiveFeedItem, type ActionLiveFeedOptions, type ActionNotificationInfo, type ActionRunInfo, type ActionRunStatsInfo, type ActionRunStatsOptions, type AddOp, type AddOperation, AllStreamOperationsFailedError, type Assertion, CLI_INSTALL_REPO_HEADER, CLI_SIGNATURE_HEADER, CLI_TIMESTAMP_HEADER, CONTENT_FIELD_LIMIT_ERROR, type CliCallSecrets, CliCallVerificationError, type CliCallVerificationFailureReason, type CollectionAddOp, type CollectionAddType, type CollectionContainsOptions, type CollectionContainsResult, type CollectionCreateOptions, type CollectionDiffOptions, type CollectionDiffResult, type CollectionMember, type CollectionMembersOptions, type CollectionMembersPage, type CollectionMembershipRole, type CollectionMutationResult, type CollectionQuerySourceOptions, type CollectionReadDataMode, type CollectionReadSummary, type CollectionReviseOptions, type CollectionStatsOptions, type CollectionStatsResult, type CollectionTag, type CollectionType, type ComponentHistory, type ComponentHistoryOptions, type ComponentInfo, type ComponentInstallResult, type ComponentList, type ComponentListOptions, type ComponentUninstallResult, type ComponentView, type CoreErrorKind, type CountOptions, type CountResult, type CredentialAuditEntry, type CredentialDeleteResult, type CredentialGrantResult, type CredentialInfo, type CredentialKeyMutationResult, type CredentialRevokeResult, type CredentialUngrantResult, type CurrentUserInfo, DEFAULT_API_URL, DEFAULT_STREAM_CHUNK_SIZE, type ErrorKind, type FilterOptions, type FilterResult, type FunctionLogMode, type GlobalSearchOptions, type GlobalSearchResult, type GlobalSearchResultItem, type HeadResult, type HistoryResult, type HistoryVersion, type HomepageFeaturedListsResult, type IndexedFieldEntry, type IndexedFieldsReport, type LiveHandle, type LiveRepoEvent, type LiveSubscriptionLogOptions, type LiveThingHeadOptions, type LiveThingHistoryOptions, type LiveWatchResult, MAX_CONTENT_FIELD_BYTES, MAX_STREAM_APPEND_OPERATION_COUNT, type Operation, OperationBuilder, type OperationBuilderAddInput, type OperationBuilderClient, type OperationBuilderOp, type OperationBuilderOptions, type OperationSubmitResult, type OrgAccessResult, type OrgInfo, type OrgList, type OrgListMembersOptions, type OrgListOptions, type OrgMemberInfo, type OrgMemberList, type OrgRef, type OrgRole, type Page, type PageRequest, PartialStreamSubmissionError, type PingResult, type RefLink, type RefsOptions, type RefsResult, type RenameOperation, type RenameResult, type RepoAccessResult, type RepoConfigureStatsView, type RepoDescribeResult, type RepoExploreBrowseOptions, type RepoExploreItem, type RepoExploreOptions, type RepoExploreResult, type RepoInfo, type RepoLicense, type RepoList, type RepoListForCallerOptions, type RepoListOptions, type RepoListPageOptions, type RepoListPageResult, type RepoLocator, type RepoRecentInfo, type RepoRef, type RepoShapeInstanceCountsView, type RepoSort, type RepoStatsBatchResult, type RepoStatsView, type RepoWithStatsInfo, type RequestEvent, type ResolveWrefResult, type RetractOp, type RetractOperation, type RetryPolicyOptions, type ReviseOp, type ReviseOperation, SDK_VERSION, type SearchOptions, type SearchResult, type Shape, type ShapeChange, type ShapeCreateOptions, type ShapeFields, type ShapeGetOptions, type ShapeHistory, type ShapeHistoryOptions, type ShapeList, type ShapeListOptions, type ShapeRef, type ShapeRemove, type ShapeReviseOptions, type ShapeValidatorResult, type StreamAppendInput, type StreamAppendResult, type StreamContinuationState, type SubscriptionBindCredentialsResult, type SubscriptionCompatCreateInput, type SubscriptionCompatUpdateInput, type SubscriptionInfo, type SubscriptionList, type SubscriptionUnbindCredentialsResult, type SynthesizedRepoContent, type ThingChanges, type ThingDetail, type ThingGet, type ThingGetManyResult, type ThingGetOptions, type ThingGetWithLease, type ThingGraphOptions, type ThingGraphResult, type ThingGraphValue, type ThingHead, type ThingHeadChangesOptions, type ThingHeadOptions, type ThingHeadRequest, type ThingHeadVersionsResult, type ThingHistory, type ThingHistoryOptions, type ThingItem, type ThingMetadata, type ThingQueryChangesOptions, type TokenInfo, type TokenResult, type UndeclaredFieldsWarning, type ValidationDiagnostic, type ValidationResult, type VerifiedCliCall, WarmHubClient, type WarmHubClientOptions, WarmHubError, type WarmHubErrorDetails, type WherePredicate, type WhoamiInfo, type WhoamiScopeEntry, type WireScopeEntry, connectionErrorMessage, contentFieldLimitError, countStreamAppendResultStatuses, isConnectionError, isRetryable, isWarmHubError, normalizeWref, resolveFunctionLogMode, sanitizeErrorMessage, sdkVersionIsBelowMinimum, streamAppendResultStatus, submitOperationsViaStream, toWarmHubError, validateAgainstShape, verifyCliCall };
|
|
6864
|
+
export { type AboutOptions, type AboutResult, type AccessResolveInput, type AccessResolveResult, type AccessTokenProvider, type ActionAttemptInfo, type ActionDeliveryTarget, type ActionLeaseAcquire, type ActionLeaseOp, type ActionListNotificationsOptions, type ActionListRunsOptions, type ActionLiveFeed, type ActionLiveFeedItem, type ActionLiveFeedOptions, type ActionNotificationInfo, type ActionRunInfo, type ActionRunStatsInfo, type ActionRunStatsOptions, type AddOp, type AddOperation, AllStreamOperationsFailedError, type Assertion, CLI_INSTALL_REPO_HEADER, CLI_SIGNATURE_HEADER, CLI_TIMESTAMP_HEADER, CONTENT_FIELD_LIMIT_ERROR, type CliCallSecrets, CliCallVerificationError, type CliCallVerificationFailureReason, type CollectionAddOp, type CollectionAddType, type CollectionContainsOptions, type CollectionContainsResult, type CollectionCreateOptions, type CollectionDiffOptions, type CollectionDiffResult, type CollectionMember, type CollectionMembersOptions, type CollectionMembersPage, type CollectionMembershipRole, type CollectionMutationResult, type CollectionQuerySourceOptions, type CollectionReadDataMode, type CollectionReadSummary, type CollectionReviseOptions, type CollectionStatsOptions, type CollectionStatsResult, type CollectionTag, type CollectionType, type CommitApplyCompatibilityResult, type ComponentHistory, type ComponentHistoryOptions, type ComponentInfo, type ComponentInstallOptions, type ComponentInstallResult, type ComponentList, type ComponentListOptions, type ComponentUninstallOptions, type ComponentUninstallResult, type ComponentView, type CoreErrorKind, type CountOptions, type CountResult, type CredentialAuditEntry, type CredentialDeleteResult, type CredentialGrantResult, type CredentialInfo, type CredentialKeyMutationResult, type CredentialRevokeResult, type CredentialUngrantResult, type CurrentUserInfo, DEFAULT_API_URL, DEFAULT_STREAM_CHUNK_SIZE, type ErrorKind, type FilterOptions, type FilterResult, type FunctionLogMode, type GlobalSearchOptions, type GlobalSearchResult, type GlobalSearchResultItem, type HeadResult, type HistoryResult, type HistoryVersion, type HomepageFeaturedListsResult, type IndexedFieldEntry, type IndexedFieldsReport, type LiveHandle, type LiveRepoEvent, type LiveSubscriptionLogOptions, type LiveThingHeadOptions, type LiveThingHistoryOptions, type LiveWatchResult, MAX_CONTENT_FIELD_BYTES, MAX_STREAM_APPEND_OPERATION_COUNT, type Operation, OperationBuilder, type OperationBuilderAddInput, type OperationBuilderClient, type OperationBuilderOp, type OperationBuilderOptions, type OperationEventReceiptV1, type OperationSubmitResult, type OrgAccessResult, type OrgInfo, type OrgList, type OrgListMembersOptions, type OrgListOptions, type OrgMemberInfo, type OrgMemberList, type OrgRef, type OrgRole, type Page, type PageRequest, PartialStreamSubmissionError, type PingResult, type RefLink, type RefsOptions, type RefsResult, type RenameOperation, type RenameOptions, type RenameResult, type RepoAccessResult, type RepoConfigureStatsView, type RepoDescribeResult, type RepoExploreBrowseOptions, type RepoExploreItem, type RepoExploreOptions, type RepoExploreResult, type RepoInfo, type RepoLicense, type RepoList, type RepoListForCallerOptions, type RepoListOptions, type RepoListPageOptions, type RepoListPageResult, type RepoLocator, type RepoRecentInfo, type RepoRef, type RepoShapeInstanceCountsView, type RepoSort, type RepoStatsBatchResult, type RepoStatsView, type RepoWithStatsInfo, type RepositoryCheckpointAccess, type RepositoryCheckpointStatus, type RequestEvent, type ResolveWrefResult, type RetractOp, type RetractOperation, type RetryPolicyOptions, type ReviseOp, type ReviseOperation, SDK_VERSION, type SearchOptions, type SearchResult, type Shape, type ShapeChange, type ShapeCreateOptions, type ShapeFields, type ShapeGetOptions, type ShapeHistory, type ShapeHistoryOptions, type ShapeList, type ShapeListOptions, type ShapeRef, type ShapeRemove, type ShapeRemoveOptions, type ShapeReviseOptions, type ShapeValidatorResult, type StreamAppendInput, type StreamAppendResult, type StreamContinuationState, type SubscriptionBindCredentialsResult, type SubscriptionCompatCreateInput, type SubscriptionCompatUpdateInput, type SubscriptionInfo, type SubscriptionList, type SubscriptionUnbindCredentialsResult, type SynthesizedRepoContent, type ThingChanges, type ThingDetail, type ThingGet, type ThingGetManyResult, type ThingGetOptions, type ThingGetWithLease, type ThingGraphOptions, type ThingGraphResult, type ThingGraphValue, type ThingHead, type ThingHeadChangesOptions, type ThingHeadOptions, type ThingHeadRequest, type ThingHeadVersionsResult, type ThingHistory, type ThingHistoryOptions, type ThingItem, type ThingMetadata, type ThingQueryChangesOptions, type TokenInfo, type TokenResult, type UndeclaredFieldsWarning, type ValidationDiagnostic, type ValidationResult, type VerifiedCliCall, WarmHubClient, type WarmHubClientOptions, WarmHubError, type WarmHubErrorDetails, type WherePredicate, type WhoamiInfo, type WhoamiScopeEntry, type WireScopeEntry, aggregateSubmittedStreamResult, completedOperationsFrom, connectionErrorMessage, contentFieldLimitError, countStreamAppendResultStatuses, createOperationEventRequestId, createOperationEventSubmissionId, isConnectionError, isDefiniteStreamAppendRejection, isRetryable, isWarmHubError, normalizeWref, offsetChunkResultIndexes, operationEventStreamRequestId, resolveFunctionLogMode, sanitizeErrorMessage, sdkVersionIsBelowMinimum, streamAppendResultStatus, submitOperationsViaStream, toWarmHubError, validateAgainstShape, verifyCliCall };
|