dsh-plugin-om 0.0.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/License +21 -0
- package/README.md +113 -0
- package/dist/compress.d.ts +63 -0
- package/dist/compress.d.ts.map +1 -0
- package/dist/config.d.ts +19 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +782 -0
- package/dist/log-index.d.ts +15 -0
- package/dist/log-index.d.ts.map +1 -0
- package/dist/recall.d.ts +32 -0
- package/dist/recall.d.ts.map +1 -0
- package/dist/summarize.d.ts +28 -0
- package/dist/summarize.d.ts.map +1 -0
- package/dist/types.d.ts +43 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +42 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 会话日志索引:消息索引(message_id → 消息事件,recall 按 message_id 定位区间),
|
|
3
|
+
* 以及表层节点定位辅助。事件日志仅追加(被遮蔽的事件仍可读,recall 依赖此性质)。
|
|
4
|
+
*/
|
|
5
|
+
import type { MessageIndex, Session, SessionEvent } from './types.ts';
|
|
6
|
+
/**
|
|
7
|
+
* 查找 seq 在表层节点序列中的下标(不在则返回 -1)。
|
|
8
|
+
* 表层节点按日志顺序排列,用于压缩边界定位与遮蔽范围计算。
|
|
9
|
+
*/
|
|
10
|
+
export declare function surfaceIndexOf(nodes: readonly number[], seq: number): number;
|
|
11
|
+
/** 提取一条消息事件的 message_id(user/assistant/tool-result 消息均有稳定 id;其余事件无)。 */
|
|
12
|
+
export declare function messageIdOfEvent(event: SessionEvent | undefined): string | undefined;
|
|
13
|
+
/** 消息索引:按日志顺序列出全部消息事件,并按 message_id 定位其在消息序列中的下标。 */
|
|
14
|
+
export declare function indexMessages(session: Session): MessageIndex;
|
|
15
|
+
//# sourceMappingURL=log-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-index.d.ts","sourceRoot":"","sources":["../src/log-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,YAAY,EAAe,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMpF;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CA0B5D"}
|
package/dist/recall.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* recall 工具:按 message_id 回看原始会话(start_id/end_id 为消息 id,offset 为相对
|
|
3
|
+
* start_id 的消息步数)。recall 自身不设输出上限:超大的工具结果由 tool-result-pruner
|
|
4
|
+
* 裁剪(pruneContent),输出 token 由 pruner 配置控制。
|
|
5
|
+
*
|
|
6
|
+
* 参数由 zod schema(recallArgsSchema)在 execute 入口校验:start_id 必填且非空,
|
|
7
|
+
* end_id/offset 至少提供一个;非法参数抛出可读错误。
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import type { ToolDefinition } from './types.ts';
|
|
11
|
+
/**
|
|
12
|
+
* recall 工具参数 schema:start_id 必填且非空;end_id 与 offset 至少提供一个
|
|
13
|
+
* (二者同时给出时 end_id 优先,与 execute 语义一致);未知键自动剥离。
|
|
14
|
+
*/
|
|
15
|
+
export declare const recallArgsSchema: z.ZodObject<{
|
|
16
|
+
start_id: z.ZodString;
|
|
17
|
+
end_id: z.ZodOptional<z.ZodString>;
|
|
18
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
/** recall 工具调用参数(由 recallArgsSchema 推断)。 */
|
|
21
|
+
export type RecallArgs = z.infer<typeof recallArgsSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* 解析并校验 recall 调用参数:校验失败时抛出首个校验问题的可读消息
|
|
24
|
+
* (普通 Error 而非 ZodError,兼容 SDK 展示)。
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseRecallArgs(raw: unknown): RecallArgs;
|
|
27
|
+
/**
|
|
28
|
+
* 构建 recall 工具定义:按 start_id/end_id/offset 定位消息区间并渲染原始内容。
|
|
29
|
+
* getPruner 返回 tool-result-pruner(可选),用于裁剪超大工具结果。
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildRecallTool(getPruner?: () => unknown): ToolDefinition;
|
|
32
|
+
//# sourceMappingURL=recall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAW,cAAc,EAAkB,MAAM,YAAY,CAAC;AAG1E;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;iBAQzB,CAAC;AAEL,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAYxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,GAAG,cAAc,CAiGzE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Agent, Context } from './types.ts';
|
|
2
|
+
/** 观察者 persona:只针对未压缩消息产出观察日志,不用工具、不展示思考。 */
|
|
3
|
+
export declare const OBSERVER_PERSONA = "\u4F60\u662F dsh-plugin-om \u7684\u4E0A\u4E0B\u6587\u89C2\u5BDF\u8005\uFF08Observer\uFF0C\u673A\u5236\u53C2\u8003 Mastra Observational Memory\uFF09\uFF1A\u628A\u4F1A\u8BDD\u4E2D\u5C1A\u672A\u538B\u7F29\u7684\u6D88\u606F\u538B\u7F29\u4E3A\u4E00\u4EFD\u89C2\u5BDF\u65E5\u5FD7\u3002\u4E0D\u7528\u5DE5\u5177\u3001\u4E0D\u5C55\u793A\u601D\u8003\u3001\u4E0D\u8BC4\u4EF7\u4EE3\u7801\u3001\u4E0D\u8F93\u51FA\u591A\u4F59\u6587\u5B57\u3002";
|
|
4
|
+
/** 反思者 persona:只精简合并当前摘要,不用工具、不展示思考。 */
|
|
5
|
+
export declare const REFLECTOR_PERSONA = "\u4F60\u662F dsh-plugin-om \u7684\u4E0A\u4E0B\u6587\u53CD\u601D\u8005\uFF08Reflector\uFF0C\u673A\u5236\u53C2\u8003 Mastra Observational Memory\uFF09\uFF1A\u628A\u5F53\u524D <om-history> \u538B\u7F29\u65E5\u5FD7\u7CBE\u7B80\u5408\u5E76\u4E3A\u4E00\u4EFD\u66F4\u7D27\u51D1\u7684\u65E5\u5FD7\u3002\u4E0D\u7528\u5DE5\u5177\u3001\u4E0D\u5C55\u793A\u601D\u8003\u3001\u4E0D\u8F93\u51FA\u591A\u4F59\u6587\u5B57\u3002";
|
|
6
|
+
/** 观察提示词参数(对照表/中断标记由 compress.ts 从日志计算后传入)。 */
|
|
7
|
+
export type ObservePromptOptions = {
|
|
8
|
+
/** message_id 对照表行(按序对应上下文中未压缩消息)。 */
|
|
9
|
+
table: string[];
|
|
10
|
+
/** 中断标记行(aborted/interrupted 轮次)。 */
|
|
11
|
+
interruptions: string[];
|
|
12
|
+
/** 是否存在旧摘要(决定「追加到上次产物末尾」的表述)。 */
|
|
13
|
+
hasOldHistory: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* 构建观察提示词:规则(消息概括为要点 / 工具调用按目的聚合——不限于 run_code /
|
|
17
|
+
* 仅关键消息保留 message_id / 中断标注 / 未完成写进度与下一步)+ message_id 对照表 +
|
|
18
|
+
* 中断标记 + 追加说明。全文由继承上下文提供。
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildObservePrompt(options: ObservePromptOptions): string;
|
|
21
|
+
/** 构建反思提示词:精简合并当前 <om-history>;全文由继承上下文提供。 */
|
|
22
|
+
export declare function buildReflectPrompt(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Fork 子会话执行一次摘要(观察或反思),返回文本;失败或无法 fork 返回 null。
|
|
25
|
+
* 工具被 toolFilter 禁用,输出长度受 maxTokens 限制。
|
|
26
|
+
*/
|
|
27
|
+
export declare function runSummarySubagent(ctx: Context, agent: Agent, persona: string, prompt: string, maxTokens: number, signal?: AbortSignal): Promise<string | null>;
|
|
28
|
+
//# sourceMappingURL=summarize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../src/summarize.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAqC,MAAM,YAAY,CAAC;AAGpF,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,kbACyF,CAAC;AAEvH,wCAAwC;AACxC,eAAO,MAAM,iBAAiB,6ZACiG,CAAC;AAEhI,+CAA+C;AAC/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,sCAAsC;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CA4BxE;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,IAAI,MAAM,CAc3C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuDxB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共享类型:全部来自 deepseek-ai 官方包(type-only 导入,编译期擦除,运行时零依赖)。
|
|
3
|
+
*
|
|
4
|
+
* 各 dsh-* 包通过 declare module '@deepseek-ai/cordis' 增强 Context/Events,
|
|
5
|
+
* 使 ctx.tools / ctx.tokenMeter / ctx.sessions 等获得与真实宿主一致的类型;
|
|
6
|
+
* ctx.on / ctx.get 等 mixin 方法由 cordis 自身声明,无需本地补充。
|
|
7
|
+
*/
|
|
8
|
+
import type { Context, EventOptions, Events } from '@deepseek-ai/cordis';
|
|
9
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
10
|
+
import type { ToolResultPruner } from '@deepseek-ai/dsh-compaction-tool-result-pruner';
|
|
11
|
+
import type { Message, UserMessage } from '@deepseek-ai/dsh-llm';
|
|
12
|
+
import type { Session, SessionEvent } from '@deepseek-ai/dsh-session';
|
|
13
|
+
import type { SubagentResult, SubagentRun, SubagentStartRequest } from '@deepseek-ai/dsh-subagent';
|
|
14
|
+
import type { SystemPrompt } from '@deepseek-ai/dsh-system-prompt';
|
|
15
|
+
import type { TokenMeter } from '@deepseek-ai/dsh-token-meter';
|
|
16
|
+
import type { ToolDefinition, ToolRunContext } from '@deepseek-ai/dsh-tools';
|
|
17
|
+
/** 插件配置类型(来自 config.ts,供外部 preset 与类型使用者引用)。 */
|
|
18
|
+
export type { PluginConfig } from './config.ts';
|
|
19
|
+
/**
|
|
20
|
+
* 官方包宿主类型再导出:插件 API 与工具签名统一从这里取型,
|
|
21
|
+
* 避免各模块直接依赖不同版本的 dsh-* 包类型面。
|
|
22
|
+
*/
|
|
23
|
+
export type { Agent, Context, EventOptions, Events, Message, Session, SessionEvent, SubagentResult, SubagentRun, SubagentStartRequest, SystemPrompt, TokenMeter, ToolDefinition, ToolResultPruner, ToolRunContext, UserMessage, };
|
|
24
|
+
/**
|
|
25
|
+
* 一条消息事件(user/assistant/tool-result),带稳定 message_id;
|
|
26
|
+
* 供 recall 按 message_id 定位消息序列下标。
|
|
27
|
+
*/
|
|
28
|
+
export type MessageNode = {
|
|
29
|
+
/** 事件在日志中的 seq。 */
|
|
30
|
+
seq: number;
|
|
31
|
+
/** 消息的稳定 message_id。 */
|
|
32
|
+
id: string;
|
|
33
|
+
/** 事件类型(仅三类消息事件参与消息索引)。 */
|
|
34
|
+
type: 'user/message' | 'assistant/message' | 'tool/result';
|
|
35
|
+
};
|
|
36
|
+
/** indexMessages 的返回值:按日志顺序的消息序列 + message_id → 序列下标。 */
|
|
37
|
+
export type MessageIndex = {
|
|
38
|
+
/** 按日志顺序排列的消息事件。 */
|
|
39
|
+
messages: MessageNode[];
|
|
40
|
+
/** message_id → messages 数组下标。 */
|
|
41
|
+
byId: Map<string, number>;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7E,gDAAgD;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,YAAY,EACV,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,aAAa,CAAC;CAC5D,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG;IACzB,oBAAoB;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,kCAAkC;IAClC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 零依赖工具函数:不 import 任何运行时包,保证单文件打包与任意位置挂载。
|
|
3
|
+
* 主要服务于配置校验、文本呈现与主会话判定。
|
|
4
|
+
*/
|
|
5
|
+
import type { Message } from '@deepseek-ai/dsh-llm';
|
|
6
|
+
import type { Session } from './types.ts';
|
|
7
|
+
/** 判断值是否为普通对象:typeof object 且非 null 且非数组(类型收窄用)。 */
|
|
8
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
9
|
+
/** 抛出带插件前缀的错误(never 返回:调用后控制流终止)。 */
|
|
10
|
+
export declare function fail(message: string): never;
|
|
11
|
+
/** 数值配置项的取值约束(assertNumber 的可选参数)。 */
|
|
12
|
+
export type NumberConstraints = {
|
|
13
|
+
/** 允许的最小值(含),默认 0。 */
|
|
14
|
+
min?: number;
|
|
15
|
+
/** 允许的最大值(含),默认 Infinity。 */
|
|
16
|
+
max?: number;
|
|
17
|
+
/** 是否必须为整数,默认 false。 */
|
|
18
|
+
integer?: boolean;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* 校验配置数值:必须是有限数且在 [min, max] 内(可选整数约束),
|
|
22
|
+
* 不满足时抛出带插件前缀的错误。
|
|
23
|
+
*/
|
|
24
|
+
export declare function assertNumber(name: string, value: unknown, { min, max, integer }?: NumberConstraints): void;
|
|
25
|
+
/** 生成 uuid:优先 crypto.randomUUID,回退为时间戳+随机串拼接(保证唯一性)。 */
|
|
26
|
+
export declare function uuid(): string;
|
|
27
|
+
/** 提取 content 数组中的纯文本块(type === 'text' 的 block.text 拼接)。 */
|
|
28
|
+
export declare function blocksToText(blocks: unknown): string;
|
|
29
|
+
/** 面向 recall 的完整消息呈现:text 原样;tool-call 展开(参数=代码);tool-result 取文本。 */
|
|
30
|
+
export declare function renderMessageText(message: Message | null | undefined): string;
|
|
31
|
+
/** 安全 JSON 序列化:序列化失败时退回 String 呈现(避免渲染异常)。 */
|
|
32
|
+
export declare function safeJson(value: unknown): string;
|
|
33
|
+
/** 主会话判定:subagent 会话 header.origin === 'subagent'(压缩/recall 仅主会话生效)。 */
|
|
34
|
+
export declare function isMainSession(session: Session): boolean;
|
|
35
|
+
/** 会话路由目标:provider + model(压缩合并调用与容量查询使用)。 */
|
|
36
|
+
export type RoutedTarget = {
|
|
37
|
+
provider: string;
|
|
38
|
+
model: string;
|
|
39
|
+
};
|
|
40
|
+
/** 解析会话路由目标(provider/model),未路由时返回 undefined。 */
|
|
41
|
+
export declare function routedTarget(session: Session): RoutedTarget | undefined;
|
|
42
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,oDAAoD;AACpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,qCAAqC;AACrC,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE3C;AAED,sCAAsC;AACtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,EAAE,GAAO,EAAE,GAAc,EAAE,OAAe,EAAE,GAAE,iBAAsB,GACnE,IAAI,CAKN;AAED,wDAAwD;AACxD,wBAAgB,IAAI,IAAI,MAAM,CAK7B;AAED,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CASpD;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAe7E;AAED,8CAA8C;AAC9C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM/C;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CASvE"}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-plugin-om",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.mjs",
|
|
6
|
+
"module": "./dist/index.mjs",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"dsh",
|
|
10
|
+
"deepseek",
|
|
11
|
+
"harness",
|
|
12
|
+
"plugin"
|
|
13
|
+
],
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.mjs"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"cordis.patch.yml",
|
|
23
|
+
"README.md"
|
|
24
|
+
],
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"packageManager": "pnpm@11.7.0",
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": "^22.19.0 || >=24.0.0"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"dev": "tsdown --watch",
|
|
32
|
+
"build": "tsdown && tsc -p tsconfig.build.json",
|
|
33
|
+
"check": "pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build",
|
|
34
|
+
"release": "pnpm format && npm version patch && node scripts/release-archive.mjs && git push && git push --tags",
|
|
35
|
+
"typecheck": "tsc --noEmit",
|
|
36
|
+
"test": "vitest run",
|
|
37
|
+
"build:types": "tsc -p tsconfig.build.json",
|
|
38
|
+
"lint": "biome check .",
|
|
39
|
+
"lint:fix": "biome check --write .",
|
|
40
|
+
"format": "biome format --write ."
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"zod": "4.4.3",
|
|
44
|
+
"@biomejs/biome": "^2.5.8",
|
|
45
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
46
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
47
|
+
"@deepseek-ai/dsh-code-runtime": "^0.1.0-rc.6",
|
|
48
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.0-rc.6",
|
|
49
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
|
|
50
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
|
|
51
|
+
"@deepseek-ai/dsh-scope": "^0.1.0-rc.6",
|
|
52
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.6",
|
|
53
|
+
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.6",
|
|
54
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.6",
|
|
55
|
+
"@deepseek-ai/dsh-token-meter": "^0.1.0-rc.6",
|
|
56
|
+
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
|
|
57
|
+
"@deepseek-ai/dsh-user-approval": "^0.1.0-rc.6",
|
|
58
|
+
"@types/node": "^22.20.0",
|
|
59
|
+
"tsdown": "^0.22.14",
|
|
60
|
+
"typescript": "^6.0.3",
|
|
61
|
+
"vitest": "^4.1.10"
|
|
62
|
+
}
|
|
63
|
+
}
|