@oh-my-pi/pi-coding-agent 17.2.10 → 17.2.12
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 +53 -0
- package/dist/{CHANGELOG-rhwzpexa.md → CHANGELOG-k9ghy5sn.md} +53 -0
- package/dist/cli.js +10775 -10762
- package/dist/types/advisor/runtime.d.ts +1 -1
- package/dist/types/capability/mcp.d.ts +11 -0
- package/dist/types/capability/skill.d.ts +6 -0
- package/dist/types/cli/command-help.d.ts +3 -0
- package/dist/types/commands/share.d.ts +25 -0
- package/dist/types/commit/agentic/index.d.ts +3 -1
- package/dist/types/commit/execute.d.ts +32 -0
- package/dist/types/commit/index.d.ts +2 -1
- package/dist/types/commit/pipeline.d.ts +7 -1
- package/dist/types/config/custom-models.d.ts +31 -0
- package/dist/types/config/model-config-values.d.ts +19 -0
- package/dist/types/config/model-patch.d.ts +93 -0
- package/dist/types/config/model-provider-discovery.d.ts +51 -0
- package/dist/types/config/model-registry.d.ts +9 -52
- package/dist/types/config/settings-schema.d.ts +1 -34
- package/dist/types/config/settings.d.ts +5 -3
- package/dist/types/debug/raw-sse-buffer.d.ts +9 -0
- package/dist/types/discovery/agent-plugin-format.d.ts +136 -0
- package/dist/types/discovery/agent-plugins.d.ts +1 -0
- package/dist/types/discovery/contained-path.d.ts +33 -0
- package/dist/types/discovery/index.d.ts +1 -0
- package/dist/types/eval/executor-base.d.ts +8 -2
- package/dist/types/eval/kernel-session-registry.d.ts +60 -0
- package/dist/types/export/share.d.ts +1 -1
- package/dist/types/extensibility/custom-tools/types.d.ts +2 -2
- package/dist/types/extensibility/extensions/loader.d.ts +7 -0
- package/dist/types/extensibility/extensions/types.d.ts +11 -0
- package/dist/types/extensibility/shared-events.d.ts +3 -2
- package/dist/types/extensibility/skills.d.ts +5 -0
- package/dist/types/lsp/diagnostics.d.ts +96 -0
- package/dist/types/lsp/index.d.ts +7 -128
- package/dist/types/lsp/servers.d.ts +72 -0
- package/dist/types/lsp/tool.d.ts +42 -0
- package/dist/types/lsp/workspace-diagnostics.d.ts +12 -0
- package/dist/types/lsp/writethrough.d.ts +33 -0
- package/dist/types/mcp/transports/header-policy.d.ts +46 -0
- package/dist/types/mcp/types.d.ts +15 -0
- package/dist/types/modes/components/agent-hub-projection.d.ts +2 -7
- package/dist/types/modes/components/agent-hub-renderer.d.ts +0 -7
- package/dist/types/modes/components/agent-hub.d.ts +2 -0
- package/dist/types/modes/components/agent-transcript-viewer.d.ts +2 -0
- package/dist/types/modes/components/chat-transcript-builder.d.ts +2 -0
- package/dist/types/modes/components/custom-editor.d.ts +1 -2
- package/dist/types/modes/components/status-line/types.d.ts +2 -0
- package/dist/types/modes/components/tool-execution.d.ts +2 -0
- package/dist/types/modes/theme/color.d.ts +19 -0
- package/dist/types/modes/theme/loader.d.ts +19 -0
- package/dist/types/modes/theme/schema.d.ts +175 -0
- package/dist/types/modes/theme/symbols.d.ts +28 -0
- package/dist/types/modes/theme/theme-class.d.ts +244 -0
- package/dist/types/modes/theme/theme.d.ts +9 -280
- package/dist/types/modes/theme/tui-adapters.d.ts +13 -0
- package/dist/types/modes/utils/transcript-render-helpers.d.ts +3 -2
- package/dist/types/registry/agent-registry.d.ts +1 -3
- package/dist/types/secrets/index.d.ts +26 -2
- package/dist/types/secrets/message-transform.d.ts +40 -0
- package/dist/types/secrets/obfuscator.d.ts +0 -108
- package/dist/types/secrets/placeholder-scan.d.ts +95 -0
- package/dist/types/secrets/placeholder.d.ts +94 -0
- package/dist/types/secrets/replacement.d.ts +82 -0
- package/dist/types/session/agent-session-events.d.ts +2 -2
- package/dist/types/session/agent-session-types.d.ts +6 -0
- package/dist/types/session/agent-session.d.ts +2 -2
- package/dist/types/session/messages.d.ts +1 -0
- package/dist/types/session/prewalk.d.ts +3 -1
- package/dist/types/session/session-handoff.d.ts +3 -3
- package/dist/types/session/session-manager.d.ts +32 -0
- package/dist/types/session/session-provider-boundary.d.ts +1 -1
- package/dist/types/session/session-tools.d.ts +8 -0
- package/dist/types/session/turn-recovery.d.ts +9 -4
- package/dist/types/slash-commands/builtin-collaboration.d.ts +2 -0
- package/dist/types/slash-commands/builtin-completions.d.ts +36 -0
- package/dist/types/slash-commands/builtin-control.d.ts +2 -0
- package/dist/types/slash-commands/builtin-lifecycle.d.ts +3 -0
- package/dist/types/slash-commands/builtin-marketplace.d.ts +11 -0
- package/dist/types/slash-commands/builtin-modes.d.ts +5 -0
- package/dist/types/slash-commands/builtin-registry.d.ts +1 -1
- package/dist/types/slash-commands/builtin-session.d.ts +2 -0
- package/dist/types/task/index.d.ts +2 -0
- package/dist/types/tools/gh-common.d.ts +69 -0
- package/dist/types/tools/gh-pr-checkout.d.ts +84 -0
- package/dist/types/tools/gh-pr-diff.d.ts +102 -0
- package/dist/types/tools/gh-run-watch.d.ts +78 -0
- package/dist/types/tools/gh-search.d.ts +61 -0
- package/dist/types/tools/gh-types.d.ts +340 -0
- package/dist/types/tools/gh-view.d.ts +88 -0
- package/dist/types/tools/gh.d.ts +4 -201
- package/dist/types/tools/read-archive.d.ts +16 -0
- package/dist/types/tools/read-format.d.ts +104 -0
- package/dist/types/tools/read-path-resolution.d.ts +19 -0
- package/dist/types/tools/read-pdf-images.d.ts +12 -0
- package/dist/types/tools/read-renderer.d.ts +24 -0
- package/dist/types/tools/read-selector.d.ts +27 -0
- package/dist/types/tools/read-sqlite.d.ts +16 -0
- package/dist/types/tools/read-summary.d.ts +19 -0
- package/dist/types/tools/read.d.ts +1 -23
- package/dist/types/tools/shell-tokenize.d.ts +18 -1
- package/dist/types/utils/changelog.d.ts +0 -5
- package/package.json +13 -13
- package/scripts/legacy-pi-virtual-module.ts +4 -1
- package/src/advisor/runtime.ts +12 -7
- package/src/capability/mcp.ts +11 -0
- package/src/capability/skill.ts +6 -0
- package/src/cli/command-help.ts +4 -0
- package/src/cli/gallery-cli.ts +1 -1
- package/src/cli-commands.ts +5 -0
- package/src/commands/commit.ts +16 -3
- package/src/commands/share.ts +71 -0
- package/src/commit/agentic/index.ts +39 -21
- package/src/commit/execute.ts +56 -0
- package/src/commit/index.ts +2 -1
- package/src/commit/pipeline.ts +20 -7
- package/src/config/custom-models.ts +188 -0
- package/src/config/model-config-values.ts +128 -0
- package/src/config/model-discovery.ts +1 -1
- package/src/config/model-patch.ts +252 -0
- package/src/config/model-provider-discovery.ts +132 -0
- package/src/config/model-registry.ts +84 -704
- package/src/config/settings-schema.ts +2 -33
- package/src/config/settings.ts +53 -3
- package/src/debug/raw-sse-buffer.ts +20 -0
- package/src/discovery/agent-plugin-format.ts +551 -0
- package/src/discovery/agent-plugins.ts +341 -0
- package/src/discovery/claude-plugins.ts +21 -5
- package/src/discovery/contained-path.ts +75 -0
- package/src/discovery/helpers.ts +23 -9
- package/src/discovery/index.ts +1 -0
- package/src/discovery/omp-plugins.ts +20 -7
- package/src/edit/hashline/diff.ts +5 -1
- package/src/eval/executor-base.ts +39 -6
- package/src/eval/jl/executor.ts +82 -371
- package/src/eval/kernel-session-registry.ts +398 -0
- package/src/eval/py/executor.ts +53 -261
- package/src/eval/rb/executor.ts +36 -279
- package/src/exec/non-interactive-env.ts +1 -0
- package/src/export/share.ts +2 -1
- package/src/extensibility/custom-tools/types.ts +2 -2
- package/src/extensibility/extensions/loader.ts +78 -14
- package/src/extensibility/extensions/runner.ts +6 -0
- package/src/extensibility/extensions/types.ts +12 -0
- package/src/extensibility/plugins/marketplace/manager.ts +2 -1
- package/src/extensibility/shared-events.ts +3 -2
- package/src/extensibility/skills.ts +9 -0
- package/src/internal-urls/skill-protocol.ts +14 -0
- package/src/internal-urls/vault-protocol.ts +2 -2
- package/src/launch/client.ts +11 -1
- package/src/launch/protocol.ts +7 -2
- package/src/lsp/diagnostics.ts +516 -0
- package/src/lsp/index.ts +20 -2819
- package/src/lsp/servers.ts +296 -0
- package/src/lsp/tool.ts +1352 -0
- package/src/lsp/workspace-diagnostics.ts +170 -0
- package/src/lsp/writethrough.ts +561 -0
- package/src/main.ts +3 -2
- package/src/mcp/config.ts +3 -0
- package/src/mcp/manager.ts +12 -9
- package/src/mcp/transports/header-policy.ts +95 -0
- package/src/mcp/transports/http.ts +35 -52
- package/src/mcp/transports/sse.ts +20 -27
- package/src/mcp/types.ts +15 -0
- package/src/modes/acp/acp-agent.ts +15 -4
- package/src/modes/components/agent-dashboard.ts +2 -0
- package/src/modes/components/agent-hub-projection.ts +2 -2
- package/src/modes/components/agent-hub-renderer.ts +3 -7
- package/src/modes/components/agent-hub.ts +5 -0
- package/src/modes/components/agent-transcript-viewer.ts +3 -0
- package/src/modes/components/chat-transcript-builder.ts +3 -0
- package/src/modes/components/custom-editor.ts +0 -9
- package/src/modes/components/status-line/component.ts +1 -0
- package/src/modes/components/status-line/segments.ts +6 -4
- package/src/modes/components/status-line/types.ts +2 -0
- package/src/modes/components/tool-execution.ts +13 -16
- package/src/modes/components/tree-selector.ts +62 -3
- package/src/modes/controllers/command-controller.ts +8 -2
- package/src/modes/controllers/event-controller.ts +15 -15
- package/src/modes/controllers/input-controller.ts +20 -2
- package/src/modes/controllers/selector-controller.ts +1 -0
- package/src/modes/theme/color.ts +133 -0
- package/src/modes/theme/loader.ts +178 -0
- package/src/modes/theme/schema.ts +263 -0
- package/src/modes/theme/symbols.ts +1000 -0
- package/src/modes/theme/theme-class.ts +611 -0
- package/src/modes/theme/theme.ts +27 -2453
- package/src/modes/theme/tui-adapters.ts +279 -0
- package/src/modes/utils/transcript-render-helpers.ts +4 -2
- package/src/modes/utils/ui-helpers.ts +1 -0
- package/src/registry/agent-registry.ts +2 -2
- package/src/sdk.ts +6 -49
- package/src/secrets/index.ts +51 -6
- package/src/secrets/message-transform.ts +287 -0
- package/src/secrets/obfuscator.ts +39 -1303
- package/src/secrets/placeholder-scan.ts +506 -0
- package/src/secrets/placeholder.ts +309 -0
- package/src/secrets/replacement.ts +216 -0
- package/src/session/agent-session-events.ts +2 -2
- package/src/session/agent-session-types.ts +6 -0
- package/src/session/agent-session.ts +146 -21
- package/src/session/indexed-session-storage.ts +7 -2
- package/src/session/messages.ts +1 -0
- package/src/session/prewalk.ts +57 -17
- package/src/session/session-advisors.ts +32 -34
- package/src/session/session-context.ts +3 -5
- package/src/session/session-handoff.ts +39 -16
- package/src/session/session-manager.ts +67 -3
- package/src/session/session-provider-boundary.ts +3 -6
- package/src/session/session-tools.ts +37 -3
- package/src/session/todo-tracker.ts +11 -1
- package/src/session/turn-recovery.ts +115 -84
- package/src/slash-commands/builtin-collaboration.ts +504 -0
- package/src/slash-commands/builtin-completions.ts +291 -0
- package/src/slash-commands/builtin-control.ts +78 -0
- package/src/slash-commands/builtin-lifecycle.ts +506 -0
- package/src/slash-commands/builtin-marketplace.ts +567 -0
- package/src/slash-commands/builtin-modes.ts +518 -0
- package/src/slash-commands/builtin-registry.ts +21 -2996
- package/src/slash-commands/builtin-session.ts +592 -0
- package/src/task/executor.ts +17 -14
- package/src/task/index.ts +21 -6
- package/src/tools/bash-skill-urls.ts +15 -0
- package/src/tools/bash.ts +10 -11
- package/src/tools/debug.ts +1 -1
- package/src/tools/gh-common.ts +288 -0
- package/src/tools/gh-pr-checkout.ts +679 -0
- package/src/tools/gh-pr-diff.ts +473 -0
- package/src/tools/gh-run-watch.ts +1015 -0
- package/src/tools/gh-search.ts +500 -0
- package/src/tools/gh-types.ts +379 -0
- package/src/tools/gh-view.ts +612 -0
- package/src/tools/gh.ts +109 -3821
- package/src/tools/jtd-to-json-schema.ts +123 -21
- package/src/tools/read-archive.ts +209 -0
- package/src/tools/read-format.ts +593 -0
- package/src/tools/read-path-resolution.ts +36 -0
- package/src/tools/read-pdf-images.ts +250 -0
- package/src/tools/read-renderer.ts +289 -0
- package/src/tools/read-selector.ts +84 -0
- package/src/tools/read-sqlite.ts +215 -0
- package/src/tools/read-summary.ts +199 -0
- package/src/tools/read.ts +82 -1824
- package/src/tools/shell-tokenize.ts +99 -1
- package/src/utils/changelog.ts +1 -1
- package/src/utils/title-generator.ts +3 -1
- package/src/web/search/providers/exa.ts +1 -1
- package/src/web/search/providers/zai.ts +12 -3
|
@@ -5406,19 +5406,13 @@ export const SETTINGS_SCHEMA = {
|
|
|
5406
5406
|
|
|
5407
5407
|
// Exa
|
|
5408
5408
|
"exa.enabled": {
|
|
5409
|
-
type: "boolean",
|
|
5410
|
-
default: true,
|
|
5411
|
-
ui: { tab: "providers", group: "Services", label: "Exa", description: "Master toggle for all Exa search tools" },
|
|
5412
|
-
},
|
|
5413
|
-
|
|
5414
|
-
"exa.enableSearch": {
|
|
5415
5409
|
type: "boolean",
|
|
5416
5410
|
default: true,
|
|
5417
5411
|
ui: {
|
|
5418
5412
|
tab: "providers",
|
|
5419
5413
|
group: "Services",
|
|
5420
|
-
label: "Exa
|
|
5421
|
-
description: "Enable Exa
|
|
5414
|
+
label: "Exa",
|
|
5415
|
+
description: "Enable the Exa web search provider",
|
|
5422
5416
|
},
|
|
5423
5417
|
},
|
|
5424
5418
|
|
|
@@ -5433,28 +5427,6 @@ export const SETTINGS_SCHEMA = {
|
|
|
5433
5427
|
},
|
|
5434
5428
|
},
|
|
5435
5429
|
|
|
5436
|
-
"exa.enableResearcher": {
|
|
5437
|
-
type: "boolean",
|
|
5438
|
-
default: false,
|
|
5439
|
-
ui: {
|
|
5440
|
-
tab: "providers",
|
|
5441
|
-
group: "Services",
|
|
5442
|
-
label: "Exa Researcher",
|
|
5443
|
-
description: "Enable the Exa researcher tool for AI-powered deep research",
|
|
5444
|
-
},
|
|
5445
|
-
},
|
|
5446
|
-
|
|
5447
|
-
"exa.enableWebsets": {
|
|
5448
|
-
type: "boolean",
|
|
5449
|
-
default: false,
|
|
5450
|
-
ui: {
|
|
5451
|
-
tab: "providers",
|
|
5452
|
-
group: "Services",
|
|
5453
|
-
label: "Exa Websets",
|
|
5454
|
-
description: "Enable Exa webset management and enrichment tools",
|
|
5455
|
-
},
|
|
5456
|
-
},
|
|
5457
|
-
|
|
5458
5430
|
// SearXNG
|
|
5459
5431
|
"searxng.endpoint": {
|
|
5460
5432
|
type: "string",
|
|
@@ -5794,10 +5766,7 @@ export interface TtsrSettings {
|
|
|
5794
5766
|
|
|
5795
5767
|
export interface ExaSettings {
|
|
5796
5768
|
enabled: boolean;
|
|
5797
|
-
enableSearch: boolean;
|
|
5798
5769
|
searchDelayMs: number;
|
|
5799
|
-
enableResearcher: boolean;
|
|
5800
|
-
enableWebsets: boolean;
|
|
5801
5770
|
}
|
|
5802
5771
|
|
|
5803
5772
|
export interface StatusLineSettings {
|
package/src/config/settings.ts
CHANGED
|
@@ -442,11 +442,15 @@ export class Settings {
|
|
|
442
442
|
}
|
|
443
443
|
|
|
444
444
|
/**
|
|
445
|
-
* Create an
|
|
446
|
-
*
|
|
445
|
+
* Create an in-memory settings instance without affecting the global singleton.
|
|
446
|
+
* A supplied storage handle remains shared for runtime data while setting overrides stay non-persistent.
|
|
447
447
|
*/
|
|
448
|
-
static isolated(
|
|
448
|
+
static isolated(
|
|
449
|
+
overrides: Partial<Record<SettingPath, unknown>> = {},
|
|
450
|
+
options: { storage?: AgentStorage | null } = {},
|
|
451
|
+
): Settings {
|
|
449
452
|
const instance = new Settings({ inMemory: true, overrides });
|
|
453
|
+
instance.#storage = options.storage ?? null;
|
|
450
454
|
instance.#rebuildMerged();
|
|
451
455
|
return instance;
|
|
452
456
|
}
|
|
@@ -1860,6 +1864,52 @@ export class Settings {
|
|
|
1860
1864
|
: undefined,
|
|
1861
1865
|
);
|
|
1862
1866
|
|
|
1867
|
+
// Consolidate the retired Exa suite toggles onto the sole remaining
|
|
1868
|
+
// provider switch. The old runtime required both `enabled` and
|
|
1869
|
+
// `enableSearch`, so preserve that AND semantics when both are present.
|
|
1870
|
+
// Researcher and Websets were removed with the standalone Exa tools.
|
|
1871
|
+
const exaObj = isRecord(raw.exa) ? raw.exa : undefined;
|
|
1872
|
+
const exaEnabledValues = [
|
|
1873
|
+
exaObj?.enabled,
|
|
1874
|
+
raw["exa.enabled"],
|
|
1875
|
+
exaObj?.enableSearch,
|
|
1876
|
+
raw["exa.enableSearch"],
|
|
1877
|
+
].filter((value): value is boolean => typeof value === "boolean");
|
|
1878
|
+
const hasFlatExaSetting =
|
|
1879
|
+
"exa.enabled" in raw ||
|
|
1880
|
+
"exa.enableSearch" in raw ||
|
|
1881
|
+
"exa.enableResearcher" in raw ||
|
|
1882
|
+
"exa.enableWebsets" in raw;
|
|
1883
|
+
if (exaObj || hasFlatExaSetting) {
|
|
1884
|
+
const exaRoot = exaObj ?? {};
|
|
1885
|
+
if (exaEnabledValues.length > 0) {
|
|
1886
|
+
exaRoot.enabled = exaEnabledValues.every(Boolean);
|
|
1887
|
+
}
|
|
1888
|
+
delete exaRoot.enableSearch;
|
|
1889
|
+
delete exaRoot.enableResearcher;
|
|
1890
|
+
delete exaRoot.enableWebsets;
|
|
1891
|
+
if (Object.keys(exaRoot).length > 0) {
|
|
1892
|
+
raw.exa = exaRoot;
|
|
1893
|
+
} else {
|
|
1894
|
+
delete raw.exa;
|
|
1895
|
+
}
|
|
1896
|
+
delete raw["exa.enabled"];
|
|
1897
|
+
delete raw["exa.enableSearch"];
|
|
1898
|
+
delete raw["exa.enableResearcher"];
|
|
1899
|
+
delete raw["exa.enableWebsets"];
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
// computer.backend and model-specific controller routing were removed
|
|
1903
|
+
// when the computer tool moved to one native desktop implementation.
|
|
1904
|
+
const computerObj = isRecord(raw.computer) ? raw.computer : undefined;
|
|
1905
|
+
if (computerObj && "backend" in computerObj) {
|
|
1906
|
+
delete computerObj.backend;
|
|
1907
|
+
if (Object.keys(computerObj).length === 0) {
|
|
1908
|
+
delete raw.computer;
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
delete raw["computer.backend"];
|
|
1912
|
+
|
|
1863
1913
|
return raw;
|
|
1864
1914
|
}
|
|
1865
1915
|
|
|
@@ -335,6 +335,26 @@ export class RawSseDebugBuffer {
|
|
|
335
335
|
return body.length > 0 ? `${dropped}${body}` : dropped;
|
|
336
336
|
}
|
|
337
337
|
|
|
338
|
+
/**
|
|
339
|
+
* Drop every retained record and reset accounting. Called from
|
|
340
|
+
* {@link AgentSession} teardown so a disposed (e.g. parked subagent) session
|
|
341
|
+
* stops pinning captured wire frames — each trimmed record holds a
|
|
342
|
+
* `slice()` of its parent SSE frame, which under JSC keeps the whole
|
|
343
|
+
* multi-MB frame alive. Notifies subscribers so a live debug viewer redraws
|
|
344
|
+
* empty.
|
|
345
|
+
*/
|
|
346
|
+
clear(): void {
|
|
347
|
+
this.#records = [];
|
|
348
|
+
this.#recordChars = [];
|
|
349
|
+
this.#head = 0;
|
|
350
|
+
this.#totalChars = 0;
|
|
351
|
+
this.#droppedRecords = 0;
|
|
352
|
+
this.#droppedChars = 0;
|
|
353
|
+
this.#totalEvents = 0;
|
|
354
|
+
this.#lastUpdatedAt = undefined;
|
|
355
|
+
this.#emit();
|
|
356
|
+
}
|
|
357
|
+
|
|
338
358
|
#append(record: RawSseDebugRecord, chars: number): void {
|
|
339
359
|
this.#records.push(record);
|
|
340
360
|
this.#recordChars.push(chars);
|