@jingyi0605/codingns 0.1.4 → 0.1.5

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 (209) hide show
  1. package/dist/public/assets/{TerminalPage-4ulgBhv9.js → TerminalPage-4p6EBqrR.js} +1 -1
  2. package/dist/public/assets/gemini-D4G1NbrE.png +0 -0
  3. package/dist/public/assets/index-CxeghocY.css +1 -0
  4. package/dist/public/assets/index-DXusStl0.js +108 -0
  5. package/dist/public/assets/kimi-BWNNSh7e.png +0 -0
  6. package/dist/public/index.html +2 -2
  7. package/dist/server/config/env.d.ts +6 -0
  8. package/dist/server/config/env.js +145 -0
  9. package/dist/server/config/env.js.map +1 -1
  10. package/dist/server/config/opencode-system-probe-helper-process.d.ts +24 -0
  11. package/dist/server/config/opencode-system-probe-helper-process.js +70 -5
  12. package/dist/server/config/opencode-system-probe-helper-process.js.map +1 -1
  13. package/dist/server/modules/butler/butler-action-context-service.d.ts +30 -0
  14. package/dist/server/modules/butler/butler-action-context-service.js +108 -0
  15. package/dist/server/modules/butler/butler-action-context-service.js.map +1 -0
  16. package/dist/server/modules/butler/butler-auth-service.d.ts +17 -0
  17. package/dist/server/modules/butler/butler-auth-service.js +91 -0
  18. package/dist/server/modules/butler/butler-auth-service.js.map +1 -0
  19. package/dist/server/modules/butler/butler-control-action-service.d.ts +65 -0
  20. package/dist/server/modules/butler/butler-control-action-service.js +296 -0
  21. package/dist/server/modules/butler/butler-control-action-service.js.map +1 -0
  22. package/dist/server/modules/butler/butler-control-session-service.d.ts +55 -0
  23. package/dist/server/modules/butler/butler-control-session-service.js +367 -0
  24. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -0
  25. package/dist/server/modules/butler/butler-controller.d.ts +367 -0
  26. package/dist/server/modules/butler/butler-controller.js +475 -0
  27. package/dist/server/modules/butler/butler-controller.js.map +1 -0
  28. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.d.ts +34 -0
  29. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js +77 -0
  30. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js.map +1 -0
  31. package/dist/server/modules/butler/butler-follow-up-scheduler.d.ts +23 -0
  32. package/dist/server/modules/butler/butler-follow-up-scheduler.js +57 -0
  33. package/dist/server/modules/butler/butler-follow-up-scheduler.js.map +1 -0
  34. package/dist/server/modules/butler/butler-follow-up-service.d.ts +86 -0
  35. package/dist/server/modules/butler/butler-follow-up-service.js +948 -0
  36. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -0
  37. package/dist/server/modules/butler/butler-inbox-service.d.ts +35 -0
  38. package/dist/server/modules/butler/butler-inbox-service.js +136 -0
  39. package/dist/server/modules/butler/butler-inbox-service.js.map +1 -0
  40. package/dist/server/modules/butler/butler-notification-service.d.ts +12 -0
  41. package/dist/server/modules/butler/butler-notification-service.js +45 -0
  42. package/dist/server/modules/butler/butler-notification-service.js.map +1 -0
  43. package/dist/server/modules/butler/butler-profile-service.d.ts +26 -0
  44. package/dist/server/modules/butler/butler-profile-service.js +529 -0
  45. package/dist/server/modules/butler/butler-profile-service.js.map +1 -0
  46. package/dist/server/modules/butler/butler-project-service.d.ts +48 -0
  47. package/dist/server/modules/butler/butler-project-service.js +253 -0
  48. package/dist/server/modules/butler/butler-project-service.js.map +1 -0
  49. package/dist/server/modules/butler/butler-session-service.d.ts +79 -0
  50. package/dist/server/modules/butler/butler-session-service.js +503 -0
  51. package/dist/server/modules/butler/butler-session-service.js.map +1 -0
  52. package/dist/server/modules/butler/butler-session-summary-service.d.ts +55 -0
  53. package/dist/server/modules/butler/butler-session-summary-service.js +382 -0
  54. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -0
  55. package/dist/server/modules/butler/context-aggregator.d.ts +187 -0
  56. package/dist/server/modules/butler/context-aggregator.js +807 -0
  57. package/dist/server/modules/butler/context-aggregator.js.map +1 -0
  58. package/dist/server/modules/butler/instruction-adapter.d.ts +28 -0
  59. package/dist/server/modules/butler/instruction-adapter.js +101 -0
  60. package/dist/server/modules/butler/instruction-adapter.js.map +1 -0
  61. package/dist/server/modules/butler/patrol-execution-service.d.ts +47 -0
  62. package/dist/server/modules/butler/patrol-execution-service.js +347 -0
  63. package/dist/server/modules/butler/patrol-execution-service.js.map +1 -0
  64. package/dist/server/modules/butler/patrol-plan-service.d.ts +54 -0
  65. package/dist/server/modules/butler/patrol-plan-service.js +272 -0
  66. package/dist/server/modules/butler/patrol-plan-service.js.map +1 -0
  67. package/dist/server/modules/butler/patrol-run-service.d.ts +60 -0
  68. package/dist/server/modules/butler/patrol-run-service.js +185 -0
  69. package/dist/server/modules/butler/patrol-run-service.js.map +1 -0
  70. package/dist/server/modules/butler/patrol-scheduler.d.ts +36 -0
  71. package/dist/server/modules/butler/patrol-scheduler.js +99 -0
  72. package/dist/server/modules/butler/patrol-scheduler.js.map +1 -0
  73. package/dist/server/modules/butler/project-memory-service.d.ts +30 -0
  74. package/dist/server/modules/butler/project-memory-service.js +103 -0
  75. package/dist/server/modules/butler/project-memory-service.js.map +1 -0
  76. package/dist/server/modules/butler/provider-adapter-registry.d.ts +61 -0
  77. package/dist/server/modules/butler/provider-adapter-registry.js +430 -0
  78. package/dist/server/modules/butler/provider-adapter-registry.js.map +1 -0
  79. package/dist/server/modules/butler/session-summary-instruction-adapter.d.ts +28 -0
  80. package/dist/server/modules/butler/session-summary-instruction-adapter.js +79 -0
  81. package/dist/server/modules/butler/session-summary-instruction-adapter.js.map +1 -0
  82. package/dist/server/modules/butler/session-summary-scheduler.d.ts +23 -0
  83. package/dist/server/modules/butler/session-summary-scheduler.js +57 -0
  84. package/dist/server/modules/butler/session-summary-scheduler.js.map +1 -0
  85. package/dist/server/modules/butler/verification-run-service.d.ts +73 -0
  86. package/dist/server/modules/butler/verification-run-service.js +633 -0
  87. package/dist/server/modules/butler/verification-run-service.js.map +1 -0
  88. package/dist/server/modules/preferences/profile-service.js +8 -2
  89. package/dist/server/modules/preferences/profile-service.js.map +1 -1
  90. package/dist/server/modules/sessions/claude-runtime-helper-process.js +1 -1
  91. package/dist/server/modules/sessions/claude-runtime-helper-process.js.map +1 -1
  92. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +5 -1
  93. package/dist/server/modules/sessions/codex-app-server-helper-client.js +10 -2
  94. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  95. package/dist/server/modules/sessions/session-controller.d.ts +3 -1
  96. package/dist/server/modules/sessions/session-controller.js +11 -2
  97. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  98. package/dist/server/modules/sessions/session-history-service.d.ts +14 -1
  99. package/dist/server/modules/sessions/session-history-service.js +291 -30
  100. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  101. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +25 -2
  102. package/dist/server/modules/sessions/session-live-runtime-service.js +526 -158
  103. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  104. package/dist/server/modules/sessions/session-provider-error-mapper.js +28 -0
  105. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  106. package/dist/server/modules/workbench/workbench-service.d.ts +7 -1
  107. package/dist/server/modules/workbench/workbench-service.js +31 -7
  108. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  109. package/dist/server/routes/butler.d.ts +3 -0
  110. package/dist/server/routes/butler.js +54 -0
  111. package/dist/server/routes/butler.js.map +1 -0
  112. package/dist/server/server/create-server.d.ts +61 -0
  113. package/dist/server/server/create-server.js +148 -4
  114. package/dist/server/server/create-server.js.map +1 -1
  115. package/dist/server/storage/repositories/butler-control-event-repository.d.ts +8 -0
  116. package/dist/server/storage/repositories/butler-control-event-repository.js +78 -0
  117. package/dist/server/storage/repositories/butler-control-event-repository.js.map +1 -0
  118. package/dist/server/storage/repositories/butler-control-session-repository.d.ts +11 -0
  119. package/dist/server/storage/repositories/butler-control-session-repository.js +86 -0
  120. package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -0
  121. package/dist/server/storage/repositories/butler-follow-up-task-repository.d.ts +16 -0
  122. package/dist/server/storage/repositories/butler-follow-up-task-repository.js +252 -0
  123. package/dist/server/storage/repositories/butler-follow-up-task-repository.js.map +1 -0
  124. package/dist/server/storage/repositories/butler-inbox-item-repository.d.ts +15 -0
  125. package/dist/server/storage/repositories/butler-inbox-item-repository.js +111 -0
  126. package/dist/server/storage/repositories/butler-inbox-item-repository.js.map +1 -0
  127. package/dist/server/storage/repositories/butler-notification-archive-repository.d.ts +9 -0
  128. package/dist/server/storage/repositories/butler-notification-archive-repository.js +48 -0
  129. package/dist/server/storage/repositories/butler-notification-archive-repository.js.map +1 -0
  130. package/dist/server/storage/repositories/butler-profile-repository.d.ts +9 -0
  131. package/dist/server/storage/repositories/butler-profile-repository.js +86 -0
  132. package/dist/server/storage/repositories/butler-profile-repository.js.map +1 -0
  133. package/dist/server/storage/repositories/butler-project-repository.d.ts +14 -0
  134. package/dist/server/storage/repositories/butler-project-repository.js +140 -0
  135. package/dist/server/storage/repositories/butler-project-repository.js.map +1 -0
  136. package/dist/server/storage/repositories/butler-session-repository.d.ts +11 -0
  137. package/dist/server/storage/repositories/butler-session-repository.js +106 -0
  138. package/dist/server/storage/repositories/butler-session-repository.js.map +1 -0
  139. package/dist/server/storage/repositories/butler-session-summary-state-repository.d.ts +8 -0
  140. package/dist/server/storage/repositories/butler-session-summary-state-repository.js +62 -0
  141. package/dist/server/storage/repositories/butler-session-summary-state-repository.js.map +1 -0
  142. package/dist/server/storage/repositories/patrol-plan-repository.d.ts +27 -0
  143. package/dist/server/storage/repositories/patrol-plan-repository.js +119 -0
  144. package/dist/server/storage/repositories/patrol-plan-repository.js.map +1 -0
  145. package/dist/server/storage/repositories/patrol-run-repository.d.ts +28 -0
  146. package/dist/server/storage/repositories/patrol-run-repository.js +121 -0
  147. package/dist/server/storage/repositories/patrol-run-repository.js.map +1 -0
  148. package/dist/server/storage/repositories/project-memory-repository.d.ts +15 -0
  149. package/dist/server/storage/repositories/project-memory-repository.js +150 -0
  150. package/dist/server/storage/repositories/project-memory-repository.js.map +1 -0
  151. package/dist/server/storage/repositories/session-checkpoint-repository.d.ts +9 -0
  152. package/dist/server/storage/repositories/session-checkpoint-repository.js +72 -0
  153. package/dist/server/storage/repositories/session-checkpoint-repository.js.map +1 -0
  154. package/dist/server/storage/repositories/session-message-origin-repository.d.ts +10 -0
  155. package/dist/server/storage/repositories/session-message-origin-repository.js +93 -0
  156. package/dist/server/storage/repositories/session-message-origin-repository.js.map +1 -0
  157. package/dist/server/storage/repositories/verification-run-repository.d.ts +29 -0
  158. package/dist/server/storage/repositories/verification-run-repository.js +125 -0
  159. package/dist/server/storage/repositories/verification-run-repository.js.map +1 -0
  160. package/dist/server/storage/sqlite/client.js +39 -0
  161. package/dist/server/storage/sqlite/client.js.map +1 -1
  162. package/dist/server/storage/sqlite/schema.sql +324 -0
  163. package/dist/server/types/domain.d.ts +261 -1
  164. package/dist/server/ws/ws-server.d.ts +2 -1
  165. package/dist/server/ws/ws-server.js +2 -1
  166. package/dist/server/ws/ws-server.js.map +1 -1
  167. package/node_modules/@codingns/session-sync-core/dist/index.d.ts +4 -0
  168. package/node_modules/@codingns/session-sync-core/dist/index.js +4 -0
  169. package/node_modules/@codingns/session-sync-core/dist/index.js.map +1 -1
  170. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.d.ts +18 -0
  171. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js +659 -0
  172. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js.map +1 -0
  173. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.d.ts +11 -0
  174. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js +72 -0
  175. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js.map +1 -0
  176. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +8 -0
  177. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +89 -0
  178. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -1
  179. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +4 -1
  180. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  181. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +41 -0
  182. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +1086 -0
  183. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -0
  184. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +29 -0
  185. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +578 -0
  186. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +1 -0
  187. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +2 -1
  188. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  189. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +30 -2
  190. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +1 -1
  191. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +2 -0
  192. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +43 -5
  193. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  194. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +2 -0
  195. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +320 -69
  196. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  197. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.d.ts +21 -0
  198. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js +537 -0
  199. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js.map +1 -0
  200. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.d.ts +38 -0
  201. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js +911 -0
  202. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js.map +1 -0
  203. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.d.ts +6 -0
  204. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js +9 -0
  205. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js.map +1 -0
  206. package/node_modules/@codingns/session-sync-core/package.json +8 -0
  207. package/package.json +1 -1
  208. package/dist/public/assets/index-C5lu52cQ.css +0 -1
  209. package/dist/public/assets/index-WpdUo_Vs.js +0 -108
