@stigmer/react 0.2.1 → 0.2.3

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 (70) hide show
  1. package/composer/SessionComposer.d.ts.map +1 -1
  2. package/composer/SessionComposer.js +22 -32
  3. package/composer/SessionComposer.js.map +1 -1
  4. package/github/index.d.ts +1 -1
  5. package/github/index.d.ts.map +1 -1
  6. package/github/index.js.map +1 -1
  7. package/github/useGitHubConnection.d.ts +70 -1
  8. package/github/useGitHubConnection.d.ts.map +1 -1
  9. package/github/useGitHubConnection.js +99 -20
  10. package/github/useGitHubConnection.js.map +1 -1
  11. package/identity-provider/IdentityProviderWizard.d.ts.map +1 -1
  12. package/identity-provider/IdentityProviderWizard.js +19 -3
  13. package/identity-provider/IdentityProviderWizard.js.map +1 -1
  14. package/index.d.ts +1 -1
  15. package/index.d.ts.map +1 -1
  16. package/index.js.map +1 -1
  17. package/organization/OrgProfilePanel.d.ts.map +1 -1
  18. package/organization/OrgProfilePanel.js +23 -2
  19. package/organization/OrgProfilePanel.js.map +1 -1
  20. package/package.json +4 -4
  21. package/runner/RunnerFileBrowser.d.ts +11 -1
  22. package/runner/RunnerFileBrowser.d.ts.map +1 -1
  23. package/runner/RunnerFileBrowser.js +70 -7
  24. package/runner/RunnerFileBrowser.js.map +1 -1
  25. package/runner/WorkspaceRunnerSelector.d.ts +36 -0
  26. package/runner/WorkspaceRunnerSelector.d.ts.map +1 -0
  27. package/runner/WorkspaceRunnerSelector.js +63 -0
  28. package/runner/WorkspaceRunnerSelector.js.map +1 -0
  29. package/runner/index.d.ts +2 -0
  30. package/runner/index.d.ts.map +1 -1
  31. package/runner/index.js +1 -0
  32. package/runner/index.js.map +1 -1
  33. package/runner/useRunnerFileBrowser.d.ts.map +1 -1
  34. package/runner/useRunnerFileBrowser.js +26 -2
  35. package/runner/useRunnerFileBrowser.js.map +1 -1
  36. package/settings/MembersSection.d.ts.map +1 -1
  37. package/settings/MembersSection.js +7 -2
  38. package/settings/MembersSection.js.map +1 -1
  39. package/src/composer/SessionComposer.tsx +46 -43
  40. package/src/github/index.ts +1 -0
  41. package/src/github/useGitHubConnection.ts +162 -22
  42. package/src/identity-provider/IdentityProviderWizard.tsx +112 -3
  43. package/src/index.ts +1 -0
  44. package/src/organization/OrgProfilePanel.tsx +98 -0
  45. package/src/runner/RunnerFileBrowser.tsx +227 -8
  46. package/src/runner/WorkspaceRunnerSelector.tsx +180 -0
  47. package/src/runner/index.ts +3 -0
  48. package/src/runner/useRunnerFileBrowser.ts +39 -3
  49. package/src/settings/MembersSection.tsx +23 -1
  50. package/src/workspace/WorkspaceEditor.tsx +176 -126
  51. package/src/workspace/index.ts +5 -0
  52. package/src/workspace/useRecentWorkspaces.ts +162 -0
  53. package/src/workspace/useWorkspaceEntries.ts +13 -0
  54. package/styles.css +1 -1
  55. package/workspace/WorkspaceEditor.d.ts +25 -22
  56. package/workspace/WorkspaceEditor.d.ts.map +1 -1
  57. package/workspace/WorkspaceEditor.js +64 -43
  58. package/workspace/WorkspaceEditor.js.map +1 -1
  59. package/workspace/index.d.ts +2 -0
  60. package/workspace/index.d.ts.map +1 -1
  61. package/workspace/index.js +1 -0
  62. package/workspace/index.js.map +1 -1
  63. package/workspace/useRecentWorkspaces.d.ts +31 -0
  64. package/workspace/useRecentWorkspaces.d.ts.map +1 -0
  65. package/workspace/useRecentWorkspaces.js +117 -0
  66. package/workspace/useRecentWorkspaces.js.map +1 -0
  67. package/workspace/useWorkspaceEntries.d.ts +8 -0
  68. package/workspace/useWorkspaceEntries.d.ts.map +1 -1
  69. package/workspace/useWorkspaceEntries.js +4 -0
  70. package/workspace/useWorkspaceEntries.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerFileBrowser.js","sourceRoot":"","sources":["../../src/runner/RunnerFileBrowser.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAc9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACc;IACvB,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,OAAO,CAAC,UAAU;QAChB,CAAC,CAAC,OAAO,CAAC,OAAO;QACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAChD,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CACtC,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EACjD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAClD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,sBAAsB;IACtB,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,CACL,cAAK,SAAS,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAChE,KAAC,YAAY,IACX,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,OAAO,EAAE,OAAO,CAAC,KAAK,EACtB,QAAQ,EAAE,QAAQ,GAClB,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAEhE,eAAK,SAAS,EAAC,aAAa,aAE1B,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,cAAc,IACb,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,KAAC,QAAQ,KAAG,EAClB,OAAO,EAAE,OAAO,CAAC,YAAY,EAC7B,QAAQ,EAAE,OAAO,CAAC,SAAS,GAC3B,EACD,OAAO,CAAC,gBAAgB,IAAI,CAC3B,KAAC,cAAc,IACb,KAAK,EAAC,KAAK,EACX,IAAI,EAAE,KAAC,YAAY,KAAG,EACtB,OAAO,EAAE,OAAO,CAAC,WAAW,EAC5B,QAAQ,EAAE,OAAO,CAAC,SAAS,GAC3B,CACH,EACA,CAAC,OAAO,CAAC,QAAQ,IAAI,CACpB,KAAC,cAAc,IACb,KAAK,EAAC,IAAI,EACV,IAAI,EAAE,KAAC,aAAa,KAAG,EACvB,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,QAAQ,EAAE,OAAO,CAAC,SAAS,GAC3B,CACH,EAED,cAAK,SAAS,EAAC,iCAAiC,YAC9C,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,CAAC,YAAY,EAC7B,SAAS,EAAE;wCACT,uDAAuD;wCACvD,OAAO,CAAC,UAAU;4CAChB,CAAC,CAAC,2BAA2B;4CAC7B,CAAC,CAAC,mEAAmE;qCACxE,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,YAEpE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAChD,GACL,IACF,EAGL,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,cAAK,SAAS,EAAC,yEAAyE,YACrF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;4BAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;4BACjD,OAAO,CACL,gBAAqB,SAAS,EAAC,oCAAoC,aAChE,CAAC,GAAG,CAAC,IAAI,CACR,KAAC,gBAAgB,KAAG,CACrB,EACA,MAAM,CAAC,CAAC,CAAC,CACR,eAAM,SAAS,EAAC,iDAAiD,YAC9D,GAAG,CAAC,IAAI,GACJ,CACR,CAAC,CAAC,CAAC,CACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAC/C,QAAQ,EAAE,OAAO,CAAC,SAAS,EAC3B,SAAS,EAAC,sIAAsI,YAE/I,GAAG,CAAC,IAAI,GACF,CACV,KAjBQ,GAAG,CAAC,IAAI,CAkBZ,CACR,CAAC;wBACJ,CAAC,CAAC,GACE,CACP,IACG,EAGL,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,CACvC,eAAK,SAAS,EAAC,iGAAiG,aAC9G,eAAM,SAAS,EAAC,yBAAyB,YACtC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GACzB,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,CAAC,KAAK,EACtB,SAAS,EAAC,oDAAoD,sBAGvD,IACL,CACP,EAGD,cACE,SAAS,EAAC,0DAA0D,EACpE,IAAI,EAAC,SAAS,gBACH,oBAAoB,YAE9B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,KAAC,eAAe,KAAG,CACpB,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAChC,cAAK,SAAS,EAAC,gDAAgD,wCAEzD,CACP,CAAC,CAAC,CAAC,CACF,8BACG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,kBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7C,SAAS,EAAC,wHAAwH,EAClI,IAAI,EAAC,QAAQ,mBACE,KAAK,aAEpB,KAAC,UAAU,KAAG,EACd,eAAM,SAAS,EAAC,yBAAyB,YAAE,KAAK,CAAC,IAAI,GAAQ,KARxD,KAAK,CAAC,IAAI,CASR,CACV,CAAC,EACD,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpB,eAEE,SAAS,EAAC,qEAAqE,aAE/E,KAAC,QAAQ,KAAG,EACZ,eAAM,SAAS,EAAC,yBAAyB,YAAE,KAAK,CAAC,IAAI,GAAQ,KAJxD,KAAK,CAAC,IAAI,CAKX,CACP,CAAC,IACD,CACJ,GACG,EAGN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eACE,SAAS,EAAC,uFAAuF,EACjG,KAAK,EAAE,OAAO,CAAC,WAAW,YAE1B,wBAAM,OAAO,CAAC,WAAW,GAAO,GAC3B,EACP,eAAK,SAAS,EAAC,qBAAqB,aAClC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,8FAA8F,uBAGjG,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAC5C,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,EACnD,SAAS,EAAC,gIAAgI,uBAGnI,IACL,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,SAAS,YAAY,CAAC,EACpB,KAAK,EACL,OAAO,EACP,QAAQ,GAKT;IACC,OAAO,CACL,eAAK,SAAS,EAAC,4BAA4B,aACzC,eAAK,SAAS,EAAC,WAAW,aACxB,YAAG,SAAS,EAAC,sCAAsC,mDAE/C,EACJ,YAAG,SAAS,EAAC,sCAAsC,YAChD,cAAc,CAAC,KAAK,CAAC,GACpB,IACA,EACN,eAAK,SAAS,EAAC,2BAA2B,aACxC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,8FAA8F,uBAGjG,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,4GAA4G,sBAG/G,IACL,IACF,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,GAMT;IACC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,2MAA2M,EACrN,KAAK,EAAE,KAAK,aAEX,IAAI,EACL,eAAM,SAAS,EAAC,eAAe,YAAE,KAAK,GAAQ,IACvC,CACV,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,eAAe;IACtB,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC7B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACtC,eAAa,SAAS,EAAC,qCAAqC,aAC1D,cAAK,SAAS,EAAC,qDAAqD,GAAG,EACvE,cACE,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,GACzB,KALM,CAAC,CAML,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,SAAS,QAAQ;IACf,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAC9I,eAAM,CAAC,EAAC,qGAAqG,GAAG,GAC5G,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAC9I,eAAM,CAAC,EAAC,kCAAkC,GAAG,GACzC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAC9I,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CACL,cAAK,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,SAAS,EAAC,aAAa,YAClK,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,SAAS,EAAC,UAAU,YACnK,eAAM,CAAC,EAAC,mFAAmF,GAAG,GAC1F,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CACL,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,SAAS,EAAC,UAAU,aACnK,eAAM,CAAC,EAAC,8DAA8D,GAAG,EACzE,eAAM,CAAC,EAAC,eAAe,GAAG,IACtB,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RunnerFileBrowser.js","sourceRoot":"","sources":["../../src/runner/RunnerFileBrowser.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /** Props for {@link WorkspaceRunnerSelector}. */
