@pstdio/sdk 0.10.0 → 0.12.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.
Files changed (56) hide show
  1. package/README.md +1 -4
  2. package/dist/api/extensions.d.ts +1 -1
  3. package/dist/api/index.d.ts +2 -6
  4. package/dist/api/workspaces.d.ts +2 -6
  5. package/dist/client/agents.d.ts +2 -7
  6. package/dist/client/client.d.ts +0 -9
  7. package/dist/client/index.d.ts +0 -3
  8. package/dist/client/index.js +17 -116
  9. package/dist/client/projects.d.ts +2 -2
  10. package/dist/client/workspaces.d.ts +2 -4
  11. package/dist/extensions/command-outcome.d.ts +5 -0
  12. package/dist/extensions/define-command.d.ts +1 -3
  13. package/dist/extensions/define-extension-view.d.ts +25 -0
  14. package/dist/extensions/define-extension.d.ts +1 -4
  15. package/dist/extensions/index.d.ts +6 -8
  16. package/dist/extensions/index.js +145 -89
  17. package/dist/extensions/params.d.ts +2 -1
  18. package/dist/extensions/refs.d.ts +2 -14
  19. package/dist/extensions/when.d.ts +9 -0
  20. package/dist/hooks/entities.d.ts +7 -9
  21. package/dist/hooks/index.d.ts +0 -2
  22. package/dist/hooks/session.d.ts +2 -3
  23. package/dist/hooks/worktree.d.ts +4 -3
  24. package/dist/resources/agent.d.ts +1 -1
  25. package/dist/resources/index.d.ts +2 -5
  26. package/dist/resources/index.js +3 -1
  27. package/dist/resources/known-agents.d.ts +2 -0
  28. package/dist/resources/workspace.d.ts +0 -1
  29. package/package.json +2 -2
  30. package/dist/api/agents.d.ts +0 -1
  31. package/dist/api/statuses.d.ts +0 -2
  32. package/dist/api/tags.d.ts +0 -2
  33. package/dist/api/tickets.d.ts +0 -26
  34. package/dist/client/statuses.d.ts +0 -24
  35. package/dist/client/tags.d.ts +0 -15
  36. package/dist/client/tickets.d.ts +0 -24
  37. package/dist/extensions/kernel-slots.d.ts +0 -168
  38. package/dist/extensions/package-asset.d.ts +0 -10
  39. package/dist/extensions/slots.d.ts +0 -6
  40. package/dist/extensions/types/commands.d.ts +0 -125
  41. package/dist/extensions/types/context.d.ts +0 -396
  42. package/dist/extensions/types/contributions.d.ts +0 -275
  43. package/dist/extensions/types/events.d.ts +0 -10
  44. package/dist/extensions/types/extension.d.ts +0 -174
  45. package/dist/extensions/types/index.d.ts +0 -10
  46. package/dist/extensions/types/json.d.ts +0 -7
  47. package/dist/extensions/types/params.d.ts +0 -80
  48. package/dist/extensions/types/resources.d.ts +0 -25
  49. package/dist/extensions/types/slots.d.ts +0 -22
  50. package/dist/extensions/types/webview-capabilities.d.ts +0 -65
  51. package/dist/extensions/workbench-targets.d.ts +0 -134
  52. package/dist/hooks/attempt.d.ts +0 -16
  53. package/dist/hooks/ticket.d.ts +0 -26
  54. package/dist/resources/status.d.ts +0 -2
  55. package/dist/resources/tag.d.ts +0 -2
  56. package/dist/resources/ticket.d.ts +0 -2
