@mdwrk/extension-host 1.0.1
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/README.md +49 -0
- package/dist/context.d.ts +27 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +2 -0
- package/dist/context.js.map +1 -0
- package/dist/host.d.ts +149 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +2 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/lifecycle.d.ts +14 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +2 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/primitives.d.ts +10 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +2 -0
- package/dist/primitives.js.map +1 -0
- package/dist/registration.d.ts +17 -0
- package/dist/registration.d.ts.map +1 -0
- package/dist/registration.js +2 -0
- package/dist/registration.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +69 -0
package/README.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# mdwrk/extension-host
|
|
2
|
+
|
|
3
|
+
Stable host API, lifecycle, context, and registration contracts for Markdown Workspace extensions.
|
|
4
|
+
|
|
5
|
+
## Package purpose
|
|
6
|
+
|
|
7
|
+
This package is the extension-facing boundary for interacting with the host application.
|
|
8
|
+
|
|
9
|
+
## What it exports
|
|
10
|
+
|
|
11
|
+
- host API contracts
|
|
12
|
+
- extension context contract
|
|
13
|
+
- lifecycle contracts
|
|
14
|
+
- primitive utility types
|
|
15
|
+
- registration contracts for commands, views, components, settings sections, and action rail items
|
|
16
|
+
- i18n catalog and locale-loader registration contracts
|
|
17
|
+
- theme inspection, bridge, preview, and CSS export contracts
|
|
18
|
+
|
|
19
|
+
## Authoring rule
|
|
20
|
+
|
|
21
|
+
Extension packages must use this package rather than importing `apps/client/*` internals directly.
|
|
22
|
+
|
|
23
|
+
## Important Phase 9 APIs
|
|
24
|
+
|
|
25
|
+
### i18n
|
|
26
|
+
Use:
|
|
27
|
+
- `context.registerLocaleCatalog(...)`
|
|
28
|
+
- `context.registerLocaleCatalogLoader(...)`
|
|
29
|
+
- `host.i18n.ensureLocale()`
|
|
30
|
+
- `host.i18n.format(...)`
|
|
31
|
+
|
|
32
|
+
### theme
|
|
33
|
+
Use:
|
|
34
|
+
- `host.theme.getTokenMap()`
|
|
35
|
+
- `host.theme.getThemeBridge(target)`
|
|
36
|
+
- `host.theme.getThemeBridgeVariables(target)`
|
|
37
|
+
- `host.theme.previewTheme(...)`
|
|
38
|
+
- `host.theme.applyDraft()`
|
|
39
|
+
- `host.theme.exportThemeCss(...)`
|
|
40
|
+
|
|
41
|
+
## Build
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm run build -w @mdwrk/extension-host
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Publishability
|
|
48
|
+
|
|
49
|
+
This package is structured as a standalone publishable npm package with typed exports and generated build output under `dist/`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ExtensionCapability, ExtensionManifest } from "@mdwrk/extension-manifest";
|
|
2
|
+
import type { ExtensionLocaleCatalog, ExtensionLocaleCatalogLoader, ExtensionHost, HostEnvironment } from "./host.js";
|
|
3
|
+
import type { Disposable, JsonValue } from "./primitives.js";
|
|
4
|
+
import type { RegisteredActionRailItem, RegisteredCommand, RegisteredComponent, RegisteredSettingsSection, RegisteredView } from "./registration.js";
|
|
5
|
+
export interface ExtensionConfigurationStore {
|
|
6
|
+
get<T extends JsonValue = JsonValue>(key: string): Promise<T | null>;
|
|
7
|
+
set<T extends JsonValue = JsonValue>(key: string, value: T): Promise<void>;
|
|
8
|
+
remove(key: string): Promise<void>;
|
|
9
|
+
watch<T extends JsonValue = JsonValue>(key: string, listener: (value: T | null) => void): Disposable;
|
|
10
|
+
}
|
|
11
|
+
export interface ExtensionContext {
|
|
12
|
+
readonly extensionId: string;
|
|
13
|
+
readonly manifest: ExtensionManifest;
|
|
14
|
+
readonly capabilities: readonly ExtensionCapability[];
|
|
15
|
+
readonly host: ExtensionHost;
|
|
16
|
+
readonly environment: HostEnvironment;
|
|
17
|
+
readonly config: ExtensionConfigurationStore;
|
|
18
|
+
registerCommand(command: RegisteredCommand): Disposable;
|
|
19
|
+
registerView(view: RegisteredView): Disposable;
|
|
20
|
+
registerComponent(component: RegisteredComponent): Disposable;
|
|
21
|
+
registerActionRailItem(item: RegisteredActionRailItem): Disposable;
|
|
22
|
+
registerSettingsSection(section: RegisteredSettingsSection): Disposable;
|
|
23
|
+
registerLocaleCatalog(catalog: ExtensionLocaleCatalog): Disposable;
|
|
24
|
+
registerLocaleCatalogLoader(loader: ExtensionLocaleCatalogLoader): Disposable;
|
|
25
|
+
registerService<T>(token: string, service: T): Disposable;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,aAAa,EACb,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,UAAU,CAAC;CACtG;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAE7C,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC;IACxD,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CAAC;IAC/C,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAC9D,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,UAAU,CAAC;IACnE,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC;IACxE,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,UAAU,CAAC;IACnE,2BAA2B,CAAC,MAAM,EAAE,4BAA4B,GAAG,UAAU,CAAC;IAC9E,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;CAC3D"}
|
package/dist/context.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":""}
|
package/dist/host.d.ts
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import type { ActionRailContributionDescriptor, ExtensionCapability, I18nLabel, ViewContributionDescriptor } from "@mdwrk/extension-manifest";
|
|
2
|
+
import type { MarkdownWorkspaceThemeClassName, MarkdownWorkspaceThemeTokenMap, MarkdownWorkspaceThemeTokenName, ThemeBridgeTarget, ThemeBridgeVariableDefinition, ThemeClassDefinition, ThemePreset, ThemeTokenDefinition } from "@mdwrk/theme-contract";
|
|
3
|
+
import type { Disposable, MaybePromise } from "./primitives.js";
|
|
4
|
+
export interface HostCommandApi {
|
|
5
|
+
execute<T = unknown>(id: string, ...args: unknown[]): Promise<T>;
|
|
6
|
+
list(): Promise<readonly string[]>;
|
|
7
|
+
}
|
|
8
|
+
export interface HostViewApi {
|
|
9
|
+
open(id: string, input?: unknown): Promise<void>;
|
|
10
|
+
close(id: string): Promise<void>;
|
|
11
|
+
focus(id: string): Promise<void>;
|
|
12
|
+
list(): Promise<readonly ViewContributionDescriptor[]>;
|
|
13
|
+
}
|
|
14
|
+
export interface HostActionRailApi {
|
|
15
|
+
list(): Promise<readonly ActionRailContributionDescriptor[]>;
|
|
16
|
+
reveal(id: string): Promise<void>;
|
|
17
|
+
setBadge(id: string, value: number | null): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export interface HostSettingsApi {
|
|
20
|
+
get<T = unknown>(key: string): Promise<T | null>;
|
|
21
|
+
set<T = unknown>(key: string, value: T): Promise<void>;
|
|
22
|
+
remove(key: string): Promise<void>;
|
|
23
|
+
watch<T = unknown>(key: string, listener: (value: T | null) => void): Disposable;
|
|
24
|
+
}
|
|
25
|
+
export interface HostNotificationOptions {
|
|
26
|
+
readonly title?: string;
|
|
27
|
+
readonly actions?: readonly {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly label: string;
|
|
30
|
+
}[];
|
|
31
|
+
readonly sticky?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface HostNotificationApi {
|
|
34
|
+
info(message: I18nLabel | string, options?: HostNotificationOptions): Promise<void>;
|
|
35
|
+
warn(message: I18nLabel | string, options?: HostNotificationOptions): Promise<void>;
|
|
36
|
+
error(message: I18nLabel | string, options?: HostNotificationOptions): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
export interface HostThemeCssExportOptions {
|
|
39
|
+
readonly selector?: string;
|
|
40
|
+
readonly target?: "host" | ThemeBridgeTarget;
|
|
41
|
+
}
|
|
42
|
+
export interface HostThemeApi {
|
|
43
|
+
getToken(token: MarkdownWorkspaceThemeTokenName): Promise<string | null>;
|
|
44
|
+
getTokenMap(): Promise<MarkdownWorkspaceThemeTokenMap>;
|
|
45
|
+
getTokens(): Promise<readonly ThemeTokenDefinition[]>;
|
|
46
|
+
getClassNames(): Promise<readonly ThemeClassDefinition[]>;
|
|
47
|
+
getThemeBridge(target: ThemeBridgeTarget): Promise<readonly ThemeBridgeVariableDefinition[]>;
|
|
48
|
+
getThemeBridgeVariables(target: ThemeBridgeTarget): Promise<Readonly<Record<`--${string}`, string>>>;
|
|
49
|
+
setDraftToken(token: MarkdownWorkspaceThemeTokenName, value: string): Promise<void>;
|
|
50
|
+
setDraftTokens(tokens: Partial<Record<MarkdownWorkspaceThemeTokenName, string>>): Promise<void>;
|
|
51
|
+
previewTheme(preset: ThemePreset | Partial<Record<MarkdownWorkspaceThemeTokenName, string>>): Promise<void>;
|
|
52
|
+
applyDraft(): Promise<void>;
|
|
53
|
+
discardDraft(): Promise<void>;
|
|
54
|
+
exportTheme(): Promise<ThemePreset>;
|
|
55
|
+
exportThemeCss(options?: HostThemeCssExportOptions): Promise<string>;
|
|
56
|
+
supportsClass(className: MarkdownWorkspaceThemeClassName): Promise<boolean>;
|
|
57
|
+
}
|
|
58
|
+
export interface ActiveDocument {
|
|
59
|
+
readonly uri: string;
|
|
60
|
+
readonly language: string;
|
|
61
|
+
readonly content: string;
|
|
62
|
+
readonly version?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface SelectionRange {
|
|
65
|
+
readonly start: number;
|
|
66
|
+
readonly end: number;
|
|
67
|
+
readonly text?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface HostEditorApi {
|
|
70
|
+
getActiveDocument(): Promise<ActiveDocument | null>;
|
|
71
|
+
getSelections(): Promise<readonly SelectionRange[]>;
|
|
72
|
+
insertText(text: string): Promise<void>;
|
|
73
|
+
replaceSelections(next: string | readonly string[]): Promise<void>;
|
|
74
|
+
setDocumentContent(content: string): Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
export interface WorkspaceProjectSummary {
|
|
77
|
+
readonly id: string;
|
|
78
|
+
readonly name: string;
|
|
79
|
+
readonly path?: string;
|
|
80
|
+
}
|
|
81
|
+
export interface WorkspaceFileSummary {
|
|
82
|
+
readonly id: string;
|
|
83
|
+
readonly name: string;
|
|
84
|
+
readonly path: string;
|
|
85
|
+
readonly kind: "file" | "folder";
|
|
86
|
+
}
|
|
87
|
+
export interface HostWorkspaceApi {
|
|
88
|
+
listProjects(): Promise<readonly WorkspaceProjectSummary[]>;
|
|
89
|
+
getActiveProject(): Promise<WorkspaceProjectSummary | null>;
|
|
90
|
+
getActiveFile(): Promise<WorkspaceFileSummary | null>;
|
|
91
|
+
readFile(path: string): Promise<string>;
|
|
92
|
+
writeFile(path: string, content: string): Promise<void>;
|
|
93
|
+
}
|
|
94
|
+
export interface ExtensionLocaleCatalog {
|
|
95
|
+
readonly locale: string;
|
|
96
|
+
readonly messages: Readonly<Record<string, string>>;
|
|
97
|
+
}
|
|
98
|
+
export interface ExtensionLocaleCatalogLoader {
|
|
99
|
+
readonly defaultLocale?: string;
|
|
100
|
+
readonly fallbackLocale?: string;
|
|
101
|
+
readonly loaders: Readonly<Record<string, () => ExtensionLocaleCatalog | Promise<ExtensionLocaleCatalog>>>;
|
|
102
|
+
}
|
|
103
|
+
export interface HostI18nApi {
|
|
104
|
+
getLocale(): Promise<string>;
|
|
105
|
+
setLocale(locale: string): Promise<void>;
|
|
106
|
+
ensureLocale(locale?: string): Promise<void>;
|
|
107
|
+
format(label: I18nLabel | string): string;
|
|
108
|
+
registerCatalog(extensionId: string, catalog: ExtensionLocaleCatalog): Disposable;
|
|
109
|
+
registerCatalogLoader(extensionId: string, loader: ExtensionLocaleCatalogLoader): Disposable;
|
|
110
|
+
}
|
|
111
|
+
export interface DiagnosticRecord {
|
|
112
|
+
readonly severity: "info" | "warning" | "error";
|
|
113
|
+
readonly code: string;
|
|
114
|
+
readonly message: string;
|
|
115
|
+
readonly detail?: string;
|
|
116
|
+
}
|
|
117
|
+
export interface HostDiagnosticsApi {
|
|
118
|
+
publish(extensionId: string, record: DiagnosticRecord): Promise<void>;
|
|
119
|
+
clear(extensionId: string): Promise<void>;
|
|
120
|
+
}
|
|
121
|
+
export interface HostLoggerApi {
|
|
122
|
+
debug(message: string, context?: unknown): MaybePromise<void>;
|
|
123
|
+
info(message: string, context?: unknown): MaybePromise<void>;
|
|
124
|
+
warn(message: string, context?: unknown): MaybePromise<void>;
|
|
125
|
+
error(message: string, context?: unknown): MaybePromise<void>;
|
|
126
|
+
}
|
|
127
|
+
export interface HostEnvironment {
|
|
128
|
+
readonly platform: "web" | "desktop" | "server";
|
|
129
|
+
readonly mode: "development" | "production" | "test";
|
|
130
|
+
readonly hostVersion: string;
|
|
131
|
+
readonly runtimeVersion: string;
|
|
132
|
+
readonly grantedCapabilities?: readonly ExtensionCapability[];
|
|
133
|
+
}
|
|
134
|
+
export interface ExtensionHost {
|
|
135
|
+
readonly apiVersion: string;
|
|
136
|
+
readonly commands: HostCommandApi;
|
|
137
|
+
readonly views: HostViewApi;
|
|
138
|
+
readonly actionRail: HostActionRailApi;
|
|
139
|
+
readonly settings: HostSettingsApi;
|
|
140
|
+
readonly notifications: HostNotificationApi;
|
|
141
|
+
readonly theme: HostThemeApi;
|
|
142
|
+
readonly editor: HostEditorApi;
|
|
143
|
+
readonly workspace: HostWorkspaceApi;
|
|
144
|
+
readonly i18n: HostI18nApi;
|
|
145
|
+
readonly diagnostics: HostDiagnosticsApi;
|
|
146
|
+
readonly logger: HostLoggerApi;
|
|
147
|
+
readonly environment: HostEnvironment;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|
package/dist/host.js
ADDED
package/dist/host.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ExtensionManifest } from "@mdwrk/extension-manifest";
|
|
2
|
+
import type { ExtensionContext } from "./context.js";
|
|
3
|
+
import type { Disposable, MaybePromise } from "./primitives.js";
|
|
4
|
+
export interface ExtensionActivationResult {
|
|
5
|
+
readonly dispose?: Disposable;
|
|
6
|
+
}
|
|
7
|
+
export type ActivateExtension = (context: ExtensionContext) => MaybePromise<void | Disposable | ExtensionActivationResult>;
|
|
8
|
+
export type DeactivateExtension = (context: ExtensionContext) => MaybePromise<void>;
|
|
9
|
+
export interface MarkdownWorkspaceExtension {
|
|
10
|
+
readonly manifest: ExtensionManifest;
|
|
11
|
+
activate: ActivateExtension;
|
|
12
|
+
deactivate?: DeactivateExtension;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,YAAY,CAAC,IAAI,GAAG,UAAU,GAAG,yBAAyB,CAAC,CAAC;AAC3H,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEpF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type MaybePromise<T> = T | Promise<T>;
|
|
2
|
+
export interface Disposable {
|
|
3
|
+
dispose(): void;
|
|
4
|
+
}
|
|
5
|
+
export type Unsubscribe = Disposable;
|
|
6
|
+
export interface JsonObject {
|
|
7
|
+
readonly [key: string]: JsonValue;
|
|
8
|
+
}
|
|
9
|
+
export type JsonValue = string | number | boolean | null | JsonObject | readonly JsonValue[];
|
|
10
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAErC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,UAAU,GACV,SAAS,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ActionRailContributionDescriptor, CommandContributionDescriptor, ComponentContributionDescriptor, SettingsSectionContributionDescriptor, ViewContributionDescriptor } from "@mdwrk/extension-manifest";
|
|
2
|
+
export type ViewRenderer<Props = unknown> = (props: Props) => unknown;
|
|
3
|
+
export type ComponentRenderer<Props = unknown> = (props: Props) => unknown;
|
|
4
|
+
export interface RegisteredCommand extends CommandContributionDescriptor {
|
|
5
|
+
execute: (...args: unknown[]) => unknown | Promise<unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface RegisteredView extends ViewContributionDescriptor {
|
|
8
|
+
render: ViewRenderer;
|
|
9
|
+
}
|
|
10
|
+
export interface RegisteredComponent extends ComponentContributionDescriptor {
|
|
11
|
+
render: ComponentRenderer;
|
|
12
|
+
}
|
|
13
|
+
export interface RegisteredSettingsSection extends SettingsSectionContributionDescriptor {
|
|
14
|
+
}
|
|
15
|
+
export interface RegisteredActionRailItem extends ActionRailContributionDescriptor {
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC7B,+BAA+B,EAC/B,qCAAqC,EACrC,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,YAAY,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;AACtE,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;AAE3E,MAAM,WAAW,iBAAkB,SAAQ,6BAA6B;IACtE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,cAAe,SAAQ,0BAA0B;IAChE,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,+BAA+B;IAC1E,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,qCAAqC;CAAG;AAE3F,MAAM,WAAW,wBAAyB,SAAQ,gCAAgC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,EAAG,OAAgB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAgB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.1",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=20 <23"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"markdown-workspace",
|
|
18
|
+
"contracts",
|
|
19
|
+
"typescript"
|
|
20
|
+
],
|
|
21
|
+
"name": "@mdwrk/extension-host",
|
|
22
|
+
"description": "Stable host API, lifecycle, and context contracts for Markdown Workspace extensions.",
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@mdwrk/extension-manifest": "^1.0.0",
|
|
25
|
+
"@mdwrk/theme-contract": "^1.0.0"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build:deps": "npm run build -w @mdwrk/extension-manifest && npm run build -w @mdwrk/theme-contract",
|
|
29
|
+
"build": "npm run build:deps && tsc -p tsconfig.json",
|
|
30
|
+
"typecheck": "npm run build:deps && tsc --noEmit -p tsconfig.json",
|
|
31
|
+
"lint": "npm run typecheck",
|
|
32
|
+
"test": "npm run typecheck",
|
|
33
|
+
"prepack": "npm run build"
|
|
34
|
+
},
|
|
35
|
+
"exports": {
|
|
36
|
+
".": {
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"import": "./dist/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./version": {
|
|
41
|
+
"types": "./dist/version.d.ts",
|
|
42
|
+
"import": "./dist/version.js"
|
|
43
|
+
},
|
|
44
|
+
"./primitives": {
|
|
45
|
+
"types": "./dist/primitives.d.ts",
|
|
46
|
+
"import": "./dist/primitives.js"
|
|
47
|
+
},
|
|
48
|
+
"./registration": {
|
|
49
|
+
"types": "./dist/registration.d.ts",
|
|
50
|
+
"import": "./dist/registration.js"
|
|
51
|
+
},
|
|
52
|
+
"./host": {
|
|
53
|
+
"types": "./dist/host.d.ts",
|
|
54
|
+
"import": "./dist/host.js"
|
|
55
|
+
},
|
|
56
|
+
"./context": {
|
|
57
|
+
"types": "./dist/context.d.ts",
|
|
58
|
+
"import": "./dist/context.js"
|
|
59
|
+
},
|
|
60
|
+
"./lifecycle": {
|
|
61
|
+
"types": "./dist/lifecycle.d.ts",
|
|
62
|
+
"import": "./dist/lifecycle.js"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"main": "./dist/index.js",
|
|
66
|
+
"types": "./dist/index.d.ts",
|
|
67
|
+
"author": "Jacob Stewart <jacob@swarmauri.com>",
|
|
68
|
+
"homepage": "https://mdwrk.com"
|
|
69
|
+
}
|