2
+ export interface WorkspaceRunnerSelectorProps {
3
+ /** Organization slug to scope the runner list. */
4
+ readonly org: string;
5
+ /** Currently selected runner ID, or `null` for "Auto". */
6
+ readonly value: string | null;
7
+ /** Called when the user selects a runner. `null` means "Auto". */
8
+ readonly onChange: (runnerId: string | null) => void;
9
+ /** Disables all interactions. */
10
+ readonly disabled?: boolean;
11
+ /**
12
+ * Set of runner IDs that are known to be running on the local machine.
13
+ *
14
+ * When provided, matching runners are labeled "This machine" instead
15
+ * of their name/hostname. This is a host-provided signal — the desktop
16
+ * app determines local runners from `~/.stigmer/runners/` state files;
17
+ * the web console does not pass this prop.
18
+ */
19
+ readonly localRunnerIds?: ReadonlySet<string>;
20
+ }
21
+ /**
22
+ * Cursor-inspired "Run On" section for the workspace popover.
23
+ *
24
+ * Renders a compact, sectioned list of available runners so users can
25
+ * pick where their session runs without leaving the workspace context.
26
+ * Designed to be composed alongside {@link WorkspaceEditor} inside the
27
+ * workspace popover — NOT as a standalone picker.
28
+ *
29
+ * Label strategy (SDK-agnostic, no platform branding):
30
+ * - "Auto" for null selection (platform assigns a runner)
31
+ * - "Cloud" for system-managed runners
32
+ * - "This machine" when the host provides `localRunnerIds`
33
+ * - Runner name / hostname for everything else
34
+ */
35
+ export declare function WorkspaceRunnerSelector({ org, value, onChange, disabled, localRunnerIds, }: WorkspaceRunnerSelectorProps): import("react/jsx-runtime").JSX.Element;
36
+ //# sourceMappingURL=WorkspaceRunnerSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceRunnerSelector.d.ts","sourceRoot":"","sources":["../../src/runner/WorkspaceRunnerSelector.tsx"],"names":[],"mappings":"AASA,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,GAAG,EACH,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,EAAE,4BAA4B,2CA8D9B"}
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_pb";
6
+ import { useRunnerList } from "./useRunnerList";
7
+ import { isActivePhase, phaseDotColor, PHASE_SORT_ORDER } from "./phase";
8
+ /**
9
+ * Cursor-inspired "Run On" section for the workspace popover.
10
+ *
11
+ * Renders a compact, sectioned list of available runners so users can
12
+ * pick where their session runs without leaving the workspace context.
13
+ * Designed to be composed alongside {@link WorkspaceEditor} inside the
14
+ * workspace popover — NOT as a standalone picker.
15
+ *
16
+ * Label strategy (SDK-agnostic, no platform branding):
17
+ * - "Auto" for null selection (platform assigns a runner)
18
+ * - "Cloud" for system-managed runners
19
+ * - "This machine" when the host provides `localRunnerIds`
20
+ * - Runner name / hostname for everything else
21
+ */
22
+ export function WorkspaceRunnerSelector({ org, value, onChange, disabled, localRunnerIds, }) {
23
+ const { runners, isLoading } = useRunnerList(org);
24
+ const active = useMemo(() => {
25
+ return runners
26
+ .filter((r) => isActivePhase(r.status?.phase ?? RunnerPhase.UNSPECIFIED))
27
+ .sort((a, b) => {
28
+ const pa = a.status?.phase ?? RunnerPhase.UNSPECIFIED;
29
+ const pb = b.status?.phase ?? RunnerPhase.UNSPECIFIED;
30
+ const po = PHASE_SORT_ORDER[pa] - PHASE_SORT_ORDER[pb];
31
+ if (po !== 0)
32
+ return po;
33
+ return (a.metadata?.name ?? "").localeCompare(b.metadata?.name ?? "");
34
+ });
35
+ }, [runners]);
36
+ return (_jsxs("div", { className: "space-y-1", role: "listbox", "aria-label": "Run on", children: [_jsx("div", { className: "px-1 text-[0.6rem] font-medium uppercase tracking-wider text-muted-foreground", children: "Run On" }), _jsx(RunOnOption, { selected: value === null, onClick: () => onChange(null), disabled: disabled, label: "Auto", hint: "platform assigns", dotClass: "bg-primary" }), active.map((r) => {
37
+ const id = r.metadata.id;
38
+ return (_jsx(RunOnOption, { selected: value === id, onClick: () => onChange(id), disabled: disabled, label: runnerLabel(r, localRunnerIds), hint: runnerHint(r, localRunnerIds), dotClass: phaseDotColor(r.status?.phase ?? RunnerPhase.UNSPECIFIED) }, id));
39
+ }), isLoading && active.length === 0 && (_jsx("div", { className: "px-1 py-2 text-[0.65rem] text-muted-foreground", children: "Loading runners..." })), !isLoading && active.length === 0 && (_jsx("div", { className: "px-1 py-2 text-[0.65rem] text-muted-foreground", children: "No runners available" }))] }));
40
+ }
41
+ function RunOnOption({ selected, onClick, disabled, label, hint, dotClass, }) {
42
+ return (_jsxs("button", { type: "button", onClick: onClick, disabled: disabled, className: cn("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors", "disabled:pointer-events-none disabled:opacity-50", selected
43
+ ? "bg-accent font-medium text-foreground"
44
+ : "text-foreground hover:bg-accent-hover"), role: "option", "aria-selected": selected, children: [_jsx("span", { className: cn("inline-block h-1.5 w-1.5 shrink-0 rounded-full", dotClass), "aria-hidden": "true" }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: label }), hint && (_jsx("span", { className: "shrink-0 text-[0.6rem] text-muted-foreground", children: hint }))] }));
45
+ }
46
+ function runnerLabel(runner, localRunnerIds) {
47
+ const id = runner.metadata?.id ?? "";
48
+ if (localRunnerIds?.has(id))
49
+ return "This machine";
50
+ return runner.metadata?.name ?? runner.status?.connectionInfo?.hostname ?? "Unnamed";
51
+ }
52
+ function runnerHint(runner, localRunnerIds) {
53
+ const id = runner.metadata?.id ?? "";
54
+ if (localRunnerIds?.has(id)) {
55
+ return runner.status?.connectionInfo?.hostname;
56
+ }
57
+ const name = runner.metadata?.name;
58
+ const hostname = runner.status?.connectionInfo?.hostname;
59
+ if (name && hostname && name !== hostname)
60
+ return hostname;
61
+ return undefined;
62
+ }
63
+ //# sourceMappingURL=WorkspaceRunnerSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceRunnerSelector.js","sourceRoot":"","sources":["../../src/runner/WorkspaceRunnerSelector.tsx"],"names":[],"mappings":"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"}
package/runner/index.d.ts CHANGED
@@ -16,5 +16,7 @@ export { useRunnerFileBrowser } from "./useRunnerFileBrowser";
16
16
  export type { UseRunnerFileBrowserReturn, PathSegment, } from "./useRunnerFileBrowser";
