@oh-my-pi/cli 1.3.376 → 1.3.378
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 +24 -2
- 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
|
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"}
|