@tom2012/cc-web 2026.6.17-b → 2026.9.6-c

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 (239) hide show
  1. package/CHANGELOG.json +96 -21
  2. package/backend/dist/adapters/claude-adapter.d.ts +4 -0
  3. package/backend/dist/adapters/claude-adapter.d.ts.map +1 -1
  4. package/backend/dist/adapters/claude-adapter.js +18 -2
  5. package/backend/dist/adapters/claude-adapter.js.map +1 -1
  6. package/backend/dist/adapters/types.d.ts +8 -0
  7. package/backend/dist/adapters/types.d.ts.map +1 -1
  8. package/backend/dist/auth.d.ts.map +0 -0
  9. package/backend/dist/config.d.ts +0 -0
  10. package/backend/dist/config.js +0 -0
  11. package/backend/dist/config.js.map +0 -0
  12. package/backend/dist/hooks-manager.d.ts +0 -1
  13. package/backend/dist/hooks-manager.d.ts.map +1 -1
  14. package/backend/dist/hooks-manager.js +19 -19
  15. package/backend/dist/hooks-manager.js.map +1 -1
  16. package/backend/dist/index.d.ts.map +1 -1
  17. package/backend/dist/index.js +76 -1
  18. package/backend/dist/index.js.map +1 -1
  19. package/backend/dist/logger.d.ts.map +1 -1
  20. package/backend/dist/logger.js +3 -0
  21. package/backend/dist/logger.js.map +1 -1
  22. package/backend/dist/routes/auth.d.ts +0 -0
  23. package/backend/dist/routes/auth.d.ts.map +0 -0
  24. package/backend/dist/routes/auth.js.map +0 -0
  25. package/backend/dist/routes/projects.d.ts.map +0 -0
  26. package/backend/dist/routes/projects.js.map +0 -0
  27. package/backend/dist/session-manager.d.ts +0 -0
  28. package/backend/dist/session-manager.d.ts.map +0 -0
  29. package/backend/dist/session-manager.js +0 -0
  30. package/backend/dist/session-manager.js.map +0 -0
  31. package/backend/dist/terminal-manager.d.ts +10 -1
  32. package/backend/dist/terminal-manager.d.ts.map +1 -1
  33. package/backend/dist/terminal-manager.js +19 -2
  34. package/backend/dist/terminal-manager.js.map +1 -1
  35. package/backend/dist/types.d.ts +0 -0
  36. package/backend/dist/types.d.ts.map +0 -0
  37. package/backend/dist/types.js +0 -0
  38. package/backend/dist/types.js.map +0 -0
  39. package/frontend/dist/assets/{ChatOverlay-Dp1BzsYb.js → ChatOverlay-CymdKeQK.js} +1 -1
  40. package/frontend/dist/assets/{ClaudeMemPage-CpzMjJnb.js → ClaudeMemPage-BZ4UtUoz.js} +1 -1
  41. package/frontend/dist/assets/{GraphPreview-DDY1yVOX.js → GraphPreview-21EwV_e_.js} +1 -1
  42. package/frontend/dist/assets/{MobilePage-BnnE820D.js → MobilePage-99vv9cWh.js} +3 -3
  43. package/frontend/dist/assets/{NotebookPage-BOiYcs-l.js → NotebookPage-B-mcSRJm.js} +1 -1
  44. package/frontend/dist/assets/{OfficePreview-C5N2gr8-.js → OfficePreview-C3rHS2Te.js} +2 -2
  45. package/frontend/dist/assets/{PdfPreview-COG-9AQa.js → PdfPreview-B-toyaoA.js} +1 -1
  46. package/frontend/dist/assets/{ProjectPage-ARPH_J5o.js → ProjectPage-CShqyrUl.js} +4 -4
  47. package/frontend/dist/assets/{ProjectSettingsPage-CMWcT-5r.js → ProjectSettingsPage-FxkEGuUP.js} +1 -1
  48. package/frontend/dist/assets/{SettingsPage-BMrIDtg8.js → SettingsPage-B-bqNp6b.js} +1 -1
  49. package/frontend/dist/assets/{SkillHubPage-Bq93A7Rt.js → SkillHubPage-DN79j9Is.js} +1 -1
  50. package/frontend/dist/assets/{check-circle-2-BGT1eH1f.js → check-circle-2-DRT7EX5I.js} +1 -1
  51. package/frontend/dist/assets/{chevron-down-Bbg11n9i.js → chevron-down-DdtdiM4b.js} +1 -1
  52. package/frontend/dist/assets/{chevron-left-BmStQriC.js → chevron-left-Chv-EE6G.js} +1 -1
  53. package/frontend/dist/assets/{file-text-D9WjmbhK.js → file-text-D3ZDULSr.js} +1 -1
  54. package/frontend/dist/assets/{index-EFhMcMWk.js → index-BIGQ6n-i.js} +2 -2
  55. package/frontend/dist/assets/index-BpdaJxoa.css +1 -0
  56. package/frontend/dist/assets/{index-BRqvDxO6.js → index-CH1oLpmL.js} +1 -1
  57. package/frontend/dist/assets/{index-Bhp9CVTp.js → index-Dbm49BgL.js} +1 -1
  58. package/frontend/dist/assets/{index-COZnAgez.js → index-xJR85RJZ.js} +1 -1
  59. package/frontend/dist/assets/{jszip.min-Dyo__hKc.js → jszip.min-CMcZF4_M.js} +1 -1
  60. package/frontend/dist/assets/{save-CAjdgnp7.js → save-Dhw-I0uF.js} +1 -1
  61. package/frontend/dist/assets/{search-DmWhhICR.js → search-zoOED2R0.js} +1 -1
  62. package/frontend/dist/assets/{select-DAfsBGCS.js → select-B7xEE81_.js} +1 -1
  63. package/frontend/dist/assets/{tabs-zra46FZv.js → tabs-BCHX4LWy.js} +1 -1
  64. package/frontend/dist/assets/{textarea-BG4Tvy0e.js → textarea-CGPmR1Ae.js} +1 -1
  65. package/frontend/dist/index.html +2 -2
  66. package/package.json +36 -10
  67. package/backend/dist/backup/config.d.ts +0 -10
  68. package/backend/dist/backup/config.d.ts.map +0 -1
  69. package/backend/dist/backup/config.js +0 -128
  70. package/backend/dist/backup/config.js.map +0 -1
  71. package/backend/dist/backup/engine.d.ts +0 -22
  72. package/backend/dist/backup/engine.d.ts.map +0 -1
  73. package/backend/dist/backup/engine.js +0 -298
  74. package/backend/dist/backup/engine.js.map +0 -1
  75. package/backend/dist/backup/providers/dropbox.d.ts +0 -25
  76. package/backend/dist/backup/providers/dropbox.d.ts.map +0 -1
  77. package/backend/dist/backup/providers/dropbox.js +0 -320
  78. package/backend/dist/backup/providers/dropbox.js.map +0 -1
  79. package/backend/dist/backup/providers/google-drive.d.ts +0 -29
  80. package/backend/dist/backup/providers/google-drive.d.ts.map +0 -1
  81. package/backend/dist/backup/providers/google-drive.js +0 -303
  82. package/backend/dist/backup/providers/google-drive.js.map +0 -1
  83. package/backend/dist/backup/providers/index.d.ts +0 -3
  84. package/backend/dist/backup/providers/index.d.ts.map +0 -1
  85. package/backend/dist/backup/providers/index.js +0 -19
  86. package/backend/dist/backup/providers/index.js.map +0 -1
  87. package/backend/dist/backup/providers/onedrive.d.ts +0 -29
  88. package/backend/dist/backup/providers/onedrive.d.ts.map +0 -1
  89. package/backend/dist/backup/providers/onedrive.js +0 -317
  90. package/backend/dist/backup/providers/onedrive.js.map +0 -1
  91. package/backend/dist/backup/scheduler.d.ts +0 -6
  92. package/backend/dist/backup/scheduler.d.ts.map +0 -1
  93. package/backend/dist/backup/scheduler.js +0 -55
  94. package/backend/dist/backup/scheduler.js.map +0 -1
  95. package/backend/dist/backup/types.d.ts +0 -73
  96. package/backend/dist/backup/types.d.ts.map +0 -1
  97. package/backend/dist/backup/types.js +0 -4
  98. package/backend/dist/backup/types.js.map +0 -1
  99. package/backend/dist/chat-process-manager.d.ts +0 -45
  100. package/backend/dist/chat-process-manager.d.ts.map +0 -1
  101. package/backend/dist/chat-process-manager.js +0 -258
  102. package/backend/dist/chat-process-manager.js.map +0 -1
  103. package/backend/dist/flows/runner.d.ts +0 -37
  104. package/backend/dist/flows/runner.d.ts.map +0 -1
  105. package/backend/dist/flows/runner.js +0 -660
  106. package/backend/dist/flows/runner.js.map +0 -1
  107. package/backend/dist/flows/store.d.ts +0 -40
  108. package/backend/dist/flows/store.d.ts.map +0 -1
  109. package/backend/dist/flows/store.js +0 -284
  110. package/backend/dist/flows/store.js.map +0 -1
  111. package/backend/dist/flows/types.d.ts +0 -176
  112. package/backend/dist/flows/types.d.ts.map +0 -1
  113. package/backend/dist/flows/types.js +0 -25
  114. package/backend/dist/flows/types.js.map +0 -1
  115. package/backend/dist/information/condenser.d.ts +0 -12
  116. package/backend/dist/information/condenser.d.ts.map +0 -1
  117. package/backend/dist/information/condenser.js +0 -568
  118. package/backend/dist/information/condenser.js.map +0 -1
  119. package/backend/dist/information/conversation-sync.d.ts +0 -22
  120. package/backend/dist/information/conversation-sync.d.ts.map +0 -1
  121. package/backend/dist/information/conversation-sync.js +0 -500
  122. package/backend/dist/information/conversation-sync.js.map +0 -1
  123. package/backend/dist/information/types.d.ts +0 -36
  124. package/backend/dist/information/types.d.ts.map +0 -1
  125. package/backend/dist/information/types.js +0 -4
  126. package/backend/dist/information/types.js.map +0 -1
  127. package/backend/dist/memory-pool/buoyancy.d.ts +0 -2
  128. package/backend/dist/memory-pool/buoyancy.d.ts.map +0 -1
  129. package/backend/dist/memory-pool/buoyancy.js +0 -12
  130. package/backend/dist/memory-pool/buoyancy.js.map +0 -1
  131. package/backend/dist/memory-pool/global-pool-manager.d.ts +0 -12
  132. package/backend/dist/memory-pool/global-pool-manager.d.ts.map +0 -1
  133. package/backend/dist/memory-pool/global-pool-manager.js +0 -295
  134. package/backend/dist/memory-pool/global-pool-manager.js.map +0 -1
  135. package/backend/dist/memory-pool/pool-lock.d.ts +0 -2
  136. package/backend/dist/memory-pool/pool-lock.d.ts.map +0 -1
  137. package/backend/dist/memory-pool/pool-lock.js +0 -31
  138. package/backend/dist/memory-pool/pool-lock.js.map +0 -1
  139. package/backend/dist/memory-pool/pool-manager.d.ts +0 -57
  140. package/backend/dist/memory-pool/pool-manager.d.ts.map +0 -1
  141. package/backend/dist/memory-pool/pool-manager.js +0 -322
  142. package/backend/dist/memory-pool/pool-manager.js.map +0 -1
  143. package/backend/dist/memory-pool/templates.d.ts +0 -5
  144. package/backend/dist/memory-pool/templates.d.ts.map +0 -1
  145. package/backend/dist/memory-pool/templates.js +0 -234
  146. package/backend/dist/memory-pool/templates.js.map +0 -1
  147. package/backend/dist/memory-pool/types.d.ts +0 -61
  148. package/backend/dist/memory-pool/types.d.ts.map +0 -1
  149. package/backend/dist/memory-pool/types.js +0 -4
  150. package/backend/dist/memory-pool/types.js.map +0 -1
  151. package/backend/dist/plan-control/checker.d.ts +0 -3
  152. package/backend/dist/plan-control/checker.d.ts.map +0 -1
  153. package/backend/dist/plan-control/checker.js +0 -103
  154. package/backend/dist/plan-control/checker.js.map +0 -1
  155. package/backend/dist/plan-control/executor.d.ts +0 -93
  156. package/backend/dist/plan-control/executor.d.ts.map +0 -1
  157. package/backend/dist/plan-control/executor.js +0 -955
  158. package/backend/dist/plan-control/executor.js.map +0 -1
  159. package/backend/dist/plan-control/parser.d.ts +0 -12
  160. package/backend/dist/plan-control/parser.d.ts.map +0 -1
  161. package/backend/dist/plan-control/parser.js +0 -216
  162. package/backend/dist/plan-control/parser.js.map +0 -1
  163. package/backend/dist/plan-control/templates.d.ts +0 -4
  164. package/backend/dist/plan-control/templates.d.ts.map +0 -1
  165. package/backend/dist/plan-control/templates.js +0 -271
  166. package/backend/dist/plan-control/templates.js.map +0 -1
  167. package/backend/dist/plan-control/types.d.ts +0 -102
  168. package/backend/dist/plan-control/types.d.ts.map +0 -1
  169. package/backend/dist/plan-control/types.js +0 -12
  170. package/backend/dist/plan-control/types.js.map +0 -1
  171. package/backend/dist/routes/backup.d.ts +0 -4
  172. package/backend/dist/routes/backup.d.ts.map +0 -1
  173. package/backend/dist/routes/backup.js +0 -274
  174. package/backend/dist/routes/backup.js.map +0 -1
  175. package/backend/dist/routes/flows.d.ts +0 -5
  176. package/backend/dist/routes/flows.d.ts.map +0 -1
  177. package/backend/dist/routes/flows.js +0 -457
  178. package/backend/dist/routes/flows.js.map +0 -1
  179. package/backend/dist/routes/global-flows.d.ts +0 -3
  180. package/backend/dist/routes/global-flows.d.ts.map +0 -1
  181. package/backend/dist/routes/global-flows.js +0 -90
  182. package/backend/dist/routes/global-flows.js.map +0 -1
  183. package/backend/dist/routes/information.d.ts +0 -3
  184. package/backend/dist/routes/information.d.ts.map +0 -1
  185. package/backend/dist/routes/information.js +0 -159
  186. package/backend/dist/routes/information.js.map +0 -1
  187. package/backend/dist/routes/memory-pool.d.ts +0 -3
  188. package/backend/dist/routes/memory-pool.d.ts.map +0 -1
  189. package/backend/dist/routes/memory-pool.js +0 -837
  190. package/backend/dist/routes/memory-pool.js.map +0 -1
  191. package/backend/dist/routes/plan-control.d.ts +0 -15
  192. package/backend/dist/routes/plan-control.d.ts.map +0 -1
  193. package/backend/dist/routes/plan-control.js +0 -337
  194. package/backend/dist/routes/plan-control.js.map +0 -1
  195. package/backend/dist/routes/share.d.ts +0 -3
  196. package/backend/dist/routes/share.d.ts.map +0 -1
  197. package/backend/dist/routes/share.js +0 -167
  198. package/backend/dist/routes/share.js.map +0 -1
  199. package/backend/dist/routes/sounds.d.ts +0 -3
  200. package/backend/dist/routes/sounds.d.ts.map +0 -1
  201. package/backend/dist/routes/sounds.js +0 -285
  202. package/backend/dist/routes/sounds.js.map +0 -1
  203. package/backend/dist/tracks/__tests__/verify-starter-templates.d.ts +0 -24
  204. package/backend/dist/tracks/__tests__/verify-starter-templates.d.ts.map +0 -1
  205. package/backend/dist/tracks/__tests__/verify-starter-templates.js +0 -175
  206. package/backend/dist/tracks/__tests__/verify-starter-templates.js.map +0 -1
  207. package/backend/dist/tracks/__tests__/verify-track-cancel.d.ts +0 -23
  208. package/backend/dist/tracks/__tests__/verify-track-cancel.d.ts.map +0 -1
  209. package/backend/dist/tracks/__tests__/verify-track-cancel.js +0 -153
  210. package/backend/dist/tracks/__tests__/verify-track-cancel.js.map +0 -1
  211. package/backend/dist/tracks/__tests__/verify-track-t1.d.ts +0 -11
  212. package/backend/dist/tracks/__tests__/verify-track-t1.d.ts.map +0 -1
  213. package/backend/dist/tracks/__tests__/verify-track-t1.js +0 -293
  214. package/backend/dist/tracks/__tests__/verify-track-t1.js.map +0 -1
  215. package/backend/dist/tracks/__tests__/verify-track.d.ts +0 -20
  216. package/backend/dist/tracks/__tests__/verify-track.d.ts.map +0 -1
  217. package/backend/dist/tracks/__tests__/verify-track.js +0 -187
  218. package/backend/dist/tracks/__tests__/verify-track.js.map +0 -1
  219. package/backend/dist/tracks/registry.d.ts +0 -61
  220. package/backend/dist/tracks/registry.d.ts.map +0 -1
  221. package/backend/dist/tracks/registry.js +0 -202
  222. package/backend/dist/tracks/registry.js.map +0 -1
  223. package/backend/dist/tracks/track-runner.d.ts +0 -69
  224. package/backend/dist/tracks/track-runner.d.ts.map +0 -1
  225. package/backend/dist/tracks/track-runner.js +0 -158
  226. package/backend/dist/tracks/track-runner.js.map +0 -1
  227. package/backend/dist/tracks/train-loader.d.ts +0 -44
  228. package/backend/dist/tracks/train-loader.d.ts.map +0 -1
  229. package/backend/dist/tracks/train-loader.js +0 -32
  230. package/backend/dist/tracks/train-loader.js.map +0 -1
  231. package/backend/dist/tracks/types-train.d.ts +0 -12
  232. package/backend/dist/tracks/types-train.d.ts.map +0 -1
  233. package/backend/dist/tracks/types-train.js +0 -13
  234. package/backend/dist/tracks/types-train.js.map +0 -1
  235. package/backend/dist/usage-terminal.d.ts +0 -18
  236. package/backend/dist/usage-terminal.d.ts.map +0 -1
  237. package/backend/dist/usage-terminal.js +0 -191
  238. package/backend/dist/usage-terminal.js.map +0 -1
  239. package/frontend/dist/assets/index-GfCaMXPO.css +0 -1
