@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 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";
@@ -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,iBAAiB,UAAU,CAAC;AACzC,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"}
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,iBAAiB,GAAG,OAAO,CAAC;AACzC,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
+ {"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 同口径:240 字符) */
2
+ /** 思维链预览长度(与 pi-web 同口径) */
3
3
  export declare const THINKING_PREVIEW_MAX_CHARS = 240;
4
4
  /** 思维链投影(列表/帧里只给预览;`deferred: true` 表示全文需按需拉取) */
5
5
  export interface ThinkingPreviewProjection {
6
- /** 前 240 字符预览(首行截取后 trimEnd) */
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
- /** 思维链预览:截首行 + 截断到 240 字符(同行首 240 字符,超长行同样截断) */
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,mCAAmC;AACnC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,kDAAkD;AAClD,MAAM,WAAW,yBAAyB;IACxC,gCAAgC;IAChC,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,iDAAiD;AACjD,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"}
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 同口径:240 字符) */
11
+ /** 思维链预览长度(与 pi-web 同口径) */
12
12
  export const THINKING_PREVIEW_MAX_CHARS = 240;
13
- /** 思维链预览:截首行 + 截断到 240 字符(同行首 240 字符,超长行同样截断) */
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(/^[^\r\n]{0,240}/u)?.[0].trimEnd() ?? "";
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":"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"}
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 为数量级防御:正常会话一轮最多 15 个提案、挂卡不确认的残留按 TTL 自动过期,
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:15 个 propose_* 工具名 → 产出完整 Proposal 的构造函数
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 为数量级防御:正常会话一轮最多 15 个提案、挂卡不确认的残留按 TTL 自动过期,
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.49",
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.49",
32
- "@whispering233/ai-editor-tools": "0.0.49"
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"