@sudobility/testomniac_lib 0.0.86 → 0.0.88

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.
@@ -13,4 +13,5 @@ export { useTestRunsAnalysis } from './useTestRunsAnalysis';
13
13
  export type { StatusCounts, TestRunsAnalysis } from './useTestRunsAnalysis';
14
14
  export { usePageInteractionGroups } from './usePageInteractionGroups';
15
15
  export type { PageInteractionGroups } from './usePageInteractionGroups';
16
+ export { useSequenceGenerator } from './useSequenceGenerator';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -8,4 +8,5 @@ export { useEnvironmentManager } from './useEnvironmentManager';
8
8
  export { useFindingsAnalysis } from './useFindingsAnalysis';
9
9
  export { useTestRunsAnalysis } from './useTestRunsAnalysis';
10
10
  export { usePageInteractionGroups } from './usePageInteractionGroups';
11
+ export { useSequenceGenerator } from './useSequenceGenerator';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEntityManager.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,UAAU,sBAAsB;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB;;;;;EAmC9D"}
1
+ {"version":3,"file":"useEntityManager.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIrE,UAAU,sBAAsB;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB;;;;;EA0C9D"}
@@ -1,7 +1,9 @@
1
1
  import { useEffect, useRef } from 'react';
2
- import { useEntities } from '@sudobility/testomniac_client';
2
+ import { QUERY_KEYS, useEntities } from '@sudobility/testomniac_client';
3
+ import { useQueryClient } from '@tanstack/react-query';
3
4
  export function useEntityManager(config) {
4
5
  const { networkClient, baseUrl, token, enabled = true } = config;
6
+ const queryClient = useQueryClient();
5
7
  const { entities, isLoading, error, refetch } = useEntities({
6
8
  networkClient,
7
9
  baseUrl,
@@ -9,6 +11,14 @@ export function useEntityManager(config) {
9
11
  enabled,
10
12
  });
11
13
  const retried = useRef(false);
14
+ const prevToken = useRef(token);
15
+ useEffect(() => {
16
+ if (token !== prevToken.current) {
17
+ prevToken.current = token;
18
+ retried.current = false;
19
+ queryClient.removeQueries({ queryKey: QUERY_KEYS.entities() });
20
+ }
21
+ }, [token, queryClient]);
12
22
  useEffect(() => {
13
23
  if (isLoading || !enabled || retried.current)
14
24
  return undefined;
@@ -21,9 +31,6 @@ export function useEntityManager(config) {
21
31
  }
22
32
  return undefined;
23
33
  }, [entities.length, isLoading, enabled, error, refetch]);
24
- useEffect(() => {
25
- retried.current = false;
26
- }, [token]);
27
34
  return {
28
35
  entities,
29
36
  isLoading,
@@ -1 +1 @@
1
- {"version":3,"file":"useEntityManager.js","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAe5D,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAC1D,aAAa;QACb,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC,CAAC;IAGH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,OAAO,EAAE,CAAC;YACjB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAG1D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IAC1B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO;QACL,QAAQ;QACR,SAAS;QACT,KAAK;QACL,eAAe,EAAE,OAAO;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useEntityManager.js","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAC1D,aAAa;QACb,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC,CAAC;IAGH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAI9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,OAAO,EAAE,CAAC;YACjB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1D,OAAO;QACL,QAAQ;QACR,SAAS;QACT,KAAK;QACL,eAAe,EAAE,OAAO;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { NetworkClient } from '@sudobility/types';
2
+ import type { GenerateSequenceResponse } from '@sudobility/testomniac_types';
3
+ import type { FirebaseIdToken } from '@sudobility/testomniac_client';
4
+ interface UseSequenceGeneratorConfig {
5
+ networkClient: NetworkClient;
6
+ baseUrl: string;
7
+ token: FirebaseIdToken;
8
+ }
9
+ export declare function useSequenceGenerator(config: UseSequenceGeneratorConfig): {
10
+ generate: (scenarioId: number, testEnvironmentId: number) => Promise<GenerateSequenceResponse | null>;
11
+ isGenerating: boolean;
12
+ error: string | null;
13
+ result: GenerateSequenceResponse | null;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=useSequenceGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSequenceGenerator.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/useSequenceGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,UAAU,0BAA0B;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B;2BAOhD,MAAM,qBAAqB,MAAM;;;;EA+BvD"}
@@ -0,0 +1,34 @@
1
+ import { useCallback, useState } from 'react';
2
+ import { TestomniacClient } from '@sudobility/testomniac_client';
3
+ export function useSequenceGenerator(config) {
4
+ const { networkClient, baseUrl, token } = config;
5
+ const [isGenerating, setIsGenerating] = useState(false);
6
+ const [error, setError] = useState(null);
7
+ const [result, setResult] = useState(null);
8
+ const generate = useCallback(async (scenarioId, testEnvironmentId) => {
9
+ setIsGenerating(true);
10
+ setError(null);
11
+ setResult(null);
12
+ try {
13
+ const client = new TestomniacClient({ networkClient, baseUrl });
14
+ const response = await client.generateSequence(scenarioId, { testEnvironmentId }, token);
15
+ if (response.success && response.data) {
16
+ setResult(response.data);
17
+ return response.data;
18
+ }
19
+ const msg = response.error ?? 'Failed to generate sequence';
20
+ setError(msg);
21
+ return null;
22
+ }
23
+ catch (err) {
24
+ const msg = err instanceof Error ? err.message : 'Failed to generate sequence';
25
+ setError(msg);
26
+ return null;
27
+ }
28
+ finally {
29
+ setIsGenerating(false);
30
+ }
31
+ }, [networkClient, baseUrl, token]);
32
+ return { generate, isGenerating, error, result };
33
+ }
34
+ //# sourceMappingURL=useSequenceGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSequenceGenerator.js","sourceRoot":"","sources":["../../../src/business/hooks/useSequenceGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,MAAM,UAAU,oBAAoB,CAAC,MAAkC;IACrE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,EAAE,UAAkB,EAAE,iBAAyB,EAAE,EAAE;QACtD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAC5C,UAAU,EACV,EAAE,iBAAiB,EAAE,EACrB,KAAK,CACN,CAAC;YACF,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,6BAA6B,CAAC;YAC5D,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GACP,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACrE,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAChC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/testomniac_lib",
3
- "version": "0.0.86",
3
+ "version": "0.0.88",
4
4
  "description": "Testomniac business logic library with Zustand stores",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -42,8 +42,8 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@eslint/js": "^9.38.0",
45
- "@sudobility/testomniac_client": "^0.0.82",
46
- "@sudobility/testomniac_types": "^0.0.62",
45
+ "@sudobility/testomniac_client": "^0.0.83",
46
+ "@sudobility/testomniac_types": "^0.0.63",
47
47
  "@sudobility/types": "^1.9.62",
48
48
  "@tanstack/react-query": "^5.90.5",
49
49
  "@testing-library/react": "^16.3.2",