@pstdio/workbench 0.44.0 → 0.45.0-nightly.20261021030241
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 +30 -4
- package/dist/extensions.js +1321 -786
- package/dist/extensions.js.map +1 -1
- package/dist/{file-renderer-view-C5dyoQQW.js → file-renderer-view-CJBCZZIE.js} +46 -46
- package/dist/{file-renderer-view-C5dyoQQW.js.map → file-renderer-view-CJBCZZIE.js.map} +1 -1
- package/dist/{index-8x-QT7wg.d.ts → index-CEjUGkgB.d.ts} +341 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2039 -1656
- package/dist/index.js.map +1 -1
- package/dist/{kanban-presentation-pexk_oCY.d.ts → kanban-presentation-CQNhh7IY.d.ts} +1 -1
- package/dist/navigation-tree-registry-BsMNSEyZ.js +145 -0
- package/dist/navigation-tree-registry-BsMNSEyZ.js.map +1 -0
- package/dist/{react-C-HbdPSw.js → react-hsii-4ZV.js} +3816 -2958
- package/dist/react-hsii-4ZV.js.map +1 -0
- package/dist/react.d.ts +18 -5
- package/dist/react.js +2 -2
- package/dist/storage.d.ts +1 -1
- package/dist/webview-runtime.js +1 -1
- package/dist/workbench-renderers-Ku0_knjs.js +1602 -0
- package/dist/workbench-renderers-Ku0_knjs.js.map +1 -0
- package/package.json +3 -3
- package/dist/navigation-tree-registry-C5l3eO3n.js +0 -120
- package/dist/navigation-tree-registry-C5l3eO3n.js.map +0 -1
- package/dist/react-C-HbdPSw.js.map +0 -1
- package/dist/workbench-renderers-Bz_dLyHW.js +0 -4775
- package/dist/workbench-renderers-Bz_dLyHW.js.map +0 -1
package/dist/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as ReactResourceContextAction, i as ReactKanbanRendererContribution, n as ReactAttributesSource, r as ReactBoardColumnConfig, t as ReactAttributeDescriptor } from "./kanban-presentation-
|
|
1
|
+
import { Et as PreferenceValue, F as WorkbenchModuleContribution, G as ThemePreferenceOption$1, Hi as RegisteredPlaceholderContribution, Jr as RegisteredMenuItem, Ki as WorkbenchPanelInstance, Kr as MenuPath, Li as NavigationTarget$1, M as WorkbenchCoreContributionContext, Nr as TreeAction, Qn as RegisteredDataTableRendererContribution, St as PreferenceRegistry, Ui as RegisteredWidgetContribution, Ut as KeybindingSequence, Wr as WorkbenchPanelRenderInput, X as WorkbenchStatusRegistry, Xr as WorkbenchFocusRegionId, Xt as WorkbenchTerminalController, ca as WorkbenchRegion$1, da as WorkbenchStore, ei as Command, fa as Disposable, ii as CommandParamSchema, j as WorkbenchCore, mi as ResourceRef$1, ni as CommandParamDescriptor, oi as WorkbenchCommandExecutionContext, ra as WorkbenchWidgetPlacement, ri as CommandParamOption, sa as WorkbenchPanelRegion, sn as WorkbenchShellOpenRegion, wt as PreferenceScope, xt as PreferencePropertySchema } from "./index-CEjUGkgB.js";
|
|
2
|
+
import { a as ReactResourceContextAction, i as ReactKanbanRendererContribution, n as ReactAttributesSource, r as ReactBoardColumnConfig, t as ReactAttributeDescriptor } from "./kanban-presentation-CQNhh7IY.js";
|
|
3
3
|
import { ResourceAnchor, ResourceAnchorPage, ResourceAnchorQuery, ResourceRef } from "@pstdio/sdk/extensions";
|
|
4
4
|
import { ReactNode } from "react";
|
|
5
5
|
import { FileIconThemePreferenceOption, ResourceContextAction, ThemePreference, ThemePreferenceOption, ThemePreferenceStorage } from "@pstdio/ui";
|
|
@@ -175,15 +175,19 @@ interface CreateTreeContextMenuItemsInput {
|
|
|
175
175
|
}
|
|
176
176
|
export declare const createTreeContextMenuItems: (input: CreateTreeContextMenuItemsInput) => import("@pstdio/ui").ListRowActionMenuItem[];
|
|
177
177
|
//#endregion
|
|
178
|
-
//#region src/react/menus/
|
|
179
|
-
interface
|
|
178
|
+
//#region src/react/menus/menu-entries.d.ts
|
|
179
|
+
interface ResolveMenuEntriesInput {
|
|
180
180
|
workbench: WorkbenchCoreContributionContext;
|
|
181
181
|
menuPath: MenuPath;
|
|
182
182
|
context?: WorkbenchCommandExecutionContext;
|
|
183
|
-
onCommandError?: (error: unknown) => void;
|
|
184
183
|
onRequestParams?: (request: TreeActionParamsRequest) => void;
|
|
185
184
|
}
|
|
186
185
|
//#endregion
|
|
186
|
+
//#region src/react/menus/command-menu-items.d.ts
|
|
187
|
+
interface CreateMenuItemsInput extends ResolveMenuEntriesInput {
|
|
188
|
+
onCommandError?: (error: unknown) => void;
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
187
191
|
//#region src/react/menus/resource-actions.d.ts
|
|
188
192
|
export declare const createWorkbenchResourceActions: (workbench: WorkbenchCoreContributionContext, subject: ResourceRef$1, options?: Pick<CreateMenuItemsInput, "onRequestParams" | "onCommandError">) => {
|
|
189
193
|
group: {
|
|
@@ -497,6 +501,8 @@ export declare const WorkbenchOverlayLayer: (props: WorkbenchOverlayLayerProps)
|
|
|
497
501
|
//#endregion
|
|
498
502
|
//#region src/react/workbench/workbench.d.ts
|
|
499
503
|
interface WorkbenchProps {
|
|
504
|
+
/** The host renders WorkbenchPanelToggles outside the navigation header. */
|
|
505
|
+
panelControlsPlacement?: "nav" | "host";
|
|
500
506
|
workbench: WorkbenchCore;
|
|
501
507
|
/** Host chrome above all workbench regions, inside the current theme. */
|
|
502
508
|
titleBar?: ReactNode;
|
|
@@ -522,5 +528,12 @@ export declare const disposeWorkbenchModuleHostRegistrations: (registrations: Ma
|
|
|
522
528
|
export declare const syncWorkbenchModuleHostRegistrations: (workbench: WorkbenchCore, registrations: Map<string, WorkbenchModuleHostRegistration>, modules: readonly WorkbenchModuleContribution[]) => void;
|
|
523
529
|
export declare const WorkbenchModuleHost: (props: WorkbenchModuleHostProps) => null;
|
|
524
530
|
//#endregion
|
|
531
|
+
//#region src/react/workbench/workbench-panel-toggles.d.ts
|
|
532
|
+
/** Shared host controls. Desktop hosts mount these beside their project tabs. */
|
|
533
|
+
export declare const WorkbenchPanelToggles: (props: {
|
|
534
|
+
workbench: WorkbenchCore;
|
|
535
|
+
regions?: readonly WorkbenchShellOpenRegion[];
|
|
536
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
537
|
+
//#endregion
|
|
525
538
|
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 };
|
|
526
539
|
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,
|
|
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, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, R as _, S as v, T as y, U as b, V as x, W as S, X as C, Y as w, Z as T, _ as E, at as D, b as O, d as k, et as A, f as j, ft as M, g as N, gt as P, h as F, ht as I, i as L, it as R, j as z, k as B, m as V, mt as H, n as U, nt as W, ot as G, p as K, pt as q, q as J, r as Y, rt as X, st as Z, t as Q, tt as $, v as ee, vt as te, w as ne, x as re, y as ie, yt as ae, z as oe } from "./react-hsii-4ZV.js";
|
|
2
|
+
export { R as CommandOptionStatus, $ as CommandParamField, p as RelatedResources, a as WORKBENCH_SETTINGS_NAV_WIDGET_ID, t as WORKBENCH_SETTINGS_OPEN_COMMAND_ID, i as WORKBENCH_SETTINGS_PANEL_WIDGET_ID, m as WORKBENCH_SETTINGS_WIDGET_ID, N as WORKBENCH_TERMINAL_OPEN_COMMAND_ID, E as WORKBENCH_TERMINAL_PANEL_SIZE, ee as WORKBENCH_TERMINAL_WIDGET_ID, L as Workbench, ne as WorkbenchAttachedSidePanel, D as WorkbenchBreadcrumbView, e as WorkbenchCommandPalette, x as WorkbenchConnectionProvider, oe as WorkbenchDataTableView, y as WorkbenchFloatingSidePanel, g as WorkbenchFocusRegion, C as WorkbenchHeaderActions, te as WorkbenchIcon, J as WorkbenchKeybindingDispatcher, Q as WorkbenchModuleHost, u as WorkbenchNotificationHost, j as WorkbenchOverlayLayer, k as WorkbenchPanelToggles, c as WorkbenchPreferencesForm, S as WorkbenchRegion, b as WorkbenchRegionTabs, re as WorkbenchTerminalPanel, V as WorkbenchThemeProvider, K as WorkbenchThemeScope, o as WorkbenchTreeView, s as WorkbenchWidgetHost, r as WorkflowStatusSettings, M as buildCommandParamInitialValues, W as commandParamName, q as createCommandFilesParamValue, v as createControllerTerminalBridge, n as createTreeContextMenuItems, l as createWorkbenchHotkeyRegistrations, G as createWorkbenchResourceActions, z as createWorkbenchResourceLinksModule, B as createWorkbenchSettingsModule, ie as createWorkbenchTerminalModule, U as disposeWorkbenchModuleHostRegistrations, H as isCommandFilesParamValue, I as listCommandParamEntries, T as listWorkbenchMenuItems, P as normalizeCommandParamValues, w as normalizeWorkbenchKeybinding, h as openRelatedResourcesPreference, O as openWorkbenchTerminal, d as paramValueToPreference, _ as preferenceSchemaToParams, X as readCommandParamValue, f as resourceLinksCommandId, Y as syncWorkbenchModuleHostRegistrations, A as useCommandOptions, Z as useWorkbenchResourceActionResolver, ae as useWorkbenchStore, F as useWorkbenchThemePreferences };
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Vr as TreeRendererPersistenceAdapter, Zr as LayoutPersistenceAdapter, bt as PreferencePersistenceAdapter, gn as WorkbenchPageLocationPersistence, rt as WorkbenchStatusBarPersistenceAdapter, un as WorkbenchPanelMenuStatePersistenceAdapter, z as WorkbenchPersistenceAdapter } from "./index-CEjUGkgB.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 se(){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 r=t.versions??{},s=t.release?.name;if(r.bun||s===\"bun\"||e.Bun!==void 0)return\"bun\";if(r.node&&s===\"node\")return\"node\"}return e.Bun===void 0?\"browser\":\"bun\"}function O(){return se()}function z(){return O()===\"worker\"}function K(){let e=O();return e===\"node\"||e===\"bun\"}function oe(){return window.self!==window.top}function ae(e){let t={};return function r(s,i=\"\"){Object.keys(s).forEach((o)=>{let n=i?`${i}.${o}`:o;s[o]===Object(s[o])&&r(s[o],n),typeof s[o]==\"function\"&&(t[n]=s[o],delete s[o])})}(e),t}function ie(e){return!e||e===\"null\"?\"*\":e}function ce(e,t,r){if(!e||typeof e!=\"object\")return e;let s=Array.isArray(t)?t:t.split(\".\").map((o)=>o.match(/^\\d+$/)?Number(o):o),i=e;for(let o=0;o<s.length;o++){let n=s[o];o===s.length-1?i[n]=r:((!i[n]||typeof i[n]!=\"object\")&&(i[n]=typeof s[o+1]==\"number\"?[]:{}),i=i[n])}return e}function de(e=10){let t=\"\";for(let r=0;r<e;r++)t+=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".charAt(Math.floor(Math.random()*62));return t}var B=O(),k=null;if(B===\"node\"||B===\"bun\")try{let e=globalThis.require;k=e?.(\"node:worker_threads\")?.parentPort??null}catch{}function le(){if(K())return k;if(z())return self;if(oe())return window.parent;throw Error(\"No valid target found for postMessage\")}function x(e,t,r,s){if(!e)throw Error(\"Rimless Error: No target specified for postMessage\");if(K()&&e===k){e.postMessage(t,{transfer:s});return}if(z()){e.postMessage(t,{transfer:s});return}if(e.postMessage){e.postMessage(t,{targetOrigin:ie(r),transfer:s});return}throw Error(\"Rimless Error: Invalid target for postMessage\")}function G(e){return k!==null&&e===k}function j(e,t,r){G(e)?e.on(t,r):(\"addEventListener\"in e)&&e.addEventListener(t,r)}function _(e,t,r){G(e)?e.off(t,r):(\"removeEventListener\"in e)&&e.removeEventListener(t,r)}function M(e){return e.data||e}var w=function(e){return e.MESSAGE=\"message\",e}({}),g=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 fe(e={},t,r,s,i){let o=[];for(let[n,a]of Object.entries(e)){async function c(p){let{action:m,callID:h,connectionID:C,callName:S,args:v=[]}=M(p);if(m!==g.RPC_REQUEST||!h||!S||S!==n||C!==t)return;let u={action:g.RPC_RESOLVE,callID:h,callName:S,connectionID:C,error:null,result:null},R;try{u.result=await a(...v,i),u.result?.[E]&&(R=u.result[E]??[],delete u.result[E])}catch(P){u.action=g.RPC_REJECT,u.error=JSON.parse(JSON.stringify(P,Object.getOwnPropertyNames(P)))}x(s,u,p?.origin,R)}j(r,w.MESSAGE,c),o.push(()=>_(r,w.MESSAGE,c))}return()=>o.forEach((n)=>n())}function ue(e,t,r,s=new Set,i,o){return(...n)=>new Promise((a,c)=>{let p=de();function m(){_(i,w.MESSAGE,h),s.delete(m)}function h(v){let{callID:u,connectionID:R,callName:P,result:re,error:ne,action:V}=M(v);if(!(!u||!P)&&P===e&&u===p&&R===t){if(V===g.RPC_RESOLVE)return m(),a(re);if(V===g.RPC_REJECT)return m(),c(ne)}}let C={action:g.RPC_REQUEST,args:n,callID:p,callName:e,connectionID:t},S=n.reduce((v,u)=>u[E]?.length?v.concat(u[E]):v,n[E]??[]);j(i,w.MESSAGE,h),s.add(m),x(o,C,r?.origin,S)})}function pe(e={},t=[],r,s,i,o){let n={...e},a=new Set;for(let c of t)ce(n,c,ue(c,r,s,a,i,o));return{remote:n,unregisterRemote:()=>a.forEach((c)=>c())}}function me(e={},t){return new Promise(async(r)=>{let s=ae(e),i=le(),o=self||window;async function n(a){let c=M(a);if(c?.action!==g.HANDSHAKE_REPLY)return;let{remote:p,unregisterRemote:m}=pe(c.schema,c.methodNames,c.connectionID,a,o,i),h=fe(s,c.connectionID,o,i,p);return await t?.onConnectionSetup?.(p),x(i,{action:g.HANDSHAKE_REPLY,connectionID:c.connectionID},a?.origin),r({remote:p,close:()=>{_(o,w.MESSAGE,n),m(),h()},id:c.connectionID})}j(o,w.MESSAGE,n),x(i,{action:g.HANDSHAKE_REQUEST,methodNames:Object.keys(s),schema:e})})}var q={connect:me};var J=(e={})=>{let t=e.locale??\"en\";return{...e,projectId:e.projectId,themePreference:e.themePreference??\"system\",locale:t,resource:e.resource,pageLocation:e.pageLocation,pageParams:e.pageParams??{},translations:e.translations??{locale:t,defaultLocale:t,bundle:{},defaultBundle:{}}}};var ge=(e)=>typeof e===\"object\"&&e!==null,F=(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(ge(e)){let t=typeof e.message===\"string\"?e.message:null,r=typeof e.stack===\"string\"?e.stack:void 0;if(t)return r?{message:t,stack:r}:{message:t};return{message:F(e)}}if(e===null||e===void 0)return{message:\"Unknown error\"};return{message:F(e)}};var W=\"(?:0|[1-9]\\\\d*)\",Te=new RegExp(`^\\\\^(${W}\\\\.${W}\\\\.${W})$`);var N=[\"sidenav\",\"main\",\"secondary\",\"side\"];var f=(e,t)=>({extensionId:\"pstdio\",kind:e,id:t}),y={project:f(\"mode\",\"project\"),sessions:f(\"mode\",\"sessions\"),settings:f(\"mode\",\"settings\")},Le={project:{ref:y.project,regions:N},sessions:{ref:y.sessions,regions:N},settings:{ref:y.settings,regions:N}},H=(e,t,r)=>({id:e,ref:f(\"resource-kind\",e),label:t,menuSlots:r}),D=[{id:\"headerPrimary\",placement:\"header-primary\",access:\"public\"},{id:\"headerOverflow\",placement:\"header-overflow\",access:\"public\"}],U={project:H(\"project\",\"Extension\",D),session:H(\"session\",\"Session\",D),workspace:H(\"workspace\",\"Workspace\",D)},b={project:U.project.ref,session:U.session.ref,workspace:U.workspace.ref},A={start:f(\"page\",\"start\"),sessions:f(\"page\",\"sessions\"),session:f(\"page\",\"session\"),workspaces:f(\"page\",\"workspaces\"),workspace:f(\"page\",\"workspace\")},Oe={start:{ref:A.start,mode:y.project,path:\"\",primary:{cardinality:\"one\",resourceKinds:[]}},sessions:{ref:A.sessions,mode:y.sessions,path:\"sessions\",primary:{cardinality:\"one\",resourceKinds:[]}},session:{ref:A.session,mode:y.sessions,path:\"session\",primary:{cardinality:\"one\",resourceKinds:[\"session\",\"session-draft\"]}},workspaces:{ref:A.workspaces,mode:y.project,path:\"workspaces\",primary:{cardinality:\"one\",resourceKinds:[]}},workspace:{ref:A.workspace,mode:y.project,path:\"workspace\",primary:{cardinality:\"many\",resourceKinds:[\"workspace\"]}}},ye={projectSession:f(\"placement\",\"project-session\")},je={projectSession:{ref:ye.projectSession,mode:y.project,cardinality:\"many\",resourceKinds:[\"session\",\"session-draft\"]}},_e={projectSettings:f(\"settings-panel\",\"project.settings\"),extensionSettings:f(\"settings-panel\",\"extension.settings\"),statusBarLeading:f(\"status-bar-item\",\"status-bar.leading\"),statusBarTrailing:f(\"status-bar-item\",\"status-bar.trailing\")};var Y=(e)=>({...e,kind:\"command\"}),Me=Object.assign(Y,{forExtension:(e)=>(t)=>Y({extensionId:`${e.publisher}.${e.name}`,id:t})}),he=(e)=>({...e,kind:\"event\"}),L=(e,t)=>({id:e,kind:t.kind,label:t.label,description:t.description,metadata:t.metadata}),l=(e)=>he({extensionId:\"pstdio\",id:e}),I=(e,t)=>L(`${e.id}.${t}`,{kind:\"menu\"}),We={sidenav:L(\"project.sidenav\",{kind:\"panel\"}),headerPrimary:I(b.project,\"headerPrimary\"),headerOverflow:I(b.project,\"headerOverflow\"),settingsPanels:L(\"project.settings\",{kind:\"settings\"})},Ne={headerPrimary:I(b.session,\"headerPrimary\"),headerOverflow:I(b.session,\"headerOverflow\")},He={headerPrimary:I(b.workspace,\"headerPrimary\"),headerOverflow:I(b.workspace,\"headerOverflow\"),sidenav:L(\"workspace.sidenav\",{kind:\"panel\"})},$e={opened:l(\"project.opened\")},De={boardViewsChanged:l(\"view.board-views.changed\"),resourceAnchorsChanged:l(\"view.resource-anchors.changed\"),sessionsChanged:l(\"view.sessions.changed\"),workspacesChanged:l(\"view.workspaces.changed\"),repositoriesChanged:l(\"view.repositories.changed\")},Ue={started:l(\"session.started\"),resumed:l(\"session.resumed\"),awaitingInput:l(\"session.awaitingInput\"),succeeded:l(\"session.succeeded\"),failed:l(\"session.failed\"),completed:l(\"session.completed\")},Ve={created:l(\"workspace.created\"),provision:l(\"workspace.provision\"),ready:l(\"workspace.ready\"),deleted:l(\"workspace.deleted\")},Be={removed:l(\"worktree.removed\")},ze={committed:l(\"git.committed\"),rebased:l(\"git.rebased\"),merged:l(\"git.merged\"),conflicted:l(\"git.conflicted\")};var ve=[\"clipboard.write\",\"commands.execute\",\"commands.stream\",\"navigation.open\",\"page.params.update\",\"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\"],Ee=[\"artifacts.read\"];var Ke=[...ve.filter((e)=>e!==\"clipboard.write\"),...Ee];var d=(e)=>(t)=>({...t,ref:{kind:e,id:t.id}}),Ge=d(\"view\"),qe=d(\"view-menu\"),Je=d(\"placement\"),Fe=d(\"resource-kind\");var Ye=d(\"navigation-item\"),Qe=d(\"navigation-tree\"),Xe=d(\"mode\");var Ze=d(\"status-bar-item\"),et=d(\"settings-panel\"),tt=d(\"activity-item\"),rt=d(\"settings-section\"),nt=d(\"command-palette-resource\"),st=d(\"keybinding\"),ot=d(\"schedule\"),at=d(\"artifact-mount\"),it=d(\"template-type\"),ct=d(\"template\"),dt=d(\"skill\"),lt=d(\"theme\"),ft=d(\"file-icon-theme\"),ut=d(\"workspace-type\"),pt=d(\"harness\"),mt=d(\"connection\");var Q=(e,t,r,s)=>({call:async(i,...o)=>{try{let n=await e({method:i,params:o[0]});if(!n.ok)throw Object.assign(Error(n.error.message),n.error);return n.value}catch(n){if(n instanceof Error)throw n;throw Error(T(n).message)}},onEvent:t,extensionId:r,propsStore:s}),X=(e)=>{let t=e,r=new Set;return{get:()=>t,subscribe:(s)=>(r.add(s),()=>r.delete(s)),set:(s)=>{t=s;for(let i of r)i(t)}}};var Z=(e)=>{let t,r,s=!1;return{initialize:(i)=>{if(s)return Promise.resolve();return t??=e(i).then((o)=>{if(typeof o!==\"function\")return;if(s)o();else r=o}),t},dispose:()=>{s=!0,r?.(),r=void 0}}};var ee=\"pstdio-extension-mount\",we=()=>{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,r)=>e.set(t,r)}},be=()=>{for(let e of[\"localStorage\",\"sessionStorage\"])try{window[e]}catch{Object.defineProperty(window,e,{configurable:!0,value:we()})}},te=(e,t)=>{let r=document.documentElement,s=e===\"dark\"?\"light\":\"dark\";r.classList.remove(s),r.classList.add(e),r.setAttribute(\"data-theme\",e),r.style.colorScheme=e;for(let[i,o]of Object.entries(t))if(i.startsWith(\"--\"))r.style.setProperty(i,o)},Ie=(e)=>{for(let t of e){let r=document.createElement(\"link\");r.rel=\"stylesheet\",r.href=t,document.head.appendChild(r)}},Se=()=>{let e=document.getElementById(ee);if(!e)e=document.createElement(\"div\"),e.id=ee,e.style.height=\"100%\",e.style.width=\"100%\",document.body.appendChild(e);return e},Pe=()=>{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,Ae=async()=>{be(),Pe();let e=X(J()),t=new Map,r=(n,a)=>{let c=t.get(n)??new Set;return c.add(a),t.set(n,c),()=>{c.delete(a)}},s=Z(async(n)=>{Ie(n.styles);let a=await import(n.moduleUrl),c=a.default??(a.mount?a:void 0);if(!c?.mount)throw Error(\"Extension module does not export a default view (defineExtensionView).\");let p=Q((m)=>o.remote.call(m),r,n.extensionId,e);return await c.mount(Se(),p,e)}),i=!1,o=await q.connect({init:async(n)=>{try{if(te(n.theme,n.themeVariables),e.set(n.props),await s.initialize(n),!i)i=!0,document.addEventListener(\"keydown\",(a)=>{if(!a.ctrlKey&&!a.metaKey&&!a.altKey)return;if(ke(a.target)&&!a.shiftKey)return;o.remote.dispatchKeyboardEvent({key:a.key,code:a.code,ctrlKey:a.ctrlKey,metaKey:a.metaKey,altKey:a.altKey,shiftKey:a.shiftKey,repeat:a.repeat}).catch(()=>{})},!0)}catch(a){let c=T(a);throw o.remote.runtimeError(c),a instanceof Error?a:Error(c.message)}},themeUpdate:(n)=>{te(n.theme,n.variables)},propsUpdate:(n)=>{e.set(n.props)},hostEvent:(n)=>{for(let a of t.get(n.scope)??[])a(n.payload)}});o.remote.ready({}),window.addEventListener(\"beforeunload\",()=>{s.dispose()})};Ae();\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 se(){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 r=t.versions??{},s=t.release?.name;if(r.bun||s===\"bun\"||e.Bun!==void 0)return\"bun\";if(r.node&&s===\"node\")return\"node\"}return e.Bun===void 0?\"browser\":\"bun\"}function O(){return se()}function B(){return O()===\"worker\"}function K(){let e=O();return e===\"node\"||e===\"bun\"}function oe(){return window.self!==window.top}function ae(e){let t={};return function r(s,c=\"\"){Object.keys(s).forEach((o)=>{let n=c?`${c}.${o}`:o;s[o]===Object(s[o])&&r(s[o],n),typeof s[o]==\"function\"&&(t[n]=s[o],delete s[o])})}(e),t}function ie(e){return!e||e===\"null\"?\"*\":e}function ce(e,t,r){if(!e||typeof e!=\"object\")return e;let s=Array.isArray(t)?t:t.split(\".\").map((o)=>o.match(/^\\d+$/)?Number(o):o),c=e;for(let o=0;o<s.length;o++){let n=s[o];o===s.length-1?c[n]=r:((!c[n]||typeof c[n]!=\"object\")&&(c[n]=typeof s[o+1]==\"number\"?[]:{}),c=c[n])}return e}function de(e=10){let t=\"\";for(let r=0;r<e;r++)t+=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".charAt(Math.floor(Math.random()*62));return t}var V=O(),C=null;if(V===\"node\"||V===\"bun\")try{let e=globalThis.require;C=e?.(\"node:worker_threads\")?.parentPort??null}catch{}function le(){if(K())return C;if(B())return self;if(oe())return window.parent;throw Error(\"No valid target found for postMessage\")}function x(e,t,r,s){if(!e)throw Error(\"Rimless Error: No target specified for postMessage\");if(K()&&e===C){e.postMessage(t,{transfer:s});return}if(B()){e.postMessage(t,{transfer:s});return}if(e.postMessage){e.postMessage(t,{targetOrigin:ie(r),transfer:s});return}throw Error(\"Rimless Error: Invalid target for postMessage\")}function z(e){return C!==null&&e===C}function j(e,t,r){z(e)?e.on(t,r):(\"addEventListener\"in e)&&e.addEventListener(t,r)}function _(e,t,r){z(e)?e.off(t,r):(\"removeEventListener\"in e)&&e.removeEventListener(t,r)}function W(e){return e.data||e}var I=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}({}),b=Symbol();function fe(e={},t,r,s,c){let o=[];for(let[n,a]of Object.entries(e)){async function i(p){let{action:m,callID:g,connectionID:E,callName:y,args:w=[]}=W(p);if(m!==h.RPC_REQUEST||!g||!y||y!==n||E!==t)return;let u={action:h.RPC_RESOLVE,callID:g,callName:y,connectionID:E,error:null,result:null},R;try{u.result=await a(...w,c),u.result?.[b]&&(R=u.result[b]??[],delete u.result[b])}catch(k){u.action=h.RPC_REJECT,u.error=JSON.parse(JSON.stringify(k,Object.getOwnPropertyNames(k)))}x(s,u,p?.origin,R)}j(r,I.MESSAGE,i),o.push(()=>_(r,I.MESSAGE,i))}return()=>o.forEach((n)=>n())}function ue(e,t,r,s=new Set,c,o){return(...n)=>new Promise((a,i)=>{let p=de();function m(){_(c,I.MESSAGE,g),s.delete(m)}function g(w){let{callID:u,connectionID:R,callName:k,result:re,error:ne,action:U}=W(w);if(!(!u||!k)&&k===e&&u===p&&R===t){if(U===h.RPC_RESOLVE)return m(),a(re);if(U===h.RPC_REJECT)return m(),i(ne)}}let E={action:h.RPC_REQUEST,args:n,callID:p,callName:e,connectionID:t},y=n.reduce((w,u)=>u[b]?.length?w.concat(u[b]):w,n[b]??[]);j(c,I.MESSAGE,g),s.add(m),x(o,E,r?.origin,y)})}function pe(e={},t=[],r,s,c,o){let n={...e},a=new Set;for(let i of t)ce(n,i,ue(i,r,s,a,c,o));return{remote:n,unregisterRemote:()=>a.forEach((i)=>i())}}function me(e={},t){return new Promise(async(r)=>{let s=ae(e),c=le(),o=self||window;async function n(a){let i=W(a);if(i?.action!==h.HANDSHAKE_REPLY)return;let{remote:p,unregisterRemote:m}=pe(i.schema,i.methodNames,i.connectionID,a,o,c),g=fe(s,i.connectionID,o,c,p);return await t?.onConnectionSetup?.(p),x(c,{action:h.HANDSHAKE_REPLY,connectionID:i.connectionID},a?.origin),r({remote:p,close:()=>{_(o,I.MESSAGE,n),m(),g()},id:i.connectionID})}j(o,I.MESSAGE,n),x(c,{action:h.HANDSHAKE_REQUEST,methodNames:Object.keys(s),schema:e})})}var G={connect:me};var q=(e={})=>{let t=e.locale??\"en\";return{...e,projectId:e.projectId,themePreference:e.themePreference??\"system\",locale:t,resource:e.resource,pageLocation:e.pageLocation,pageParams:e.pageParams??{},translations:e.translations??{locale:t,defaultLocale:t,bundle:{},defaultBundle:{}}}};var ge=(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(ge(e)){let t=typeof e.message===\"string\"?e.message:null,r=typeof e.stack===\"string\"?e.stack:void 0;if(t)return r?{message:t,stack:r}:{message:t};return{message:J(e)}}if(e===null||e===void 0)return{message:\"Unknown error\"};return{message:J(e)}};var M=[\"sidenav\",\"main\",\"secondary\",\"side\"];var f=(e,t)=>({extensionId:\"pstdio\",kind:e,id:t}),v={project:f(\"mode\",\"project\"),sessions:f(\"mode\",\"sessions\"),settings:f(\"mode\",\"settings\")},Te={project:{ref:v.project,regions:M},sessions:{ref:v.sessions,regions:M},settings:{ref:v.settings,regions:M}},N=(e,t,r)=>({id:e,ref:f(\"resource-kind\",e),label:t,menuSlots:r}),H=[{id:\"headerPrimary\",placement:\"header-primary\",access:\"public\"},{id:\"headerOverflow\",placement:\"header-overflow\",access:\"public\"}],D={project:N(\"project\",\"Extension\",H),session:N(\"session\",\"Session\",H),workspace:N(\"workspace\",\"Workspace\",H)},S={project:D.project.ref,session:D.session.ref,workspace:D.workspace.ref},A={start:f(\"page\",\"start\"),sessions:f(\"page\",\"sessions\"),session:f(\"page\",\"session\"),workspaces:f(\"page\",\"workspaces\"),workspace:f(\"page\",\"workspace\")},Le={start:{ref:A.start,mode:v.project,path:\"\",primary:{cardinality:\"one\",resourceKinds:[]}},sessions:{ref:A.sessions,mode:v.sessions,path:\"sessions\",primary:{cardinality:\"one\",resourceKinds:[]}},session:{ref:A.session,mode:v.sessions,path:\"session\",primary:{cardinality:\"one\",resourceKinds:[\"session\",\"session-draft\"]}},workspaces:{ref:A.workspaces,mode:v.project,path:\"workspaces\",primary:{cardinality:\"one\",resourceKinds:[]}},workspace:{ref:A.workspace,mode:v.project,path:\"workspace\",primary:{cardinality:\"many\",resourceKinds:[\"workspace\"]}}},ye={projectSession:f(\"placement\",\"project-session\")},Oe={projectSession:{ref:ye.projectSession,mode:v.project,cardinality:\"many\",resourceKinds:[\"session\",\"session-draft\"]}},je={projectSettings:f(\"settings-panel\",\"project.settings\"),extensionSettings:f(\"settings-panel\",\"extension.settings\"),statusBarLeading:f(\"status-bar-item\",\"status-bar.leading\"),statusBarTrailing:f(\"status-bar-item\",\"status-bar.trailing\")};var F=(e)=>({...e,kind:\"command\"}),_e=Object.assign(F,{forExtension:(e)=>(t)=>F({extensionId:`${e.publisher}.${e.name}`,id:t})}),he=(e)=>({...e,kind:\"event\"}),L=(e,t)=>({id:e,kind:t.kind,label:t.label,description:t.description,metadata:t.metadata}),l=(e)=>he({extensionId:\"pstdio\",id:e}),P=(e,t)=>L(`${e.id}.${t}`,{kind:\"menu\"}),We={sidenav:L(\"project.sidenav\",{kind:\"panel\"}),headerPrimary:P(S.project,\"headerPrimary\"),headerOverflow:P(S.project,\"headerOverflow\"),settingsPanels:L(\"project.settings\",{kind:\"settings\"})},Me={headerPrimary:P(S.session,\"headerPrimary\"),headerOverflow:P(S.session,\"headerOverflow\")},Ne={headerPrimary:P(S.workspace,\"headerPrimary\"),headerOverflow:P(S.workspace,\"headerOverflow\"),sidenav:L(\"workspace.sidenav\",{kind:\"panel\"})},He={opened:l(\"project.opened\")},$e={boardViewsChanged:l(\"view.board-views.changed\"),resourceAnchorsChanged:l(\"view.resource-anchors.changed\"),sessionsChanged:l(\"view.sessions.changed\"),workspacesChanged:l(\"view.workspaces.changed\"),repositoriesChanged:l(\"view.repositories.changed\")},De={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\"),deleted:l(\"workspace.deleted\")},Ve={removed:l(\"worktree.removed\")},Be={committed:l(\"git.committed\"),rebased:l(\"git.rebased\"),merged:l(\"git.merged\"),conflicted:l(\"git.conflicted\")};var ve=[\"clipboard.write\",\"commands.execute\",\"commands.stream\",\"harnesses.read\",\"resources.actions\",\"navigation.open\",\"page.params.update\",\"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\"],Ee=[\"artifacts.read\"];var Ke=[...ve.filter((e)=>e!==\"clipboard.write\"),...Ee];var d=(e)=>(t)=>({...t,ref:{kind:e,id:t.id}}),ze=d(\"view\"),Ge=d(\"view-menu\"),qe=d(\"placement\"),Je=d(\"resource-kind\");var Fe=d(\"navigation-item\"),Ye=d(\"navigation-tree\"),Qe=d(\"mode\");var Xe=d(\"status-bar-item\"),Ze=d(\"settings-panel\"),et=d(\"activity-item\"),tt=d(\"settings-section\"),rt=d(\"command-palette-resource\"),nt=d(\"keybinding\"),st=d(\"schedule\"),ot=d(\"artifact-mount\"),at=d(\"template-type\"),it=d(\"template\"),ct=d(\"skill\"),dt=d(\"theme\"),lt=d(\"file-icon-theme\"),ft=d(\"workspace-type\"),ut=d(\"harness\"),pt=d(\"connection\");var Y=(e,t,r,s)=>({call:async(c,...o)=>{try{let n=await e({method:c,params:o[0]});if(!n.ok)throw Object.assign(Error(n.error.message),n.error);return n.value}catch(n){if(n instanceof Error)throw n;throw Error(T(n).message)}},onEvent:t,extensionId:r,propsStore:s}),Q=(e)=>{let t=e,r=new Set;return{get:()=>t,subscribe:(s)=>(r.add(s),()=>r.delete(s)),set:(s)=>{t=s;for(let c of r)c(t)}}};var X=(e,t)=>{e.style.width=\"max-content\";let r=-1,s=new ResizeObserver(()=>{let c=Math.ceil(e.getBoundingClientRect().width);if(c===r)return;r=c,t(c)});return s.observe(e),()=>s.disconnect()};var Z=(e)=>{let t,r,s=!1;return{initialize:(c)=>{if(s)return Promise.resolve();return t??=e(c).then((o)=>{if(typeof o!==\"function\")return;if(s)o();else r=o}),t},dispose:()=>{s=!0,r?.(),r=void 0}}};var ee=\"pstdio-extension-mount\",we=()=>{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,r)=>e.set(t,r)}},be=()=>{for(let e of[\"localStorage\",\"sessionStorage\"])try{window[e]}catch{Object.defineProperty(window,e,{configurable:!0,value:we()})}},te=(e,t)=>{let r=document.documentElement,s=e===\"dark\"?\"light\":\"dark\";r.classList.remove(s),r.classList.add(e),r.setAttribute(\"data-theme\",e),r.style.colorScheme=e;for(let[c,o]of Object.entries(t))if(c.startsWith(\"--\"))r.style.setProperty(c,o)},Ie=(e)=>{for(let t of e){let r=document.createElement(\"link\");r.rel=\"stylesheet\",r.href=t,document.head.appendChild(r)}},Se=()=>{let e=document.getElementById(ee);if(!e)e=document.createElement(\"div\"),e.id=ee,e.style.height=\"100%\",e.style.width=\"100%\",document.body.appendChild(e);return e},Pe=()=>{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,Ce=async()=>{be(),Pe();let e=Q(q()),t=new Map,r=(n,a)=>{let i=t.get(n)??new Set;return i.add(a),t.set(n,i),()=>{i.delete(a)}},s=Z(async(n)=>{Ie(n.styles);let a=await import(n.moduleUrl),i=a.default??(a.mount?a:void 0);if(!i?.mount)throw Error(\"Extension module does not export a default view (defineExtensionView).\");let p=Y((y)=>o.remote.call(y),r,n.extensionId,e),m=Se(),g=n.sizing===\"content-width\"?X(m,(y)=>o.remote.contentWidthChanged(y)):void 0,E=await i.mount(m,p,e);return()=>{g?.(),E?.()}}),c=!1,o=await G.connect({init:async(n)=>{try{if(te(n.theme,n.themeVariables),e.set(n.props),await s.initialize(n),!c){c=!0,document.addEventListener(\"keydown\",(a)=>{if(!a.ctrlKey&&!a.metaKey&&!a.altKey)return;if(ke(a.target)&&!a.shiftKey)return;o.remote.dispatchKeyboardEvent({key:a.key,code:a.code,ctrlKey:a.ctrlKey,metaKey:a.metaKey,altKey:a.altKey,shiftKey:a.shiftKey,repeat:a.repeat}).catch(()=>{})},!0);for(let a of[\"pointerdown\",\"click\"])document.addEventListener(a,(i)=>{o.remote.dispatchPointerEvent({type:a,clientX:i.clientX,clientY:i.clientY,button:i.button,buttons:i.buttons,pointerId:i.pointerId,pointerType:i.pointerType,isPrimary:i.isPrimary,ctrlKey:i.ctrlKey,metaKey:i.metaKey,altKey:i.altKey,shiftKey:i.shiftKey})},!0)}}catch(a){let i=T(a);throw o.remote.runtimeError(i),a instanceof Error?a:Error(i.message)}},themeUpdate:(n)=>{te(n.theme,n.variables)},propsUpdate:(n)=>{e.set(n.props)},hostEvent:(n)=>{for(let a of t.get(n.scope)??[])a(n.payload)}});o.remote.ready({}),window.addEventListener(\"beforeunload\",()=>{s.dispose()})};Ce();\n";
|
|
31
31
|
//#endregion
|
|
32
32
|
export { o as getExtensionRuntimeScript, i as renderExtensionRuntimeHtml, a as renderInlineExtensionRuntimeHtml };
|
|
33
33
|
|