@warmhub/sdk-ts 0.50.0 → 0.52.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/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
  };
@@ -644,8 +641,10 @@ interface AddOperation {
644
641
  operation?: 'add';
645
642
  /**
646
643
  * 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).
644
+ * When omitted, kind is inferred: `about` presentassertion; collection
645
+ * `type` plus `members` → collection; otherwise by `name` segmentation
646
+ * (1–2 segments → thing, 3+ segments → assertion). Shape adds always
647
+ * require explicit `kind: 'shape'`.
649
648
  */
650
649
  kind?: 'shape' | 'thing' | 'assertion' | 'collection';
651
650
  /**
@@ -1089,19 +1088,37 @@ type CliHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
1089
1088
  * A valid shape definition is:
1090
1089
  * { fields: Record<string, TypeSpec>, description?: string }
1091
1090
  * where TypeSpec is one of:
1092
- * - primitive string: "number", "string", "boolean", "wref"
1093
- * - optional primitive: "number?", "string?", "boolean?", "wref?"
1091
+ * - primitive string: "number", "string", "boolean", "wref", "array"
1092
+ * - optional primitive: "number?", "string?", "boolean?", "wref?", "array?"
1094
1093
  * - typed field object: { type: primitive, description?: string }
1095
- * - array: [TypeSpec]
1094
+ * - array: [TypeSpec] (shorthand) or { type: "array", items: TypeSpec }
1096
1095
  * - nested object: { fieldName: TypeSpec, ... } (key may end with "?" for optional)
1096
+ *
1097
+ * The primitive vocabulary above is closed: any other type name (e.g. "text",
1098
+ * "integer", "json", "date") is rejected. See VALID_PRIMITIVE_TYPES in
1099
+ * ./shape-types.ts for the authoritative set.
1100
+ */
1101
+ /**
1102
+ * Maximum size, in bytes (UTF-8 encoded), allowed for a single content field value.
1103
+ * WarmHub is not a document store: values larger than this are rejected at validation.
1104
+ * Store large documents in S3, Box, Drive, or another document system and reference
1105
+ * them from WarmHub instead.
1097
1106
  * @see https://docs.warmhub.ai/sdk-reference/variables/max_content_field_bytes/
1098
1107
  */
1099
1108
  declare const MAX_CONTENT_FIELD_BYTES: number;
1100
1109
  /**
1110
+ * Human-readable explanation of the {@link MAX_CONTENT_FIELD_BYTES} limit, suitable for
1111
+ * appending to a field-specific validation error. States the byte cap and points callers
1112
+ * to an external document store for large payloads.
1101
1113
  * @see https://docs.warmhub.ai/sdk-reference/variables/content_field_limit_error/
1102
1114
  */
1103
1115
  declare const CONTENT_FIELD_LIMIT_ERROR: string;
1104
1116
  /**
1117
+ * Returns a validation error message if the given string exceeds
1118
+ * {@link MAX_CONTENT_FIELD_BYTES} when UTF-8 encoded, or `null` if it is within the limit.
1119
+ *
1120
+ * @param path - The field path, used to identify the offending field in the message.
1121
+ * @param value - The candidate field value to measure.
1105
1122
  * @see https://docs.warmhub.ai/sdk-reference/functions/contentfieldlimiterror/
1106
1123
  */
1107
1124
  declare function contentFieldLimitError(path: string, value: string): string | null;
@@ -1689,7 +1706,7 @@ type ShapeList = ShapeListResult;
1689
1706
  */
1690
1707
  type ShapeRemove = {
1691
1708
  name: string;
1692
- operation: 'add' | 'revise' | 'retract';
1709
+ operation: 'add' | 'revise' | 'retract' | 'noop';
1693
1710
  version: number;
1694
1711
  dataHash: string;
1695
1712
  removed: true;
@@ -1751,26 +1768,18 @@ type SubscriptionCompatCreateBase = {
1751
1768
  };
1752
1769
  /**
1753
1770
  * 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`
1771
+ * `filterJson` and `webhookUrl`, and must identify a shape via `shapeName`
1757
1772
  * or `filterJson.shape` (or a shape-lifecycle `{ kind: 'shape' }` filter).
1773
+ * The cron kind was retired from public surfaces; legacy cron rows remain
1774
+ * readable via {@link SubscriptionInfo}.
1758
1775
  *
1759
1776
  * @see https://docs.warmhub.ai/subscriptions/creating/
1760
1777
  */
1761
- type SubscriptionCompatCreateInput = (SubscriptionCompatCreateBase & {
1778
+ type SubscriptionCompatCreateInput = SubscriptionCompatCreateBase & {
1762
1779
  kind: 'webhook';
1763
1780
  filterJson: Record<string, unknown>;
1764
1781
  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
- });
1782
+ };
1774
1783
  /**
1775
1784
  * Input shape for `client.subscription.update`. `orgName`, `repoName`, and
1776
1785
  * `name` identify the subscription; all other fields are optional and only
@@ -1786,10 +1795,6 @@ type SubscriptionCompatUpdateInput = {
1786
1795
  filterJson?: Record<string, unknown>;
1787
1796
  webhookUrl?: string;
1788
1797
  fallbackWebhookUrl?: string | null;
1789
- cronConfig?: {
1790
- cronspec: string;
1791
- timezone?: string;
1792
- };
1793
1798
  allowTraceReentry?: boolean;
1794
1799
  notifyOnSuccess?: boolean;
1795
1800
  /** @internal Back-compat field; not consumed by the backend update mutation. */
@@ -1873,8 +1878,6 @@ type ComponentListOptions = {
1873
1878
  limit?: number;
1874
1879
  cursor?: string;
1875
1880
  };
1876
- /** @internal */
1877
- type ComponentInstallSystemResult = InstallBundledSystemComponentResult;
1878
1881
  type ComponentRegistryInfo = {
1879
1882
  id: string;
1880
1883
  ownerOrgName: string;
@@ -1906,30 +1909,29 @@ type ComponentRegistryMutationInput = {
1906
1909
  allowedCallbackDomains?: string[];
1907
1910
  credentialSetName?: string;
1908
1911
  description?: string;
1912
+ /** Validated component manifest. Required on register; on update, supplying it publishes a new version. */
1913
+ manifest?: Record<string, unknown>;
1914
+ };
1915
+ type ComponentRegistryRegisterInput = ComponentRegistryMutationInput & {
1916
+ manifest: Record<string, unknown>;
1909
1917
  };
1910
1918
  type ComponentRegistryResolveResult = {
1911
- sourceUrl: string;
1912
- sourceDefaultRef?: string;
1919
+ /** Latest published manifest (manifest-only install — #3993). */
1920
+ manifest: Record<string, unknown>;
1921
+ /** Stored content hash of the resolved manifest; echo it back on setupCall. */
1922
+ manifestHash: string;
1913
1923
  hasSetup: boolean;
1914
1924
  installId: string;
1915
1925
  };
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
1926
  type ComponentRegistrySetupCallInput = {
1929
1927
  installId: string;
1930
1928
  installRepo: string;
1931
- ref?: string;
1932
- resolvedSha?: string;
1929
+ /**
1930
+ * Manifest hash from the preceding resolve. The backend rejects the call if
1931
+ * its latest manifest no longer matches, so token scopes can't drift to a
1932
+ * revision published mid-install (#3993).
1933
+ */
1934
+ expectedManifestHash: string;
1933
1935
  };
1934
1936
  type ComponentRegistrySetupCallResult = {
1935
1937
  ok: boolean;
@@ -2305,7 +2307,7 @@ type ThingHeadRequest = {
2305
2307
  orgName: string;
2306
2308
  repoName: string;
2307
2309
  shape?: string;
2308
- kind?: string;
2310
+ kind?: 'shape' | 'thing' | 'assertion' | 'collection';
2309
2311
  match?: string;
2310
2312
  dataMode?: 'full' | 'summary' | 'none';
2311
2313
  includeRetracted?: boolean;
@@ -2491,6 +2493,8 @@ type ResolveWrefResult = ThingDetail;
2491
2493
  /** @internal */
2492
2494
  type ThingGetManyResult = ThingGetManyResult$1;
2493
2495
  /** @internal */
2496
+ type ThingHeadVersionsResult = ThingHeadVersionsResult$1;
2497
+ /** @internal */
2494
2498
  type CountResult = {
2495
2499
  count: number;
2496
2500
  };
@@ -2552,7 +2556,7 @@ type FilterOptions = {
2552
2556
  /** Filter to records of this shape name (for example `Player`). */
2553
2557
  shape?: string;
2554
2558
  /** Filter to records of this kind: `shape`, `thing`, `assertion`, or `collection`. */
2555
- kind?: string;
2559
+ kind?: 'shape' | 'thing' | 'assertion' | 'collection';
2556
2560
  /** Filter assertions whose `about` target wref matches the supplied value. */
2557
2561
  about?: string;
2558
2562
  /** Glob pattern matched against record names (for example `Player/*`). */
@@ -2891,17 +2895,13 @@ declare class WarmHubClient {
2891
2895
  * Fetch one installed component by component ID.
2892
2896
  */
2893
2897
  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
2898
  /**
2899
2899
  * Registered-component identity and install-pipeline operations.
2900
2900
  *
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.
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` 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
2902
  */
2903
2903
  registry: {
2904
- register: (orgName: string, componentName: string, input?: ComponentRegistryMutationInput) => Promise<ComponentRegistryInfo>;
2904
+ register: (orgName: string, componentName: string, input: ComponentRegistryRegisterInput) => Promise<ComponentRegistryInfo>;
2905
2905
  unregister: (orgName: string, componentName: string) => Promise<{
2906
2906
  unregistered: true;
2907
2907
  }>;
@@ -2909,7 +2909,6 @@ declare class WarmHubClient {
2909
2909
  view: (orgName: string, componentName: string) => Promise<ComponentRegistryInfo>;
2910
2910
  update: (orgName: string, componentName: string, input: ComponentRegistryMutationInput) => Promise<ComponentRegistryInfo>;
2911
2911
  resolve: (orgName: string, componentName: string, installRepo: string) => Promise<ComponentRegistryResolveResult>;
2912
- downloadSource: (orgName: string, componentName: string, input: ComponentRegistrySourceDownloadInput) => Promise<ComponentRegistrySourceDownloadResult>;
2913
2912
  setupCall: (orgName: string, componentName: string, input: ComponentRegistrySetupCallInput) => Promise<ComponentRegistrySetupCallResult>;
2914
2913
  };
2915
2914
  /**
@@ -3307,15 +3306,15 @@ declare class WarmHubClient {
3307
3306
  history: (orgName: string, repoName: string, name: string, opts?: ShapeHistoryOptions) => Promise<ShapeHistory>;
3308
3307
  };
3309
3308
  /**
3310
- * Webhook and cron subscription management surface scoped to a repository.
3309
+ * Webhook subscription management surface scoped to a repository.
3311
3310
  *
3312
3311
  * @see https://docs.warmhub.ai/sdk/component-identity/#subscriptions
3313
3312
  */
3314
3313
  readonly subscription: {
3315
3314
  /**
3316
- * Create a webhook or cron subscription.
3315
+ * Create a webhook subscription.
3317
3316
  *
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.
3317
+ * 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
3318
  *
3320
3319
  * 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
3320
  */
@@ -3329,9 +3328,9 @@ declare class WarmHubClient {
3329
3328
  */
3330
3329
  list: (orgName: string, repoName: string) => Promise<SubscriptionList>;
3331
3330
  /**
3332
- * Update an existing webhook or cron subscription.
3331
+ * Update an existing webhook subscription.
3333
3332
  *
3334
- * Use `null` for nullable fields such as fallback webhook URL when you need to clear an existing value.
3333
+ * 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
3334
  */
3336
3335
  update: (input: SubscriptionCompatUpdateInput) => Promise<SubscriptionInfo>;
3337
3336
  /**
@@ -3509,6 +3508,25 @@ declare class WarmHubClient {
3509
3508
  chunkSize?: number;
3510
3509
  chunkConcurrency?: number;
3511
3510
  }) => Promise<ThingGetManyResult>;
3511
+ /**
3512
+ * Batched lightweight per-thing change probe — returns
3513
+ * `{ wref, durableId, version, active, versionCreatedAt }` per wref with NO
3514
+ * payload. Use it to check whether locally-cached copies are still fresh
3515
+ * without pulling `data`: a value is stale if `durableId` differs (the wref
3516
+ * now points to a different thing), `version`/`active` differ (the same
3517
+ * thing changed/was retracted), or the wref appears in `missing`.
3518
+ *
3519
+ * Auto-chunks above the backend's 500-wref transport cap; preserves
3520
+ * duplicate requested wrefs and reports inaccessible/unknown refs in
3521
+ * `missing` rather than throwing per item.
3522
+ *
3523
+ * @param opts.chunkSize Maximum wrefs per backend request. Defaults to 500 and is clamped to the backend cap.
3524
+ * @param opts.chunkConcurrency Maximum concurrent chunk requests. Defaults to 1 and is clamped to 8.
3525
+ */
3526
+ headVersions: (orgName: string | undefined, repoName: string | undefined, wrefs: string[], opts?: {
3527
+ chunkSize?: number;
3528
+ chunkConcurrency?: number;
3529
+ }) => Promise<ThingHeadVersionsResult>;
3512
3530
  /**
3513
3531
  * Return version history and timeline metadata for repository records.
3514
3532
  *
@@ -3662,8 +3680,13 @@ declare class WarmHubClient {
3662
3680
  create: (input: TokenCreateInput) => Promise<TokenResult>;
3663
3681
  /**
3664
3682
  * List personal access tokens for the authenticated user.
3683
+ *
3684
+ * By default only active tokens are returned. Pass
3685
+ * `{ includeInactive: true }` to also include expired and revoked tokens.
3665
3686
  */
3666
- list: () => Promise<TokenInfo[]>;
3687
+ list: (opts?: {
3688
+ includeInactive?: boolean;
3689
+ }) => Promise<TokenInfo[]>;
3667
3690
  /**
3668
3691
  * Get one personal access token by name.
3669
3692
  */
@@ -3872,4 +3895,4 @@ declare class WarmHubClient {
3872
3895
  private watchRepoQuery;
3873
3896
  }
3874
3897
 
3875
- 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 };
3898
+ 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-O2IED7LD.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-74GPEEAF.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-O2IED7LD.js';
2
- export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-O2IED7LD.js';
1
+ import { WarmHubClient } from './chunk-74GPEEAF.js';
2
+ export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-74GPEEAF.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.50.0",
3
+ "version": "0.52.0",
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",