@oh-my-pi/pi-coding-agent 15.11.1 → 15.11.3
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/CHANGELOG.md +36 -1
- package/dist/cli.js +643 -627
- package/dist/types/config/settings-schema.d.ts +36 -0
- package/dist/types/extensibility/custom-commands/types.d.ts +6 -3
- package/dist/types/extensibility/custom-tools/loader.d.ts +2 -1
- package/dist/types/extensibility/custom-tools/types.d.ts +8 -4
- package/dist/types/extensibility/extensions/types.d.ts +2 -2
- package/dist/types/extensibility/hooks/types.d.ts +8 -4
- package/dist/types/irc/bus.d.ts +15 -2
- package/dist/types/lsp/format-options.d.ts +32 -0
- package/dist/types/mnemopi/state.d.ts +29 -1
- package/dist/types/modes/components/plan-review-overlay.d.ts +2 -0
- package/dist/types/modes/rpc/rpc-client.d.ts +10 -1
- package/dist/types/modes/rpc/rpc-mode.d.ts +2 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +30 -0
- package/dist/types/modes/theme/theme.d.ts +1 -1
- package/dist/types/session/agent-session.d.ts +17 -3
- package/dist/types/slash-commands/available-commands.d.ts +34 -0
- package/dist/types/tools/bash.d.ts +1 -1
- package/dist/types/tools/browser/attach.d.ts +4 -4
- package/dist/types/tools/browser/registry.d.ts +1 -0
- package/dist/types/tools/irc.d.ts +3 -2
- package/dist/types/tools/path-utils.d.ts +5 -5
- package/dist/types/utils/git.d.ts +1 -1
- package/package.json +11 -11
- package/src/config/settings-schema.ts +40 -0
- package/src/exec/bash-executor.ts +21 -6
- package/src/extensibility/custom-commands/loader.ts +3 -1
- package/src/extensibility/custom-commands/types.ts +6 -3
- package/src/extensibility/custom-tools/loader.ts +4 -7
- package/src/extensibility/custom-tools/types.ts +8 -4
- package/src/extensibility/extensions/loader.ts +2 -1
- package/src/extensibility/extensions/types.ts +2 -2
- package/src/extensibility/hooks/loader.ts +3 -1
- package/src/extensibility/hooks/types.ts +8 -4
- package/src/internal-urls/docs-index.generated.ts +4 -4
- package/src/irc/bus.ts +14 -3
- package/src/lsp/clients/lsp-linter-client.ts +2 -10
- package/src/lsp/defaults.json +6 -0
- package/src/lsp/format-options.ts +119 -0
- package/src/lsp/index.ts +2 -10
- package/src/lsp/render.ts +2 -28
- package/src/memories/index.ts +2 -0
- package/src/mnemopi/backend.ts +4 -8
- package/src/mnemopi/state.ts +42 -3
- package/src/modes/acp/acp-agent.ts +4 -67
- package/src/modes/components/plan-review-overlay.ts +32 -3
- package/src/modes/controllers/streaming-reveal.ts +16 -8
- package/src/modes/interactive-mode.ts +54 -2
- package/src/modes/rpc/rpc-client.ts +32 -0
- package/src/modes/rpc/rpc-mode.ts +82 -7
- package/src/modes/rpc/rpc-types.ts +23 -0
- package/src/modes/theme/theme.ts +7 -7
- package/src/modes/utils/ui-helpers.ts +13 -4
- package/src/prompts/memories/consolidation_system.md +4 -0
- package/src/prompts/system/irc-autoreply.md +6 -0
- package/src/prompts/system/irc-incoming.md +1 -1
- package/src/prompts/tools/bash.md +1 -0
- package/src/prompts/tools/irc.md +1 -1
- package/src/session/agent-session.ts +96 -7
- package/src/slash-commands/available-commands.ts +105 -0
- package/src/tools/bash.ts +5 -1
- package/src/tools/browser/attach.ts +26 -7
- package/src/tools/browser/registry.ts +11 -1
- package/src/tools/irc.ts +16 -4
- package/src/tools/job.ts +7 -3
- package/src/tools/path-utils.ts +56 -25
- package/src/tools/search.ts +11 -0
- package/src/utils/git.ts +7 -2
package/src/tools/search.ts
CHANGED
|
@@ -795,6 +795,7 @@ export class SearchTool implements AgentTool<typeof searchSchema, SearchToolDeta
|
|
|
795
795
|
internalUrlAction: "search",
|
|
796
796
|
trackImmutableSources: true,
|
|
797
797
|
surfaceExactFilePaths: true,
|
|
798
|
+
fanOutFileTargets: true,
|
|
798
799
|
multipathStatHint: " (`paths` entries must each exist relative to cwd)",
|
|
799
800
|
settings: this.session.settings,
|
|
800
801
|
signal,
|
|
@@ -863,6 +864,7 @@ export class SearchTool implements AgentTool<typeof searchSchema, SearchToolDeta
|
|
|
863
864
|
if (searchablePaths.length > 0) {
|
|
864
865
|
if (exactFilePaths || multiTargets) {
|
|
865
866
|
const matches: GrepMatch[] = [];
|
|
867
|
+
const seenMatchKeys = new Set<string>();
|
|
866
868
|
let limitReached = false;
|
|
867
869
|
let totalMatches = 0;
|
|
868
870
|
let filesSearched = 0;
|
|
@@ -900,6 +902,15 @@ export class SearchTool implements AgentTool<typeof searchSchema, SearchToolDeta
|
|
|
900
902
|
filesSearched += targetResult.filesSearched;
|
|
901
903
|
for (const match of targetResult.matches) {
|
|
902
904
|
const absolute = path.resolve(target.basePath, match.path);
|
|
905
|
+
// Overlapping targets (a directory plus a file nested
|
|
906
|
+
// inside it) surface the same physical line twice;
|
|
907
|
+
// keep the first occurrence.
|
|
908
|
+
const matchKey = `${absolute}\0${match.lineNumber}`;
|
|
909
|
+
if (seenMatchKeys.has(matchKey)) {
|
|
910
|
+
totalMatches = Math.max(0, totalMatches - 1);
|
|
911
|
+
continue;
|
|
912
|
+
}
|
|
913
|
+
seenMatchKeys.add(matchKey);
|
|
903
914
|
const rebased = path.relative(searchPath, absolute).replace(/\\/g, "/");
|
|
904
915
|
matches.push({ ...match, path: rebased });
|
|
905
916
|
}
|
package/src/utils/git.ts
CHANGED
|
@@ -1126,9 +1126,14 @@ export async function commit(cwd: string, message: string, options: CommitOption
|
|
|
1126
1126
|
return runChecked(cwd, args, { signal: options.signal, stdin: message });
|
|
1127
1127
|
}
|
|
1128
1128
|
|
|
1129
|
-
/** Push the current branch. */
|
|
1129
|
+
/** Push the current branch (branch-scoped: never follows tags). */
|
|
1130
1130
|
export async function push(cwd: string, options: PushOptions = {}): Promise<void> {
|
|
1131
|
-
|
|
1131
|
+
// `--no-follow-tags` overrides a user's `push.followTags = true`, which
|
|
1132
|
+
// would otherwise ride every reachable annotated tag along with the
|
|
1133
|
+
// branch — rejected refs ("permission denied") on remotes the user
|
|
1134
|
+
// cannot tag (e.g. PR-head forks), failing the call after the branch
|
|
1135
|
+
// itself already updated. Tool pushes push exactly the named refspec.
|
|
1136
|
+
const args = ["push", "--no-follow-tags"];
|
|
1132
1137
|
if (options.forceWithLease) args.push("--force-with-lease");
|
|
1133
1138
|
if (options.remote) args.push(options.remote);
|
|
1134
1139
|
if (options.refspec) args.push(options.refspec);
|