@stigmer/react 0.0.101 → 0.1.1

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.
Files changed (262) hide show
  1. package/agent/AgentPicker.js +1 -1
  2. package/agent/AgentPicker.js.map +1 -1
  3. package/agent/__tests__/useDefaultAgent.test.d.ts +2 -0
  4. package/agent/__tests__/useDefaultAgent.test.d.ts.map +1 -0
  5. package/agent/__tests__/useDefaultAgent.test.js +252 -0
  6. package/agent/__tests__/useDefaultAgent.test.js.map +1 -0
  7. package/agent/useAgent.d.ts +2 -0
  8. package/agent/useAgent.d.ts.map +1 -1
  9. package/agent/useAgent.js +14 -37
  10. package/agent/useAgent.js.map +1 -1
  11. package/agent/useAgentCount.d.ts +1 -1
  12. package/agent/useAgentCount.d.ts.map +1 -1
  13. package/agent/useAgentList.d.ts +2 -2
  14. package/agent/useAgentList.d.ts.map +1 -1
  15. package/agent/useDefaultAgent.d.ts +6 -2
  16. package/agent/useDefaultAgent.d.ts.map +1 -1
  17. package/agent/useDefaultAgent.js +51 -31
  18. package/agent/useDefaultAgent.js.map +1 -1
  19. package/agent-instance/useAgentInstance.d.ts +2 -0
  20. package/agent-instance/useAgentInstance.d.ts.map +1 -1
  21. package/agent-instance/useAgentInstance.js +6 -33
  22. package/agent-instance/useAgentInstance.js.map +1 -1
  23. package/agent-instance/useAgentInstanceList.d.ts +2 -0
  24. package/agent-instance/useAgentInstanceList.d.ts.map +1 -1
  25. package/agent-instance/useAgentInstanceList.js +22 -40
  26. package/agent-instance/useAgentInstanceList.js.map +1 -1
  27. package/api-key/useApiKeyList.d.ts +2 -0
  28. package/api-key/useApiKeyList.d.ts.map +1 -1
  29. package/api-key/useApiKeyList.js +3 -27
  30. package/api-key/useApiKeyList.js.map +1 -1
  31. package/composer/ComposerToolbar.d.ts +1 -5
  32. package/composer/ComposerToolbar.d.ts.map +1 -1
  33. package/composer/ComposerToolbar.js +3 -4
  34. package/composer/ComposerToolbar.js.map +1 -1
  35. package/composer/ContextChip.d.ts +1 -1
  36. package/composer/ContextChip.d.ts.map +1 -1
  37. package/composer/ContextChip.js +1 -0
  38. package/composer/ContextChip.js.map +1 -1
  39. package/composer/SessionComposer.d.ts.map +1 -1
  40. package/composer/SessionComposer.js +77 -4
  41. package/composer/SessionComposer.js.map +1 -1
  42. package/composer/icons.d.ts +1 -0
  43. package/composer/icons.d.ts.map +1 -1
  44. package/composer/icons.js +3 -0
  45. package/composer/icons.js.map +1 -1
  46. package/environment/useEnvironment.d.ts +2 -0
  47. package/environment/useEnvironment.d.ts.map +1 -1
  48. package/environment/useEnvironment.js +6 -33
  49. package/environment/useEnvironment.js.map +1 -1
  50. package/environment/useEnvironmentList.d.ts +2 -0
  51. package/environment/useEnvironmentList.d.ts.map +1 -1
  52. package/environment/useEnvironmentList.js +23 -53
  53. package/environment/useEnvironmentList.js.map +1 -1
  54. package/execution/ArtifactPreviewModal.js +1 -1
  55. package/execution/ArtifactPreviewModal.js.map +1 -1
  56. package/execution/useArtifactContent.d.ts +4 -2
  57. package/execution/useArtifactContent.d.ts.map +1 -1
  58. package/execution/useArtifactContent.js +23 -45
  59. package/execution/useArtifactContent.js.map +1 -1
  60. package/iam-policy/usePrincipalsCount.d.ts +2 -0
  61. package/iam-policy/usePrincipalsCount.d.ts.map +1 -1
  62. package/iam-policy/usePrincipalsCount.js +7 -46
  63. package/iam-policy/usePrincipalsCount.js.map +1 -1
  64. package/iam-policy/useResourceAccess.d.ts +2 -0
  65. package/iam-policy/useResourceAccess.d.ts.map +1 -1
  66. package/iam-policy/useResourceAccess.js +12 -47
  67. package/iam-policy/useResourceAccess.js.map +1 -1
  68. package/identity-provider/useIdentityProvider.d.ts +2 -0
  69. package/identity-provider/useIdentityProvider.d.ts.map +1 -1
  70. package/identity-provider/useIdentityProvider.js +3 -33
  71. package/identity-provider/useIdentityProvider.js.map +1 -1
  72. package/identity-provider/useIdentityProviderList.d.ts +2 -0
  73. package/identity-provider/useIdentityProviderList.d.ts.map +1 -1
  74. package/identity-provider/useIdentityProviderList.js +7 -33
  75. package/identity-provider/useIdentityProviderList.js.map +1 -1
  76. package/index.d.ts +2 -2
  77. package/index.d.ts.map +1 -1
  78. package/index.js +1 -1
  79. package/index.js.map +1 -1
  80. package/internal/__tests__/useFetch.test.d.ts +2 -0
  81. package/internal/__tests__/useFetch.test.d.ts.map +1 -0
  82. package/internal/__tests__/useFetch.test.js +95 -0
  83. package/internal/__tests__/useFetch.test.js.map +1 -0
  84. package/internal/useFetch.d.ts +51 -0
  85. package/internal/useFetch.d.ts.map +1 -0
  86. package/internal/useFetch.js +75 -0
  87. package/internal/useFetch.js.map +1 -0
  88. package/invitation/useInvitationPreview.d.ts +2 -0
  89. package/invitation/useInvitationPreview.d.ts.map +1 -1
  90. package/invitation/useInvitationPreview.js +5 -35
  91. package/invitation/useInvitationPreview.js.map +1 -1
  92. package/invitation/useOrgInvitations.d.ts +2 -0
  93. package/invitation/useOrgInvitations.d.ts.map +1 -1
  94. package/invitation/useOrgInvitations.js +6 -34
  95. package/invitation/useOrgInvitations.js.map +1 -1
  96. package/library/ResourceListView.d.ts +2 -2
  97. package/library/ResourceListView.d.ts.map +1 -1
  98. package/library/ResourceListView.js +1 -1
  99. package/library/ResourceListView.js.map +1 -1
  100. package/library/useDetectSkillPackage.d.ts +1 -1
  101. package/library/useDetectSkillPackage.d.ts.map +1 -1
  102. package/mcp-server/McpServerPicker.js +1 -1
  103. package/mcp-server/McpServerPicker.js.map +1 -1
  104. package/mcp-server/useMcpServer.d.ts +2 -0
  105. package/mcp-server/useMcpServer.d.ts.map +1 -1
  106. package/mcp-server/useMcpServer.js +13 -37
  107. package/mcp-server/useMcpServer.js.map +1 -1
  108. package/mcp-server/useMcpServerCount.d.ts +1 -1
  109. package/mcp-server/useMcpServerCount.d.ts.map +1 -1
  110. package/mcp-server/useMcpServerList.d.ts +2 -2
  111. package/mcp-server/useMcpServerList.d.ts.map +1 -1
  112. package/mcp-server/useOAuthGrantStatus.d.ts +2 -0
  113. package/mcp-server/useOAuthGrantStatus.d.ts.map +1 -1
  114. package/mcp-server/useOAuthGrantStatus.js +14 -61
  115. package/mcp-server/useOAuthGrantStatus.js.map +1 -1
  116. package/mcp-server/useOrgOAuthApp.d.ts +2 -0
  117. package/mcp-server/useOrgOAuthApp.d.ts.map +1 -1
  118. package/mcp-server/useOrgOAuthApp.js +19 -43
  119. package/mcp-server/useOrgOAuthApp.js.map +1 -1
  120. package/oauth-app/useOAuthAppList.d.ts +2 -0
  121. package/oauth-app/useOAuthAppList.d.ts.map +1 -1
  122. package/oauth-app/useOAuthAppList.js +6 -34
  123. package/oauth-app/useOAuthAppList.js.map +1 -1
  124. package/organization/useOrganization.d.ts +2 -0
  125. package/organization/useOrganization.d.ts.map +1 -1
  126. package/organization/useOrganization.js +3 -33
  127. package/organization/useOrganization.js.map +1 -1
  128. package/package.json +4 -4
  129. package/platform-client/usePlatformClient.d.ts +2 -0
  130. package/platform-client/usePlatformClient.d.ts.map +1 -1
  131. package/platform-client/usePlatformClient.js +3 -33
  132. package/platform-client/usePlatformClient.js.map +1 -1
  133. package/platform-client/usePlatformClientList.d.ts +2 -0
  134. package/platform-client/usePlatformClientList.d.ts.map +1 -1
  135. package/platform-client/usePlatformClientList.js +6 -34
  136. package/platform-client/usePlatformClientList.js.map +1 -1
  137. package/runner/RunnerListPanel.d.ts.map +1 -1
  138. package/runner/RunnerListPanel.js +21 -5
  139. package/runner/RunnerListPanel.js.map +1 -1
  140. package/runner/__tests__/phase.test.d.ts +2 -0
  141. package/runner/__tests__/phase.test.d.ts.map +1 -0
  142. package/runner/__tests__/phase.test.js +33 -0
  143. package/runner/__tests__/phase.test.js.map +1 -0
  144. package/runner/__tests__/useRunnerList.test.d.ts +2 -0
  145. package/runner/__tests__/useRunnerList.test.d.ts.map +1 -0
  146. package/runner/__tests__/useRunnerList.test.js +68 -0
  147. package/runner/__tests__/useRunnerList.test.js.map +1 -0
  148. package/runner/index.d.ts +3 -1
  149. package/runner/index.d.ts.map +1 -1
  150. package/runner/index.js +2 -1
  151. package/runner/index.js.map +1 -1
  152. package/runner/phase.d.ts +13 -0
  153. package/runner/phase.d.ts.map +1 -1
  154. package/runner/phase.js +15 -0
  155. package/runner/phase.js.map +1 -1
  156. package/runner/useRunnerCredential.d.ts +66 -0
  157. package/runner/useRunnerCredential.d.ts.map +1 -0
  158. package/runner/useRunnerCredential.js +50 -0
  159. package/runner/useRunnerCredential.js.map +1 -0
  160. package/runner/useRunnerList.d.ts +21 -0
  161. package/runner/useRunnerList.d.ts.map +1 -1
  162. package/runner/useRunnerList.js +9 -36
  163. package/runner/useRunnerList.js.map +1 -1
  164. package/search/useResourceCount.d.ts +2 -1
  165. package/search/useResourceCount.d.ts.map +1 -1
  166. package/search/useResourceCount.js +13 -37
  167. package/search/useResourceCount.js.map +1 -1
  168. package/search/useResourceList.d.ts +2 -1
  169. package/search/useResourceList.d.ts.map +1 -1
  170. package/search/useResourceList.js +26 -46
  171. package/search/useResourceList.js.map +1 -1
  172. package/search/useResourceSearch.d.ts +4 -2
  173. package/search/useResourceSearch.d.ts.map +1 -1
  174. package/search/useResourceSearch.js +7 -27
  175. package/search/useResourceSearch.js.map +1 -1
  176. package/session/useNewSessionFlow.d.ts.map +1 -1
  177. package/session/useNewSessionFlow.js +26 -1
  178. package/session/useNewSessionFlow.js.map +1 -1
  179. package/session/useSession.d.ts +3 -1
  180. package/session/useSession.d.ts.map +1 -1
  181. package/session/useSession.js +3 -33
  182. package/session/useSession.js.map +1 -1
  183. package/session/useSessionExecutions.d.ts +3 -1
  184. package/session/useSessionExecutions.d.ts.map +1 -1
  185. package/session/useSessionExecutions.js +6 -34
  186. package/session/useSessionExecutions.js.map +1 -1
  187. package/session/useSessionList.d.ts +5 -3
  188. package/session/useSessionList.d.ts.map +1 -1
  189. package/session/useSessionList.js +9 -31
  190. package/session/useSessionList.js.map +1 -1
  191. package/skill/SkillPicker.js +1 -1
  192. package/skill/SkillPicker.js.map +1 -1
  193. package/skill/useSkill.d.ts +2 -0
  194. package/skill/useSkill.d.ts.map +1 -1
  195. package/skill/useSkill.js +13 -37
  196. package/skill/useSkill.js.map +1 -1
  197. package/skill/useSkillCount.d.ts +1 -1
  198. package/skill/useSkillCount.d.ts.map +1 -1
  199. package/skill/useSkillList.d.ts +2 -2
  200. package/skill/useSkillList.d.ts.map +1 -1
  201. package/src/agent/AgentPicker.tsx +1 -1
  202. package/src/agent/__tests__/useDefaultAgent.test.tsx +308 -0
  203. package/src/agent/useAgent.ts +19 -41
  204. package/src/agent/useAgentCount.ts +1 -1
  205. package/src/agent/useAgentList.ts +2 -2
  206. package/src/agent/useDefaultAgent.ts +67 -35
  207. package/src/agent-instance/useAgentInstance.ts +13 -37
  208. package/src/agent-instance/useAgentInstanceList.ts +31 -47
  209. package/src/api-key/useApiKeyList.ts +9 -32
  210. package/src/composer/ComposerToolbar.tsx +1 -22
  211. package/src/composer/ContextChip.tsx +2 -1
  212. package/src/composer/SessionComposer.tsx +206 -5
  213. package/src/composer/icons.tsx +27 -0
  214. package/src/environment/useEnvironment.ts +13 -37
  215. package/src/environment/useEnvironmentList.ts +31 -58
  216. package/src/execution/ArtifactPreviewModal.tsx +2 -2
  217. package/src/execution/useArtifactContent.ts +48 -65
  218. package/src/iam-policy/usePrincipalsCount.ts +17 -53
  219. package/src/iam-policy/useResourceAccess.ts +18 -55
  220. package/src/identity-provider/useIdentityProvider.ts +9 -39
  221. package/src/identity-provider/useIdentityProviderList.ts +14 -40
  222. package/src/index.ts +4 -0
  223. package/src/internal/__tests__/useFetch.test.ts +133 -0
  224. package/src/internal/useFetch.ts +121 -0
  225. package/src/invitation/useInvitationPreview.ts +14 -40
  226. package/src/invitation/useOrgInvitations.ts +15 -41
  227. package/src/library/ResourceListView.tsx +3 -3
  228. package/src/library/useDetectSkillPackage.ts +1 -1
  229. package/src/mcp-server/McpServerPicker.tsx +1 -1
  230. package/src/mcp-server/useMcpServer.ts +17 -42
  231. package/src/mcp-server/useMcpServerCount.ts +1 -1
  232. package/src/mcp-server/useMcpServerList.ts +2 -2
  233. package/src/mcp-server/useOAuthGrantStatus.ts +31 -69
  234. package/src/mcp-server/useOrgOAuthApp.ts +34 -51
  235. package/src/oauth-app/useOAuthAppList.ts +15 -41
  236. package/src/organization/useOrganization.ts +9 -38
  237. package/src/platform-client/usePlatformClient.ts +9 -39
  238. package/src/platform-client/usePlatformClientList.ts +14 -42
  239. package/src/runner/RunnerListPanel.tsx +49 -41
  240. package/src/runner/__tests__/phase.test.ts +35 -0
  241. package/src/runner/__tests__/useRunnerList.test.tsx +96 -0
  242. package/src/runner/index.ts +7 -0
  243. package/src/runner/phase.ts +16 -0
  244. package/src/runner/useRunnerCredential.ts +89 -0
  245. package/src/runner/useRunnerList.ts +36 -44
  246. package/src/search/useResourceCount.ts +20 -48
  247. package/src/search/useResourceList.ts +40 -57
  248. package/src/search/useResourceSearch.ts +22 -43
  249. package/src/session/useNewSessionFlow.ts +35 -1
  250. package/src/session/useSession.ts +10 -39
  251. package/src/session/useSessionExecutions.ts +20 -46
  252. package/src/session/useSessionList.ts +21 -42
  253. package/src/skill/SkillPicker.tsx +1 -1
  254. package/src/skill/useSkill.ts +17 -42
  255. package/src/skill/useSkillCount.ts +1 -1
  256. package/src/skill/useSkillList.ts +2 -2
  257. package/src/usage/useOrgUsageReport.ts +18 -46
  258. package/styles.css +1 -1
  259. package/usage/useOrgUsageReport.d.ts +2 -0
  260. package/usage/useOrgUsageReport.d.ts.map +1 -1
  261. package/usage/useOrgUsageReport.js +5 -35
  262. package/usage/useOrgUsageReport.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerListPanel.d.ts","sourceRoot":"","sources":["../../src/runner/RunnerListPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAsBlF,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,oBAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,oBAAoB,2CA2GtB"}