17
17
  export { RunnerListPanel } from "./RunnerListPanel";
18
18
  export type { RunnerListPanelProps } from "./RunnerListPanel";
19
+ export { WorkspaceRunnerSelector } from "./WorkspaceRunnerSelector";
20
+ export type { WorkspaceRunnerSelectorProps } from "./WorkspaceRunnerSelector";
19
21
  export { phaseLabel, phaseDotColor, isActivePhase, isTransitionalPhase, PHASE_SORT_ORDER, } from "./phase";
20
22
  //# 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,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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,0BAA0B,EAC1B,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,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"}
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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,0BAA0B,EAC1B,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAE9E,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
package/runner/index.js CHANGED
@@ -7,5 +7,6 @@ export { RunnerPicker } from "./RunnerPicker";
7
7
  export { RunnerFileBrowser } from "./RunnerFileBrowser";
8
8
  export { useRunnerFileBrowser } from "./useRunnerFileBrowser";
9
9
  export { RunnerListPanel } from "./RunnerListPanel";
10
+ export { WorkspaceRunnerSelector } from "./WorkspaceRunnerSelector";
10
11
  export { phaseLabel, phaseDotColor, isActivePhase, isTransitionalPhase, PHASE_SORT_ORDER, } from "./phase";
11
12
  //# 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,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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useRunnerFileBrowser.d.ts","sourceRoot":"","sources":["../../src/runner/useRunnerFileBrowser.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oDAAoD,CAAC;AAI5D,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oCAAoC;IACpC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AA0FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,0BAA0B,CAgI5B"}