@@ -1,102 +0,0 @@
1
- export type StatementType = 'comment' | 'blank' | 'var_assign' | 'task_assign' | 'task' | 'if' | 'elif' | 'else' | 'for' | 'loop' | 'func' | 'call' | 'break' | 'continue' | 'return';
2
- export interface ASTNode {
3
- line: number;
4
- indent: number;
5
- type: StatementType;
6
- raw: string;
7
- children: ASTNode[];
8
- varName?: string;
9
- listItems?: string[];
10
- description?: string;
11
- condition?: string;
12
- iterVar?: string;
13
- iterRef?: string;
14
- loopCount?: number;
15
- loopCounter?: string;
16
- funcName?: string;
17
- params?: string[];
18
- args?: CallArg[];
19
- }
20
- export type CallArg = {
21
- type: 'var';
22
- name: string;
23
- } | {
24
- type: 'list';
25
- items: string[];
26
- };
27
- export interface CheckError {
28
- line: number;
29
- message: string;
30
- }
31
- export type PlanStatus = 'running' | 'waiting' | 'replanning' | 'paused' | 'stopped' | 'completed';
32
- export interface CallFrame {
33
- func: string;
34
- return_line: number;
35
- local_vars: Record<string, PlanVarValue>;
36
- saved_last_task_status: string | null;
37
- }
38
- export interface LoopFrame {
39
- type: 'for' | 'loop';
40
- var?: string;
41
- list?: PlanVarValue[];
42
- index: number;
43
- count?: number;
44
- start_line: number;
45
- end_line: number;
46
- }
47
- export type PlanVarValue = string | string[] | boolean | null;
48
- export interface HistoryEntry {
49
- node_id: string;
50
- line: number;
51
- status: string;
52
- timestamp: string;
53
- }
54
- export interface PlanState {
55
- status: PlanStatus;
56
- current_line: number;
57
- executed_tasks: number;
58
- estimated_tasks: number;
59
- variables: Record<string, PlanVarValue>;
60
- call_stack: CallFrame[];
61
- loop_stack: LoopFrame[];
62
- last_task_status: string | null;
63
- history: HistoryEntry[];
64
- stop_line?: number;
65
- stop_node_id?: string;
66
- error?: string;
67
- }
68
- export interface NodeRecord {
69
- id: string;
70
- line: number;
71
- code: string;
72
- resolved_code: string;
73
- prompt: string;
74
- started_at: string;
75
- completed_at: string | null;
76
- nudge_count: number;
77
- status: string | null;
78
- result: PlanVarValue;
79
- summary: string | null;
80
- request_replan?: boolean;
81
- replan_reason?: string;
82
- }
83
- export type TreeNodeType = 'task' | 'if' | 'elif' | 'else' | 'for' | 'loop' | 'call' | 'func' | 'var';
84
- export type TreeNodeStatus = 'pending' | 'running' | 'success' | 'failed' | 'blocked' | 'skipped';
85
- export interface PlanTreeNode {
86
- id: string;
87
- type: TreeNodeType;
88
- label: string;
89
- line: number;
90
- node_id?: string;
91
- status?: TreeNodeStatus;
92
- children: PlanTreeNode[];
93
- }
94
- export interface PlanConfig {
95
- nudge_idle_seconds: number;
96
- nudge_max_count: number;
97
- nudge_interval_multiplier: number;
98
- send_idle_seconds: number;
99
- watch_poll_interval: number;
100
- }
101
- export declare const DEFAULT_PLAN_CONFIG: PlanConfig;
102
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plan-control/types.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- // backend/src/plan-control/types.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DEFAULT_PLAN_CONFIG = void 0;
5
- exports.DEFAULT_PLAN_CONFIG = {
6
- nudge_idle_seconds: 60,
7
- nudge_max_count: 3,
8
- nudge_interval_multiplier: 2,
9
- send_idle_seconds: 5,
10
- watch_poll_interval: 10000,
11
- };
12
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plan-control/types.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;AAkIvB,QAAA,mBAAmB,GAAe;IAC7C,kBAAkB,EAAE,EAAE;IACtB,eAAe,EAAE,CAAC;IAClB,yBAAyB,EAAE,CAAC;IAC5B,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,KAAK;CAC3B,CAAC"}
@@ -1,4 +0,0 @@
1
- declare const router: import("express-serve-static-core").Router;
2
- export default router;
3
- export declare const backupAuthCallbackRouter: import("express-serve-static-core").Router;
4
- //# sourceMappingURL=backup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/routes/backup.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAiBxB,eAAe,MAAM,CAAC;AAGtB,eAAO,MAAM,wBAAwB,4CAAW,CAAC"}
@@ -1,274 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.backupAuthCallbackRouter = void 0;
37
- const express_1 = require("express");
38
- const crypto = __importStar(require("crypto"));
39
- const uuid_1 = require("uuid");
40
- const config_1 = require("../backup/config");
41
- const providers_1 = require("../backup/providers");
42
- const engine_1 = require("../backup/engine");
43
- const scheduler_1 = require("../backup/scheduler");
44
- const authz_1 = require("../middleware/authz");
45
- const router = (0, express_1.Router)();
46
- // Backup manages global cloud credentials + cross-project file transfer — admin only.
47
- // (OAuth callback is served by `backupAuthCallbackRouter`, which is mounted without
48
- // auth since it's invoked by the external OAuth provider redirect.)
49
- router.use(authz_1.requireAdmin);
50
- /** Pending OAuth states: maps state token → provider ID. Expires after 10 minutes. */
51
- const pendingOAuthStates = new Map();
52
- // Periodically clean up expired OAuth states
53
- setInterval(() => {
54
- const now = Date.now();
55
- for (const [key, val] of pendingOAuthStates) {
56
- if (val.expires < now)
57
- pendingOAuthStates.delete(key);
58
- }
59
- }, 5 * 60 * 1000).unref();
60
- exports.default = router;
61
- // OAuth callback router — must be mounted WITHOUT auth middleware
62
- exports.backupAuthCallbackRouter = (0, express_1.Router)();
63
- // ── Provider CRUD ──────────────────────────────────────────────────────────────
64
- // GET /api/backup/providers — list all providers (strip secrets/tokens)
65
- router.get('/providers', (_req, res) => {
66
- const config = (0, config_1.getBackupConfig)();
67
- const providers = config.providers.map((p) => ({
68
- id: p.id,
69
- type: p.type,
70
- label: p.label,
71
- clientId: p.clientId,
72
- clientSecret: '***',
73
- authorized: !!p.tokens,
74
- }));
75
- res.json(providers);
76
- });
77
- // GET /api/backup/built-in-oauth — which provider types have built-in OAuth credentials
78
- router.get('/built-in-oauth', (_req, res) => {
79
- const config = (0, config_1.getBackupConfig)();
80
- const available = [];
81
- for (const t of ['google-drive', 'onedrive', 'dropbox']) {
82
- if (config.builtInOAuth?.[t]?.clientId)
83
- available.push(t);
84
- }
85
- res.json({ available });
86
- });
87
- // PUT /api/backup/built-in-oauth/:type — set built-in OAuth credentials for a provider type
88
- router.put('/built-in-oauth/:type', (req, res) => {
89
- const type = req.params.type;
90
- const validTypes = ['google-drive', 'onedrive', 'dropbox'];
91
- if (!validTypes.includes(type)) {
92
- res.status(400).json({ error: 'Invalid provider type' });
93
- return;
94
- }
95
- const { clientId, clientSecret } = req.body;
96
- if (!clientId?.trim() || !clientSecret?.trim()) {
97
- res.status(400).json({ error: 'clientId and clientSecret are required' });
98
- return;
99
- }
100
- (0, config_1.setBuiltInOAuth)(type, { clientId: clientId.trim(), clientSecret: clientSecret.trim() });
101
- res.json({ success: true });
102
- });
103
- // POST /api/backup/providers — add new provider
104
- router.post('/providers', (req, res) => {
105
- let { type, label, clientId, clientSecret } = req.body;
106
- if (!type || !label) {
107
- res.status(400).json({ error: 'type and label are required' });
108
- return;
109
- }
110
- const validTypes = ['google-drive', 'onedrive', 'dropbox'];
111
- if (!validTypes.includes(type)) {
112
- res.status(400).json({ error: `Invalid provider type. Must be one of: ${validTypes.join(', ')}` });
113
- return;
114
- }
115
- // Use built-in OAuth credentials if not provided
116
- if (!clientId || !clientSecret) {
117
- const builtIn = (0, config_1.getBuiltInOAuth)(type);
118
- if (!builtIn) {
119
- res.status(400).json({ error: '该云盘类型没有内置 OAuth 凭据,请手动填写 Client ID 和 Client Secret' });
120
- return;
121
- }
122
- clientId = builtIn.clientId;
123
- clientSecret = builtIn.clientSecret;
124
- }
125
- const config = (0, config_1.getBackupConfig)();
126
- const newProvider = {
127
- id: (0, uuid_1.v4)(),
128
- type,
129
- label: label.trim(),
130
- clientId: clientId.trim(),
131
- clientSecret: clientSecret.trim(),
132
- };
133
- config.providers.push(newProvider);
134
- (0, config_1.saveBackupConfig)(config);
135
- res.status(201).json({
136
- id: newProvider.id,
137
- type: newProvider.type,
138
- label: newProvider.label,
139
- authorized: false,
140
- });
141
- });
142
- // DELETE /api/backup/providers/:id — remove provider
143
- router.delete('/providers/:id', (req, res) => {
144
- const { id } = req.params;
145
- const config = (0, config_1.getBackupConfig)();
146
- const filtered = config.providers.filter((p) => p.id !== id);
147
- if (filtered.length === config.providers.length) {
148
- res.status(404).json({ error: 'Provider not found' });
149
- return;
150
- }
151
- config.providers = filtered;
152
- (0, config_1.saveBackupConfig)(config);
153
- res.json({ success: true });
154
- });
155
- // ── OAuth2 ────────────────────────────────────────────────────────────────────
156
- // GET /api/backup/auth/:id/url — generate OAuth2 authorization URL
157
- router.get('/auth/:id/url', (req, res) => {
158
- const { id } = req.params;
159
- const config = (0, config_1.getBackupConfig)();
160
- const providerConfig = config.providers.find((p) => p.id === id);
161
- if (!providerConfig) {
162
- res.status(404).json({ error: 'Provider not found' });
163
- return;
164
- }
165
- try {
166
- const port = req.socket.localPort || 3001;
167
- const redirectUri = `http://localhost:${port}/api/backup/auth/callback`;
168
- const provider = (0, providers_1.createProvider)(providerConfig);
169
- const stateToken = crypto.randomBytes(16).toString('hex');
170
- pendingOAuthStates.set(stateToken, { providerId: providerConfig.id, expires: Date.now() + 10 * 60 * 1000 });
171
- const url = provider.getAuthUrl(redirectUri, stateToken);
172
- res.json({ url, redirectUri });
173
- }
174
- catch (err) {
175
- res.status(500).json({ error: err.message });
176
- }
177
- });
178
- // GET /api/backup/auth/callback — OAuth2 redirect callback (also registered on backupAuthCallbackRouter)
179
- async function handleAuthCallback(req, res) {
180
- const { code, state } = req.query;
181
- if (!code || !state) {
182
- res.redirect('/?backup_auth=error&reason=missing_params');
183
- return;
184
- }
185
- // Validate CSRF state token
186
- const pending = pendingOAuthStates.get(state);
187
- if (!pending || pending.expires < Date.now()) {
188
- pendingOAuthStates.delete(state);
189
- res.redirect('/?backup_auth=error&reason=invalid_state');
190
- return;
191
- }
192
- pendingOAuthStates.delete(state);
193
- const config = (0, config_1.getBackupConfig)();
194
- const providerConfig = config.providers.find((p) => p.id === pending.providerId);
195
- if (!providerConfig) {
196
- res.redirect('/?backup_auth=error&reason=provider_not_found');
197
- return;
198
- }
199
- try {
200
- const port = req.socket.localPort || 3001;
201
- const redirectUri = `http://localhost:${port}/api/backup/auth/callback`;
202
- const provider = (0, providers_1.createProvider)(providerConfig);
203
- const tokens = await provider.handleCallback(code, redirectUri);
204
- // Save tokens to provider config
205
- const idx = config.providers.findIndex((p) => p.id === pending.providerId);
206
- if (idx >= 0) {
207
- config.providers[idx] = { ...providerConfig, tokens };
208
- (0, config_1.saveBackupConfig)(config);
209
- }
210
- res.redirect('/?backup_auth=success');
211
- }
212
- catch (err) {
213
- console.error('[Backup] OAuth callback error:', err);
214
- res.redirect('/?backup_auth=error&reason=token_exchange_failed');
215
- }
216
- }
217
- // OAuth redirect target — served only by `backupAuthCallbackRouter`, which is
218
- // mounted BEFORE the auth-protected `backupRouter` and outside of it, so the
219
- // external provider can hit `/api/backup/auth/callback` without a token.
220
- // (Previously also registered on `router` itself, but that path is
221
- // auth-gated now and unreachable; dropped to avoid dead-code drift.)
222
- exports.backupAuthCallbackRouter.get('/callback', handleAuthCallback);
223
- // ── Backup operations ─────────────────────────────────────────────────────────
224
- // POST /api/backup/run/:projectId — trigger manual backup
225
- router.post('/run/:projectId', async (req, res) => {
226
- const { projectId } = req.params;
227
- try {
228
- const results = await (0, engine_1.runBackup)(projectId);
229
- res.json({ results });
230
- }
231
- catch (err) {
232
- res.status(500).json({ error: err.message });
233
- }
234
- });
235
- // GET /api/backup/schedule — get schedule config
236
- router.get('/schedule', (_req, res) => {
237
- const config = (0, config_1.getBackupConfig)();
238
- res.json(config.schedule);
239
- });
240
- // PUT /api/backup/schedule — update schedule
241
- router.put('/schedule', (req, res) => {
242
- const { enabled, intervalMinutes } = req.body;
243
- const config = (0, config_1.getBackupConfig)();
244
- if (typeof enabled === 'boolean')
245
- config.schedule.enabled = enabled;
246
- if (typeof intervalMinutes === 'number' && intervalMinutes > 0) {
247
- config.schedule.intervalMinutes = intervalMinutes;
248
- }
249
- (0, config_1.saveBackupConfig)(config);
250
- (0, scheduler_1.restartScheduler)();
251
- res.json(config.schedule);
252
- });
253
- // GET /api/backup/excludes — get exclude patterns
254
- router.get('/excludes', (_req, res) => {
255
- const config = (0, config_1.getBackupConfig)();
256
- res.json({ patterns: config.excludePatterns });
257
- });
258
- // PUT /api/backup/excludes — update exclude patterns
259
- router.put('/excludes', (req, res) => {
260
- const { patterns } = req.body;
261
- if (!Array.isArray(patterns)) {
262
- res.status(400).json({ error: 'patterns must be an array of strings' });
263
- return;
264
- }
265
- const config = (0, config_1.getBackupConfig)();
266
- config.excludePatterns = patterns.filter((p) => typeof p === 'string');
267
- (0, config_1.saveBackupConfig)(config);
268
- res.json({ patterns: config.excludePatterns });
269
- });
270
- // GET /api/backup/history — get backup history
271
- router.get('/history', (_req, res) => {
272
- res.json((0, config_1.getBackupHistory)());
273
- });
274
- //# sourceMappingURL=backup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/routes/backup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { FlowDef } from '../flows/types';
2
- declare const router: import("express-serve-static-core").Router;
3
- export declare function validateFlowDef(obj: unknown): obj is FlowDef;
4
- export default router;
5
- //# sourceMappingURL=flows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/routes/flows.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,MAAM,4CAAW,CAAC;AAqBxB,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO,CA6M5D;AAkKD,eAAe,MAAM,CAAC"}