@oh-my-pi/cli 0.1.0 → 0.3.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/.github/icon.png +0 -0
- package/.github/logo.png +0 -0
- package/.github/workflows/publish.yml +1 -1
- package/LICENSE +21 -0
- package/README.md +243 -138
- package/biome.json +1 -1
- package/bun.lock +59 -0
- package/dist/cli.js +6311 -2900
- package/dist/commands/config.d.ts +32 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/enable.d.ts +1 -0
- package/dist/commands/enable.d.ts.map +1 -1
- package/dist/commands/env.d.ts +14 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/features.d.ts +25 -0
- package/dist/commands/features.d.ts.map +1 -0
- package/dist/commands/info.d.ts +1 -0
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/link.d.ts +2 -0
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/list.d.ts +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/outdated.d.ts +1 -0
- package/dist/commands/outdated.d.ts.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/uninstall.d.ts +1 -0
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/update.d.ts +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/why.d.ts +1 -0
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/conflicts.d.ts +9 -1
- package/dist/conflicts.d.ts.map +1 -1
- package/dist/errors.d.ts +8 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.ts +18 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/lock.d.ts +3 -0
- package/dist/lock.d.ts.map +1 -0
- package/dist/lockfile.d.ts +52 -0
- package/dist/lockfile.d.ts.map +1 -0
- package/dist/manifest.d.ts +60 -25
- package/dist/manifest.d.ts.map +1 -1
- package/dist/npm.d.ts +14 -2
- package/dist/npm.d.ts.map +1 -1
- package/dist/paths.d.ts +34 -3
- package/dist/paths.d.ts.map +1 -1
- package/dist/runtime.d.ts +14 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/symlinks.d.ts +43 -7
- package/dist/symlinks.d.ts.map +1 -1
- package/package.json +11 -5
- package/plugins/exa/README.md +153 -0
- package/plugins/exa/package.json +56 -0
- package/plugins/exa/tools/exa/company.ts +35 -0
- package/plugins/exa/tools/exa/index.ts +66 -0
- package/plugins/exa/tools/exa/linkedin.ts +35 -0
- package/plugins/exa/tools/exa/researcher.ts +40 -0
- package/plugins/exa/tools/exa/runtime.json +4 -0
- package/plugins/exa/tools/exa/search.ts +46 -0
- package/plugins/exa/tools/exa/shared.ts +230 -0
- package/plugins/exa/tools/exa/websets.ts +62 -0
- package/plugins/metal-theme/package.json +7 -2
- package/plugins/subagents/package.json +7 -2
- package/plugins/user-prompt/README.md +130 -0
- package/plugins/user-prompt/package.json +19 -0
- package/plugins/user-prompt/tools/user-prompt/index.ts +235 -0
- package/src/cli.ts +133 -58
- package/src/commands/config.ts +384 -0
- package/src/commands/create.ts +51 -1
- package/src/commands/doctor.ts +95 -7
- package/src/commands/enable.ts +25 -8
- package/src/commands/env.ts +38 -0
- package/src/commands/features.ts +295 -0
- package/src/commands/info.ts +41 -5
- package/src/commands/init.ts +20 -2
- package/src/commands/install.ts +453 -80
- package/src/commands/link.ts +60 -9
- package/src/commands/list.ts +122 -7
- package/src/commands/outdated.ts +17 -6
- package/src/commands/search.ts +20 -3
- package/src/commands/uninstall.ts +57 -6
- package/src/commands/update.ts +67 -9
- package/src/commands/why.ts +47 -16
- package/src/conflicts.ts +33 -1
- package/src/errors.ts +22 -0
- package/src/index.ts +18 -25
- package/src/lock.ts +46 -0
- package/src/lockfile.ts +132 -0
- package/src/manifest.ts +219 -71
- package/src/npm.ts +74 -18
- package/src/paths.ts +77 -12
- package/src/runtime.ts +116 -0
- package/src/symlinks.ts +291 -35
- package/tsconfig.json +7 -3
- package/CHECK.md +0 -352
- package/dist/migrate.d.ts +0 -9
- package/dist/migrate.d.ts.map +0 -1
- package/src/migrate.ts +0 -181
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface ConfigOptions {
|
|
2
|
+
global?: boolean;
|
|
3
|
+
local?: boolean;
|
|
4
|
+
json?: boolean;
|
|
5
|
+
delete?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* List all configurable variables for a plugin
|
|
9
|
+
* omp config @oh-my-pi/exa
|
|
10
|
+
*/
|
|
11
|
+
export declare function listConfig(name: string, options?: ConfigOptions): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Get a specific variable value
|
|
14
|
+
* omp config @oh-my-pi/exa apiKey
|
|
15
|
+
*/
|
|
16
|
+
export declare function getConfig(name: string, key: string, options?: ConfigOptions): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Set a variable value
|
|
19
|
+
* omp config @oh-my-pi/exa apiKey sk-xxx
|
|
20
|
+
*/
|
|
21
|
+
export declare function setConfig(name: string, key: string, value: string, options?: ConfigOptions): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Delete a variable override (revert to default)
|
|
24
|
+
* omp config @oh-my-pi/exa apiKey --delete
|
|
25
|
+
*/
|
|
26
|
+
export declare function deleteConfig(name: string, key: string, options?: ConfigOptions): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Main config command handler
|
|
29
|
+
* Routes to list, get, set, or delete based on arguments
|
|
30
|
+
*/
|
|
31
|
+
export declare function configCommand(name: string, keyOrOptions?: string | ConfigOptions, valueOrOptions?: string | ConfigOptions, options?: ConfigOptions): Promise<void>;
|
|
32
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAsFD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFzF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CrG;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DpH;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCxG;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,EACrC,cAAc,CAAC,EAAE,MAAM,GAAG,aAAa,EACvC,OAAO,GAAE,aAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAoCD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2J3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AASD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiR1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../src/commands/enable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../src/commands/enable.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDlG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDnG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface EnvOptions {
|
|
2
|
+
global?: boolean;
|
|
3
|
+
local?: boolean;
|
|
4
|
+
json?: boolean;
|
|
5
|
+
fish?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Output environment variables for plugins
|
|
9
|
+
* omp env # Print shell exports (sh/bash/zsh)
|
|
10
|
+
* omp env --fish # Print fish shell syntax
|
|
11
|
+
* omp env --json # Print as JSON
|
|
12
|
+
*/
|
|
13
|
+
export declare function envCommand(options?: EnvOptions): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface FeaturesOptions {
|
|
2
|
+
global?: boolean;
|
|
3
|
+
local?: boolean;
|
|
4
|
+
json?: boolean;
|
|
5
|
+
enable?: string[];
|
|
6
|
+
disable?: string[];
|
|
7
|
+
set?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Interactive feature selection for a plugin
|
|
11
|
+
* omp features @oh-my-pi/exa
|
|
12
|
+
*/
|
|
13
|
+
export declare function interactiveFeatures(name: string, options?: FeaturesOptions): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Configure features for an installed plugin via CLI flags
|
|
16
|
+
* omp features @oh-my-pi/exa --enable websets --disable search
|
|
17
|
+
* omp features @oh-my-pi/exa --set search,websets
|
|
18
|
+
*/
|
|
19
|
+
export declare function configureFeatures(name: string, options?: FeaturesOptions): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Main features command handler
|
|
22
|
+
* Routes to interactive or configure based on options
|
|
23
|
+
*/
|
|
24
|
+
export declare function featuresCommand(name: string, options?: FeaturesOptions): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=features.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/commands/features.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuFpG;AAsED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FlG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhG"}
|
package/dist/commands/info.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2G5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC1E"}
|
|
@@ -1,5 +1,42 @@
|
|
|
1
|
+
import { type PluginConfig, type PluginPackageJson } from "@omp/manifest";
|
|
2
|
+
/**
|
|
3
|
+
* Parsed package specifier with optional features
|
|
4
|
+
*/
|
|
5
|
+
export interface ParsedPackageSpec {
|
|
6
|
+
name: string;
|
|
7
|
+
version: string;
|
|
8
|
+
/** null = not specified, [] = explicit empty, string[] = specific features */
|
|
9
|
+
features: string[] | null;
|
|
10
|
+
/** true if [*] was used */
|
|
11
|
+
allFeatures: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Parse package specifier with optional features bracket syntax.
|
|
15
|
+
* Examples:
|
|
16
|
+
* "exa" -> { name: "exa", version: "latest", features: null }
|
|
17
|
+
* "exa@^1.0" -> { name: "exa", version: "^1.0", features: null }
|
|
18
|
+
* "exa[search]" -> { name: "exa", version: "latest", features: ["search"] }
|
|
19
|
+
* "exa[search,websets]@^1.0" -> { name: "exa", version: "^1.0", features: ["search", "websets"] }
|
|
20
|
+
* "@scope/exa[*]" -> { name: "@scope/exa", version: "latest", allFeatures: true }
|
|
21
|
+
* "exa[]" -> { name: "exa", version: "latest", features: [] } (no optional features)
|
|
22
|
+
*/
|
|
23
|
+
export declare function parsePackageSpecWithFeatures(spec: string): ParsedPackageSpec;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve which features to enable based on user request, existing config, and plugin defaults.
|
|
26
|
+
*
|
|
27
|
+
* Resolution order:
|
|
28
|
+
* 1. User explicitly requested [*] -> all features
|
|
29
|
+
* 2. User explicitly specified [f1,f2] -> exactly those features
|
|
30
|
+
* 3. Reinstall with no bracket -> preserve existing selection
|
|
31
|
+
* 4. First install with no bracket -> ALL features
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveFeatures(pkgJson: PluginPackageJson, requested: ParsedPackageSpec, existingConfig: PluginConfig | undefined, isReinstall: boolean): {
|
|
34
|
+
enabledFeatures: string[];
|
|
35
|
+
configToStore: PluginConfig | undefined;
|
|
36
|
+
};
|
|
1
37
|
export interface InstallOptions {
|
|
2
38
|
global?: boolean;
|
|
39
|
+
local?: boolean;
|
|
3
40
|
save?: boolean;
|
|
4
41
|
saveDev?: boolean;
|
|
5
42
|
force?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAOA,OAAO,EAKN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAItB,MAAM,eAAe,CAAC;AAavB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,2BAA2B;IAC3B,WAAW,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAgC5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,cAAc,EAAE,YAAY,GAAG,SAAS,EACxC,WAAW,EAAE,OAAO,GAClB;IAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,CAwExE;AA0BD,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAqCD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgVpG"}
|
package/dist/commands/link.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2H5F"}
|
package/dist/commands/list.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AA6GD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outdated.d.ts","sourceRoot":"","sources":["../../src/commands/outdated.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"outdated.d.ts","sourceRoot":"","sources":["../../src/commands/outdated.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiJ5F"}
|
package/dist/commands/why.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHvF"}
|
package/dist/conflicts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PluginPackageJson } from "
|
|
1
|
+
import type { PluginPackageJson } from "@omp/manifest";
|
|
2
2
|
export interface Conflict {
|
|
3
3
|
dest: string;
|
|
4
4
|
plugins: Array<{
|
|
@@ -6,6 +6,14 @@ export interface Conflict {
|
|
|
6
6
|
src: string;
|
|
7
7
|
}>;
|
|
8
8
|
}
|
|
9
|
+
export interface IntraPluginDuplicate {
|
|
10
|
+
dest: string;
|
|
11
|
+
sources: string[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Detect duplicate destinations within a single plugin's omp.install array
|
|
15
|
+
*/
|
|
16
|
+
export declare function detectIntraPluginDuplicates(pkgJson: PluginPackageJson): IntraPluginDuplicate[];
|
|
9
17
|
/**
|
|
10
18
|
* Detect conflicts between a new plugin and existing plugins
|
|
11
19
|
*/
|
package/dist/conflicts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../src/conflicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC7C,QAAQ,EAAE,CAgCZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAE,CAsBtF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAK/D"}
|
|
1
|
+
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../src/conflicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,EAAE,CAsB9F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC7C,QAAQ,EAAE,CAgCZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAE,CAsBtF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAK/D"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wraps a command function with consistent error handling.
|
|
3
|
+
* - Catches errors and logs user-friendly messages
|
|
4
|
+
* - Shows stack trace only when DEBUG env var is set
|
|
5
|
+
* - Sets non-zero exit code on error
|
|
6
|
+
*/
|
|
7
|
+
export declare function withErrorHandling<T extends (...args: any[]) => Promise<void>>(fn: T): T;
|
|
8
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAavF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
export { createPlugin } from "
|
|
2
|
-
export { runDoctor } from "
|
|
3
|
-
export { disablePlugin, enablePlugin } from "
|
|
4
|
-
export { showInfo } from "
|
|
5
|
-
export { initProject } from "
|
|
6
|
-
export { installPlugin } from "
|
|
7
|
-
export { linkPlugin } from "
|
|
8
|
-
export { listPlugins } from "
|
|
9
|
-
export { showOutdated } from "
|
|
10
|
-
export { searchPlugins } from "
|
|
11
|
-
export { uninstallPlugin } from "
|
|
12
|
-
export { updatePlugin } from "
|
|
13
|
-
export { whyFile } from "
|
|
14
|
-
export { detectAllConflicts, detectConflicts, formatConflicts, } from "
|
|
15
|
-
export type { OmpField, OmpInstallEntry, PluginPackageJson, PluginsJson, } from "
|
|
16
|
-
export { getInstalledPlugins, initGlobalPlugins, loadPluginsJson, readPluginPackageJson, savePluginsJson, } from "
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
export { checkPluginSymlinks, createPluginSymlinks, removePluginSymlinks, } from "./symlinks.js";
|
|
1
|
+
export { createPlugin } from "@omp/commands/create";
|
|
2
|
+
export { runDoctor } from "@omp/commands/doctor";
|
|
3
|
+
export { disablePlugin, enablePlugin } from "@omp/commands/enable";
|
|
4
|
+
export { showInfo } from "@omp/commands/info";
|
|
5
|
+
export { initProject } from "@omp/commands/init";
|
|
6
|
+
export { installPlugin } from "@omp/commands/install";
|
|
7
|
+
export { linkPlugin } from "@omp/commands/link";
|
|
8
|
+
export { listPlugins } from "@omp/commands/list";
|
|
9
|
+
export { showOutdated } from "@omp/commands/outdated";
|
|
10
|
+
export { searchPlugins } from "@omp/commands/search";
|
|
11
|
+
export { uninstallPlugin } from "@omp/commands/uninstall";
|
|
12
|
+
export { updatePlugin } from "@omp/commands/update";
|
|
13
|
+
export { whyFile } from "@omp/commands/why";
|
|
14
|
+
export { detectAllConflicts, detectConflicts, formatConflicts, } from "@omp/conflicts";
|
|
15
|
+
export type { OmpField, OmpInstallEntry, PluginPackageJson, PluginsJson, } from "@omp/manifest";
|
|
16
|
+
export { getInstalledPlugins, initGlobalPlugins, loadPluginsJson, readPluginPackageJson, savePluginsJson, } from "@omp/manifest";
|
|
17
|
+
export { npmInfo, npmInstall, npmOutdated, npmSearch, npmUninstall, npmUpdate, } from "@omp/npm";
|
|
18
|
+
export { checkPluginSymlinks, createPluginSymlinks, removePluginSymlinks, } from "@omp/symlinks";
|
|
20
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACN,kBAAkB,EAClB,eAAe,EACf,eAAe,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACX,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,WAAW,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,eAAe,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,GACT,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/lock.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAiCjE;AAED,wBAAsB,WAAW,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lock file schema version
|
|
3
|
+
*/
|
|
4
|
+
export declare const LOCKFILE_VERSION = 1;
|
|
5
|
+
/**
|
|
6
|
+
* Package entry in the lock file
|
|
7
|
+
*/
|
|
8
|
+
export interface LockFilePackage {
|
|
9
|
+
version: string;
|
|
10
|
+
resolved?: string;
|
|
11
|
+
integrity?: string;
|
|
12
|
+
dependencies?: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Lock file structure
|
|
16
|
+
*/
|
|
17
|
+
export interface LockFile {
|
|
18
|
+
lockfileVersion: number;
|
|
19
|
+
packages: Record<string, LockFilePackage>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Load and validate a lock file.
|
|
23
|
+
*
|
|
24
|
+
* Returns null if:
|
|
25
|
+
* - File doesn't exist
|
|
26
|
+
* - File contains invalid JSON (corrupted)
|
|
27
|
+
* - File has invalid/incompatible schema
|
|
28
|
+
*/
|
|
29
|
+
export declare function loadLockFile(global?: boolean): Promise<LockFile | null>;
|
|
30
|
+
/**
|
|
31
|
+
* Save lock file
|
|
32
|
+
*/
|
|
33
|
+
export declare function saveLockFile(lockFile: LockFile, global?: boolean): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Create a new empty lock file
|
|
36
|
+
*/
|
|
37
|
+
export declare function createLockFile(): LockFile;
|
|
38
|
+
/**
|
|
39
|
+
* Validate and optionally regenerate a corrupted lock file.
|
|
40
|
+
*
|
|
41
|
+
* @returns The loaded lock file, a new empty lock file if corrupted/missing, or null if validation fails
|
|
42
|
+
*/
|
|
43
|
+
export declare function validateOrRegenerateLockFile(global?: boolean): Promise<LockFile>;
|
|
44
|
+
/**
|
|
45
|
+
* Get the locked version for a package, if it exists in the lock file.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getLockedVersion(packageName: string, global?: boolean): Promise<string | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Update the lock file with a package's exact version.
|
|
50
|
+
*/
|
|
51
|
+
export declare function updateLockFile(packageName: string, version: string, global?: boolean): Promise<void>;
|
|
52
|
+
//# sourceMappingURL=lockfile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../src/lockfile.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA8B1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAKzC;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAanF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMjG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvG"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -4,9 +4,47 @@
|
|
|
4
4
|
export interface OmpInstallEntry {
|
|
5
5
|
src: string;
|
|
6
6
|
dest: string;
|
|
7
|
+
/** If true, this file is copied (not symlinked) and can be edited by omp */
|
|
8
|
+
copy?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Runtime configuration stored in plugin's runtime.json
|
|
12
|
+
* This file is copied (not symlinked) and edited by omp features/config commands
|
|
13
|
+
*/
|
|
14
|
+
export interface PluginRuntimeConfig {
|
|
15
|
+
features?: string[];
|
|
16
|
+
options?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Runtime variable definition with type, default, and metadata
|
|
20
|
+
*/
|
|
21
|
+
export interface OmpVariable {
|
|
22
|
+
type: "string" | "number" | "boolean" | "string[]";
|
|
23
|
+
default?: string | number | boolean | string[];
|
|
24
|
+
description?: string;
|
|
25
|
+
required?: boolean;
|
|
26
|
+
/** Environment variable name if injected as env (e.g., "EXA_API_KEY") */
|
|
27
|
+
env?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Feature definition - metadata only, no install entries
|
|
31
|
+
* All feature files are always installed; runtime.json controls which are active
|
|
32
|
+
*/
|
|
33
|
+
export interface OmpFeature {
|
|
34
|
+
description?: string;
|
|
35
|
+
/** Runtime variables specific to this feature */
|
|
36
|
+
variables?: Record<string, OmpVariable>;
|
|
37
|
+
/** Default enabled state (default: true) */
|
|
38
|
+
default?: boolean;
|
|
7
39
|
}
|
|
8
40
|
export interface OmpField {
|
|
41
|
+
/** Top-level install entries (always installed, not feature-gated) */
|
|
9
42
|
install?: OmpInstallEntry[];
|
|
43
|
+
/** Top-level runtime variables (always available) */
|
|
44
|
+
variables?: Record<string, OmpVariable>;
|
|
45
|
+
/** Named features with their own install entries and variables */
|
|
46
|
+
features?: Record<string, OmpFeature>;
|
|
47
|
+
/** Disabled state (managed by omp, not plugin author) */
|
|
10
48
|
disabled?: boolean;
|
|
11
49
|
}
|
|
12
50
|
/**
|
|
@@ -22,34 +60,39 @@ export interface PluginPackageJson {
|
|
|
22
60
|
devDependencies?: Record<string, string>;
|
|
23
61
|
files?: string[];
|
|
24
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Per-plugin configuration stored in plugins.json
|
|
65
|
+
*/
|
|
66
|
+
export interface PluginConfig {
|
|
67
|
+
/**
|
|
68
|
+
* Enabled feature names:
|
|
69
|
+
* - null/undefined: use plugin defaults (first install = all, reinstall = preserve)
|
|
70
|
+
* - ["*"]: explicitly all features
|
|
71
|
+
* - []: no optional features (core only)
|
|
72
|
+
* - ["f1", "f2"]: specific features
|
|
73
|
+
*/
|
|
74
|
+
features?: string[] | null;
|
|
75
|
+
/** Runtime variable overrides */
|
|
76
|
+
variables?: Record<string, string | number | boolean | string[]>;
|
|
77
|
+
}
|
|
25
78
|
/**
|
|
26
79
|
* Global/project plugins.json structure
|
|
27
80
|
*/
|
|
28
81
|
export interface PluginsJson {
|
|
29
82
|
plugins: Record<string, string>;
|
|
83
|
+
devDependencies?: Record<string, string>;
|
|
30
84
|
disabled?: string[];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* Legacy manifest structure (for migration)
|
|
34
|
-
*/
|
|
35
|
-
export interface LegacyPluginInfo {
|
|
36
|
-
type: "github" | "local" | "npm";
|
|
37
|
-
repo?: string;
|
|
38
|
-
package?: string;
|
|
39
|
-
path?: string;
|
|
40
|
-
subdir?: string;
|
|
41
|
-
version?: string;
|
|
42
|
-
linked?: boolean;
|
|
43
|
-
installed: string[];
|
|
44
|
-
installedAt: string;
|
|
45
|
-
}
|
|
46
|
-
export interface LegacyManifest {
|
|
47
|
-
plugins: Record<string, LegacyPluginInfo>;
|
|
85
|
+
/** Per-plugin feature and variable config */
|
|
86
|
+
config?: Record<string, PluginConfig>;
|
|
48
87
|
}
|
|
49
88
|
/**
|
|
50
89
|
* Initialize the global plugins directory with package.json
|
|
51
90
|
*/
|
|
52
91
|
export declare function initGlobalPlugins(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Initialize the project-local .pi directory with plugins.json and package.json
|
|
94
|
+
*/
|
|
95
|
+
export declare function initProjectPlugins(): Promise<void>;
|
|
53
96
|
/**
|
|
54
97
|
* Load plugins.json (global or project)
|
|
55
98
|
*/
|
|
@@ -66,14 +109,6 @@ export declare function readPluginPackageJson(pluginName: string, global?: boole
|
|
|
66
109
|
* Get the source directory for a plugin in node_modules
|
|
67
110
|
*/
|
|
68
111
|
export declare function getPluginSourceDir(pluginName: string, global?: boolean): string;
|
|
69
|
-
/**
|
|
70
|
-
* Check if legacy manifest.json exists
|
|
71
|
-
*/
|
|
72
|
-
export declare function hasLegacyManifest(): boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Load legacy manifest.json
|
|
75
|
-
*/
|
|
76
|
-
export declare function loadLegacyManifest(): Promise<LegacyManifest>;
|
|
77
112
|
/**
|
|
78
113
|
* Get all installed plugins with their info
|
|
79
114
|
*/
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/npm.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
import type { OmpField } from "@omp/manifest";
|
|
2
|
+
export interface NpmAvailability {
|
|
3
|
+
available: boolean;
|
|
4
|
+
version?: string;
|
|
5
|
+
error?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Check npm availability and version
|
|
9
|
+
*/
|
|
10
|
+
export declare function checkNpmAvailable(): NpmAvailability;
|
|
1
11
|
export interface NpmPackageInfo {
|
|
2
12
|
name: string;
|
|
3
13
|
version: string;
|
|
@@ -14,6 +24,8 @@ export interface NpmPackageInfo {
|
|
|
14
24
|
} | string;
|
|
15
25
|
versions?: string[];
|
|
16
26
|
"dist-tags"?: Record<string, string>;
|
|
27
|
+
omp?: OmpField;
|
|
28
|
+
dependencies?: Record<string, string>;
|
|
17
29
|
}
|
|
18
30
|
export interface NpmSearchResult {
|
|
19
31
|
name: string;
|
|
@@ -28,11 +40,11 @@ export interface NpmSearchResult {
|
|
|
28
40
|
/**
|
|
29
41
|
* Execute npm command and return output
|
|
30
42
|
*/
|
|
31
|
-
export declare function npmExec(args: string[], cwd?: string): string;
|
|
43
|
+
export declare function npmExec(args: string[], cwd?: string, timeout?: number): string;
|
|
32
44
|
/**
|
|
33
45
|
* Execute npm command with prefix (for installing to specific directory)
|
|
34
46
|
*/
|
|
35
|
-
export declare function npmExecWithPrefix(args: string[], prefix: string): string;
|
|
47
|
+
export declare function npmExecWithPrefix(args: string[], prefix: string, timeout?: number): string;
|
|
36
48
|
/**
|
|
37
49
|
* Install packages using npm
|
|
38
50
|
*/
|
package/dist/npm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../src/npm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../src/npm.ts"],"names":[],"mappings":"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"}
|