@whispering233/ai-editor-agent 0.0.49 → 0.0.51
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/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/message-projection.d.ts +3 -3
- package/dist/runtime/message-projection.d.ts.map +1 -1
- package/dist/runtime/message-projection.js +5 -3
- package/dist/runtime/message-projection.js.map +1 -1
- package/dist/runtime/proposals.d.ts +1 -1
- package/dist/runtime/proposals.js +2 -2
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export declare const AGENT_PKG_NAME = "@whispering233/ai-editor-agent";
|
|
2
|
-
export declare const AGENT_PKG_VERSION = "0.1.0";
|
|
3
2
|
export declare const TOOLS_DEP = "@whispering233/ai-editor-tools";
|
|
4
3
|
export { AGENTS_FILE_NAME, createCustomTools, createPingFrame, createProposalSink, createProposalStore, createProjectRuntime, createSessionFrame, defaultProposalStore, buildResourceLoaderOptions, estimateTokens, extractText, FOCUS_TITLE, findProjectSession, getThinkingPreview, KERNEL_PROMPT, lastVisibleSessionText, listProjectSessions, NoModelConfiguredError, openProjectSessionManager, projectAgentsFilePath, projectMessageForWire, projectSessionMessages, projectSessionsDir, PROPOSAL_BUILDERS, PROPOSAL_MAX_COUNT, PROPOSAL_TTL_MS, readProjectAgentsFile, readProjectSession, readSessionThinking, resolveAgentDir, resolveDefaultModel, SESSIONS_DIR_NAME, stringifyToolResult, THINKING_PREVIEW_MAX_CHARS, toProposalPayload, toSseFrame, TOOL_RESULT_MAX_TOKENS, truncateToolResultText, } from "./runtime/index.js";
|
|
5
4
|
export type { CreateCustomToolsOptions, CreateProposalSinkOptions, ProjectRuntime, ProjectRuntimeInput, Proposal, ProposalStore, ProposalStoreOptions, ProposalPayload, ProposalSink, ProposalSinkInput, ResourceLoaderOptions, SessionEntry, SessionInfo, SseFrame, SseProjectionOptions, ThinkingLevel, ThinkingPreviewProjection, WireMessage, WireSessionMessage, WireToolCall, } from "./runtime/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAC/D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAC/D,eAAO,MAAM,SAAS,mCAAiB,CAAC;AAExC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,WAAW,EACX,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
// 事件投影(→ SSE 帧)与提案仓。
|
|
6
6
|
import { TOOLS_PKG_NAME } from "@whispering233/ai-editor-tools";
|
|
7
7
|
export const AGENT_PKG_NAME = "@whispering233/ai-editor-agent";
|
|
8
|
-
export const AGENT_PKG_VERSION = "0.1.0";
|
|
9
8
|
export const TOOLS_DEP = TOOLS_PKG_NAME;
|
|
10
9
|
export { AGENTS_FILE_NAME, createCustomTools, createPingFrame, createProposalSink, createProposalStore, createProjectRuntime, createSessionFrame, defaultProposalStore, buildResourceLoaderOptions, estimateTokens, extractText, FOCUS_TITLE, findProjectSession, getThinkingPreview, KERNEL_PROMPT, lastVisibleSessionText, listProjectSessions, NoModelConfiguredError, openProjectSessionManager, projectAgentsFilePath, projectMessageForWire, projectSessionMessages, projectSessionsDir, PROPOSAL_BUILDERS, PROPOSAL_MAX_COUNT, PROPOSAL_TTL_MS, readProjectAgentsFile, readProjectSession, readSessionThinking, resolveAgentDir, resolveDefaultModel, SESSIONS_DIR_NAME, stringifyToolResult, THINKING_PREVIEW_MAX_CHARS, toProposalPayload, toSseFrame, TOOL_RESULT_MAX_TOKENS, truncateToolResultText, } from "./runtime/index.js";
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,6EAA6E;AAC7E,sEAAsE;AACtE,qBAAqB;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAC/D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,6EAA6E;AAC7E,sEAAsE;AACtE,qBAAqB;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC;AAExC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { AssistantMessage, TextContent, ThinkingContent, ToolResultMessage, UserMessage } from "@earendil-works/pi-ai";
|
|
2
|
-
/** 思维链预览长度(与 pi-web
|
|
2
|
+
/** 思维链预览长度(与 pi-web 同口径) */
|
|
3
3
|
export declare const THINKING_PREVIEW_MAX_CHARS = 240;
|
|
4
4
|
/** 思维链投影(列表/帧里只给预览;`deferred: true` 表示全文需按需拉取) */
|
|
5
5
|
export interface ThinkingPreviewProjection {
|
|
6
|
-
/** 前
|
|
6
|
+
/** 前 `THINKING_PREVIEW_MAX_CHARS` 字符预览(首行截取后 trimEnd) */
|
|
7
7
|
preview: string;
|
|
8
8
|
deferred: true;
|
|
9
9
|
/** 原消息 content 数组中的块下标(取全文时的定位参数) */
|
|
@@ -33,7 +33,7 @@ export interface WireMessage {
|
|
|
33
33
|
/** ISO 8601(pi 消息的毫秒时间戳) */
|
|
34
34
|
createdAt: string;
|
|
35
35
|
}
|
|
36
|
-
/** 思维链预览:截首行 + 截断到
|
|
36
|
+
/** 思维链预览:截首行 + 截断到 `THINKING_PREVIEW_MAX_CHARS`(同行首 N 字符,超长行同样截断) */
|
|
37
37
|
export declare function getThinkingPreview(thinking: string): string;
|
|
38
38
|
/** 单块 thinking → 预览投影 */
|
|
39
39
|
export declare function projectThinkingBlock(block: ThinkingContent, blockIndex: number): ThinkingPreviewProjection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-projection.d.ts","sourceRoot":"","sources":["../../src/runtime/message-projection.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,
|
|
1
|
+
{"version":3,"file":"message-projection.d.ts","sourceRoot":"","sources":["../../src/runtime/message-projection.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,4BAA4B;AAC5B,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAK9C,kDAAkD;AAClD,MAAM,WAAW,yBAAyB;IACxC,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4BAA4B;AAC5B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACpC,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,wBAAwB;IACxB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yBAAyB;AACzB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAO1G;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GAAG,MAAM,CAMhH;AAOD,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAEpE;AAED,yDAAyD;AACzD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAqB9E;AAED,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,CAQhF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAO1E;AAED,4CAA4C"}
|
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
//
|
|
9
9
|
// 未知角色(pi 的 custom / bashExecution / branchSummary / compactionSummary 等)返回 null:
|
|
10
10
|
// 文档的事件表只登记 user / assistant / tool 三类,多出来的角色没有消费方。
|
|
11
|
-
/** 思维链预览长度(与 pi-web
|
|
11
|
+
/** 思维链预览长度(与 pi-web 同口径) */
|
|
12
12
|
export const THINKING_PREVIEW_MAX_CHARS = 240;
|
|
13
|
-
/**
|
|
13
|
+
/** 预览截断正则(由 `THINKING_PREVIEW_MAX_CHARS` 派生——数值单源,不在正则里复述数字) */
|
|
14
|
+
const THINKING_PREVIEW_RE = new RegExp(`^[^\\r\\n]{0,${THINKING_PREVIEW_MAX_CHARS}}`, "u");
|
|
15
|
+
/** 思维链预览:截首行 + 截断到 `THINKING_PREVIEW_MAX_CHARS`(同行首 N 字符,超长行同样截断) */
|
|
14
16
|
export function getThinkingPreview(thinking) {
|
|
15
|
-
return thinking.trimStart().match(
|
|
17
|
+
return thinking.trimStart().match(THINKING_PREVIEW_RE)?.[0].trimEnd() ?? "";
|
|
16
18
|
}
|
|
17
19
|
/** 单块 thinking → 预览投影 */
|
|
18
20
|
export function projectThinkingBlock(block, blockIndex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-projection.js","sourceRoot":"","sources":["../../src/runtime/message-projection.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,WAAW;AACX,2DAA2D;AAC3D,wDAAwD;AACxD,mEAAmE;AACnE,yFAAyF;AACzF,EAAE;AACF,kFAAkF;AAClF,oDAAoD;AAUpD,
|
|
1
|
+
{"version":3,"file":"message-projection.js","sourceRoot":"","sources":["../../src/runtime/message-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export type { Proposal };
|
|
|
5
5
|
export declare const PROPOSAL_TTL_MS: number;
|
|
6
6
|
/**
|
|
7
7
|
* 提案条数上限(超限淘汰 createdAt 最旧)。
|
|
8
|
-
* 取 200 为数量级防御:正常会话一轮最多
|
|
8
|
+
* 取 200 为数量级防御:正常会话一轮最多 16 个提案、挂卡不确认的残留按 TTL 自动过期,
|
|
9
9
|
* 200 足以覆盖极端多轮场景且内存占用可忽略(防无限增长)。
|
|
10
10
|
*/
|
|
11
11
|
export declare const PROPOSAL_MAX_COUNT = 200;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
//
|
|
6
6
|
// 本模块是提案仓与 `PROPOSAL_BUILDERS` 的**唯一实现**(提案端点与对话链路同仓消费):
|
|
7
7
|
// - 仓:set/get/peek/remove/clear/size
|
|
8
|
-
// - build:
|
|
8
|
+
// - build:16 个 propose_* 工具名 → 产出完整 Proposal 的构造函数
|
|
9
9
|
// (工具的 run 只返回 `{ proposal_id, summary }`,完整对象必须重建——工具的返回值要省 token)
|
|
10
10
|
// - sink:pi 工具执行成功后的接线点——重建 Proposal 入仓 + 返回推给前端的载荷
|
|
11
11
|
//
|
|
@@ -16,7 +16,7 @@ import { buildProposeAbandonHook, buildProposeAddDelta, buildProposeAddRelation,
|
|
|
16
16
|
export const PROPOSAL_TTL_MS = 10 * 60_000;
|
|
17
17
|
/**
|
|
18
18
|
* 提案条数上限(超限淘汰 createdAt 最旧)。
|
|
19
|
-
* 取 200 为数量级防御:正常会话一轮最多
|
|
19
|
+
* 取 200 为数量级防御:正常会话一轮最多 16 个提案、挂卡不确认的残留按 TTL 自动过期,
|
|
20
20
|
* 200 足以覆盖极端多轮场景且内存占用可忽略(防无限增长)。
|
|
21
21
|
*/
|
|
22
22
|
export const PROPOSAL_MAX_COUNT = 200;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whispering233/ai-editor-agent",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.51",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "AI 对话循环:会话管理 / 上下文组装 / 工具调度",
|
|
6
6
|
"type": "module",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@earendil-works/pi-ai": "0.85.1",
|
|
30
30
|
"@earendil-works/pi-coding-agent": "0.85.1",
|
|
31
|
-
"@whispering233/ai-editor-shared": "0.0.
|
|
32
|
-
"@whispering233/ai-editor-tools": "0.0.
|
|
31
|
+
"@whispering233/ai-editor-shared": "0.0.51",
|
|
32
|
+
"@whispering233/ai-editor-tools": "0.0.51"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"typescript": "^5.8.0"
|