@warmhub/sdk-ts 0.60.1 → 0.62.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
@@ -67,52 +67,6 @@ declare const CLI_TIMESTAMP_HEADER = "X-WarmHub-Timestamp";
67
67
  */
68
68
  type CliHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
69
69
 
70
- /**
71
- * Hardcoded meta-schema for validating shape definitions.
72
- * Shapes are NOT validated against a DB-stored shape — they validate against this constant.
73
- * This avoids the bootstrap chicken-and-egg problem.
74
- *
75
- * A valid shape definition is:
76
- * { fields: Record<string, TypeSpec>, description?: string }
77
- * where TypeSpec is one of:
78
- * - primitive string: "number", "string", "boolean", "wref", "array"
79
- * - optional primitive: "number?", "string?", "boolean?", "wref?", "array?"
80
- * - typed field object: { type: primitive, description?: string }
81
- * - array: [TypeSpec] (shorthand) or { type: "array", items: TypeSpec }
82
- * - nested object: { fieldName: TypeSpec, ... } (key may end with "?" for optional)
83
- *
84
- * The primitive vocabulary above is closed: any other type name (e.g. "text",
85
- * "integer", "json", "date") is rejected. See VALID_PRIMITIVE_TYPES in
86
- * ./shape-types.ts for the authoritative set.
87
- * String `pattern` constraints use RE2 syntax and are evaluated with re2js so
88
- * user-authored patterns run in linear time across backend, SDK, web, CLI, and
89
- * worker-adjacent consumers. JavaScript-only constructs such as backreferences
90
- * and lookarounds are rejected at shape-definition time.
91
- */
92
- /**
93
- * Maximum size, in bytes (UTF-8 encoded), allowed for a single content field value.
94
- * WarmHub is not a document store: values larger than this are rejected at validation.
95
- * Store large documents in S3, Box, Drive, or another document system and reference
96
- * them from WarmHub instead.
97
- * @see https://docs.warmhub.ai/sdk-reference/variables/max_content_field_bytes/
98
- */
99
- declare const MAX_CONTENT_FIELD_BYTES: number;
100
- /**
101
- * Human-readable explanation of the {@link MAX_CONTENT_FIELD_BYTES} limit, suitable for
102
- * appending to a field-specific validation error. States the byte cap and points callers
103
- * to an external document store for large payloads.
104
- * @see https://docs.warmhub.ai/sdk-reference/variables/content_field_limit_error/
105
- */
106
- declare const CONTENT_FIELD_LIMIT_ERROR: string;
107
- /**
108
- * Returns a validation error message if the given string exceeds
109
- * {@link MAX_CONTENT_FIELD_BYTES} when UTF-8 encoded, or `null` if it is within the limit.
110
- *
111
- * @param path - The field path, used to identify the offending field in the message.
112
- * @param value - The candidate field value to measure.
113
- * @see https://docs.warmhub.ai/sdk-reference/functions/contentfieldlimiterror/
114
- */
115
- declare function contentFieldLimitError(path: string, value: string): string | null;
116
70
  /**
117
71
  * Validate a data payload against shape field definitions.
118
72
  *
@@ -170,6 +124,54 @@ type ShapeValidatorResult = {
170
124
  warnings?: UndeclaredFieldsWarning;
171
125
  };
172
126
 
127
+ /**
128
+ * Hardcoded meta-schema for validating shape definitions.
129
+ * Shapes are NOT validated against a DB-stored shape — they validate against this constant.
130
+ * This avoids the bootstrap chicken-and-egg problem.
131
+ *
132
+ * A valid shape definition is:
133
+ * { fields: Record<string, TypeSpec>, description?: string }
134
+ * where TypeSpec is one of:
135
+ * - primitive string: "number", "string", "boolean", "wref", "array"
136
+ * - optional primitive: "number?", "string?", "boolean?", "wref?", "array?"
137
+ * - typed field object: { type: primitive, description?: string }
138
+ * - array: [TypeSpec] (shorthand) or { type: "array", items: TypeSpec }
139
+ * - nested object: { fieldName: TypeSpec, ... } (key may end with "?" for optional)
140
+ *
141
+ * The primitive vocabulary above is closed: any other type name (e.g. "text",
142
+ * "integer", "json", "date") is rejected. See VALID_PRIMITIVE_TYPES in
143
+ * ./shape-types.ts for the authoritative set.
144
+ * String `pattern` constraints use RE2 syntax and are evaluated with re2js so
145
+ * user-authored patterns run in linear time across backend, SDK, web, CLI, and
146
+ * worker-adjacent consumers. JavaScript-only constructs such as backreferences
147
+ * and lookarounds are rejected at shape-definition time.
148
+ */
149
+
150
+ /**
151
+ * Maximum size, in bytes (UTF-8 encoded), allowed for a single content field value.
152
+ * WarmHub is not a document store: values larger than this are rejected at validation.
153
+ * Store large documents in S3, Box, Drive, or another document system and reference
154
+ * them from WarmHub instead.
155
+ * @see https://docs.warmhub.ai/sdk-reference/variables/max_content_field_bytes/
156
+ */
157
+ declare const MAX_CONTENT_FIELD_BYTES: number;
158
+ /**
159
+ * Human-readable explanation of the {@link MAX_CONTENT_FIELD_BYTES} limit, suitable for
160
+ * appending to a field-specific validation error. States the byte cap and points callers
161
+ * to an external document store for large payloads.
162
+ * @see https://docs.warmhub.ai/sdk-reference/variables/content_field_limit_error/
163
+ */
164
+ declare const CONTENT_FIELD_LIMIT_ERROR: string;
165
+ /**
166
+ * Returns a validation error message if the given string exceeds
167
+ * {@link MAX_CONTENT_FIELD_BYTES} when UTF-8 encoded, or `null` if it is within the limit.
168
+ *
169
+ * @param path - The field path, used to identify the offending field in the message.
170
+ * @param value - The candidate field value to measure.
171
+ * @see https://docs.warmhub.ai/sdk-reference/functions/contentfieldlimiterror/
172
+ */
173
+ declare function contentFieldLimitError(path: string, value: string): string | null;
174
+
173
175
  type ActionAttempt = {
174
176
  attempt: number;
175
177
  status: string;
@@ -1100,10 +1102,6 @@ type SubmittedStreamResult = {
1100
1102
  warnings?: NonNullable<StreamAppendResult$1['results'][number]['warnings']>;
1101
1103
  }>;
1102
1104
  };
