@warmhub/sdk-ts 0.51.0 → 0.52.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -201,20 +201,6 @@ type ComponentSummary = {
201
201
  active: boolean;
202
202
  wref: string;
203
203
  };
204
- type InstallBundledSystemComponentResult = {
205
- componentId: string;
206
- componentName: string;
207
- version: string;
208
- state: 'ready' | 'unchanged';
209
- componentInstallShapeCreated: boolean;
210
- componentInstallShapeReconciled: boolean;
211
- componentConfigShapeCreated: boolean;
212
- componentConfigShapeReconciled: boolean;
213
- componentInstallRecordCreated: boolean;
214
- componentInstallRecordReconciled: boolean;
215
- identityShapeCreated: boolean;
216
- identityShapeReconciled: boolean;
217
- };
218
204
  type CredentialDeleteResult$1 = {
219
205
  ok: true;
220
206
  name: string;
@@ -462,6 +448,17 @@ type ThingGetManyResult$1 = {
462
448
  }>;
463
449
  missing: Array<string>;
464
450
  };
451
+ type ThingHeadVersionsResult$1 = {
452
+ requested: number;
453
+ items: Array<{
454
+ wref: string;
455
+ durableId: string;
456
+ version: number;
457
+ active: boolean;
458
+ versionCreatedAt: number;
459
+ }>;
460
+ missing: Array<string>;
461
+ };
465
462
  type RenameResult$1 = {
466
463
  renamed: true;
467
464
  };
@@ -585,7 +582,7 @@ type SynthesizedRepoContent$1 = {
585
582
  };
586
583
  type ShapeChangeResult = {
587
584
  name: string;
588
- operation: 'add' | 'revise' | 'retract';
585
+ operation: 'add' | 'revise' | 'retract' | 'noop';
589
586
  version: number;
590
587
  dataHash: string;
591
588
  };
@@ -594,6 +591,10 @@ type SubscriptionBindCredentialsResult$1 = {
594
591
  subscriptionName: string;
595
592
  credentialSetName: string;
596
593
  };
