@fgbg/mdocs 0.8.16 → 0.8.19

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.
Files changed (107) hide show
  1. package/README.md +114 -76
  2. package/agent-skills/changelog/SKILL.md +21 -1
  3. package/agent-skills/index/SKILL.md +1 -1
  4. package/agent-skills/index.json +4 -4
  5. package/agent-skills/usage-agent-dev-loop/SKILL.md +7 -7
  6. package/agent-skills/usage-onboarding-ai/SKILL.md +98 -29
  7. package/agent-skills/usage-settings/SKILL.md +4 -4
  8. package/dist/server/agent/Agent/almost-empty.js +15 -0
  9. package/dist/server/agent/Agent/almost-empty.js.map +1 -0
  10. package/dist/server/agent/Agent/almost-empty.test.js +20 -0
  11. package/dist/server/agent/Agent/almost-empty.test.js.map +1 -0
  12. package/dist/server/agent/Agent/choice-pending.js +71 -0
  13. package/dist/server/agent/Agent/choice-pending.js.map +1 -0
  14. package/dist/server/agent/Agent/choice-pending.test.js +58 -0
  15. package/dist/server/agent/Agent/choice-pending.test.js.map +1 -0
  16. package/dist/server/agent/Agent/run.js +49 -3
  17. package/dist/server/agent/Agent/run.js.map +1 -1
  18. package/dist/server/agent/Agent/system-prompt.js +6 -5
  19. package/dist/server/agent/Agent/system-prompt.js.map +1 -1
  20. package/dist/server/agent/Agent/tools-account.js +16 -3
  21. package/dist/server/agent/Agent/tools-account.js.map +1 -1
  22. package/dist/server/agent/Agent/tools-choice.js +70 -0
  23. package/dist/server/agent/Agent/tools-choice.js.map +1 -0
  24. package/dist/server/agent/Agent/tools-coding.js +6 -3
  25. package/dist/server/agent/Agent/tools-coding.js.map +1 -1
  26. package/dist/server/agent/Agent/tools-overwrite.js +158 -0
  27. package/dist/server/agent/Agent/tools-overwrite.js.map +1 -0
  28. package/dist/server/routes/agent.routes.js +54 -0
  29. package/dist/server/routes/agent.routes.js.map +1 -1
  30. package/dist/server/search/document-index-manager.js +11 -8
  31. package/dist/server/search/document-index-manager.js.map +1 -1
  32. package/dist/web/assets/AgentChatPanel-CLKeiDeR.js +1 -0
  33. package/dist/web/assets/AiWriteWorkbench-Ecp214S5.js +6 -0
  34. package/dist/web/assets/DiagramEditor-BTRe45TX-DzJEhM4C.js +2 -0
  35. package/dist/web/assets/DocumentEditor-NPbbAape.js +21 -0
  36. package/dist/web/assets/{MergeView-BqQuuHxp.js → MergeView-BnWbq08U.js} +2 -2
  37. package/dist/web/assets/PlaygroundPage-BSGipUkC.js +8 -0
  38. package/dist/web/assets/SettingsPage-OklrFCx7.js +1 -0
  39. package/dist/web/assets/Toolbar-DjPuWk5G.js +126 -0
  40. package/dist/web/assets/VisitorPickerModal-BUS-cOq0.js +1 -0
  41. package/dist/web/assets/copy-hWOco_4c.js +11 -0
  42. package/dist/web/assets/diagram-gfUK8OHx.js +3016 -0
  43. package/dist/web/assets/editor-ONzd_YnO.js +16 -0
  44. package/dist/web/assets/history-AMIEbyMc.js +6 -0
  45. package/dist/web/assets/index-BksNm27A.css +1 -0
  46. package/dist/web/assets/index-C46BU1-j.js +185 -0
  47. package/dist/web/assets/meta2d-C8Z4cn-d.js +110 -0
  48. package/dist/web/assets/meta2dEngine-BD2XbzaV-D7hJ1H1g.js +1 -0
  49. package/dist/web/assets/motion-C4pN8CfU.js +8 -0
  50. package/dist/web/assets/plus-CnKbiP8x.js +6 -0
  51. package/dist/web/assets/react-B7vrA7AR.js +2126 -0
  52. package/dist/web/assets/react-vendor-BNpqFP9B.js +242 -0
  53. package/dist/web/assets/ui-DxdLi_28.js +3126 -0
  54. package/dist/web/index.html +28 -3
  55. package/package.json +2 -2
  56. package/dist/web/assets/_baseUniq-CTLDRefi.js +0 -1
  57. package/dist/web/assets/arc-C6HVu_cL.js +0 -1
  58. package/dist/web/assets/architectureDiagram-Q4EWVU46-BGZyIwfI.js +0 -36
  59. package/dist/web/assets/blockDiagram-DXYQGD6D-BnmQmYk5.js +0 -132
  60. package/dist/web/assets/c4Diagram-AHTNJAMY-D5ZSFyGW.js +0 -10
  61. package/dist/web/assets/channel-ComR_5wI.js +0 -1
  62. package/dist/web/assets/chunk-4BX2VUAB-bB7dqglW.js +0 -1
  63. package/dist/web/assets/chunk-4TB4RGXK-DLOuFWAV.js +0 -206
  64. package/dist/web/assets/chunk-55IACEB6-F-vn8P_5.js +0 -1
  65. package/dist/web/assets/chunk-EDXVE4YY-DJggdpTr.js +0 -1
  66. package/dist/web/assets/chunk-FMBD7UC4-CGFWLCLP.js +0 -15
  67. package/dist/web/assets/chunk-OYMX7WX6-nDiR5vU7.js +0 -231
  68. package/dist/web/assets/chunk-QZHKN3VN-D29FhQRL.js +0 -1
  69. package/dist/web/assets/chunk-YZCP3GAM-BmFALtIq.js +0 -1
  70. package/dist/web/assets/classDiagram-6PBFFD2Q-CxGT_r56.js +0 -1
  71. package/dist/web/assets/classDiagram-v2-HSJHXN6E-CxGT_r56.js +0 -1
  72. package/dist/web/assets/clone-J85LHgdR.js +0 -1
  73. package/dist/web/assets/cose-bilkent-S5V4N54A-J4Iar7P4.js +0 -1
  74. package/dist/web/assets/cytoscape.esm-BiciSPf8.js +0 -331
  75. package/dist/web/assets/dagre-KV5264BT-Cg07vwKD.js +0 -4
  76. package/dist/web/assets/defaultLocale-DX6XiGOO.js +0 -1
  77. package/dist/web/assets/diagram-5BDNPKRD-D0FP-ifV.js +0 -10
  78. package/dist/web/assets/diagram-G4DWMVQ6-CNejTsu2.js +0 -24
  79. package/dist/web/assets/diagram-MMDJMWI5-DEQjM6f7.js +0 -43
  80. package/dist/web/assets/diagram-TYMM5635-CRGZl6sR.js +0 -24
  81. package/dist/web/assets/erDiagram-SMLLAGMA-BGOATwuq.js +0 -85
  82. package/dist/web/assets/flowDiagram-DWJPFMVM-DVHizH8q.js +0 -162
  83. package/dist/web/assets/ganttDiagram-T4ZO3ILL-dLF_Rbaw.js +0 -292
  84. package/dist/web/assets/gitGraphDiagram-UUTBAWPF-BNMxCpkL.js +0 -106
  85. package/dist/web/assets/graph-p7_cO2pv.js +0 -1
  86. package/dist/web/assets/index-5eJ_7IuO.css +0 -1
  87. package/dist/web/assets/index-DoJ58x_f.js +0 -6291
  88. package/dist/web/assets/infoDiagram-42DDH7IO-BDffsV8g.js +0 -2
  89. package/dist/web/assets/ishikawaDiagram-UXIWVN3A-C7fw-Hwt.js +0 -70
  90. package/dist/web/assets/journeyDiagram-VCZTEJTY-CuEYHG93.js +0 -139
  91. package/dist/web/assets/kanban-definition-6JOO6SKY-iodYb2rc.js +0 -89
  92. package/dist/web/assets/layout-Dblo7Nv4.js +0 -1
  93. package/dist/web/assets/linear-Dj7ICVZv.js +0 -1
  94. package/dist/web/assets/min-BC0MiAVU.js +0 -1
  95. package/dist/web/assets/mindmap-definition-QFDTVHPH-Bi8kR-nH.js +0 -96
  96. package/dist/web/assets/pieDiagram-DEJITSTG-DFXNJaaz.js +0 -30
  97. package/dist/web/assets/quadrantDiagram-34T5L4WZ-eG750Sg7.js +0 -7
  98. package/dist/web/assets/requirementDiagram-MS252O5E-BOS23lbk.js +0 -84
  99. package/dist/web/assets/sankeyDiagram-XADWPNL6-iuLPdF16.js +0 -10
  100. package/dist/web/assets/sequenceDiagram-FGHM5R23-9dOhL1F_.js +0 -157
  101. package/dist/web/assets/stateDiagram-FHFEXIEX-DiYubp3u.js +0 -1
  102. package/dist/web/assets/stateDiagram-v2-QKLJ7IA2-C0u2afgY.js +0 -1
  103. package/dist/web/assets/timeline-definition-GMOUNBTQ-B7K2SCHF.js +0 -120
  104. package/dist/web/assets/vennDiagram-DHZGUBPP-DwsDXISO.js +0 -34
  105. package/dist/web/assets/wardley-RL74JXVD-DOtyNPcb.js +0 -162
  106. package/dist/web/assets/wardleyDiagram-NUSXRM2D-IO3BUkVB.js +0 -20
  107. package/dist/web/assets/xychartDiagram-5P7HB3ND-B_eC9Ig0.js +0 -7
