@datatechsolutions/ui 3.7.2 → 3.7.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 (95) hide show
  1. package/dist/astrlabe/index.js +107 -107
  2. package/dist/astrlabe/index.mjs +3 -3
  3. package/dist/astrlabe/workflow-canvas.js +3 -3
  4. package/dist/astrlabe/workflow-canvas.mjs +2 -2
  5. package/dist/{chunk-2OPBUVTQ.mjs → chunk-32DHEVOH.mjs} +3 -3
  6. package/dist/{chunk-2OPBUVTQ.mjs.map → chunk-32DHEVOH.mjs.map} +1 -1
  7. package/dist/{chunk-FUHNEP3Y.js → chunk-3H5CFLVK.js} +135 -135
  8. package/dist/{chunk-FUHNEP3Y.js.map → chunk-3H5CFLVK.js.map} +1 -1
  9. package/dist/{chunk-RWYG7QHP.js → chunk-3X3IYDG6.js} +68 -68
  10. package/dist/{chunk-RWYG7QHP.js.map → chunk-3X3IYDG6.js.map} +1 -1
  11. package/dist/{chunk-VZIUQE7B.mjs → chunk-57E4TCB2.mjs} +3 -3
  12. package/dist/{chunk-VZIUQE7B.mjs.map → chunk-57E4TCB2.mjs.map} +1 -1
  13. package/dist/{chunk-34XRH2FX.mjs → chunk-5W6LMDXV.mjs} +4 -4
  14. package/dist/{chunk-34XRH2FX.mjs.map → chunk-5W6LMDXV.mjs.map} +1 -1
  15. package/dist/{chunk-C4AJWDFB.mjs → chunk-5YVOLHSW.mjs} +4 -4
  16. package/dist/{chunk-C4AJWDFB.mjs.map → chunk-5YVOLHSW.mjs.map} +1 -1
  17. package/dist/{chunk-YRXDETBK.mjs → chunk-74BU2EBZ.mjs} +6 -6
  18. package/dist/{chunk-YRXDETBK.mjs.map → chunk-74BU2EBZ.mjs.map} +1 -1
  19. package/dist/{chunk-JGK2VFCX.js → chunk-7JZFNKJD.js} +35 -35
  20. package/dist/{chunk-JGK2VFCX.js.map → chunk-7JZFNKJD.js.map} +1 -1
  21. package/dist/{chunk-NVQVZ4U4.mjs → chunk-A4A3SQTV.mjs} +3 -3
  22. package/dist/{chunk-NVQVZ4U4.mjs.map → chunk-A4A3SQTV.mjs.map} +1 -1
  23. package/dist/{chunk-CBFK4W4C.mjs → chunk-CZZOCKEA.mjs} +5 -3
  24. package/dist/chunk-CZZOCKEA.mjs.map +1 -0
  25. package/dist/{chunk-CVZXZK2X.js → chunk-E57RZXOR.js} +25 -25
  26. package/dist/{chunk-CVZXZK2X.js.map → chunk-E57RZXOR.js.map} +1 -1
  27. package/dist/{chunk-5LCWQKGQ.mjs → chunk-E6C7MFHJ.mjs} +5 -2
  28. package/dist/chunk-E6C7MFHJ.mjs.map +1 -0
  29. package/dist/{chunk-NJ6HH4QP.mjs → chunk-EWYAM4WJ.mjs} +3 -3
  30. package/dist/{chunk-NJ6HH4QP.mjs.map → chunk-EWYAM4WJ.mjs.map} +1 -1
  31. package/dist/{chunk-RZ3NDH5S.js → chunk-F35GFICG.js} +13 -13
  32. package/dist/{chunk-RZ3NDH5S.js.map → chunk-F35GFICG.js.map} +1 -1
  33. package/dist/{chunk-UDYEUTJC.js → chunk-FKUIVS6I.js} +28 -28
  34. package/dist/{chunk-UDYEUTJC.js.map → chunk-FKUIVS6I.js.map} +1 -1
  35. package/dist/{chunk-R4EKPXX3.js → chunk-FNA66TT4.js} +5 -2
  36. package/dist/chunk-FNA66TT4.js.map +1 -0
  37. package/dist/{chunk-QF6WL7XU.js → chunk-H37VDL7Y.js} +4 -4
  38. package/dist/{chunk-QF6WL7XU.js.map → chunk-H37VDL7Y.js.map} +1 -1
  39. package/dist/{chunk-3JZGRXSG.js → chunk-HBOORO52.js} +4 -4
  40. package/dist/{chunk-3JZGRXSG.js.map → chunk-HBOORO52.js.map} +1 -1
  41. package/dist/{chunk-4JRMXHPU.mjs → chunk-KKXI7CPF.mjs} +3 -3
  42. package/dist/{chunk-4JRMXHPU.mjs.map → chunk-KKXI7CPF.mjs.map} +1 -1
  43. package/dist/{chunk-DXLATMGD.mjs → chunk-PCUINUIC.mjs} +3 -3
  44. package/dist/{chunk-DXLATMGD.mjs.map → chunk-PCUINUIC.mjs.map} +1 -1
  45. package/dist/{chunk-CYAAL3BY.mjs → chunk-PYNXIDG3.mjs} +3 -3
  46. package/dist/{chunk-CYAAL3BY.mjs.map → chunk-PYNXIDG3.mjs.map} +1 -1
  47. package/dist/{chunk-JLECJI7S.js → chunk-Q4QORAMH.js} +10 -10
  48. package/dist/{chunk-JLECJI7S.js.map → chunk-Q4QORAMH.js.map} +1 -1
  49. package/dist/{chunk-JHN2OUWG.js → chunk-Q7HRCCFT.js} +45 -45
  50. package/dist/{chunk-JHN2OUWG.js.map → chunk-Q7HRCCFT.js.map} +1 -1
  51. package/dist/{chunk-7YK4WXHO.js → chunk-RCHTRG7R.js} +55 -55
  52. package/dist/{chunk-7YK4WXHO.js.map → chunk-RCHTRG7R.js.map} +1 -1
  53. package/dist/{chunk-BBLBSDPN.js → chunk-TCP45Q4B.js} +11 -9
  54. package/dist/chunk-TCP45Q4B.js.map +1 -0
  55. package/dist/{chunk-VCAVH2VM.js → chunk-TJPPZU77.js} +34 -34
  56. package/dist/{chunk-VCAVH2VM.js.map → chunk-TJPPZU77.js.map} +1 -1
  57. package/dist/{chunk-VDLMWOQM.js → chunk-VPFVW7ZF.js} +35 -35
  58. package/dist/{chunk-VDLMWOQM.js.map → chunk-VPFVW7ZF.js.map} +1 -1
  59. package/dist/{chunk-TJEZL72T.mjs → chunk-VS6PTRQ7.mjs} +3 -3
  60. package/dist/{chunk-TJEZL72T.mjs.map → chunk-VS6PTRQ7.mjs.map} +1 -1
  61. package/dist/{chunk-ZYRL3WER.mjs → chunk-WDBVIU7W.mjs} +3 -3
  62. package/dist/{chunk-ZYRL3WER.mjs.map → chunk-WDBVIU7W.mjs.map} +1 -1
  63. package/dist/{chunk-37JQVQJS.mjs → chunk-ZP37M2QK.mjs} +6 -6
  64. package/dist/{chunk-37JQVQJS.mjs.map → chunk-ZP37M2QK.mjs.map} +1 -1
  65. package/dist/index.d.mts +7 -1
  66. package/dist/index.d.ts +7 -1
  67. package/dist/index.js +664 -664
  68. package/dist/index.mjs +1 -1
  69. package/dist/platform/admin/index.js +9 -9
  70. package/dist/platform/admin/index.mjs +3 -3
  71. package/dist/platform/agents-workspace.js +6 -6
  72. package/dist/platform/agents-workspace.mjs +5 -5
  73. package/dist/platform/app-shell.d.mts +7 -1
  74. package/dist/platform/app-shell.d.ts +7 -1
  75. package/dist/platform/app-shell.js +3 -3
  76. package/dist/platform/app-shell.mjs +2 -2
  77. package/dist/platform/auth/index.js +21 -21
  78. package/dist/platform/auth/index.mjs +3 -3
  79. package/dist/platform/billing/index.js +3 -3
  80. package/dist/platform/billing/index.mjs +2 -2
  81. package/dist/platform/impersonation/index.js +3 -3
  82. package/dist/platform/impersonation/index.mjs +2 -2
  83. package/dist/platform/index.js +74 -74
  84. package/dist/platform/index.mjs +17 -17
  85. package/dist/platform/pages/index.js +235 -235
  86. package/dist/platform/pages/index.mjs +7 -7
  87. package/dist/platform/settings/index.js +6 -6
  88. package/dist/platform/settings/index.mjs +5 -5
  89. package/dist/platform/workflow-canvas-shell.js +4 -4
  90. package/dist/platform/workflow-canvas-shell.mjs +3 -3
  91. package/package.json +1 -1
  92. package/dist/chunk-5LCWQKGQ.mjs.map +0 -1
  93. package/dist/chunk-BBLBSDPN.js.map +0 -1
  94. package/dist/chunk-CBFK4W4C.mjs.map +0 -1
  95. package/dist/chunk-R4EKPXX3.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { AdminOrganizationDetail } from './chunk-4JRMXHPU.mjs';
