@oh-my-pi/cli 0.1.0 → 0.2.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 +131 -145
- package/biome.json +1 -1
- package/dist/cli.js +2032 -1136
- 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/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 +1 -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 +19 -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 +5 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/migrate.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 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/symlinks.d.ts +10 -4
- package/dist/symlinks.d.ts.map +1 -1
- package/package.json +7 -2
- package/plugins/metal-theme/package.json +6 -1
- package/plugins/subagents/package.json +6 -1
- package/src/cli.ts +69 -43
- package/src/commands/create.ts +51 -1
- package/src/commands/doctor.ts +95 -7
- package/src/commands/enable.ts +25 -8
- package/src/commands/info.ts +41 -5
- package/src/commands/init.ts +20 -2
- package/src/commands/install.ts +266 -52
- package/src/commands/link.ts +60 -9
- package/src/commands/list.ts +10 -5
- 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 +19 -25
- package/src/lock.ts +46 -0
- package/src/lockfile.ts +132 -0
- package/src/manifest.ts +143 -35
- package/src/migrate.ts +14 -3
- package/src/npm.ts +74 -18
- package/src/paths.ts +77 -9
- package/src/symlinks.ts +134 -17
- package/tsconfig.json +7 -3
- package/CHECK.md +0 -352
|
@@ -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"}
|
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 +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":"AAoDA,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;AAiED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuSpG"}
|
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;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D1E"}
|
|
@@ -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,20 @@
|
|
|
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 { checkMigration, migrateToNpm } from "
|
|
18
|
-
export { npmInfo, npmInstall, npmOutdated, npmSearch, npmUninstall, npmUpdate, } from "
|
|
19
|
-
export { checkPluginSymlinks, createPluginSymlinks, removePluginSymlinks, } from "
|
|
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 { checkMigration, migrateToNpm } from "@omp/migrate";
|
|
18
|
+
export { npmInfo, npmInstall, npmOutdated, npmSearch, npmUninstall, npmUpdate, } from "@omp/npm";
|
|
19
|
+
export { checkPluginSymlinks, createPluginSymlinks, removePluginSymlinks, } from "@omp/symlinks";
|
|
20
20
|
//# 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,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,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
|
@@ -27,6 +27,7 @@ export interface PluginPackageJson {
|
|
|
27
27
|
*/
|
|
28
28
|
export interface PluginsJson {
|
|
29
29
|
plugins: Record<string, string>;
|
|
30
|
+
devDependencies?: Record<string, string>;
|
|
30
31
|
disabled?: string[];
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
@@ -50,6 +51,10 @@ export interface LegacyManifest {
|
|
|
50
51
|
* Initialize the global plugins directory with package.json
|
|
51
52
|
*/
|
|
52
53
|
export declare function initGlobalPlugins(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Initialize the project-local .pi directory with plugins.json and package.json
|
|
56
|
+
*/
|
|
57
|
+
export declare function initProjectPlugins(): Promise<void>;
|
|
53
58
|
/**
|
|
54
59
|
* Load plugins.json (global or project)
|
|
55
60
|
*/
|
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":"AAsBA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBvD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BxD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA4BzE;AA4BD;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDrF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAiBhH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,MAAM,CAG5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAOlE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAYhG"}
|
package/dist/migrate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBnE;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAoErD"}
|
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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"}
|
package/dist/paths.d.ts
CHANGED
|
@@ -6,12 +6,25 @@ export declare const GLOBAL_LOCK_FILE: string;
|
|
|
6
6
|
export declare const LEGACY_MANIFEST_PATH: string;
|
|
7
7
|
export declare const PROJECT_PI_DIR = ".pi";
|
|
8
8
|
export declare const PROJECT_PLUGINS_JSON: string;
|
|
9
|
+
export declare const PROJECT_PACKAGE_JSON: string;
|
|
9
10
|
export declare const PROJECT_PLUGINS_LOCK: string;
|
|
10
11
|
export declare const PROJECT_NODE_MODULES: string;
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
+
* Find the project root by walking up parent directories looking for .pi/plugins.json.
|
|
14
|
+
* Similar to how git finds .git directories.
|
|
15
|
+
*
|
|
16
|
+
* @returns The absolute path to the project root, or null if not found
|
|
13
17
|
*/
|
|
14
|
-
export declare function
|
|
18
|
+
export declare function findProjectRoot(): string | null;
|
|
19
|
+
/**
|
|
20
|
+
* Check if a project-local .pi/plugins.json exists in the current directory or any parent
|
|
21
|
+
*/
|
|
22
|
+
export declare function hasProjectPlugins(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Get the project .pi directory path.
|
|
25
|
+
* Uses findProjectRoot() to locate the project, or falls back to cwd.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getProjectPiDir(): string;
|
|
15
28
|
/**
|
|
16
29
|
* Get the plugins directory for the given scope
|
|
17
30
|
*/
|
|
@@ -24,4 +37,23 @@ export declare function getNodeModulesDir(global?: boolean): string;
|
|
|
24
37
|
* Get the package.json path for the given scope
|
|
25
38
|
*/
|
|
26
39
|
export declare function getPackageJsonPath(global?: boolean): string;
|
|
40
|
+
/**
|
|
41
|
+
* Get the agent directory (where symlinks are installed)
|
|
42
|
+
*/
|
|
43
|
+
export declare function getAgentDir(global?: boolean): string;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve whether to use global or local scope based on CLI flags and auto-detection.
|
|
46
|
+
*
|
|
47
|
+
* Logic:
|
|
48
|
+
* - If --global is passed: use global mode
|
|
49
|
+
* - If --local is passed: use local mode
|
|
50
|
+
* - If neither: check if .pi/plugins.json exists in cwd, if so use local, otherwise use global
|
|
51
|
+
*
|
|
52
|
+
* @param options - CLI options containing global and local flags
|
|
53
|
+
* @returns true if global scope should be used, false for local
|
|
54
|
+
*/
|
|
55
|
+
export declare function resolveScope(options: {
|
|
56
|
+
global?: boolean;
|
|
57
|
+
local?: boolean;
|
|
58
|
+
}): boolean;
|
|
27
59
|
//# sourceMappingURL=paths.d.ts.map
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,WAAW,QAAiC,CAAC;AAG1D,eAAO,MAAM,gBAAgB,QAAoC,CAAC;AAGlE,eAAO,MAAM,mBAAmB,QAAoC,CAAC;AAGrE,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AAGvE,eAAO,MAAM,oBAAoB,QAAqC,CAAC;AAGvE,eAAO,MAAM,cAAc,QAAQ,CAAC;AAGpC,eAAO,MAAM,oBAAoB,QAAuC,CAAC;AAGzE,eAAO,MAAM,oBAAoB,QAAuC,CAAC;AAGzE,eAAO,MAAM,oBAAoB,QAA4C,CAAC;AAG9E,eAAO,MAAM,oBAAoB,QAAuC,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAc/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAOxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,UAAO,GAAG,MAAM,CAKnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,UAAO,GAAG,MAAM,CAKvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,UAAO,GAAG,MAAM,CAKxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,UAAO,GAAG,MAAM,CAKjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CASpF"}
|
package/dist/symlinks.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
import type { OmpInstallEntry, PluginPackageJson } from "
|
|
1
|
+
import type { OmpInstallEntry, PluginPackageJson } from "@omp/manifest";
|
|
2
2
|
export interface SymlinkResult {
|
|
3
3
|
created: string[];
|
|
4
4
|
errors: string[];
|
|
5
5
|
}
|
|
6
|
+
export interface SymlinkRemovalResult {
|
|
7
|
+
removed: string[];
|
|
8
|
+
errors: string[];
|
|
9
|
+
skippedNonSymlinks: string[];
|
|
10
|
+
}
|
|
6
11
|
/**
|
|
7
12
|
* Create symlinks for a plugin's omp.install entries
|
|
13
|
+
* @param skipDestinations - Set of destination paths to skip (e.g., due to conflict resolution)
|
|
8
14
|
*/
|
|
9
|
-
export declare function createPluginSymlinks(pluginName: string, pkgJson: PluginPackageJson, global?: boolean, verbose?: boolean): Promise<SymlinkResult>;
|
|
15
|
+
export declare function createPluginSymlinks(pluginName: string, pkgJson: PluginPackageJson, global?: boolean, verbose?: boolean, skipDestinations?: Set<string>): Promise<SymlinkResult>;
|
|
10
16
|
/**
|
|
11
17
|
* Remove symlinks for a plugin's omp.install entries
|
|
12
18
|
*/
|
|
13
|
-
export declare function removePluginSymlinks(_pluginName: string, pkgJson: PluginPackageJson, verbose?: boolean): Promise<
|
|
19
|
+
export declare function removePluginSymlinks(_pluginName: string, pkgJson: PluginPackageJson, global?: boolean, verbose?: boolean): Promise<SymlinkRemovalResult>;
|
|
14
20
|
/**
|
|
15
21
|
* Check symlink health for a plugin
|
|
16
22
|
*/
|
|
@@ -26,7 +32,7 @@ export declare function getPluginForSymlink(dest: string, installedPlugins: Map<
|
|
|
26
32
|
/**
|
|
27
33
|
* Find all symlinks installed by plugins and trace them back
|
|
28
34
|
*/
|
|
29
|
-
export declare function traceInstalledFile(filePath: string, installedPlugins: Map<string, PluginPackageJson
|
|
35
|
+
export declare function traceInstalledFile(filePath: string, installedPlugins: Map<string, PluginPackageJson>, global?: boolean): Promise<{
|
|
30
36
|
plugin: string;
|
|
31
37
|
entry: OmpInstallEntry;
|
|
32
38
|
} | null>;
|
package/dist/symlinks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.d.ts","sourceRoot":"","sources":["../src/symlinks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"symlinks.d.ts","sourceRoot":"","sources":["../src/symlinks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAmCxE,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,UAAO,EACb,OAAO,UAAO,EACd,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,aAAa,CAAC,CA6FxB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,UAAO,EACb,OAAO,UAAO,GACZ,OAAO,CAAC,oBAAoB,CAAC,CAqD/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,UAAO,GACX,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA2CnE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC9C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAChD,MAAM,UAAO,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAAG,IAAI,CAAC,CAmB5D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oh-my-pi/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Plugin manager for pi - install and manage pi config plugins from git repos",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"build": "bun build src/cli.ts --outdir dist --target bun && tsc --emitDeclarationOnly",
|
|
13
13
|
"dev": "bun --watch src/cli.ts",
|
|
14
|
-
"
|
|
14
|
+
"lint": "biome check --write .",
|
|
15
|
+
"check": "bun run lint && tsc --noEmit",
|
|
15
16
|
"clean": "rm -rf dist",
|
|
16
17
|
"publish:all": "./scripts/publish.sh",
|
|
17
18
|
"publish:dry": "./scripts/publish.sh --dry-run",
|
|
@@ -20,6 +21,10 @@
|
|
|
20
21
|
"keywords": ["pi", "plugin", "manager", "cli"],
|
|
21
22
|
"author": "",
|
|
22
23
|
"license": "MIT",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/can1357/oh-my-pi.git"
|
|
27
|
+
},
|
|
23
28
|
"devDependencies": {
|
|
24
29
|
"@biomejs/biome": "2.3.5",
|
|
25
30
|
"@types/node": "^22.10.5",
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oh-my-pi/metal-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Metal theme for pi",
|
|
5
5
|
"keywords": ["omp-plugin", "theme", "metal"],
|
|
6
6
|
"author": "",
|
|
7
7
|
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/can1357/oh-my-pi.git",
|
|
11
|
+
"directory": "plugins/metal-theme"
|
|
12
|
+
},
|
|
8
13
|
"omp": {
|
|
9
14
|
"install": [
|
|
10
15
|
{ "src": "themes/metal.json", "dest": "agent/themes/metal.json" }
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oh-my-pi/subagents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Task delegation system with specialized subagents (task, planner, explore, reviewer)",
|
|
5
5
|
"keywords": ["omp-plugin", "agents", "task-delegation"],
|
|
6
6
|
"author": "",
|
|
7
7
|
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/can1357/oh-my-pi.git",
|
|
11
|
+
"directory": "plugins/subagents"
|
|
12
|
+
},
|
|
8
13
|
"omp": {
|
|
9
14
|
"install": [
|
|
10
15
|
{ "src": "tools/task/index.ts", "dest": "agent/tools/task/index.ts" },
|