@warmhub/sdk-ts 0.44.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.js ADDED
@@ -0,0 +1,3 @@
1
+ export { CONTENT_FIELD_LIMIT_ERROR, DEFAULT_API_URL, DEFAULT_STREAM_CHUNK_SIZE, MAX_CONTENT_FIELD_BYTES, MAX_STREAM_APPEND_OPERATION_COUNT, OperationBuilder, PartialStreamSubmissionError, SDK_VERSION, WarmHubClient, WarmHubError, connectionErrorMessage, contentFieldLimitError, isConnectionError, isRetryable, isWarmHubError, normalizeWref, resolveFunctionLogMode, sanitizeErrorMessage, submitOperationsViaStream, toWarmHubError, validateAgainstShape } from './chunk-PKA25PT7.js';
2
+ //# sourceMappingURL=index.js.map
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,27 @@
1
+ import { WarmHubClient } from './index.js';
2
+ export { AboutOptions, AboutResult, CountOptions, CountResult, CurrentUserInfo, DEFAULT_API_URL, ErrorKind, FilterOptions, FilterResult, HeadResult, HistoryResult, Operation, OperationSubmitResult, PingResult, RefsOptions, RefsResult, RepoListPageOptions, RepoListPageResult, RepoWithStatsInfo, ResolveWrefResult, SDK_VERSION, SearchOptions, SearchResult, ThingDetail, WarmHubClientOptions, WarmHubError, toWarmHubError } from './index.js';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { ReactNode } from 'react';
5
+
6
+ /** @internal */
7
+ interface WarmHubProviderProps {
8
+ apiUrl: string;
9
+ children: ReactNode;
10
+ auth: {
11
+ isAuthenticated: boolean;
12
+ isLoading: boolean;
13
+ getAccessToken: () => Promise<string | null>;
14
+ };
15
+ }
16
+ interface WarmHubAuthState {
17
+ isAuthenticated: boolean;
18
+ isLoading: boolean;
19
+ }
20
+ /** @internal */
21
+ declare function WarmHubProvider({ apiUrl, children, auth, }: WarmHubProviderProps): react_jsx_runtime.JSX.Element;
22
+ /** @internal */
23
+ declare function useWarmHubClient(): WarmHubClient;
24
+ /** @internal */
25
+ declare function useWarmHubAuth(): WarmHubAuthState;
26
+
27
+ export { WarmHubClient, WarmHubProvider, type WarmHubProviderProps, useWarmHubAuth, useWarmHubClient };
package/dist/react.js ADDED
@@ -0,0 +1,75 @@
1
+ import { WarmHubClient } from './chunk-PKA25PT7.js';
2
+ export { DEFAULT_API_URL, SDK_VERSION, WarmHubClient, WarmHubError, toWarmHubError } from './chunk-PKA25PT7.js';
3
+ import { createContext, useMemo, useState, useEffect, useContext } from 'react';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var ClientContext = createContext(null);
7
+ var AuthContext = createContext({
8
+ isAuthenticated: false,
9
+ isLoading: true
10
+ });
11
+ function WarmHubProvider({
12
+ apiUrl,
13
+ children,
14
+ auth
15
+ }) {
16
+ const client = useMemo(
17
+ () => new WarmHubClient({
18
+ apiUrl,
19
+ accessToken: async () => {
20
+ const token = await auth.getAccessToken();
21
+ return token ?? void 0;
22
+ }
23
+ }),
24
+ [apiUrl, auth.getAccessToken]
25
+ );
26
+ return /* @__PURE__ */ jsx(ClientContext.Provider, { value: client, children: /* @__PURE__ */ jsx(AuthSyncGate, { auth, client, children }) });
27
+ }
28
+ function AuthSyncGate({
29
+ auth,
30
+ client,
31
+ children
32
+ }) {
33
+ const [synced, setSynced] = useState(false);
34
+ useEffect(() => {
35
+ if (!auth.isAuthenticated) {
36
+ setSynced(false);
37
+ return;
38
+ }
39
+ let cancelled = false;
40
+ client.auth.sync().then(() => {
41
+ if (!cancelled) setSynced(true);
42
+ }).catch((err) => {
43
+ console.error("auth.sync failed:", err);
44
+ if (!cancelled) setSynced(true);
45
+ });
46
+ return () => {
47
+ cancelled = true;
48
+ };
49
+ }, [auth.isAuthenticated, client]);
50
+ const authState = useMemo(
51
+ () => ({
52
+ isAuthenticated: auth.isAuthenticated && synced,
53
+ isLoading: auth.isLoading || auth.isAuthenticated && !synced
54
+ }),
55
+ [auth.isAuthenticated, auth.isLoading, synced]
56
+ );
57
+ if (auth.isLoading || auth.isAuthenticated && !synced) {
58
+ return null;
59
+ }
60
+ return /* @__PURE__ */ jsx(AuthContext.Provider, { value: authState, children });
61
+ }
62
+ function useWarmHubClient() {
63
+ const client = useContext(ClientContext);
64
+ if (!client) {
65
+ throw new Error("useWarmHubClient must be used within a WarmHubProvider");
66
+ }
67
+ return client;
68
+ }
69
+ function useWarmHubAuth() {
70
+ return useContext(AuthContext);
71
+ }
72
+
73
+ export { WarmHubProvider, useWarmHubAuth, useWarmHubClient };
74
+ //# sourceMappingURL=react.js.map
75
+ //# sourceMappingURL=react.js.map
@@ -0,0 +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"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@warmhub/sdk-ts",
3
+ "version": "0.44.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "homepage": "https://docs.warmhub.ai",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "sideEffects": false,
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "publishConfig": {
15
+ "registry": "https://registry.npmjs.org",
16
+ "access": "public"
17
+ },
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ },
23
+ "./react": {
24
+ "types": "./dist/react.d.ts",
25
+ "import": "./dist/react.js"
26
+ }
27
+ },
28
+ "scripts": {
29
+ "prebuild": "tsc --noEmit",
30
+ "build": "tsup && bun run scripts/inject-doc-links.ts",
31
+ "generate:api-contract": "bun run scripts/generate-api-contract.ts",
32
+ "generate:backend-types": "bun run scripts/generate-backend-types.ts",
33
+ "audit:api-contract": "bun run scripts/audit-api-contract.ts",
34
+ "audit:backend-types": "bun run scripts/generate-backend-types.ts --check",
35
+ "audit:sdk-result-types": "bun run scripts/audit-sdk-result-types.ts",
36
+ "audit:bundle": "bun run scripts/audit-bundle.ts",
37
+ "audit:pack": "bun run scripts/audit-pack.ts",
38
+ "audit:cleanroom": "bun run scripts/audit-cleanroom.ts",
39
+ "audit:content": "bun run scripts/audit-content.ts",
40
+ "audit:doc-links": "bun run scripts/inject-doc-links.ts --strict",
41
+ "audit:public-surface": "bun run scripts/audit-public-surface.ts",
42
+ "verify:publish": "bun run audit:backend-types && bun run audit:sdk-result-types && bun run build && bun run audit:api-contract && bun run audit:public-surface && bun run audit:doc-links && bun run audit:bundle && bun run audit:pack && bun run audit:content && bun run audit:cleanroom",
43
+ "quality": "bun run scripts/quality-check.ts",
44
+ "quality:verbose": "bun run scripts/quality-check.ts --verbose",
45
+ "check:contract": "node ../../scripts/lint/external-identity-contracts.mjs sdk",
46
+ "test": "vitest run",
47
+ "test:watch": "vitest",
48
+ "typecheck": "bun run check:contract && bun run audit:backend-types && bun run audit:sdk-result-types && tsc --noEmit",
49
+ "docs:api:json": "typedoc --options typedoc.json --json /tmp/warmhub-sdk-api.json",
50
+ "docs:api:check": "typedoc --options typedoc.json --treatValidationWarningsAsErrors --json /tmp/warmhub-sdk-api-check.json"
51
+ },
52
+ "peerDependencies": {
53
+ "react": "^18.0.0 || ^19.0.0"
54
+ },
55
+ "peerDependenciesMeta": {
56
+ "react": {
57
+ "optional": true
58
+ }
59
+ },
60
+ "dependencies": {
61
+ "@trpc/client": "11.17.0"
62
+ },
63
+ "devDependencies": {
64
+ "@types/react": "19.2.14",
65
+ "react": "19.2.6",
66
+ "tsup": "8.5.1",
67
+ "typedoc": "0.28.19",
68
+ "typedoc-plugin-markdown": "4.11.0",
69
+ "typescript": "5.9.3",
70
+ "vitest": "4.1.5"
71
+ }
72
+ }