1
+ {"version":3,"file":"RunnerListPanel.d.ts","sourceRoot":"","sources":["../../src/runner/RunnerListPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAwBlF,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,oBAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,oBAAoB,2CAqHtB"}
@@ -8,8 +8,9 @@ import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_p
8
8
  import { useRunnerList } from "./useRunnerList";
9
9
  import { useStopRunner } from "./useStopRunner";
10
10
  import { useDeleteRunner } from "./useDeleteRunner";
11
- import { isActivePhase, phaseLabel, phaseDotColor, PHASE_SORT_ORDER, } from "./phase";
11
+ import { isActivePhase, isTransitionalPhase, phaseLabel, phaseDotColor, PHASE_SORT_ORDER, } from "./phase";
12
12
  const SYSTEM_MANAGED_LABEL = "stigmer.ai/system-managed";
13
+ const TRANSITIONAL_POLL_MS = 5_000;
13
14
  /**
14
15
  * Panel that displays runners in an organization with lifecycle
15
16
  * management actions.
@@ -48,10 +49,15 @@ const SYSTEM_MANAGED_LABEL = "stigmer.ai/system-managed";
48
49
  * ```
49
50
  */
50
51
  export function RunnerListPanel({ org, includeSystemManaged = false, onRefetchRef, onStopped, onDeleted, className, }) {
52
+ const [hasTransitional, setHasTransitional] = useState(false);
51
53
  const { runners, isLoading, error, refetch } = useRunnerList(org, {
52
54
  includeSystemManaged,
55
+ refetchInterval: hasTransitional ? TRANSITIONAL_POLL_MS : false,
53
56
  });
54
57
  const [confirming, setConfirming] = useState(null);
58
+ useEffect(() => {
59
+ setHasTransitional(runners.some((r) => isTransitionalPhase(r.status?.phase ?? RunnerPhase.UNSPECIFIED)));
60
+ }, [runners]);
55
61
  if (onRefetchRef) {
56
62
  onRefetchRef(refetch);
57
63
  }
@@ -71,7 +77,7 @@ export function RunnerListPanel({ org, includeSystemManaged = false, onRefetchRe
71
77
  onDeleted?.(runner);
72
78
  }, [refetch, onStopped, onDeleted]);
73
79
  if (isLoading) {
74
- return (_jsx("div", { className: cn("space-y-2", className), "aria-busy": "true", "aria-label": "Loading runners", children: Array.from({ length: 3 }, (_, i) => (_jsx("div", { className: "bg-muted-subtle h-14 animate-pulse rounded-lg" }, i))) }));
80
+ return (_jsx("div", { className: cn("space-y-2", className), "aria-busy": "true", "aria-label": "Loading runners", children: Array.from({ length: 3 }, (_, i) => (_jsx("div", { className: "bg-muted-subtle h-[4.25rem] animate-pulse rounded-lg" }, i))) }));
75
81
  }
76
82
  if (error) {
77
83
  return (_jsx("p", { className: cn("text-destructive text-xs", className), role: "alert", children: getUserMessage(error) }));
@@ -136,7 +142,17 @@ function RunnerRow({ runner, confirmingAction, onRequestConfirm, onCancelConfirm
136
142
  if (confirmingAction === "delete") {
137
143
  return (_jsx(ConfirmationRow, { message: _jsxs(_Fragment, { children: ["Delete ", _jsx("span", { className: "font-medium", children: name }), "?"] }), description: "This action is permanent. Sessions bound to this runner will fall back to auto-provisioning.", confirmLabel: "Delete permanently", isMutating: isDeleting, error: deleteError, onConfirm: handleDelete, onCancel: onCancelConfirm }));
138
144
  }
139
- return (_jsxs("div", { role: "listitem", className: cn("flex items-center gap-3 rounded-lg border border-border-muted px-3 py-2.5", "hover:border-border transition-colors", !active && "opacity-60"), children: [_jsx(RunnerIcon, { size: 14 }), _jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-medium text-foreground", children: name }), systemManaged && (_jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-[0.6rem] font-medium text-muted-foreground", children: "System" })), _jsx(PhaseBadge, { phase: phase })] }), _jsxs("div", { className: "hidden items-center gap-4 text-xs text-muted-foreground sm:flex", children: [hostname && (_jsx("span", { className: "max-w-[10rem] truncate", title: hostname, children: hostname })), osArch && (_jsx("span", { className: "font-mono text-[0.65rem]", children: osArch })), version && (_jsxs("span", { className: "font-mono text-[0.65rem]", children: ["v", version] })), active && (_jsxs("span", { title: "Current executions", children: [executions, " exec", executions !== 1 ? "s" : ""] })), lastHeartbeat && (_jsx("span", { title: `Last heartbeat: ${timestampDate(lastHeartbeat).toISOString()}`, children: formatRelativeTime(timestampDate(lastHeartbeat)) }))] }), hasActions && (_jsx(ActionMenu, { canStop: canStop, onStop: () => onRequestConfirm("stop"), onDelete: () => onRequestConfirm("delete"), runnerName: name }))] }));
145
+ const metaSegments = [];
146
+ if (hostname)
147
+ metaSegments.push(hostname);
148
+ if (osArch)
149
+ metaSegments.push(osArch);
150
+ if (active)
151
+ metaSegments.push(`${executions} exec${executions !== 1 ? "s" : ""}`);
152
+ if (lastHeartbeat) {
153
+ metaSegments.push(formatRelativeTime(timestampDate(lastHeartbeat)));
154
+ }
155
+ return (_jsxs("div", { role: "listitem", className: cn("flex items-start gap-3 rounded-lg border border-border-muted px-3 py-2.5", "hover:border-border transition-colors", !active && "opacity-60"), children: [_jsx(RunnerIcon, { size: 16, className: "mt-0.5" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-medium text-foreground", children: name }), systemManaged && (_jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-[0.6rem] font-medium text-muted-foreground", children: "System" })), _jsx(PhaseBadge, { phase: phase })] }), metaSegments.length > 0 && (_jsx("p", { className: "mt-0.5 truncate text-[0.65rem] text-muted-foreground", children: metaSegments.join(" \u00b7 ") }))] }), hasActions && (_jsx(ActionMenu, { canStop: canStop, onStop: () => onRequestConfirm("stop"), onDelete: () => onRequestConfirm("delete"), runnerName: name }))] }));
140
156
  }
