@oh-my-pi/pi-coding-agent 12.14.1 → 12.15.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/CHANGELOG.md +18 -1
- package/package.json +8 -8
- package/scripts/generate-docs-index.ts +21 -37
- package/src/config/settings-schema.ts +1 -1
- package/src/internal-urls/docs-index.generated.ts +48 -96
- package/src/modes/rpc/rpc-client.ts +39 -12
- package/src/modes/rpc/rpc-mode.ts +2 -0
- package/src/patch/hashline.ts +2 -4
- package/src/prompts/tools/browser.md +12 -5
- package/src/session/agent-storage.ts +48 -6
- package/src/session/auth-storage.ts +5 -4
- package/src/task/executor.ts +8 -1
- package/src/task/render.ts +6 -4
- package/src/task/types.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
|
|
6
|
+
### Changed
|
|
7
|
+
|
|
8
|
+
- Updated browser tool prompt to bias towards `observe` over `screenshot` by default
|
|
9
|
+
|
|
10
|
+
## [12.15.0] - 2026-02-20
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added `includeDisabled` parameter to `listAuthCredentials()` to optionally retrieve disabled credentials
|
|
15
|
+
- Added `disableAuthCredential()` method for soft-deleting auth credentials while preserving database records
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Changed auth credential removal to use soft-delete (disable) instead of hard-delete when OAuth refresh fails, keeping credentials in database for audit purposes
|
|
20
|
+
- Changed default value of `tools.intentTracing` setting from false to true
|
|
21
|
+
|
|
5
22
|
## [12.14.1] - 2026-02-19
|
|
6
23
|
|
|
7
24
|
### Fixed
|
|
@@ -4854,4 +4871,4 @@ Initial public release.
|
|
|
4854
4871
|
- Git branch display in footer
|
|
4855
4872
|
- Message queueing during streaming responses
|
|
4856
4873
|
- OAuth integration for Gmail and Google Calendar access
|
|
4857
|
-
- HTML export with syntax highlighting and collapsible sections
|
|
4874
|
+
- HTML export with syntax highlighting and collapsible sections
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oh-my-pi/pi-coding-agent",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.15.0",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -70,7 +70,6 @@
|
|
|
70
70
|
"files": [
|
|
71
71
|
"src",
|
|
72
72
|
"scripts",
|
|
73
|
-
"docs",
|
|
74
73
|
"examples",
|
|
75
74
|
"README.md",
|
|
76
75
|
"CHANGELOG.md"
|
|
@@ -79,18 +78,19 @@
|
|
|
79
78
|
"check": "tsgo -p tsconfig.json",
|
|
80
79
|
"format-prompts": "bun scripts/format-prompts.ts",
|
|
81
80
|
"generate-docs-index": "bun scripts/generate-docs-index.ts",
|
|
81
|
+
"prepack": "bun scripts/generate-docs-index.ts",
|
|
82
82
|
"build:binary": "cd ../.. && bun --cwd=packages/stats scripts/generate-client-bundle.ts && bun --cwd=packages/natives run embed:native && bun build --compile --define PI_COMPILED=true --root . ./packages/coding-agent/src/cli.ts --outfile packages/coding-agent/dist/omp && bun --cwd=packages/natives run embed:native --reset && bun --cwd=packages/stats scripts/generate-client-bundle.ts --reset",
|
|
83
83
|
"generate-template": "bun scripts/generate-template.ts",
|
|
84
84
|
"test": "bun test"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@mozilla/readability": "0.6.0",
|
|
88
|
-
"@oh-my-pi/omp-stats": "12.
|
|
89
|
-
"@oh-my-pi/pi-agent-core": "12.
|
|
90
|
-
"@oh-my-pi/pi-ai": "12.
|
|
91
|
-
"@oh-my-pi/pi-natives": "12.
|
|
92
|
-
"@oh-my-pi/pi-tui": "12.
|
|
93
|
-
"@oh-my-pi/pi-utils": "12.
|
|
88
|
+
"@oh-my-pi/omp-stats": "12.15.0",
|
|
89
|
+
"@oh-my-pi/pi-agent-core": "12.15.0",
|
|
90
|
+
"@oh-my-pi/pi-ai": "12.15.0",
|
|
91
|
+
"@oh-my-pi/pi-natives": "12.15.0",
|
|
92
|
+
"@oh-my-pi/pi-tui": "12.15.0",
|
|
93
|
+
"@oh-my-pi/pi-utils": "12.15.0",
|
|
94
94
|
"@sinclair/typebox": "^0.34.48",
|
|
95
95
|
"@xterm/headless": "^6.0.0",
|
|
96
96
|
"ajv": "^8.18.0",
|
|
@@ -5,24 +5,6 @@ import * as path from "node:path";
|
|
|
5
5
|
|
|
6
6
|
const docsDir = new URL("../../../docs/", import.meta.url).pathname;
|
|
7
7
|
const outputPath = new URL("../src/internal-urls/docs-index.generated.ts", import.meta.url).pathname;
|
|
8
|
-
const importBase = "../../../../docs";
|
|
9
|
-
|
|
10
|
-
function toIdentifier(relativePath: string): string {
|
|
11
|
-
const withoutExt = relativePath.replace(/\.md$/i, "");
|
|
12
|
-
const parts = withoutExt
|
|
13
|
-
.split(/[^a-zA-Z0-9]+/)
|
|
14
|
-
.filter(Boolean)
|
|
15
|
-
.map((part, index) => {
|
|
16
|
-
if (index === 0) {
|
|
17
|
-
return part.toLowerCase();
|
|
18
|
-
}
|
|
19
|
-
return part.charAt(0).toUpperCase() + part.slice(1).toLowerCase();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
const base = parts.length > 0 ? parts.join("") : "doc";
|
|
23
|
-
const safeBase = /^[0-9]/.test(base) ? `doc${base}` : base;
|
|
24
|
-
return `${safeBase}Md`;
|
|
25
|
-
}
|
|
26
8
|
|
|
27
9
|
const glob = new Glob("**/*.md");
|
|
28
10
|
const entries: string[] = [];
|
|
@@ -31,26 +13,28 @@ for await (const relativePath of glob.scan(docsDir)) {
|
|
|
31
13
|
}
|
|
32
14
|
entries.sort();
|
|
33
15
|
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
suffix++;
|
|
41
|
-
}
|
|
42
|
-
usedIdentifiers.add(identifier);
|
|
43
|
-
return { relativePath, identifier };
|
|
44
|
-
});
|
|
45
|
-
docs.sort((a, b) => a.identifier.localeCompare(b.identifier) || a.relativePath.localeCompare(b.relativePath));
|
|
16
|
+
const docsWithContent = await Promise.all(
|
|
17
|
+
entries.map(async (relativePath) => ({
|
|
18
|
+
relativePath,
|
|
19
|
+
content: await Bun.file(path.join(docsDir, relativePath)).text(),
|
|
20
|
+
}))
|
|
21
|
+
);
|
|
46
22
|
|
|
47
|
-
const
|
|
48
|
-
.map(({ relativePath, identifier }) => `import ${identifier} from "${importBase}/${relativePath}" with { type: "text" };`)
|
|
49
|
-
.join("\n");
|
|
50
|
-
|
|
51
|
-
const mapEntries = docs.map(({ relativePath, identifier }) => `\t"${relativePath}": ${identifier},`).join("\n");
|
|
23
|
+
const filenamesLiteral = JSON.stringify(entries);
|
|
52
24
|
|
|
53
|
-
const
|
|
25
|
+
const mapEntries = docsWithContent
|
|
26
|
+
.map(({ relativePath, content }) => `\t${JSON.stringify(relativePath)}: ${JSON.stringify(content)},`)
|
|
27
|
+
.join("\n");
|
|
28
|
+
const output = [
|
|
29
|
+
"// Auto-generated by scripts/generate-docs-index.ts - DO NOT EDIT",
|
|
30
|
+
"",
|
|
31
|
+
`export const EMBEDDED_DOC_FILENAMES: readonly string[] = ${filenamesLiteral};`,
|
|
32
|
+
"",
|
|
33
|
+
`export const EMBEDDED_DOCS: Readonly<Record<string, string>> = {`,
|
|
34
|
+
`${mapEntries}`,
|
|
35
|
+
`};`,
|
|
36
|
+
"",
|
|
37
|
+
].join("\n");
|
|
54
38
|
|
|
55
39
|
await Bun.write(outputPath, output);
|
|
56
|
-
console.log(`Generated ${path.relative(process.cwd(), outputPath)} (${
|
|
40
|
+
console.log(`Generated ${path.relative(process.cwd(), outputPath)} (${entries.length} docs)`);
|