@@ -0,0 +1,71 @@
1
+ import { randomUUID } from "node:crypto";
2
+ const pending = new Map();
3
+ /** 默认 2 分钟,给用户留思考时间 */
4
+ export const DEFAULT_CHOICE_TIMEOUT_MS = 120_000;
5
+ /** 登记一次 choice 等待;超时 / abort 会自动解冻 */
6
+ export function waitForUserChoice(params) {
7
+ const requestId = randomUUID();
8
+ const timeoutMs = Math.min(Math.max(params.timeoutMs ?? DEFAULT_CHOICE_TIMEOUT_MS, 3_000), 300_000);
9
+ const promise = new Promise((resolve) => {
10
+ const finish = (result) => {
11
+ const cur = pending.get(requestId);
12
+ if (!cur)
13
+ return;
14
+ clearTimeout(cur.timer);
15
+ pending.delete(requestId);
16
+ resolve(result);
17
+ };
18
+ const timer = setTimeout(() => finish({ status: "timeout" }), timeoutMs);
19
+ pending.set(requestId, {
20
+ visitorId: params.visitorId,
21
+ resolve: finish,
22
+ timer,
23
+ });
24
+ const onAbort = () => finish({ status: "cancelled" });
25
+ if (params.signal) {
26
+ if (params.signal.aborted) {
27
+ onAbort();
28
+ return;
29
+ }
30
+ params.signal.addEventListener("abort", onAbort, { once: true });
31
+ }
32
+ });
33
+ return { requestId, promise };
34
+ }
35
+ /** 前端点选 / 自由输入后解冻;choice 为内容字符串 */
36
+ export function resolveUserChoice(visitorId, requestId, choice) {
37
+ const entry = pending.get(requestId);
38
+ if (!entry)
39
+ throw new Error("choice_not_found");
40
+ if (entry.visitorId !== visitorId)
41
+ throw new Error("choice_forbidden");
42
+ const text = choice.trim();
43
+ if (!text)
44
+ throw new Error("choice_empty");
45
+ const result = { status: "selected", choice: text };
46
+ entry.resolve(result);
47
+ return result;
48
+ }
49
+ /** 前端倒计时结束或用户放弃时解冻为 timeout */
50
+ export function expireUserChoice(visitorId, requestId) {
51
+ const entry = pending.get(requestId);
52
+ if (!entry)
53
+ throw new Error("choice_not_found");
54
+ if (entry.visitorId !== visitorId)
55
+ throw new Error("choice_forbidden");
56
+ entry.resolve({ status: "timeout" });
57
+ }
58
+ /** chat 断开时清掉该访客未完成的 choice */
59
+ export function cancelVisitorChoices(visitorId) {
60
+ for (const [id, entry] of pending) {
61
+ if (entry.visitorId === visitorId) {
62
+ entry.resolve({ status: "cancelled" });
63
+ // resolve 内会 delete;若竞态仍在则强制删
64
+ if (pending.has(id)) {
65
+ clearTimeout(entry.timer);
66
+ pending.delete(id);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=choice-pending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice-pending.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/choice-pending.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
+ import { cancelVisitorChoices, expireUserChoice, resolveUserChoice, waitForUserChoice, } from "./choice-pending.js";
3
+ describe("choice-pending", () => {
4
+ beforeEach(() => {
5
+ vi.useFakeTimers();
6
+ });
7
+ afterEach(() => {
8
+ vi.useRealTimers();
9
+ });
10
+ it("resolves with selected choice string", async () => {
11
+ const { requestId, promise } = waitForUserChoice({
12
+ visitorId: "v1",
13
+ timeoutMs: 60_000,
14
+ });
15
+ const settled = promise.then((r) => r);
16
+ resolveUserChoice("v1", requestId, " 打开帮写 ");
17
+ await expect(settled).resolves.toEqual({
18
+ status: "selected",
19
+ choice: "打开帮写",
20
+ });
21
+ });
22
+ it("times out", async () => {
23
+ const { promise } = waitForUserChoice({
24
+ visitorId: "v1",
25
+ timeoutMs: 15_000,
26
+ });
27
+ const settled = promise.then((r) => r);
28
+ await vi.advanceTimersByTimeAsync(15_000);
29
+ await expect(settled).resolves.toEqual({ status: "timeout" });
30
+ });
31
+ it("expireUserChoice from frontend", async () => {
32
+ const { requestId, promise } = waitForUserChoice({
33
+ visitorId: "v1",
34
+ timeoutMs: 60_000,
35
+ });
36
+ const settled = promise.then((r) => r);
37
+ expireUserChoice("v1", requestId);
38
+ await expect(settled).resolves.toEqual({ status: "timeout" });
39
+ });
40
+ it("cancelVisitorChoices cancels pending", async () => {
41
+ const { promise } = waitForUserChoice({
42
+ visitorId: "v1",
43
+ timeoutMs: 60_000,
44
+ });
45
+ const settled = promise.then((r) => r);
46
+ cancelVisitorChoices("v1");
47
+ await expect(settled).resolves.toEqual({ status: "cancelled" });
48
+ });
49
+ it("rejects empty choice", () => {
50
+ const { requestId } = waitForUserChoice({
51
+ visitorId: "v1",
52
+ timeoutMs: 60_000,
53
+ });
54
+ expect(() => resolveUserChoice("v1", requestId, " ")).toThrow("choice_empty");
55
+ cancelVisitorChoices("v1");
56
+ });
57
+ });
58
+ //# sourceMappingURL=choice-pending.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice-pending.test.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/choice-pending.test.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { createAccountTools } from "./tools-account.js";
9
9
  import { createCodingTools } from "./tools-coding.js";
10
10
  import { AgentSessionManager, } from "./session-manager.js";
11
11
  import { getAgentContextUsageForApi, mergeContextUsage, } from "./context-usage.js";
12
+ import { cancelVisitorChoices } from "./choice-pending.js";
12
13
  export { getAgentContextUsageForApi } from "./context-usage.js";
13
14
  export function getAgentStatus(visitorId) {
14
15
  const cfg = getVisitorAgentConfig(visitorId);
@@ -40,13 +41,29 @@ export async function runOnboardingChat(params) {
40
41
  if (!skills.isReady())
41
42
  throw new Error("skills_missing");
42
43
  const { models, model } = createDeepSeekModel(cfg);
44
+ const choiceHooks = {
45
+ onChoiceCard: (card) => {
46
+ onEvent({ type: "choice_card", ...card });
47
+ },
48
+ onChoiceExpired: (requestId) => {
49
+ onEvent({ type: "choice_expired", requestId });
50
+ },
51
+ ...(mode === "normal"
52
+ ? {
53
+ onOpenCoding: (payload) => {
54
+ onEvent({ type: "open_coding", ...payload });
55
+ },
56
+ }
57
+ : {}),
58
+ signal,
59
+ };
43
60
  const accountOrCoding = mode === "coding"
44
61
  ? createCodingTools(visitorId, {
45
62
  documentId: params.documentId ?? null,
46
63
  workingMarkdown: params.workingMarkdown ?? "",
47
64
  baseMarkdown: params.baseMarkdown ?? "",
48
- })
49
- : createAccountTools(visitorId);
65
+ }, choiceHooks)
66
+ : createAccountTools(visitorId, choiceHooks);
50
67
  const tools = [...createSkillTools(skills), ...accountOrCoding];
51
68
  const systemPrompt = buildSystemPrompt(mode);
52
69
  const sessionManager = new AgentSessionManager(visitorId, {
@@ -69,7 +86,10 @@ export async function runOnboardingChat(params) {
69
86
  onEvent,
70
87
  track,
71
88
  }));
72
- const onAbort = () => agent.abort();
89
+ const onAbort = () => {
90
+ cancelVisitorChoices(visitorId);
91
+ agent.abort();
92
+ };
73
93
  signal?.addEventListener("abort", onAbort);
74
94
  try {
75
95
  await agent.prompt(message);
@@ -97,6 +117,7 @@ export async function runOnboardingChat(params) {
97
117
  }
98
118
  finally {
99
119
  signal?.removeEventListener("abort", onAbort);
120
+ cancelVisitorChoices(visitorId);
100
121
  unsub();
101
122
  }
102
123
  }
@@ -313,6 +334,31 @@ function bindAgentEvents(opts) {
313
334
  });
314
335
  return;
315
336
  }
337
+ if (event.toolName === "overwrite_document") {
338
+ const status = String(details?.status ?? "");
339
+ const name = String(details?.displayName ?? "").trim() || "文档";
340
+ if (status === "overwritten") {
341
+ onEvent({
342
+ type: "tool_notice",
343
+ toolName: event.toolName,
344
+ text: `已覆写「${name}」`,
345
+ });
346
+ const documentId = String(details?.documentId ?? "");
347
+ const headCommitId = String(details?.headCommitId ?? "");
348
+ if (documentId && headCommitId) {
349
+ onEvent({ type: "document_overwritten", documentId, headCommitId });
350
+ }
351
+ onEvent({ type: "tree_changed", reason: "overwrite_document" });
352
+ }
353
+ else if (status === "redirected_to_coding") {
354
+ onEvent({
355
+ type: "tool_notice",
356
+ toolName: event.toolName,
357
+ text: `「${name}」已打开帮写`,
358
+ });
359
+ }
360
+ return;
361
+ }
316
362
  if (event.toolName === "get_working_document") {
317
363
  onEvent({
318
364
  type: "tool_notice",
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/run.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  const NORMAL_RULES = `你是 mdocs 智能助手:上手向导 + 账号助理。可帮助理解产品用法,也可代为执行账号内的域/目录/空文档等结构操作。
2
2
 
3
3
  规则:
4
- 1. 禁止代写、润色、改写用户文档,也不要给出可直接粘贴进正文的长文草稿;不做发布、不做删除。
4
+ 1. 禁止代写长文草稿给用户粘贴;不做发布、不做删除。改已有文档正文必须调用「覆写文档正文」(overwrite_document):几乎空则工具直接写入;已有实质正文时工具会弹出「直接覆写 / 打开帮写审阅 / 取消」供用户选择。有正文也可以覆写,只是要用户同意——由该工具出卡,你不得自行声称「无法覆写」。
5
5
  2. 需要产品知识时:先调用「查询 mdocs 手册大纲」了解有哪些主题,再调用「查询 mdocs 手册正文」按 id 阅读相关章节后回答。
6
- 3. 允许调用账号工具执行:列域、建域、搜文、列树、列我的文档、建空文档、建文件夹;以及列访客、列/添加域成员、读取文档内容、移动文档。执行后基于工具 JSON 结果如实反馈,不得编造工具未返回的字段。用户问某篇具体内容时用「读取文档内容」(documentId);搜文/列树只给摘要或元数据。用户问「有哪些人可以邀请」时调用「列出活跃访客」;问某域现有成员时调用「列出域成员」;要把某人加进 restricted 域时先列访客再「添加域成员」。移动文档用「移动文档」(parentId 为文件夹 id,不传则到域根);仅创建者可移动。
7
- 4. 若用户要求写作或改文档正文,明确拒绝,并提示他们打开「帮写」功能(coding 模式)在专用工作台完成。可读取用户有权查看的文档来回答问题,但不要据此代写或改写正文。
8
- 5. 先给出工具结果与结论,再给简短下一步建议;回答简洁、面向操作步骤。
9
- 6. 每轮回答正文结束后,另起一段追加一句引导(只追加一次,不要反复追问):先问「您还有什么想了解的吗?」,再给 1~2 个与本轮话题相关、可继续深挖的具体问题示例。示例要短、可直接当作下一句提问;与当前无关的主题不要乱推。`;
6
+ 3. 允许调用账号工具执行:列域、建域、搜文、列树、列我的文档、建空文档、建文件夹;以及列访客、列/添加域成员、读取文档内容、移动文档、覆写文档正文。执行后基于工具 JSON 结果如实反馈,不得编造工具未返回的字段。用户问某篇具体内容时用「读取文档内容」(documentId);搜文/列树只给摘要或元数据。用户问「有哪些人可以邀请」时调用「列出活跃访客」;问某域现有成员时调用「列出域成员」;要把某人加进 restricted 域时先列访客再「添加域成员」。移动文档用「移动文档」(parentId 为文件夹 id,不传则到域根);仅创建者可移动。
7
+ 4. 若需要用户在若干方案中做选择(例如选 A/B),必须调用「请用户选择」(ask_user_choice)。但用户要改某篇已有文档时:禁止用 ask_user_choice 自拟「无法覆写 / 新建一篇 / 我自己处理」等绕道选项;必须直接调用 overwrite_document,让工具出卡。工具返回后再如实说明结果。
8
+ 5. 用户要求写作或改文档正文:调用 overwrite_document(documentId, 完整 markdown);按工具返回说明已覆写、已打开帮写、或用户取消/超时。可读取用户有权查看的文档来回答问题。
9
+ 6. 先给出工具结果与结论,再给简短下一步建议;回答简洁、面向操作步骤。
10
+ 7. 每轮回答正文结束后,另起一段追加一句引导(只追加一次,不要反复追问):先问「您还有什么想了解的吗?」,再给 1~2 个与本轮话题相关、可继续深挖的具体问题示例。示例要短、可直接当作下一句提问;与当前无关的主题不要乱推。`;
10
11
  const CODING_RULES = `你是 mdocs「帮写」助手(coding 模式):在纯 Markdown 工作台协助用户起草/改稿。
11
12
 
12
13
  规则:
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG;;;;;;;;iHAQ4F,CAAC;AAElH,MAAM,YAAY,GAAG;;;;;;;;;sBASC,CAAC;AAEvB,MAAM,UAAU,iBAAiB,CAAC,OAAkB,QAAQ;IAC1D,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG;;;;;;;;;iHAS4F,CAAC;AAElH,MAAM,YAAY,GAAG;;;;;;;;;sBASC,CAAC;AAEvB,MAAM,UAAU,iBAAiB,CAAC,OAAkB,QAAQ;IAC1D,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AACzD,CAAC"}
@@ -1,12 +1,25 @@
1
1
  import { createDocumentTools } from "./tools-documents.js";
2
2
  import { createDomainTools } from "./tools-domains.js";
3
3
  import { createVisitorTools } from "./tools-visitors.js";
4
- /** 账号/结构操作 tools(不写正文);与手册 tools 一并交给 Pi。 */
5
- export function createAccountTools(visitorId) {
6
- return [
4
+ import { createChoiceTools } from "./tools-choice.js";
5
+ import { createOverwriteTools, } from "./tools-overwrite.js";
6
+ function isOverwriteHooks(hooks) {
7
+ return !!hooks && typeof hooks.onOpenCoding === "function";
8
+ }
9
+ /** 账号/结构操作 tools;带 hooks 时另挂 choice;Ask 另挂覆写。 */
10
+ export function createAccountTools(visitorId, choiceHooks, options = {}) {
11
+ const withOverwrite = options.withOverwrite !== false;
12
+ const base = [
7
13
  ...createVisitorTools(visitorId),
8
14
  ...createDomainTools(visitorId),
9
15
  ...createDocumentTools(visitorId),
10
16
  ];
17
+ const withChoice = choiceHooks
18
+ ? [...base, ...createChoiceTools(visitorId, choiceHooks)]
19
+ : base;
20
+ if (withOverwrite && isOverwriteHooks(choiceHooks)) {
21
+ return [...withChoice, ...createOverwriteTools(visitorId, choiceHooks)];
22
+ }
23
+ return withChoice;
11
24
  }
12
25
  //# sourceMappingURL=tools-account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools-account.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/tools-account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO;QACL,GAAG,kBAAkB,CAAC,SAAS,CAAC;QAChC,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAC/B,GAAG,mBAAmB,CAAC,SAAS,CAAC;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tools-account.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/tools-account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACL,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAO9B,SAAS,gBAAgB,CACvB,KAAkC;IAElC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAQ,KAA4B,CAAC,YAAY,KAAK,UAAU,CAAC;AACrF,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,WAA6B,EAC7B,UAA+B,EAAE;IAEjC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG;QACX,GAAG,kBAAkB,CAAC,SAAS,CAAC;QAChC,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAC/B,GAAG,mBAAmB,CAAC,SAAS,CAAC;KAClC,CAAC;IACF,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,aAAa,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Type } from "@earendil-works/pi-ai";
2
+ import { DEFAULT_CHOICE_TIMEOUT_MS, waitForUserChoice, } from "./choice-pending.js";
3
+ function asToolResult(payload) {
4
+ return {
5
+ content: [{ type: "text", text: JSON.stringify(payload, null, 2) }],
6
+ details: payload,
7
+ };
8
+ }
9
+ function normalizeOptions(raw) {
10
+ if (!Array.isArray(raw))
11
+ return [];
12
+ const out = [];
13
+ for (const item of raw) {
14
+ if (typeof item !== "string")
15
+ continue;
16
+ const t = item.trim();
17
+ if (t && !out.includes(t))
18
+ out.push(t);
19
+ }
20
+ return out;
21
+ }
22
+ /** 向用户展示选项并阻塞等待内容字符串选择(可自由输入) */
23
+ export function createChoiceTools(visitorId, hooks) {
24
+ return [
25
+ {
26
+ name: "ask_user_choice",
27
+ label: "请用户选择",
28
+ description: "向用户展示一张选择卡片:options 为内容字符串列表(你自填、不固定)。调用后会阻塞直到用户点选某项、自行输入一段文字、超时或取消。需要用户做二选一/多选一时必须用本工具,禁止只在口头上问。返回 JSON 含 status 与 choice(选中的内容字符串)。",
29
+ parameters: Type.Object({
30
+ title: Type.Optional(Type.String({ description: "卡片标题/问题" })),
31
+ options: Type.Array(Type.String({ description: "一个可点选项的文案" }), {
32
+ description: "至少 2 个选项文案",
33
+ minItems: 2,
34
+ }),
35
+ timeoutMs: Type.Optional(Type.Number({ description: "超时毫秒,默认 120000(2 分钟)" })),
36
+ }),
37
+ execute: async (_id, params) => {
38
+ const title = typeof params.title === "string"
39
+ ? params.title.trim()
40
+ : "请选择";
41
+ const options = normalizeOptions(params.options);
42
+ if (options.length < 2) {
43
+ throw new Error("options must contain at least 2 non-empty strings");
44
+ }
45
+ const timeoutRaw = params.timeoutMs;
46
+ const timeoutMs = typeof timeoutRaw === "number" && Number.isFinite(timeoutRaw)
47
+ ? timeoutRaw
48
+ : DEFAULT_CHOICE_TIMEOUT_MS;
49
+ const { requestId, promise } = waitForUserChoice({
50
+ visitorId,
51
+ timeoutMs,
52
+ signal: hooks.signal,
53
+ });
54
+ const expiresAt = new Date(Date.now() + timeoutMs).toISOString();
55
+ hooks.onChoiceCard({
56
+ requestId,
57
+ title: title || "请选择",
58
+ options,
59
+ expiresAt,
60
+ });
61
+ const result = await promise;
62
+ if (result.status === "timeout") {
63
+ hooks.onChoiceExpired?.(requestId);
64
+ }
65
+ return asToolResult(result);
66
+ },
67
+ },
68
+ ];
69
+ }
70
+ //# sourceMappingURL=tools-choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-choice.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/tools-choice.ts"],"names":[],"mappings":"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"}
@@ -65,8 +65,11 @@ export function createCodingWriteTools(ctx) {
65
65
  },
66
66
  ];
67
67
  }
68
- /** coding:账号结构 tools + 读写 buffer tools(手册 tools 在 run 里另挂) */
69
- export function createCodingTools(visitorId, ctx) {
70
- return [...createAccountTools(visitorId), ...createCodingWriteTools(ctx)];
68
+ /** coding:账号结构 tools + 读写 buffer tools(手册 tools 在 run 里另挂;不含服务端覆写) */
69
+ export function createCodingTools(visitorId, ctx, choiceHooks) {
70
+ return [
71
+ ...createAccountTools(visitorId, choiceHooks, { withOverwrite: false }),
72
+ ...createCodingWriteTools(ctx),
73
+ ];
71
74
  }
72
75
  //# sourceMappingURL=tools-coding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools-coding.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/tools-coding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools-coding.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/tools-coding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import { Type } from "@earendil-works/pi-ai";
2
+ import { assertDocumentAccess, DocumentError } from "../../access/access-control.js";
3
+ import { getDocument, updateDocument } from "../../documents/document.service.js";
4
+ import { isAlmostEmptyDocumentText } from "./almost-empty.js";
5
+ import { DEFAULT_CHOICE_TIMEOUT_MS, waitForUserChoice, } from "./choice-pending.js";
6
+ const OVERWRITE_OPTION = "直接覆写";
7
+ const OPEN_CODING_OPTION = "打开帮写审阅";
8
+ const CANCEL_OPTION = "取消";
9
+ function asToolResult(payload) {
10
+ return {
11
+ content: [{ type: "text", text: JSON.stringify(payload, null, 2) }],
12
+ details: payload,
13
+ };
14
+ }
15
+ function classifyChoice(choice) {
16
+ const t = choice.trim();
17
+ if (t === OVERWRITE_OPTION || t === "覆写" || t.includes("直接覆写")) {
18
+ return "overwrite";
19
+ }
20
+ if (t === OPEN_CODING_OPTION || t.includes("帮写")) {
21
+ return "coding";
22
+ }
23
+ if (t === CANCEL_OPTION || t.includes("取消")) {
24
+ return "cancel";
25
+ }
26
+ // 自由输入:含「覆写」优先;否则不当作同意覆写
27
+ if (t.includes("覆写"))
28
+ return "overwrite";
29
+ return "cancel";
30
+ }
31
+ function doOverwrite(params) {
32
+ const updated = updateDocument({
33
+ actorVisitorId: params.visitorId,
34
+ documentId: params.documentId,
35
+ content: params.markdown,
36
+ contentFormat: "markdown",
37
+ version: { localBaseCommitId: params.localBaseCommitId },
38
+ });
39
+ return asToolResult({
40
+ status: "overwritten",
41
+ documentId: updated.documentId,
42
+ displayName: updated.displayName,
43
+ headCommitId: updated.headCommitId ?? null,
44
+ overwritten: true,
45
+ localBaseCommitId: params.localBaseCommitId,
46
+ });
47
+ }
48
+ /**
49
+ * Ask 覆写:空文直写;有正文则请用户选「直接覆写 / 打开帮写 / 取消」。
50
+ */
51
+ export function createOverwriteTools(visitorId, hooks) {
52
+ return [
53
+ {
54
+ name: "overwrite_document",
55
+ label: "覆写文档正文",
56
+ description: "将完整 Markdown 写入指定文档(服务端)。几乎空则直接写入;已有实质正文时本工具会弹出选择卡,选项固定为以下三项(勿另调 ask_user_choice 自拟其它文案):「直接覆写」「打开帮写审阅」「取消」。有正文不是无法覆写,只是要用户点选。必须传入完整 markdown。",
57
+ parameters: Type.Object({
58
+ documentId: Type.String({ description: "目标文档 documentId" }),
59
+ markdown: Type.String({ description: "要写入的完整 Markdown 正文" }),
60
+ }),
61
+ execute: async (_id, params) => {
62
+ const documentId = String(params.documentId ?? "").trim();
63
+ const markdown = String(params.markdown ?? "");
64
+ if (!documentId)
65
+ throw new Error("documentId is required");
66
+ try {
67
+ assertDocumentAccess(documentId, visitorId, "edit");
68
+ const doc = getDocument(documentId, visitorId, "text");
69
+ const plain = doc.content ?? "";
70
+ const displayName = String(doc.displayName ?? "").trim() || "未命名文档";
71
+ const headCommitId = doc.headCommitId;
72
+ if (!headCommitId) {
73
+ throw new Error("DOCUMENT_HAS_NO_HEAD: 文档缺少 headCommitId,无法安全覆写");
74
+ }
75
+ if (isAlmostEmptyDocumentText(plain)) {
76
+ return doOverwrite({
77
+ visitorId,
78
+ documentId,
79
+ markdown,
80
+ localBaseCommitId: headCommitId,
81
+ });
82
+ }
83
+ const { requestId, promise } = waitForUserChoice({
84
+ visitorId,
85
+ timeoutMs: DEFAULT_CHOICE_TIMEOUT_MS,
86
+ signal: hooks.signal,
87
+ });
88
+ const expiresAt = new Date(Date.now() + DEFAULT_CHOICE_TIMEOUT_MS).toISOString();
89
+ hooks.onChoiceCard({
90
+ requestId,
91
+ title: `「${displayName}」已有正文,请选择`,
92
+ options: [OVERWRITE_OPTION, OPEN_CODING_OPTION, CANCEL_OPTION],
93
+ expiresAt,
94
+ });
95
+ const choiceResult = await promise;
96
+ if (choiceResult.status === "timeout") {
97
+ hooks.onChoiceExpired?.(requestId);
98
+ return asToolResult({
99
+ status: "timeout",
100
+ documentId,
101
+ overwritten: false,
102
+ message: "用户未在时限内选择;未覆写、未打开帮写",
103
+ });
104
+ }
105
+ if (choiceResult.status === "cancelled") {
106
+ return asToolResult({
107
+ status: "cancelled",
108
+ documentId,
109
+ overwritten: false,
110
+ message: "选择已取消;未覆写、未打开帮写",
111
+ });
112
+ }
113
+ const choice = choiceResult.choice ?? "";
114
+ const action = classifyChoice(choice);
115
+ if (action === "overwrite") {
116
+ // 同意后重新读 head,避免等待期间被他人推进
117
+ const fresh = getDocument(documentId, visitorId, "text");
118
+ const base = fresh.headCommitId;
119
+ if (!base) {
120
+ throw new Error("DOCUMENT_HAS_NO_HEAD: 文档缺少 headCommitId,无法安全覆写");
121
+ }
122
+ return doOverwrite({
123
+ visitorId,
124
+ documentId,
125
+ markdown,
126
+ localBaseCommitId: base,
127
+ });
128
+ }
129
+ if (action === "coding") {
130
+ hooks.onOpenCoding({ documentId, displayName });
131
+ return asToolResult({
132
+ status: "redirected_to_coding",
133
+ documentId,
134
+ displayName,
135
+ choice,
136
+ overwritten: false,
137
+ message: "已请前端打开帮写;Ask 未覆写服务端正文",
138
+ });
139
+ }
140
+ return asToolResult({
141
+ status: "declined",
142
+ documentId,
143
+ choice,
144
+ overwritten: false,
145
+ message: "用户取消;未覆写、未打开帮写",
146
+ });
147
+ }
148
+ catch (err) {
149
+ if (err instanceof DocumentError) {
150
+ throw new Error(`${err.code}: ${err.message}`);
151
+ }
152
+ throw err;
153
+ }
154
+ },
155
+ },
156
+ ];
157
+ }
158
+ //# sourceMappingURL=tools-overwrite.js.map