1
+ {"version":3,"file":"useRunnerFileBrowser.d.ts","sourceRoot":"","sources":["../../src/runner/useRunnerFileBrowser.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oDAAoD,CAAC;AAI5D,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oCAAoC;IACpC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAsHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,0BAA0B,CAwI5B"}
@@ -4,6 +4,7 @@ import { create } from "@bufbuild/protobuf";
4
4
  import { RunnerSendCommandInputSchema, ListDirectoryRequestSchema, } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/io_pb";
5
5
  import { useStigmer } from "../hooks";
6
6
  import { toError } from "../internal/toError";
7
+ const CACHE_MAX_AGE_MS = 30_000;
7
8
  function reducer(state, action) {
8
9
  switch (action.type) {
9
10
  case "NAVIGATE":
@@ -13,7 +14,12 @@ function reducer(state, action) {
13
14
  isLoading: true,
14
15
  error: null,
15
16
  };
16
- case "SUCCESS":
17
+ case "SUCCESS": {
18
+ const nextCache = new Map(state.cache);
19
+ nextCache.set(action.resolvedPath, {
20
+ entries: action.entries,
21
+ fetchedAt: Date.now(),
22
+ });
17
23
  return {
18
24
  ...state,
19
25
  currentPath: action.resolvedPath,
@@ -22,6 +28,17 @@ function reducer(state, action) {
22
28
  currentDirectory: action.currentDirectory || state.currentDirectory,
23
29
  isLoading: false,
24
30
  error: null,
31
+ cache: nextCache,
32
+ };
33
+ }
34
+ case "CACHE_HIT":
35
+ return {
36
+ ...state,
37
+ currentPath: action.resolvedPath,
38
+ entries: action.entries,
39
+ isLoading: false,
40
+ error: null,
41
+ requestedPath: action.resolvedPath,
25
42
  };
26
43
  case "FAILURE":
27
44
  return { ...state, isLoading: false, error: action.error };
@@ -38,6 +55,7 @@ const INITIAL_STATE = {
38
55
  isLoading: false,
39
56
  error: null,
40
57
  requestedPath: "",
58
+ cache: new Map(),
41
59
  };
42
60
  // ---------------------------------------------------------------------------
43
61
  // Path utilities
@@ -100,9 +118,16 @@ export function useRunnerFileBrowser(runnerId) {
100
118
  const stigmer = useStigmer();
101
119
  const [state, dispatch] = useReducer(reducer, INITIAL_STATE);
102
120
  const requestIdRef = useRef(0);
121
+ const cacheRef = useRef(state.cache);
122
+ cacheRef.current = state.cache;
103
123
  const fetchDirectory = useCallback(async (path) => {
104
124
  if (!runnerId)
105
125
  return;
126
+ const cached = cacheRef.current.get(path);
127
+ if (cached && Date.now() - cached.fetchedAt < CACHE_MAX_AGE_MS) {
128
+ dispatch({ type: "CACHE_HIT", resolvedPath: path, entries: cached.entries });
129
+ return;
130
+ }
106
131
  const id = ++requestIdRef.current;
107
132
  dispatch({ type: "NAVIGATE", path });
108
133
  try {
@@ -113,7 +138,6 @@ export function useRunnerFileBrowser(runnerId) {
113
138
  value: create(ListDirectoryRequestSchema, { path }),
114
139
  },
115
140
  }));
116
- // Stale response guard — a newer navigation has started.
117
141
  if (id !== requestIdRef.current)
118
142
  return;
119
143
  if (response.result.case === "error") {
@@ -1 +1 @@
1
- {"version":3,"file":"useRunnerFileBrowser.js","sourceRoot":"","sources":["../../src/runner/useRunnerFileBrowser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRunnerFileBrowser.js","sourceRoot":"","sources":["../../src/runner/useRunnerFileBrowser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MembersSection.d.ts","sourceRoot":"","sources":["../../src/settings/MembersSection.tsx"],"names":[],"mappings":"AAOA,wEAAwE;AACxE,wBAAgB,cAAc,4CAgC7B"}
1
+ {"version":3,"file":"MembersSection.d.ts","sourceRoot":"","sources":["../../src/settings/MembersSection.tsx"],"names":[],"mappings":"AAQA,wEAAwE;AACxE,wBAAgB,cAAc,4CAqD7B"}
@@ -1,14 +1,19 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { OrgMembersPanel } from "../iam-policy/OrgMembersPanel";
4
4
  import { useResourceAvailable, ApiResourceKind } from "../deployment-mode";
5
5
  import { CloudFeatureNotice } from "../internal/CloudFeatureNotice";
6
6
  import { useOrg } from "../organization/OrgProvider";
7
+ import { useIdentityProviderList } from "../identity-provider/useIdentityProviderList";
7
8
  /** Settings section for organization membership and role management. */
8
9
  export function MembersSection() {
9
10
  const { activeOrg } = useOrg();
10
11
  const membersAvailable = useResourceAvailable(ApiResourceKind.iam_policy);
12
+ const idpAvailable = useResourceAvailable(ApiResourceKind.identity_provider);
11
13
  const orgId = activeOrg?.metadata?.id ?? "";
12
- return (_jsxs("section", { "aria-labelledby": "members-heading", children: [_jsx("h2", { id: "members-heading", className: "text-foreground mb-1 text-sm font-semibold", children: "Members" }), _jsx("p", { className: "text-muted-foreground mb-4 text-xs", children: "Manage who has access to this organization and what they can do. Members can be granted owner, admin, member, or viewer roles." }), !membersAvailable ? (_jsx(CloudFeatureNotice, { children: "Members management is not available in local mode. IAM policies require Stigmer Cloud." })) : !orgId ? (_jsx("p", { className: "text-muted-foreground py-4 text-center text-xs", children: "Select an organization to manage members." })) : (_jsx(OrgMembersPanel, { orgId: orgId }))] }));
14
+ const orgSlug = activeOrg?.metadata?.slug ?? "";
15
+ const { identityProviders } = useIdentityProviderList(idpAvailable && orgSlug ? orgSlug : null);
16
+ const hasJitProviders = identityProviders.some((idp) => idp.spec?.autoProvisionAccounts || idp.spec?.isSsoProvider);
17
+ return (_jsxs("section", { "aria-labelledby": "members-heading", children: [_jsx("h2", { id: "members-heading", className: "text-foreground mb-1 text-sm font-semibold", children: "Members" }), _jsx("p", { className: "text-muted-foreground mb-4 text-xs", children: "Manage who has access to this organization and what they can do. Members can be granted owner, admin, member, or viewer roles." }), !membersAvailable ? (_jsx(CloudFeatureNotice, { children: "Members management is not available in local mode. IAM policies require Stigmer Cloud." })) : !orgId ? (_jsx("p", { className: "text-muted-foreground py-4 text-center text-xs", children: "Select an organization to manage members." })) : (_jsxs(_Fragment, { children: [hasJitProviders && (_jsx("div", { className: "mb-3 rounded-md border border-border-muted bg-muted-faint px-3 py-2", children: _jsx("p", { className: "text-[0.65rem] text-muted-foreground", children: "This organization has identity providers with auto-provisioning enabled. Members may appear here automatically when users authenticate via federated identity." }) })), _jsx(OrgMembersPanel, { orgId: orgId })] }))] }));
13
18
  }
14
19
  //# sourceMappingURL=MembersSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MembersSection.js","sourceRoot":"","sources":["../../src/settings/MembersSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,wEAAwE;AACxE,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAE5C,OAAO,CACL,sCAAyB,iBAAiB,aACxC,aACE,EAAE,EAAC,iBAAiB,EACpB,SAAS,EAAC,4CAA4C,wBAGnD,EACL,YAAG,SAAS,EAAC,oCAAoC,+IAG7C,EAEH,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACnB,KAAC,kBAAkB,yGAGE,CACtB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACX,YAAG,SAAS,EAAC,gDAAgD,0DAEzD,CACL,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,KAAK,EAAE,KAAK,GAAI,CAClC,IACO,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MembersSection.js","sourceRoot":"","sources":["../../src/settings/MembersSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,wEAAwE;AACxE,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IAEhD,MAAM,EAAE,iBAAiB,EAAE,GAAG,uBAAuB,CACnD,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACzC,CAAC;IAEF,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,qBAAqB,IAAI,GAAG,CAAC,IAAI,EAAE,aAAa,CACpE,CAAC;IAEF,OAAO,CACL,sCAAyB,iBAAiB,aACxC,aACE,EAAE,EAAC,iBAAiB,EACpB,SAAS,EAAC,4CAA4C,wBAGnD,EACL,YAAG,SAAS,EAAC,oCAAoC,+IAG7C,EAEH,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACnB,KAAC,kBAAkB,yGAGE,CACtB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACX,YAAG,SAAS,EAAC,gDAAgD,0DAEzD,CACL,CAAC,CAAC,CAAC,CACF,8BACG,eAAe,IAAI,CAClB,cAAK,SAAS,EAAC,qEAAqE,YAClF,YAAG,SAAS,EAAC,sCAAsC,+KAI/C,GACA,CACP,EACD,KAAC,eAAe,IAAC,KAAK,EAAE,KAAK,GAAI,IAChC,CACJ,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -21,6 +21,7 @@ import type { UseSessionVariablesReturn } from "../execution/useSessionVariables
21
21
  import type { UseWorkspaceEntriesReturn } from "../workspace/useWorkspaceEntries";
22
22
  import type { UseGitHubConnectionReturn } from "../github/useGitHubConnection";
23
23
  import { useRunnerList } from "../runner/useRunnerList";
24
+ import { WorkspaceRunnerSelector } from "../runner/WorkspaceRunnerSelector";
24
25
  import { useAttachments } from "../attachment/useAttachments";
25
26
  import { AttachmentChipList } from "../attachment/AttachmentChipList";
26
27
  import { useSessionEnvPool } from "../environment/useSessionEnvPool";
@@ -411,20 +412,31 @@ export function SessionComposer({
411
412
  needsRunnerList ? (org ?? null) : null,
412
413
  );
413
414
 
414
- const selectedRunnerName = useMemo(() => {
415
+ const selectedRunner = useMemo(() => {
415
416
  if (!runnerId) return undefined;
416
- const runner = runnerListForBrowse.find((r) => r.metadata?.id === runnerId);
417
- return runner?.metadata?.name;
417
+ return runnerListForBrowse.find((r) => r.metadata?.id === runnerId);
418
418
  }, [runnerId, runnerListForBrowse]);
419
419
 
420
- const browseRunnerId = useMemo(() => {
421
- if (runnerId) return runnerId;
422
- if (!enableLocal) return null;
423
- const active = runnerListForBrowse.find((r) =>
424
- isActivePhase(r.status?.phase ?? RunnerPhase.UNSPECIFIED),
425
- );
426
- return active?.metadata?.id ?? null;
427
- }, [runnerId, enableLocal, runnerListForBrowse]);
420
+ const selectedRunnerName = selectedRunner?.metadata?.name;
421
+ const selectedRunnerHostname = selectedRunner?.status?.connectionInfo?.hostname;
422
+
423
+ const browseRunnerId = runnerId ?? null;
424
+
425
+ // ---------------------------------------------------------------------------
426
+ // Runner-switch safety — clear local workspace entries when runner changes
427
+ // ---------------------------------------------------------------------------
428
+
429
+ const prevRunnerIdRef = useRef(runnerId);
430
+
431
+ useEffect(() => {
432
+ if (prevRunnerIdRef.current !== runnerId) {
433
+ const hadLocal = workspace?.entries.some((e) => e.type === "local");
434
+ prevRunnerIdRef.current = runnerId;
435
+ if (hadLocal) {
436
+ workspace?.clearLocal();
437
+ }
438
+ }
439
+ }, [runnerId, workspace]);
428
440
 
429
441
  // ---------------------------------------------------------------------------
430
442
  // Configure menu state — drives the Tier 2 drill-down popover
@@ -883,17 +895,6 @@ export function SessionComposer({
883
895
  });
884
896
  }
885
897
 
886
- if (workspace) {
887
- for (const entry of workspace.entries) {
888
- items.push({
889
- key: `ws:${entry.id}`,
890
- label: entry.name,
891
- type: "workspace",
892
- onRemove: () => workspace.remove(entry.id),
893
- });
894
- }
895
- }
896
-
897
898
  if (showMcp) {
898
899
  for (const [key, entry] of Object.entries(mcpSetup.entries)) {
899
900
  const slug = key.slice(key.indexOf("/") + 1);
@@ -946,15 +947,6 @@ export function SessionComposer({
946
947
  }
947
948
  }
948
949
 
949
- if (showRunner && runnerId) {
950
- items.push({
951
- key: `runner:${runnerId}`,
952
- label: selectedRunnerName ?? "Runner",
953
- type: "runner",
954
- onRemove: () => onRunnerIdChange?.(null),
955
- });
956
- }
957
-
958
950
  if (sessionVariables) {
959
951
  for (const entry of sessionVariables.entries) {
960
952
  const k = entry.key.trim();
@@ -1057,7 +1049,7 @@ export function SessionComposer({
1057
1049
  count: skillCount,
1058
1050
  });
1059
1051
  }
1060
- if (showRunner) {
1052
+ if (showRunner && !showWorkspace) {
1061
1053
  items.push({
1062
1054
  id: "runner",
1063
1055
  icon: <RunnerIcon />,
@@ -1074,7 +1066,7 @@ export function SessionComposer({
1074
1066
  });
1075
1067
  }
1076
1068
  return items;
1077
- }, [showAgent, agentRef, agentSetup.state, showMcp, mcpCount, mcpSetup.needsSetupCount, showSkills, skillCount, showRunner, runnerId, showSessionVars, sessionVarCount]);
1069
+ }, [showAgent, agentRef, agentSetup.state, showMcp, mcpCount, mcpSetup.needsSetupCount, showSkills, skillCount, showRunner, showWorkspace, runnerId, showSessionVars, sessionVarCount]);
1078
1070
 
1079
1071
  const renderConfigPanel = useCallback(
1080
1072
  (panelId: string): React.ReactNode => {
@@ -1356,16 +1348,27 @@ export function SessionComposer({
1356
1348
  workspaceCount={workspaceCount}
1357
1349
  workspaceContent={
1358
1350
  workspace
1359
- ? <WorkspaceEditor
1360
- workspace={workspace}
1361
- disabled={isDisabled}
1362
- gitHubConnection={gitHubConnection}
1363
- enableGitHub={enableGitHub}
1364
- enableLocal={enableLocal}
1365
- runnerId={browseRunnerId}
1366
- onBrowseLocalFolder={onBrowseLocalFolder}
1367
- runnerName={selectedRunnerName}
1368
- />
1351
+ ? <div className="space-y-3">
1352
+ {showRunner && org && (
1353
+ <WorkspaceRunnerSelector
1354
+ org={org}
1355
+ value={runnerId ?? null}
1356
+ onChange={(id) => onRunnerIdChange?.(id)}
1357
+ disabled={isDisabled}
1358
+ />
1359
+ )}
1360
+ <WorkspaceEditor
1361
+ workspace={workspace}
1362
+ disabled={isDisabled}
1363
+ gitHubConnection={gitHubConnection}
1364
+ enableGitHub={enableGitHub}
1365
+ enableLocal={enableLocal}
1366
+ runnerId={browseRunnerId}
1367
+ onBrowseLocalFolder={runnerId ? onBrowseLocalFolder : undefined}
1368
+ runnerName={selectedRunnerName}
1369
+ runnerHostname={selectedRunnerHostname}
1370
+ />
1371
+ </div>
1369
1372
  : null
1370
1373
  }
1371
1374
  configureItems={configureItems}
@@ -3,6 +3,7 @@ export {
3
3
  GITHUB_CALLBACK_MESSAGE_TYPE,
4
4
  type GitHubUser,
5
5
  type GitHubConnectOptions,
6
+ type UseGitHubConnectionConfig,
6
7
  type UseGitHubConnectionReturn,
7
8
  } from "./useGitHubConnection";
8
9