@code-yeongyu/senpi 2026.8.21 → 2026.8.22
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 +48 -0
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +5 -4
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/index.js +7 -11
- package/dist/core/extensions/builtin/permission-system/index.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +79 -31
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +40 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/session-manager.ts +8 -3
- package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-kernel.ts +15 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.d.ts +21 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.js +36 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts +10 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +6 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +166 -26
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/google.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +7 -7
- package/dist/modes/interactive/split-trailing-assistant-text.d.ts +0 -7
- package/dist/modes/interactive/split-trailing-assistant-text.d.ts.map +0 -1
- package/dist/modes/interactive/split-trailing-assistant-text.js +0 -19
- package/dist/modes/interactive/split-trailing-assistant-text.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-ai",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "2026.8.
|
|
4
|
+
"version": "2026.8.22",
|
|
5
5
|
"description": "Unified LLM API with automatic model discovery and provider configuration",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"@anthropic-ai/sdk": "0.91.1",
|
|
75
75
|
"@aws-sdk/client-bedrock-runtime": "3.1115.0",
|
|
76
76
|
"@bufbuild/protobuf": "2.14.0",
|
|
77
|
-
"@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.8.
|
|
77
|
+
"@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.8.22",
|
|
78
78
|
"@google/genai": "2.18.0",
|
|
79
79
|
"@smithy/node-http-handler": "4.11.3",
|
|
80
80
|
"@smithy/types": "4.17.2",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-tui",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "2026.8.
|
|
4
|
+
"version": "2026.8.22",
|
|
5
5
|
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/senpi",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.22",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"@anthropic-ai/sdk": "0.91.1",
|
|
51
51
|
"@aws-sdk/client-bedrock-runtime": "3.1115.0",
|
|
52
52
|
"@bufbuild/protobuf": "2.14.0",
|
|
53
|
-
"@code-yeongyu/senpi-codemode": "2026.8.
|
|
54
|
-
"@earendil-works/pi-agent-core": "npm:@code-yeongyu/senpi-agent-core@2026.8.
|
|
55
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.8.
|
|
56
|
-
"@earendil-works/pi-pty": "npm:@code-yeongyu/senpi-pty@2026.8.
|
|
57
|
-
"@earendil-works/pi-tui": "npm:@code-yeongyu/senpi-tui@2026.8.
|
|
53
|
+
"@code-yeongyu/senpi-codemode": "2026.8.22",
|
|
54
|
+
"@earendil-works/pi-agent-core": "npm:@code-yeongyu/senpi-agent-core@2026.8.22",
|
|
55
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.8.22",
|
|
56
|
+
"@earendil-works/pi-pty": "npm:@code-yeongyu/senpi-pty@2026.8.22",
|
|
57
|
+
"@earendil-works/pi-tui": "npm:@code-yeongyu/senpi-tui@2026.8.22",
|
|
58
58
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
59
59
|
"@mozilla/readability": "0.6.0",
|
|
60
60
|
"@opentelemetry/api": "1.9.1",
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"@csstools/css-parser-algorithms": "4.0.0",
|
|
118
118
|
"@csstools/css-syntax-patches-for-csstree": "1.1.8",
|
|
119
119
|
"@csstools/css-tokenizer": "4.0.0",
|
|
120
|
-
"@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.8.
|
|
120
|
+
"@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.8.22",
|
|
121
121
|
"@exodus/bytes": "1.15.1",
|
|
122
122
|
"@google/genai": "2.18.0",
|
|
123
123
|
"@hono/node-server": "2.1.1",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { AssistantMessage, TextContent, ThinkingContent } from "@earendil-works/pi-ai/compat";
|
|
2
|
-
export type TrailingAssistantSplit = {
|
|
3
|
-
head: AssistantMessage["content"];
|
|
4
|
-
tail: Array<TextContent | ThinkingContent>;
|
|
5
|
-
};
|
|
6
|
-
export declare function splitTrailingAssistantContent(content: AssistantMessage["content"]): TrailingAssistantSplit;
|
|
7
|
-
//# sourceMappingURL=split-trailing-assistant-text.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-trailing-assistant-text.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/split-trailing-assistant-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnG,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAiB1G"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export function splitTrailingAssistantContent(content) {
|
|
2
|
-
let lastTool = -1;
|
|
3
|
-
for (let i = 0; i < content.length; i++) {
|
|
4
|
-
if (content[i]?.type === "toolCall") {
|
|
5
|
-
lastTool = i;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
if (lastTool < 0 || lastTool === content.length - 1) {
|
|
9
|
-
return { head: content, tail: [] };
|
|
10
|
-
}
|
|
11
|
-
const tail = content
|
|
12
|
-
.slice(lastTool + 1)
|
|
13
|
-
.filter((block) => block.type === "text" || block.type === "thinking");
|
|
14
|
-
if (tail.length === 0) {
|
|
15
|
-
return { head: content, tail: [] };
|
|
16
|
-
}
|
|
17
|
-
return { head: content.slice(0, lastTool + 1), tail };
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=split-trailing-assistant-text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-trailing-assistant-text.js","sourceRoot":"","sources":["../../../src/modes/interactive/split-trailing-assistant-text.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,6BAA6B,CAAC,OAAoC;IACjF,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,QAAQ,GAAG,CAAC,CAAC;QACd,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,GAAG,OAAO;SAClB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;SACnB,MAAM,CAAC,CAAC,KAAK,EAA0C,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAChH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACvD,CAAC","sourcesContent":["import type { AssistantMessage, TextContent, ThinkingContent } from \"@earendil-works/pi-ai/compat\";\n\nexport type TrailingAssistantSplit = {\n\thead: AssistantMessage[\"content\"];\n\ttail: Array<TextContent | ThinkingContent>;\n};\n\nexport function splitTrailingAssistantContent(content: AssistantMessage[\"content\"]): TrailingAssistantSplit {\n\tlet lastTool = -1;\n\tfor (let i = 0; i < content.length; i++) {\n\t\tif (content[i]?.type === \"toolCall\") {\n\t\t\tlastTool = i;\n\t\t}\n\t}\n\tif (lastTool < 0 || lastTool === content.length - 1) {\n\t\treturn { head: content, tail: [] };\n\t}\n\tconst tail = content\n\t\t.slice(lastTool + 1)\n\t\t.filter((block): block is TextContent | ThinkingContent => block.type === \"text\" || block.type === \"thinking\");\n\tif (tail.length === 0) {\n\t\treturn { head: content, tail: [] };\n\t}\n\treturn { head: content.slice(0, lastTool + 1), tail };\n}\n"]}
|