@oyasmi/pipiclaw 0.5.0 → 0.5.2
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/agent/channel-runner.d.ts +46 -0
- package/dist/agent/channel-runner.d.ts.map +1 -0
- package/dist/agent/channel-runner.js +434 -0
- package/dist/agent/channel-runner.js.map +1 -0
- package/dist/agent/index.d.ts +4 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +3 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/progress-formatter.d.ts +5 -0
- package/dist/agent/progress-formatter.d.ts.map +1 -0
- package/dist/agent/progress-formatter.js +53 -0
- package/dist/agent/progress-formatter.js.map +1 -0
- package/dist/agent/run-queue.d.ts +8 -0
- package/dist/agent/run-queue.d.ts.map +1 -0
- package/dist/agent/run-queue.js +27 -0
- package/dist/agent/run-queue.js.map +1 -0
- package/dist/agent/runner-factory.d.ts +4 -0
- package/dist/agent/runner-factory.d.ts.map +1 -0
- package/dist/agent/runner-factory.js +11 -0
- package/dist/agent/runner-factory.js.map +1 -0
- package/dist/agent/session-events.d.ts +15 -0
- package/dist/agent/session-events.d.ts.map +1 -0
- package/dist/agent/session-events.js +216 -0
- package/dist/agent/session-events.js.map +1 -0
- package/dist/agent/type-guards.d.ts +23 -0
- package/dist/agent/type-guards.d.ts.map +1 -0
- package/dist/agent/type-guards.js +107 -0
- package/dist/agent/type-guards.js.map +1 -0
- package/dist/agent/types.d.ts +161 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +23 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/agent.d.ts +2 -15
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +1 -781
- package/dist/agent.js.map +1 -1
- package/dist/context.d.ts +58 -14
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +50 -7
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/main.js +5 -404
- package/dist/main.js.map +1 -1
- package/dist/memory/bootstrap.d.ts +7 -0
- package/dist/memory/bootstrap.d.ts.map +1 -0
- package/dist/memory/bootstrap.js +47 -0
- package/dist/memory/bootstrap.js.map +1 -0
- package/dist/{memory-candidates.d.ts → memory/candidates.d.ts} +2 -1
- package/dist/memory/candidates.d.ts.map +1 -0
- package/dist/{memory-candidates.js → memory/candidates.js} +34 -21
- package/dist/memory/candidates.js.map +1 -0
- package/dist/memory/chinese-words.d.ts +2 -0
- package/dist/memory/chinese-words.d.ts.map +1 -0
- package/dist/memory/chinese-words.js +210 -0
- package/dist/memory/chinese-words.js.map +1 -0
- package/dist/{memory-consolidation.d.ts → memory/consolidation.d.ts} +1 -1
- package/dist/memory/consolidation.d.ts.map +1 -0
- package/dist/{memory-consolidation.js → memory/consolidation.js} +27 -35
- package/dist/memory/consolidation.js.map +1 -0
- package/dist/{memory-files.d.ts → memory/files.d.ts} +1 -6
- package/dist/memory/files.d.ts.map +1 -0
- package/dist/{memory-files.js → memory/files.js} +12 -36
- package/dist/memory/files.js.map +1 -0
- package/dist/{memory-lifecycle.d.ts → memory/lifecycle.d.ts} +24 -6
- package/dist/memory/lifecycle.d.ts.map +1 -0
- package/dist/memory/lifecycle.js +247 -0
- package/dist/memory/lifecycle.js.map +1 -0
- package/dist/{memory-recall.d.ts → memory/recall.d.ts} +2 -2
- package/dist/memory/recall.d.ts.map +1 -0
- package/dist/memory/recall.js +435 -0
- package/dist/memory/recall.js.map +1 -0
- package/dist/{session-memory.d.ts → memory/session.d.ts} +2 -1
- package/dist/memory/session.d.ts.map +1 -0
- package/dist/{session-memory.js → memory/session.js} +32 -62
- package/dist/memory/session.js.map +1 -0
- package/dist/runtime/bootstrap.d.ts +48 -0
- package/dist/runtime/bootstrap.d.ts.map +1 -0
- package/dist/runtime/bootstrap.js +451 -0
- package/dist/runtime/bootstrap.js.map +1 -0
- package/dist/runtime/delivery.d.ts.map +1 -0
- package/dist/{delivery.js → runtime/delivery.js} +1 -1
- package/dist/runtime/delivery.js.map +1 -0
- package/dist/{dingtalk.d.ts → runtime/dingtalk.d.ts} +10 -0
- package/dist/runtime/dingtalk.d.ts.map +1 -0
- package/dist/{dingtalk.js → runtime/dingtalk.js} +87 -27
- package/dist/runtime/dingtalk.js.map +1 -0
- package/dist/runtime/events.d.ts.map +1 -0
- package/dist/{events.js → runtime/events.js} +1 -1
- package/dist/runtime/events.js.map +1 -0
- package/dist/{store.d.ts → runtime/store.d.ts} +5 -0
- package/dist/runtime/store.d.ts.map +1 -0
- package/dist/{store.js → runtime/store.js} +60 -19
- package/dist/runtime/store.js.map +1 -0
- package/dist/shared/markdown-sections.d.ts +7 -0
- package/dist/shared/markdown-sections.d.ts.map +1 -0
- package/dist/{markdown-sections.js → shared/markdown-sections.js} +10 -3
- package/dist/shared/markdown-sections.js.map +1 -0
- package/dist/shared/text-utils.d.ts +10 -0
- package/dist/shared/text-utils.d.ts.map +1 -0
- package/dist/shared/text-utils.js +37 -0
- package/dist/shared/text-utils.js.map +1 -0
- package/dist/shared/type-guards.d.ts +6 -0
- package/dist/shared/type-guards.d.ts.map +1 -0
- package/dist/shared/type-guards.js +13 -0
- package/dist/shared/type-guards.js.map +1 -0
- package/dist/shared/types.d.ts +15 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +2 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/sidecar-worker.d.ts.map +1 -1
- package/dist/sidecar-worker.js +1 -7
- package/dist/sidecar-worker.js.map +1 -1
- package/dist/{sub-agents.d.ts → subagents/discovery.d.ts} +1 -1
- package/dist/subagents/discovery.d.ts.map +1 -0
- package/dist/{sub-agents.js → subagents/discovery.js} +3 -3
- package/dist/subagents/discovery.js.map +1 -0
- package/dist/{tools/subagent.d.ts → subagents/tool.d.ts} +3 -16
- package/dist/{tools/subagent.d.ts.map → subagents/tool.d.ts.map} +1 -1
- package/dist/{tools/subagent.js → subagents/tool.js} +17 -38
- package/dist/subagents/tool.js.map +1 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/docs/memory-audit.md +330 -0
- package/docs/memory-optimization-round2.md +319 -0
- package/package.json +1 -1
- package/dist/delivery.d.ts.map +0 -1
- package/dist/delivery.js.map +0 -1
- package/dist/dingtalk.d.ts.map +0 -1
- package/dist/dingtalk.js.map +0 -1
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/markdown-sections.d.ts +0 -6
- package/dist/markdown-sections.d.ts.map +0 -1
- package/dist/markdown-sections.js.map +0 -1
- package/dist/memory-candidates.d.ts.map +0 -1
- package/dist/memory-candidates.js.map +0 -1
- package/dist/memory-consolidation.d.ts.map +0 -1
- package/dist/memory-consolidation.js.map +0 -1
- package/dist/memory-files.d.ts.map +0 -1
- package/dist/memory-files.js.map +0 -1
- package/dist/memory-lifecycle.d.ts.map +0 -1
- package/dist/memory-lifecycle.js +0 -150
- package/dist/memory-lifecycle.js.map +0 -1
- package/dist/memory-recall.d.ts.map +0 -1
- package/dist/memory-recall.js +0 -218
- package/dist/memory-recall.js.map +0 -1
- package/dist/session-memory-files.d.ts +0 -2
- package/dist/session-memory-files.d.ts.map +0 -1
- package/dist/session-memory-files.js +0 -2
- package/dist/session-memory-files.js.map +0 -1
- package/dist/session-memory.d.ts.map +0 -1
- package/dist/session-memory.js.map +0 -1
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/sub-agents.d.ts.map +0 -1
- package/dist/sub-agents.js.map +0 -1
- package/dist/tools/subagent.js.map +0 -1
- package/docs/proj-review.md +0 -188
- package/docs/test-supplementation-plan.md +0 -553
- /package/dist/{delivery.d.ts → runtime/delivery.d.ts} +0 -0
- /package/dist/{events.d.ts → runtime/events.d.ts} +0 -0
- /package/docs/{memory-rfc.md → specs/001-implement-memory/memory-rfc.md} +0 -0
- /package/docs/{subagent → specs/002-subagent}/pi-subagent-analyse.txt +0 -0
- /package/docs/{subagent → specs/002-subagent}/pi-subagent-design.txt +0 -0
- /package/docs/{subagent → specs/002-subagent}/pi-subagent-phase1-plan.txt +0 -0
- /package/docs/{improve-memory → specs/003-improve-memory}/design.md +0 -0
- /package/docs/{improve-memory → specs/003-improve-memory}/interfaces-and-tests.md +0 -0
- /package/docs/{improve-memory → specs/003-improve-memory}/spec.md +0 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import type { BuiltInCommand } from "../commands.js";
|
|
2
|
+
import type { DingTalkContext } from "../runtime/dingtalk.js";
|
|
3
|
+
import type { ChannelStore } from "../runtime/store.js";
|
|
4
|
+
import type { UsageTotals } from "../shared/types.js";
|
|
5
|
+
export interface AgentRunner {
|
|
6
|
+
run(ctx: DingTalkContext, store: ChannelStore): Promise<{
|
|
7
|
+
stopReason: string;
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
}>;
|
|
10
|
+
handleBuiltinCommand(ctx: DingTalkContext, command: BuiltInCommand): Promise<void>;
|
|
11
|
+
queueSteer(text: string, userName?: string): Promise<void>;
|
|
12
|
+
queueFollowUp(text: string, userName?: string): Promise<void>;
|
|
13
|
+
abort(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export type FinalOutcome = {
|
|
16
|
+
kind: "none";
|
|
17
|
+
} | {
|
|
18
|
+
kind: "silent";
|
|
19
|
+
} | {
|
|
20
|
+
kind: "final";
|
|
21
|
+
text: string;
|
|
22
|
+
};
|
|
23
|
+
export interface PendingTool {
|
|
24
|
+
toolName: string;
|
|
25
|
+
args: unknown;
|
|
26
|
+
startTime: number;
|
|
27
|
+
}
|
|
28
|
+
export interface RunQueue {
|
|
29
|
+
enqueue(fn: () => Promise<void>, errorContext: string): void;
|
|
30
|
+
enqueueMessage(text: string, target: "main" | "thread", errorContext: string, doLog?: boolean): void;
|
|
31
|
+
}
|
|
32
|
+
export interface RunLogContext {
|
|
33
|
+
channelId: string;
|
|
34
|
+
userName?: string;
|
|
35
|
+
channelName?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface RunState {
|
|
38
|
+
ctx: DingTalkContext | null;
|
|
39
|
+
logCtx: RunLogContext | null;
|
|
40
|
+
store: ChannelStore | null;
|
|
41
|
+
queue: RunQueue | null;
|
|
42
|
+
pendingTools: Map<string, PendingTool>;
|
|
43
|
+
totalUsage: UsageTotals;
|
|
44
|
+
stopReason: string;
|
|
45
|
+
errorMessage: string | undefined;
|
|
46
|
+
finalOutcome: FinalOutcome;
|
|
47
|
+
finalResponseDelivered: boolean;
|
|
48
|
+
}
|
|
49
|
+
export declare function createEmptyRunState(): RunState;
|
|
50
|
+
export interface AssistantUsage {
|
|
51
|
+
input: number;
|
|
52
|
+
output: number;
|
|
53
|
+
cacheRead: number;
|
|
54
|
+
cacheWrite: number;
|
|
55
|
+
total?: number;
|
|
56
|
+
totalTokens?: number;
|
|
57
|
+
cost: {
|
|
58
|
+
input: number;
|
|
59
|
+
output: number;
|
|
60
|
+
cacheRead: number;
|
|
61
|
+
cacheWrite: number;
|
|
62
|
+
total: number;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export type AssistantContentPart = {
|
|
66
|
+
type: "thinking";
|
|
67
|
+
thinking: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: "text";
|
|
70
|
+
text: string;
|
|
71
|
+
} | {
|
|
72
|
+
type: "toolCall";
|
|
73
|
+
} | {
|
|
74
|
+
type: string;
|
|
75
|
+
[key: string]: unknown;
|
|
76
|
+
};
|
|
77
|
+
export interface AssistantEventMessage {
|
|
78
|
+
role: "assistant";
|
|
79
|
+
content: AssistantContentPart[];
|
|
80
|
+
stopReason?: string;
|
|
81
|
+
errorMessage?: string;
|
|
82
|
+
usage?: AssistantUsage;
|
|
83
|
+
}
|
|
84
|
+
export interface AssistantUsageMessage {
|
|
85
|
+
role: "assistant";
|
|
86
|
+
stopReason?: string;
|
|
87
|
+
usage: AssistantUsage;
|
|
88
|
+
}
|
|
89
|
+
export type SessionEvent = {
|
|
90
|
+
type: "tool_execution_start";
|
|
91
|
+
toolCallId: string;
|
|
92
|
+
toolName: string;
|
|
93
|
+
args: unknown;
|
|
94
|
+
} | {
|
|
95
|
+
type: "tool_execution_update";
|
|
96
|
+
toolCallId: string;
|
|
97
|
+
toolName: string;
|
|
98
|
+
args: unknown;
|
|
99
|
+
partialResult: unknown;
|
|
100
|
+
} | {
|
|
101
|
+
type: "tool_execution_end";
|
|
102
|
+
toolCallId: string;
|
|
103
|
+
toolName: string;
|
|
104
|
+
result: unknown;
|
|
105
|
+
isError: boolean;
|
|
106
|
+
} | {
|
|
107
|
+
type: "message_start";
|
|
108
|
+
message: unknown;
|
|
109
|
+
} | {
|
|
110
|
+
type: "message_end";
|
|
111
|
+
message: unknown;
|
|
112
|
+
} | {
|
|
113
|
+
type: "turn_end";
|
|
114
|
+
message: unknown;
|
|
115
|
+
toolResults: unknown[];
|
|
116
|
+
} | {
|
|
117
|
+
type: "auto_compaction_start";
|
|
118
|
+
reason: "threshold" | "overflow";
|
|
119
|
+
} | {
|
|
120
|
+
type: "auto_compaction_end";
|
|
121
|
+
result?: {
|
|
122
|
+
tokensBefore: number;
|
|
123
|
+
};
|
|
124
|
+
aborted?: boolean;
|
|
125
|
+
} | {
|
|
126
|
+
type: "auto_retry_start";
|
|
127
|
+
attempt: number;
|
|
128
|
+
maxAttempts: number;
|
|
129
|
+
delayMs?: number;
|
|
130
|
+
errorMessage: string;
|
|
131
|
+
};
|
|
132
|
+
export type ToolExecutionStartEvent = Extract<SessionEvent, {
|
|
133
|
+
type: "tool_execution_start";
|
|
134
|
+
}>;
|
|
135
|
+
export type ToolExecutionUpdateEvent = Extract<SessionEvent, {
|
|
136
|
+
type: "tool_execution_update";
|
|
137
|
+
}>;
|
|
138
|
+
export type ToolExecutionEndEvent = Extract<SessionEvent, {
|
|
139
|
+
type: "tool_execution_end";
|
|
140
|
+
}>;
|
|
141
|
+
export type MessageStartEvent = Extract<SessionEvent, {
|
|
142
|
+
type: "message_start";
|
|
143
|
+
}>;
|
|
144
|
+
export type MessageEndEvent = Extract<SessionEvent, {
|
|
145
|
+
type: "message_end";
|
|
146
|
+
}>;
|
|
147
|
+
export type TurnEndEvent = Extract<SessionEvent, {
|
|
148
|
+
type: "turn_end";
|
|
149
|
+
}>;
|
|
150
|
+
export type AutoCompactionStartEvent = Extract<SessionEvent, {
|
|
151
|
+
type: "auto_compaction_start";
|
|
152
|
+
}>;
|
|
153
|
+
export type AutoCompactionEndEvent = Extract<SessionEvent, {
|
|
154
|
+
type: "auto_compaction_end";
|
|
155
|
+
}>;
|
|
156
|
+
export type AutoRetryStartEvent = Extract<SessionEvent, {
|
|
157
|
+
type: "auto_retry_start";
|
|
158
|
+
}>;
|
|
159
|
+
export type ProgressEntryKind = "tool" | "thinking" | "error" | "assistant";
|
|
160
|
+
export declare const MAX_USER_MESSAGE_CHARS = 12000;
|
|
161
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function createEmptyRunState() {
|
|
2
|
+
return {
|
|
3
|
+
ctx: null,
|
|
4
|
+
logCtx: null,
|
|
5
|
+
store: null,
|
|
6
|
+
queue: null,
|
|
7
|
+
pendingTools: new Map(),
|
|
8
|
+
totalUsage: {
|
|
9
|
+
input: 0,
|
|
10
|
+
output: 0,
|
|
11
|
+
cacheRead: 0,
|
|
12
|
+
cacheWrite: 0,
|
|
13
|
+
total: 0,
|
|
14
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
|
|
15
|
+
},
|
|
16
|
+
stopReason: "stop",
|
|
17
|
+
errorMessage: undefined,
|
|
18
|
+
finalOutcome: { kind: "none" },
|
|
19
|
+
finalResponseDelivered: false,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export const MAX_USER_MESSAGE_CHARS = 12_000;
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AA6CA,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,UAAU,EAAE;YACX,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;SACpE;QACD,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9B,sBAAsB,EAAE,KAAK;KAC7B,CAAC;AACH,CAAC;AAuDD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC","sourcesContent":["import type { BuiltInCommand } from \"../commands.js\";\nimport type { DingTalkContext } from \"../runtime/dingtalk.js\";\nimport type { ChannelStore } from \"../runtime/store.js\";\nimport type { UsageTotals } from \"../shared/types.js\";\n\nexport interface AgentRunner {\n\trun(ctx: DingTalkContext, store: ChannelStore): Promise<{ stopReason: string; errorMessage?: string }>;\n\thandleBuiltinCommand(ctx: DingTalkContext, command: BuiltInCommand): Promise<void>;\n\tqueueSteer(text: string, userName?: string): Promise<void>;\n\tqueueFollowUp(text: string, userName?: string): Promise<void>;\n\tabort(): Promise<void>;\n}\n\nexport type FinalOutcome = { kind: \"none\" } | { kind: \"silent\" } | { kind: \"final\"; text: string };\n\nexport interface PendingTool {\n\ttoolName: string;\n\targs: unknown;\n\tstartTime: number;\n}\n\nexport interface RunQueue {\n\tenqueue(fn: () => Promise<void>, errorContext: string): void;\n\tenqueueMessage(text: string, target: \"main\" | \"thread\", errorContext: string, doLog?: boolean): void;\n}\n\nexport interface RunLogContext {\n\tchannelId: string;\n\tuserName?: string;\n\tchannelName?: string;\n}\n\nexport interface RunState {\n\tctx: DingTalkContext | null;\n\tlogCtx: RunLogContext | null;\n\tstore: ChannelStore | null;\n\tqueue: RunQueue | null;\n\tpendingTools: Map<string, PendingTool>;\n\ttotalUsage: UsageTotals;\n\tstopReason: string;\n\terrorMessage: string | undefined;\n\tfinalOutcome: FinalOutcome;\n\tfinalResponseDelivered: boolean;\n}\n\nexport function createEmptyRunState(): RunState {\n\treturn {\n\t\tctx: null,\n\t\tlogCtx: null,\n\t\tstore: null,\n\t\tqueue: null,\n\t\tpendingTools: new Map(),\n\t\ttotalUsage: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t\ttotal: 0,\n\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t},\n\t\tstopReason: \"stop\",\n\t\terrorMessage: undefined,\n\t\tfinalOutcome: { kind: \"none\" },\n\t\tfinalResponseDelivered: false,\n\t};\n}\n\nexport interface AssistantUsage {\n\tinput: number;\n\toutput: number;\n\tcacheRead: number;\n\tcacheWrite: number;\n\ttotal?: number;\n\ttotalTokens?: number;\n\tcost: { input: number; output: number; cacheRead: number; cacheWrite: number; total: number };\n}\n\nexport type AssistantContentPart =\n\t| { type: \"thinking\"; thinking: string }\n\t| { type: \"text\"; text: string }\n\t| { type: \"toolCall\" }\n\t| { type: string; [key: string]: unknown };\n\nexport interface AssistantEventMessage {\n\trole: \"assistant\";\n\tcontent: AssistantContentPart[];\n\tstopReason?: string;\n\terrorMessage?: string;\n\tusage?: AssistantUsage;\n}\n\nexport interface AssistantUsageMessage {\n\trole: \"assistant\";\n\tstopReason?: string;\n\tusage: AssistantUsage;\n}\n\nexport type SessionEvent =\n\t| { type: \"tool_execution_start\"; toolCallId: string; toolName: string; args: unknown }\n\t| { type: \"tool_execution_update\"; toolCallId: string; toolName: string; args: unknown; partialResult: unknown }\n\t| { type: \"tool_execution_end\"; toolCallId: string; toolName: string; result: unknown; isError: boolean }\n\t| { type: \"message_start\"; message: unknown }\n\t| { type: \"message_end\"; message: unknown }\n\t| { type: \"turn_end\"; message: unknown; toolResults: unknown[] }\n\t| { type: \"auto_compaction_start\"; reason: \"threshold\" | \"overflow\" }\n\t| { type: \"auto_compaction_end\"; result?: { tokensBefore: number }; aborted?: boolean }\n\t| { type: \"auto_retry_start\"; attempt: number; maxAttempts: number; delayMs?: number; errorMessage: string };\n\nexport type ToolExecutionStartEvent = Extract<SessionEvent, { type: \"tool_execution_start\" }>;\nexport type ToolExecutionUpdateEvent = Extract<SessionEvent, { type: \"tool_execution_update\" }>;\nexport type ToolExecutionEndEvent = Extract<SessionEvent, { type: \"tool_execution_end\" }>;\nexport type MessageStartEvent = Extract<SessionEvent, { type: \"message_start\" }>;\nexport type MessageEndEvent = Extract<SessionEvent, { type: \"message_end\" }>;\nexport type TurnEndEvent = Extract<SessionEvent, { type: \"turn_end\" }>;\nexport type AutoCompactionStartEvent = Extract<SessionEvent, { type: \"auto_compaction_start\" }>;\nexport type AutoCompactionEndEvent = Extract<SessionEvent, { type: \"auto_compaction_end\" }>;\nexport type AutoRetryStartEvent = Extract<SessionEvent, { type: \"auto_retry_start\" }>;\n\nexport type ProgressEntryKind = \"tool\" | \"thinking\" | \"error\" | \"assistant\";\n\nexport const MAX_USER_MESSAGE_CHARS = 12_000;\n"]}
|
package/dist/agent.d.ts
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { type SandboxConfig } from "./sandbox.js";
|
|
4
|
-
import type { ChannelStore } from "./store.js";
|
|
5
|
-
export interface AgentRunner {
|
|
6
|
-
run(ctx: DingTalkContext, store: ChannelStore): Promise<{
|
|
7
|
-
stopReason: string;
|
|
8
|
-
errorMessage?: string;
|
|
9
|
-
}>;
|
|
10
|
-
handleBuiltinCommand(ctx: DingTalkContext, command: BuiltInCommand): Promise<void>;
|
|
11
|
-
queueSteer(text: string, userName?: string): Promise<void>;
|
|
12
|
-
queueFollowUp(text: string, userName?: string): Promise<void>;
|
|
13
|
-
abort(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
export declare function getOrCreateRunner(sandboxConfig: SandboxConfig, channelId: string, channelDir: string): AgentRunner;
|
|
1
|
+
export type { AgentRunner } from "./agent/index.js";
|
|
2
|
+
export { ChannelRunner, getOrCreateRunner } from "./agent/index.js";
|
|
16
3
|
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|