3
- import { UserProfile } from './chunk-CYAAL3BY.mjs';
4
- import { BillingPanel } from './chunk-ZYRL3WER.mjs';
5
- import { useAuth, InlineSpinner, SegmentedControl } from './chunk-5LCWQKGQ.mjs';
2
+ import { AdminOrganizationDetail } from './chunk-KKXI7CPF.mjs';
3
+ import { UserProfile } from './chunk-PYNXIDG3.mjs';
4
+ import { BillingPanel } from './chunk-WDBVIU7W.mjs';
5
+ import { useAuth, InlineSpinner, SegmentedControl } from './chunk-E6C7MFHJ.mjs';
6
6
  import { useTranslations } from './chunk-7VJ7CMMT.mjs';
7
7
  import { useMemo, useState, useEffect } from 'react';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -94,5 +94,5 @@ function PlatformSettings({
94
94
  }
95
95
 
96
96
  export { PlatformSettings };
97
- //# sourceMappingURL=chunk-YRXDETBK.mjs.map
98
- //# sourceMappingURL=chunk-YRXDETBK.mjs.map
97
+ //# sourceMappingURL=chunk-74BU2EBZ.mjs.map
98
+ //# sourceMappingURL=chunk-74BU2EBZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/platform/settings/platform-settings.tsx"],"names":[],"mappings":"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","file":"chunk-YRXDETBK.mjs","sourcesContent":["// =============================================================================\n// @datatechsolutions/windsock/ui — PlatformSettings\n// Unified settings shell consumed by every product (astrlabe, kori).\n// Composes existing building blocks:\n// - `<UserProfile>` — Profile / Security / Sessions / Linked accounts\n// - `<AdminOrganizationDetail>` — Members / Invitations / Domains\n// - `<BillingPanel>` — Current subscription + plan catalogue\n// Apps mount this at their `/settings` route; feature toggles hide sections\n// that a given user's role cannot access.\n// =============================================================================\n\nimport { useEffect, useMemo, useState } from 'react'\nimport { useTranslations } from '@ui/lib/i18n-context'\nimport { SegmentedControl, InlineSpinner } from '@ui/index'\nimport type { AdminClient, AuthOrganization } from '@datatechsolutions/shared-domain'\n\nimport { useAuth } from '../../_auth'\nimport { UserProfile } from '../auth/user-profile'\nimport { AdminOrganizationDetail } from '../admin/admin-organization-detail'\nimport { BillingPanel, type BillingPanelProps } from '../billing/billing-panel'\n\nexport type PlatformSettingsSection = 'account' | 'organization' | 'billing'\n\nexport interface PlatformSettingsProps {\n /**\n * Sections to surface to the current user. The host app is responsible for\n * picking the right set based on RBAC — e.g. hide `organization` for users\n * without `org:manage` and hide `billing` for users without `billing:read`.\n * Defaults to all three.\n */\n sections?: PlatformSettingsSection[]\n /** Starting section. Defaults to the first item in `sections`. */\n defaultSection?: PlatformSettingsSection\n /**\n * Windsock admin API client. Required when `organization` is in `sections`.\n * Create it once with `createAdminClient({ issuer, authClient })` and reuse.\n */\n adminClient?: AdminClient\n /**\n * Current organization id (usually `ctx.organizationId` from the JWT).\n * Required when `organization` is in `sections`.\n */\n organizationId?: string\n /** Forwarded to `<BillingPanel>` — e.g. redirect handler, billing interval. */\n billing?: BillingPanelProps\n}\n\nconst DEFAULT_SECTIONS: PlatformSettingsSection[] = ['account', 'organization', 'billing']\n\nexport function PlatformSettings({\n sections = DEFAULT_SECTIONS,\n defaultSection,\n adminClient,\n organizationId,\n billing,\n}: PlatformSettingsProps) {\n const t = useTranslations('windsock')\n const { status } = useAuth()\n\n const visibleSections = useMemo(() => {\n // Drop `organization` if the caller didn't pass an admin client + org id.\n return sections.filter((section) => {\n if (section === 'organization') {\n return Boolean(adminClient && organizationId)\n }\n return true\n })\n }, [sections, adminClient, organizationId])\n\n const initialSection: PlatformSettingsSection = (\n defaultSection && visibleSections.includes(defaultSection)\n ? defaultSection\n : visibleSections[0] ?? 'account'\n )\n\n const [activeSection, setActiveSection] = useState<PlatformSettingsSection>(initialSection)\n const [organization, setOrganization] = useState<AuthOrganization | null>(null)\n const [orgLoadError, setOrgLoadError] = useState<string | null>(null)\n\n // Resolve the org detail record (AdminOrganizationDetail needs the full\n // AuthOrganization, not just the id). Fires once the organization tab is\n // first selected so the listOrganizations round-trip is lazy.\n useEffect(() => {\n if (activeSection !== 'organization') return\n if (!adminClient || !organizationId) return\n if (organization?.id === organizationId) return\n\n let cancelled = false\n setOrgLoadError(null)\n void adminClient.listOrganizations()\n .then((orgs) => {\n if (cancelled) return\n const match = orgs.find((org) => org.id === organizationId)\n if (match) {\n setOrganization(match)\n } else {\n setOrgLoadError('Organization not found')\n }\n })\n .catch((loadError: unknown) => {\n if (cancelled) return\n setOrgLoadError(loadError instanceof Error ? loadError.message : String(loadError))\n })\n return () => {\n cancelled = true\n }\n }, [activeSection, adminClient, organizationId, organization?.id])\n\n if (status === 'loading') {\n return (\n <div className=\"flex items-center justify-center py-12\">\n <InlineSpinner />\n </div>\n )\n }\n\n if (status !== 'authenticated') {\n return null\n }\n\n if (visibleSections.length === 0) {\n return null\n }\n\n const segments = visibleSections.map((section) => ({\n value: section,\n label: t(`platformSettings.sections.${section}`),\n }))\n\n return (\n <div className=\"space-y-6\">\n {visibleSections.length > 1 && (\n <SegmentedControl\n segments={segments}\n value={activeSection}\n onChange={(value: string) => setActiveSection(value as PlatformSettingsSection)}\n fullWidth\n />\n )}\n\n {activeSection === 'account' && <UserProfile />}\n\n {activeSection === 'organization' && adminClient && organizationId && (\n organization ? (\n <AdminOrganizationDetail\n client={adminClient}\n organization={organization}\n />\n ) : orgLoadError ? (\n <div\n role=\"alert\"\n className=\"rounded-xl border border-red-300/40 bg-red-50/80 px-4 py-3 text-sm text-red-700 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-300\"\n >\n {orgLoadError}\n </div>\n ) : (\n <div className=\"flex items-center justify-center py-12\">\n <InlineSpinner />\n </div>\n )\n )}\n\n {activeSection === 'billing' && <BillingPanel {...billing} />}\n </div>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/platform/settings/platform-settings.tsx"],"names":[],"mappings":"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","file":"chunk-74BU2EBZ.mjs","sourcesContent":["// =============================================================================\n// @datatechsolutions/windsock/ui — PlatformSettings\n// Unified settings shell consumed by every product (astrlabe, kori).\n// Composes existing building blocks:\n// - `<UserProfile>` — Profile / Security / Sessions / Linked accounts\n// - `<AdminOrganizationDetail>` — Members / Invitations / Domains\n// - `<BillingPanel>` — Current subscription + plan catalogue\n// Apps mount this at their `/settings` route; feature toggles hide sections\n// that a given user's role cannot access.\n// =============================================================================\n\nimport { useEffect, useMemo, useState } from 'react'\nimport { useTranslations } from '@ui/lib/i18n-context'\nimport { SegmentedControl, InlineSpinner } from '@ui/index'\nimport type { AdminClient, AuthOrganization } from '@datatechsolutions/shared-domain'\n\nimport { useAuth } from '../../_auth'\nimport { UserProfile } from '../auth/user-profile'\nimport { AdminOrganizationDetail } from '../admin/admin-organization-detail'\nimport { BillingPanel, type BillingPanelProps } from '../billing/billing-panel'\n\nexport type PlatformSettingsSection = 'account' | 'organization' | 'billing'\n\nexport interface PlatformSettingsProps {\n /**\n * Sections to surface to the current user. The host app is responsible for\n * picking the right set based on RBAC — e.g. hide `organization` for users\n * without `org:manage` and hide `billing` for users without `billing:read`.\n * Defaults to all three.\n */\n sections?: PlatformSettingsSection[]\n /** Starting section. Defaults to the first item in `sections`. */\n defaultSection?: PlatformSettingsSection\n /**\n * Windsock admin API client. Required when `organization` is in `sections`.\n * Create it once with `createAdminClient({ issuer, authClient })` and reuse.\n */\n adminClient?: AdminClient\n /**\n * Current organization id (usually `ctx.organizationId` from the JWT).\n * Required when `organization` is in `sections`.\n */\n organizationId?: string\n /** Forwarded to `<BillingPanel>` — e.g. redirect handler, billing interval. */\n billing?: BillingPanelProps\n}\n\nconst DEFAULT_SECTIONS: PlatformSettingsSection[] = ['account', 'organization', 'billing']\n\nexport function PlatformSettings({\n sections = DEFAULT_SECTIONS,\n defaultSection,\n adminClient,\n organizationId,\n billing,\n}: PlatformSettingsProps) {\n const t = useTranslations('windsock')\n const { status } = useAuth()\n\n const visibleSections = useMemo(() => {\n // Drop `organization` if the caller didn't pass an admin client + org id.\n return sections.filter((section) => {\n if (section === 'organization') {\n return Boolean(adminClient && organizationId)\n }\n return true\n })\n }, [sections, adminClient, organizationId])\n\n const initialSection: PlatformSettingsSection = (\n defaultSection && visibleSections.includes(defaultSection)\n ? defaultSection\n : visibleSections[0] ?? 'account'\n )\n\n const [activeSection, setActiveSection] = useState<PlatformSettingsSection>(initialSection)\n const [organization, setOrganization] = useState<AuthOrganization | null>(null)\n const [orgLoadError, setOrgLoadError] = useState<string | null>(null)\n\n // Resolve the org detail record (AdminOrganizationDetail needs the full\n // AuthOrganization, not just the id). Fires once the organization tab is\n // first selected so the listOrganizations round-trip is lazy.\n useEffect(() => {\n if (activeSection !== 'organization') return\n if (!adminClient || !organizationId) return\n if (organization?.id === organizationId) return\n\n let cancelled = false\n setOrgLoadError(null)\n void adminClient.listOrganizations()\n .then((orgs) => {\n if (cancelled) return\n const match = orgs.find((org) => org.id === organizationId)\n if (match) {\n setOrganization(match)\n } else {\n setOrgLoadError('Organization not found')\n }\n })\n .catch((loadError: unknown) => {\n if (cancelled) return\n setOrgLoadError(loadError instanceof Error ? loadError.message : String(loadError))\n })\n return () => {\n cancelled = true\n }\n }, [activeSection, adminClient, organizationId, organization?.id])\n\n if (status === 'loading') {\n return (\n <div className=\"flex items-center justify-center py-12\">\n <InlineSpinner />\n </div>\n )\n }\n\n if (status !== 'authenticated') {\n return null\n }\n\n if (visibleSections.length === 0) {\n return null\n }\n\n const segments = visibleSections.map((section) => ({\n value: section,\n label: t(`platformSettings.sections.${section}`),\n }))\n\n return (\n <div className=\"space-y-6\">\n {visibleSections.length > 1 && (\n <SegmentedControl\n segments={segments}\n value={activeSection}\n onChange={(value: string) => setActiveSection(value as PlatformSettingsSection)}\n fullWidth\n />\n )}\n\n {activeSection === 'account' && <UserProfile />}\n\n {activeSection === 'organization' && adminClient && organizationId && (\n organization ? (\n <AdminOrganizationDetail\n client={adminClient}\n organization={organization}\n />\n ) : orgLoadError ? (\n <div\n role=\"alert\"\n className=\"rounded-xl border border-red-300/40 bg-red-50/80 px-4 py-3 text-sm text-red-700 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-300\"\n >\n {orgLoadError}\n </div>\n ) : (\n <div className=\"flex items-center justify-center py-12\">\n <InlineSpinner />\n </div>\n )\n )}\n\n {activeSection === 'billing' && <BillingPanel {...billing} />}\n </div>\n )\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkVCAVH2VM_js = require('./chunk-VCAVH2VM.js');
5
- var chunkFUHNEP3Y_js = require('./chunk-FUHNEP3Y.js');
4
+ var chunkTJPPZU77_js = require('./chunk-TJPPZU77.js');
5
+ var chunk3H5CFLVK_js = require('./chunk-3H5CFLVK.js');
6
6
  var chunkDJDZIRM6_js = require('./chunk-DJDZIRM6.js');
7
- var chunkRWYG7QHP_js = require('./chunk-RWYG7QHP.js');
8
- var chunkR4EKPXX3_js = require('./chunk-R4EKPXX3.js');
7
+ var chunk3X3IYDG6_js = require('./chunk-3X3IYDG6.js');
8
+ var chunkFNA66TT4_js = require('./chunk-FNA66TT4.js');
9
9
  var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
10
10
  var chunkSY4MUT5V_js = require('./chunk-SY4MUT5V.js');
11
11
  var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
@@ -181,9 +181,9 @@ function applyWorkflowExecutionEventToStore(actions, event) {
181
181
  }
182
182
  }