@@ -0,0 +1 @@
1
+ {"version":3,"file":"butler-follow-up-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-follow-up-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { ButlerInboxItem, ButlerInboxItemPriority, ButlerInboxItemStatus, ButlerInboxItemType, ButlerProject } from "../../types/domain.js";
2
+ import type { ButlerInboxItemRepository } from "../../storage/repositories/butler-inbox-item-repository.js";
3
+ import type { ButlerProjectRepository } from "../../storage/repositories/butler-project-repository.js";
4
+ export interface ButlerInboxItemView extends ButlerInboxItem {
5
+ projectName: string;
6
+ workspaceId: string;
7
+ projectLifecycleStatus: ButlerProject["lifecycleStatus"];
8
+ }
9
+ interface ButlerInboxItemInput {
10
+ projectId?: string;
11
+ itemType?: ButlerInboxItemType;
12
+ title?: string;
13
+ content?: string;
14
+ priority?: ButlerInboxItemPriority;
15
+ status?: ButlerInboxItemStatus;
16
+ }
17
+ export declare class ButlerInboxService {
18
+ private readonly butlerProjectRepository;
19
+ private readonly butlerInboxItemRepository;
20
+ constructor(butlerProjectRepository: Pick<ButlerProjectRepository, "findById" | "list">, butlerInboxItemRepository: Pick<ButlerInboxItemRepository, "create" | "list" | "findById" | "update" | "delete">);
21
+ listItems(filters?: {
22
+ workspaceId?: string;
23
+ projectId?: string;
24
+ status?: ButlerInboxItemStatus;
25
+ itemType?: ButlerInboxItemType;
26
+ }): ButlerInboxItemView[];
27
+ createItem(input: ButlerInboxItemInput): ButlerInboxItemView;
28
+ updateItem(itemId: string, input: ButlerInboxItemInput): ButlerInboxItemView;
29
+ deleteItem(itemId: string): void;
30
+ private requireProject;
31
+ private requireItem;
32
+ private requireText;
33
+ private toView;
34
+ }
35
+ export {};
@@ -0,0 +1,136 @@
1
+ import { AppError } from "../../shared/errors/app-error.js";
2
+ import { createId } from "../../shared/utils/id.js";
3
+ import { nowIso } from "../../shared/utils/time.js";
4
+ export class ButlerInboxService {
5
+ butlerProjectRepository;
6
+ butlerInboxItemRepository;
7
+ constructor(butlerProjectRepository, butlerInboxItemRepository) {
8
+ this.butlerProjectRepository = butlerProjectRepository;
9
+ this.butlerInboxItemRepository = butlerInboxItemRepository;
10
+ }
11
+ listItems(filters) {
12
+ const projects = this.butlerProjectRepository.list();
13
+ const projectMap = new Map(projects.map((project) => [project.id, project]));
14
+ return this.butlerInboxItemRepository
15
+ .list({
16
+ projectId: filters?.projectId,
17
+ status: filters?.status,
18
+ itemType: filters?.itemType
19
+ })
20
+ .map((item) => {
21
+ const project = projectMap.get(item.projectId);
22
+ return project ? this.toView(item, project) : null;
23
+ })
24
+ .filter((item) => item !== null)
25
+ .filter((item) => {
26
+ if (!filters?.workspaceId) {
27
+ return true;
28
+ }
29
+ return item.workspaceId === filters.workspaceId;
30
+ });
31
+ }
32
+ createItem(input) {
33
+ const project = this.requireProject(input.projectId);
34
+ const timestamp = nowIso();
35
+ const status = input.status ?? "pending";
36
+ const record = {
37
+ id: createId(),
38
+ projectId: project.id,
39
+ itemType: input.itemType ?? "task",
40
+ title: this.requireText(input.title, "title", "代办标题不能为空"),
41
+ content: this.requireText(input.content, "content", "代办内容不能为空"),
42
+ priority: input.priority ?? "medium",
43
+ status,
44
+ createdAt: timestamp,
45
+ updatedAt: timestamp,
46
+ closedAt: status === "closed" ? timestamp : null
47
+ };
48
+ return this.toView(this.butlerInboxItemRepository.create(record), project);
49
+ }
50
+ updateItem(itemId, input) {
51
+ const current = this.requireItem(itemId);
52
+ const project = input.projectId ? this.requireProject(input.projectId) : this.requireProject(current.projectId);
53
+ const nextStatus = input.status ?? current.status;
54
+ const updated = {
55
+ ...current,
56
+ projectId: project.id,
57
+ itemType: input.itemType ?? current.itemType,
58
+ title: input.title === undefined
59
+ ? current.title
60
+ : this.requireText(input.title, "title", "代办标题不能为空"),
61
+ content: input.content === undefined
62
+ ? current.content
63
+ : this.requireText(input.content, "content", "代办内容不能为空"),
64
+ priority: input.priority ?? current.priority,
65
+ status: nextStatus,
66
+ updatedAt: nowIso(),
67
+ closedAt: nextStatus === "closed" ? current.closedAt ?? nowIso() : null
68
+ };
69
+ return this.toView(this.butlerInboxItemRepository.update(updated), project);
70
+ }
71
+ deleteItem(itemId) {
72
+ this.requireItem(itemId);
73
+ this.butlerInboxItemRepository.delete(itemId);
74
+ }
75
+ requireProject(projectId) {
76
+ const normalizedProjectId = projectId?.trim();
77
+ if (!normalizedProjectId) {
78
+ throw new AppError({
79
+ statusCode: 400,
80
+ errorCode: "INVALID_INPUT",
81
+ detail: "projectId 不能为空",
82
+ field: "projectId"
83
+ });
84
+ }
85
+ const project = this.butlerProjectRepository.findById(normalizedProjectId);
86
+ if (!project) {
87
+ throw new AppError({
88
+ statusCode: 404,
89
+ errorCode: "BUTLER_PROJECT_NOT_FOUND",
90
+ detail: "代码助手项目不存在"
91
+ });
92
+ }
93
+ return project;
94
+ }
95
+ requireItem(itemId) {
96
+ const normalizedItemId = itemId.trim();
97
+ if (!normalizedItemId) {
98
+ throw new AppError({
99
+ statusCode: 400,
100
+ errorCode: "INVALID_INPUT",
101
+ detail: "itemId 不能为空",
102
+ field: "itemId"
103
+ });
104
+ }
105
+ const item = this.butlerInboxItemRepository.findById(normalizedItemId);
106
+ if (!item) {
107
+ throw new AppError({
108
+ statusCode: 404,
109
+ errorCode: "BUTLER_INBOX_ITEM_NOT_FOUND",
110
+ detail: "代办不存在"
111
+ });
112
+ }
113
+ return item;
114
+ }
115
+ requireText(value, field, detail) {
116
+ const normalized = value?.trim();
117
+ if (!normalized) {
118
+ throw new AppError({
119
+ statusCode: 400,
120
+ errorCode: "INVALID_INPUT",
121
+ detail,
122
+ field
123
+ });
124
+ }
125
+ return normalized;
126
+ }
127
+ toView(item, project) {
128
+ return {
129
+ ...item,
130
+ projectName: project.name,
131
+ workspaceId: project.workspaceId,
132
+ projectLifecycleStatus: project.lifecycleStatus
133
+ };
134
+ }
135
+ }
136
+ //# sourceMappingURL=butler-inbox-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"butler-inbox-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-inbox-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ButlerNotificationArchiveRepository } from "../../storage/repositories/butler-notification-archive-repository.js";
2
+ export interface ButlerNotificationArchiveView {
3
+ notificationId: string;
4
+ archivedAt: string;
5
+ updatedAt: string;
6
+ }
7
+ export declare class ButlerNotificationService {
8
+ private readonly butlerNotificationArchiveRepository;
9
+ constructor(butlerNotificationArchiveRepository: Pick<ButlerNotificationArchiveRepository, "listByUserId" | "upsert" | "delete">);
10
+ listArchivedNotifications(userId: string): ButlerNotificationArchiveView[];
11
+ setArchived(userId: string, notificationId: string, archived: boolean): ButlerNotificationArchiveView | null;
12
+ }
@@ -0,0 +1,45 @@
1
+ import { AppError } from "../../shared/errors/app-error.js";
2
+ import { nowIso } from "../../shared/utils/time.js";
3
+ export class ButlerNotificationService {
4
+ butlerNotificationArchiveRepository;
5
+ constructor(butlerNotificationArchiveRepository) {
6
+ this.butlerNotificationArchiveRepository = butlerNotificationArchiveRepository;
7
+ }
8
+ listArchivedNotifications(userId) {
9
+ return this.butlerNotificationArchiveRepository
10
+ .listByUserId(userId)
11
+ .map((record) => ({
12
+ notificationId: record.notificationId,
13
+ archivedAt: record.archivedAt,
14
+ updatedAt: record.updatedAt
15
+ }));
16
+ }
17
+ setArchived(userId, notificationId, archived) {
18
+ const normalizedNotificationId = notificationId.trim();
19
+ if (!normalizedNotificationId) {
20
+ throw new AppError({
21
+ statusCode: 400,
22
+ errorCode: "INVALID_INPUT",
23
+ detail: "notificationId 不能为空",
24
+ field: "notificationId"
25
+ });
26
+ }
27
+ if (!archived) {
28
+ this.butlerNotificationArchiveRepository.delete(userId, normalizedNotificationId);
29
+ return null;
30
+ }
31
+ const timestamp = nowIso();
32
+ const record = this.butlerNotificationArchiveRepository.upsert({
33
+ userId,
34
+ notificationId: normalizedNotificationId,
35
+ archivedAt: timestamp,
36
+ updatedAt: timestamp
37
+ });
38
+ return {
39
+ notificationId: record.notificationId,
40
+ archivedAt: record.archivedAt,
41
+ updatedAt: record.updatedAt
42
+ };
43
+ }
44
+ }
45
+ //# sourceMappingURL=butler-notification-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"butler-notification-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-notification-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AASpD,MAAM,OAAO,yBAAyB;IAEjB;IADnB,YACmB,mCAGhB;QAHgB,wCAAmC,GAAnC,mCAAmC,CAGnD;IACA,CAAC;IAEJ,yBAAyB,CAAC,MAAc;QACtC,OAAO,IAAI,CAAC,mCAAmC;aAC5C,YAAY,CAAC,MAAM,CAAC;aACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC,CAAC;IACR,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAiB;QACnE,MAAM,wBAAwB,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAEvD,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC;gBACjB,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,eAAe;gBAC1B,MAAM,EAAE,qBAAqB;gBAC7B,KAAK,EAAE,gBAAgB;aACxB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC;YAC7D,MAAM;YACN,cAAc,EAAE,wBAAwB;YACxC,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { ButlerProfile } from "../../types/domain.js";
2
+ import type { ButlerProfileRepository } from "../../storage/repositories/butler-profile-repository.js";
3
+ import type { ButlerProjectRepository } from "../../storage/repositories/butler-project-repository.js";
4
+ export interface ButlerProfileInitInput {
5
+ displayName?: unknown;
6
+ providerId?: unknown;
7
+ workspacePath?: unknown;
8
+ agentsMode?: unknown;
9
+ agentsFilePath?: unknown;
10
+ agentsContent?: unknown;
11
+ persona?: unknown;
12
+ focus?: unknown;
13
+ }
14
+ export interface ButlerProfilePatchInput extends ButlerProfileInitInput {
15
+ }
16
+ export declare class ButlerProfileService {
17
+ private readonly butlerProfileRepository;
18
+ private readonly butlerProjectRepository;
19
+ private readonly dataRootDir;
20
+ constructor(butlerProfileRepository: ButlerProfileRepository, butlerProjectRepository: Pick<ButlerProjectRepository, "list">, dataRootDir?: string);
21
+ getProfile(): ButlerProfile | null;
22
+ initProfile(input: ButlerProfileInitInput): ButlerProfile;
23
+ updateProfile(input: ButlerProfilePatchInput): ButlerProfile;
24
+ ensureInitialized(): ButlerProfile;
25
+ }
26
+ export declare function ensureButlerWorkspaceIsolation(workspacePath: string): void;