@@ -1,174 +0,0 @@
1
- import type { CommandRef } from "./commands";
2
- import type { CommandMiddlewareHandler, CommandRunHandler, EventContext, ExtensionContextBase, MigrationContext, SetupContext } from "./context";
3
- import type { ArtifactMountContribution, CliContribution, DataRendererContribution, ExtensionSettingsContribution, FileIconThemeContribution, MenuContribution, ModeContribution, RendererContribution, RouteContribution, SettingsPanelContribution, SkillContribution, TemplateContribution, TemplateTypeContribution, ThemeContribution, TreeItemContribution, ViewContribution } from "./contributions";
4
- import type { EventRef } from "./events";
5
- import type { JsonObject, MaybePromise, Struct } from "./json";
6
- import type { ParamObjectSchema, ParamsOf } from "./params";
7
- /** Current host extension API version. `engines.pstdio` in package.json is a semver range checked against this. */
8
- export declare const EXTENSION_API_VERSION = "1.0.0";
9
- type SchemaParams<TSchema extends ParamObjectSchema | undefined> = TSchema extends ParamObjectSchema ? ParamsOf<TSchema> : Struct;
10
- /**
11
- * A command exposed by an extension. The `params` schema (typed via `params.*`) drives
12
- * the inferred shape of `ctx.params` in `run`.
13
- */
14
- export interface CommandDefinition<TSchema extends ParamObjectSchema | undefined = ParamObjectSchema | undefined, TResult = unknown, TSettings extends Record<string, unknown> = Record<string, unknown>> {
15
- title: string;
16
- description?: string;
17
- params?: TSchema;
18
- menus?: MenuContribution[];
19
- cli?: boolean | CliContribution;
20
- run: CommandRunHandler<SchemaParams<TSchema>, TResult, TSettings>;
21
- }
22
- /**
23
- * Middleware that runs before a command. Use `command` for a typed `CommandRef`; use
24
- * `commandId` only when referencing a command from another extension you don't import.
25
- */
26
- export interface MiddlewareDefinition<TParams extends Struct = Struct, TResult = unknown> {
27
- command?: CommandRef<TParams, TResult>;
28
- commandId?: string;
29
- handler: CommandMiddlewareHandler<TParams>;
30
- }
31
- /**
32
- * A handler for an event. Use `event` for a typed `EventRef`; use `eventId` for events
33
- * you cannot import (e.g. originating in another extension).
34
- */
35
- export interface HookDefinition<TPayload extends Struct = Struct> {
36
- event?: EventRef<TPayload>;
37
- eventId?: string;
38
- handler(ctx: EventContext, payload: TPayload): MaybePromise<void>;
39
- }
40
- export interface ScheduleContribution<TParams extends Struct = Struct> {
41
- title: string;
42
- cron: string;
43
- command?: CommandRef<TParams, unknown>;
44
- commandId?: string;
45
- params?: TParams;
46
- repoId?: string;
47
- repoPath?: string;
48
- disabled?: boolean;
49
- }
50
- export interface HarnessDetectionResult {
51
- available: boolean;
52
- version?: string;
53
- reason?: string;
54
- }
55
- export interface HarnessRun {
56
- runId: string;
57
- pid?: number;
58
- metadata?: JsonObject;
59
- }
60
- export interface HarnessProvider {
61
- id: string;
62
- label: string;
63
- detect?(ctx: ExtensionContextBase): MaybePromise<HarnessDetectionResult>;
64
- start(ctx: ExtensionContextBase, input: {
65
- workspacePath: string;
66
- sessionId: string;
67
- prompt?: string;
68
- }): MaybePromise<HarnessRun>;
69
- send?(ctx: ExtensionContextBase, input: {
70
- runId: string;
71
- message: string;
72
- }): MaybePromise<void>;
73
- stop?(ctx: ExtensionContextBase, input: {
74
- runId: string;
75
- }): MaybePromise<void>;
76
- }
77
- export interface WorkspaceTypeProvider {
78
- id: string;
79
- label: string;
80
- create(ctx: ExtensionContextBase, input: JsonObject): MaybePromise<JsonObject>;
81
- resolve(ctx: ExtensionContextBase, workspace: JsonObject): MaybePromise<{
82
- rootPath: string;
83
- displayPath?: string;
84
- }>;
85
- archive?(ctx: ExtensionContextBase, workspace: JsonObject): MaybePromise<void>;
86
- delete?(ctx: ExtensionContextBase, workspace: JsonObject): MaybePromise<void>;
87
- }
88
- export interface LocalExtensionSource {
89
- name: string;
90
- path: string;
91
- origin?: string;
92
- installedAt: string;
93
- updatedAt: string;
94
- }
95
- export interface ProjectExtensionInstance {
96
- projectId: string;
97
- extensionId: string;
98
- name: string;
99
- sourceName: string;
100
- enabled: boolean;
101
- config: JsonObject;
102
- }
103
- export type ExtensionLoadScope = "user" | "repo";
104
- /** Validated view of an extension's package.json identity fields. */
105
- export interface PackageManifest {
106
- /** Extension package name. Matches `^[a-z][a-z0-9-]*$`. */
107
- name: string;
108
- /** Package version (semver). */
109
- version: string;
110
- /** Optional human-friendly name. Falls back to `name`. */
111
- displayName?: string;
112
- /** Optional package description. */
113
- description?: string;
114
- /** Publisher segment of the extension id. Matches `^[a-z][a-z0-9-]*$`. */
115
- publisher: string;
116
- /** Relative path to the contributions entry module. */
117
- main: string;
118
- /** Semver range checked against the host extension API version. */
119
- enginesPstdio: string;
120
- /** Prompt Studio-specific package metadata. */
121
- pstdio?: {
122
- /** Install/load scope. Defaults to "user" when omitted. */
123
- scope?: ExtensionLoadScope;
124
- };
125
- /** Derived `${publisher}.${name}`. */
126
- id: string;
127
- }
128
- /** UI surface contributions: modes, routes, panels, renderers. */
129
- export interface UiContributions {
130
- modes?: Record<string, ModeContribution>;
131
- routes?: Record<string, RouteContribution>;
132
- views?: Record<string, ViewContribution>;
133
- treeItems?: Record<string, TreeItemContribution>;
134
- settingsPanels?: Record<string, SettingsPanelContribution>;
135
- dataRenderers?: Record<string, DataRendererContribution>;
136
- activityRenderers?: Record<string, RendererContribution>;
137
- sessionAnchorRenderers?: Record<string, RendererContribution>;
138
- }
139
- /** Behavioural surface: commands, middleware, hooks, schedules. */
140
- export interface BehaviourContributions {
141
- commands?: Record<string, CommandDefinition<any, any, any>>;
142
- middlewares?: Record<string, MiddlewareDefinition<any, any>>;
143
- hooks?: Record<string, HookDefinition<any>>;
144
- schedules?: Record<string, ScheduleContribution<any>>;
145
- }
146
- /** Static asset contributions: artifact mounts, templates, skills. */
147
- export interface AssetContributions {
148
- artifactMounts?: Record<string, ArtifactMountContribution>;
149
- templateTypes?: Record<string, TemplateTypeContribution>;
150
- templates?: Record<string, TemplateContribution>;
151
- skills?: Record<string, SkillContribution>;
152
- themes?: Record<string, ThemeContribution>;
153
- fileIconThemes?: Record<string, FileIconThemeContribution>;
154
- }
155
- /** Provider contributions: harnesses, workspace types. */
156
- export interface ProviderContributions {
157
- workspaceTypes?: Record<string, WorkspaceTypeProvider>;
158
- harnesses?: Record<string, HarnessProvider>;
159
- }
160
- /** Lifecycle hooks invoked by the runtime when an extension is installed or upgraded. */
161
- export interface ExtensionLifecycle {
162
- initialSetup?: (ctx: SetupContext) => MaybePromise<void>;
163
- migrate?: (ctx: MigrationContext, fromVersion: string | null) => MaybePromise<void>;
164
- }
165
- /**
166
- * The full shape of an extension's contributions module. Identity (id, name, version,
167
- * description, etc.) lives in `package.json`; `defineExtension` only accepts
168
- * contribution surfaces.
169
- */
170
- export interface ExtensionDefinition extends UiContributions, BehaviourContributions, AssetContributions, ProviderContributions, ExtensionLifecycle {
171
- settings?: ExtensionSettingsContribution;
172
- }
173
- export type ExtensionSourceKind = "local_path" | "git" | "registry";
174
- export {};
@@ -1,10 +0,0 @@
1
- export type * from "./commands";
2
- export type * from "./context";
3
- export type * from "./contributions";
4
- export type * from "./events";
5
- export type * from "./extension";
6
- export type * from "./json";
7
- export type * from "./params";
8
- export type * from "./resources";
9
- export type * from "./slots";
10
- export * from "./webview-capabilities";
@@ -1,7 +0,0 @@
1
- export type JsonPrimitive = string | number | boolean | null;
2
- export type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
3
- export type JsonObject = {
4
- [key: string]: JsonValue;
5
- };
6
- export type MaybePromise<T> = T | Promise<T>;
7
- export type Struct = object;
@@ -1,80 +0,0 @@
1
- import type { JsonObject } from "./json";
2
- import type { ResourceRef } from "./resources";
3
- export type ParamType = "text" | "longtext" | "number" | "boolean" | "select" | "multi-select" | "repo" | "harness" | "template" | "resource" | "json";
4
- type ParamRequired<TRequired extends boolean | undefined> = TRequired extends true ? {
5
- required: true;
6
- } : TRequired extends false ? {
7
- required: false;
8
- } : {
9
- required?: boolean;
10
- };
11
- type ParamBase<TValue, TRequired extends boolean | undefined = boolean | undefined> = {
12
- label?: string;
13
- description?: string;
14
- defaultValue?: TValue;
15
- metadata?: JsonObject;
16
- } & ParamRequired<TRequired>;
17
- export type TextParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
18
- type: "text";
19
- };
20
- export type LongTextParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
21
- type: "longtext";
22
- };
23
- export type NumberParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<number, TRequired> & {
24
- type: "number";
25
- };
26
- export type BooleanParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<boolean, TRequired> & {
27
- type: "boolean";
28
- };
29
- export type SelectParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
30
- type: "select";
31
- options: Array<{
32
- label: string;
33
- value: string;
34
- }>;
35
- };
36
- export type MultiSelectParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
37
- type: "multi-select";
38
- options: Array<{
39
- label: string;
40
- value: string;
41
- }>;
42
- };
43
- export type RepoParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<{
44
- repoId: string;
45
- branch?: string;
46
- }, TRequired> & {
47
- type: "repo";
48
- };
49
- export type HarnessParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<{
50
- harnessId: string;
51
- model?: string;
52
- }, TRequired> & {
53
- type: "harness";
54
- };
55
- export type TemplateParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
56
- type: "template";
57
- templateType: string;
58
- };
59
- export type ResourceParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<ResourceRef, TRequired> & {
60
- type: "resource";
61
- resourceType: string;
62
- };
63
- export type JsonParam<T = unknown, TRequired extends boolean | undefined = boolean | undefined> = ParamBase<T, TRequired> & {
64
- type: "json";
65
- };
66
- export type ParamDescriptor<TValue = unknown, TRequired extends boolean | undefined = boolean | undefined> = TextParam<TRequired> | LongTextParam<TRequired> | NumberParam<TRequired> | BooleanParam<TRequired> | SelectParam<TRequired> | MultiSelectParam<TRequired> | RepoParam<TRequired> | HarnessParam<TRequired> | TemplateParam<TRequired> | ResourceParam<TRequired> | JsonParam<TValue, TRequired>;
67
- export type ParamObjectSchema = Record<string, ParamDescriptor>;
68
- export type ParamValue<TDescriptor extends ParamDescriptor> = TDescriptor extends ParamDescriptor<infer V> ? V : never;
69
- type RequiredParamKeys<TSchema extends ParamObjectSchema> = {
70
- [K in keyof TSchema]: TSchema[K] extends {
71
- required: true;
72
- } ? K : never;
73
- }[keyof TSchema];
74
- type OptionalParamKeys<TSchema extends ParamObjectSchema> = Exclude<keyof TSchema, RequiredParamKeys<TSchema>>;
75
- export type ParamsOf<TSchema extends ParamObjectSchema> = {
76
- [K in RequiredParamKeys<TSchema>]: ParamValue<TSchema[K]>;
77
- } & {
78
- [K in OptionalParamKeys<TSchema>]?: ParamValue<TSchema[K]>;
79
- };
80
- export {};
@@ -1,25 +0,0 @@
1
- import type { JsonObject } from "./json";
2
- export type ResourceRole = "primary" | "context" | "source" | "result";
3
- export interface ResourceRef {
4
- type: string;
5
- id: string;
6
- projectId?: string;
7
- label?: string;
8
- extensionId?: string;
9
- metadata?: JsonObject;
10
- }
11
- export interface ResourceAnchor extends ResourceRef {
12
- role?: ResourceRole;
13
- }
14
- export interface RepoContext {
15
- projectId: string;
16
- repoId: string;
17
- path: string;
18
- remote?: string | null;
19
- role?: "default" | "selected" | "workspace";
20
- }
21
- export interface PackageAssetDescriptor {
22
- kind: "package-asset";
23
- path: string;
24
- baseUrl: string;
25
- }
@@ -1,22 +0,0 @@
1
- import type { JsonObject, Struct } from "./json";
2
- export type UiSlotKind = "menu" | "view" | "settings" | "renderer" | "dataRenderer";
3
- export interface SlotOptions<TKind extends UiSlotKind = UiSlotKind> {
4
- kind: TKind;
5
- label?: string;
6
- description?: string;
7
- metadata?: JsonObject;
8
- }
9
- export interface SlotRef<TContext extends Struct = Struct, TKind extends UiSlotKind = UiSlotKind> {
10
- id: string;
11
- kind: TKind;
12
- label?: string;
13
- description?: string;
14
- metadata?: JsonObject;
15
- /** Phantom field used to constrain compatible contributions; never populated at runtime. */
16
- context?: TContext;
17
- }
18
- export interface SlotInvocationContext<TContext extends Struct = Struct> {
19
- id: string;
20
- kind: UiSlotKind;
21
- context: TContext;
22
- }
@@ -1,65 +0,0 @@
1
- import type { JsonObject } from "./json";
2
- import type { RepoContext, ResourceRef } from "./resources";
3
- export declare const WEBVIEW_HOST_CAPABILITY_VERSION = 1;
4
- export declare const WEBVIEW_DECLARABLE_CAPABILITIES: readonly ["commands.execute", "resource.open", "notification.show", "preferences.get", "preferences.set", "extension.settings.all", "extension.settings.get", "extension.settings.set", "extension.settings.delete"];
5
- export declare const ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES: readonly ["host.dispatchKeyboardEvent"];
6
- export declare const WEBVIEW_HOST_CAPABILITIES: readonly ["commands.execute", "resource.open", "notification.show", "preferences.get", "preferences.set", "extension.settings.all", "extension.settings.get", "extension.settings.set", "extension.settings.delete", "host.dispatchKeyboardEvent"];
7
- export type WebviewHostCapability = (typeof WEBVIEW_HOST_CAPABILITIES)[number];
8
- export type WebviewDeclarableCapability = (typeof WEBVIEW_DECLARABLE_CAPABILITIES)[number];
9
- export type WebviewCapabilityDeclaration = WebviewDeclarableCapability | `${WebviewDeclarableCapability}@${typeof WEBVIEW_HOST_CAPABILITY_VERSION}`;
10
- export interface WebviewCommandsExecuteParams {
11
- commandId: string;
12
- params?: JsonObject;
13
- resource?: ResourceRef;
14
- repo?: RepoContext;
15
- metadata?: JsonObject;
16
- }
17
- export interface WebviewResourceOpenParams {
18
- href?: string;
19
- resource?: ResourceRef;
20
- input?: {
21
- replaceActive?: boolean;
22
- };
23
- }
24
- export interface WebviewNotificationShowParams {
25
- level: "info" | "success" | "warning" | "error";
26
- title: string;
27
- message?: string;
28
- }
29
- export interface WebviewPreferencesGetParams {
30
- name: string;
31
- scope?: {
32
- scope: "default" | "user" | "project" | "repo" | "workspace" | "extension" | "session";
33
- scopeId?: string;
34
- };
35
- }
36
- export interface WebviewPreferencesSetParams extends WebviewPreferencesGetParams {
37
- value: boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
38
- }
39
- export interface WebviewExtensionSettingKeyParams {
40
- key: string;
41
- }
42
- export interface WebviewExtensionSettingSetParams extends WebviewExtensionSettingKeyParams {
43
- value: unknown;
44
- }
45
- export interface WebviewKeyboardEventParams {
46
- key?: string;
47
- code?: string;
48
- ctrlKey?: boolean;
49
- metaKey?: boolean;
50
- altKey?: boolean;
51
- shiftKey?: boolean;
52
- repeat?: boolean;
53
- }
54
- export interface WebviewHostCapabilityParams {
55
- "commands.execute": WebviewCommandsExecuteParams;
56
- "resource.open": WebviewResourceOpenParams;
57
- "notification.show": WebviewNotificationShowParams;
58
- "preferences.get": WebviewPreferencesGetParams;
59
- "preferences.set": WebviewPreferencesSetParams;
60
- "extension.settings.all": Record<string, never>;
61
- "extension.settings.get": WebviewExtensionSettingKeyParams;
62
- "extension.settings.set": WebviewExtensionSettingSetParams;
63
- "extension.settings.delete": WebviewExtensionSettingKeyParams;
64
- "host.dispatchKeyboardEvent": WebviewKeyboardEventParams;
65
- }
@@ -1,134 +0,0 @@
1
- export declare const workbenchMenuTargets: readonly ["workbench.nav.actions", "workbench.nav.overflow", "workbench.commandPalette"];
2
- export declare const workbenchTreeTargets: readonly ["workbench.left.tree", "workbench.main.left.tree", "workbench.main.right.tree"];
3
- export declare const workbenchViewTargets: readonly ["workbench.main", "workbench.main.left", "workbench.main.right", "workbench.secondary"];
4
- export declare const workbenchSettingsTargets: readonly ["workbench.settings"];
5
- export declare const workbenchSettingsScopes: readonly ["project", "global"];
6
- export declare const workbenchModeLayoutTargets: readonly ["workbench.left", "workbench.main.left", "workbench.main", "workbench.main.right", "workbench.secondary"];
7
- export type WorkbenchMenuTarget = (typeof workbenchMenuTargets)[number];
8
- export type WorkbenchTreeTarget = (typeof workbenchTreeTargets)[number];
9
- export type WorkbenchViewTarget = (typeof workbenchViewTargets)[number];
10
- export type WorkbenchSettingsTarget = (typeof workbenchSettingsTargets)[number];
11
- export type WorkbenchSettingsScope = (typeof workbenchSettingsScopes)[number];
12
- export type WorkbenchModeLayoutTarget = (typeof workbenchModeLayoutTargets)[number];
13
- export type WorkbenchLayoutTarget = WorkbenchModeLayoutTarget;
14
- export type WorkbenchAttachmentTarget = WorkbenchMenuTarget | WorkbenchTreeTarget | WorkbenchViewTarget | WorkbenchSettingsTarget;
15
- export type WorkbenchContributionKind = "menu" | "treeItem" | "view" | "settings";
16
- export type WorkbenchTargetGranularity = "surface" | "area" | "areaTree";
17
- export interface WorkbenchTargetDefinition {
18
- id: WorkbenchAttachmentTarget;
19
- allowedKinds: readonly WorkbenchContributionKind[];
20
- granularity: WorkbenchTargetGranularity;
21
- rationale: string;
22
- }
23
- export declare const workbenchTargets: readonly [{
24
- readonly id: "workbench.nav.actions";
25
- readonly allowedKinds: readonly ["menu"];
26
- readonly granularity: "surface";
27
- readonly rationale: "Primary command surface in the host-owned nav (top) workbench chrome.";
28
- }, {
29
- readonly id: "workbench.nav.overflow";
30
- readonly allowedKinds: readonly ["menu"];
31
- readonly granularity: "surface";
32
- readonly rationale: "Secondary command surface in the host-owned nav (top) workbench chrome.";
33
- }, {
34
- readonly id: "workbench.commandPalette";
35
- readonly allowedKinds: readonly ["menu"];
36
- readonly granularity: "surface";
37
- readonly rationale: "Global command discovery surface owned by the workbench.";
38
- }, {
39
- readonly id: "workbench.left.tree";
40
- readonly allowedKinds: readonly ["treeItem"];
41
- readonly granularity: "areaTree";
42
- readonly rationale: "Tree entries for the active tree renderer mounted in the left area.";
43
- }, {
44
- readonly id: "workbench.main.left.tree";
45
- readonly allowedKinds: readonly ["treeItem"];
46
- readonly granularity: "areaTree";
47
- readonly rationale: "Tree entries for the active tree renderer mounted in the main-left area.";
48
- }, {
49
- readonly id: "workbench.main.right.tree";
50
- readonly allowedKinds: readonly ["treeItem"];
51
- readonly granularity: "areaTree";
52
- readonly rationale: "Tree entries for the active tree renderer mounted in the main-right area.";
53
- }, {
54
- readonly id: "workbench.main";
55
- readonly allowedKinds: readonly ["view"];
56
- readonly granularity: "area";
57
- readonly rationale: "Direct extension view placement in the main area.";
58
- }, {
59
- readonly id: "workbench.main.left";
60
- readonly allowedKinds: readonly ["view"];
61
- readonly granularity: "area";
62
- readonly rationale: "Direct extension view placement in the main-left area.";
63
- }, {
64
- readonly id: "workbench.main.right";
65
- readonly allowedKinds: readonly ["view"];
66
- readonly granularity: "area";
67
- readonly rationale: "Direct extension view placement in the main-right area.";
68
- }, {
69
- readonly id: "workbench.secondary";
70
- readonly allowedKinds: readonly ["view"];
71
- readonly granularity: "area";
72
- readonly rationale: "Direct extension view placement in the secondary area.";
73
- }, {
74
- readonly id: "workbench.settings";
75
- readonly allowedKinds: readonly ["settings"];
76
- readonly granularity: "surface";
77
- readonly rationale: "Settings panel placement in host-owned settings navigation.";
78
- }];
79
- export declare const getWorkbenchTargetDefinition: (id: string) => {
80
- readonly id: "workbench.nav.actions";
81
- readonly allowedKinds: readonly ["menu"];
82
- readonly granularity: "surface";
83
- readonly rationale: "Primary command surface in the host-owned nav (top) workbench chrome.";
84
- } | {
85
- readonly id: "workbench.nav.overflow";
86
- readonly allowedKinds: readonly ["menu"];
87
- readonly granularity: "surface";
88
- readonly rationale: "Secondary command surface in the host-owned nav (top) workbench chrome.";
89
- } | {
90
- readonly id: "workbench.commandPalette";
91
- readonly allowedKinds: readonly ["menu"];
92
- readonly granularity: "surface";
93
- readonly rationale: "Global command discovery surface owned by the workbench.";
94
- } | {
95
- readonly id: "workbench.left.tree";
96
- readonly allowedKinds: readonly ["treeItem"];
97
- readonly granularity: "areaTree";
98
- readonly rationale: "Tree entries for the active tree renderer mounted in the left area.";
99
- } | {
100
- readonly id: "workbench.main.left.tree";
101
- readonly allowedKinds: readonly ["treeItem"];
102
- readonly granularity: "areaTree";
103
- readonly rationale: "Tree entries for the active tree renderer mounted in the main-left area.";
104
- } | {
105
- readonly id: "workbench.main.right.tree";
106
- readonly allowedKinds: readonly ["treeItem"];
107
- readonly granularity: "areaTree";
108
- readonly rationale: "Tree entries for the active tree renderer mounted in the main-right area.";
109
- } | {
110
- readonly id: "workbench.main";
111
- readonly allowedKinds: readonly ["view"];
112
- readonly granularity: "area";
113
- readonly rationale: "Direct extension view placement in the main area.";
114
- } | {
115
- readonly id: "workbench.main.left";
116
- readonly allowedKinds: readonly ["view"];
117
- readonly granularity: "area";
118
- readonly rationale: "Direct extension view placement in the main-left area.";
119
- } | {
120
- readonly id: "workbench.main.right";
121
- readonly allowedKinds: readonly ["view"];
122
- readonly granularity: "area";
123
- readonly rationale: "Direct extension view placement in the main-right area.";
124
- } | {
125
- readonly id: "workbench.secondary";
126
- readonly allowedKinds: readonly ["view"];
127
- readonly granularity: "area";
128
- readonly rationale: "Direct extension view placement in the secondary area.";
129
- } | {
130
- readonly id: "workbench.settings";
131
- readonly allowedKinds: readonly ["settings"];
132
- readonly granularity: "surface";
133
- readonly rationale: "Settings panel placement in host-owned settings navigation.";
134
- } | undefined;
@@ -1,16 +0,0 @@
1
- import type { BaseHookContext } from "./base";
2
- import type { HookTicket, HookWorkspace } from "./entities";
3
- /** @deprecated Legacy ticket attempt hook context. Workspace status automation is extension-owned. */
4
- export type AttemptStatusChangeContext = BaseHookContext & {
5
- workspace: HookWorkspace;
6
- workspaceId: string;
7
- prompts: Record<string, string>;
8
- /** @deprecated Legacy ticket linkage. Ticket data is owned by the pstdio tickets extension. */
9
- ticket?: HookTicket;
10
- worktreePath?: string;
11
- branch?: string;
12
- fromStatus: string;
13
- toStatus: string;
14
- sessionId?: string;
15
- originalSessionId?: string;
16
- };
@@ -1,26 +0,0 @@
1
- import type { BaseHookContext } from "./base";
2
- /** @deprecated Legacy core ticket hook context. Ticket lifecycle is owned by the pstdio tickets extension. */
3
- export type TicketContext = BaseHookContext & {
4
- id: string;
5
- shorthand: string;
6
- displayTitle: string | null;
7
- userPrompt: string | null;
8
- parentId: string | null;
9
- draft: boolean;
10
- archived: boolean;
11
- status: string | null;
12
- tagIds: string[];
13
- tagNames: string[];
14
- fileIds: string[];
15
- };
16
- /** @deprecated Legacy core ticket hook context. Ticket lifecycle is owned by the pstdio tickets extension. */
17
- export type TicketCreationContext = Omit<TicketContext, "id" | "shorthand"> & {
18
- id: null;
19
- shorthand: null;
20
- content: string | null;
21
- };
22
- /** @deprecated Legacy core ticket hook context. Ticket lifecycle is owned by the pstdio tickets extension. */
23
- export type TicketStatusChangeContext = TicketContext & {
24
- fromStatus: string | null;
25
- toStatus: string | null;
26
- };
@@ -1,2 +0,0 @@
1
- /** @deprecated Legacy core ticket status resources. Ticket statuses are owned by the pstdio tickets extension. */
2
- export type { AttemptStatus, Status } from "pstdio-api-contracts";
@@ -1,2 +0,0 @@
1
- /** @deprecated Legacy core ticket tag resources. Ticket tags are owned by the pstdio tickets extension. */
2
- export type { Tag, TagOption } from "pstdio-api-contracts";
@@ -1,2 +0,0 @@
1
- /** @deprecated Legacy core ticket resources. Ticket data is owned by the pstdio tickets extension. */
2
- export type { FileRecord as TicketFile, Ticket, TicketDetail, TicketListItem } from "pstdio-api-contracts";