183
183
  function useWorkflowRunPresentation(events, status) {
184
- const clearNodeResults = chunkRWYG7QHP_js.useWorkflowStore((state) => state.clearNodeResults);
185
- const setIsRunning = chunkRWYG7QHP_js.useWorkflowStore((state) => state.setIsRunning);
186
- const setNodeResult = chunkRWYG7QHP_js.useWorkflowStore((state) => state.setNodeResult);
184
+ const clearNodeResults = chunk3X3IYDG6_js.useWorkflowStore((state) => state.clearNodeResults);
185
+ const setIsRunning = chunk3X3IYDG6_js.useWorkflowStore((state) => state.setIsRunning);
186
+ const setNodeResult = chunk3X3IYDG6_js.useWorkflowStore((state) => state.setNodeResult);
187
187
  react.useEffect(() => {
188
188
  if (status === "idle") {
189
189
  resetWorkflowRunPresentation({ clearNodeResults, setIsRunning, setNodeResult });
@@ -206,9 +206,9 @@ function useWorkflowExecution(workflowId) {
206
206
  const [activeRunId, setActiveRunId] = react.useState(null);
207
207
  const [isLaunching, setIsLaunching] = react.useState(false);
208
208
  const stream = useRunEvents(workflowId || null, activeRunId);
209
- const clearNodeResults = chunkRWYG7QHP_js.useWorkflowStore((state) => state.clearNodeResults);
210
- const setIsRunning = chunkRWYG7QHP_js.useWorkflowStore((state) => state.setIsRunning);
211
- const setNodeResult = chunkRWYG7QHP_js.useWorkflowStore((state) => state.setNodeResult);
209
+ const clearNodeResults = chunk3X3IYDG6_js.useWorkflowStore((state) => state.clearNodeResults);
210
+ const setIsRunning = chunk3X3IYDG6_js.useWorkflowStore((state) => state.setIsRunning);
211
+ const setNodeResult = chunk3X3IYDG6_js.useWorkflowStore((state) => state.setNodeResult);
212
212
  useWorkflowRunPresentation(stream.events, activeRunId ? stream.status : "idle");
213
213
  react.useEffect(() => {
214
214
  if (stream.status === "completed" || stream.status === "failed" || stream.status === "error") {
@@ -333,7 +333,7 @@ function AgentsWorkspace({ workflowId, messages }) {
333
333
  const tWorkflow = chunkYXN2K77G_js.useTranslations("agents.workflow");
334
334
  const tCommon = chunkYXN2K77G_js.useTranslations("common");
335
335
  const datasourceLabels = useDatasourceLabels();
336
- const { error: notifyError, success: notifySuccess } = chunkR4EKPXX3_js.useNotifications();
336
+ const { error: notifyError, success: notifySuccess } = chunkFNA66TT4_js.useNotifications();
337
337
  const showSuccess = react.useCallback((title, message) => {
338
338
  notifySuccess(title, message);
339
339
  }, [notifySuccess]);
@@ -357,20 +357,20 @@ function AgentsWorkspace({ workflowId, messages }) {
357
357
  const [datasources, setDatasources] = react.useState([]);
358
358
  const [modelConnections, setModelConnections] = react.useState([]);
359
359
  const [showDatasourceModal, setShowDatasourceModal] = react.useState(false);
360
- const openPipelineSettingsModal = chunkRWYG7QHP_js.useModalStore((s) => s.openPipelineSettingsModal);
360
+ const openPipelineSettingsModal = chunk3X3IYDG6_js.useModalStore((s) => s.openPipelineSettingsModal);
361
361
  const [showRunInputDialog, setShowRunInputDialog] = react.useState(false);
362
362
  const [showPreviewPanel, setShowPreviewPanel] = react.useState(false);
363
363
  const [isCreatingAgent, setIsCreatingAgent] = react.useState(false);
364
- const openSubworkflowModal = chunkFUHNEP3Y_js.useSubworkflowStore((s) => s.openModal);
365
- const closeSubworkflowModal = chunkFUHNEP3Y_js.useSubworkflowStore((s) => s.closeModal);
364
+ const openSubworkflowModal = chunk3H5CFLVK_js.useSubworkflowStore((s) => s.openModal);
365
+ const closeSubworkflowModal = chunk3H5CFLVK_js.useSubworkflowStore((s) => s.closeModal);
366
366
  const [deleteTarget, setDeleteTarget] = react.useState(null);
367
367
  const [saveStatus, setSaveStatus] = react.useState("idle");
368
368
  const latestGraphRef = react.useRef(null);
369
369
  const saveTimerRef = react.useRef(null);
370
370
  const skipInitialAutoSaveRef = react.useRef(true);
371
- const showRunPanel = chunkRWYG7QHP_js.useWorkflowStore((state) => state.showRunPanel);
372
- const toggleRunPanel = chunkRWYG7QHP_js.useWorkflowStore((state) => state.toggleRunPanel);
373
- const workflowNodes = chunkRWYG7QHP_js.useWorkflowStore((state) => state.nodes);
371
+ const showRunPanel = chunk3X3IYDG6_js.useWorkflowStore((state) => state.showRunPanel);
372
+ const toggleRunPanel = chunk3X3IYDG6_js.useWorkflowStore((state) => state.toggleRunPanel);
373
+ const workflowNodes = chunk3X3IYDG6_js.useWorkflowStore((state) => state.nodes);
374
374
  const { execute: executeWorkflowRun, stop: stopWorkflowRun, isRunning } = useWorkflowExecution(workflowId);
375
375
  const loadWorkspaceData = react.useCallback(async () => {
376
376
  setIsLoading(true);
@@ -653,7 +653,7 @@ function AgentsWorkspace({ workflowId, messages }) {
653
653
  }
654
654
  if (!workflow) {
655
655
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-[calc(100vh-120px)] items-center justify-center", children: loadError ? /* @__PURE__ */ jsxRuntime.jsx(
656
- chunkR4EKPXX3_js.PageErrorState,
656
+ chunkFNA66TT4_js.PageErrorState,
657
657
  {
658
658
  statusCode: 500,
659
659
  title: tCommon("serverError"),
@@ -664,7 +664,7 @@ function AgentsWorkspace({ workflowId, messages }) {
664
664
  retryLabel: tCommon("retry")
665
665
  }
666
666
  ) : /* @__PURE__ */ jsxRuntime.jsx(
667
- chunkR4EKPXX3_js.PageEmptyState,
667
+ chunkFNA66TT4_js.PageEmptyState,
668
668
  {
669
669
  title: tWorkflow("emptyTitle"),
670
670
  message: tWorkflow("emptyDescription"),
@@ -672,7 +672,7 @@ function AgentsWorkspace({ workflowId, messages }) {
672
672
  }
673
673
  ) });
674
674
  }
675
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRWYG7QHP_js.WorkflowBuilderProvider, { publishableKey: getPublishableKey(), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-[calc(100vh-120px)] flex-col", "data-testid": "agents-workspace", children: [
675
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk3X3IYDG6_js.WorkflowBuilderProvider, { publishableKey: getPublishableKey(), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-[calc(100vh-120px)] flex-col", "data-testid": "agents-workspace", children: [
676
676
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface flex h-full flex-col overflow-hidden rounded-2xl", children: [
677
677
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-shrink-0 items-center justify-between px-5 py-3", children: [
678
678
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
@@ -694,9 +694,9 @@ function AgentsWorkspace({ workflowId, messages }) {
694
694
  children: workflow.name || tWorkflow("title")
695
695
  }
696
696
  ),
697
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.CopyableId, { id: workflowId, className: "text-[10px]" }),
697
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.CopyableId, { id: workflowId, className: "text-[10px]" }),
698
698
  workflow.isDraft ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center rounded-full bg-amber-100 px-2.5 py-0.5 text-[10px] font-semibold text-amber-800 dark:bg-amber-900/30 dark:text-amber-300", children: tWorkflow("draftBadge") }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center rounded-full bg-green-100 px-2.5 py-0.5 text-[10px] font-semibold text-green-800 dark:bg-green-900/30 dark:text-green-300", children: tWorkflow("published") }),
699
- /* @__PURE__ */ jsxRuntime.jsx(chunkFUHNEP3Y_js.SaveStatusBadge, { status: saveStatus })
699
+ /* @__PURE__ */ jsxRuntime.jsx(chunk3H5CFLVK_js.SaveStatusBadge, { status: saveStatus })
700
700
  ] }),
701
701
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
702
702
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -736,7 +736,7 @@ function AgentsWorkspace({ workflowId, messages }) {
736
736
  ] }),
737
737
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider border-t" }),
738
738
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 pt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
739
- chunkFUHNEP3Y_js.WorkflowListBar,
739
+ chunk3H5CFLVK_js.WorkflowListBar,
740
740
  {
741
741
  workflows,
742
742
  activeWorkflowId: workflowId,
@@ -752,7 +752,7 @@ function AgentsWorkspace({ workflowId, messages }) {
752
752
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider border-t" }),
753
753
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 overflow-hidden", children: [
754
754
  /* @__PURE__ */ jsxRuntime.jsx(
755
- chunkFUHNEP3Y_js.NodePalette,
755
+ chunk3H5CFLVK_js.NodePalette,
756
756
  {
757
757
  agents,
758
758
  tools,
@@ -774,7 +774,7 @@ function AgentsWorkspace({ workflowId, messages }) {
774
774
  }
775
775
  ),
776
776
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
777
- chunkFUHNEP3Y_js.AutoSaveWorkspace,
777
+ chunk3H5CFLVK_js.AutoSaveWorkspace,
778
778
  {
779
779
  workflowId,
780
780
  className: "h-full w-full",
@@ -802,7 +802,7 @@ function AgentsWorkspace({ workflowId, messages }) {
802
802
  latestGraphRef.current = graph;
803
803
  },
804
804
  renderAgentModal: (props) => /* @__PURE__ */ jsxRuntime.jsx(
805
- chunkFUHNEP3Y_js.AgentModal,
805
+ chunk3H5CFLVK_js.AgentModal,
806
806
  {
807
807
  ...props,
808
808
  onSaved: () => {
@@ -843,7 +843,7 @@ function AgentsWorkspace({ workflowId, messages }) {
843
843
  ] })
844
844
  ] }),
845
845
  /* @__PURE__ */ jsxRuntime.jsx(
846
- chunkFUHNEP3Y_js.PipelineSettingsModal,
846
+ chunk3H5CFLVK_js.PipelineSettingsModal,
847
847
  {
848
848
  onSave: async (changes) => {
849
849
  const metadata = {
@@ -860,7 +860,7 @@ function AgentsWorkspace({ workflowId, messages }) {
860
860
  }
861
861
  ),
862
862
  /* @__PURE__ */ jsxRuntime.jsx(
863
- chunkFUHNEP3Y_js.SubworkflowModal,
863
+ chunk3H5CFLVK_js.SubworkflowModal,
864
864
  {
865
865
  onMaximize: (subworkflowId) => {
866
866
  closeSubworkflowModal();
@@ -884,7 +884,7 @@ function AgentsWorkspace({ workflowId, messages }) {
884
884
  }
885
885
  ),
886
886
  /* @__PURE__ */ jsxRuntime.jsx(
887
- chunkFUHNEP3Y_js.RunPanel,
887
+ chunk3H5CFLVK_js.RunPanel,
888
888
  {
889
889
  open: showRunPanel,
890
890
  onClose: toggleRunPanel,
@@ -893,7 +893,7 @@ function AgentsWorkspace({ workflowId, messages }) {
893
893
  }
894
894
  ),
895
895
  /* @__PURE__ */ jsxRuntime.jsx(
896
- chunkFUHNEP3Y_js.RunInputDialog,
896
+ chunk3H5CFLVK_js.RunInputDialog,
897
897
  {
898
898
  open: showRunInputDialog,
899
899
  onClose: () => setShowRunInputDialog(false),
@@ -906,7 +906,7 @@ function AgentsWorkspace({ workflowId, messages }) {
906
906
  }
907
907
  ),
908
908
  /* @__PURE__ */ jsxRuntime.jsx(
909
- chunkFUHNEP3Y_js.PreviewPanel,
909
+ chunk3H5CFLVK_js.PreviewPanel,
910
910
  {
911
911
  open: showPreviewPanel,
912
912
  onClose: () => setShowPreviewPanel(false),
@@ -915,7 +915,7 @@ function AgentsWorkspace({ workflowId, messages }) {
915
915
  }
916
916
  ),
917
917
  /* @__PURE__ */ jsxRuntime.jsx(
918
- chunkVCAVH2VM_js.DatasourceFormModal,
918
+ chunkTJPPZU77_js.DatasourceFormModal,
919
919
  {
920
920
  open: showDatasourceModal,
921
921
  onClose: () => setShowDatasourceModal(false),
@@ -926,7 +926,7 @@ function AgentsWorkspace({ workflowId, messages }) {
926
926
  }
927
927
  ),
928
928
  /* @__PURE__ */ jsxRuntime.jsx(
929
- chunkR4EKPXX3_js.DynamicIslandConfirm,
929
+ chunkFNA66TT4_js.DynamicIslandConfirm,
930
930
  {
931
931
  open: deleteTarget !== null,
932
932
  onClose: () => setDeleteTarget(null),
@@ -945,5 +945,5 @@ exports.resetWorkflowRunPresentation = resetWorkflowRunPresentation;
945
945
  exports.useRunEvents = useRunEvents;
946
946
  exports.useWorkflowExecution = useWorkflowExecution;
947
947
  exports.useWorkflowRunPresentation = useWorkflowRunPresentation;
948
- //# sourceMappingURL=chunk-JGK2VFCX.js.map
949
- //# sourceMappingURL=chunk-JGK2VFCX.js.map
948
+ //# sourceMappingURL=chunk-7JZFNKJD.js.map
949
+ //# sourceMappingURL=chunk-7JZFNKJD.js.map