594
+ type SubscriptionRevealResult = {
595
+ webhookUrl?: string;
596
+ fallbackWebhookUrl?: string;
597
+ };
597
598
  type SubscriptionUnbindCredentialsResult$1 = {
598
599
  unbound: true;
599
600
  subscriptionName: string;
@@ -644,8 +645,10 @@ interface AddOperation {
644
645
  operation?: 'add';
645
646
  /**
646
647
  * Optional kind override: `shape`, `thing`, `assertion`, or `collection`.
647
- * When omitted, kind is inferred from `name` segmentation (1-seg thing,
648
- * 2-seg `Shape/name` → thing, 3+ segments assertion).
648
+ * When omitted, kind is inferred: `about` presentassertion; collection
649
+ * `type` plus `members` → collection; otherwise by `name` segmentation
650
+ * (1–2 segments → thing, 3+ segments → assertion). Shape adds always
651
+ * require explicit `kind: 'shape'`.
649
652
  */
650
653
  kind?: 'shape' | 'thing' | 'assertion' | 'collection';
651
654
  /**
@@ -1089,19 +1092,37 @@ type CliHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
1089
1092
  * A valid shape definition is:
1090
1093
  * { fields: Record<string, TypeSpec>, description?: string }
1091
1094
  * where TypeSpec is one of:
1092
- * - primitive string: "number", "string", "boolean", "wref"
1093
- * - optional primitive: "number?", "string?", "boolean?", "wref?"
1095
+ * - primitive string: "number", "string", "boolean", "wref", "array"
1096
+ * - optional primitive: "number?", "string?", "boolean?", "wref?", "array?"
1094
1097
  * - typed field object: { type: primitive, description?: string }
1095
- * - array: [TypeSpec]
1098
+ * - array: [TypeSpec] (shorthand) or { type: "array", items: TypeSpec }
1096
1099
  * - nested object: { fieldName: TypeSpec, ... } (key may end with "?" for optional)
1100
+ *
1101
+ * The primitive vocabulary above is closed: any other type name (e.g. "text",
1102
+ * "integer", "json", "date") is rejected. See VALID_PRIMITIVE_TYPES in
1103
+ * ./shape-types.ts for the authoritative set.
1104
+ */
1105
+ /**
1106
+ * Maximum size, in bytes (UTF-8 encoded), allowed for a single content field value.
1107
+ * WarmHub is not a document store: values larger than this are rejected at validation.
1108
+ * Store large documents in S3, Box, Drive, or another document system and reference
1109
+ * them from WarmHub instead.
1097
1110
  * @see https://docs.warmhub.ai/sdk-reference/variables/max_content_field_bytes/
1098
1111
  */
1099
1112
  declare const MAX_CONTENT_FIELD_BYTES: number;
1100
1113
  /**
1114
+ * Human-readable explanation of the {@link MAX_CONTENT_FIELD_BYTES} limit, suitable for
1115
+ * appending to a field-specific validation error. States the byte cap and points callers
1116
+ * to an external document store for large payloads.
1101
1117
  * @see https://docs.warmhub.ai/sdk-reference/variables/content_field_limit_error/
1102
1118
  */
1103
1119
  declare const CONTENT_FIELD_LIMIT_ERROR: string;
1104
1120
  /**
1121
+ * Returns a validation error message if the given string exceeds
1122
+ * {@link MAX_CONTENT_FIELD_BYTES} when UTF-8 encoded, or `null` if it is within the limit.
1123
+ *
1124
+ * @param path - The field path, used to identify the offending field in the message.
1125
+ * @param value - The candidate field value to measure.
1105
1126
  * @see https://docs.warmhub.ai/sdk-reference/functions/contentfieldlimiterror/
1106
1127
  */
1107
1128
  declare function contentFieldLimitError(path: string, value: string): string | null;
@@ -1689,7 +1710,7 @@ type ShapeList = ShapeListResult;
1689
1710
  */
1690
1711
  type ShapeRemove = {
1691
1712
  name: string;
1692
- operation: 'add' | 'revise' | 'retract';
1713
+ operation: 'add' | 'revise' | 'retract' | 'noop';
1693
1714
  version: number;
1694
1715
  dataHash: string;
1695
1716
  removed: true;
@@ -1704,6 +1725,10 @@ type ShapeRemove = {
1704
1725
  * and `actionContainerConfig` appear on the type as optional fields but are
1705
1726
  * always returned as `undefined` on reads.
1706
1727
  *
1728
+ * Webhook URLs are redacted to their origin (`webhookOrigin`,
1729
+ * `fallbackWebhookOrigin` = scheme://host) on read — the raw URL path is a
1730
+ * bearer secret and is returned only via `client.subscription.reveal`.
1731
+ *
1707
1732
  * @internal
1708
1733
  */
1709
1734
  type SubscriptionInfo = {
@@ -1713,8 +1738,8 @@ type SubscriptionInfo = {
1713
1738
  shapeName?: string;
1714
1739
  sourceRepo?: string;
1715
1740
  filterJson?: unknown;
1716
- webhookUrl?: string;
1717
- fallbackWebhookUrl?: string;
1741
+ webhookOrigin?: string;
1742
+ fallbackWebhookOrigin?: string;
1718
1743
  actionContainerConfig?: unknown;
1719
1744
  actionContainer?: string;
1720
1745
  cronConfig?: {
@@ -1751,26 +1776,18 @@ type SubscriptionCompatCreateBase = {
1751
1776
  };
1752
1777
  /**
1753
1778
  * Input shape for `client.subscription.create`. Webhook subscriptions require
1754
- * `filterJson`; cron subscriptions require `cronConfig`. Both variants require
1755
- * `webhookUrl`.
1756
- * Non-cron subscriptions must additionally identify a shape via `shapeName`
1779
+ * `filterJson` and `webhookUrl`, and must identify a shape via `shapeName`
1757
1780
  * or `filterJson.shape` (or a shape-lifecycle `{ kind: 'shape' }` filter).
1781
+ * The cron kind was retired from public surfaces; legacy cron rows remain
1782
+ * readable via {@link SubscriptionInfo}.
1758
1783
  *
1759
1784
  * @see https://docs.warmhub.ai/subscriptions/creating/
1760
1785
  */
1761
- type SubscriptionCompatCreateInput = (SubscriptionCompatCreateBase & {
1786
+ type SubscriptionCompatCreateInput = SubscriptionCompatCreateBase & {
1762
1787
  kind: 'webhook';
1763
1788
  filterJson: Record<string, unknown>;
1764
1789
  sourceRepoRef?: string;
1765
- }) | (SubscriptionCompatCreateBase & {
1766
- kind: 'cron';
1767
- cronConfig: {
1768
- cronspec: string;
1769
- timezone?: string;
1770
- };
1771
- filterJson?: Record<string, unknown>;
1772
- sourceRepoRef?: never;
1773
- });
1790
+ };
1774
1791
  /**
1775
1792
  * Input shape for `client.subscription.update`. `orgName`, `repoName`, and
1776
1793
  * `name` identify the subscription; all other fields are optional and only
@@ -1786,10 +1803,6 @@ type SubscriptionCompatUpdateInput = {
1786
1803
  filterJson?: Record<string, unknown>;
1787
1804
  webhookUrl?: string;
1788
1805
  fallbackWebhookUrl?: string | null;
1789
- cronConfig?: {
1790
- cronspec: string;
1791
- timezone?: string;
1792
- };
1793
1806
  allowTraceReentry?: boolean;
1794
1807
  notifyOnSuccess?: boolean;
1795
1808
  /** @internal Back-compat field; not consumed by the backend update mutation. */
@@ -1873,8 +1886,6 @@ type ComponentListOptions = {
1873
1886
  limit?: number;
1874
1887
  cursor?: string;
1875
1888
  };
1876
- /** @internal */
1877
- type ComponentInstallSystemResult = InstallBundledSystemComponentResult;
1878
1889
  type ComponentRegistryInfo = {
1879
1890
  id: string;
1880
1891
  ownerOrgName: string;
@@ -1906,30 +1917,29 @@ type ComponentRegistryMutationInput = {
1906
1917
  allowedCallbackDomains?: string[];
1907
1918
  credentialSetName?: string;
1908
1919
  description?: string;
1920
+ /** Validated component manifest. Required on register; on update, supplying it publishes a new version. */
1921
+ manifest?: Record<string, unknown>;
1922
+ };
1923
+ type ComponentRegistryRegisterInput = ComponentRegistryMutationInput & {
1924
+ manifest: Record<string, unknown>;
1909
1925
  };
1910
1926
  type ComponentRegistryResolveResult = {
1911
- sourceUrl: string;
1912
- sourceDefaultRef?: string;
1927
+ /** Latest published manifest (manifest-only install — #3993). */
1928
+ manifest: Record<string, unknown>;
1929
+ /** Stored content hash of the resolved manifest; echo it back on setupCall. */
1930
+ manifestHash: string;
1913
1931
  hasSetup: boolean;
1914
1932
  installId: string;
1915
1933
  };
1916
- type ComponentRegistrySourceDownloadInput = {
1917
- installRepo: string;
1918
- ref?: string;
1919
- };
1920
- type ComponentRegistrySourceDownloadResult = {
1921
- archive: Uint8Array;
1922
- sourceUrl: string;
1923
- sourceRef?: string;
1924
- resolvedSha?: string;
1925
- componentRef: string;
1926
- contentType: string;
1927
- };
1928
1934
  type ComponentRegistrySetupCallInput = {
1929
1935
  installId: string;
1930
1936
  installRepo: string;
1931
- ref?: string;
1932
- resolvedSha?: string;
1937
+ /**
1938
+ * Manifest hash from the preceding resolve. The backend rejects the call if
1939
+ * its latest manifest no longer matches, so token scopes can't drift to a
1940
+ * revision published mid-install (#3993).
1941
+ */
1942
+ expectedManifestHash: string;
1933
1943
  };
1934
1944
  type ComponentRegistrySetupCallResult = {
1935
1945
  ok: boolean;
@@ -2305,7 +2315,7 @@ type ThingHeadRequest = {
2305
2315
  orgName: string;
2306
2316
  repoName: string;
2307
2317
  shape?: string;
2308
- kind?: string;
2318
+ kind?: 'shape' | 'thing' | 'assertion' | 'collection';
2309
2319
  match?: string;
2310
2320
  dataMode?: 'full' | 'summary' | 'none';
2311
2321
  includeRetracted?: boolean;
@@ -2491,6 +2501,8 @@ type ResolveWrefResult = ThingDetail;
2491
2501
  /** @internal */
2492
2502
  type ThingGetManyResult = ThingGetManyResult$1;
2493
2503
  /** @internal */
2504
+ type ThingHeadVersionsResult = ThingHeadVersionsResult$1;
2505
+ /** @internal */
2494
2506
  type CountResult = {
2495
2507
  count: number;
2496
2508
  };
@@ -2552,7 +2564,7 @@ type FilterOptions = {
2552
2564
  /** Filter to records of this shape name (for example `Player`). */
2553
2565
  shape?: string;
2554
2566
  /** Filter to records of this kind: `shape`, `thing`, `assertion`, or `collection`. */
2555
- kind?: string;
2567
+ kind?: 'shape' | 'thing' | 'assertion' | 'collection';
2556
2568
  /** Filter assertions whose `about` target wref matches the supplied value. */
2557
2569
  about?: string;
2558
2570
  /** Glob pattern matched against record names (for example `Player/*`). */
@@ -2891,17 +2903,13 @@ declare class WarmHubClient {
2891
2903
  * Fetch one installed component by component ID.
2892
2904
  */
2893
2905
  get: (orgName: string, repoName: string, componentId: string) => Promise<ComponentView>;
2894
- /**
2895
- * Install an allowlisted bundled system component into a repository.
2896
- */
2897
- installSystem: (orgName: string, repoName: string, componentId: string) => Promise<ComponentInstallSystemResult>;
2898
2906
  /**
2899
2907
  * Registered-component identity and install-pipeline operations.
2900
2908
  *
2901
- * This sub-surface drives the backend-mediated install flow that powers `wh component install <org/name>`. It manages registered component identities (`register`, `unregister`, `list`, `view`, `update`) and the install pipeline (`resolve` mints an install id, `downloadSource` fetches the source archive through the backend, `setupCall` dispatches the optional setup callback). Use these when building a custom installer; most callers should run the CLI instead.
2909
+ * This sub-surface drives the backend-mediated install flow that powers `wh component install <org/name>`. It manages registered component identities (`register`, `unregister`, `list`, `view`, `update`) and the install pipeline (`resolve` returns the latest published manifest plus an install id, `setupCall` dispatches the optional setup callback). Use these when building a custom installer; most callers should run the CLI instead.
2902
2910
  */
2903
2911
  registry: {
2904
- register: (orgName: string, componentName: string, input?: ComponentRegistryMutationInput) => Promise<ComponentRegistryInfo>;
2912
+ register: (orgName: string, componentName: string, input: ComponentRegistryRegisterInput) => Promise<ComponentRegistryInfo>;
2905
2913
  unregister: (orgName: string, componentName: string) => Promise<{
2906
2914
  unregistered: true;
2907
2915
  }>;
@@ -2909,7 +2917,6 @@ declare class WarmHubClient {
2909
2917
  view: (orgName: string, componentName: string) => Promise<ComponentRegistryInfo>;
2910
2918
  update: (orgName: string, componentName: string, input: ComponentRegistryMutationInput) => Promise<ComponentRegistryInfo>;
2911
2919
  resolve: (orgName: string, componentName: string, installRepo: string) => Promise<ComponentRegistryResolveResult>;
2912
- downloadSource: (orgName: string, componentName: string, input: ComponentRegistrySourceDownloadInput) => Promise<ComponentRegistrySourceDownloadResult>;
2913
2920
  setupCall: (orgName: string, componentName: string, input: ComponentRegistrySetupCallInput) => Promise<ComponentRegistrySetupCallResult>;
2914
2921
  };
2915
2922
  /**
@@ -3307,15 +3314,15 @@ declare class WarmHubClient {
3307
3314
  history: (orgName: string, repoName: string, name: string, opts?: ShapeHistoryOptions) => Promise<ShapeHistory>;
3308
3315
  };
3309
3316
  /**
3310
- * Webhook and cron subscription management surface scoped to a repository.
3317
+ * Webhook subscription management surface scoped to a repository.
3311
3318
  *
3312
3319
  * @see https://docs.warmhub.ai/sdk/component-identity/#subscriptions
3313
3320
  */
3314
3321
  readonly subscription: {
3315
3322
  /**
3316
- * Create a webhook or cron subscription.
3323
+ * Create a webhook subscription.
3317
3324
  *
3318
- * Both subscription kinds require a delivery URL. Webhook subscriptions can also forward events from another repository, allow trace reentry, bind fallback delivery, and opt into success notifications. Component identity is set at creation time and follows the same authority rules as commit writes.
3325
+ * Webhook subscriptions require a delivery URL and can forward events from another repository, allow trace reentry, bind fallback delivery, and opt into success notifications. Component identity is set at creation time and follows the same authority rules as commit writes.
3319
3326
  *
3320
3327
  * Webhook subscriptions must specify a shape filter via `shapeName` or `filterJson.shape`, except [shape-lifecycle subscriptions](/subscriptions/creating/#shape-lifecycle-subscriptions) which omit both and rely on a `{ kind: 'shape', ... }` filter.
3321
3328
  */
@@ -3324,14 +3331,25 @@ declare class WarmHubClient {
3324
3331
  * Get one subscription by name.
3325
3332
  */
3326
3333
  get: (orgName: string, repoName: string, name: string) => Promise<SubscriptionInfo>;
3334
+ /**
3335
+ * Reveal the raw webhook URL(s) for a subscription.
3336
+ *
3337
+ * Reads return only `webhookOrigin`/`fallbackWebhookOrigin` (scheme://host);
3338
+ * the raw URL path is a bearer secret. This break-glass call returns the
3339
+ * raw URL(s) and is audit-logged server-side. Requires `repo:configure`.
3340
+ * Because it returns the secret, a name-scoped principal (e.g. a component
3341
+ * setup token) may reveal only the subscriptions it is scoped to — a
3342
+ * stricter contract than the redacted `get`/`list`, which are unscoped.
3343
+ */
3344
+ reveal: (orgName: string, repoName: string, name: string) => Promise<SubscriptionRevealResult>;
3327
3345
  /**
3328
3346
  * List subscriptions attached to a repository.
3329
3347
  */
3330
3348
  list: (orgName: string, repoName: string) => Promise<SubscriptionList>;
3331
3349
  /**
3332
- * Update an existing webhook or cron subscription.
3350
+ * Update an existing webhook subscription.
3333
3351
  *
3334
- * Use `null` for nullable fields such as fallback webhook URL when you need to clear an existing value.
3352
+ * Use `null` for nullable fields such as fallback webhook URL when you need to clear an existing value. Legacy cron subscriptions cannot be updated — delete them instead.
3335
3353
  */
3336
3354
  update: (input: SubscriptionCompatUpdateInput) => Promise<SubscriptionInfo>;
3337
3355
  /**
@@ -3509,6 +3527,25 @@ declare class WarmHubClient {
3509
3527
  chunkSize?: number;
3510
3528
  chunkConcurrency?: number;
3511
3529
  }) => Promise<ThingGetManyResult>;
3530
+ /**
3531
+ * Batched lightweight per-thing change probe — returns
3532
+ * `{ wref, durableId, version, active, versionCreatedAt }` per wref with NO
3533
+ * payload. Use it to check whether locally-cached copies are still fresh
3534
+ * without pulling `data`: a value is stale if `durableId` differs (the wref
3535
+ * now points to a different thing), `version`/`active` differ (the same
3536
+ * thing changed/was retracted), or the wref appears in `missing`.
3537
+ *
3538
+ * Auto-chunks above the backend's 500-wref transport cap; preserves
3539
+ * duplicate requested wrefs and reports inaccessible/unknown refs in
3540
+ * `missing` rather than throwing per item.
3541
+ *
3542
+ * @param opts.chunkSize Maximum wrefs per backend request. Defaults to 500 and is clamped to the backend cap.
3543
+ * @param opts.chunkConcurrency Maximum concurrent chunk requests. Defaults to 1 and is clamped to 8.
3544
+ */
3545
+ headVersions: (orgName: string | undefined, repoName: string | undefined, wrefs: string[], opts?: {
3546
+ chunkSize?: number;
3547
+ chunkConcurrency?: number;
3548
+ }) => Promise<ThingHeadVersionsResult>;
3512
3549
  /**
3513
3550
  * Return version history and timeline metadata for repository records.
3514
3551
  *
@@ -3877,4 +3914,4 @@ declare class WarmHubClient {
3877
3914
  private watchRepoQuery;
3878
3915
  }
3879
3916
 
3880
- export { type AboutOptions, type AboutResult, type AccessTokenProvider, type ActionAttemptInfo, type ActionLeaseAcquire, type ActionLeaseOp, type ActionListNotificationsOptions, type ActionListRunsOptions, type ActionLiveFeed, 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 CollectionAbout, type CollectionTag, type ComponentInfo, type ComponentInstallSystemResult, type ComponentList, type ComponentListOptions, 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 HeadResult, type HistoryResult, 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 OperationBuilderClient, type OperationBuilderOp, type OperationBuilderOptions, type OperationSubmitResult, 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 RenameResult, type RepoConfigureStatsView, type RepoDescribeResult, type RepoInfo, 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 ThingDetail, type ThingGet, type ThingGetManyResult, type ThingGetOptions, type ThingGetWithLease, type ThingGraphOptions, type ThingGraphResult, type ThingGraphValue, type ThingHead, type ThingHeadOptions, type ThingHeadRequest, type ThingHistory, type ThingHistoryOptions, type ThingItem, type ThingMetadata, 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 };
3917
+ export { type AboutOptions, type AboutResult, type AccessTokenProvider, type ActionAttemptInfo, type ActionLeaseAcquire, type ActionLeaseOp, type ActionListNotificationsOptions, type ActionListRunsOptions, type ActionLiveFeed, 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 CollectionAbout, type CollectionTag, type ComponentInfo, type ComponentList, type ComponentListOptions, 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 HeadResult, type HistoryResult, 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 OperationBuilderClient, type OperationBuilderOp, type OperationBuilderOptions, type OperationSubmitResult, 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 RenameResult, type RepoConfigureStatsView, type RepoDescribeResult, type RepoInfo, 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 ThingDetail, type ThingGet, type ThingGetManyResult, type ThingGetOptions, type ThingGetWithLease, type ThingGraphOptions, type ThingGraphResult, type ThingGraphValue, type ThingHead, type ThingHeadOptions, type ThingHeadRequest, type ThingHeadVersionsResult, type ThingHistory, type ThingHistoryOptions, type ThingItem, type ThingMetadata, 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 };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { AllStreamOperationsFailedError, CLI_INSTALL_REPO_HEADER, CLI_SIGNATURE_HEADER, CLI_TIMESTAMP_HEADER, CONTENT_FIELD_LIMIT_ERROR, CliCallVerificationError, DEFAULT_API_URL, DEFAULT_STREAM_CHUNK_SIZE, MAX_CONTENT_FIELD_BYTES, MAX_STREAM_APPEND_OPERATION_COUNT, OperationBuilder, PartialStreamSubmissionError, SDK_VERSION, WarmHubClient, WarmHubError, connectionErrorMessage, contentFieldLimitError, countStreamAppendResultStatuses, isConnectionError, isRetryable, isWarmHubError, normalizeWref, resolveFunctionLogMode, sanitizeErrorMessage, sdkVersionIsBelowMinimum, streamAppendResultStatus, submitOperationsViaStream, toWarmHubError, validateAgainstShape, verifyCliCall } from './chunk-ZTDMTDJ6.js';
1
+ export { AllStreamOperationsFailedError, CLI_INSTALL_REPO_HEADER, CLI_SIGNATURE_HEADER, CLI_TIMESTAMP_HEADER, CONTENT_FIELD_LIMIT_ERROR, CliCallVerificationError, DEFAULT_API_URL, DEFAULT_STREAM_CHUNK_SIZE, MAX_CONTENT_FIELD_BYTES, MAX_STREAM_APPEND_OPERATION_COUNT, OperationBuilder, PartialStreamSubmissionError, SDK_VERSION, WarmHubClient, WarmHubError, connectionErrorMessage, contentFieldLimitError, countStreamAppendResultStatuses, isConnectionError, isRetryable, isWarmHubError, normalizeWref, resolveFunctionLogMode, sanitizeErrorMessage, sdkVersionIsBelowMinimum, streamAppendResultStatus, submitOperationsViaStream, toWarmHubError, validateAgainstShape, verifyCliCall } from './chunk-OPTB23HY.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
package/dist/react.js CHANGED
@@ -1,5 +1,5 @@
1
- import { WarmHubClient } from './chunk-ZTDMTDJ6.js';
2
- export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-ZTDMTDJ6.js';
1
+ import { WarmHubClient } from './chunk-OPTB23HY.js';
2
+ export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-OPTB23HY.js';
3
3
  import { createContext, useMemo, useState, useEffect, useContext } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warmhub/sdk-ts",
3
- "version": "0.51.0",
3
+ "version": "0.52.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "The TypeScript SDK for WarmHub — create repos, commit and query data, and compound knowledge with your AI agents.",
@@ -68,6 +68,7 @@
68
68
  "quality:verbose": "bun run scripts/quality-check.ts --verbose",
69
69
  "check:contract": "node ../../scripts/lint/external-identity-contracts.mjs sdk",
70
70
  "test": "vitest run",
71
+ "test:coverage": "vitest run --coverage",
71
72
  "test:watch": "vitest",
72
73
  "typecheck": "bun run check:contract && bun run audit:backend-types && bun run audit:sdk-result-types && tsc --noEmit",
73
74
  "docs:api:json": "typedoc --options typedoc.json --json /tmp/warmhub-sdk-api.json",
@@ -85,6 +86,7 @@
85
86
  "@trpc/client": "11.17.0"
86
87
  },
87
88
  "devDependencies": {
89
+ "@vitest/coverage-v8": "4.1.5",
88
90
  "@types/react": "19.2.14",
89
91
  "react": "19.2.6",
90
92
  "tsup": "8.5.1",