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.
@@ -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;CACzD,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"}
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"}
@@ -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"}
@@ -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
@@ -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
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asma-core-helpers",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Core helper utilities for ASMA applications",
5
5
  "files": [
6
6
  "lib/**/*",
@@ -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
+ }
@@ -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'