1103
- /** @internal */
1104
- declare function streamAppendResultStatus(result: StreamAppendResult$1['results'][number]): NonNullable<SubmittedStreamResult['operations'][number]['status']>;
1105
- /** @internal */
1106
- declare function countStreamAppendResultStatuses(results: StreamAppendResult$1['results']): NonNullable<SubmittedStreamResult['statusCounts']>;
1107
1105
  /**
1108
1106
  * Continuation state for caller-managed streamed commit submissions.
1109
1107
  * @see https://docs.warmhub.ai/sdk-reference/type-aliases/streamcontinuationstate/
@@ -1177,6 +1175,7 @@ declare class AllStreamOperationsFailedError extends Error {
1177
1175
  readonly cause?: StreamFailureCause;
1178
1176
  constructor(result: SubmittedStreamResult);
1179
1177
  }
1178
+
1180
1179
  /**
1181
1180
  * Submit `operations` to the WarmHub stream-append surface, chunked to
1182
1181
  * stay under MAX_STREAM_APPEND_OPERATION_COUNT.
@@ -1272,6 +1271,15 @@ declare function submitOperationsViaStream(client: OperationStreamClient, args:
1272
1271
  retry?: RetryPolicyOptions | false;
1273
1272
  }): Promise<SubmittedStreamResult>;
1274
1273
 
1274
+ /**
1275
+ * Exposed for unit tests and internal callers to avoid re-deriving status values.
1276
+ *
1277
+ * @internal
1278
+ */
1279
+ declare function streamAppendResultStatus(result: StreamAppendResult$1['results'][number]): NonNullable<SubmittedStreamResult['operations'][number]['status']>;
1280
+ /** @internal */
1281
+ declare function countStreamAppendResultStatuses(results: StreamAppendResult$1['results']): NonNullable<SubmittedStreamResult['statusCounts']>;
1282
+
1275
1283
  /**
1276
1284
  * Server-side verifier for component CLI dispatch calls.
1277
1285
  *
@@ -1582,6 +1590,7 @@ interface OperationBuilderOptions {
1582
1590
  }
1583
1591
  /** @internal */
1584
1592
  type OperationBuilderClient = OperationStreamClient;
1593
+
1585
1594
  type ReviseInput = Omit<ReviseOp, 'operation'> | ReviseOp;
1586
1595
  /**
1587
1596
  * Fluent builder for composing, validating, and submitting WarmHub commit
@@ -1766,6 +1775,18 @@ interface WarmHubClientOptions {
1766
1775
  * Control replay of backend function log lines. Defaults to `off`.
1767
1776
  */
1768
1777
  functionLogs?: FunctionLogMode;
