@pstdio/workbench 0.41.0 → 0.42.0
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/extensions.d.ts +11 -9
- package/dist/extensions.js +318 -246
- package/dist/extensions.js.map +1 -1
- package/dist/{file-renderer-view-CiuJ_aMB.js → file-renderer-view-DA77lgiT.js} +26 -26
- package/dist/{file-renderer-view-CiuJ_aMB.js.map → file-renderer-view-DA77lgiT.js.map} +1 -1
- package/dist/{index-Dh0tRr9k.d.ts → index-BUtrxfUl.d.ts} +75 -8
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1728 -1691
- package/dist/index.js.map +1 -1
- package/dist/{kanban-presentation-C21WIlnn.d.ts → kanban-presentation-Wc433DQF.d.ts} +1 -1
- package/dist/navigation-tree-registry-DbTv4Kv7.js +120 -0
- package/dist/navigation-tree-registry-DbTv4Kv7.js.map +1 -0
- package/dist/react-Buqbh5XD.js +10568 -0
- package/dist/react-Buqbh5XD.js.map +1 -0
- package/dist/react.d.ts +48 -11
- package/dist/react.js +2 -2
- package/dist/storage.d.ts +1 -1
- package/dist/webview-runtime.js +1 -1
- package/dist/{workbench-renderers-CUHzLWMx.js → workbench-renderers-BGXfLY9a.js} +89 -35
- package/dist/workbench-renderers-BGXfLY9a.js.map +1 -0
- package/package.json +4 -4
- package/dist/navigation-tree-registry-DkJ3i8ym.js +0 -106
- package/dist/navigation-tree-registry-DkJ3i8ym.js.map +0 -1
- package/dist/react-B-rd34kK.js +0 -9750
- package/dist/react-B-rd34kK.js.map +0 -1
- package/dist/workbench-renderers-CUHzLWMx.js.map +0 -1
package/dist/react.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { $
|
|
2
|
-
import { a as ReactResourceContextAction, i as ReactKanbanRendererContribution, n as ReactAttributesSource, r as ReactBoardColumnConfig, t as ReactAttributeDescriptor } from "./kanban-presentation-
|
|
1
|
+
import { $n as RegisteredDataTableRendererContribution, $r as RegisteredPlaceholderContribution, Et as PreferenceValue, F as WorkbenchModuleContribution, Fi as CommandParamOption, G as ThemePreferenceOption$1, Gr as WorkbenchPanelRenderInput, Ii as CommandParamSchema, Ki as ResourceRef$1, M as WorkbenchCoreContributionContext, Mi as Command, Pi as CommandParamDescriptor, Pr as TreeAction, Ri as WorkbenchCommandExecutionContext, St as PreferenceRegistry, Wt as KeybindingSequence, X as WorkbenchStatusRegistry, Yr as RegisteredMenuItem, Zr as WorkbenchFocusRegionId, Zt as WorkbenchTerminalController, ei as RegisteredWidgetContribution, ha as WorkbenchStore, j as WorkbenchCore, ma as Disposable, mi as WorkbenchWidgetPlacement, qr as MenuPath, ri as WorkbenchPanelInstance, wt as PreferenceScope, xt as PreferencePropertySchema, yi as WorkbenchRegion$1 } from "./index-BUtrxfUl.js";
|
|
2
|
+
import { a as ReactResourceContextAction, i as ReactKanbanRendererContribution, n as ReactAttributesSource, r as ReactBoardColumnConfig, t as ReactAttributeDescriptor } from "./kanban-presentation-Wc433DQF.js";
|
|
3
|
+
import { ResourceAnchor, ResourceAnchorPage, ResourceAnchorQuery, ResourceRef } from "@pstdio/sdk/extensions";
|
|
3
4
|
import { ReactNode } from "react";
|
|
4
|
-
import { FileUploadValue, ParamEditorProps, ParamValue } from "@pstdio/ui/param-editor";
|
|
5
5
|
import { FileIconThemePreferenceOption, ResourceContextAction, ThemePreference, ThemePreferenceOption, ThemePreferenceStorage } from "@pstdio/ui";
|
|
6
|
+
import { FileUploadValue, ParamEditorProps, ParamValue } from "@pstdio/ui/param-editor";
|
|
6
7
|
import { BoxProps, IconProps } from "@chakra-ui/react";
|
|
7
8
|
import { TerminalBridge } from "@pstdio/ui/terminal";
|
|
8
9
|
//#region src/react/breadcrumb/breadcrumb-view.d.ts
|
|
@@ -57,7 +58,7 @@ export declare const CommandParamField: (props: Omit<CommandParamFieldProps, "co
|
|
|
57
58
|
//#region src/react/command-palette/command-params-dialog.d.ts
|
|
58
59
|
interface CommandParamsRequest {
|
|
59
60
|
record: {
|
|
60
|
-
command: Pick<Command, "id" | "label" | "description" | "params">;
|
|
61
|
+
command: Pick<Command, "id" | "label" | "description" | "params" | "resourceMutation">;
|
|
61
62
|
};
|
|
62
63
|
action?: RegisteredMenuItem;
|
|
63
64
|
label: string;
|
|
@@ -151,13 +152,13 @@ interface WorkbenchMenuItem {
|
|
|
151
152
|
readOnly?: true;
|
|
152
153
|
}
|
|
153
154
|
interface WorkbenchMenuItemContext {
|
|
154
|
-
resource?: ResourceRef | undefined;
|
|
155
|
+
resource?: ResourceRef$1 | undefined;
|
|
155
156
|
}
|
|
156
157
|
export declare const listWorkbenchMenuItems: (workbench: WorkbenchCore, menuPath: MenuPath, context?: WorkbenchMenuItemContext) => WorkbenchMenuItem[];
|
|
157
158
|
//#endregion
|
|
158
159
|
//#region src/react/menus/resource-actions.d.ts
|
|
159
|
-
export declare const createWorkbenchResourceActions: (workbench: WorkbenchCoreContributionContext, resource: ResourceRef) => ResourceContextAction[];
|
|
160
|
-
export declare const useWorkbenchResourceActionResolver: (workbench: WorkbenchCoreContributionContext) => (resource: ResourceRef) => ResourceContextAction[];
|
|
160
|
+
export declare const createWorkbenchResourceActions: (workbench: WorkbenchCoreContributionContext, resource: ResourceRef$1) => ResourceContextAction[];
|
|
161
|
+
export declare const useWorkbenchResourceActionResolver: (workbench: WorkbenchCoreContributionContext) => (resource: ResourceRef$1) => ResourceContextAction[];
|
|
161
162
|
//#endregion
|
|
162
163
|
//#region src/react/notifications/notification-host.d.ts
|
|
163
164
|
interface WorkbenchNotificationHostProps {
|
|
@@ -249,7 +250,7 @@ interface WorkbenchTreeViewProps {
|
|
|
249
250
|
workbench: WorkbenchCore;
|
|
250
251
|
treeViewId: string;
|
|
251
252
|
activeNodeId?: string | null;
|
|
252
|
-
resource?: ResourceRef;
|
|
253
|
+
resource?: ResourceRef$1;
|
|
253
254
|
viewId?: string;
|
|
254
255
|
renderParamField?: CommandParamFieldRenderer;
|
|
255
256
|
onOpenResourceError?: (error: unknown) => void;
|
|
@@ -264,6 +265,42 @@ interface WorkbenchConnectionProviderProps {
|
|
|
264
265
|
}
|
|
265
266
|
export declare const WorkbenchConnectionProvider: (props: WorkbenchConnectionProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
266
267
|
//#endregion
|
|
268
|
+
//#region src/react/resource-links/resource-links-types.d.ts
|
|
269
|
+
interface ResourceLinkCandidate {
|
|
270
|
+
resource: ResourceRef;
|
|
271
|
+
description?: string;
|
|
272
|
+
open?: () => void | Promise<void>;
|
|
273
|
+
}
|
|
274
|
+
interface ResourceLinksService {
|
|
275
|
+
list(input: ResourceAnchorQuery): Promise<ResourceAnchorPage>;
|
|
276
|
+
add(source: ResourceRef, targets: ResourceAnchor[]): Promise<void>;
|
|
277
|
+
remove(source: ResourceRef, targets: ResourceRef[]): Promise<void>;
|
|
278
|
+
search(query: string, signal?: AbortSignal): Promise<ResourceLinkCandidate[]>;
|
|
279
|
+
resolve(resources: ResourceRef[], signal?: AbortSignal): Promise<ResourceLinkCandidate[]>;
|
|
280
|
+
subscribe(listener: () => void): () => void;
|
|
281
|
+
}
|
|
282
|
+
//#endregion
|
|
283
|
+
//#region src/react/resource-links/related-resources.d.ts
|
|
284
|
+
interface RelatedResourcesProps {
|
|
285
|
+
resource: ResourceRef;
|
|
286
|
+
service: ResourceLinksService;
|
|
287
|
+
onClose(): void;
|
|
288
|
+
}
|
|
289
|
+
export declare const RelatedResources: (props: RelatedResourcesProps) => import("react/jsx-runtime").JSX.Element;
|
|
290
|
+
//#endregion
|
|
291
|
+
//#region src/react/resource-links/resource-links-module.d.ts
|
|
292
|
+
interface WorkbenchResourceLinksOptions {
|
|
293
|
+
canonicalize(resource: ResourceRef): ResourceRef | undefined;
|
|
294
|
+
createService(resource: ResourceRef): ResourceLinksService;
|
|
295
|
+
}
|
|
296
|
+
export declare const resourceLinksCommandId = "workbench.resources.links";
|
|
297
|
+
export declare const createWorkbenchResourceLinksModule: (options: WorkbenchResourceLinksOptions) => {
|
|
298
|
+
id: string;
|
|
299
|
+
activate(ctx: WorkbenchCoreContributionContext): {
|
|
300
|
+
dispose: () => void;
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
//#endregion
|
|
267
304
|
//#region src/react/settings/settings-resources.d.ts
|
|
268
305
|
export declare const WORKBENCH_SETTINGS_OPEN_COMMAND_ID = "workbench.settings.open";
|
|
269
306
|
//#endregion
|
|
@@ -321,7 +358,7 @@ export declare const WORKBENCH_TERMINAL_PANEL_SIZE: {
|
|
|
321
358
|
minPx: number;
|
|
322
359
|
};
|
|
323
360
|
interface OpenWorkbenchTerminalOptions {
|
|
324
|
-
resource?: ResourceRef;
|
|
361
|
+
resource?: ResourceRef$1;
|
|
325
362
|
reveal?: boolean;
|
|
326
363
|
}
|
|
327
364
|
export declare const openWorkbenchTerminal: (ctx: WorkbenchCoreContributionContext, input?: OpenWorkbenchTerminalOptions) => WorkbenchPanelInstance;
|
|
@@ -338,7 +375,7 @@ export declare const createWorkbenchTerminalModule: () => WorkbenchModuleContrib
|
|
|
338
375
|
//#region src/react/terminal/workbench-terminal-panel.d.ts
|
|
339
376
|
interface ControllerTerminalBridgeOptions {
|
|
340
377
|
getBindingId?: () => string | undefined;
|
|
341
|
-
getResource?: () => ResourceRef | undefined;
|
|
378
|
+
getResource?: () => ResourceRef$1 | undefined;
|
|
342
379
|
getTitle?: () => string | undefined;
|
|
343
380
|
}
|
|
344
381
|
export declare const createControllerTerminalBridge: (terminal: WorkbenchTerminalController, options?: ControllerTerminalBridgeOptions) => TerminalBridge;
|
|
@@ -434,5 +471,5 @@ export declare const disposeWorkbenchModuleHostRegistrations: (registrations: Ma
|
|
|
434
471
|
export declare const syncWorkbenchModuleHostRegistrations: (workbench: WorkbenchCore, registrations: Map<string, WorkbenchModuleHostRegistration>, modules: readonly WorkbenchModuleContribution[]) => void;
|
|
435
472
|
export declare const WorkbenchModuleHost: (props: WorkbenchModuleHostProps) => null;
|
|
436
473
|
//#endregion
|
|
437
|
-
export type { CommandFilesParamValue, CommandOptionState, CommandParamEntry, CommandParamFieldProps, CommandParamFieldRenderer, CommandParamValue, ExecuteOptionCommand, PreferenceParamEntry, ReactAttributeDescriptor, ReactAttributesSource, ReactBoardColumnConfig, ReactKanbanRendererContribution, ReactResourceContextAction, TreeActionParamsRequest, WorkbenchHotkeyRegistration, WorkbenchMenuItem, WorkbenchModuleHostProps, WorkbenchModuleHostRegistration, WorkbenchOverlayWidgetConfig, WorkbenchPanelRenderInput, WorkbenchPreferencesFormProps, WorkbenchSettingsModuleOptions };
|
|
474
|
+
export type { CommandFilesParamValue, CommandOptionState, CommandParamEntry, CommandParamFieldProps, CommandParamFieldRenderer, CommandParamValue, ExecuteOptionCommand, PreferenceParamEntry, ReactAttributeDescriptor, ReactAttributesSource, ReactBoardColumnConfig, ReactKanbanRendererContribution, ReactResourceContextAction, ResourceLinkCandidate, ResourceLinksService, TreeActionParamsRequest, WorkbenchHotkeyRegistration, WorkbenchMenuItem, WorkbenchModuleHostProps, WorkbenchModuleHostRegistration, WorkbenchOverlayWidgetConfig, WorkbenchPanelRenderInput, WorkbenchPreferencesFormProps, WorkbenchResourceLinksOptions, WorkbenchSettingsModuleOptions };
|
|
438
475
|
export {};
|
package/dist/react.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, at as O, b as k, ct as A, d as j,
|
|
2
|
-
export {
|
|
1
|
+
import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, at as O, b as k, ct as A, d as j, dt as M, et as N, f as P, g as F, h as I, i as L, it as R, j as z, k as B, lt as V, m as H, n as U, nt as W, ot as G, p as K, q, r as J, rt as Y, st as X, t as Z, tt as Q, ut as $, v as ee, w as te, x as ne, y as re, z as ie } from "./react-Buqbh5XD.js";
|
|
2
|
+
export { Y as CommandOptionStatus, N as CommandParamField, p as RelatedResources, b as WORKBENCH_SETTINGS_NAV_WIDGET_ID, B as WORKBENCH_SETTINGS_OPEN_COMMAND_ID, a as WORKBENCH_SETTINGS_PANEL_WIDGET_ID, i as WORKBENCH_SETTINGS_WIDGET_ID, I as WORKBENCH_TERMINAL_OPEN_COMMAND_ID, F as WORKBENCH_TERMINAL_PANEL_SIZE, D as WORKBENCH_TERMINAL_WIDGET_ID, L as Workbench, r as WorkbenchAttachedSidePanel, R as WorkbenchBreadcrumbView, _ as WorkbenchCommandPalette, v as WorkbenchConnectionProvider, f as WorkbenchDataTableView, te as WorkbenchFloatingSidePanel, E as WorkbenchFocusRegion, T as WorkbenchHeaderActions, M as WorkbenchIcon, d as WorkbenchKeybindingDispatcher, Z as WorkbenchModuleHost, c as WorkbenchNotificationHost, j as WorkbenchOverlayLayer, g as WorkbenchPreferencesForm, n as WorkbenchRegion, ie as WorkbenchRegionTabs, k as WorkbenchTerminalPanel, K as WorkbenchThemeProvider, P as WorkbenchThemeScope, m as WorkbenchTreeView, S as WorkbenchWidgetHost, y as WorkflowStatusSettings, G as buildCommandParamInitialValues, Q as commandParamName, X as createCommandFilesParamValue, ne as createControllerTerminalBridge, s as createTreeContextMenuItems, q as createWorkbenchHotkeyRegistrations, x as createWorkbenchResourceActions, t as createWorkbenchResourceLinksModule, h as createWorkbenchSettingsModule, ee as createWorkbenchTerminalModule, U as disposeWorkbenchModuleHostRegistrations, A as isCommandFilesParamValue, V as listCommandParamEntries, w as listWorkbenchMenuItems, $ as normalizeCommandParamValues, u as normalizeWorkbenchKeybinding, re as openWorkbenchTerminal, o as paramValueToPreference, l as preferenceSchemaToParams, W as readCommandParamValue, z as resourceLinksCommandId, J as syncWorkbenchModuleHostRegistrations, e as useCommandOptions, C as useWorkbenchResourceActionResolver, O as useWorkbenchStore, H as useWorkbenchThemePreferences };
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Hr as TreeRendererPersistenceAdapter, Qr as LayoutPersistenceAdapter, _n as WorkbenchPageLocationPersistence, dn as WorkbenchPanelMenuStatePersistenceAdapter, rt as WorkbenchStatusBarPersistenceAdapter, z as WorkbenchPersistenceAdapter } from "./index-BUtrxfUl.js";
|
|
2
2
|
//#region src/storage/local-storage-persistence-helpers.d.ts
|
|
3
3
|
interface WorkbenchStorageLike {
|
|
4
4
|
readonly length?: number;
|
package/dist/webview-runtime.js
CHANGED
|
@@ -27,7 +27,7 @@ var e = "pstdio-extension-mount", t = (e) => e.replaceAll("&", "&").replaceA
|
|
|
27
27
|
${t}
|
|
28
28
|
</body>
|
|
29
29
|
</html>
|
|
30
|
-
`, i = (e) => r(`<script src="${t(e)}"><\/script>`), a = (e) => r(`<script>${n(e)}<\/script>`), o = () => "// Generated by packages/pstdio-extensions/scripts/build-runtime.ts\nfunction te(){let e=globalThis;if(e.window!==void 0&&e.document!==void 0)return\"browser\";if(e.WorkerGlobalScope!==void 0&&e.self!==void 0&&e.self instanceof e.WorkerGlobalScope||e.window===void 0&&e.self!==void 0&&typeof e.importScripts==\"function\")return\"worker\";let t=e.process;if(t&&typeof t==\"object\"){let n=t.versions??{},s=t.release?.name;if(n.bun||s===\"bun\"||e.Bun!==void 0)return\"bun\";if(n.node&&s===\"node\")return\"node\"}return e.Bun===void 0?\"browser\":\"bun\"}function M(){return te()}function B(){return M()===\"worker\"}function z(){let e=M();return e===\"node\"||e===\"bun\"}function ne(){return window.self!==window.top}function re(e){let t={};return function n(s,i=\"\"){Object.keys(s).forEach((r)=>{let o=i?`${i}.${r}`:r;s[r]===Object(s[r])&&n(s[r],o),typeof s[r]==\"function\"&&(t[o]=s[r],delete s[r])})}(e),t}function se(e){return!e||e===\"null\"?\"*\":e}function oe(e,t,n){if(!e||typeof e!=\"object\")return e;let s=Array.isArray(t)?t:t.split(\".\").map((r)=>r.match(/^\\d+$/)?Number(r):r),i=e;for(let r=0;r<s.length;r++){let o=s[r];r===s.length-1?i[o]=n:((!i[o]||typeof i[o]!=\"object\")&&(i[o]=typeof s[r+1]==\"number\"?[]:{}),i=i[o])}return e}function ie(e=10){let t=\"\";for(let n=0;n<e;n++)t+=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".charAt(Math.floor(Math.random()*62));return t}var V=M(),P=null;if(V===\"node\"||V===\"bun\")try{let e=globalThis.require;P=e?.(\"node:worker_threads\")?.parentPort??null}catch{}function ae(){if(z())return P;if(B())return self;if(ne())return window.parent;throw Error(\"No valid target found for postMessage\")}function C(e,t,n,s){if(!e)throw Error(\"Rimless Error: No target specified for postMessage\");if(z()&&e===P){e.postMessage(t,{transfer:s});return}if(B()){e.postMessage(t,{transfer:s});return}if(e.postMessage){e.postMessage(t,{targetOrigin:se(n),transfer:s});return}throw Error(\"Rimless Error: Invalid target for postMessage\")}function G(e){return P!==null&&e===P}function L(e,t,n){G(e)?e.on(t,n):(\"addEventListener\"in e)&&e.addEventListener(t,n)}function O(e,t,n){G(e)?e.off(t,n):(\"removeEventListener\"in e)&&e.removeEventListener(t,n)}function N(e){return e.data||e}var S=function(e){return e.MESSAGE=\"message\",e}({}),y=function(e){return e.HANDSHAKE_REQUEST=\"RIMLESS/HANDSHAKE_REQUEST\",e.HANDSHAKE_REPLY=\"RIMLESS/HANDSHAKE_REPLY\",e.RPC_REQUEST=\"RIMLESS/RPC_REQUEST\",e.RPC_RESOLVE=\"RIMLESS/RPC_RESOLVE\",e.RPC_REJECT=\"RIMLESS/RPC_REJECT\",e}({}),b=Symbol();function ce(e={},t,n,s,i){let r=[];for(let[o,d]of Object.entries(e)){async function a(p){let{action:E,callID:m,connectionID:f,callName:w,args:v=[]}=N(p);if(E!==y.RPC_REQUEST||!m||!w||w!==o||f!==t)return;let g={action:y.RPC_RESOLVE,callID:m,callName:w,connectionID:f,error:null,result:null},R;try{g.result=await d(...v,i),g.result?.[b]&&(R=g.result[b]??[],delete g.result[b])}catch(A){g.action=y.RPC_REJECT,g.error=JSON.parse(JSON.stringify(A,Object.getOwnPropertyNames(A)))}C(s,g,p?.origin,R)}L(n,S.MESSAGE,a),r.push(()=>O(n,S.MESSAGE,a))}return()=>r.forEach((o)=>o())}function de(e,t,n,s=[],i,r){return(...o)=>new Promise((d,a)=>{let p=ie();function E(w){let{callID:v,connectionID:g,callName:R,result:A,error:ee,action:W}=N(w);if(!(!v||!R)&&R===e&&v===p&&g===t){if(W===y.RPC_RESOLVE)return d(A);if(W===y.RPC_REJECT)return a(ee)}}let m={action:y.RPC_REQUEST,args:o,callID:p,callName:e,connectionID:t},f=o.reduce((w,v)=>v[b]?.length?w.concat(v[b]):w,o[b]??[]);L(i,S.MESSAGE,E),s.push(()=>O(i,S.MESSAGE,E)),C(r,m,n?.origin,f)})}function le(e={},t=[],n,s,i,r){let o={...e},d=[];for(let a of t)oe(o,a,de(a,n,s,d,i,r));return{remote:o,unregisterRemote:()=>d.forEach((a)=>a())}}function fe(e={},t){return new Promise(async(n)=>{let s=re(e),i=ae(),r=self||window;async function o(d){let a=N(d);if(a?.action!==y.HANDSHAKE_REPLY)return;let{remote:p,unregisterRemote:E}=le(a.schema,a.methodNames,a.connectionID,d,r,i),m=ce(s,a.connectionID,r,i,p);return await t?.onConnectionSetup?.(p),C(i,{action:y.HANDSHAKE_REPLY,connectionID:a.connectionID},d?.origin),n({remote:p,close:()=>{O(r,S.MESSAGE,o),E(),m()},id:a.connectionID})}L(r,S.MESSAGE,o),C(i,{action:y.HANDSHAKE_REQUEST,methodNames:Object.keys(s),schema:e})})}var F={connect:fe};var ue=(e)=>typeof e===\"object\"&&e!==null,J=(e)=>{try{let t=JSON.stringify(e);if(typeof t===\"string\"&&t.length>0)return t}catch{}try{return String(e)}catch{return\"Unknown error\"}},T=(e)=>{if(e instanceof Error)return{message:e.message,stack:e.stack};if(typeof e===\"string\")return{message:e};if(ue(e)){let t=typeof e.message===\"string\"?e.message:null,n=typeof e.stack===\"string\"?e.stack:void 0;if(t)return n?{message:t,stack:n}:{message:t};return{message:J(e)}}if(e===null||e===void 0)return{message:\"Unknown error\"};return{message:J(e)}};var H=\"(?:0|[1-9]\\\\d*)\",xe=new RegExp(`^\\\\^(${H}\\\\.${H}\\\\.${H})$`);var _=[\"sidenav\",\"main\",\"secondary\",\"side\"];var u=(e,t)=>({extensionId:\"pstdio\",kind:e,id:t}),h={project:u(\"mode\",\"project\"),sessions:u(\"mode\",\"sessions\"),settings:u(\"mode\",\"settings\")},Ae={project:{ref:h.project,regions:_},sessions:{ref:h.sessions,regions:_},settings:{ref:h.settings,regions:_}},U=(e,t,n)=>({id:e,ref:u(\"resource-kind\",e),label:t,menuSlots:n}),D=[{id:\"headerPrimary\",placement:\"header-primary\",access:\"public\"},{id:\"headerOverflow\",placement:\"header-overflow\",access:\"public\"}],K={project:U(\"project\",\"Extension\",D),session:U(\"session\",\"Session\",D),workspace:U(\"workspace\",\"Workspace\",D)},k={project:K.project.ref,session:K.session.ref,workspace:K.workspace.ref},x={start:u(\"page\",\"start\"),sessions:u(\"page\",\"sessions\"),session:u(\"page\",\"session\"),workspaces:u(\"page\",\"workspaces\"),workspace:u(\"page\",\"workspace\")},Ce={start:{ref:x.start,mode:h.project,path:\"\",primary:{cardinality:\"one\",resourceKinds:[]}},sessions:{ref:x.sessions,mode:h.sessions,path:\"sessions\",primary:{cardinality:\"one\",resourceKinds:[]}},session:{ref:x.session,mode:h.sessions,path:\"session\",primary:{cardinality:\"one\",resourceKinds:[\"session\",\"session-draft\"]}},workspaces:{ref:x.workspaces,mode:h.project,path:\"workspaces\",primary:{cardinality:\"one\",resourceKinds:[]}},workspace:{ref:x.workspace,mode:h.project,path:\"workspace\",primary:{cardinality:\"many\",resourceKinds:[\"workspace\"]}}},pe={projectSession:u(\"placement\",\"project-session\")},Te={projectSession:{ref:pe.projectSession,mode:h.project,cardinality:\"many\",resourceKinds:[\"session\",\"session-draft\"]}},je={projectSettings:u(\"settings-panel\",\"project.settings\"),statusBarLeading:u(\"status-bar-item\",\"status-bar.leading\"),statusBarTrailing:u(\"status-bar-item\",\"status-bar.trailing\")};var q=(e)=>({...e,kind:\"command\"}),Me=Object.assign(q,{forExtension:(e)=>(t)=>q({extensionId:`${e.publisher}.${e.name}`,id:t})}),me=(e)=>({...e,kind:\"event\"}),j=(e,t)=>({id:e,kind:t.kind,label:t.label,description:t.description,metadata:t.metadata}),l=(e)=>me({extensionId:\"pstdio\",id:e}),I=(e,t)=>j(`${e.id}.${t}`,{kind:\"menu\"}),Le={sidenav:j(\"project.sidenav\",{kind:\"panel\"}),headerPrimary:I(k.project,\"headerPrimary\"),headerOverflow:I(k.project,\"headerOverflow\"),settingsPanels:j(\"project.settingsPanels\",{kind:\"settings\"})},Oe={headerPrimary:I(k.session,\"headerPrimary\"),headerOverflow:I(k.session,\"headerOverflow\")},Ne={headerPrimary:I(k.workspace,\"headerPrimary\"),headerOverflow:I(k.workspace,\"headerOverflow\"),sidenav:j(\"workspace.sidenav\",{kind:\"panel\"})},$e={opened:l(\"project.opened\")},He={sessionsChanged:l(\"view.sessions.changed\"),workspacesChanged:l(\"view.workspaces.changed\"),repositoriesChanged:l(\"view.repositories.changed\")},_e={started:l(\"session.started\"),resumed:l(\"session.resumed\"),awaitingInput:l(\"session.awaitingInput\"),succeeded:l(\"session.succeeded\"),failed:l(\"session.failed\"),completed:l(\"session.completed\")},Ue={created:l(\"workspace.created\"),provision:l(\"workspace.provision\"),ready:l(\"workspace.ready\"),archived:l(\"workspace.archived\"),deleted:l(\"workspace.deleted\")},De={removed:l(\"worktree.removed\")},Ke={committed:l(\"git.committed\"),rebased:l(\"git.rebased\"),merged:l(\"git.merged\"),conflicted:l(\"git.conflicted\")};var ge=[\"clipboard.write\",\"commands.execute\",\"navigation.open\",\"placement.close\",\"notification.show\",\"notification.action\",\"notification.resolve\",\"notification.dismiss\",\"preferences.get\",\"preferences.set\",\"extension.settings.all\",\"extension.settings.get\",\"extension.settings.set\",\"extension.settings.delete\",\"terminal.session\",\"files.upload\",\"files.list\",\"files.delete\"],ye=[\"artifacts.read\"],he=[\"host.dispatchKeyboardEvent\"],We=[...ge.filter((e)=>e!==\"clipboard.write\"),...ye,...he];var c=(e)=>(t)=>({...t,ref:{kind:e,id:t.id}}),Ve=c(\"view\"),Be=c(\"view-menu\"),ze=c(\"placement\"),Ge=c(\"resource-kind\");var Fe=c(\"navigation-item\"),Je=c(\"navigation-tree\"),qe=c(\"mode\");var Ye=c(\"status-bar-item\"),Qe=c(\"status\"),Xe=c(\"settings-panel\"),Ze=c(\"activity-item\"),et=c(\"settings-section\"),tt=c(\"command-palette-resource\"),nt=c(\"keybinding\"),rt=c(\"schedule\"),st=c(\"artifact-mount\"),ot=c(\"template-type\"),it=c(\"template\"),at=c(\"skill\"),ct=c(\"theme\"),dt=c(\"file-icon-theme\"),lt=c(\"workspace-type\"),ft=c(\"harness\"),ut=c(\"connection\");var Y=(e,t,n)=>({call:async(s,...i)=>{try{return await e({method:s,params:i[0]})}catch(r){if(r instanceof Error)throw r;throw Error(T(r).message)}},onEvent:t,extensionId:n}),Q=(e)=>{let t=e,n=new Set;return{get:()=>t,subscribe:(s)=>(n.add(s),()=>n.delete(s)),set:(s)=>{t=s;for(let i of n)i(t)}}};var X=\"pstdio-extension-mount\",Ee=()=>{let e=new Map;return{get length(){return e.size},clear:()=>e.clear(),getItem:(t)=>e.get(t)??null,key:(t)=>Array.from(e.keys())[t]??null,removeItem:(t)=>e.delete(t),setItem:(t,n)=>e.set(t,n)}},we=()=>{for(let e of[\"localStorage\",\"sessionStorage\"])try{window[e]}catch{Object.defineProperty(window,e,{configurable:!0,value:Ee()})}},Z=(e,t)=>{let n=document.documentElement,s=e===\"dark\"?\"light\":\"dark\";n.classList.remove(s),n.classList.add(e),n.setAttribute(\"data-theme\",e),n.style.colorScheme=e;for(let[i,r]of Object.entries(t))if(i.startsWith(\"--\"))n.style.setProperty(i,r)},ve=(e)=>{for(let t of e){let n=document.createElement(\"link\");n.rel=\"stylesheet\",n.href=t,document.head.appendChild(n)}},be=()=>{let e=document.getElementById(X);if(!e)e=document.createElement(\"div\"),e.id=X,e.style.height=\"100%\",e.style.width=\"100%\",document.body.appendChild(e);return e},Se=()=>{window.addEventListener(\"message\",(e)=>{let t=e.data?.action;if(typeof t!==\"string\"||!t.startsWith(\"RIMLESS/\"))return;if(e.source!==window.parent)e.stopImmediatePropagation()},{capture:!0})},ke=(e)=>e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable,Ie=async()=>{we(),Se();let e=Q(void 0),t=new Map,n=(o,d)=>{let a=t.get(o)??new Set;return a.add(d),t.set(o,a),()=>{a.delete(d)}},s,i=!1,r=await F.connect({init:async(o)=>{try{Z(o.theme,o.themeVariables),ve(o.styles),e.set(o.props);let d=be(),a=await import(o.moduleUrl),p=a.default??(a.mount?a:void 0);if(!p?.mount)throw Error(\"Extension module does not export a default view (defineExtensionView).\");let E=Y((f)=>r.remote.call(f),n,o.extensionId),m=await p.mount(d,E,e);if(s=typeof m===\"function\"?m:void 0,!i)i=!0,document.addEventListener(\"keydown\",(f)=>{if(!f.ctrlKey&&!f.metaKey&&!f.altKey)return;if(ke(f.target)&&!f.shiftKey)return;r.remote.call({method:\"host.dispatchKeyboardEvent\",params:{key:f.key,code:f.code,ctrlKey:f.ctrlKey,metaKey:f.metaKey,altKey:f.altKey,shiftKey:f.shiftKey,repeat:f.repeat}}).catch(()=>{})},!0)}catch(d){let a=T(d);throw r.remote.runtimeError(a),d instanceof Error?d:Error(a.message)}},themeUpdate:(o)=>{Z(o.theme,o.variables)},propsUpdate:(o)=>{e.set(o.props)},hostEvent:(o)=>{for(let d of t.get(o.scope)??[])d(o.payload)}});r.remote.ready({}),window.addEventListener(\"beforeunload\",()=>{s?.()})};Ie();\n";
|
|
30
|
+
`, i = (e) => r(`<script src="${t(e)}"><\/script>`), a = (e) => r(`<script>${n(e)}<\/script>`), o = () => "// Generated by packages/pstdio-extensions/scripts/build-runtime.ts\nfunction ne(){let e=globalThis;if(e.window!==void 0&&e.document!==void 0)return\"browser\";if(e.WorkerGlobalScope!==void 0&&e.self!==void 0&&e.self instanceof e.WorkerGlobalScope||e.window===void 0&&e.self!==void 0&&typeof e.importScripts==\"function\")return\"worker\";let t=e.process;if(t&&typeof t==\"object\"){let n=t.versions??{},r=t.release?.name;if(n.bun||r===\"bun\"||e.Bun!==void 0)return\"bun\";if(n.node&&r===\"node\")return\"node\"}return e.Bun===void 0?\"browser\":\"bun\"}function M(){return ne()}function B(){return M()===\"worker\"}function z(){let e=M();return e===\"node\"||e===\"bun\"}function re(){return window.self!==window.top}function se(e){let t={};return function n(r,i=\"\"){Object.keys(r).forEach((s)=>{let o=i?`${i}.${s}`:s;r[s]===Object(r[s])&&n(r[s],o),typeof r[s]==\"function\"&&(t[o]=r[s],delete r[s])})}(e),t}function oe(e){return!e||e===\"null\"?\"*\":e}function ie(e,t,n){if(!e||typeof e!=\"object\")return e;let r=Array.isArray(t)?t:t.split(\".\").map((s)=>s.match(/^\\d+$/)?Number(s):s),i=e;for(let s=0;s<r.length;s++){let o=r[s];s===r.length-1?i[o]=n:((!i[o]||typeof i[o]!=\"object\")&&(i[o]=typeof r[s+1]==\"number\"?[]:{}),i=i[o])}return e}function ae(e=10){let t=\"\";for(let n=0;n<e;n++)t+=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".charAt(Math.floor(Math.random()*62));return t}var V=M(),R=null;if(V===\"node\"||V===\"bun\")try{let e=globalThis.require;R=e?.(\"node:worker_threads\")?.parentPort??null}catch{}function ce(){if(z())return R;if(B())return self;if(re())return window.parent;throw Error(\"No valid target found for postMessage\")}function A(e,t,n,r){if(!e)throw Error(\"Rimless Error: No target specified for postMessage\");if(z()&&e===R){e.postMessage(t,{transfer:r});return}if(B()){e.postMessage(t,{transfer:r});return}if(e.postMessage){e.postMessage(t,{targetOrigin:oe(n),transfer:r});return}throw Error(\"Rimless Error: Invalid target for postMessage\")}function G(e){return R!==null&&e===R}function L(e,t,n){G(e)?e.on(t,n):(\"addEventListener\"in e)&&e.addEventListener(t,n)}function O(e,t,n){G(e)?e.off(t,n):(\"removeEventListener\"in e)&&e.removeEventListener(t,n)}function _(e){return e.data||e}var b=function(e){return e.MESSAGE=\"message\",e}({}),h=function(e){return e.HANDSHAKE_REQUEST=\"RIMLESS/HANDSHAKE_REQUEST\",e.HANDSHAKE_REPLY=\"RIMLESS/HANDSHAKE_REPLY\",e.RPC_REQUEST=\"RIMLESS/RPC_REQUEST\",e.RPC_RESOLVE=\"RIMLESS/RPC_RESOLVE\",e.RPC_REJECT=\"RIMLESS/RPC_REJECT\",e}({}),E=Symbol();function de(e={},t,n,r,i){let s=[];for(let[o,l]of Object.entries(e)){async function a(m){let{action:g,callID:y,connectionID:f,callName:I,args:v=[]}=_(m);if(g!==h.RPC_REQUEST||!y||!I||I!==o||f!==t)return;let u={action:h.RPC_RESOLVE,callID:y,callName:I,connectionID:f,error:null,result:null},C;try{u.result=await l(...v,i),u.result?.[E]&&(C=u.result[E]??[],delete u.result[E])}catch(P){u.action=h.RPC_REJECT,u.error=JSON.parse(JSON.stringify(P,Object.getOwnPropertyNames(P)))}A(r,u,m?.origin,C)}L(n,b.MESSAGE,a),s.push(()=>O(n,b.MESSAGE,a))}return()=>s.forEach((o)=>o())}function le(e,t,n,r=new Set,i,s){return(...o)=>new Promise((l,a)=>{let m=ae();function g(){O(i,b.MESSAGE,y),r.delete(g)}function y(v){let{callID:u,connectionID:C,callName:P,result:ee,error:te,action:W}=_(v);if(!(!u||!P)&&P===e&&u===m&&C===t){if(W===h.RPC_RESOLVE)return g(),l(ee);if(W===h.RPC_REJECT)return g(),a(te)}}let f={action:h.RPC_REQUEST,args:o,callID:m,callName:e,connectionID:t},I=o.reduce((v,u)=>u[E]?.length?v.concat(u[E]):v,o[E]??[]);L(i,b.MESSAGE,y),r.add(g),A(s,f,n?.origin,I)})}function fe(e={},t=[],n,r,i,s){let o={...e},l=new Set;for(let a of t)ie(o,a,le(a,n,r,l,i,s));return{remote:o,unregisterRemote:()=>l.forEach((a)=>a())}}function ue(e={},t){return new Promise(async(n)=>{let r=se(e),i=ce(),s=self||window;async function o(l){let a=_(l);if(a?.action!==h.HANDSHAKE_REPLY)return;let{remote:m,unregisterRemote:g}=fe(a.schema,a.methodNames,a.connectionID,l,s,i),y=de(r,a.connectionID,s,i,m);return await t?.onConnectionSetup?.(m),A(i,{action:h.HANDSHAKE_REPLY,connectionID:a.connectionID},l?.origin),n({remote:m,close:()=>{O(s,b.MESSAGE,o),g(),y()},id:a.connectionID})}L(s,b.MESSAGE,o),A(i,{action:h.HANDSHAKE_REQUEST,methodNames:Object.keys(r),schema:e})})}var J={connect:ue};var pe=(e)=>typeof e===\"object\"&&e!==null,q=(e)=>{try{let t=JSON.stringify(e);if(typeof t===\"string\"&&t.length>0)return t}catch{}try{return String(e)}catch{return\"Unknown error\"}},j=(e)=>{if(e instanceof Error)return{message:e.message,stack:e.stack};if(typeof e===\"string\")return{message:e};if(pe(e)){let t=typeof e.message===\"string\"?e.message:null,n=typeof e.stack===\"string\"?e.stack:void 0;if(t)return n?{message:t,stack:n}:{message:t};return{message:q(e)}}if(e===null||e===void 0)return{message:\"Unknown error\"};return{message:q(e)}};var N=\"(?:0|[1-9]\\\\d*)\",Ce=new RegExp(`^\\\\^(${N}\\\\.${N}\\\\.${N})$`);var H=[\"sidenav\",\"main\",\"secondary\",\"side\"];var p=(e,t)=>({extensionId:\"pstdio\",kind:e,id:t}),w={project:p(\"mode\",\"project\"),sessions:p(\"mode\",\"sessions\"),settings:p(\"mode\",\"settings\")},Ae={project:{ref:w.project,regions:H},sessions:{ref:w.sessions,regions:H},settings:{ref:w.settings,regions:H}},U=(e,t,n)=>({id:e,ref:p(\"resource-kind\",e),label:t,menuSlots:n}),D=[{id:\"headerPrimary\",placement:\"header-primary\",access:\"public\"},{id:\"headerOverflow\",placement:\"header-overflow\",access:\"public\"}],K={project:U(\"project\",\"Extension\",D),session:U(\"session\",\"Session\",D),workspace:U(\"workspace\",\"Workspace\",D)},S={project:K.project.ref,session:K.session.ref,workspace:K.workspace.ref},x={start:p(\"page\",\"start\"),sessions:p(\"page\",\"sessions\"),session:p(\"page\",\"session\"),workspaces:p(\"page\",\"workspaces\"),workspace:p(\"page\",\"workspace\")},je={start:{ref:x.start,mode:w.project,path:\"\",primary:{cardinality:\"one\",resourceKinds:[]}},sessions:{ref:x.sessions,mode:w.sessions,path:\"sessions\",primary:{cardinality:\"one\",resourceKinds:[]}},session:{ref:x.session,mode:w.sessions,path:\"session\",primary:{cardinality:\"one\",resourceKinds:[\"session\",\"session-draft\"]}},workspaces:{ref:x.workspaces,mode:w.project,path:\"workspaces\",primary:{cardinality:\"one\",resourceKinds:[]}},workspace:{ref:x.workspace,mode:w.project,path:\"workspace\",primary:{cardinality:\"many\",resourceKinds:[\"workspace\"]}}},me={projectSession:p(\"placement\",\"project-session\")},Te={projectSession:{ref:me.projectSession,mode:w.project,cardinality:\"many\",resourceKinds:[\"session\",\"session-draft\"]}},Me={projectSettings:p(\"settings-panel\",\"project.settings\"),statusBarLeading:p(\"status-bar-item\",\"status-bar.leading\"),statusBarTrailing:p(\"status-bar-item\",\"status-bar.trailing\")};var F=(e)=>({...e,kind:\"command\"}),Le=Object.assign(F,{forExtension:(e)=>(t)=>F({extensionId:`${e.publisher}.${e.name}`,id:t})}),ge=(e)=>({...e,kind:\"event\"}),T=(e,t)=>({id:e,kind:t.kind,label:t.label,description:t.description,metadata:t.metadata}),d=(e)=>ge({extensionId:\"pstdio\",id:e}),k=(e,t)=>T(`${e.id}.${t}`,{kind:\"menu\"}),Oe={sidenav:T(\"project.sidenav\",{kind:\"panel\"}),headerPrimary:k(S.project,\"headerPrimary\"),headerOverflow:k(S.project,\"headerOverflow\"),settingsPanels:T(\"project.settingsPanels\",{kind:\"settings\"})},_e={headerPrimary:k(S.session,\"headerPrimary\"),headerOverflow:k(S.session,\"headerOverflow\")},$e={headerPrimary:k(S.workspace,\"headerPrimary\"),headerOverflow:k(S.workspace,\"headerOverflow\"),sidenav:T(\"workspace.sidenav\",{kind:\"panel\"})},Ne={opened:d(\"project.opened\")},He={boardViewsChanged:d(\"view.board-views.changed\"),resourceAnchorsChanged:d(\"view.resource-anchors.changed\"),sessionsChanged:d(\"view.sessions.changed\"),workspacesChanged:d(\"view.workspaces.changed\"),repositoriesChanged:d(\"view.repositories.changed\")},Ue={started:d(\"session.started\"),resumed:d(\"session.resumed\"),awaitingInput:d(\"session.awaitingInput\"),succeeded:d(\"session.succeeded\"),failed:d(\"session.failed\"),completed:d(\"session.completed\")},De={created:d(\"workspace.created\"),provision:d(\"workspace.provision\"),ready:d(\"workspace.ready\"),archived:d(\"workspace.archived\"),deleted:d(\"workspace.deleted\")},Ke={removed:d(\"worktree.removed\")},We={committed:d(\"git.committed\"),rebased:d(\"git.rebased\"),merged:d(\"git.merged\"),conflicted:d(\"git.conflicted\")};var ye=[\"clipboard.write\",\"commands.execute\",\"commands.stream\",\"navigation.open\",\"placement.close\",\"notification.show\",\"notification.action\",\"notification.resolve\",\"notification.dismiss\",\"preferences.get\",\"preferences.set\",\"extension.settings.all\",\"extension.settings.get\",\"extension.settings.set\",\"extension.settings.delete\",\"terminal.session\",\"files.upload\",\"files.list\",\"files.delete\"],he=[\"artifacts.read\"],we=[\"host.dispatchKeyboardEvent\"],Ve=[...ye.filter((e)=>e!==\"clipboard.write\"),...he,...we];var c=(e)=>(t)=>({...t,ref:{kind:e,id:t.id}}),Be=c(\"view\"),ze=c(\"view-menu\"),Ge=c(\"placement\"),Je=c(\"resource-kind\");var qe=c(\"navigation-item\"),Fe=c(\"navigation-tree\"),Ye=c(\"mode\");var Qe=c(\"status-bar-item\"),Xe=c(\"status\"),Ze=c(\"settings-panel\"),et=c(\"activity-item\"),tt=c(\"settings-section\"),nt=c(\"command-palette-resource\"),rt=c(\"keybinding\"),st=c(\"schedule\"),ot=c(\"artifact-mount\"),it=c(\"template-type\"),at=c(\"template\"),ct=c(\"skill\"),dt=c(\"theme\"),lt=c(\"file-icon-theme\"),ft=c(\"workspace-type\"),ut=c(\"harness\"),pt=c(\"connection\");var Y=(e,t,n)=>({call:async(r,...i)=>{try{return await e({method:r,params:i[0]})}catch(s){if(s instanceof Error)throw s;throw Error(j(s).message)}},onEvent:t,extensionId:n}),Q=(e)=>{let t=e,n=new Set;return{get:()=>t,subscribe:(r)=>(n.add(r),()=>n.delete(r)),set:(r)=>{t=r;for(let i of n)i(t)}}};var X=\"pstdio-extension-mount\",ve=()=>{let e=new Map;return{get length(){return e.size},clear:()=>e.clear(),getItem:(t)=>e.get(t)??null,key:(t)=>Array.from(e.keys())[t]??null,removeItem:(t)=>e.delete(t),setItem:(t,n)=>e.set(t,n)}},Ee=()=>{for(let e of[\"localStorage\",\"sessionStorage\"])try{window[e]}catch{Object.defineProperty(window,e,{configurable:!0,value:ve()})}},Z=(e,t)=>{let n=document.documentElement,r=e===\"dark\"?\"light\":\"dark\";n.classList.remove(r),n.classList.add(e),n.setAttribute(\"data-theme\",e),n.style.colorScheme=e;for(let[i,s]of Object.entries(t))if(i.startsWith(\"--\"))n.style.setProperty(i,s)},be=(e)=>{for(let t of e){let n=document.createElement(\"link\");n.rel=\"stylesheet\",n.href=t,document.head.appendChild(n)}},Se=()=>{let e=document.getElementById(X);if(!e)e=document.createElement(\"div\"),e.id=X,e.style.height=\"100%\",e.style.width=\"100%\",document.body.appendChild(e);return e},ke=()=>{window.addEventListener(\"message\",(e)=>{let t=e.data?.action;if(typeof t!==\"string\"||!t.startsWith(\"RIMLESS/\"))return;if(e.source!==window.parent)e.stopImmediatePropagation()},{capture:!0})},Ie=(e)=>e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable,Pe=async()=>{Ee(),ke();let e=Q(void 0),t=new Map,n=(o,l)=>{let a=t.get(o)??new Set;return a.add(l),t.set(o,a),()=>{a.delete(l)}},r,i=!1,s=await J.connect({init:async(o)=>{try{Z(o.theme,o.themeVariables),be(o.styles),e.set(o.props);let l=Se(),a=await import(o.moduleUrl),m=a.default??(a.mount?a:void 0);if(!m?.mount)throw Error(\"Extension module does not export a default view (defineExtensionView).\");let g=Y((f)=>s.remote.call(f),n,o.extensionId),y=await m.mount(l,g,e);if(r=typeof y===\"function\"?y:void 0,!i)i=!0,document.addEventListener(\"keydown\",(f)=>{if(!f.ctrlKey&&!f.metaKey&&!f.altKey)return;if(Ie(f.target)&&!f.shiftKey)return;s.remote.call({method:\"host.dispatchKeyboardEvent\",params:{key:f.key,code:f.code,ctrlKey:f.ctrlKey,metaKey:f.metaKey,altKey:f.altKey,shiftKey:f.shiftKey,repeat:f.repeat}}).catch(()=>{})},!0)}catch(l){let a=j(l);throw s.remote.runtimeError(a),l instanceof Error?l:Error(a.message)}},themeUpdate:(o)=>{Z(o.theme,o.variables)},propsUpdate:(o)=>{e.set(o.props)},hostEvent:(o)=>{for(let l of t.get(o.scope)??[])l(o.payload)}});s.remote.ready({}),window.addEventListener(\"beforeunload\",()=>{r?.()})};Pe();\n";
|
|
31
31
|
//#endregion
|
|
32
32
|
export { o as getExtensionRuntimeScript, i as renderExtensionRuntimeHtml, a as renderInlineExtensionRuntimeHtml };
|
|
33
33
|
|
|
@@ -635,51 +635,104 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
635
635
|
"resource",
|
|
636
636
|
e,
|
|
637
637
|
"context"
|
|
638
|
-
], Ke = {
|
|
638
|
+
], H = (e) => Array.isArray(e) ? e.map(H) : e && typeof e == "object" ? Object.fromEntries(Object.entries(e).sort(([e], [t]) => e.localeCompare(t)).map(([e, t]) => [e, H(t)])) : e, Ke = (e) => {
|
|
639
|
+
if (e.kind === "command" && e.args && typeof e.args == "object" && !Array.isArray(e.args) && Object.keys(e.args).length === 0) {
|
|
640
|
+
let { args: t, ...n } = e;
|
|
641
|
+
return JSON.stringify(H(n));
|
|
642
|
+
}
|
|
643
|
+
return JSON.stringify(H(e));
|
|
644
|
+
}, U = /* @__PURE__ */ new WeakMap(), qe = (e, t) => {
|
|
645
|
+
U.set(e, t);
|
|
646
|
+
}, Je = (e, t) => {
|
|
647
|
+
let n = U.get(e);
|
|
648
|
+
return t && n?.registryToken !== t ? void 0 : n;
|
|
649
|
+
}, Ye = {
|
|
639
650
|
project: "folder-root",
|
|
640
651
|
workspace: "computer",
|
|
641
652
|
worktree: "git-pull-request-draft",
|
|
642
653
|
settings: "settings",
|
|
643
654
|
kanbanRenderer: "table-properties"
|
|
644
|
-
},
|
|
645
|
-
let
|
|
655
|
+
}, W = (t, n) => {
|
|
656
|
+
let r = t;
|
|
657
|
+
for (let i of n.values()) e(i.resource) === e(t) && (r = "removed" in i.change ? void 0 : {
|
|
658
|
+
...t,
|
|
659
|
+
label: i.change.label
|
|
660
|
+
});
|
|
661
|
+
return r;
|
|
662
|
+
}, Xe = () => {
|
|
663
|
+
let t = u({
|
|
664
|
+
name: "workbench.resource-preview",
|
|
665
|
+
initialState: { changes: /* @__PURE__ */ new Map() }
|
|
666
|
+
}), n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = (e) => {
|
|
667
|
+
let n = new Map(t.getState().changes);
|
|
668
|
+
n.delete(e), t.setState({ changes: n });
|
|
669
|
+
};
|
|
670
|
+
return {
|
|
671
|
+
store: t,
|
|
672
|
+
resolve(e) {
|
|
673
|
+
return W(e, t.getState().changes);
|
|
674
|
+
},
|
|
675
|
+
persist(t, r) {
|
|
676
|
+
let i = e(t), a = (n.get(i) ?? Promise.resolve()).catch(() => void 0).then(r);
|
|
677
|
+
return n.set(i, a), a.finally(() => {
|
|
678
|
+
n.get(i) === a && n.delete(i);
|
|
679
|
+
}).catch(() => void 0), a;
|
|
680
|
+
},
|
|
681
|
+
subscribeRefresh(e) {
|
|
682
|
+
return i.add(e), r(() => i.delete(e));
|
|
683
|
+
},
|
|
684
|
+
begin(e, n) {
|
|
685
|
+
let r = Symbol("resource mutation");
|
|
686
|
+
return t.setState({ changes: new Map([...t.getState().changes, [r, {
|
|
687
|
+
resource: e,
|
|
688
|
+
change: n
|
|
689
|
+
}]]) }), {
|
|
690
|
+
rollback: () => a(r),
|
|
691
|
+
async commit() {
|
|
692
|
+
await Promise.allSettled([...i].map((t) => t(e))), a(r);
|
|
693
|
+
}
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
};
|
|
697
|
+
}, G = (e) => "viewId" in e && e.type === "view", K = "resource_hierarchy_cycle", q = (e) => [...e].sort((e, t) => t.priority - e.priority || e.id.localeCompare(t.id)), Ze = (t, n, r) => {
|
|
698
|
+
let i = q(t), a = [n], o = /* @__PURE__ */ new Set([`resource:${e(n)}`]), s = n;
|
|
646
699
|
for (;;) {
|
|
647
700
|
let t = i.find((e) => e.canResolve(s))?.getParent(s);
|
|
648
701
|
if (!t) break;
|
|
649
|
-
let n =
|
|
702
|
+
let n = G(t) ? `view:${t.viewId}` : `resource:${e(t)}`;
|
|
650
703
|
if (o.has(n)) {
|
|
651
704
|
r({
|
|
652
|
-
code:
|
|
705
|
+
code: K,
|
|
653
706
|
path: [...a],
|
|
654
|
-
repeatedUri:
|
|
707
|
+
repeatedUri: G(t) ? n : e(t)
|
|
655
708
|
});
|
|
656
709
|
break;
|
|
657
710
|
}
|
|
658
|
-
if (a.unshift(t), o.add(n),
|
|
711
|
+
if (a.unshift(t), o.add(n), G(t)) break;
|
|
659
712
|
s = t;
|
|
660
713
|
}
|
|
661
714
|
return a;
|
|
662
|
-
},
|
|
715
|
+
}, J = "workbench.resource.type", Y = "workbench.resource.extensionId", X = "workbench.resource.id", Z = (e) => `workbench.resource.metadata.${e}`, Q = "workbench.selectionResourceKey", Qe = (e) => typeof e == "string" || typeof e == "number" || typeof e == "boolean", $ = (e) => {
|
|
663
716
|
if (!e) return {};
|
|
664
717
|
let t = {
|
|
665
|
-
[
|
|
666
|
-
[
|
|
667
|
-
[
|
|
718
|
+
[J]: e.type,
|
|
719
|
+
[X]: e.id,
|
|
720
|
+
[Y]: e.extensionId
|
|
668
721
|
};
|
|
669
|
-
for (let [n, r] of Object.entries(e.metadata ?? {}))
|
|
722
|
+
for (let [n, r] of Object.entries(e.metadata ?? {})) Qe(r) && (t[Z(n)] = r);
|
|
670
723
|
return t;
|
|
671
|
-
},
|
|
724
|
+
}, $e = (e) => e === "workbench.resource.type" || e === "workbench.resource.extensionId" || e === "workbench.resource.id" || e.startsWith(Z("")), et = (e, t) => {
|
|
672
725
|
let n = {};
|
|
673
|
-
for (let [t, r] of Object.entries(e))
|
|
726
|
+
for (let [t, r] of Object.entries(e)) $e(t) || (n[t] = r);
|
|
674
727
|
return {
|
|
675
728
|
...n,
|
|
676
|
-
|
|
729
|
+
...$(t)
|
|
677
730
|
};
|
|
678
|
-
},
|
|
731
|
+
}, tt = (t) => ({ [Q]: e(t) }), nt = (t) => {
|
|
679
732
|
if (!t) return [];
|
|
680
|
-
let n = t.metadata?.[
|
|
733
|
+
let n = t.metadata?.[Q];
|
|
681
734
|
return typeof n != "string" || n === e(t) ? [e(t)] : [e(t), n];
|
|
682
|
-
},
|
|
735
|
+
}, rt = (e = {}) => {
|
|
683
736
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), i = u({
|
|
684
737
|
name: "workbench.resources",
|
|
685
738
|
initialState: {
|
|
@@ -690,6 +743,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
690
743
|
});
|
|
691
744
|
return {
|
|
692
745
|
store: i,
|
|
746
|
+
preview: Xe(),
|
|
693
747
|
removed(n) {
|
|
694
748
|
e.remove?.(n, [...t].flatMap((e) => e(n)));
|
|
695
749
|
},
|
|
@@ -776,13 +830,13 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
776
830
|
});
|
|
777
831
|
},
|
|
778
832
|
listHierarchyProviders() {
|
|
779
|
-
return
|
|
833
|
+
return q(Object.values(i.getState().hierarchyProviders));
|
|
780
834
|
},
|
|
781
835
|
walkHierarchy(t) {
|
|
782
|
-
return t ?
|
|
836
|
+
return t ? Ze(Object.values(i.getState().hierarchyProviders), t, (e) => {
|
|
783
837
|
for (let t of n) t(e);
|
|
784
838
|
}).map((t) => {
|
|
785
|
-
if (!
|
|
839
|
+
if (!G(t)) return t;
|
|
786
840
|
let n = e.resolveView?.(t.viewId);
|
|
787
841
|
return n ? {
|
|
788
842
|
...t,
|
|
@@ -797,7 +851,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
797
851
|
});
|
|
798
852
|
}
|
|
799
853
|
};
|
|
800
|
-
},
|
|
854
|
+
}, it = (e, t = "view") => JSON.stringify([t, e.placementIdentity ? M(e.placementIdentity) : e.instanceId]), at = async (e, t) => {
|
|
801
855
|
let n = new AbortController(), r = () => n.abort(t?.reason);
|
|
802
856
|
t?.aborted ? r() : t?.addEventListener("abort", r, { once: !0 });
|
|
803
857
|
let i;
|
|
@@ -817,16 +871,16 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
817
871
|
} finally {
|
|
818
872
|
t?.removeEventListener("abort", r);
|
|
819
873
|
}
|
|
820
|
-
},
|
|
874
|
+
}, ot = (e) => e.replace(/^['"]|['"]$/g, ""), st = (e, t) => {
|
|
821
875
|
let n = t.trim();
|
|
822
876
|
if (n.length === 0) return !0;
|
|
823
877
|
let r = n.match(/^([A-Za-z0-9_.-]+)\s*(==|!=)\s*(.+)$/);
|
|
824
878
|
if (r) {
|
|
825
|
-
let [, t, n, i] = r, a = e[t ?? ""], o =
|
|
879
|
+
let [, t, n, i] = r, a = e[t ?? ""], o = ot(i ?? "");
|
|
826
880
|
return n === "==" ? String(a) === o : String(a) !== o;
|
|
827
881
|
}
|
|
828
882
|
return n.startsWith("!") ? !e[n.slice(1)] : !!e[n];
|
|
829
|
-
},
|
|
883
|
+
}, ct = (e, t) => !t || t.split("||").some((t) => t.split("&&").every((t) => st(e, t))), lt = () => {
|
|
830
884
|
let e = u({
|
|
831
885
|
name: "workbench.context",
|
|
832
886
|
initialState: { values: {} }
|
|
@@ -890,29 +944,29 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
890
944
|
return { ...e.getState().values };
|
|
891
945
|
},
|
|
892
946
|
matches(t) {
|
|
893
|
-
return
|
|
947
|
+
return ct(e.getState().values, t);
|
|
894
948
|
}
|
|
895
949
|
};
|
|
896
|
-
},
|
|
950
|
+
}, ut = (e, t, n) => {
|
|
897
951
|
e.notifications.show({
|
|
898
952
|
level: "error",
|
|
899
953
|
title: `${t} failed`,
|
|
900
954
|
message: n instanceof Error ? n.message : String(n)
|
|
901
955
|
});
|
|
902
|
-
},
|
|
956
|
+
}, dt = async (e, t, n) => {
|
|
903
957
|
try {
|
|
904
958
|
await n();
|
|
905
959
|
} catch (n) {
|
|
906
|
-
|
|
960
|
+
ut(e, t, n);
|
|
907
961
|
}
|
|
908
|
-
},
|
|
909
|
-
|
|
910
|
-
},
|
|
911
|
-
let t =
|
|
962
|
+
}, ft = /* @__PURE__ */ new WeakMap(), pt = (e, t) => {
|
|
963
|
+
ft.set(e, t);
|
|
964
|
+
}, mt = (e) => {
|
|
965
|
+
let t = ft.get(e);
|
|
912
966
|
if (!t) throw Error("Workbench renderers are not initialized");
|
|
913
967
|
return t;
|
|
914
968
|
};
|
|
915
969
|
//#endregion
|
|
916
|
-
export {
|
|
970
|
+
export { S as $, Ve as A, M as B, Je as C, u as Ct, V as D, r as Dt, B as E, i as Et, ze as F, Se as G, k as H, z as I, we as J, E as K, Fe as L, Ue as M, We as N, Ge as O, Re as P, C as Q, F as R, Ye as S, d as St, Ke as T, s as Tt, Te as U, Ne as V, xe as W, be as X, ve as Y, ye as Z, J as _, v as _t, lt as a, le as at, K as b, ee as bt, it as c, re as ct, tt as d, b as dt, pe as et, nt as f, h as ft, Y as g, ue as gt, Z as h, oe as ht, dt as i, ge as it, Be as j, He as k, rt as l, m as lt, X as m, se as mt, pt as n, he as nt, ct as o, ce as ot, et as p, y as pt, Ee as q, ut as r, x as rt, at as s, ae as st, mt as t, fe as tt, $ as u, ie as ut, Q as v, p as vt, qe as w, c as wt, W as x, f as xt, G as y, ne as yt, je as z };
|
|
917
971
|
|
|
918
|
-
//# sourceMappingURL=workbench-renderers-
|
|
972
|
+
//# sourceMappingURL=workbench-renderers-BGXfLY9a.js.map
|