@oh-my-pi/cli 1.3.375 → 1.3.377
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 +2 -1
- package/dist/cli.js +28 -5
- package/dist/commands/render-web.d.ts.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,9 +27,10 @@
|
|
|
27
27
|
| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
|
28
28
|
| [](https://npmjs.com/package/@oh-my-pi/subagents) | **[subagents](./plugins/subagents)** | Task delegation with specialized sub-agents (task, planner, explore, reviewer) |
|
|
29
29
|
| [](https://npmjs.com/package/@oh-my-pi/lsp) | **[lsp](./plugins/lsp)** | Language Server Protocol for code intelligence, diagnostics, and refactoring |
|
|
30
|
-
| [](https://npmjs.com/package/@oh-my-pi/
|
|
30
|
+
| [](https://npmjs.com/package/@oh-my-pi/basics) | **[basics](./plugins/basics)** | Essential tools: rg (ripgrep), glob (fd), replace-all (sd), ast (ast-grep) |
|
|
31
31
|
| [](https://npmjs.com/package/@oh-my-pi/exa) | **[exa](./plugins/exa)** | Exa AI-powered web search, company/people lookup, and websets |
|
|
32
32
|
| [](https://npmjs.com/package/@oh-my-pi/perplexity) | **[perplexity](./plugins/perplexity)** | Perplexity AI search with Sonar models (fast and pro) |
|
|
33
|
+
| [](https://npmjs.com/package/@oh-my-pi/anthropic-websearch) | **[anthropic-websearch](./plugins/anthropic-websearch)** | Claude web search using Anthropic's built-in web_search tool |
|
|
33
34
|
| [](https://npmjs.com/package/@oh-my-pi/user-prompt) | **[user-prompt](./plugins/user-prompt)** | Interactive user prompting for gathering input during execution |
|
|
34
35
|
| [](https://npmjs.com/package/@oh-my-pi/init) | **[init](./plugins/init)** | `/init` command to generate AGENTS.md documentation for a codebase |
|
|
35
36
|
| [](https://npmjs.com/package/@oh-my-pi/metal-theme) | **[metal-theme](./plugins/metal-theme)** | A metal theme 🤘 |
|
package/dist/cli.js
CHANGED
|
@@ -12681,6 +12681,28 @@ if (fs.existsSync(pluginNodeModules)) {
|
|
|
12681
12681
|
}
|
|
12682
12682
|
}
|
|
12683
12683
|
|
|
12684
|
+
// Deep merge: recursively merge source into target, preserving nested defaults
|
|
12685
|
+
function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): void {
|
|
12686
|
+
for (const key of Object.keys(source)) {
|
|
12687
|
+
const sourceVal = source[key];
|
|
12688
|
+
const targetVal = target[key];
|
|
12689
|
+
|
|
12690
|
+
// Both are plain objects (not null, not array) -> recurse
|
|
12691
|
+
if (
|
|
12692
|
+
sourceVal !== null &&
|
|
12693
|
+
targetVal !== null &&
|
|
12694
|
+
typeof sourceVal === "object" &&
|
|
12695
|
+
typeof targetVal === "object" &&
|
|
12696
|
+
!Array.isArray(sourceVal) &&
|
|
12697
|
+
!Array.isArray(targetVal)
|
|
12698
|
+
) {
|
|
12699
|
+
deepMerge(targetVal as Record<string, unknown>, sourceVal as Record<string, unknown>);
|
|
12700
|
+
} else {
|
|
12701
|
+
target[key] = sourceVal;
|
|
12702
|
+
}
|
|
12703
|
+
}
|
|
12704
|
+
}
|
|
12705
|
+
|
|
12684
12706
|
// Runtime config: [moduleSpecifier, storeFilename]
|
|
12685
12707
|
const runtimeConfigs: [string, string][] = [
|
|
12686
12708
|
${runtimeRedirects.join(`,
|
|
@@ -12697,13 +12719,13 @@ for (const [moduleSpec, storeFile] of runtimeConfigs) {
|
|
|
12697
12719
|
// Start with global store
|
|
12698
12720
|
if (fs.existsSync(globalStorePath)) {
|
|
12699
12721
|
const globalData = JSON.parse(fs.readFileSync(globalStorePath, "utf-8"));
|
|
12700
|
-
|
|
12722
|
+
deepMerge(runtime.default, globalData);
|
|
12701
12723
|
}
|
|
12702
12724
|
|
|
12703
12725
|
// Merge project store (takes precedence)
|
|
12704
12726
|
if (fs.existsSync(projectStorePath)) {
|
|
12705
12727
|
const projectData = JSON.parse(fs.readFileSync(projectStorePath, "utf-8"));
|
|
12706
|
-
|
|
12728
|
+
deepMerge(runtime.default, projectData);
|
|
12707
12729
|
}
|
|
12708
12730
|
} catch {
|
|
12709
12731
|
// Module not found or store read failed - skip
|
|
@@ -16878,13 +16900,15 @@ var CONVERTIBLE_EXTENSIONS = new Set([
|
|
|
16878
16900
|
".wav",
|
|
16879
16901
|
".ogg"
|
|
16880
16902
|
]);
|
|
16903
|
+
var isWindows2 = process.platform === "win32";
|
|
16881
16904
|
function exec2(cmd, args, options) {
|
|
16882
16905
|
const timeout = (options?.timeout ?? DEFAULT_TIMEOUT) * 1000;
|
|
16883
16906
|
const result = spawnSync(cmd, args, {
|
|
16884
16907
|
encoding: options?.input instanceof Buffer ? "buffer" : "utf-8",
|
|
16885
16908
|
timeout,
|
|
16886
16909
|
maxBuffer: MAX_BYTES2,
|
|
16887
|
-
input: options?.input
|
|
16910
|
+
input: options?.input,
|
|
16911
|
+
shell: true
|
|
16888
16912
|
});
|
|
16889
16913
|
return {
|
|
16890
16914
|
stdout: result.stdout?.toString() ?? "",
|
|
@@ -16893,9 +16917,8 @@ function exec2(cmd, args, options) {
|
|
|
16893
16917
|
};
|
|
16894
16918
|
}
|
|
16895
16919
|
function hasCommand(cmd) {
|
|
16896
|
-
const isWindows2 = process.platform === "win32";
|
|
16897
16920
|
const checkCmd = isWindows2 ? "where" : "which";
|
|
16898
|
-
const result = spawnSync(checkCmd, [cmd], { encoding: "utf-8", shell:
|
|
16921
|
+
const result = spawnSync(checkCmd, [cmd], { encoding: "utf-8", shell: true });
|
|
16899
16922
|
return result.status === 0;
|
|
16900
16923
|
}
|
|
16901
16924
|
function getOrigin(url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-web.d.ts","sourceRoot":"","sources":["../../src/commands/render-web.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CAClB;
|
|
1
|
+
{"version":3,"file":"render-web.d.ts","sourceRoot":"","sources":["../../src/commands/render-web.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CAClB;AAuqDD;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC1F"}
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0SH;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|