1778
+ /**
1779
+ * Self-identification sent on the `X-WarmHub-Client` header (`name/version`)
1780
+ * for backend observability + read-analytics surface attribution. Defaults to
1781
+ * `@warmhub/sdk-ts/<SDK_VERSION>`. A wrapper such as the WarmHub CLI overrides
1782
+ * `name` (and usually `version`) to identify itself instead. An untrusted
1783
+ * hint — never an authz signal. A per-request `X-WarmHub-Client` header on a
1784
+ * raw request still wins over this default.
1785
+ */
1786
+ client?: {
1787
+ name?: string;
1788
+ version?: string;
1789
+ };
1769
1790
  }
1770
1791
  /**
1771
1792
  * Version string for the installed SDK package.
@@ -3045,6 +3066,8 @@ declare class WarmHubClient {
3045
3066
  readonly apiUrl: string;
3046
3067
  private readonly fetchImpl;
3047
3068
  private readonly accessToken;
3069
+ /** Resolved `X-WarmHub-Client` identity; defaults to this SDK's name/version. */
3070
+ private readonly clientIdentity;
3048
3071
  protected readonly functionLogMode: FunctionLogMode;
3049
3072
  protected readonly getToken?: () => Promise<string | undefined>;
3050
3073
  private readonly trpc;
@@ -3474,12 +3497,6 @@ declare class WarmHubClient {
3474
3497
  delete: (orgName: string, repoName: string) => Promise<{
3475
3498
  graceExpiresAt: Date;
3476
3499
  }>;
3477
- /**
3478
- * Immediately and irreversibly purge a repository.
3479
- *
3480
- * This owner-only operation has no grace window and uses the same inbound-reference guard as `delete`.
3481
- */
3482
- hardDelete: (orgName: string, repoName: string) => Promise<void>;
3483
3500
  /**
3484
3501
  * List repositories with dashboard-oriented per-repository metadata.
3485
3502
  *
@@ -4345,6 +4362,11 @@ declare class WarmHubClient {
4345
4362
  listNotifications: (orgName: string, repoName: string, opts?: ActionListNotificationsOptions) => Promise<ActionNotificationInfo[]>;
4346
4363
  };
4347
4364
  private openSse;
4365
+ /**
4366
+ * Stamp the `X-WarmHub-Client` self-identification header, unless the caller
4367
+ * already set it on the request (a per-request header wins over the default).
4368
+ */
4369
+ private applyClientHeader;
4348
4370
  private fetchWithAuth;
4349
4371
  private requestResponse;
4350
4372
  private requestJson;
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-D5A5SSUU.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-CN4352BX.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
package/dist/react.d.ts CHANGED
@@ -12,13 +12,23 @@ interface WarmHubProviderProps {
12
12
  isLoading: boolean;
13
13
  getAccessToken: () => Promise<string | null>;
14
14
  };
15
+ /**
16
+ * Self-identification forwarded to the `X-WarmHub-Client` header. First-party
17
+ * apps set `name` (e.g. `warmhub-web`) so backend observability can tell them
18
+ * apart from raw SDK consumers; an omitted `version` falls through to the SDK
19
+ * version. See `WarmHubClientOptions.client`.
20
+ */
21
+ client?: {
22
+ name?: string;
23
+ version?: string;
24
+ };
15
25
  }
16
26
  interface WarmHubAuthState {
17
27
  isAuthenticated: boolean;
18
28
  isLoading: boolean;
19
29
  }
20
30
  /** @internal */
21
- declare function WarmHubProvider({ apiUrl, children, auth, }: WarmHubProviderProps): react_jsx_runtime.JSX.Element;
31
+ declare function WarmHubProvider({ apiUrl, children, auth, client: clientIdentity, }: WarmHubProviderProps): react_jsx_runtime.JSX.Element;
22
32
  /** @internal */
23
33
  declare function useWarmHubClient(): WarmHubClient;
24
34
  /** @internal */
