asma-core-helpers 0.11.0 → 0.13.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/lib/helpers/generateEnvConfigsBindings.d.ts +1 -1
- package/lib/helpers/generateEnvConfigsBindings.d.ts.map +1 -1
- package/lib/helpers/initTadaBrowserClient.d.ts +44 -0
- package/lib/helpers/initTadaBrowserClient.d.ts.map +1 -0
- package/lib/helpers/initTadaBrowserClient.js +56 -0
- package/lib/helpers/initTadaBrowserClient.js.map +1 -0
- package/lib/helpers/urql.d.ts +2 -0
- package/lib/helpers/urql.d.ts.map +1 -1
- package/lib/helpers/urql.js +1 -0
- package/lib/helpers/urql.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/generateEnvConfigsBindings.ts +1 -1
- package/src/helpers/initTadaBrowserClient.ts +69 -0
- package/src/helpers/urql.ts +2 -0
- package/src/index.ts +2 -0
|
@@ -15,7 +15,7 @@ type IEnvironmentUrls = ReturnType<typeof EnvironmentsUrls1>;
|
|
|
15
15
|
export type IKeyEnvironmentUrls = keyof IEnvironmentUrls;
|
|
16
16
|
type StartsWith<T, U extends string> = T extends `${U}${infer _}` ? T : never;
|
|
17
17
|
type SRVKeys<T> = {
|
|
18
|
-
[K in keyof T as StartsWith<K & string, 'SRV_'>]: T[K];
|
|
18
|
+
[K in keyof T as StartsWith<K & string, 'SRV_'> | StartsWith<K & string, 'HSR_'>]: T[K];
|
|
19
19
|
};
|
|
20
20
|
export type IEnvironmentUrlsGenQLOnly = SRVKeys<IEnvironmentUrls>;
|
|
21
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateEnvConfigsBindings.d.ts","sourceRoot":"","sources":["../../src/helpers/generateEnvConfigsBindings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,UAAU,SAAS;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1C;AAED,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAA;AAExD,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAE7E,KAAK,OAAO,CAAC,CAAC,IAAI;KACb,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generateEnvConfigsBindings.d.ts","sourceRoot":"","sources":["../../src/helpers/generateEnvConfigsBindings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,UAAU,SAAS;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1C;AAED,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAA;AAExD,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAE7E,KAAK,OAAO,CAAC,CAAC,IAAI;KACb,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1F,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAWjE;;;GAGG;AAEH,wBAAgB,oBAAoB,IAQP;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC7B,GAAG,gBAAgB,GAChB,SAAS,CAChB;AAED,wBAAgB,0BAA0B,CACtC,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,CACJ,MAAM,CAAC,GACP,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CACnD,GACG,MAAM,EACV,CAAC,EACH,WAAW,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE3F"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* initTadaBrowserClient — high-level, self-contained urql client factory.
|
|
3
|
+
*
|
|
4
|
+
* Every ASMA `app-*` family resolves its GraphQL endpoint from the same
|
|
5
|
+
* EnvConfigs / srv_urls source and authenticates with the same cached JWT, so
|
|
6
|
+
* that wiring lives here rather than being copy-pasted into each app. Callers
|
|
7
|
+
* pass the target `service` (and optionally a `path` or service-specific
|
|
8
|
+
* `resolveExchanges`); URL resolution and JWT binding are handled internally
|
|
9
|
+
* via the shared `*Internal` bindings — no per-app injection required.
|
|
10
|
+
*
|
|
11
|
+
* For the low-level factory that takes an already-resolved URL and explicit
|
|
12
|
+
* JWT getters, use `createTadaBrowserClient`.
|
|
13
|
+
*
|
|
14
|
+
* @see asma-modules/_docs/frontend/operations/2026-07-11-23-00-runbook-graphql-schema-generation-secrets.md
|
|
15
|
+
*/
|
|
16
|
+
import { type ResolveExchanges } from './createTadaBrowserClient.js';
|
|
17
|
+
import { type IEnvironmentUrlsGenQLOnly } from './generateEnvConfigsBindings.js';
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the GraphQL base URL for a service from EnvConfigs, preferring the
|
|
20
|
+
* runtime `srv_urls` override (carried in the JWT metadata) for the
|
|
21
|
+
* consolidated Adopus wrapper and the connector when one is present.
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveSrvUrl(service: keyof IEnvironmentUrlsGenQLOnly): string;
|
|
24
|
+
export interface InitTadaBrowserClientOptions {
|
|
25
|
+
/** Target service; its GraphQL URL is resolved via EnvConfigs / srv_urls. */
|
|
26
|
+
service: keyof IEnvironmentUrlsGenQLOnly;
|
|
27
|
+
/** GraphQL path appended to the resolved base URL. Defaults to '/v1/graphql'. */
|
|
28
|
+
path?: string;
|
|
29
|
+
/** Optional service-specific exchanges (e.g. the Adopus per-tenant namespace rewrite). */
|
|
30
|
+
resolveExchanges?: ResolveExchanges;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a configured, authenticated urql Client for an ASMA frontend app
|
|
34
|
+
* from just a `service` name. URL resolution (`resolveSrvUrl`) and JWT binding
|
|
35
|
+
* (`getCachedJwtInternal` / `isJwtValidInternal`) are wired internally.
|
|
36
|
+
*/
|
|
37
|
+
export declare function initTadaBrowserClient({ service, path, resolveExchanges }: InitTadaBrowserClientOptions): {
|
|
38
|
+
getClient: () => Promise<import("@urql/core").Client>;
|
|
39
|
+
createClient: (opts?: {
|
|
40
|
+
clientOptions?: Partial<import("@urql/core").ClientOptions>;
|
|
41
|
+
anonymous?: boolean;
|
|
42
|
+
}) => Promise<import("@urql/core").Client>;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=initTadaBrowserClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initTadaBrowserClient.d.ts","sourceRoot":"","sources":["../../src/helpers/initTadaBrowserClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAwB,KAAK,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAGtG;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,yBAAyB,GAAG,MAAM,CAqB9E;AAED,MAAM,WAAW,4BAA4B;IACzC,6EAA6E;IAC7E,OAAO,EAAE,MAAM,yBAAyB,CAAA;IACxC,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACtC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAoB,EAAE,gBAAgB,EAAE,EAAE,4BAA4B;;uBAF3E,CAAC;qBAAiB,CAAC;iBAE1C,CAAC;;EAOrB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* initTadaBrowserClient — high-level, self-contained urql client factory.
|
|
3
|
+
*
|
|
4
|
+
* Every ASMA `app-*` family resolves its GraphQL endpoint from the same
|
|
5
|
+
* EnvConfigs / srv_urls source and authenticates with the same cached JWT, so
|
|
6
|
+
* that wiring lives here rather than being copy-pasted into each app. Callers
|
|
7
|
+
* pass the target `service` (and optionally a `path` or service-specific
|
|
8
|
+
* `resolveExchanges`); URL resolution and JWT binding are handled internally
|
|
9
|
+
* via the shared `*Internal` bindings — no per-app injection required.
|
|
10
|
+
*
|
|
11
|
+
* For the low-level factory that takes an already-resolved URL and explicit
|
|
12
|
+
* JWT getters, use `createTadaBrowserClient`.
|
|
13
|
+
*
|
|
14
|
+
* @see asma-modules/_docs/frontend/operations/2026-07-11-23-00-runbook-graphql-schema-generation-secrets.md
|
|
15
|
+
*/
|
|
16
|
+
import { createTadaBrowserClient } from './createTadaBrowserClient.js';
|
|
17
|
+
import { EnvConfigsFnInternal } from './generateEnvConfigsBindings.js';
|
|
18
|
+
import { getCachedJwtInternal, getSrvUrlsInternal, isJwtValidInternal } from './generateSrvAuthBindings.js';
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the GraphQL base URL for a service from EnvConfigs, preferring the
|
|
21
|
+
* runtime `srv_urls` override (carried in the JWT metadata) for the
|
|
22
|
+
* consolidated Adopus wrapper and the connector when one is present.
|
|
23
|
+
*/
|
|
24
|
+
export function resolveSrvUrl(service) {
|
|
25
|
+
let service_url = EnvConfigsFnInternal()[service];
|
|
26
|
+
if (service === 'HSR_AO_WRAPPER') {
|
|
27
|
+
const url = getSrvUrlsInternal()?.ao_wrapper;
|
|
28
|
+
if (url) {
|
|
29
|
+
service_url = url;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (service === 'SRV_CONNECTOR') {
|
|
33
|
+
const url = getSrvUrlsInternal()?.connector;
|
|
34
|
+
if (url) {
|
|
35
|
+
service_url = url;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (!service_url) {
|
|
39
|
+
throw Error(`'required param serviceUrl() is undefined, please check EnvConfig object!', service: ${service}`);
|
|
40
|
+
}
|
|
41
|
+
return service_url;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a configured, authenticated urql Client for an ASMA frontend app
|
|
45
|
+
* from just a `service` name. URL resolution (`resolveSrvUrl`) and JWT binding
|
|
46
|
+
* (`getCachedJwtInternal` / `isJwtValidInternal`) are wired internally.
|
|
47
|
+
*/
|
|
48
|
+
export function initTadaBrowserClient({ service, path = '/v1/graphql', resolveExchanges }) {
|
|
49
|
+
return createTadaBrowserClient({
|
|
50
|
+
url: `${resolveSrvUrl(service)}${path}`,
|
|
51
|
+
getJwt: getCachedJwtInternal,
|
|
52
|
+
isJwtValid: isJwtValidInternal,
|
|
53
|
+
resolveExchanges,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=initTadaBrowserClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initTadaBrowserClient.js","sourceRoot":"","sources":["../../src/helpers/initTadaBrowserClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,uBAAuB,EAAyB,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAE,oBAAoB,EAAkC,MAAM,iCAAiC,CAAA;AACtG,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAE3G;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwC;IAClE,IAAI,WAAW,GAAG,oBAAoB,EAAE,CAAC,OAAO,CAAC,CAAA;IAEjD,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,kBAAkB,EAAE,EAAE,UAAU,CAAA;QAC5C,IAAI,GAAG,EAAE,CAAC;YACN,WAAW,GAAG,GAAG,CAAA;QACrB,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,kBAAkB,EAAE,EAAE,SAAS,CAAA;QAC3C,IAAI,GAAG,EAAE,CAAC;YACN,WAAW,GAAG,GAAG,CAAA;QACrB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,KAAK,CACP,wFAAwF,OAAO,EAAE,CACpG,CAAA;IACL,CAAC;IACD,OAAO,WAAW,CAAA;AACtB,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,aAAa,EAAE,gBAAgB,EAAgC;IACnH,OAAO,uBAAuB,CAAC;QAC3B,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE;QACvC,MAAM,EAAE,oBAAoB;QAC5B,UAAU,EAAE,kBAAkB;QAC9B,gBAAgB;KACnB,CAAC,CAAA;AACN,CAAC"}
|
package/lib/helpers/urql.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { adopusNamespaceExchange, adopusSlugFromJwt, denamespaceData, namespaceDocument } from './adopusNamespaceExchange.js';
|
|
2
2
|
export { createTadaBrowserClient } from './createTadaBrowserClient.js';
|
|
3
3
|
export type { CreateTadaBrowserClientOptions, ResolveExchanges } from './createTadaBrowserClient.js';
|
|
4
|
+
export { initTadaBrowserClient, resolveSrvUrl } from './initTadaBrowserClient.js';
|
|
5
|
+
export type { InitTadaBrowserClientOptions } from './initTadaBrowserClient.js';
|
|
4
6
|
//# sourceMappingURL=urql.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urql.d.ts","sourceRoot":"","sources":["../../src/helpers/urql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,YAAY,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"urql.d.ts","sourceRoot":"","sources":["../../src/helpers/urql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,YAAY,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpG,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACjF,YAAY,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA"}
|
package/lib/helpers/urql.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { adopusNamespaceExchange, adopusSlugFromJwt, denamespaceData, namespaceDocument } from './adopusNamespaceExchange.js';
|
|
2
2
|
export { createTadaBrowserClient } from './createTadaBrowserClient.js';
|
|
3
|
+
export { initTadaBrowserClient, resolveSrvUrl } from './initTadaBrowserClient.js';
|
|
3
4
|
//# sourceMappingURL=urql.js.map
|
package/lib/helpers/urql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urql.js","sourceRoot":"","sources":["../../src/helpers/urql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"urql.js","sourceRoot":"","sources":["../../src/helpers/urql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA"}
|
package/lib/index.d.ts
CHANGED
|
@@ -41,4 +41,6 @@ export * from './helpers/getActivityStatus.js';
|
|
|
41
41
|
export * from './helpers/stringToKeyValueMap.js';
|
|
42
42
|
export { createTadaBrowserClient } from './helpers/createTadaBrowserClient.js';
|
|
43
43
|
export type { CreateTadaBrowserClientOptions, ResolveExchanges } from './helpers/createTadaBrowserClient.js';
|
|
44
|
+
export { initTadaBrowserClient, resolveSrvUrl } from './helpers/initTadaBrowserClient.js';
|
|
45
|
+
export type { InitTadaBrowserClientOptions } from './helpers/initTadaBrowserClient.js';
|
|
44
46
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mDAAmD,CAAA;AACjE,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAEhD,cAAc,oBAAoB,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAElC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,mCAAmC,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,YAAY,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mDAAmD,CAAA;AACjE,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAEhD,cAAc,oBAAoB,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAElC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,mCAAmC,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,YAAY,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5G,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AACzF,YAAY,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -41,4 +41,5 @@ export * from './helpers/JSONToBase64EncodeDecode.js';
|
|
|
41
41
|
export * from './helpers/getActivityStatus.js';
|
|
42
42
|
export * from './helpers/stringToKeyValueMap.js';
|
|
43
43
|
export { createTadaBrowserClient } from './helpers/createTadaBrowserClient.js';
|
|
44
|
+
export { initTadaBrowserClient, resolveSrvUrl } from './helpers/initTadaBrowserClient.js';
|
|
44
45
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mDAAmD,CAAA;AACjE,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,gDAAgD;AAChD,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAEhD,cAAc,oBAAoB,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAElC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,mCAAmC,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mDAAmD,CAAA;AACjE,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,gDAAgD;AAChD,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAEhD,cAAc,oBAAoB,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAElC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,mCAAmC,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAE9E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA"}
|
package/package.json
CHANGED
|
@@ -25,7 +25,7 @@ export type IKeyEnvironmentUrls = keyof IEnvironmentUrls
|
|
|
25
25
|
type StartsWith<T, U extends string> = T extends `${U}${infer _}` ? T : never
|
|
26
26
|
|
|
27
27
|
type SRVKeys<T> = {
|
|
28
|
-
[K in keyof T as StartsWith<K & string, 'SRV_'>]: T[K]
|
|
28
|
+
[K in keyof T as StartsWith<K & string, 'SRV_'> | StartsWith<K & string, 'HSR_'>]: T[K]
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export type IEnvironmentUrlsGenQLOnly = SRVKeys<IEnvironmentUrls> /* Omit<
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* initTadaBrowserClient — high-level, self-contained urql client factory.
|
|
3
|
+
*
|
|
4
|
+
* Every ASMA `app-*` family resolves its GraphQL endpoint from the same
|
|
5
|
+
* EnvConfigs / srv_urls source and authenticates with the same cached JWT, so
|
|
6
|
+
* that wiring lives here rather than being copy-pasted into each app. Callers
|
|
7
|
+
* pass the target `service` (and optionally a `path` or service-specific
|
|
8
|
+
* `resolveExchanges`); URL resolution and JWT binding are handled internally
|
|
9
|
+
* via the shared `*Internal` bindings — no per-app injection required.
|
|
10
|
+
*
|
|
11
|
+
* For the low-level factory that takes an already-resolved URL and explicit
|
|
12
|
+
* JWT getters, use `createTadaBrowserClient`.
|
|
13
|
+
*
|
|
14
|
+
* @see asma-modules/_docs/frontend/operations/2026-07-11-23-00-runbook-graphql-schema-generation-secrets.md
|
|
15
|
+
*/
|
|
16
|
+
import { createTadaBrowserClient, type ResolveExchanges } from './createTadaBrowserClient.js'
|
|
17
|
+
import { EnvConfigsFnInternal, type IEnvironmentUrlsGenQLOnly } from './generateEnvConfigsBindings.js'
|
|
18
|
+
import { getCachedJwtInternal, getSrvUrlsInternal, isJwtValidInternal } from './generateSrvAuthBindings.js'
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Resolves the GraphQL base URL for a service from EnvConfigs, preferring the
|
|
22
|
+
* runtime `srv_urls` override (carried in the JWT metadata) for the
|
|
23
|
+
* consolidated Adopus wrapper and the connector when one is present.
|
|
24
|
+
*/
|
|
25
|
+
export function resolveSrvUrl(service: keyof IEnvironmentUrlsGenQLOnly): string {
|
|
26
|
+
let service_url = EnvConfigsFnInternal()[service]
|
|
27
|
+
|
|
28
|
+
if (service === 'HSR_AO_WRAPPER') {
|
|
29
|
+
const url = getSrvUrlsInternal()?.ao_wrapper
|
|
30
|
+
if (url) {
|
|
31
|
+
service_url = url
|
|
32
|
+
}
|
|
33
|
+
} else if (service === 'SRV_CONNECTOR') {
|
|
34
|
+
const url = getSrvUrlsInternal()?.connector
|
|
35
|
+
if (url) {
|
|
36
|
+
service_url = url
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (!service_url) {
|
|
41
|
+
throw Error(
|
|
42
|
+
`'required param serviceUrl() is undefined, please check EnvConfig object!', service: ${service}`,
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
return service_url
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface InitTadaBrowserClientOptions {
|
|
49
|
+
/** Target service; its GraphQL URL is resolved via EnvConfigs / srv_urls. */
|
|
50
|
+
service: keyof IEnvironmentUrlsGenQLOnly
|
|
51
|
+
/** GraphQL path appended to the resolved base URL. Defaults to '/v1/graphql'. */
|
|
52
|
+
path?: string
|
|
53
|
+
/** Optional service-specific exchanges (e.g. the Adopus per-tenant namespace rewrite). */
|
|
54
|
+
resolveExchanges?: ResolveExchanges
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Creates a configured, authenticated urql Client for an ASMA frontend app
|
|
59
|
+
* from just a `service` name. URL resolution (`resolveSrvUrl`) and JWT binding
|
|
60
|
+
* (`getCachedJwtInternal` / `isJwtValidInternal`) are wired internally.
|
|
61
|
+
*/
|
|
62
|
+
export function initTadaBrowserClient({ service, path = '/v1/graphql', resolveExchanges }: InitTadaBrowserClientOptions) {
|
|
63
|
+
return createTadaBrowserClient({
|
|
64
|
+
url: `${resolveSrvUrl(service)}${path}`,
|
|
65
|
+
getJwt: getCachedJwtInternal,
|
|
66
|
+
isJwtValid: isJwtValidInternal,
|
|
67
|
+
resolveExchanges,
|
|
68
|
+
})
|
|
69
|
+
}
|
package/src/helpers/urql.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { adopusNamespaceExchange, adopusSlugFromJwt, denamespaceData, namespaceDocument } from './adopusNamespaceExchange.js'
|
|
2
2
|
export { createTadaBrowserClient } from './createTadaBrowserClient.js'
|
|
3
3
|
export type { CreateTadaBrowserClientOptions, ResolveExchanges } from './createTadaBrowserClient.js'
|
|
4
|
+
export { initTadaBrowserClient, resolveSrvUrl } from './initTadaBrowserClient.js'
|
|
5
|
+
export type { InitTadaBrowserClientOptions } from './initTadaBrowserClient.js'
|
package/src/index.ts
CHANGED
|
@@ -49,3 +49,5 @@ export * from './helpers/stringToKeyValueMap.js'
|
|
|
49
49
|
|
|
50
50
|
export { createTadaBrowserClient } from './helpers/createTadaBrowserClient.js'
|
|
51
51
|
export type { CreateTadaBrowserClientOptions, ResolveExchanges } from './helpers/createTadaBrowserClient.js'
|
|
52
|
+
export { initTadaBrowserClient, resolveSrvUrl } from './helpers/initTadaBrowserClient.js'
|
|
53
|
+
export type { InitTadaBrowserClientOptions } from './helpers/initTadaBrowserClient.js'
|