@stigmer/react 0.0.101 → 0.1.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/agent/AgentPicker.js +1 -1
- package/agent/AgentPicker.js.map +1 -1
- package/agent/__tests__/useDefaultAgent.test.d.ts +2 -0
- package/agent/__tests__/useDefaultAgent.test.d.ts.map +1 -0
- package/agent/__tests__/useDefaultAgent.test.js +252 -0
- package/agent/__tests__/useDefaultAgent.test.js.map +1 -0
- package/agent/useAgent.d.ts +2 -0
- package/agent/useAgent.d.ts.map +1 -1
- package/agent/useAgent.js +14 -37
- package/agent/useAgent.js.map +1 -1
- package/agent/useAgentCount.d.ts +1 -1
- package/agent/useAgentCount.d.ts.map +1 -1
- package/agent/useAgentList.d.ts +2 -2
- package/agent/useAgentList.d.ts.map +1 -1
- package/agent/useDefaultAgent.d.ts +6 -2
- package/agent/useDefaultAgent.d.ts.map +1 -1
- package/agent/useDefaultAgent.js +51 -31
- package/agent/useDefaultAgent.js.map +1 -1
- package/agent-instance/useAgentInstance.d.ts +2 -0
- package/agent-instance/useAgentInstance.d.ts.map +1 -1
- package/agent-instance/useAgentInstance.js +6 -33
- package/agent-instance/useAgentInstance.js.map +1 -1
- package/agent-instance/useAgentInstanceList.d.ts +2 -0
- package/agent-instance/useAgentInstanceList.d.ts.map +1 -1
- package/agent-instance/useAgentInstanceList.js +22 -40
- package/agent-instance/useAgentInstanceList.js.map +1 -1
- package/api-key/useApiKeyList.d.ts +2 -0
- package/api-key/useApiKeyList.d.ts.map +1 -1
- package/api-key/useApiKeyList.js +3 -27
- package/api-key/useApiKeyList.js.map +1 -1
- package/composer/ComposerToolbar.d.ts +1 -5
- package/composer/ComposerToolbar.d.ts.map +1 -1
- package/composer/ComposerToolbar.js +3 -4
- package/composer/ComposerToolbar.js.map +1 -1
- package/composer/ContextChip.d.ts +1 -1
- package/composer/ContextChip.d.ts.map +1 -1
- package/composer/ContextChip.js +1 -0
- package/composer/ContextChip.js.map +1 -1
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +77 -4
- package/composer/SessionComposer.js.map +1 -1
- package/composer/icons.d.ts +1 -0
- package/composer/icons.d.ts.map +1 -1
- package/composer/icons.js +3 -0
- package/composer/icons.js.map +1 -1
- package/environment/useEnvironment.d.ts +2 -0
- package/environment/useEnvironment.d.ts.map +1 -1
- package/environment/useEnvironment.js +6 -33
- package/environment/useEnvironment.js.map +1 -1
- package/environment/useEnvironmentList.d.ts +2 -0
- package/environment/useEnvironmentList.d.ts.map +1 -1
- package/environment/useEnvironmentList.js +23 -53
- package/environment/useEnvironmentList.js.map +1 -1
- package/execution/ArtifactPreviewModal.js +1 -1
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/useArtifactContent.d.ts +4 -2
- package/execution/useArtifactContent.d.ts.map +1 -1
- package/execution/useArtifactContent.js +23 -45
- package/execution/useArtifactContent.js.map +1 -1
- package/iam-policy/usePrincipalsCount.d.ts +2 -0
- package/iam-policy/usePrincipalsCount.d.ts.map +1 -1
- package/iam-policy/usePrincipalsCount.js +7 -46
- package/iam-policy/usePrincipalsCount.js.map +1 -1
- package/iam-policy/useResourceAccess.d.ts +2 -0
- package/iam-policy/useResourceAccess.d.ts.map +1 -1
- package/iam-policy/useResourceAccess.js +12 -47
- package/iam-policy/useResourceAccess.js.map +1 -1
- package/identity-provider/useIdentityProvider.d.ts +2 -0
- package/identity-provider/useIdentityProvider.d.ts.map +1 -1
- package/identity-provider/useIdentityProvider.js +3 -33
- package/identity-provider/useIdentityProvider.js.map +1 -1
- package/identity-provider/useIdentityProviderList.d.ts +2 -0
- package/identity-provider/useIdentityProviderList.d.ts.map +1 -1
- package/identity-provider/useIdentityProviderList.js +7 -33
- package/identity-provider/useIdentityProviderList.js.map +1 -1
- package/index.d.ts +2 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/internal/__tests__/useFetch.test.d.ts +2 -0
- package/internal/__tests__/useFetch.test.d.ts.map +1 -0
- package/internal/__tests__/useFetch.test.js +95 -0
- package/internal/__tests__/useFetch.test.js.map +1 -0
- package/internal/useFetch.d.ts +51 -0
- package/internal/useFetch.d.ts.map +1 -0
- package/internal/useFetch.js +75 -0
- package/internal/useFetch.js.map +1 -0
- package/invitation/useInvitationPreview.d.ts +2 -0
- package/invitation/useInvitationPreview.d.ts.map +1 -1
- package/invitation/useInvitationPreview.js +5 -35
- package/invitation/useInvitationPreview.js.map +1 -1
- package/invitation/useOrgInvitations.d.ts +2 -0
- package/invitation/useOrgInvitations.d.ts.map +1 -1
- package/invitation/useOrgInvitations.js +6 -34
- package/invitation/useOrgInvitations.js.map +1 -1
- package/library/ResourceListView.d.ts +2 -2
- package/library/ResourceListView.d.ts.map +1 -1
- package/library/ResourceListView.js +1 -1
- package/library/ResourceListView.js.map +1 -1
- package/library/useDetectSkillPackage.d.ts +1 -1
- package/library/useDetectSkillPackage.d.ts.map +1 -1
- package/mcp-server/McpServerPicker.js +1 -1
- package/mcp-server/McpServerPicker.js.map +1 -1
- package/mcp-server/useMcpServer.d.ts +2 -0
- package/mcp-server/useMcpServer.d.ts.map +1 -1
- package/mcp-server/useMcpServer.js +13 -37
- package/mcp-server/useMcpServer.js.map +1 -1
- package/mcp-server/useMcpServerCount.d.ts +1 -1
- package/mcp-server/useMcpServerCount.d.ts.map +1 -1
- package/mcp-server/useMcpServerList.d.ts +2 -2
- package/mcp-server/useMcpServerList.d.ts.map +1 -1
- package/mcp-server/useOAuthGrantStatus.d.ts +2 -0
- package/mcp-server/useOAuthGrantStatus.d.ts.map +1 -1
- package/mcp-server/useOAuthGrantStatus.js +14 -61
- package/mcp-server/useOAuthGrantStatus.js.map +1 -1
- package/mcp-server/useOrgOAuthApp.d.ts +2 -0
- package/mcp-server/useOrgOAuthApp.d.ts.map +1 -1
- package/mcp-server/useOrgOAuthApp.js +19 -43
- package/mcp-server/useOrgOAuthApp.js.map +1 -1
- package/oauth-app/useOAuthAppList.d.ts +2 -0
- package/oauth-app/useOAuthAppList.d.ts.map +1 -1
- package/oauth-app/useOAuthAppList.js +6 -34
- package/oauth-app/useOAuthAppList.js.map +1 -1
- package/organization/useOrganization.d.ts +2 -0
- package/organization/useOrganization.d.ts.map +1 -1
- package/organization/useOrganization.js +3 -33
- package/organization/useOrganization.js.map +1 -1
- package/package.json +4 -4
- package/platform-client/usePlatformClient.d.ts +2 -0
- package/platform-client/usePlatformClient.d.ts.map +1 -1
- package/platform-client/usePlatformClient.js +3 -33
- package/platform-client/usePlatformClient.js.map +1 -1
- package/platform-client/usePlatformClientList.d.ts +2 -0
- package/platform-client/usePlatformClientList.d.ts.map +1 -1
- package/platform-client/usePlatformClientList.js +6 -34
- package/platform-client/usePlatformClientList.js.map +1 -1
- package/runner/RunnerListPanel.d.ts.map +1 -1
- package/runner/RunnerListPanel.js +21 -5
- package/runner/RunnerListPanel.js.map +1 -1
- package/runner/__tests__/phase.test.d.ts +2 -0
- package/runner/__tests__/phase.test.d.ts.map +1 -0
- package/runner/__tests__/phase.test.js +33 -0
- package/runner/__tests__/phase.test.js.map +1 -0
- package/runner/__tests__/useRunnerList.test.d.ts +2 -0
- package/runner/__tests__/useRunnerList.test.d.ts.map +1 -0
- package/runner/__tests__/useRunnerList.test.js +68 -0
- package/runner/__tests__/useRunnerList.test.js.map +1 -0
- package/runner/index.d.ts +3 -1
- package/runner/index.d.ts.map +1 -1
- package/runner/index.js +2 -1
- package/runner/index.js.map +1 -1
- package/runner/phase.d.ts +13 -0
- package/runner/phase.d.ts.map +1 -1
- package/runner/phase.js +15 -0
- package/runner/phase.js.map +1 -1
- package/runner/useRunnerCredential.d.ts +66 -0
- package/runner/useRunnerCredential.d.ts.map +1 -0
- package/runner/useRunnerCredential.js +50 -0
- package/runner/useRunnerCredential.js.map +1 -0
- package/runner/useRunnerList.d.ts +21 -0
- package/runner/useRunnerList.d.ts.map +1 -1
- package/runner/useRunnerList.js +9 -36
- package/runner/useRunnerList.js.map +1 -1
- package/search/useResourceCount.d.ts +2 -1
- package/search/useResourceCount.d.ts.map +1 -1
- package/search/useResourceCount.js +13 -37
- package/search/useResourceCount.js.map +1 -1
- package/search/useResourceList.d.ts +2 -1
- package/search/useResourceList.d.ts.map +1 -1
- package/search/useResourceList.js +26 -46
- package/search/useResourceList.js.map +1 -1
- package/search/useResourceSearch.d.ts +4 -2
- package/search/useResourceSearch.d.ts.map +1 -1
- package/search/useResourceSearch.js +7 -27
- package/search/useResourceSearch.js.map +1 -1
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +26 -1
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/useSession.d.ts +3 -1
- package/session/useSession.d.ts.map +1 -1
- package/session/useSession.js +3 -33
- package/session/useSession.js.map +1 -1
- package/session/useSessionExecutions.d.ts +3 -1
- package/session/useSessionExecutions.d.ts.map +1 -1
- package/session/useSessionExecutions.js +6 -34
- package/session/useSessionExecutions.js.map +1 -1
- package/session/useSessionList.d.ts +5 -3
- package/session/useSessionList.d.ts.map +1 -1
- package/session/useSessionList.js +9 -31
- package/session/useSessionList.js.map +1 -1
- package/skill/SkillPicker.js +1 -1
- package/skill/SkillPicker.js.map +1 -1
- package/skill/useSkill.d.ts +2 -0
- package/skill/useSkill.d.ts.map +1 -1
- package/skill/useSkill.js +13 -37
- package/skill/useSkill.js.map +1 -1
- package/skill/useSkillCount.d.ts +1 -1
- package/skill/useSkillCount.d.ts.map +1 -1
- package/skill/useSkillList.d.ts +2 -2
- package/skill/useSkillList.d.ts.map +1 -1
- package/src/agent/AgentPicker.tsx +1 -1
- package/src/agent/__tests__/useDefaultAgent.test.tsx +308 -0
- package/src/agent/useAgent.ts +19 -41
- package/src/agent/useAgentCount.ts +1 -1
- package/src/agent/useAgentList.ts +2 -2
- package/src/agent/useDefaultAgent.ts +67 -35
- package/src/agent-instance/useAgentInstance.ts +13 -37
- package/src/agent-instance/useAgentInstanceList.ts +31 -47
- package/src/api-key/useApiKeyList.ts +9 -32
- package/src/composer/ComposerToolbar.tsx +1 -22
- package/src/composer/ContextChip.tsx +2 -1
- package/src/composer/SessionComposer.tsx +206 -5
- package/src/composer/icons.tsx +27 -0
- package/src/environment/useEnvironment.ts +13 -37
- package/src/environment/useEnvironmentList.ts +31 -58
- package/src/execution/ArtifactPreviewModal.tsx +2 -2
- package/src/execution/useArtifactContent.ts +48 -65
- package/src/iam-policy/usePrincipalsCount.ts +17 -53
- package/src/iam-policy/useResourceAccess.ts +18 -55
- package/src/identity-provider/useIdentityProvider.ts +9 -39
- package/src/identity-provider/useIdentityProviderList.ts +14 -40
- package/src/index.ts +4 -0
- package/src/internal/__tests__/useFetch.test.ts +133 -0
- package/src/internal/useFetch.ts +121 -0
- package/src/invitation/useInvitationPreview.ts +14 -40
- package/src/invitation/useOrgInvitations.ts +15 -41
- package/src/library/ResourceListView.tsx +3 -3
- package/src/library/useDetectSkillPackage.ts +1 -1
- package/src/mcp-server/McpServerPicker.tsx +1 -1
- package/src/mcp-server/useMcpServer.ts +17 -42
- package/src/mcp-server/useMcpServerCount.ts +1 -1
- package/src/mcp-server/useMcpServerList.ts +2 -2
- package/src/mcp-server/useOAuthGrantStatus.ts +31 -69
- package/src/mcp-server/useOrgOAuthApp.ts +34 -51
- package/src/oauth-app/useOAuthAppList.ts +15 -41
- package/src/organization/useOrganization.ts +9 -38
- package/src/platform-client/usePlatformClient.ts +9 -39
- package/src/platform-client/usePlatformClientList.ts +14 -42
- package/src/runner/RunnerListPanel.tsx +49 -41
- package/src/runner/__tests__/phase.test.ts +35 -0
- package/src/runner/__tests__/useRunnerList.test.tsx +96 -0
- package/src/runner/index.ts +7 -0
- package/src/runner/phase.ts +16 -0
- package/src/runner/useRunnerCredential.ts +89 -0
- package/src/runner/useRunnerList.ts +36 -44
- package/src/search/useResourceCount.ts +20 -48
- package/src/search/useResourceList.ts +40 -57
- package/src/search/useResourceSearch.ts +22 -43
- package/src/session/useNewSessionFlow.ts +35 -1
- package/src/session/useSession.ts +10 -39
- package/src/session/useSessionExecutions.ts +20 -46
- package/src/session/useSessionList.ts +21 -42
- package/src/skill/SkillPicker.tsx +1 -1
- package/src/skill/useSkill.ts +17 -42
- package/src/skill/useSkillCount.ts +1 -1
- package/src/skill/useSkillList.ts +2 -2
- package/src/usage/useOrgUsageReport.ts +18 -46
- package/styles.css +1 -1
- package/usage/useOrgUsageReport.d.ts +2 -0
- package/usage/useOrgUsageReport.d.ts.map +1 -1
- package/usage/useOrgUsageReport.js +5 -35
- package/usage/useOrgUsageReport.js.map +1 -1
|
@@ -21,7 +21,8 @@ export interface UseResourceCountReturn {
|
|
|
21
21
|
*/
|
|
22
22
|
readonly count: number | undefined;
|
|
23
23
|
readonly isLoading: boolean;
|
|
24
|
-
readonly
|
|
24
|
+
readonly isRefetching: boolean;
|
|
25
|
+
readonly error: Error | null;
|
|
25
26
|
readonly refetch: () => void;
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResourceCount.d.ts","sourceRoot":"","sources":["../../src/search/useResourceCount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useResourceCount.d.ts","sourceRoot":"","sources":["../../src/search/useResourceCount.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,WAAW,uBAAuB;IACtC,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EACnD,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,uBAAuB,GAChC,sBAAsB,CAsBxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { useFetch } from "../internal/useFetch";
|
|
3
3
|
/**
|
|
4
4
|
* Internal hook that fetches the total count of a resource type.
|
|
5
5
|
*
|
|
@@ -15,44 +15,20 @@ import { useCallback, useEffect, useState } from "react";
|
|
|
15
15
|
* scalar count, resulting in fewer state updates and re-renders.
|
|
16
16
|
*/
|
|
17
17
|
export function useResourceCount(listFn, org, options) {
|
|
18
|
-
const [count, setCount] = useState(undefined);
|
|
19
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
20
|
-
const [error, setError] = useState(null);
|
|
21
|
-
const [fetchKey, setFetchKey] = useState(0);
|
|
22
18
|
const query = options?.query;
|
|
23
19
|
const scope = options?.scope ?? "org";
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
const { data: count, isLoading, isRefetching, error, refetch } = useFetch(org
|
|
21
|
+
? async () => {
|
|
22
|
+
const params = {
|
|
23
|
+
org: scope === "all" ? "" : org,
|
|
24
|
+
query: query || undefined,
|
|
25
|
+
excludePublic: false,
|
|
26
|
+
page: { num: 1, size: 1 },
|
|
27
|
+
};
|
|
28
|
+
const result = await listFn(params);
|
|
29
|
+
return result.totalCount;
|
|
31
30
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
setError(null);
|
|
35
|
-
const params = {
|
|
36
|
-
org: scope === "all" ? "" : org,
|
|
37
|
-
query: query || undefined,
|
|
38
|
-
excludePublic: false,
|
|
39
|
-
page: { num: 1, size: 1 },
|
|
40
|
-
};
|
|
41
|
-
listFn(params).then((result) => {
|
|
42
|
-
if (cancelled.current)
|
|
43
|
-
return;
|
|
44
|
-
setCount(result.totalCount);
|
|
45
|
-
setIsLoading(false);
|
|
46
|
-
}, (err) => {
|
|
47
|
-
if (cancelled.current)
|
|
48
|
-
return;
|
|
49
|
-
setError(err instanceof Error ? err.message : "Failed to load resource count");
|
|
50
|
-
setIsLoading(false);
|
|
51
|
-
});
|
|
52
|
-
return () => {
|
|
53
|
-
cancelled.current = true;
|
|
54
|
-
};
|
|
55
|
-
}, [listFn, org, query, scope, fetchKey]);
|
|
56
|
-
return { count, isLoading, error, refetch };
|
|
31
|
+
: null, [listFn, org, query, scope], undefined);
|
|
32
|
+
return { count, isLoading, isRefetching, error, refetch };
|
|
57
33
|
}
|
|
58
34
|
//# sourceMappingURL=useResourceCount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResourceCount.js","sourceRoot":"","sources":["../../src/search/useResourceCount.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"useResourceCount.js","sourceRoot":"","sources":["../../src/search/useResourceCount.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA6BhD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmD,EACnD,GAAkB,EAClB,OAAiC;IAEjC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAEtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CACvE,GAAG;QACD,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAe;gBACzB,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;gBAC/B,KAAK,EAAE,KAAK,IAAI,SAAS;gBACzB,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;aAC1B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;QACH,CAAC,CAAC,IAAI,EACR,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAC3B,SAAS,CACV,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -32,7 +32,8 @@ export interface UseResourceListReturn {
|
|
|
32
32
|
readonly totalPages: number;
|
|
33
33
|
readonly currentPage: number;
|
|
34
34
|
readonly isLoading: boolean;
|
|
35
|
-
readonly
|
|
35
|
+
readonly isRefetching: boolean;
|
|
36
|
+
readonly error: Error | null;
|
|
36
37
|
readonly refetch: () => void;
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResourceList.d.ts","sourceRoot":"","sources":["../../src/search/useResourceList.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useResourceList.d.ts","sourceRoot":"","sources":["../../src/search/useResourceList.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG/E;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EACnD,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,qBAAqB,CAsCvB"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { useFetch } from "../internal/useFetch";
|
|
3
3
|
const DEFAULT_PAGE_SIZE = 20;
|
|
4
4
|
const DEFAULT_PAGE = 1;
|
|
5
|
+
const INITIAL_DATA = {
|
|
6
|
+
entries: [],
|
|
7
|
+
totalCount: 0,
|
|
8
|
+
totalPages: 0,
|
|
9
|
+
};
|
|
5
10
|
/**
|
|
6
11
|
* Internal hook that provides paginated, scope-aware resource listing.
|
|
7
12
|
*
|
|
@@ -14,59 +19,34 @@ const DEFAULT_PAGE = 1;
|
|
|
14
19
|
* pagination state, and scope toggling.
|
|
15
20
|
*/
|
|
16
21
|
export function useResourceList(listFn, org, options) {
|
|
17
|
-
const [entries, setEntries] = useState([]);
|
|
18
|
-
const [totalCount, setTotalCount] = useState(0);
|
|
19
|
-
const [totalPages, setTotalPages] = useState(0);
|
|
20
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
21
|
-
const [error, setError] = useState(null);
|
|
22
|
-
const [fetchKey, setFetchKey] = useState(0);
|
|
23
22
|
const pageSize = options?.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
24
23
|
const page = options?.page ?? DEFAULT_PAGE;
|
|
25
24
|
const query = options?.query;
|
|
26
25
|
const scope = options?.scope ?? "org";
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
const { data, isLoading, isRefetching, error, refetch } = useFetch(org
|
|
27
|
+
? async () => {
|
|
28
|
+
const params = {
|
|
29
|
+
org,
|
|
30
|
+
query: query || undefined,
|
|
31
|
+
excludePublic: false,
|
|
32
|
+
crossOrgPublic: scope === "all",
|
|
33
|
+
page: { num: page, size: pageSize },
|
|
34
|
+
};
|
|
35
|
+
const result = await listFn(params);
|
|
36
|
+
return {
|
|
37
|
+
entries: [...result.entries],
|
|
38
|
+
totalCount: result.totalCount,
|
|
39
|
+
totalPages: result.totalPages,
|
|
40
|
+
};
|
|
36
41
|
}
|
|
37
|
-
|
|
38
|
-
setIsLoading(true);
|
|
39
|
-
setError(null);
|
|
40
|
-
const params = {
|
|
41
|
-
org,
|
|
42
|
-
query: query || undefined,
|
|
43
|
-
excludePublic: false,
|
|
44
|
-
crossOrgPublic: scope === "all",
|
|
45
|
-
page: { num: page, size: pageSize },
|
|
46
|
-
};
|
|
47
|
-
listFn(params).then((result) => {
|
|
48
|
-
if (cancelled.current)
|
|
49
|
-
return;
|
|
50
|
-
setEntries([...result.entries]);
|
|
51
|
-
setTotalCount(result.totalCount);
|
|
52
|
-
setTotalPages(result.totalPages);
|
|
53
|
-
setIsLoading(false);
|
|
54
|
-
}, (err) => {
|
|
55
|
-
if (cancelled.current)
|
|
56
|
-
return;
|
|
57
|
-
setError(err instanceof Error ? err.message : "Failed to load resources");
|
|
58
|
-
setIsLoading(false);
|
|
59
|
-
});
|
|
60
|
-
return () => {
|
|
61
|
-
cancelled.current = true;
|
|
62
|
-
};
|
|
63
|
-
}, [listFn, org, query, scope, page, pageSize, fetchKey]);
|
|
42
|
+
: null, [listFn, org, query, scope, page, pageSize], INITIAL_DATA);
|
|
64
43
|
return {
|
|
65
|
-
entries,
|
|
66
|
-
totalCount,
|
|
67
|
-
totalPages,
|
|
44
|
+
entries: data.entries,
|
|
45
|
+
totalCount: data.totalCount,
|
|
46
|
+
totalPages: data.totalPages,
|
|
68
47
|
currentPage: page,
|
|
69
48
|
isLoading,
|
|
49
|
+
isRefetching,
|
|
70
50
|
error,
|
|
71
51
|
refetch,
|
|
72
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResourceList.js","sourceRoot":"","sources":["../../src/search/useResourceList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"useResourceList.js","sourceRoot":"","sources":["../../src/search/useResourceList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAyChD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,YAAY,GAAG,CAAC,CAAC;AAQvB,MAAM,YAAY,GAAqB;IACrC,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;CACd,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAmD,EACnD,GAAkB,EAClB,OAAgC;IAEhC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,YAAY,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAEtC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAChE,GAAG;QACD,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAe;gBACzB,GAAG;gBACH,KAAK,EAAE,KAAK,IAAI,SAAS;gBACzB,aAAa,EAAE,KAAK;gBACpB,cAAc,EAAE,KAAK,KAAK,KAAK;gBAC/B,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QACH,CAAC,CAAC,IAAI,EACR,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAC3C,YAAY,CACb,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI;QACjB,SAAS;QACT,YAAY;QACZ,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -23,8 +23,10 @@ export interface UseResourceSearchReturn {
|
|
|
23
23
|
readonly results: readonly SearchResult[];
|
|
24
24
|
/** `true` while a search request is in flight. */
|
|
25
25
|
readonly isLoading: boolean;
|
|
26
|
-
/**
|
|
27
|
-
readonly
|
|
26
|
+
/** `true` while a background refetch is in flight. */
|
|
27
|
+
readonly isRefetching: boolean;
|
|
28
|
+
/** Error from the last failed search, or `null` when healthy. */
|
|
29
|
+
readonly error: Error | null;
|
|
28
30
|
/** Current search query text. */
|
|
29
31
|
readonly query: string;
|
|
30
32
|
/** Update the search query (triggers a debounced re-search). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResourceSearch.d.ts","sourceRoot":"","sources":["../../src/search/useResourceSearch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"useResourceSearch.d.ts","sourceRoot":"","sources":["../../src/search/useResourceSearch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG/E,2GAA2G;AAC3G,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAChC;AAED,gHAAgH;AAChH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EACnD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,wBAAwB,GACjC,uBAAuB,CA8BzB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { useFetch } from "../internal/useFetch";
|
|
3
4
|
const DEFAULT_PAGE_SIZE = 30;
|
|
4
5
|
const DEFAULT_DEBOUNCE_MS = 300;
|
|
5
6
|
/**
|
|
@@ -12,25 +13,16 @@ const DEFAULT_DEBOUNCE_MS = 300;
|
|
|
12
13
|
* hooks (`useMcpServerSearch`, `useSkillSearch`) instead.
|
|
13
14
|
*/
|
|
14
15
|
export function useResourceSearch(listFn, org, options) {
|
|
15
|
-
const [results, setResults] = useState([]);
|
|
16
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
17
|
-
const [error, setError] = useState(null);
|
|
18
16
|
const [query, setQuery] = useState("");
|
|
19
17
|
const [debouncedQuery, setDebouncedQuery] = useState("");
|
|
20
|
-
const [fetchKey, setFetchKey] = useState(0);
|
|
21
18
|
const pageSize = options?.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
22
19
|
const debounceMs = options?.debounceMs ?? DEFAULT_DEBOUNCE_MS;
|
|
23
20
|
const scope = options?.scope ?? "org";
|
|
24
|
-
// Debounce query changes
|
|
25
21
|
useEffect(() => {
|
|
26
22
|
const timer = setTimeout(() => setDebouncedQuery(query), debounceMs);
|
|
27
23
|
return () => clearTimeout(timer);
|
|
28
24
|
}, [query, debounceMs]);
|
|
29
|
-
const refetch =
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
const cancelled = { current: false };
|
|
32
|
-
setIsLoading(true);
|
|
33
|
-
setError(null);
|
|
25
|
+
const { data: results, isLoading, isRefetching, error, refetch } = useFetch(async () => {
|
|
34
26
|
const params = {
|
|
35
27
|
org,
|
|
36
28
|
query: debouncedQuery || undefined,
|
|
@@ -38,21 +30,9 @@ export function useResourceSearch(listFn, org, options) {
|
|
|
38
30
|
crossOrgPublic: scope === "all",
|
|
39
31
|
page: { num: 1, size: pageSize },
|
|
40
32
|
};
|
|
41
|
-
listFn(params)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
setIsLoading(false);
|
|
46
|
-
}, (err) => {
|
|
47
|
-
if (cancelled.current)
|
|
48
|
-
return;
|
|
49
|
-
setError(err instanceof Error ? err.message : "Failed to load resources");
|
|
50
|
-
setIsLoading(false);
|
|
51
|
-
});
|
|
52
|
-
return () => {
|
|
53
|
-
cancelled.current = true;
|
|
54
|
-
};
|
|
55
|
-
}, [listFn, org, debouncedQuery, pageSize, scope, fetchKey]);
|
|
56
|
-
return { results, isLoading, error, query, setQuery, refetch };
|
|
33
|
+
const result = await listFn(params);
|
|
34
|
+
return [...result.entries];
|
|
35
|
+
}, [listFn, org, debouncedQuery, pageSize, scope], []);
|
|
36
|
+
return { results, isLoading, isRefetching, error, query, setQuery, refetch };
|
|
57
37
|
}
|
|
58
38
|
//# sourceMappingURL=useResourceSearch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResourceSearch.js","sourceRoot":"","sources":["../../src/search/useResourceSearch.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useResourceSearch.js","sourceRoot":"","sources":["../../src/search/useResourceSearch.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAsChD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAmD,EACnD,GAAW,EACX,OAAkC;IAElC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC;IACxD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,mBAAmB,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QACrE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CACzE,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAe;YACzB,GAAG;YACH,KAAK,EAAE,cAAc,IAAI,SAAS;YAClC,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,KAAK,KAAK,KAAK;YAC/B,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;SACjC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC9C,EAAE,CACH,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNewSessionFlow.d.ts","sourceRoot":"","sources":["../../src/session/useNewSessionFlow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"useNewSessionFlow.d.ts","sourceRoot":"","sources":["../../src/session/useNewSessionFlow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAOhE,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAExD,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IAE5D,wCAAwC;IACxC,QAAQ,CAAC,eAAe,EAAE,mBAAmB,EAAE,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAErE,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IAClC,+BAA+B;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAErD,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAElD,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;IAErD,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,CACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,KACnC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,CAqLzB"}
|
|
@@ -8,6 +8,7 @@ import { useSessionVariables } from "../execution/useSessionVariables";
|
|
|
8
8
|
import { useCreateSession } from "./useCreateSession";
|
|
9
9
|
import { useCreateAgentExecution } from "../execution/useCreateAgentExecution";
|
|
10
10
|
const STORAGE_KEY_MODEL = "stigmer:session:model";
|
|
11
|
+
const STORAGE_KEY_RUNNER = "stigmer:session:runner";
|
|
11
12
|
/**
|
|
12
13
|
* Orchestrates the "create a new session" flow.
|
|
13
14
|
*
|
|
@@ -54,7 +55,7 @@ export function useNewSessionFlow(options) {
|
|
|
54
55
|
const { getModel } = useModelRegistry();
|
|
55
56
|
const { create: createSession } = useCreateSession();
|
|
56
57
|
const { create: createExecution } = useCreateAgentExecution();
|
|
57
|
-
const { agent: defaultAgent } = useDefaultAgent(org);
|
|
58
|
+
const { agent: defaultAgent, isLoading: isDefaultAgentLoading, error: defaultAgentError, } = useDefaultAgent(org);
|
|
58
59
|
const workspace = useWorkspaceEntries();
|
|
59
60
|
const sessionVariables = useSessionVariables();
|
|
60
61
|
const [modelId, setModelId] = useState(undefined);
|
|
@@ -79,6 +80,22 @@ export function useNewSessionFlow(options) {
|
|
|
79
80
|
localStorage.setItem(STORAGE_KEY_MODEL, modelId);
|
|
80
81
|
}
|
|
81
82
|
}, [modelId]);
|
|
83
|
+
// Restore persisted runner on mount
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
const stored = localStorage.getItem(STORAGE_KEY_RUNNER);
|
|
86
|
+
if (stored) {
|
|
87
|
+
setRunnerId(stored);
|
|
88
|
+
}
|
|
89
|
+
}, []);
|
|
90
|
+
// Persist runner on change
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
if (runnerId) {
|
|
93
|
+
localStorage.setItem(STORAGE_KEY_RUNNER, runnerId);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
localStorage.removeItem(STORAGE_KEY_RUNNER);
|
|
97
|
+
}
|
|
98
|
+
}, [runnerId]);
|
|
82
99
|
const submit = useCallback(async (message, selectedModel, context) => {
|
|
83
100
|
if (isSubmitting)
|
|
84
101
|
return;
|
|
@@ -125,6 +142,12 @@ export function useNewSessionFlow(options) {
|
|
|
125
142
|
else {
|
|
126
143
|
const defaultInstanceId = defaultAgent?.status?.defaultInstanceId;
|
|
127
144
|
if (!defaultInstanceId) {
|
|
145
|
+
if (isDefaultAgentLoading) {
|
|
146
|
+
throw new Error("Loading default agent. Please try again in a moment.");
|
|
147
|
+
}
|
|
148
|
+
if (defaultAgentError) {
|
|
149
|
+
throw new Error("Failed to load default agent. Please try again.");
|
|
150
|
+
}
|
|
128
151
|
throw new Error("No default agent available. Select an agent to start a session.");
|
|
129
152
|
}
|
|
130
153
|
({ sessionId } = await createSession({
|
|
@@ -155,6 +178,8 @@ export function useNewSessionFlow(options) {
|
|
|
155
178
|
agentRef,
|
|
156
179
|
resolution,
|
|
157
180
|
defaultAgent,
|
|
181
|
+
isDefaultAgentLoading,
|
|
182
|
+
defaultAgentError,
|
|
158
183
|
createSession,
|
|
159
184
|
createExecution,
|
|
160
185
|
sessionVariables,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNewSessionFlow.js","sourceRoot":"","sources":["../../src/session/useNewSessionFlow.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,cAAc,EAA8C,MAAM,cAAc,CAAC;AAE1F,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAkC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAkC,MAAM,kCAAkC,CAAC;AAEvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useNewSessionFlow.js","sourceRoot":"","sources":["../../src/session/useNewSessionFlow.ts"],"names":[],"mappings":"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"}
|
package/session/useSession.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_
|
|
|
3
3
|
export interface UseSessionReturn {
|
|
4
4
|
/** The fetched Session, or `null` while loading or on error. */
|
|
5
5
|
readonly session: Session | null;
|
|
6
|
-
/** `true` while the initial fetch
|
|
6
|
+
/** `true` while the initial fetch is in flight. */
|
|
7
7
|
readonly isLoading: boolean;
|
|
8
|
+
/** `true` while a background refetch is in flight. */
|
|
9
|
+
readonly isRefetching: boolean;
|
|
8
10
|
/** Error from the last failed request, or `null` when healthy. */
|
|
9
11
|
readonly error: Error | null;
|
|
10
12
|
/** Discard cached data and re-fetch the session from the server. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../src/session/useSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../src/session/useSession.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;AAIpF,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAU9D"}
|
package/session/useSession.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useCallback, useEffect, useState } from "react";
|
|
3
2
|
import { useStigmer } from "../hooks";
|
|
4
|
-
import {
|
|
3
|
+
import { useFetch } from "../internal/useFetch";
|
|
5
4
|
/**
|
|
6
5
|
* Data hook that fetches a single Session by ID.
|
|
7
6
|
*
|
|
@@ -41,36 +40,7 @@ import { toError } from "../internal/toError";
|
|
|
41
40
|
*/
|
|
42
41
|
export function useSession(id) {
|
|
43
42
|
const stigmer = useStigmer();
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
const [error, setError] = useState(null);
|
|
47
|
-
const [fetchKey, setFetchKey] = useState(0);
|
|
48
|
-
const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
if (!id) {
|
|
51
|
-
setSession(null);
|
|
52
|
-
setIsLoading(false);
|
|
53
|
-
setError(null);
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
const cancelled = { current: false };
|
|
57
|
-
setIsLoading(true);
|
|
58
|
-
setError(null);
|
|
59
|
-
stigmer.session.get(id).then((result) => {
|
|
60
|
-
if (cancelled.current)
|
|
61
|
-
return;
|
|
62
|
-
setSession(result);
|
|
63
|
-
setIsLoading(false);
|
|
64
|
-
}, (err) => {
|
|
65
|
-
if (cancelled.current)
|
|
66
|
-
return;
|
|
67
|
-
setError(toError(err));
|
|
68
|
-
setIsLoading(false);
|
|
69
|
-
});
|
|
70
|
-
return () => {
|
|
71
|
-
cancelled.current = true;
|
|
72
|
-
};
|
|
73
|
-
}, [id, stigmer, fetchKey]);
|
|
74
|
-
return { session, isLoading, error, refetch };
|
|
43
|
+
const { data: session, isLoading, isRefetching, error, refetch } = useFetch(id ? () => stigmer.session.get(id) : null, [id, stigmer], null);
|
|
44
|
+
return { session, isLoading, isRefetching, error, refetch };
|
|
75
45
|
}
|
|
76
46
|
//# sourceMappingURL=useSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSession.js","sourceRoot":"","sources":["../../src/session/useSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"useSession.js","sourceRoot":"","sources":["../../src/session/useSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAgBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,UAAU,CAAC,EAAiB;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CACzE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EACzC,CAAC,EAAE,EAAE,OAAO,CAAC,EACb,IAAsB,CACvB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC"}
|
|
@@ -3,8 +3,10 @@ import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexe
|
|
|
3
3
|
export interface UseSessionExecutionsReturn {
|
|
4
4
|
/** All executions for the session, empty while loading or on error. */
|
|
5
5
|
readonly executions: readonly AgentExecution[];
|
|
6
|
-
/** `true` while the initial fetch
|
|
6
|
+
/** `true` while the initial fetch is in flight. */
|
|
7
7
|
readonly isLoading: boolean;
|
|
8
|
+
/** `true` while a background refetch is in flight. */
|
|
9
|
+
readonly isRefetching: boolean;
|
|
8
10
|
/** Error from the last failed request, or `null` when healthy. */
|
|
9
11
|
readonly error: Error | null;
|
|
10
12
|
/** Discard cached data and re-fetch the execution list from the server. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionExecutions.d.ts","sourceRoot":"","sources":["../../src/session/useSessionExecutions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSessionExecutions.d.ts","sourceRoot":"","sources":["../../src/session/useSessionExecutions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAKlG,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,0BAA0B,CAoB5B"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useCallback, useEffect, useState } from "react";
|
|
3
2
|
import { create } from "@bufbuild/protobuf";
|
|
4
3
|
import { ListAgentExecutionsBySessionRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
|
|
5
4
|
import { useStigmer } from "../hooks";
|
|
6
|
-
import {
|
|
5
|
+
import { useFetch } from "../internal/useFetch";
|
|
7
6
|
/**
|
|
8
7
|
* Data hook that fetches all {@link AgentExecution} entries for a session.
|
|
9
8
|
*
|
|
@@ -40,41 +39,14 @@ import { toError } from "../internal/toError";
|
|
|
40
39
|
*/
|
|
41
40
|
export function useSessionExecutions(sessionId) {
|
|
42
41
|
const stigmer = useStigmer();
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
const [error, setError] = useState(null);
|
|
46
|
-
const [fetchKey, setFetchKey] = useState(0);
|
|
47
|
-
const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
|
|
48
|
-
useEffect(() => {
|
|
49
|
-
if (!sessionId) {
|
|
50
|
-
setExecutions([]);
|
|
51
|
-
setIsLoading(false);
|
|
52
|
-
setError(null);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const cancelled = { current: false };
|
|
56
|
-
setIsLoading(true);
|
|
57
|
-
setError(null);
|
|
58
|
-
stigmer.agentExecution
|
|
42
|
+
const { data: executions, isLoading, isRefetching, error, refetch } = useFetch(sessionId
|
|
43
|
+
? () => stigmer.agentExecution
|
|
59
44
|
.listBySession(create(ListAgentExecutionsBySessionRequestSchema, {
|
|
60
45
|
sessionId,
|
|
61
46
|
pageSize: 100,
|
|
62
47
|
}))
|
|
63
|
-
.then((result) =>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
setExecutions(result.entries);
|
|
67
|
-
setIsLoading(false);
|
|
68
|
-
}, (err) => {
|
|
69
|
-
if (cancelled.current)
|
|
70
|
-
return;
|
|
71
|
-
setError(toError(err));
|
|
72
|
-
setIsLoading(false);
|
|
73
|
-
});
|
|
74
|
-
return () => {
|
|
75
|
-
cancelled.current = true;
|
|
76
|
-
};
|
|
77
|
-
}, [sessionId, stigmer, fetchKey]);
|
|
78
|
-
return { executions, isLoading, error, refetch };
|
|
48
|
+
.then((result) => result.entries)
|
|
49
|
+
: null, [sessionId, stigmer], []);
|
|
50
|
+
return { executions, isLoading, isRefetching, error, refetch };
|
|
79
51
|
}
|
|
80
52
|
//# sourceMappingURL=useSessionExecutions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionExecutions.js","sourceRoot":"","sources":["../../src/session/useSessionExecutions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useSessionExecutions.js","sourceRoot":"","sources":["../../src/session/useSessionExecutions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,yCAAyC,EAAE,MAAM,4DAA4D,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAgBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAwB;IAExB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAC5E,SAAS;QACP,CAAC,CAAC,GAAG,EAAE,CACH,OAAO,CAAC,cAAc;aACnB,aAAa,CACZ,MAAM,CAAC,yCAAyC,EAAE;YAChD,SAAS;YACT,QAAQ,EAAE,GAAG;SACd,CAAC,CACH;aACA,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,IAAI,EACR,CAAC,SAAS,EAAE,OAAO,CAAC,EACpB,EAAsB,CACvB,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACjE,CAAC"}
|
|
@@ -10,10 +10,12 @@ export interface UseSessionListOptions {
|
|
|
10
10
|
export interface UseSessionListReturn {
|
|
11
11
|
/** The fetched list of Sessions, empty while loading or on error. */
|
|
12
12
|
readonly sessions: readonly Session[];
|
|
13
|
-
/** `true` while the initial fetch
|
|
13
|
+
/** `true` while the initial fetch is in flight. */
|
|
14
14
|
readonly isLoading: boolean;
|
|
15
|
-
/**
|
|
16
|
-
readonly
|
|
15
|
+
/** `true` while a background refetch is in flight. */
|
|
16
|
+
readonly isRefetching: boolean;
|
|
17
|
+
/** Error from the last failed request, or `null` when healthy. */
|
|
18
|
+
readonly error: Error | null;
|
|
17
19
|
/** Discard cached data and re-fetch the session list from the server. */
|
|
18
20
|
readonly refetch: () => void;
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionList.d.ts","sourceRoot":"","sources":["../../src/session/useSessionList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"useSessionList.d.ts","sourceRoot":"","sources":["../../src/session/useSessionList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;AAKpF,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,oBAAoB,CA6BtB"}
|