package/dist/react.js CHANGED
@@ -1,5 +1,5 @@
1
- import { WarmHubClient } from './chunk-D5A5SSUU.js';
2
- export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-D5A5SSUU.js';
1
+ import { WarmHubClient } from './chunk-CN4352BX.js';
2
+ export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-CN4352BX.js';
3
3
  import { createContext, useMemo, useState, useEffect, useContext } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -11,17 +11,21 @@ var AuthContext = createContext({
11
11
  function WarmHubProvider({
12
12
  apiUrl,
13
13
  children,
14
- auth
14
+ auth,
15
+ client: clientIdentity
15
16
  }) {
17
+ const clientName = clientIdentity?.name;
18
+ const clientVersion = clientIdentity?.version;
16
19
  const client = useMemo(
17
20
  () => new WarmHubClient({
18
21
  apiUrl,
19
22
  accessToken: async () => {
20
23
  const token = await auth.getAccessToken();
21
24
  return token ?? void 0;
22
- }
25
+ },
26
+ client: { name: clientName, version: clientVersion }
23
27
  }),
24
- [apiUrl, auth.getAccessToken]
28
+ [apiUrl, auth.getAccessToken, clientName, clientVersion]
25
29
  );
26
30
  return /* @__PURE__ */ jsx(ClientContext.Provider, { value: client, children: /* @__PURE__ */ jsx(AuthSyncGate, { auth, client, children }) });
27
31
  }
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/react/provider.tsx"],"names":[],"mappings":";;;;;AA0BA,IAAM,aAAA,GAAgB,cAAoC,IAAI,CAAA;AAC9D,IAAM,cAAc,aAAA,CAAgC;AAAA,EAClD,eAAA,EAAiB,KAAA;AAAA,EACjB,SAAA,EAAW;AACb,CAAC,CAAA;AAGM,SAAS,eAAA,CAAgB;AAAA,EAC9B,MAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAyB;AACvB,EAAA,MAAM,MAAA,GAAS,OAAA;AAAA,IACb,MACE,IAAI,aAAA,CAAc;AAAA,MAChB,MAAA;AAAA,MACA,aAAa,YAAY;AACvB,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,cAAA,EAAe;AACxC,QAAA,OAAO,KAAA,IAAS,MAAA;AAAA,MAClB;AAAA,KACD,CAAA;AAAA,IACH,CAAC,MAAA,EAAQ,IAAA,CAAK,cAAc;AAAA,GAC9B;AAEA,EAAA,uBACE,GAAA,CAAC,aAAA,CAAc,QAAA,EAAd,EAAuB,KAAA,EAAO,MAAA,EAC7B,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAY,MAAA,EACvB,QAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAEA,SAAS,YAAA,CAAa;AAAA,EACpB,IAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,KAAK,CAAA;AAE1C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,KAAK,eAAA,EAAiB;AACzB,MAAA,SAAA,CAAU,KAAK,CAAA;AACf,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,MAAA,CAAO,IAAA,CACJ,IAAA,EAAK,CACL,IAAA,CAAK,MAAM;AACV,MAAA,IAAI,CAAC,SAAA,EAAW,SAAA,CAAU,IAAI,CAAA;AAAA,IAChC,CAAC,CAAA,CACA,KAAA,CAAM,CAAC,GAAA,KAAQ;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,qBAAqB,GAAG,CAAA;AACtC,MAAA,IAAI,CAAC,SAAA,EAAW,SAAA,CAAU,IAAI,CAAA;AAAA,IAChC,CAAC,CAAA;AACH,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,IAAA;AAAA,IACd,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,CAAK,eAAA,EAAiB,MAAM,CAAC,CAAA;AAEjC,EAAA,MAAM,SAAA,GAAY,OAAA;AAAA,IAChB,OAAO;AAAA,MACL,eAAA,EAAiB,KAAK,eAAA,IAAmB,MAAA;AAAA,MACzC,SAAA,EAAW,IAAA,CAAK,SAAA,IAAc,IAAA,CAAK,mBAAmB,CAAC;AAAA,KACzD,CAAA;AAAA,IACA,CAAC,IAAA,CAAK,eAAA,EAAiB,IAAA,CAAK,WAAW,MAAM;AAAA,GAC/C;AAGA,EAAA,IAAI,IAAA,CAAK,SAAA,IAAc,IAAA,CAAK,eAAA,IAAmB,CAAC,MAAA,EAAS;AACvD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,2BACG,WAAA,CAAY,QAAA,EAAZ,EAAqB,KAAA,EAAO,WAAY,QAAA,EAAS,CAAA;AAEtD;AAGO,SAAS,gBAAA,GAAkC;AAChD,EAAA,MAAM,MAAA,GAAS,WAAW,aAAa,CAAA;AACvC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAM,IAAI,MAAM,wDAAwD,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,MAAA;AACT;AAGO,SAAS,cAAA,GAAmC;AACjD,EAAA,OAAO,WAAW,WAAW,CAAA;AAC/B","file":"react.js"}
1
+ {"version":3,"sources":["../src/react/provider.tsx"],"names":[],"mappings":"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","file":"react.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warmhub/sdk-ts",
3
- "version": "0.60.1",
3
+ "version": "0.62.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.",