141
157
  // ---------------------------------------------------------------------------
142
158
  // ConfirmationRow (internal)
@@ -223,8 +239,8 @@ function formatRelativeTime(date) {
223
239
  // ---------------------------------------------------------------------------
224
240
  // Icons
225
241
  // ---------------------------------------------------------------------------
226
- function RunnerIcon({ size = 14 }) {
227
- return (_jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", className: "shrink-0 text-muted-foreground", children: [_jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }), _jsx("rect", { x: "9", y: "9", width: "6", height: "6" }), _jsx("path", { d: "M15 2v2" }), _jsx("path", { d: "M15 20v2" }), _jsx("path", { d: "M2 15h2" }), _jsx("path", { d: "M2 9h2" }), _jsx("path", { d: "M20 15h2" }), _jsx("path", { d: "M20 9h2" }), _jsx("path", { d: "M9 2v2" }), _jsx("path", { d: "M9 20v2" })] }));
242
+ function RunnerIcon({ size = 14, className, }) {
243
+ return (_jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", className: cn("shrink-0 text-muted-foreground", className), children: [_jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }), _jsx("rect", { x: "9", y: "9", width: "6", height: "6" }), _jsx("path", { d: "M15 2v2" }), _jsx("path", { d: "M15 20v2" }), _jsx("path", { d: "M2 15h2" }), _jsx("path", { d: "M2 9h2" }), _jsx("path", { d: "M20 15h2" }), _jsx("path", { d: "M20 9h2" }), _jsx("path", { d: "M9 2v2" }), _jsx("path", { d: "M9 20v2" })] }));
228
244
  }
229
245
  function MoreVerticalIcon() {
230
246
  return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "3", r: "1.5" }), _jsx("circle", { cx: "8", cy: "8", r: "1.5" }), _jsx("circle", { cx: "8", cy: "13", r: "1.5" })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerListPanel.js","sourceRoot":"","sources":["../../src/runner/RunnerListPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunnerListPanel.js","sourceRoot":"","sources":["../../src/runner/RunnerListPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=phase.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase.test.d.ts","sourceRoot":"","sources":["../../../src/runner/__tests__/phase.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_pb";
3
+ import { isTransitionalPhase, isActivePhase } from "../phase";
4
+ describe("isTransitionalPhase", () => {
5
+ it("returns true for PENDING", () => {
6
+ expect(isTransitionalPhase(RunnerPhase.PENDING)).toBe(true);
7
+ });
8
+ it.each([
9
+ ["READY", RunnerPhase.READY],
10
+ ["BUSY", RunnerPhase.BUSY],
11
+ ["STOPPED", RunnerPhase.STOPPED],
12
+ ["FAILED", RunnerPhase.FAILED],
13
+ ["UNSPECIFIED", RunnerPhase.UNSPECIFIED],
14
+ ])("returns false for %s", (_label, phase) => {
15
+ expect(isTransitionalPhase(phase)).toBe(false);
16
+ });
17
+ it("is disjoint from isActivePhase", () => {
18
+ const allPhases = [
19
+ RunnerPhase.READY,
20
+ RunnerPhase.BUSY,
21
+ RunnerPhase.PENDING,
22
+ RunnerPhase.STOPPED,
23
+ RunnerPhase.FAILED,
24
+ RunnerPhase.UNSPECIFIED,
25
+ ];
26
+ for (const phase of allPhases) {
27
+ if (isTransitionalPhase(phase)) {
28
+ expect(isActivePhase(phase)).toBe(false);
29
+ }
30
+ }
31
+ });
32
+ });
33
+ //# sourceMappingURL=phase.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase.test.js","sourceRoot":"","sources":["../../../src/runner/__tests__/phase.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;QAC5B,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC;QAChC,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;QAC9B,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC;KAChC,CAAC,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,SAAS,GAAG;YAChB,WAAW,CAAC,KAAK;YACjB,WAAW,CAAC,IAAI;YAChB,WAAW,CAAC,OAAO;YACnB,WAAW,CAAC,OAAO;YACnB,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,WAAW;SACxB,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useRunnerList.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunnerList.test.d.ts","sourceRoot":"","sources":["../../../src/runner/__tests__/useRunnerList.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
3
+ import { renderHook, act } from "@testing-library/react";
4
+ import { create } from "@bufbuild/protobuf";
5
+ import { RunnerSchema, RunnerStatusSchema, } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/api_pb";
6
+ import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_pb";
7
+ import { ApiResourceMetadataSchema } from "@stigmer/protos/ai/stigmer/commons/apiresource/metadata_pb";
8
+ import { StigmerContext } from "../../context";
9
+ import { useRunnerList } from "../useRunnerList";
10
+ function makeRunner(id, name, phase) {
11
+ const runner = create(RunnerSchema);
12
+ runner.metadata = create(ApiResourceMetadataSchema);
13
+ runner.metadata.id = id;
14
+ runner.metadata.name = name;
15
+ runner.status = create(RunnerStatusSchema);
16
+ runner.status.phase = phase;
17
+ return runner;
18
+ }
19
+ function buildMockClient(listMock) {
20
+ return {
21
+ runner: { list: listMock },
22
+ };
23
+ }
24
+ function makeWrapper(client) {
25
+ return ({ children }) => (_jsx(StigmerContext.Provider, { value: client, children: children }));
26
+ }
27
+ async function flush() {
28
+ await act(async () => {
29
+ await Promise.resolve();
30
+ });
31
+ }
32
+ describe("useRunnerList — refetchInterval", () => {
33
+ let listMock;
34
+ let client;
35
+ beforeEach(() => {
36
+ vi.useFakeTimers();
37
+ listMock = vi.fn();
38
+ client = buildMockClient(listMock);
39
+ });
40
+ afterEach(() => {
41
+ vi.useRealTimers();
42
+ });
43
+ it("polls when refetchInterval is set", async () => {
44
+ const runners = [makeRunner("r1", "dev", RunnerPhase.PENDING)];
45
+ listMock.mockResolvedValue({ items: runners });
46
+ const { result } = renderHook(() => useRunnerList("acme", { refetchInterval: 2000 }), { wrapper: makeWrapper(client) });
47
+ // Initial fetch.
48
+ await flush();
49
+ expect(listMock).toHaveBeenCalledTimes(1);
50
+ expect(result.current.runners).toHaveLength(1);
51
+ // Advance by one interval.
52
+ await act(async () => {
53
+ await vi.advanceTimersByTimeAsync(2000);
54
+ });
55
+ expect(listMock).toHaveBeenCalledTimes(2);
56
+ });
57
+ it("does not poll when refetchInterval is false", async () => {
58
+ listMock.mockResolvedValue({ items: [] });
59
+ renderHook(() => useRunnerList("acme", { refetchInterval: false }), { wrapper: makeWrapper(client) });
60
+ await flush();
61
+ expect(listMock).toHaveBeenCalledTimes(1);
62
+ await act(async () => {
63
+ await vi.advanceTimersByTimeAsync(10_000);
64
+ });
65
+ expect(listMock).toHaveBeenCalledTimes(1);
66
+ });
67
+ });
68
+ //# sourceMappingURL=useRunnerList.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunnerList.test.js","sourceRoot":"","sources":["../../../src/runner/__tests__/useRunnerList.test.tsx"],"names":[],"mappings":"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"}
package/runner/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export { useRunnerList } from "./useRunnerList";
2
2
  export type { UseRunnerListOptions, UseRunnerListReturn, } from "./useRunnerList";
3
3
  export { useLaunchLocalRunner } from "./useLaunchLocalRunner";
4
4
  export type { UseLaunchLocalRunnerOptions, UseLaunchLocalRunnerReturn, LaunchLocalRunnerResult, } from "./useLaunchLocalRunner";
5
+ export { useRunnerCredential } from "./useRunnerCredential";
6
+ export type { RunnerCredential, UseRunnerCredentialReturn, } from "./useRunnerCredential";
5
7
  export { useStopRunner } from "./useStopRunner";
6
8
  export type { StopRunnerInput, UseStopRunnerReturn, } from "./useStopRunner";
7
9
  export { useDeleteRunner } from "./useDeleteRunner";
@@ -10,5 +12,5 @@ export { RunnerPicker } from "./RunnerPicker";
10
12
  export type { RunnerPickerProps } from "./RunnerPicker";
11
13
  export { RunnerListPanel } from "./RunnerListPanel";
12
14
  export type { RunnerListPanelProps } from "./RunnerListPanel";
13
- export { phaseLabel, phaseDotColor, isActivePhase, PHASE_SORT_ORDER, } from "./phase";
15
+ export { phaseLabel, phaseDotColor, isActivePhase, isTransitionalPhase, PHASE_SORT_ORDER, } from "./phase";
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
package/runner/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  export { useRunnerList } from "./useRunnerList";
2
2
  export { useLaunchLocalRunner } from "./useLaunchLocalRunner";
3
+ export { useRunnerCredential } from "./useRunnerCredential";
3
4
  export { useStopRunner } from "./useStopRunner";
4
5
  export { useDeleteRunner } from "./useDeleteRunner";
5
6
  export { RunnerPicker } from "./RunnerPicker";
6
7
  export { RunnerListPanel } from "./RunnerListPanel";
7
- export { phaseLabel, phaseDotColor, isActivePhase, PHASE_SORT_ORDER, } from "./phase";
8
+ export { phaseLabel, phaseDotColor, isActivePhase, isTransitionalPhase, PHASE_SORT_ORDER, } from "./phase";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
package/runner/phase.d.ts CHANGED
@@ -27,4 +27,17 @@ export declare function phaseDotColor(phase: RunnerPhase): string;
27
27
  * Active = `READY` or `BUSY`. Inactive = everything else.
28
28
  */
29
29
  export declare function isActivePhase(phase: RunnerPhase): boolean;
30
+ /**
31
+ * Whether the runner is in a transitional phase whose status is
32
+ * expected to change soon without user action.
33
+ *
34
+ * Currently only `PENDING` — the runner has registered but hasn't
35
+ * completed its startup handshake yet. This is distinct from
36
+ * {@link isActivePhase} (READY | BUSY) where the runner is stable
37
+ * and accepting work.
38
+ *
39
+ * Useful for driving conditional polling: poll while transitional
40
+ * runners exist, stop when all runners reach a stable state.
41
+ */
42
+ export declare function isTransitionalPhase(phase: RunnerPhase): boolean;
30
43
  //# sourceMappingURL=phase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phase.d.ts","sourceRoot":"","sources":["../../src/runner/phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAOxD,CAAC;AAWF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"phase.d.ts","sourceRoot":"","sources":["../../src/runner/phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAOxD,CAAC;AAWF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE/D"}
package/runner/phase.js CHANGED
@@ -55,4 +55,19 @@ export function phaseDotColor(phase) {
55
55
  export function isActivePhase(phase) {
56
56
  return phase === RunnerPhase.READY || phase === RunnerPhase.BUSY;
57
57
  }
58
+ /**
59
+ * Whether the runner is in a transitional phase whose status is
60
+ * expected to change soon without user action.
61
+ *
62
+ * Currently only `PENDING` — the runner has registered but hasn't
63
+ * completed its startup handshake yet. This is distinct from
64
+ * {@link isActivePhase} (READY | BUSY) where the runner is stable
65
+ * and accepting work.
66
+ *
67
+ * Useful for driving conditional polling: poll while transitional
68
+ * runners exist, stop when all runners reach a stable state.
69
+ */
70
+ export function isTransitionalPhase(phase) {
71
+ return phase === RunnerPhase.PENDING;
72
+ }
58
73
  //# sourceMappingURL=phase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phase.js","sourceRoot":"","sources":["../../src/runner/phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACtB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,GAAgC;IAC1C,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;IAC1B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC9B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,SAAS;CACrC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC,IAAI;YACnB,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,qBAAqB,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO,KAAK,KAAK,WAAW,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"phase.js","sourceRoot":"","sources":["../../src/runner/phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACtB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,GAAgC;IAC1C,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;IAC1B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC9B,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,SAAS;CACrC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC,IAAI;YACnB,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,qBAAqB,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO,KAAK,KAAK,WAAW,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,OAAO,KAAK,KAAK,WAAW,CAAC,OAAO,CAAC;AACvC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Resolved credential bundle for starting a runner sidecar process.
3
+ *
4
+ * Contains everything a CLI sidecar needs to authenticate with the
5
+ * Stigmer backend — the Bearer token (Auth0 JWT, PlatformClient JWT,
6
+ * or API key), the API endpoint, and the organization scope.
7
+ */
8
+ export interface RunnerCredential {
9
+ /** Bearer token or API key. `null` when no credential is available. */
10
+ readonly token: string | null;
11
+ /** Base URL of the Stigmer API server (e.g., "https://api.stigmer.ai"). */
12
+ readonly endpoint: string;
13
+ /** Organization slug, if provided. */
14
+ readonly org?: string;
15
+ }
16
+ /** Return value of {@link useRunnerCredential}. */
17
+ export interface UseRunnerCredentialReturn {
18
+ /**
19
+ * Resolve the current authentication credential for a runner sidecar.
20
+ *
21
+ * Reads the credential from the {@link Stigmer} client configured in
22
+ * the nearest `StigmerProvider`. Works with any auth mode: static API
23
+ * key, dynamic token provider (Auth0, PlatformClient), or custom
24
+ * transport.
25
+ *
26
+ * @param org - Optional organization slug to include in the result.
27
+ * @returns The credential bundle for the sidecar process.
28
+ */
29
+ readonly getCredential: (org?: string) => Promise<RunnerCredential>;
30
+ }
31
+ /**
32
+ * Behavior hook that resolves the current auth credential for passing
33
+ * to a runner sidecar process.
34
+ *
35
+ * This is the SDK-level abstraction for starting runners from within
36
+ * a desktop or native application — where the app already holds the
37
+ * credential and needs to hand it to a CLI child process. It avoids
38
+ * the `createLaunchToken` / `exchangeLaunchToken` round-trip, which
39
+ * is only needed for cross-process browser-to-desktop handshakes
40
+ * (see {@link useLaunchLocalRunner} for that scenario).
41
+ *
42
+ * The hook reads from `useStigmer()` and calls
43
+ * `client.getAuthCredential()`, so it works identically regardless
44
+ * of auth mode (Auth0 JWT, PlatformClient JWT, API key).
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * function StartRunnerButton({ org }: { org: string }) {
49
+ * const { getCredential } = useRunnerCredential();
50
+ *
51
+ * const handleStart = async () => {
52
+ * const cred = await getCredential(org);
53
+ * // Pass cred.token, cred.endpoint, cred.org to your sidecar
54
+ * await nativeBridge.startRunner({
55
+ * token: cred.token,
56
+ * endpoint: cred.endpoint,
57
+ * org: cred.org,
58
+ * });
59
+ * };
60
+ *
61
+ * return <button onClick={handleStart}>Start Runner</button>;
62
+ * }
63
+ * ```
64
+ */
65
+ export declare function useRunnerCredential(): UseRunnerCredentialReturn;
66
+ //# sourceMappingURL=useRunnerCredential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunnerCredential.d.ts","sourceRoot":"","sources":["../../src/runner/useRunnerCredential.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mBAAmB,IAAI,yBAAyB,CAgB/D"}
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import { useCallback } from "react";
3
+ import { useStigmer } from "../hooks";
4
+ /**
5
+ * Behavior hook that resolves the current auth credential for passing
6
+ * to a runner sidecar process.
7
+ *
8
+ * This is the SDK-level abstraction for starting runners from within
9
+ * a desktop or native application — where the app already holds the
10
+ * credential and needs to hand it to a CLI child process. It avoids
11
+ * the `createLaunchToken` / `exchangeLaunchToken` round-trip, which
12
+ * is only needed for cross-process browser-to-desktop handshakes
13
+ * (see {@link useLaunchLocalRunner} for that scenario).
14
+ *
15
+ * The hook reads from `useStigmer()` and calls
16
+ * `client.getAuthCredential()`, so it works identically regardless
17
+ * of auth mode (Auth0 JWT, PlatformClient JWT, API key).
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * function StartRunnerButton({ org }: { org: string }) {
22
+ * const { getCredential } = useRunnerCredential();
23
+ *
24
+ * const handleStart = async () => {
25
+ * const cred = await getCredential(org);
26
+ * // Pass cred.token, cred.endpoint, cred.org to your sidecar
27
+ * await nativeBridge.startRunner({
28
+ * token: cred.token,
29
+ * endpoint: cred.endpoint,
30
+ * org: cred.org,
31
+ * });
32
+ * };
33
+ *
34
+ * return <button onClick={handleStart}>Start Runner</button>;
35
+ * }
36
+ * ```
37
+ */
38
+ export function useRunnerCredential() {
39
+ const stigmer = useStigmer();
40
+ const getCredential = useCallback(async (org) => {
41
+ const token = await stigmer.getAuthCredential();
42
+ return {
43
+ token,
44
+ endpoint: stigmer.baseUrl,
45
+ org,
46
+ };
47
+ }, [stigmer]);
48
+ return { getCredential };
49
+ }
50
+ //# sourceMappingURL=useRunnerCredential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunnerCredential.js","sourceRoot":"","sources":["../../src/runner/useRunnerCredential.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAkCtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,GAAY,EAA6B,EAAE;QAChD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAChD,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,GAAG;SACJ,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Runner } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/api_pb";
2
+ import { type UseFetchOptions } from "../internal/useFetch";
2
3
  /** Options for {@link useRunnerList}. */
3
4
  export interface UseRunnerListOptions {
4
5
  /**
@@ -11,6 +12,24 @@ export interface UseRunnerListOptions {
11
12
  * @default false
12
13
  */
13
14
  readonly includeSystemManaged?: boolean;
15
+ /**
16
+ * Poll interval in milliseconds for automatic re-fetching.
17
+ *
18
+ * When set to a positive number, the hook re-fetches the runner list
19
+ * on a timer. Useful for monitoring status transitions (e.g. Pending
20
+ * to Ready) without requiring the user to navigate away and back.
21
+ *
22
+ * Set to `false` or `0` to disable polling (the default).
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Poll every 5 seconds while runners are transitioning
27
+ * const { runners } = useRunnerList("acme", {
28
+ * refetchInterval: hasPendingRunners ? 5000 : false,
29
+ * });
30
+ * ```
31
+ */
32
+ readonly refetchInterval?: UseFetchOptions["refetchInterval"];
14
33
  }
15
34
  /** Return value of {@link useRunnerList}. */
16
35
  export interface UseRunnerListReturn {
@@ -18,6 +37,8 @@ export interface UseRunnerListReturn {
18
37
  readonly runners: readonly Runner[];
19
38
  /** `true` while the fetch is in flight. */
20
39
  readonly isLoading: boolean;
40
+ /** `true` while a background refetch is in flight and stale data is shown. */
41
+ readonly isRefetching: boolean;
21
42
  /** Error from the last failed fetch, or `null` when healthy. */
22
43
  readonly error: Error | null;
23
44
  /** Discard cached data and re-fetch the runner list from the server. */
@@ -1 +1 @@
1
- {"version":3,"file":"useRunnerList.d.ts","sourceRoot":"","sources":["../../src/runner/useRunnerList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAOlF,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CAmDrB"}
1
+ {"version":3,"file":"useRunnerList.d.ts","sourceRoot":"","sources":["../../src/runner/useRunnerList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAGlF,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAItE,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAC/D;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CAwBrB"}
@@ -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 { ListRunnersRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/io_pb";
5
4
  import { useStigmer } from "../hooks";
6
- import { toError } from "../internal/toError";
5
+ import { useFetch } from "../internal/useFetch";
7
6
  const SYSTEM_MANAGED_LABEL = "stigmer.ai/system-managed";
8
7
  /**
9
8
  * Data hook that fetches runners for an organization.
@@ -29,42 +28,16 @@ const SYSTEM_MANAGED_LABEL = "stigmer.ai/system-managed";
29
28
  */
30
29
  export function useRunnerList(org, options) {
31
30
  const stigmer = useStigmer();
32
- const [runners, setRunners] = useState([]);
33
- const [isLoading, setIsLoading] = useState(false);
34
- const [error, setError] = useState(null);
35
- const [fetchKey, setFetchKey] = useState(0);
36
31
  const includeSystemManaged = options?.includeSystemManaged ?? false;
37
- const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
38
- useEffect(() => {
39
- if (!org) {
40
- setRunners([]);
41
- setIsLoading(false);
42
- setError(null);
43
- return;
44
- }
45
- const cancelled = { current: false };
46
- setIsLoading(true);
47
- setError(null);
48
- stigmer.runner
49
- .list(create(ListRunnersRequestSchema, { org }))
50
- .then((result) => {
51
- if (cancelled.current)
52
- return;
53
- const items = includeSystemManaged
32
+ const refetchInterval = options?.refetchInterval;
33
+ const { data: runners, isLoading, isRefetching, error, refetch } = useFetch(org
34
+ ? async () => {
35
+ const result = await stigmer.runner.list(create(ListRunnersRequestSchema, { org }));
36
+ return includeSystemManaged
54
37
  ? result.items
55
38
  : result.items.filter((r) => r.metadata?.labels[SYSTEM_MANAGED_LABEL] !== "true");
56
- setRunners(items);
57
- setIsLoading(false);
58
- }, (err) => {
59
- if (cancelled.current)
60
- return;
61
- setError(toError(err));
62
- setIsLoading(false);
63
- });
64
- return () => {
65
- cancelled.current = true;
66
- };
67
- }, [stigmer, org, includeSystemManaged, fetchKey]);
68
- return { runners, isLoading, error, refetch };
39
+ }
40
+ : null, [stigmer, org, includeSystemManaged], [], { refetchInterval });
41
+ return { runners, isLoading, isRefetching, error, refetch };
69
42
  }
70
43
  //# sourceMappingURL=useRunnerList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRunnerList.js","sourceRoot":"","sources":["../../src/runner/useRunnerList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AA4BzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAkB,EAClB,OAA8B;IAE9B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,IAAI,KAAK,CAAC;IAEpE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,OAAO,CAAC,MAAM;aACX,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;aAC/C,IAAI,CACH,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,SAAS,CAAC,OAAO;gBAAE,OAAO;YAE9B,MAAM,KAAK,GAAG,oBAAoB;gBAChC,CAAC,CAAC,MAAM,CAAC,KAAK;gBACd,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAC3D,CAAC;YAEN,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,SAAS,CAAC,OAAO;gBAAE,OAAO;YAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CACF,CAAC;QAEJ,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"useRunnerList.js","sourceRoot":"","sources":["../../src/runner/useRunnerList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AAEtE,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAgDzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAkB,EAClB,OAA8B;IAE9B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,IAAI,KAAK,CAAC;IACpE,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,CAAC;IAEjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CACzE,GAAG;QACD,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACtC,MAAM,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAC1C,CAAC;YACF,OAAO,oBAAoB;gBACzB,CAAC,CAAC,MAAM,CAAC,KAAK;gBACd,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAC3D,CAAC;QACR,CAAC;QACH,CAAC,CAAC,IAAI,EACR,CAAC,OAAO,EAAE,GAAG,EAAE,oBAAoB,CAAC,EACpC,EAAc,EACd,EAAE,eAAe,EAAE,CACpB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC"}