@datatechsolutions/ui 3.7.4 → 3.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/contracts.d.mts +517 -0
- package/dist/astrlabe/contracts.d.ts +517 -0
- package/dist/astrlabe/graph-node.d.mts +28 -0
- package/dist/astrlabe/graph-node.d.ts +28 -0
- package/dist/astrlabe/index.d.mts +743 -0
- package/dist/astrlabe/index.d.ts +743 -0
- package/dist/astrlabe/utils.d.mts +60 -0
- package/dist/astrlabe/utils.d.ts +60 -0
- package/dist/astrlabe/workflow-canvas.d.mts +6 -0
- package/dist/astrlabe/workflow-canvas.d.ts +6 -0
- package/dist/astrlabe/workflow-preview-canvas.d.mts +10 -0
- package/dist/astrlabe/workflow-preview-canvas.d.ts +10 -0
- package/dist/billing-panel-DsHhhJqG.d.mts +18 -0
- package/dist/billing-panel-DsHhhJqG.d.ts +18 -0
- package/dist/brand/index.d.mts +71 -0
- package/dist/brand/index.d.ts +71 -0
- package/dist/{chunk-ZWLMKOHZ.mjs → chunk-KZSL7AXW.mjs} +3 -3
- package/dist/{chunk-ZWLMKOHZ.mjs.map → chunk-KZSL7AXW.mjs.map} +1 -1
- package/dist/{chunk-VDO6MDQW.js → chunk-Y2FR242F.js} +3 -3
- package/dist/{chunk-VDO6MDQW.js.map → chunk-Y2FR242F.js.map} +1 -1
- package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +17 -0
- package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +17 -0
- package/dist/index-BNRGVAS5.d.mts +222 -0
- package/dist/index-BoebbJ44.d.mts +49 -0
- package/dist/index-BoebbJ44.d.ts +49 -0
- package/dist/index-CnCY-b5V.d.ts +222 -0
- package/dist/index.d.mts +5316 -0
- package/dist/index.d.ts +5316 -0
- package/dist/layout-engine-YZcVr20M.d.mts +19 -0
- package/dist/layout-engine-YZcVr20M.d.ts +19 -0
- package/dist/lib/i18n-context.d.mts +36 -0
- package/dist/lib/i18n-context.d.ts +36 -0
- package/dist/lib/router-context.d.mts +35 -0
- package/dist/lib/router-context.d.ts +35 -0
- package/dist/navigation-BiWVffAN.d.mts +49 -0
- package/dist/navigation-BiWVffAN.d.ts +49 -0
- package/dist/platform/admin/index.d.mts +17 -0
- package/dist/platform/admin/index.d.ts +17 -0
- package/dist/platform/agents-workspace.d.mts +19 -0
- package/dist/platform/agents-workspace.d.ts +19 -0
- package/dist/platform/app-shell.d.mts +64 -0
- package/dist/platform/app-shell.d.ts +64 -0
- package/dist/platform/auth/index.d.mts +73 -0
- package/dist/platform/auth/index.d.ts +73 -0
- package/dist/platform/billing/index.d.mts +29 -0
- package/dist/platform/billing/index.d.ts +29 -0
- package/dist/platform/impersonation/index.d.mts +19 -0
- package/dist/platform/impersonation/index.d.ts +19 -0
- package/dist/platform/index.d.mts +188 -0
- package/dist/platform/index.d.ts +188 -0
- package/dist/platform/index.js +17 -17
- package/dist/platform/index.mjs +4 -4
- package/dist/platform/pages/index.d.mts +538 -0
- package/dist/platform/pages/index.d.ts +538 -0
- package/dist/platform/pages/index.js +6 -6
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +6 -6
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/rbac.d.mts +42 -0
- package/dist/platform/rbac.d.ts +42 -0
- package/dist/platform/settings/index.d.mts +31 -0
- package/dist/platform/settings/index.d.ts +31 -0
- package/dist/platform/settings/index.js +3 -3
- package/dist/platform/settings/index.mjs +2 -2
- package/dist/platform/telemetry/index.d.mts +51 -0
- package/dist/platform/telemetry/index.d.ts +51 -0
- package/dist/platform/utils/index.d.mts +32 -0
- package/dist/platform/utils/index.d.ts +32 -0
- package/dist/platform/windsock-admin-client.d.mts +57 -0
- package/dist/platform/windsock-admin-client.d.ts +57 -0
- package/dist/platform/workflow-api-client.d.mts +6 -0
- package/dist/platform/workflow-api-client.d.ts +6 -0
- package/dist/platform/workflow-canvas-shell.d.mts +18 -0
- package/dist/platform/workflow-canvas-shell.d.ts +18 -0
- package/dist/rule-form-BYJzyork.d.mts +128 -0
- package/dist/rule-form-BYJzyork.d.ts +128 -0
- package/dist/workflow-api-client-CpFl3WcG.d.mts +468 -0
- package/dist/workflow-api-client-uLICOanv.d.ts +468 -0
- package/dist/workflow-canvas--qaYKuMm.d.ts +113 -0
- package/dist/workflow-canvas-B80fmD_n.d.mts +113 -0
- package/dist/workflow-store-o17I6L6A.d.ts +79 -0
- package/dist/workflow-store-ppVHdMZi.d.mts +79 -0
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { A as AuthUser } from '../index-BoebbJ44.mjs';
|
|
2
|
+
import 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Generic role-based access factory shared across platform apps (astrlabe,
|
|
6
|
+
* kori-erp, etc). Each app instantiates this with its own role + permission
|
|
7
|
+
* unions and seed-claim mapping. The factory closes over the config and
|
|
8
|
+
* exports `ROLE_DEFINITIONS`, `MODULE_PERMISSIONS`, `normalizePlatformRole`,
|
|
9
|
+
* and `can()` — the same surface the per-app file used to expose.
|
|
10
|
+
*
|
|
11
|
+
* The factory deliberately does not hardcode any specific role enum here —
|
|
12
|
+
* astrlabe, kori-erp, and future apps each pick their own union (admin,
|
|
13
|
+
* manager, analyst, viewer, …) and pass the role definitions in.
|
|
14
|
+
*/
|
|
15
|
+
type PlatformRoleDefinition<TRole extends string> = {
|
|
16
|
+
id: TRole;
|
|
17
|
+
label: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
type CreatePlatformRbacOptions<TRole extends string, TPermission extends string> = {
|
|
21
|
+
/** Definitions for every role the app supports (id/label/description). */
|
|
22
|
+
roles: Record<TRole, PlatformRoleDefinition<TRole>>;
|
|
23
|
+
/**
|
|
24
|
+
* Maps each app-level permission to one or more JWT permission claim
|
|
25
|
+
* strings. `can()` returns true when ANY of the listed claims (using
|
|
26
|
+
* wildcard matching) is present in the user's JWT permissions.
|
|
27
|
+
*/
|
|
28
|
+
permissionClaimsMap: Record<TPermission, readonly string[]>;
|
|
29
|
+
/** Optional map from navigation/module IDs to required permissions. */
|
|
30
|
+
modulePermissions?: Record<string, TPermission>;
|
|
31
|
+
/** Role to fall back to when an unknown role string comes in. */
|
|
32
|
+
defaultRole?: TRole;
|
|
33
|
+
};
|
|
34
|
+
type PlatformRbac<TRole extends string, TPermission extends string> = {
|
|
35
|
+
ROLE_DEFINITIONS: Record<TRole, PlatformRoleDefinition<TRole>>;
|
|
36
|
+
MODULE_PERMISSIONS: Record<string, TPermission>;
|
|
37
|
+
normalizePlatformRole: (input: unknown) => TRole;
|
|
38
|
+
can: (user: AuthUser | null, permission: TPermission) => boolean;
|
|
39
|
+
};
|
|
40
|
+
declare function createPlatformRbac<TRole extends string, TPermission extends string>(opts: CreatePlatformRbacOptions<TRole, TPermission>): PlatformRbac<TRole, TPermission>;
|
|
41
|
+
|
|
42
|
+
export { type CreatePlatformRbacOptions, type PlatformRbac, type PlatformRoleDefinition, createPlatformRbac };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { A as AuthUser } from '../index-BoebbJ44.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Generic role-based access factory shared across platform apps (astrlabe,
|
|
6
|
+
* kori-erp, etc). Each app instantiates this with its own role + permission
|
|
7
|
+
* unions and seed-claim mapping. The factory closes over the config and
|
|
8
|
+
* exports `ROLE_DEFINITIONS`, `MODULE_PERMISSIONS`, `normalizePlatformRole`,
|
|
9
|
+
* and `can()` — the same surface the per-app file used to expose.
|
|
10
|
+
*
|
|
11
|
+
* The factory deliberately does not hardcode any specific role enum here —
|
|
12
|
+
* astrlabe, kori-erp, and future apps each pick their own union (admin,
|
|
13
|
+
* manager, analyst, viewer, …) and pass the role definitions in.
|
|
14
|
+
*/
|
|
15
|
+
type PlatformRoleDefinition<TRole extends string> = {
|
|
16
|
+
id: TRole;
|
|
17
|
+
label: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
type CreatePlatformRbacOptions<TRole extends string, TPermission extends string> = {
|
|
21
|
+
/** Definitions for every role the app supports (id/label/description). */
|
|
22
|
+
roles: Record<TRole, PlatformRoleDefinition<TRole>>;
|
|
23
|
+
/**
|
|
24
|
+
* Maps each app-level permission to one or more JWT permission claim
|
|
25
|
+
* strings. `can()` returns true when ANY of the listed claims (using
|
|
26
|
+
* wildcard matching) is present in the user's JWT permissions.
|
|
27
|
+
*/
|
|
28
|
+
permissionClaimsMap: Record<TPermission, readonly string[]>;
|
|
29
|
+
/** Optional map from navigation/module IDs to required permissions. */
|
|
30
|
+
modulePermissions?: Record<string, TPermission>;
|
|
31
|
+
/** Role to fall back to when an unknown role string comes in. */
|
|
32
|
+
defaultRole?: TRole;
|
|
33
|
+
};
|
|
34
|
+
type PlatformRbac<TRole extends string, TPermission extends string> = {
|
|
35
|
+
ROLE_DEFINITIONS: Record<TRole, PlatformRoleDefinition<TRole>>;
|
|
36
|
+
MODULE_PERMISSIONS: Record<string, TPermission>;
|
|
37
|
+
normalizePlatformRole: (input: unknown) => TRole;
|
|
38
|
+
can: (user: AuthUser | null, permission: TPermission) => boolean;
|
|
39
|
+
};
|
|
40
|
+
declare function createPlatformRbac<TRole extends string, TPermission extends string>(opts: CreatePlatformRbacOptions<TRole, TPermission>): PlatformRbac<TRole, TPermission>;
|
|
41
|
+
|
|
42
|
+
export { type CreatePlatformRbacOptions, type PlatformRbac, type PlatformRoleDefinition, createPlatformRbac };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AdminClient } from '@datatechsolutions/shared-domain';
|
|
3
|
+
import { a as BillingPanelProps } from '../../billing-panel-DsHhhJqG.mjs';
|
|
4
|
+
|
|
5
|
+
type PlatformSettingsSection = 'account' | 'organization' | 'billing';
|
|
6
|
+
interface PlatformSettingsProps {
|
|
7
|
+
/**
|
|
8
|
+
* Sections to surface to the current user. The host app is responsible for
|
|
9
|
+
* picking the right set based on RBAC — e.g. hide `organization` for users
|
|
10
|
+
* without `org:manage` and hide `billing` for users without `billing:read`.
|
|
11
|
+
* Defaults to all three.
|
|
12
|
+
*/
|
|
13
|
+
sections?: PlatformSettingsSection[];
|
|
14
|
+
/** Starting section. Defaults to the first item in `sections`. */
|
|
15
|
+
defaultSection?: PlatformSettingsSection;
|
|
16
|
+
/**
|
|
17
|
+
* Windsock admin API client. Required when `organization` is in `sections`.
|
|
18
|
+
* Create it once with `createAdminClient({ issuer, authClient })` and reuse.
|
|
19
|
+
*/
|
|
20
|
+
adminClient?: AdminClient;
|
|
21
|
+
/**
|
|
22
|
+
* Current organization id (usually `ctx.organizationId` from the JWT).
|
|
23
|
+
* Required when `organization` is in `sections`.
|
|
24
|
+
*/
|
|
25
|
+
organizationId?: string;
|
|
26
|
+
/** Forwarded to `<BillingPanel>` — e.g. redirect handler, billing interval. */
|
|
27
|
+
billing?: BillingPanelProps;
|
|
28
|
+
}
|
|
29
|
+
declare function PlatformSettings({ sections, defaultSection, adminClient, organizationId, billing, }: PlatformSettingsProps): react_jsx_runtime.JSX.Element | null;
|
|
30
|
+
|
|
31
|
+
export { PlatformSettings, type PlatformSettingsProps, type PlatformSettingsSection };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AdminClient } from '@datatechsolutions/shared-domain';
|
|
3
|
+
import { a as BillingPanelProps } from '../../billing-panel-DsHhhJqG.js';
|
|
4
|
+
|
|
5
|
+
type PlatformSettingsSection = 'account' | 'organization' | 'billing';
|
|
6
|
+
interface PlatformSettingsProps {
|
|
7
|
+
/**
|
|
8
|
+
* Sections to surface to the current user. The host app is responsible for
|
|
9
|
+
* picking the right set based on RBAC — e.g. hide `organization` for users
|
|
10
|
+
* without `org:manage` and hide `billing` for users without `billing:read`.
|
|
11
|
+
* Defaults to all three.
|
|
12
|
+
*/
|
|
13
|
+
sections?: PlatformSettingsSection[];
|
|
14
|
+
/** Starting section. Defaults to the first item in `sections`. */
|
|
15
|
+
defaultSection?: PlatformSettingsSection;
|
|
16
|
+
/**
|
|
17
|
+
* Windsock admin API client. Required when `organization` is in `sections`.
|
|
18
|
+
* Create it once with `createAdminClient({ issuer, authClient })` and reuse.
|
|
19
|
+
*/
|
|
20
|
+
adminClient?: AdminClient;
|
|
21
|
+
/**
|
|
22
|
+
* Current organization id (usually `ctx.organizationId` from the JWT).
|
|
23
|
+
* Required when `organization` is in `sections`.
|
|
24
|
+
*/
|
|
25
|
+
organizationId?: string;
|
|
26
|
+
/** Forwarded to `<BillingPanel>` — e.g. redirect handler, billing interval. */
|
|
27
|
+
billing?: BillingPanelProps;
|
|
28
|
+
}
|
|
29
|
+
declare function PlatformSettings({ sections, defaultSection, adminClient, organizationId, billing, }: PlatformSettingsProps): react_jsx_runtime.JSX.Element | null;
|
|
30
|
+
|
|
31
|
+
export { PlatformSettings, type PlatformSettingsProps, type PlatformSettingsSection };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../../chunk-MFAVWJWE.js');
|
|
4
|
+
var chunkY2FR242F_js = require('../../chunk-Y2FR242F.js');
|
|
6
5
|
require('../../chunk-DWIBK7GV.js');
|
|
7
6
|
require('../../chunk-ZF7RJNPD.js');
|
|
8
7
|
require('../../chunk-QGLGQXJE.js');
|
|
8
|
+
require('../../chunk-MFAVWJWE.js');
|
|
9
9
|
require('../../chunk-GD6FHRHV.js');
|
|
10
10
|
require('../../chunk-SY4MUT5V.js');
|
|
11
11
|
require('../../chunk-2OZZH2IO.js');
|
|
@@ -18,7 +18,7 @@ require('../../chunk-S7KHTUHA.js');
|
|
|
18
18
|
|
|
19
19
|
Object.defineProperty(exports, "PlatformSettings", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkY2FR242F_js.PlatformSettings; }
|
|
22
22
|
});
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { PlatformSettings } from '../../chunk-
|
|
3
|
-
import '../../chunk-YNHQ36UU.mjs';
|
|
2
|
+
export { PlatformSettings } from '../../chunk-KZSL7AXW.mjs';
|
|
4
3
|
import '../../chunk-MGZTZELL.mjs';
|
|
5
4
|
import '../../chunk-CTCO2YI5.mjs';
|
|
6
5
|
import '../../chunk-3VYD7QL2.mjs';
|
|
6
|
+
import '../../chunk-YNHQ36UU.mjs';
|
|
7
7
|
import '../../chunk-Z3BMHKKH.mjs';
|
|
8
8
|
import '../../chunk-RHRJXK5R.mjs';
|
|
9
9
|
import '../../chunk-3AY5HIQ6.mjs';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as posthog_js from 'posthog-js';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
type TelemetryUser = {
|
|
6
|
+
/** Stable user id — typically the windsock JWT `sub`. */
|
|
7
|
+
id: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
role?: string;
|
|
11
|
+
/** Tenant id — from `https://datatechsolutions.com.br/organization_id` claim. */
|
|
12
|
+
organizationId?: string;
|
|
13
|
+
};
|
|
14
|
+
type TelemetryProviderProps = {
|
|
15
|
+
/** App slug — e.g. `astrlabe`, `sextant`, `data-br`. Tags every event. */
|
|
16
|
+
app: string;
|
|
17
|
+
/**
|
|
18
|
+
* PostHog project token (write-only key, safe in browser bundles).
|
|
19
|
+
* If unset, the provider falls back to `window.__APP_CONFIG__.posthog.key`
|
|
20
|
+
* (set by the CDK-managed `runtime-config.js`) and then to
|
|
21
|
+
* `import.meta.env.VITE_POSTHOG_KEY`. Pass explicitly only for tests
|
|
22
|
+
* or sub-app embeds.
|
|
23
|
+
*/
|
|
24
|
+
projectKey?: string;
|
|
25
|
+
/**
|
|
26
|
+
* PostHog ingestion host. Falls back through the same chain as
|
|
27
|
+
* `projectKey`; defaults to US Cloud if nothing else resolves.
|
|
28
|
+
*/
|
|
29
|
+
apiHost?: string;
|
|
30
|
+
/** Whether to record session replays. Defaults to true. */
|
|
31
|
+
recordSessions?: boolean;
|
|
32
|
+
/** Current authenticated user, if any. The provider re-identifies on change. */
|
|
33
|
+
user?: TelemetryUser | null;
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Wrap every SPA in this provider. Pass the windsock-resolved user so
|
|
38
|
+
* PostHog associates events with the right tenant; pass `null` after
|
|
39
|
+
* sign-out so the next session is anonymous.
|
|
40
|
+
*/
|
|
41
|
+
declare function TelemetryProvider({ app, projectKey: propProjectKey, apiHost: propApiHost, recordSessions, user, children, }: TelemetryProviderProps): react_jsx_runtime.JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Re-export the posthog-js/react hook so consumer SPAs can capture
|
|
44
|
+
* custom events without importing posthog-js directly:
|
|
45
|
+
*
|
|
46
|
+
* const ph = useTelemetry()
|
|
47
|
+
* ph?.capture('workflow_run_started', { workflowId })
|
|
48
|
+
*/
|
|
49
|
+
declare const useTelemetry: () => posthog_js.PostHog;
|
|
50
|
+
|
|
51
|
+
export { TelemetryProvider, type TelemetryProviderProps, type TelemetryUser, useTelemetry };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as posthog_js from 'posthog-js';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
type TelemetryUser = {
|
|
6
|
+
/** Stable user id — typically the windsock JWT `sub`. */
|
|
7
|
+
id: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
role?: string;
|
|
11
|
+
/** Tenant id — from `https://datatechsolutions.com.br/organization_id` claim. */
|
|
12
|
+
organizationId?: string;
|
|
13
|
+
};
|
|
14
|
+
type TelemetryProviderProps = {
|
|
15
|
+
/** App slug — e.g. `astrlabe`, `sextant`, `data-br`. Tags every event. */
|
|
16
|
+
app: string;
|
|
17
|
+
/**
|
|
18
|
+
* PostHog project token (write-only key, safe in browser bundles).
|
|
19
|
+
* If unset, the provider falls back to `window.__APP_CONFIG__.posthog.key`
|
|
20
|
+
* (set by the CDK-managed `runtime-config.js`) and then to
|
|
21
|
+
* `import.meta.env.VITE_POSTHOG_KEY`. Pass explicitly only for tests
|
|
22
|
+
* or sub-app embeds.
|
|
23
|
+
*/
|
|
24
|
+
projectKey?: string;
|
|
25
|
+
/**
|
|
26
|
+
* PostHog ingestion host. Falls back through the same chain as
|
|
27
|
+
* `projectKey`; defaults to US Cloud if nothing else resolves.
|
|
28
|
+
*/
|
|
29
|
+
apiHost?: string;
|
|
30
|
+
/** Whether to record session replays. Defaults to true. */
|
|
31
|
+
recordSessions?: boolean;
|
|
32
|
+
/** Current authenticated user, if any. The provider re-identifies on change. */
|
|
33
|
+
user?: TelemetryUser | null;
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Wrap every SPA in this provider. Pass the windsock-resolved user so
|
|
38
|
+
* PostHog associates events with the right tenant; pass `null` after
|
|
39
|
+
* sign-out so the next session is anonymous.
|
|
40
|
+
*/
|
|
41
|
+
declare function TelemetryProvider({ app, projectKey: propProjectKey, apiHost: propApiHost, recordSessions, user, children, }: TelemetryProviderProps): react_jsx_runtime.JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Re-export the posthog-js/react hook so consumer SPAs can capture
|
|
44
|
+
* custom events without importing posthog-js directly:
|
|
45
|
+
*
|
|
46
|
+
* const ph = useTelemetry()
|
|
47
|
+
* ph?.capture('workflow_run_started', { workflowId })
|
|
48
|
+
*/
|
|
49
|
+
declare const useTelemetry: () => posthog_js.PostHog;
|
|
50
|
+
|
|
51
|
+
export { TelemetryProvider, type TelemetryProviderProps, type TelemetryUser, useTelemetry };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { WorkflowGraph } from '@datatechsolutions/shared-domain/ports/workflow';
|
|
2
|
+
import { WorkflowGraph as WorkflowGraph$1 } from '../../astrlabe/contracts.mjs';
|
|
3
|
+
|
|
4
|
+
/** Formats a millisecond count as a short, human-readable duration string. */
|
|
5
|
+
declare function formatDurationMs(ms: number | null | undefined): string;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parses a JSON string into a typed value, returning undefined (not throwing)
|
|
9
|
+
* on empty input or malformed JSON. Used by form builders where the user types
|
|
10
|
+
* JSON into a textarea and we want to surface a friendly "couldn't parse" state
|
|
11
|
+
* rather than crashing the submit handler.
|
|
12
|
+
*/
|
|
13
|
+
declare function tryParseJson<T = unknown>(value: FormDataEntryValue | string | null | undefined): T | undefined;
|
|
14
|
+
/** Parses JSON into an object record. Returns undefined if the result is not a plain object. */
|
|
15
|
+
declare function tryParseJsonObject(value: FormDataEntryValue | string | null | undefined): Record<string, unknown> | undefined;
|
|
16
|
+
/** Parses JSON into an array of records. Returns undefined if not a plain array. */
|
|
17
|
+
declare function tryParseJsonArray(value: FormDataEntryValue | string | null | undefined): Array<Record<string, unknown>> | undefined;
|
|
18
|
+
|
|
19
|
+
type ToolCategory = 'search' | 'code' | 'file' | 'web' | 'math' | 'custom';
|
|
20
|
+
declare const TOOL_CATEGORY_VALUES: readonly ToolCategory[];
|
|
21
|
+
/** Narrows a form value to a ToolCategory, returning undefined if not one of the known values. */
|
|
22
|
+
declare function parseToolCategory(value: FormDataEntryValue | null | undefined): ToolCategory | undefined;
|
|
23
|
+
|
|
24
|
+
declare function adaptWorkflowGraphToUi(graph: WorkflowGraph): WorkflowGraph$1;
|
|
25
|
+
|
|
26
|
+
declare function getLambdaApiBase(): string;
|
|
27
|
+
declare function buildLambdaApiUrl(path: string): string;
|
|
28
|
+
|
|
29
|
+
declare function getAuthAppUrl(): string;
|
|
30
|
+
declare function buildHostedAuthUrl(path: string, search?: string): string;
|
|
31
|
+
|
|
32
|
+
export { TOOL_CATEGORY_VALUES, type ToolCategory, adaptWorkflowGraphToUi, buildHostedAuthUrl, buildLambdaApiUrl, formatDurationMs, getAuthAppUrl, getLambdaApiBase, parseToolCategory, tryParseJson, tryParseJsonArray, tryParseJsonObject };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { WorkflowGraph } from '@datatechsolutions/shared-domain/ports/workflow';
|
|
2
|
+
import { WorkflowGraph as WorkflowGraph$1 } from '../../astrlabe/contracts.js';
|
|
3
|
+
|
|
4
|
+
/** Formats a millisecond count as a short, human-readable duration string. */
|
|
5
|
+
declare function formatDurationMs(ms: number | null | undefined): string;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parses a JSON string into a typed value, returning undefined (not throwing)
|
|
9
|
+
* on empty input or malformed JSON. Used by form builders where the user types
|
|
10
|
+
* JSON into a textarea and we want to surface a friendly "couldn't parse" state
|
|
11
|
+
* rather than crashing the submit handler.
|
|
12
|
+
*/
|
|
13
|
+
declare function tryParseJson<T = unknown>(value: FormDataEntryValue | string | null | undefined): T | undefined;
|
|
14
|
+
/** Parses JSON into an object record. Returns undefined if the result is not a plain object. */
|
|
15
|
+
declare function tryParseJsonObject(value: FormDataEntryValue | string | null | undefined): Record<string, unknown> | undefined;
|
|
16
|
+
/** Parses JSON into an array of records. Returns undefined if not a plain array. */
|
|
17
|
+
declare function tryParseJsonArray(value: FormDataEntryValue | string | null | undefined): Array<Record<string, unknown>> | undefined;
|
|
18
|
+
|
|
19
|
+
type ToolCategory = 'search' | 'code' | 'file' | 'web' | 'math' | 'custom';
|
|
20
|
+
declare const TOOL_CATEGORY_VALUES: readonly ToolCategory[];
|
|
21
|
+
/** Narrows a form value to a ToolCategory, returning undefined if not one of the known values. */
|
|
22
|
+
declare function parseToolCategory(value: FormDataEntryValue | null | undefined): ToolCategory | undefined;
|
|
23
|
+
|
|
24
|
+
declare function adaptWorkflowGraphToUi(graph: WorkflowGraph): WorkflowGraph$1;
|
|
25
|
+
|
|
26
|
+
declare function getLambdaApiBase(): string;
|
|
27
|
+
declare function buildLambdaApiUrl(path: string): string;
|
|
28
|
+
|
|
29
|
+
declare function getAuthAppUrl(): string;
|
|
30
|
+
declare function buildHostedAuthUrl(path: string, search?: string): string;
|
|
31
|
+
|
|
32
|
+
export { TOOL_CATEGORY_VALUES, type ToolCategory, adaptWorkflowGraphToUi, buildHostedAuthUrl, buildLambdaApiUrl, formatDurationMs, getAuthAppUrl, getLambdaApiBase, parseToolCategory, tryParseJson, tryParseJsonArray, tryParseJsonObject };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AuthOrganizationDomain, AuthOrganizationRole, AdminCreateOrganizationInput, AuthOrganization, AdminCreateInvitationInput, AdminCreatePermissionInput, AdminPermission, AdminCreateUserInput, AdminUserSummary, AuthOrganizationInvitation, AdminOrganizationMember, AdminListParams, AdminListResult, AdminClient, AdminUpdateOrganizationInput, AdminUpdatePermissionInput, AdminUpdateUserInput } from '@datatechsolutions/shared-domain';
|
|
2
|
+
|
|
3
|
+
declare function setWindsockAdminClient(client: AdminClient, issuer: string, authFetch: typeof fetch): void;
|
|
4
|
+
declare function listUsers(params?: AdminListParams): Promise<AdminListResult<AdminUserSummary>>;
|
|
5
|
+
declare function createUser(data: AdminCreateUserInput): Promise<AdminUserSummary>;
|
|
6
|
+
declare function updateUser(userId: string, data: AdminUpdateUserInput): Promise<void>;
|
|
7
|
+
declare function deleteUser(userId: string): Promise<void>;
|
|
8
|
+
declare function resetUserPassword(userId: string, password: string): Promise<void>;
|
|
9
|
+
declare function listOrganizations(): Promise<AuthOrganization[]>;
|
|
10
|
+
declare function createOrganization(data: AdminCreateOrganizationInput): Promise<AuthOrganization>;
|
|
11
|
+
declare function updateOrganization(organizationId: string, data: AdminUpdateOrganizationInput): Promise<AuthOrganization>;
|
|
12
|
+
declare function deleteOrganization(organizationId: string): Promise<void>;
|
|
13
|
+
declare function listOrganizationMembers(organizationId: string): Promise<AdminOrganizationMember[]>;
|
|
14
|
+
declare function addOrganizationMember(organizationId: string, userId: string, role?: AuthOrganizationRole): Promise<void>;
|
|
15
|
+
declare function removeOrganizationMember(organizationId: string, userId: string): Promise<void>;
|
|
16
|
+
declare function listOrganizationInvitations(organizationId: string): Promise<AuthOrganizationInvitation[]>;
|
|
17
|
+
declare function createOrganizationInvitation(organizationId: string, data: AdminCreateInvitationInput): Promise<void>;
|
|
18
|
+
declare function listOrganizationDomains(organizationId: string): Promise<AuthOrganizationDomain[]>;
|
|
19
|
+
declare function addOrganizationDomain(organizationId: string, domain: string): Promise<AuthOrganizationDomain>;
|
|
20
|
+
declare function verifyOrganizationDomain(organizationId: string, domain: string): Promise<void>;
|
|
21
|
+
declare function listPermissions(): Promise<AdminPermission[]>;
|
|
22
|
+
declare function createPermission(data: AdminCreatePermissionInput): Promise<AdminPermission>;
|
|
23
|
+
declare function updatePermission(permissionId: string, data: AdminUpdatePermissionInput): Promise<void>;
|
|
24
|
+
declare function deletePermission(permissionId: string): Promise<void>;
|
|
25
|
+
declare function getUserPermissions(userId: string): Promise<AdminPermission[]>;
|
|
26
|
+
declare function setUserPermissions(userId: string, permissionIds: string[]): Promise<void>;
|
|
27
|
+
type SecretSummary = {
|
|
28
|
+
secretId: string;
|
|
29
|
+
name: string;
|
|
30
|
+
secretType: string;
|
|
31
|
+
description: string | null;
|
|
32
|
+
expiresAt: string | null;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
updatedAt: string;
|
|
35
|
+
disabled: boolean;
|
|
36
|
+
};
|
|
37
|
+
type SecretDetail = SecretSummary & {
|
|
38
|
+
value?: string;
|
|
39
|
+
};
|
|
40
|
+
type CreateSecretInput = {
|
|
41
|
+
name: string;
|
|
42
|
+
value: string;
|
|
43
|
+
secretType?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
leaseTtlSeconds?: number;
|
|
46
|
+
};
|
|
47
|
+
type UpdateSecretInput = {
|
|
48
|
+
value: string;
|
|
49
|
+
leaseTtlSeconds?: number;
|
|
50
|
+
};
|
|
51
|
+
declare function listSecrets(organizationId: string): Promise<SecretSummary[]>;
|
|
52
|
+
declare function getSecret(organizationId: string, secretId: string): Promise<SecretDetail>;
|
|
53
|
+
declare function createSecret(organizationId: string, input: CreateSecretInput): Promise<SecretSummary>;
|
|
54
|
+
declare function rotateSecret(organizationId: string, secretId: string, input: UpdateSecretInput): Promise<SecretSummary>;
|
|
55
|
+
declare function disableSecret(organizationId: string, secretId: string): Promise<void>;
|
|
56
|
+
|
|
57
|
+
export { type CreateSecretInput, type SecretDetail, type SecretSummary, type UpdateSecretInput, addOrganizationDomain, addOrganizationMember, createOrganization, createOrganizationInvitation, createPermission, createSecret, createUser, deleteOrganization, deletePermission, deleteUser, disableSecret, getSecret, getUserPermissions, listOrganizationDomains, listOrganizationInvitations, listOrganizationMembers, listOrganizations, listPermissions, listSecrets, listUsers, removeOrganizationMember, resetUserPassword, rotateSecret, setUserPermissions, setWindsockAdminClient, updateOrganization, updatePermission, updateUser, verifyOrganizationDomain };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AuthOrganizationDomain, AuthOrganizationRole, AdminCreateOrganizationInput, AuthOrganization, AdminCreateInvitationInput, AdminCreatePermissionInput, AdminPermission, AdminCreateUserInput, AdminUserSummary, AuthOrganizationInvitation, AdminOrganizationMember, AdminListParams, AdminListResult, AdminClient, AdminUpdateOrganizationInput, AdminUpdatePermissionInput, AdminUpdateUserInput } from '@datatechsolutions/shared-domain';
|
|
2
|
+
|
|
3
|
+
declare function setWindsockAdminClient(client: AdminClient, issuer: string, authFetch: typeof fetch): void;
|
|
4
|
+
declare function listUsers(params?: AdminListParams): Promise<AdminListResult<AdminUserSummary>>;
|
|
5
|
+
declare function createUser(data: AdminCreateUserInput): Promise<AdminUserSummary>;
|
|
6
|
+
declare function updateUser(userId: string, data: AdminUpdateUserInput): Promise<void>;
|
|
7
|
+
declare function deleteUser(userId: string): Promise<void>;
|
|
8
|
+
declare function resetUserPassword(userId: string, password: string): Promise<void>;
|
|
9
|
+
declare function listOrganizations(): Promise<AuthOrganization[]>;
|
|
10
|
+
declare function createOrganization(data: AdminCreateOrganizationInput): Promise<AuthOrganization>;
|
|
11
|
+
declare function updateOrganization(organizationId: string, data: AdminUpdateOrganizationInput): Promise<AuthOrganization>;
|
|
12
|
+
declare function deleteOrganization(organizationId: string): Promise<void>;
|
|
13
|
+
declare function listOrganizationMembers(organizationId: string): Promise<AdminOrganizationMember[]>;
|
|
14
|
+
declare function addOrganizationMember(organizationId: string, userId: string, role?: AuthOrganizationRole): Promise<void>;
|
|
15
|
+
declare function removeOrganizationMember(organizationId: string, userId: string): Promise<void>;
|
|
16
|
+
declare function listOrganizationInvitations(organizationId: string): Promise<AuthOrganizationInvitation[]>;
|
|
17
|
+
declare function createOrganizationInvitation(organizationId: string, data: AdminCreateInvitationInput): Promise<void>;
|
|
18
|
+
declare function listOrganizationDomains(organizationId: string): Promise<AuthOrganizationDomain[]>;
|
|
19
|
+
declare function addOrganizationDomain(organizationId: string, domain: string): Promise<AuthOrganizationDomain>;
|
|
20
|
+
declare function verifyOrganizationDomain(organizationId: string, domain: string): Promise<void>;
|
|
21
|
+
declare function listPermissions(): Promise<AdminPermission[]>;
|
|
22
|
+
declare function createPermission(data: AdminCreatePermissionInput): Promise<AdminPermission>;
|
|
23
|
+
declare function updatePermission(permissionId: string, data: AdminUpdatePermissionInput): Promise<void>;
|
|
24
|
+
declare function deletePermission(permissionId: string): Promise<void>;
|
|
25
|
+
declare function getUserPermissions(userId: string): Promise<AdminPermission[]>;
|
|
26
|
+
declare function setUserPermissions(userId: string, permissionIds: string[]): Promise<void>;
|
|
27
|
+
type SecretSummary = {
|
|
28
|
+
secretId: string;
|
|
29
|
+
name: string;
|
|
30
|
+
secretType: string;
|
|
31
|
+
description: string | null;
|
|
32
|
+
expiresAt: string | null;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
updatedAt: string;
|
|
35
|
+
disabled: boolean;
|
|
36
|
+
};
|
|
37
|
+
type SecretDetail = SecretSummary & {
|
|
38
|
+
value?: string;
|
|
39
|
+
};
|
|
40
|
+
type CreateSecretInput = {
|
|
41
|
+
name: string;
|
|
42
|
+
value: string;
|
|
43
|
+
secretType?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
leaseTtlSeconds?: number;
|
|
46
|
+
};
|
|
47
|
+
type UpdateSecretInput = {
|
|
48
|
+
value: string;
|
|
49
|
+
leaseTtlSeconds?: number;
|
|
50
|
+
};
|
|
51
|
+
declare function listSecrets(organizationId: string): Promise<SecretSummary[]>;
|
|
52
|
+
declare function getSecret(organizationId: string, secretId: string): Promise<SecretDetail>;
|
|
53
|
+
declare function createSecret(organizationId: string, input: CreateSecretInput): Promise<SecretSummary>;
|
|
54
|
+
declare function rotateSecret(organizationId: string, secretId: string, input: UpdateSecretInput): Promise<SecretSummary>;
|
|
55
|
+
declare function disableSecret(organizationId: string, secretId: string): Promise<void>;
|
|
56
|
+
|
|
57
|
+
export { type CreateSecretInput, type SecretDetail, type SecretSummary, type UpdateSecretInput, addOrganizationDomain, addOrganizationMember, createOrganization, createOrganizationInvitation, createPermission, createSecret, createUser, deleteOrganization, deletePermission, deleteUser, disableSecret, getSecret, getUserPermissions, listOrganizationDomains, listOrganizationInvitations, listOrganizationMembers, listOrganizations, listPermissions, listSecrets, listUsers, removeOrganizationMember, resetUserPassword, rotateSecret, setUserPermissions, setWindsockAdminClient, updateOrganization, updatePermission, updateUser, verifyOrganizationDomain };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../astrlabe/contracts.mjs';
|
|
2
|
+
import '../index-BNRGVAS5.mjs';
|
|
3
|
+
import '@datatechsolutions/shared-domain/ports/workflow';
|
|
4
|
+
import '@datatechsolutions/shared-domain/common';
|
|
5
|
+
export { h as AiGenerateResponse, i as AiValidateResponse, A as AnalyticsSummary, j as ApprovalDecision, k as ApprovalResponse, l as ModelFamilyCatalogEntry, m as ModelProviderCatalogEntry, M as ModelProviderConnection, N as NodeMetrics, n as NodeValidationIssue, P as PresignUploadInput, o as PresignedUpload, p as PublicSampleWorkflow, q as RunEvent, r as RunSubscriptionState, R as RunTimelineEntry, W as WorkflowRunListParams, s as WorkflowTemplateSummary, t as aiGenerateWorkflow, u as aiValidateWorkflow, v as buildAuthenticatedApiUrl, w as cancelWorkflowRun, x as createAgentConfig, y as createAgentPrompt, z as createAgentRule, B as createAgentTool, C as createAgentToolDefinition, E as createDatasource, F as createModelProviderConnection, G as createWorkflow, H as createWorkflowFromTemplate, I as deleteAgentConfig, J as deleteAgentPrompt, K as deleteAgentRule, L as deleteAgentTool, O as deleteAgentToolDefinition, Q as deleteModelProviderConnection, S as deleteUpload, T as deleteWorkflow, U as executeAgentRule, V as executeWorkflow, X as getAgentConfigsWithPrompts, Y as getAgentModels, Z as getAgentPrompts, _ as getAgentRules, $ as getAgentToolDefinitions, a0 as getAgentTools, a1 as getAnalyticsSummary, a2 as getCurrentAccessToken, a3 as getDatasourceSchema, a4 as getDatasourceTables, a5 as getDatasources, a6 as getPublicSampleWorkflow, a7 as getRunTimeline, a8 as getUploadDownloadUrl, a9 as getWorkflowById, aa as getWorkflowRunById, ab as getWorkflowRuns, ac as getWorkflows, ad as listModelProviderCatalog, ae as listModelProviderConnections, af as listWorkflowRuns, ag as listWorkflowTemplates, ah as presignUpload, ai as publishWorkflow, aj as replayWorkflowRun, ak as saveWorkflowDraft, al as setAccessTokenProvider, am as setAuthenticatedFetch, an as submitApproval, ao as subscribeToRunEvents, ap as updateAgentConfig, aq as updateAgentPrompt, ar as updateAgentRule, as as updateAgentTool, at as updateAgentToolDefinition, au as updateModelProviderConnection, av as updateWorkflowSettings } from '../workflow-api-client-CpFl3WcG.mjs';
|
|
6
|
+
import 'react/jsx-runtime';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../astrlabe/contracts.js';
|
|
2
|
+
import '../index-CnCY-b5V.js';
|
|
3
|
+
import '@datatechsolutions/shared-domain/ports/workflow';
|
|
4
|
+
import '@datatechsolutions/shared-domain/common';
|
|
5
|
+
export { h as AiGenerateResponse, i as AiValidateResponse, A as AnalyticsSummary, j as ApprovalDecision, k as ApprovalResponse, l as ModelFamilyCatalogEntry, m as ModelProviderCatalogEntry, M as ModelProviderConnection, N as NodeMetrics, n as NodeValidationIssue, P as PresignUploadInput, o as PresignedUpload, p as PublicSampleWorkflow, q as RunEvent, r as RunSubscriptionState, R as RunTimelineEntry, W as WorkflowRunListParams, s as WorkflowTemplateSummary, t as aiGenerateWorkflow, u as aiValidateWorkflow, v as buildAuthenticatedApiUrl, w as cancelWorkflowRun, x as createAgentConfig, y as createAgentPrompt, z as createAgentRule, B as createAgentTool, C as createAgentToolDefinition, E as createDatasource, F as createModelProviderConnection, G as createWorkflow, H as createWorkflowFromTemplate, I as deleteAgentConfig, J as deleteAgentPrompt, K as deleteAgentRule, L as deleteAgentTool, O as deleteAgentToolDefinition, Q as deleteModelProviderConnection, S as deleteUpload, T as deleteWorkflow, U as executeAgentRule, V as executeWorkflow, X as getAgentConfigsWithPrompts, Y as getAgentModels, Z as getAgentPrompts, _ as getAgentRules, $ as getAgentToolDefinitions, a0 as getAgentTools, a1 as getAnalyticsSummary, a2 as getCurrentAccessToken, a3 as getDatasourceSchema, a4 as getDatasourceTables, a5 as getDatasources, a6 as getPublicSampleWorkflow, a7 as getRunTimeline, a8 as getUploadDownloadUrl, a9 as getWorkflowById, aa as getWorkflowRunById, ab as getWorkflowRuns, ac as getWorkflows, ad as listModelProviderCatalog, ae as listModelProviderConnections, af as listWorkflowRuns, ag as listWorkflowTemplates, ah as presignUpload, ai as publishWorkflow, aj as replayWorkflowRun, ak as saveWorkflowDraft, al as setAccessTokenProvider, am as setAuthenticatedFetch, an as submitApproval, ao as subscribeToRunEvents, ap as updateAgentConfig, aq as updateAgentPrompt, ar as updateAgentRule, as as updateAgentTool, at as updateAgentToolDefinition, au as updateModelProviderConnection, av as updateWorkflowSettings } from '../workflow-api-client-uLICOanv.js';
|
|
6
|
+
import 'react/jsx-runtime';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { WorkflowCanvasShellProps } from '@datatechsolutions/shared-domain/common';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Workflow canvas shell with optional message bundle override.
|
|
6
|
+
*
|
|
7
|
+
* Most apps wrap their tree in `<I18nProvider>` and let the canvas read
|
|
8
|
+
* messages from context — in that case `messages` can be omitted. Apps
|
|
9
|
+
* that need to inject a precomputed bundle (e.g. for tests or app-specific
|
|
10
|
+
* overrides not shipped with shared-domain) can pass it explicitly.
|
|
11
|
+
*/
|
|
12
|
+
type Props = WorkflowCanvasShellProps & {
|
|
13
|
+
/** Optional override for the messages catalog passed into the canvas. */
|
|
14
|
+
messages?: Record<string, unknown>;
|
|
15
|
+
};
|
|
16
|
+
declare function WorkflowCanvasShell({ graph, messages }: Props): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { WorkflowCanvasShell };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { WorkflowCanvasShellProps } from '@datatechsolutions/shared-domain/common';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Workflow canvas shell with optional message bundle override.
|
|
6
|
+
*
|
|
7
|
+
* Most apps wrap their tree in `<I18nProvider>` and let the canvas read
|
|
8
|
+
* messages from context — in that case `messages` can be omitted. Apps
|
|
9
|
+
* that need to inject a precomputed bundle (e.g. for tests or app-specific
|
|
10
|
+
* overrides not shipped with shared-domain) can pass it explicitly.
|
|
11
|
+
*/
|
|
12
|
+
type Props = WorkflowCanvasShellProps & {
|
|
13
|
+
/** Optional override for the messages catalog passed into the canvas. */
|
|
14
|
+
messages?: Record<string, unknown>;
|
|
15
|
+
};
|
|
16
|
+
declare function WorkflowCanvasShell({ graph, messages }: Props): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { WorkflowCanvasShell };
|