@hachej/boring-workspace 0.1.63 → 0.1.65
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/FileTree-B_fRS4Om.js +230 -0
- package/dist/MarkdownEditor-C55gVDyW.js +743 -0
- package/dist/WorkspaceLoadingState-D3i4X-eH.js +847 -0
- package/dist/WorkspaceProvider-Ddx7GByq.js +8770 -0
- package/dist/app-front.d.ts +106 -4
- package/dist/app-front.js +3110 -2427
- package/dist/app-server.d.ts +2 -2
- package/dist/app-server.js +6 -4
- package/dist/boring-workspace.css +2 -1
- package/dist/charts.d.ts +6 -1
- package/dist/charts.js +131 -138
- package/dist/plugin.d.ts +64 -1
- package/dist/plugin.js +32 -0
- package/dist/rolldown-runtime-Dqa2HsxW.js +20 -0
- package/dist/{runtimeEnv-HolIkcoB.d.ts → runtimeEnv-CU-c4kaV.d.ts} +7 -0
- package/dist/server.d.ts +2 -2
- package/dist/server.js +4 -3
- package/dist/testing-e2e.d.ts +5 -0
- package/dist/testing-e2e.js +33 -42
- package/dist/testing.d.ts +6 -1
- package/dist/testing.js +9474 -10814
- package/dist/utils-BRcxFdrz.js +8 -0
- package/dist/workspace.css +2790 -301
- package/dist/workspace.d.ts +164 -21
- package/dist/workspace.js +568 -734
- package/docs/plans/archive/CODE_OWNERSHIP_CLEANUP_PLAN.md +1 -1
- package/docs/plans/archive/DECLARATIVE_LAYOUT_MIGRATION.md +4 -4
- package/docs/plans/archive/GENERIC_EXPLORER_PLUGIN_PLAN.md +10 -10
- package/docs/plans/archive/PLUGIN_MODEL.md +37 -37
- package/docs/plans/archive/WORKSPACE_V2_PLAN.md +2 -2
- package/package.json +50 -50
- package/dist/FileTree-CUvn5K86.js +0 -315
- package/dist/MarkdownEditor-5f4lhBqc.js +0 -598
- package/dist/WorkspaceLoadingState-y087Q6ek.js +0 -866
- package/dist/WorkspaceProvider-U4izhS84.js +0 -8660
- package/dist/utils-B6yFEsav.js +0 -8
package/dist/app-server.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PiPackageSource, PiExtensionFactory, CreateAgentAppOptions, ProvisionWorkspaceRuntimeOptions } from '@hachej/boring-agent/server';
|
|
2
2
|
export { PiPackageSource as WorkspacePiPackageSource } from '@hachej/boring-agent/server';
|
|
3
3
|
import { FastifyInstance } from 'fastify';
|
|
4
|
-
import { W as WorkspaceServerPlugin, S as ServerBootstrapOptions, a as WorkspaceBridgeRegistry, B as BridgeAuthPolicy, b as WorkspaceBridgeHandler, c as WorkspaceBridgeRuntimeEnvOptions, d as BoringPluginSourceInput, e as BoringPluginFrontTargetResolver, f as createInMemoryBridge, g as WorkspaceProvisioningContribution, h as WorkspaceRouteContribution } from './runtimeEnv-
|
|
5
|
-
export { i as ServerWorkspaceRuntimeProvisioningInput } from './runtimeEnv-
|
|
4
|
+
import { W as WorkspaceServerPlugin, S as ServerBootstrapOptions, a as WorkspaceBridgeRegistry, B as BridgeAuthPolicy, b as WorkspaceBridgeHandler, c as WorkspaceBridgeRuntimeEnvOptions, d as BoringPluginSourceInput, e as BoringPluginFrontTargetResolver, f as createInMemoryBridge, g as WorkspaceProvisioningContribution, h as WorkspaceRouteContribution } from './runtimeEnv-CU-c4kaV.js';
|
|
5
|
+
export { i as ServerWorkspaceRuntimeProvisioningInput } from './runtimeEnv-CU-c4kaV.js';
|
|
6
6
|
import { W as WorkspaceBridgeOperationDefinition } from './workspace-bridge-rpc-A98RA5o6.js';
|
|
7
7
|
import './manifest-C2vVgH_e.js';
|
|
8
8
|
import './agent-tool-CB0RQyx9.js';
|
package/dist/app-server.js
CHANGED
|
@@ -3089,17 +3089,18 @@ function createLocalCliBridgeAuthPolicy(options) {
|
|
|
3089
3089
|
);
|
|
3090
3090
|
}
|
|
3091
3091
|
ensureCallerAllowed(input.definition, "browser");
|
|
3092
|
-
if (input.workspaceId !== options.workspaceId) {
|
|
3092
|
+
if (!options.forceOwnerWorkspaceId && input.workspaceId !== options.workspaceId) {
|
|
3093
3093
|
throw createWorkspaceBridgeError(
|
|
3094
3094
|
"BRIDGE_RESOURCE_SCOPE_DENIED" /* ResourceScopeDenied */,
|
|
3095
3095
|
"Local CLI bridge caller is not authorized for workspace"
|
|
3096
3096
|
);
|
|
3097
3097
|
}
|
|
3098
|
+
const workspaceId = options.forceOwnerWorkspaceId ? options.workspaceId : input.workspaceId;
|
|
3098
3099
|
const capabilities = options.capabilities ?? input.definition.requiredCapabilities;
|
|
3099
3100
|
ensureCapabilities(capabilities, input.requiredCapabilities ?? input.definition.requiredCapabilities);
|
|
3100
3101
|
const context = makeContext({
|
|
3101
3102
|
callerClass: "browser",
|
|
3102
|
-
workspaceId
|
|
3103
|
+
workspaceId,
|
|
3103
3104
|
sessionId: input.sessionId,
|
|
3104
3105
|
pluginId: input.pluginId,
|
|
3105
3106
|
capabilities,
|
|
@@ -3109,7 +3110,7 @@ function createLocalCliBridgeAuthPolicy(options) {
|
|
|
3109
3110
|
context,
|
|
3110
3111
|
effectiveCapabilities: capabilities,
|
|
3111
3112
|
principal: { userId: "local-cli" },
|
|
3112
|
-
resourceScope: { workspaceId
|
|
3113
|
+
resourceScope: { workspaceId, sessionId: input.sessionId }
|
|
3113
3114
|
};
|
|
3114
3115
|
}
|
|
3115
3116
|
};
|
|
@@ -4141,7 +4142,8 @@ function resolveWorkspaceBridgeBrowserAuthPolicy(opts, registry) {
|
|
|
4141
4142
|
emitLocalCliBridgeAuthWarning();
|
|
4142
4143
|
return createLocalCliBridgeAuthPolicy({
|
|
4143
4144
|
workspaceId: "default",
|
|
4144
|
-
capabilities: registry.listDefinitions().flatMap((definition) => [...definition.requiredCapabilities])
|
|
4145
|
+
capabilities: registry.listDefinitions().flatMap((definition) => [...definition.requiredCapabilities]),
|
|
4146
|
+
forceOwnerWorkspaceId: true
|
|
4145
4147
|
});
|
|
4146
4148
|
}
|
|
4147
4149
|
function emitLocalCliBridgeAuthWarning() {
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
.dv-shell{--dv-background-color:
|
|
1
|
+
.dv-shell{--dv-background-color:var(--background);--dv-paneview-header-border-color:var(--border);--dv-tabs-and-actions-container-font-size:.8125rem;--dv-tabs-and-actions-container-height:52px;--dv-tab-close-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--dv-group-view-background-color:var(--background);--dv-tabs-and-actions-container-background-color:var(--background);--dv-activegroup-visiblepanel-tab-background-color:var(--background);--dv-activegroup-hiddenpanel-tab-background-color:var(--muted);--dv-inactivegroup-visiblepanel-tab-background-color:var(--background);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--muted);--dv-activegroup-visiblepanel-tab-color:var(--foreground);--dv-activegroup-hiddenpanel-tab-color:var(--muted-foreground);--dv-inactivegroup-visiblepanel-tab-color:var(--foreground);--dv-inactivegroup-hiddenpanel-tab-color:var(--muted-foreground);--dv-tab-divider-color:transparent;--dv-drag-over-background-color:oklch(from var(--accent) l c h / .3);--dv-drag-over-border-color:var(--accent);--dv-separator-border:var(--border);color:var(--foreground);background-color:var(--background)}.dv-shell .dv-tabs-and-actions-container,.dv-shell .tabs-and-actions-container{border-bottom:1px solid oklch(from var(--border) l c h / .4);align-items:flex-end;gap:4px;padding:6px 8px 0;background-color:var(--background)!important}.dv-shell .dv-tabs-container,.dv-shell .tab-container{align-self:stretch;align-items:flex-end;gap:4px;display:flex;background-color:#0000!important}.workbench-dockview .dv-shell .dv-tabs-and-actions-container,.workbench-dockview .dv-shell .tabs-and-actions-container,.workbench-dockview .dv-tabs-and-actions-container,.workbench-dockview .tabs-and-actions-container{height:44px!important}.workbench-dockview[data-left-block-collapsed=true] .dv-tabs-and-actions-container,.workbench-dockview[data-left-block-collapsed=true] .tabs-and-actions-container{padding-left:44px!important}[data-boring-workspace-part=plugin-tabs-shell][data-boring-state=collapsed] .dv-chat-stage .dv-tabs-and-actions-container,[data-boring-workspace-part=plugin-tabs-shell][data-boring-state=collapsed] .dv-chat-stage .tabs-and-actions-container{padding-left:48px!important}.workbench-dockview .dv-tabs-and-actions-container,.workbench-dockview .tabs-and-actions-container{padding-right:72px!important}.dv-shell .dv-tab,.dv-shell .tab{letter-spacing:-.01em;border:1px solid #0000;border-top-left-radius:8px;border-top-right-radius:8px;align-self:end;min-width:120px;max-width:220px;height:34px;padding:0;font-size:12.5px;transition:color .18s cubic-bezier(.22,1,.36,1),background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1);color:var(--muted-foreground)!important;background-color:#0000!important}.dv-shell .dv-tab:hover,.dv-shell .tab:hover{color:var(--foreground)!important;background-color:oklch(from var(--foreground) l c h / .04)!important}.dv-shell .dv-tab>*,.dv-shell .tab>*{width:100%;height:100%}.dv-shell .dv-tab.dv-active-tab,.dv-shell .tab.active-tab{border-color:oklch(from var(--border) l c h / .5);border-bottom-color:var(--background);z-index:1;margin-bottom:-1px;font-weight:500;position:relative;color:var(--foreground)!important;background-color:var(--background)!important}.dv-shell .dv-tab.dv-active-tab:before,.dv-shell .tab.active-tab:before{content:"";background:var(--accent);opacity:0;border-radius:0 0 2px 2px;height:2px;transition:opacity .2s cubic-bezier(.22,1,.36,1);position:absolute;top:-1px;left:10px;right:10px}.dv-shell .dv-tab.dv-active-tab:hover:before,.dv-shell .tab.active-tab:hover:before{opacity:.7}.dv-shell{--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-delay:0s}.dv-shell .sash-container .sash,.dv-shell .dv-sash-container .dv-sash{transition:box-shadow .16s cubic-bezier(.22,1,.36,1),background-color .16s cubic-bezier(.22,1,.36,1)}.dv-shell .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash{width:12px;margin-left:-4px}.dv-shell .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash{height:12px;margin-top:-4px}.dv-shell .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash:hover,.dv-shell .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash:active{box-shadow:inset 0 0 0 1px oklch(from var(--primary) l c h / .45), inset 5px 0 0 oklch(from var(--primary) l c h / .35), inset 6px 0 0 oklch(from var(--primary) l c h / .35)}.dv-shell .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash:hover,.dv-shell .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash:active{box-shadow:inset 0 0 0 1px oklch(from var(--primary) l c h / .45), inset 0 5px 0 oklch(from var(--primary) l c h / .35), inset 0 6px 0 oklch(from var(--primary) l c h / .35)}.dv-shell .drop-target-dropzone>.drop-target-selection,.dv-shell .dv-drop-target-dropzone>.dv-drop-target-selection{background-color:oklch(from var(--primary) l c h / .15);border:2px dashed var(--primary);border-radius:calc(var(--radius) - 2px)}.dv-shell .watermark,.dv-shell .dv-watermark{color:var(--muted-foreground)}.dv-shell,.dv-shell .dv-dockview,.dv-shell .dv-groupview,.dv-shell .groupview,.dv-shell .groupview>.content-container,.dv-shell .dv-view-container,.dv-shell .view-container{background-color:var(--background)}.dv-shell .dv-groupview,.dv-shell .groupview{color:var(--foreground)}.dv-shell .right-actions-container,.dv-shell .left-actions-container,.dv-shell .dv-right-actions-container,.dv-shell .dv-left-actions-container{color:var(--muted-foreground);align-self:stretch;align-items:center;display:flex}.dv-shell .right-actions-container:hover,.dv-shell .left-actions-container:hover,.dv-shell .dv-right-actions-container:hover,.dv-shell .dv-left-actions-container:hover{color:var(--foreground)}.dv-shell .dv-drag-image{opacity:.85;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);box-shadow:0 4px 12px oklch(0% 0 0/.15)}.dv-chat-stage{--dv-tabs-and-actions-container-height:32px;--dv-tabs-and-actions-container-font-size:.75rem;--dv-activegroup-visiblepanel-tab-background-color:transparent;--dv-activegroup-hiddenpanel-tab-background-color:transparent;--dv-inactivegroup-visiblepanel-tab-background-color:transparent;--dv-inactivegroup-hiddenpanel-tab-background-color:transparent}.dv-shell.dv-chat-stage .dv-tabs-and-actions-container{height:var(--dv-tabs-and-actions-container-height);box-sizing:border-box;border-bottom:none;flex-shrink:0;align-items:stretch;gap:0;padding:0}.dv-shell.dv-chat-stage .dv-tabs-and-actions-container.dv-single-tab .dv-scrollable,.dv-shell.dv-chat-stage .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container,.dv-shell.dv-chat-stage .dv-tabs-and-actions-container.dv-single-tab .dv-react-part{height:100%}.dv-shell.dv-chat-stage .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container{align-items:stretch;width:100%}.dv-shell.dv-chat-stage .dv-tab,.dv-shell.dv-chat-stage .dv-tab.dv-active-tab{border:none;border-radius:0;flex:auto;align-self:stretch;width:100%;min-width:0;max-width:none;height:100%;margin-bottom:0;padding:0;background-color:#0000!important}.dv-shell.dv-chat-stage .dv-tab.dv-active-tab:before{content:none}.dv-chat-stage .dv-default-tab-action{display:none}.dv-chat-stage .dv-groupview{position:relative}.dv-chat-stage .dv-groupview:after{content:"";z-index:40;pointer-events:none;background:0 0;transition:background-color .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}[data-boring-workspace-part=chat-pane-stage][data-multi-pane=true] .dv-groupview:not(.dv-active-group):after{background:oklch(from var(--foreground) l c h / .035)}
|
|
2
|
+
/*$vite$:1*/
|
package/dist/charts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSX } from 'react
|
|
1
|
+
import { JSX } from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
export declare const boringAreaProps: {
|
|
@@ -112,3 +112,8 @@ export declare function defaultBoringChartValueFormatter(value: unknown): string
|
|
|
112
112
|
export declare function getBoringChartColor(index: number, theme?: BoringChartTheme): string;
|
|
113
113
|
|
|
114
114
|
export { }
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
declare global {
|
|
118
|
+
var __BORING_RUNTIME_SINGLETONS__: Record<string, unknown> | undefined;
|
|
119
|
+
}
|
package/dist/charts.js
CHANGED
|
@@ -1,143 +1,136 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { t as e } from "./utils-BRcxFdrz.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/front/charts/index.tsx
|
|
4
|
+
var r = [
|
|
5
|
+
"var(--chart-1, var(--accent))",
|
|
6
|
+
"var(--chart-2, #60a5fa)",
|
|
7
|
+
"var(--chart-3, #34d399)",
|
|
8
|
+
"var(--chart-4, #f59e0b)",
|
|
9
|
+
"var(--chart-5, #f472b6)",
|
|
10
|
+
"var(--chart-6, #a78bfa)",
|
|
11
|
+
"var(--chart-7, #22d3ee)",
|
|
12
|
+
"var(--chart-8, #fb7185)"
|
|
13
|
+
], i = {
|
|
14
|
+
background: "var(--background)",
|
|
15
|
+
foreground: "var(--foreground)",
|
|
16
|
+
mutedForeground: "var(--muted-foreground)",
|
|
17
|
+
border: "var(--border)",
|
|
18
|
+
grid: "oklch(from var(--border) l c h / 0.48)",
|
|
19
|
+
tooltipBackground: "var(--popover, var(--background))",
|
|
20
|
+
tooltipBorder: "var(--border)",
|
|
21
|
+
tooltipForeground: "var(--popover-foreground, var(--foreground))",
|
|
22
|
+
palette: r
|
|
22
23
|
};
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
function a(e, t = i) {
|
|
25
|
+
if (t.palette.length === 0) return "var(--accent)";
|
|
26
|
+
let n = ((Number.isFinite(e) ? Math.trunc(e) : 0) % t.palette.length + t.palette.length) % t.palette.length;
|
|
27
|
+
return t.palette[n] ?? t.palette[0] ?? "var(--accent)";
|
|
27
28
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
29
|
+
function o(e) {
|
|
30
|
+
return typeof e == "number" ? new Intl.NumberFormat(void 0, { maximumFractionDigits: 2 }).format(e) : e == null ? "—" : String(e);
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
);
|
|
32
|
+
function s({ active: e, payload: r, label: s, valueFormatter: c = o }) {
|
|
33
|
+
return !e || !r || r.length === 0 ? null : /* @__PURE__ */ n("div", {
|
|
34
|
+
className: "min-w-32 rounded-md border px-2.5 py-2 text-xs shadow-xl",
|
|
35
|
+
style: {
|
|
36
|
+
background: i.tooltipBackground,
|
|
37
|
+
borderColor: i.tooltipBorder,
|
|
38
|
+
color: i.tooltipForeground
|
|
39
|
+
},
|
|
40
|
+
children: [s != null && /* @__PURE__ */ t("div", {
|
|
41
|
+
className: "mb-1.5 font-medium",
|
|
42
|
+
style: { color: i.foreground },
|
|
43
|
+
children: String(s)
|
|
44
|
+
}), /* @__PURE__ */ t("div", {
|
|
45
|
+
className: "space-y-1",
|
|
46
|
+
children: r.map((e, r) => /* @__PURE__ */ n("div", {
|
|
47
|
+
className: "flex items-center justify-between gap-4",
|
|
48
|
+
children: [/* @__PURE__ */ n("span", {
|
|
49
|
+
className: "inline-flex items-center gap-1.5",
|
|
50
|
+
style: { color: i.mutedForeground },
|
|
51
|
+
children: [/* @__PURE__ */ t("span", {
|
|
52
|
+
"aria-hidden": "true",
|
|
53
|
+
className: "size-2 rounded-full",
|
|
54
|
+
style: { background: e.color ?? a(r) }
|
|
55
|
+
}), String(e.name ?? e.dataKey ?? "Series")]
|
|
56
|
+
}), /* @__PURE__ */ t("span", {
|
|
57
|
+
className: "font-mono tabular-nums",
|
|
58
|
+
style: { color: i.foreground },
|
|
59
|
+
children: c(e.value)
|
|
60
|
+
})]
|
|
61
|
+
}, `${e.dataKey ?? e.name ?? "series"}:${r}`))
|
|
62
|
+
})]
|
|
63
|
+
});
|
|
65
64
|
}
|
|
66
|
-
function
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
65
|
+
function c({ title: r, subtitle: a, source: o, height: s = 320, className: c, children: l }) {
|
|
66
|
+
return /* @__PURE__ */ n("figure", {
|
|
67
|
+
className: e("flex min-h-0 w-full flex-col rounded-xl border bg-card/60 text-card-foreground", "shadow-[0_1px_2px_-1px_oklch(0_0_0/0.08),0_12px_32px_-22px_oklch(0_0_0/0.28)]", c),
|
|
68
|
+
style: { borderColor: i.border },
|
|
69
|
+
children: [
|
|
70
|
+
(r || a) && /* @__PURE__ */ n("figcaption", {
|
|
71
|
+
className: "border-b px-3 py-2",
|
|
72
|
+
style: { borderColor: i.border },
|
|
73
|
+
children: [r && /* @__PURE__ */ t("div", {
|
|
74
|
+
className: "text-sm font-semibold tracking-[-0.01em]",
|
|
75
|
+
children: r
|
|
76
|
+
}), a && /* @__PURE__ */ t("div", {
|
|
77
|
+
className: "mt-0.5 text-xs text-muted-foreground",
|
|
78
|
+
children: a
|
|
79
|
+
})]
|
|
80
|
+
}),
|
|
81
|
+
/* @__PURE__ */ t("div", {
|
|
82
|
+
className: "min-h-0 flex-1 p-3",
|
|
83
|
+
style: { height: s },
|
|
84
|
+
children: l
|
|
85
|
+
}),
|
|
86
|
+
o && /* @__PURE__ */ t("div", {
|
|
87
|
+
className: "border-t px-3 py-1.5 text-[11px] text-muted-foreground",
|
|
88
|
+
style: { borderColor: i.border },
|
|
89
|
+
children: o
|
|
90
|
+
})
|
|
91
|
+
]
|
|
92
|
+
});
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
x as boringLegendProps,
|
|
138
|
-
k as boringLineProps,
|
|
139
|
-
A as boringPieProps,
|
|
140
|
-
C as boringReferenceAreaProps,
|
|
141
|
-
g as defaultBoringChartValueFormatter,
|
|
142
|
-
u as getBoringChartColor
|
|
143
|
-
};
|
|
94
|
+
var l = {
|
|
95
|
+
tick: {
|
|
96
|
+
fill: i.mutedForeground,
|
|
97
|
+
fontSize: 11
|
|
98
|
+
},
|
|
99
|
+
axisLine: { stroke: i.border },
|
|
100
|
+
tickLine: { stroke: i.border }
|
|
101
|
+
}, u = {
|
|
102
|
+
stroke: i.grid,
|
|
103
|
+
strokeDasharray: "3 3",
|
|
104
|
+
vertical: !1
|
|
105
|
+
}, d = { wrapperStyle: {
|
|
106
|
+
color: i.mutedForeground,
|
|
107
|
+
fontSize: 12
|
|
108
|
+
} }, f = {
|
|
109
|
+
type: "monotone",
|
|
110
|
+
strokeWidth: 2,
|
|
111
|
+
dot: !1,
|
|
112
|
+
activeDot: { r: 4 },
|
|
113
|
+
connectNulls: !0,
|
|
114
|
+
isAnimationActive: !1
|
|
115
|
+
}, p = {
|
|
116
|
+
type: "monotone",
|
|
117
|
+
strokeWidth: 2,
|
|
118
|
+
dot: !1,
|
|
119
|
+
connectNulls: !0,
|
|
120
|
+
isAnimationActive: !1
|
|
121
|
+
}, m = {
|
|
122
|
+
radius: [
|
|
123
|
+
6,
|
|
124
|
+
6,
|
|
125
|
+
2,
|
|
126
|
+
2
|
|
127
|
+
],
|
|
128
|
+
isAnimationActive: !1
|
|
129
|
+
}, h = {
|
|
130
|
+
innerRadius: "58%",
|
|
131
|
+
outerRadius: "82%",
|
|
132
|
+
paddingAngle: 2,
|
|
133
|
+
isAnimationActive: !1
|
|
134
|
+
}, g = { fill: "oklch(from var(--accent) l c h / 0.20)" };
|
|
135
|
+
//#endregion
|
|
136
|
+
export { c as BoringChartFrame, s as BoringTooltip, p as boringAreaProps, m as boringBarProps, l as boringCartesianAxisProps, u as boringCartesianGridProps, r as boringChartPalette, i as boringChartTheme, d as boringLegendProps, f as boringLineProps, h as boringPieProps, g as boringReferenceAreaProps, o as defaultBoringChartValueFormatter, a as getBoringChartColor };
|
package/dist/plugin.d.ts
CHANGED
|
@@ -117,6 +117,20 @@ interface BoringFrontBindingRegistration {
|
|
|
117
117
|
id: string;
|
|
118
118
|
component: PluginBinding;
|
|
119
119
|
}
|
|
120
|
+
interface BoringFrontAppLeftOverlayProps {
|
|
121
|
+
onClose: () => void;
|
|
122
|
+
}
|
|
123
|
+
interface BoringFrontAppLeftActionRegistration {
|
|
124
|
+
id: string;
|
|
125
|
+
label: string;
|
|
126
|
+
icon?: ComponentType<{
|
|
127
|
+
className?: string;
|
|
128
|
+
}>;
|
|
129
|
+
trailing?: ComponentType;
|
|
130
|
+
overlay: ComponentType<BoringFrontAppLeftOverlayProps>;
|
|
131
|
+
order?: number;
|
|
132
|
+
emphasis?: boolean;
|
|
133
|
+
}
|
|
120
134
|
interface BoringFrontSurfaceResolverRegistration {
|
|
121
135
|
id?: string;
|
|
122
136
|
kind: string;
|
|
@@ -140,6 +154,7 @@ interface BoringFrontAPI {
|
|
|
140
154
|
registerPanel<T = unknown>(registration: BoringFrontPanelRegistration<T>): void;
|
|
141
155
|
registerWorkspaceSource<T = unknown>(registration: BoringFrontWorkspaceSourceRegistration<T>): void;
|
|
142
156
|
registerPanelCommand(registration: BoringFrontPanelCommandRegistration): void;
|
|
157
|
+
registerAppLeftAction(registration: BoringFrontAppLeftActionRegistration): void;
|
|
143
158
|
registerSurfaceResolver(registration: BoringFrontSurfaceResolverRegistration): void;
|
|
144
159
|
registerToolRenderer(registration: BoringFrontToolRendererRegistration): void;
|
|
145
160
|
}
|
|
@@ -166,6 +181,7 @@ interface DefinePluginConfig {
|
|
|
166
181
|
panels?: ReadonlyArray<BoringFrontPanelRegistration<any>>;
|
|
167
182
|
workspaceSources?: ReadonlyArray<BoringFrontWorkspaceSourceRegistration<any>>;
|
|
168
183
|
commands?: ReadonlyArray<BoringFrontPanelCommandRegistration>;
|
|
184
|
+
appLeftActions?: ReadonlyArray<BoringFrontAppLeftActionRegistration>;
|
|
169
185
|
surfaceResolvers?: ReadonlyArray<BoringFrontSurfaceResolverRegistration>;
|
|
170
186
|
providers?: ReadonlyArray<BoringFrontProviderRegistration>;
|
|
171
187
|
bindings?: ReadonlyArray<BoringFrontBindingRegistration>;
|
|
@@ -193,6 +209,7 @@ interface CapturedBoringFrontRegistrations {
|
|
|
193
209
|
panels: BoringFrontPanelRegistration<any>[];
|
|
194
210
|
workspaceSources: BoringFrontWorkspaceSourceRegistration<any>[];
|
|
195
211
|
panelCommands: BoringFrontPanelCommandRegistration[];
|
|
212
|
+
appLeftActions: BoringFrontAppLeftActionRegistration[];
|
|
196
213
|
surfaceResolvers: BoringFrontSurfaceResolverRegistration[];
|
|
197
214
|
toolRenderers: BoringFrontToolRendererRegistration[];
|
|
198
215
|
}
|
|
@@ -209,6 +226,52 @@ declare function createCapturingBoringFrontAPI(options?: {
|
|
|
209
226
|
}): CapturingBoringFrontAPIHandle;
|
|
210
227
|
declare function captureFrontPlugin(plugin: BoringFrontFactoryWithId): CapturedFrontPlugin;
|
|
211
228
|
|
|
229
|
+
interface AppLeftOverlayChromeValue {
|
|
230
|
+
headerInsetStart: boolean;
|
|
231
|
+
headerInsetEnd: boolean;
|
|
232
|
+
}
|
|
233
|
+
declare function useAppLeftOverlayChrome(): AppLeftOverlayChromeValue;
|
|
234
|
+
|
|
235
|
+
type WorkspaceShellArtifactTarget = {
|
|
236
|
+
type: "surface";
|
|
237
|
+
surfaceKind: string;
|
|
238
|
+
target?: string;
|
|
239
|
+
params?: Record<string, unknown>;
|
|
240
|
+
} | {
|
|
241
|
+
type: "panel";
|
|
242
|
+
panelComponentId: string;
|
|
243
|
+
params?: Record<string, unknown>;
|
|
244
|
+
};
|
|
245
|
+
type WorkspaceShellCapabilityResult = {
|
|
246
|
+
success: true;
|
|
247
|
+
} | {
|
|
248
|
+
success: false;
|
|
249
|
+
reason: "no-artifact" | "open-failed" | "invalid-session" | "placement-failed";
|
|
250
|
+
message: string;
|
|
251
|
+
};
|
|
252
|
+
interface WorkspaceShellAnchorRect {
|
|
253
|
+
x: number;
|
|
254
|
+
y: number;
|
|
255
|
+
width: number;
|
|
256
|
+
height: number;
|
|
257
|
+
top: number;
|
|
258
|
+
right: number;
|
|
259
|
+
bottom: number;
|
|
260
|
+
left: number;
|
|
261
|
+
}
|
|
262
|
+
interface WorkspaceShellCapabilities {
|
|
263
|
+
openArtifact(target: WorkspaceShellArtifactTarget | null, options?: {
|
|
264
|
+
sessionId?: string | null;
|
|
265
|
+
title?: string;
|
|
266
|
+
instanceId?: string;
|
|
267
|
+
}): WorkspaceShellCapabilityResult;
|
|
268
|
+
openDetachedChat(sessionId: string, options?: {
|
|
269
|
+
anchor?: WorkspaceShellAnchorRect;
|
|
270
|
+
title?: string;
|
|
271
|
+
}): WorkspaceShellCapabilityResult;
|
|
272
|
+
}
|
|
273
|
+
declare function useWorkspaceShellCapabilities(): WorkspaceShellCapabilities;
|
|
274
|
+
|
|
212
275
|
/**
|
|
213
276
|
* In-process registry that lets a plugin's Pi slash command reach the live
|
|
214
277
|
* workspace `UiBridge` WITHOUT an HTTP round-trip or a `BORING_UI_URL` env var.
|
|
@@ -272,4 +335,4 @@ declare function openPanel(args: OpenPanelArgs): Promise<CommandResult>;
|
|
|
272
335
|
*/
|
|
273
336
|
declare function notify(msg: string, level?: "info" | "warn" | "error"): Promise<CommandResult>;
|
|
274
337
|
|
|
275
|
-
export { type BoringFrontAPI, type BoringFrontBindingRegistration, type BoringFrontFactory, type BoringFrontFactoryWithId, type BoringFrontPanelCommandRegistration, type BoringFrontPanelRegistration, type BoringFrontProviderRegistration, type BoringFrontSetup, type BoringFrontSurfaceResolverRegistration, type BoringFrontWorkspaceSourceRegistration, type CapturedBoringFrontRegistrations, type CapturedFrontPlugin, type CapturingBoringFrontAPIHandle, type DefinePluginConfig, NoWorkspaceUiBridgeError, type OpenPanelArgs, PaneProps, WorkspaceSourceProps, captureFrontPlugin, createCapturingBoringFrontAPI, definePlugin, execWorkspaceUi, getWorkspaceUiBridge, notify, openPanel };
|
|
338
|
+
export { type AppLeftOverlayChromeValue, type BoringFrontAPI, type BoringFrontAppLeftActionRegistration, type BoringFrontAppLeftOverlayProps, type BoringFrontBindingRegistration, type BoringFrontFactory, type BoringFrontFactoryWithId, type BoringFrontPanelCommandRegistration, type BoringFrontPanelRegistration, type BoringFrontProviderRegistration, type BoringFrontSetup, type BoringFrontSurfaceResolverRegistration, type BoringFrontWorkspaceSourceRegistration, type CapturedBoringFrontRegistrations, type CapturedFrontPlugin, type CapturingBoringFrontAPIHandle, type DefinePluginConfig, NoWorkspaceUiBridgeError, type OpenPanelArgs, PaneProps, type WorkspaceShellAnchorRect, type WorkspaceShellArtifactTarget, type WorkspaceShellCapabilities, type WorkspaceShellCapabilityResult, WorkspaceSourceProps, captureFrontPlugin, createCapturingBoringFrontAPI, definePlugin, execWorkspaceUi, getWorkspaceUiBridge, notify, openPanel, useAppLeftOverlayChrome, useWorkspaceShellCapabilities };
|
package/dist/plugin.js
CHANGED
|
@@ -25,6 +25,7 @@ function definePlugin(config) {
|
|
|
25
25
|
for (const panel of config.panels ?? []) api.registerPanel(panel);
|
|
26
26
|
for (const source of config.workspaceSources ?? []) api.registerWorkspaceSource(source);
|
|
27
27
|
for (const command of config.commands ?? []) api.registerPanelCommand(command);
|
|
28
|
+
for (const action of config.appLeftActions ?? []) api.registerAppLeftAction(action);
|
|
28
29
|
for (const resolver of config.surfaceResolvers ?? []) api.registerSurfaceResolver(resolver);
|
|
29
30
|
for (const provider of config.providers ?? []) api.registerProvider(provider);
|
|
30
31
|
for (const binding of config.bindings ?? []) api.registerBinding(binding);
|
|
@@ -57,6 +58,7 @@ function createCapturingBoringFrontAPI(options = {}) {
|
|
|
57
58
|
const panels = [];
|
|
58
59
|
const workspaceSources = [];
|
|
59
60
|
const panelCommands = [];
|
|
61
|
+
const appLeftActions = [];
|
|
60
62
|
const surfaceResolvers = [];
|
|
61
63
|
const toolRenderers = [];
|
|
62
64
|
const seen = /* @__PURE__ */ new Map();
|
|
@@ -103,6 +105,10 @@ function createCapturingBoringFrontAPI(options = {}) {
|
|
|
103
105
|
claim("command", registration.id);
|
|
104
106
|
panelCommands.push(registration);
|
|
105
107
|
},
|
|
108
|
+
registerAppLeftAction(registration) {
|
|
109
|
+
claim("app-left-action", registration.id);
|
|
110
|
+
appLeftActions.push(registration);
|
|
111
|
+
},
|
|
106
112
|
registerSurfaceResolver(registration) {
|
|
107
113
|
const id = registration.id ?? `${options.pluginId ?? "anon"}:${registration.kind}`;
|
|
108
114
|
claim("surface-resolver", id);
|
|
@@ -120,6 +126,7 @@ function createCapturingBoringFrontAPI(options = {}) {
|
|
|
120
126
|
panels: clone(panels),
|
|
121
127
|
workspaceSources: clone(workspaceSources),
|
|
122
128
|
panelCommands: clone(panelCommands),
|
|
129
|
+
appLeftActions: clone(appLeftActions),
|
|
123
130
|
surfaceResolvers: clone(surfaceResolvers),
|
|
124
131
|
toolRenderers: clone(toolRenderers)
|
|
125
132
|
};
|
|
@@ -300,6 +307,29 @@ function validateBoringPluginManifest(raw) {
|
|
|
300
307
|
// src/shared/types/surface.ts
|
|
301
308
|
var WORKSPACE_OPEN_PATH_SURFACE_KIND = "workspace.open.path";
|
|
302
309
|
|
|
310
|
+
// src/shared/plugins/appLeftOverlayChrome.ts
|
|
311
|
+
import { createContext, createElement, useContext } from "react";
|
|
312
|
+
var defaultValue = {
|
|
313
|
+
headerInsetStart: false,
|
|
314
|
+
headerInsetEnd: false
|
|
315
|
+
};
|
|
316
|
+
var AppLeftOverlayChromeContext = createContext(defaultValue);
|
|
317
|
+
function useAppLeftOverlayChrome() {
|
|
318
|
+
return useContext(AppLeftOverlayChromeContext);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// src/shared/plugins/workspaceShellCapabilities.ts
|
|
322
|
+
import { createContext as createContext2, createElement as createElement2, useContext as useContext2 } from "react";
|
|
323
|
+
var failed = (message) => ({ success: false, reason: "open-failed", message });
|
|
324
|
+
var noopShellCapabilities = {
|
|
325
|
+
openArtifact: () => ({ success: false, reason: "no-artifact", message: "No artifact is available." }),
|
|
326
|
+
openDetachedChat: () => failed("Workspace shell capabilities are not available.")
|
|
327
|
+
};
|
|
328
|
+
var WorkspaceShellCapabilitiesContext = createContext2(noopShellCapabilities);
|
|
329
|
+
function useWorkspaceShellCapabilities() {
|
|
330
|
+
return useContext2(WorkspaceShellCapabilitiesContext);
|
|
331
|
+
}
|
|
332
|
+
|
|
303
333
|
// src/shared/plugins/uiBridgeRegistry.ts
|
|
304
334
|
var REGISTRY_KEY = /* @__PURE__ */ Symbol.for("@hachej/boring-workspace:active-ui-bridge");
|
|
305
335
|
function slot() {
|
|
@@ -345,5 +375,7 @@ export {
|
|
|
345
375
|
isValidBoringPluginId,
|
|
346
376
|
notify,
|
|
347
377
|
openPanel,
|
|
378
|
+
useAppLeftOverlayChrome,
|
|
379
|
+
useWorkspaceShellCapabilities,
|
|
348
380
|
validateBoringPluginManifest
|
|
349
381
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, n) => {
|
|
3
|
+
let r = {};
|
|
4
|
+
for (var i in e) t(r, i, {
|
|
5
|
+
get: e[i],
|
|
6
|
+
enumerable: !0
|
|
7
|
+
});
|
|
8
|
+
return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
|
+
}, c = (e, i, o, s) => {
|
|
10
|
+
if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
|
|
11
|
+
get: ((e) => i[e]).bind(null, d),
|
|
12
|
+
enumerable: !(s = n(i, d)) || s.enumerable
|
|
13
|
+
});
|
|
14
|
+
return e;
|
|
15
|
+
}, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
|
|
16
|
+
value: n,
|
|
17
|
+
enumerable: !0
|
|
18
|
+
}) : a, n));
|
|
19
|
+
//#endregion
|
|
20
|
+
export { s as n, l as r, o as t };
|
|
@@ -304,6 +304,13 @@ interface BrowserBridgeAuthPolicyOptions {
|
|
|
304
304
|
interface LocalCliBridgeAuthPolicyOptions {
|
|
305
305
|
workspaceId: string;
|
|
306
306
|
capabilities?: readonly string[];
|
|
307
|
+
/**
|
|
308
|
+
* Single-tenant/dev hosts may still pass a cosmetic x-boring-workspace-id
|
|
309
|
+
* header from the front shell. When true, authenticate all browser bridge
|
|
310
|
+
* calls as the configured owner workspace instead of rejecting that alias.
|
|
311
|
+
* Multi-workspace CLI mode must leave this false.
|
|
312
|
+
*/
|
|
313
|
+
forceOwnerWorkspaceId?: boolean;
|
|
307
314
|
}
|
|
308
315
|
declare function createBrowserBridgeAuthPolicy(options: BrowserBridgeAuthPolicyOptions): BridgeAuthPolicy;
|
|
309
316
|
/**
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as WorkspaceServerPluginAsset, a as WorkspaceBridgeRegistry, B as BridgeAuthPolicy, b as WorkspaceBridgeHandler, k as BoringServerPluginManifest, d as BoringPluginSourceInput, e as BoringPluginFrontTargetResolver, l as BoringPluginListEntry, m as BoringPluginFrontTarget, n as BoringPluginSource, o as BoringPluginEvent, P as PluginRestartSurface } from './runtimeEnv-
|
|
2
|
-
export { p as BoringPluginFrontTargetResolverContext, q as BoringPluginNativeFrontTarget, r as BoringPluginNativeFrontTargetTrust, s as BoringPluginSourceKind, t as BridgeAuthPolicyInput, u as BridgeAuthPolicyRequestLike, v as BridgeAuthResolution, w as BridgePrincipal, x as BridgeWorkspaceGrant, y as BrowserBridgeAuthPolicyOptions, C as CreateWorkspaceBridgeRuntimeEnvContributionOptions, L as LocalCliBridgeAuthPolicyOptions, R as RegisterWorkspaceBridgeHandlerOptions, S as ServerBootstrapOptions, z as ServerBootstrapResult, A as WorkspaceBridgeCallContext, D as WorkspaceBridgeHandlerArgs, E as WorkspaceBridgeHandlerContribution, F as WorkspaceBridgeRegistryCallOptions, G as WorkspaceBridgeRegistryLogger, H as WorkspaceBridgeRegistryOptions, I as WorkspaceBridgeRuntimeEnvDisabledReason, c as WorkspaceBridgeRuntimeEnvOptions, J as WorkspaceBridgeRuntimePlacement, g as WorkspaceProvisioningContribution, h as WorkspaceRouteContribution, W as WorkspaceServerPlugin, K as bootstrapServer, M as createBrowserBridgeAuthPolicy, f as createInMemoryBridge, N as createLocalCliBridgeAuthPolicy, O as createWorkspaceBridgeRegistry, Q as createWorkspaceBridgeRuntimeEnvContribution, T as defineServerPlugin, U as resolveBridgeCallUrl, V as resolveBridgeTokenUrl, X as validateServerPlugin, Y as validateWorkspaceBridgeOperationDefinition } from './runtimeEnv-
|
|
1
|
+
import { j as WorkspaceServerPluginAsset, a as WorkspaceBridgeRegistry, B as BridgeAuthPolicy, b as WorkspaceBridgeHandler, k as BoringServerPluginManifest, d as BoringPluginSourceInput, e as BoringPluginFrontTargetResolver, l as BoringPluginListEntry, m as BoringPluginFrontTarget, n as BoringPluginSource, o as BoringPluginEvent, P as PluginRestartSurface } from './runtimeEnv-CU-c4kaV.js';
|
|
2
|
+
export { p as BoringPluginFrontTargetResolverContext, q as BoringPluginNativeFrontTarget, r as BoringPluginNativeFrontTargetTrust, s as BoringPluginSourceKind, t as BridgeAuthPolicyInput, u as BridgeAuthPolicyRequestLike, v as BridgeAuthResolution, w as BridgePrincipal, x as BridgeWorkspaceGrant, y as BrowserBridgeAuthPolicyOptions, C as CreateWorkspaceBridgeRuntimeEnvContributionOptions, L as LocalCliBridgeAuthPolicyOptions, R as RegisterWorkspaceBridgeHandlerOptions, S as ServerBootstrapOptions, z as ServerBootstrapResult, A as WorkspaceBridgeCallContext, D as WorkspaceBridgeHandlerArgs, E as WorkspaceBridgeHandlerContribution, F as WorkspaceBridgeRegistryCallOptions, G as WorkspaceBridgeRegistryLogger, H as WorkspaceBridgeRegistryOptions, I as WorkspaceBridgeRuntimeEnvDisabledReason, c as WorkspaceBridgeRuntimeEnvOptions, J as WorkspaceBridgeRuntimePlacement, g as WorkspaceProvisioningContribution, h as WorkspaceRouteContribution, W as WorkspaceServerPlugin, K as bootstrapServer, M as createBrowserBridgeAuthPolicy, f as createInMemoryBridge, N as createLocalCliBridgeAuthPolicy, O as createWorkspaceBridgeRegistry, Q as createWorkspaceBridgeRuntimeEnvContribution, T as defineServerPlugin, U as resolveBridgeCallUrl, V as resolveBridgeTokenUrl, X as validateServerPlugin, Y as validateWorkspaceBridgeOperationDefinition } from './runtimeEnv-CU-c4kaV.js';
|
|
3
3
|
import { FastifyRequest, FastifyInstance } from 'fastify';
|
|
4
4
|
import { U as UiBridge, W as WorkspaceBridge } from './ui-bridge-D2eO3epD.js';
|
|
5
5
|
export { C as CommandResult, a as UiCommand, b as UiState } from './ui-bridge-D2eO3epD.js';
|