@hongmaple0820/scale-engine 0.40.2 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +30 -2
  2. package/dist/api/cli.js +19 -0
  3. package/dist/api/cli.js.map +1 -1
  4. package/dist/api/quickstart.d.ts +11 -0
  5. package/dist/api/quickstart.js +98 -1
  6. package/dist/api/quickstart.js.map +1 -1
  7. package/dist/artifact/fsmDefinitions.js +15 -2
  8. package/dist/artifact/fsmDefinitions.js.map +1 -1
  9. package/dist/artifact/types.d.ts +1 -1
  10. package/dist/artifact/types.js.map +1 -1
  11. package/dist/cache/ScanCache.d.ts +41 -0
  12. package/dist/cache/ScanCache.js +120 -0
  13. package/dist/cache/ScanCache.js.map +1 -0
  14. package/dist/capabilities/BrowserQACapability.d.ts +14 -0
  15. package/dist/capabilities/BrowserQACapability.js +94 -0
  16. package/dist/capabilities/BrowserQACapability.js.map +1 -1
  17. package/dist/cli/autofixCommands.d.ts +22 -0
  18. package/dist/cli/autofixCommands.js +32 -0
  19. package/dist/cli/autofixCommands.js.map +1 -0
  20. package/dist/cli/cortexCommands.d.ts +71 -0
  21. package/dist/cli/cortexCommands.js +335 -0
  22. package/dist/cli/cortexCommands.js.map +1 -0
  23. package/dist/cli/costCommands.d.ts +13 -0
  24. package/dist/cli/costCommands.js +48 -0
  25. package/dist/cli/costCommands.js.map +1 -0
  26. package/dist/cli/orchCommands.d.ts +43 -0
  27. package/dist/cli/orchCommands.js +135 -0
  28. package/dist/cli/orchCommands.js.map +1 -0
  29. package/dist/cli/phaseCommands.js +1 -2
  30. package/dist/cli/phaseCommands.js.map +1 -1
  31. package/dist/cli/qaCommands.d.ts +22 -0
  32. package/dist/cli/qaCommands.js +84 -0
  33. package/dist/cli/qaCommands.js.map +1 -0
  34. package/dist/cli/quickstartCommands.d.ts +17 -0
  35. package/dist/cli/quickstartCommands.js +47 -0
  36. package/dist/cli/quickstartCommands.js.map +1 -0
  37. package/dist/cli/shieldCommands.d.ts +30 -0
  38. package/dist/cli/shieldCommands.js +212 -0
  39. package/dist/cli/shieldCommands.js.map +1 -0
  40. package/dist/cli/tuiCommands.d.ts +7 -0
  41. package/dist/cli/tuiCommands.js +33 -0
  42. package/dist/cli/tuiCommands.js.map +1 -0
  43. package/dist/config/profiles.js +26 -0
  44. package/dist/config/profiles.js.map +1 -1
  45. package/dist/cortex/GovernanceMetrics.d.ts +66 -0
  46. package/dist/cortex/GovernanceMetrics.js +230 -0
  47. package/dist/cortex/GovernanceMetrics.js.map +1 -0
  48. package/dist/cortex/InstinctExtractor.d.ts +61 -0
  49. package/dist/cortex/InstinctExtractor.js +184 -0
  50. package/dist/cortex/InstinctExtractor.js.map +1 -0
  51. package/dist/cortex/InstinctStore.d.ts +54 -0
  52. package/dist/cortex/InstinctStore.js +266 -0
  53. package/dist/cortex/InstinctStore.js.map +1 -0
  54. package/dist/cortex/ReflexionEngine.d.ts +34 -0
  55. package/dist/cortex/ReflexionEngine.js +157 -0
  56. package/dist/cortex/ReflexionEngine.js.map +1 -0
  57. package/dist/cortex/SessionInjector.d.ts +44 -0
  58. package/dist/cortex/SessionInjector.js +127 -0
  59. package/dist/cortex/SessionInjector.js.map +1 -0
  60. package/dist/cortex/adapters/ClaudeAdapter.d.ts +17 -0
  61. package/dist/cortex/adapters/ClaudeAdapter.js +61 -0
  62. package/dist/cortex/adapters/ClaudeAdapter.js.map +1 -0
  63. package/dist/cortex/adapters/CodexAdapter.d.ts +10 -0
  64. package/dist/cortex/adapters/CodexAdapter.js +52 -0
  65. package/dist/cortex/adapters/CodexAdapter.js.map +1 -0
  66. package/dist/cortex/adapters/CursorAdapter.d.ts +10 -0
  67. package/dist/cortex/adapters/CursorAdapter.js +46 -0
  68. package/dist/cortex/adapters/CursorAdapter.js.map +1 -0
  69. package/dist/cortex/adapters/GeminiAdapter.d.ts +11 -0
  70. package/dist/cortex/adapters/GeminiAdapter.js +48 -0
  71. package/dist/cortex/adapters/GeminiAdapter.js.map +1 -0
  72. package/dist/eval/BenchmarkPublisher.d.ts +25 -0
  73. package/dist/eval/BenchmarkPublisher.js +27 -0
  74. package/dist/eval/BenchmarkPublisher.js.map +1 -0
  75. package/dist/guardrails/DependencyAuditor.js +10 -1
  76. package/dist/guardrails/DependencyAuditor.js.map +1 -1
  77. package/dist/orchestrator/OrchestratorDaemon.d.ts +44 -0
  78. package/dist/orchestrator/OrchestratorDaemon.js +150 -0
  79. package/dist/orchestrator/OrchestratorDaemon.js.map +1 -0
  80. package/dist/orchestrator/PolicyLoader.d.ts +80 -0
  81. package/dist/orchestrator/PolicyLoader.js +229 -0
  82. package/dist/orchestrator/PolicyLoader.js.map +1 -0
  83. package/dist/orchestrator/ReconciliationLoop.d.ts +71 -0
  84. package/dist/orchestrator/ReconciliationLoop.js +266 -0
  85. package/dist/orchestrator/ReconciliationLoop.js.map +1 -0
  86. package/dist/orchestrator/TrackerAdapter.d.ts +60 -0
  87. package/dist/orchestrator/TrackerAdapter.js +147 -0
  88. package/dist/orchestrator/TrackerAdapter.js.map +1 -0
  89. package/dist/orchestrator/WorkspaceManager.d.ts +66 -0
  90. package/dist/orchestrator/WorkspaceManager.js +257 -0
  91. package/dist/orchestrator/WorkspaceManager.js.map +1 -0
  92. package/dist/qa/BrowserDaemon.d.ts +23 -0
  93. package/dist/qa/BrowserDaemon.js +79 -0
  94. package/dist/qa/BrowserDaemon.js.map +1 -0
  95. package/dist/qa/E2ETestOrchestrator.d.ts +14 -0
  96. package/dist/qa/E2ETestOrchestrator.js +19 -0
  97. package/dist/qa/E2ETestOrchestrator.js.map +1 -0
  98. package/dist/review/CrossModelReviewer.d.ts +35 -0
  99. package/dist/review/CrossModelReviewer.js +75 -0
  100. package/dist/review/CrossModelReviewer.js.map +1 -0
  101. package/dist/review/ReviewAggregator.d.ts +13 -0
  102. package/dist/review/ReviewAggregator.js +28 -0
  103. package/dist/review/ReviewAggregator.js.map +1 -0
  104. package/dist/review/reviewCommands.d.ts +15 -0
  105. package/dist/review/reviewCommands.js +24 -0
  106. package/dist/review/reviewCommands.js.map +1 -0
  107. package/dist/routing/LocalModelProvider.d.ts +11 -0
  108. package/dist/routing/LocalModelProvider.js +21 -0
  109. package/dist/routing/LocalModelProvider.js.map +1 -0
  110. package/dist/routing/ModelRouter.d.ts +12 -0
  111. package/dist/routing/ModelRouter.js +31 -4
  112. package/dist/routing/ModelRouter.js.map +1 -1
  113. package/dist/runtime/AiOsRuntime.d.ts +1 -0
  114. package/dist/runtime/AiOsRuntime.js +15 -0
  115. package/dist/runtime/AiOsRuntime.js.map +1 -1
  116. package/dist/runtime/CostAnalyzer.d.ts +53 -0
  117. package/dist/runtime/CostAnalyzer.js +160 -0
  118. package/dist/runtime/CostAnalyzer.js.map +1 -0
  119. package/dist/runtime/CostOptimizer.d.ts +11 -0
  120. package/dist/runtime/CostOptimizer.js +21 -0
  121. package/dist/runtime/CostOptimizer.js.map +1 -0
  122. package/dist/shield/PolicyCompiler.d.ts +70 -0
  123. package/dist/shield/PolicyCompiler.js +540 -0
  124. package/dist/shield/PolicyCompiler.js.map +1 -0
  125. package/dist/shield/ProtectedPaths.d.ts +39 -0
  126. package/dist/shield/ProtectedPaths.js +179 -0
  127. package/dist/shield/ProtectedPaths.js.map +1 -0
  128. package/dist/shield/ShieldProtocol.d.ts +50 -0
  129. package/dist/shield/ShieldProtocol.js +103 -0
  130. package/dist/shield/ShieldProtocol.js.map +1 -0
  131. package/dist/skills/SkillMdStandard.d.ts +33 -0
  132. package/dist/skills/SkillMdStandard.js +88 -0
  133. package/dist/skills/SkillMdStandard.js.map +1 -0
  134. package/dist/skills/SkillRegistry.d.ts +9 -1
  135. package/dist/skills/SkillRegistry.js +20 -0
  136. package/dist/skills/SkillRegistry.js.map +1 -1
  137. package/dist/skills/interop/GStackInterop.d.ts +15 -0
  138. package/dist/skills/interop/GStackInterop.js +34 -0
  139. package/dist/skills/interop/GStackInterop.js.map +1 -0
  140. package/dist/skills/interop/OMCInterop.d.ts +15 -0
  141. package/dist/skills/interop/OMCInterop.js +34 -0
  142. package/dist/skills/interop/OMCInterop.js.map +1 -0
  143. package/dist/tui/TuiDashboard.d.ts +3 -0
  144. package/dist/tui/TuiDashboard.js +120 -0
  145. package/dist/tui/TuiDashboard.js.map +1 -0
  146. package/dist/workflow/GateCatalog.d.ts +2 -0
  147. package/dist/workflow/GateCatalog.js +59 -3
  148. package/dist/workflow/GateCatalog.js.map +1 -1
  149. package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
  150. package/dist/workflow/GovernanceTemplatePacks.js +15 -0
  151. package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
  152. package/dist/workflow/TddLoop.d.ts +2 -0
  153. package/dist/workflow/TddLoop.js +2 -0
  154. package/dist/workflow/TddLoop.js.map +1 -1
  155. package/dist/workflow/UpgradeManager.d.ts +10 -1
  156. package/dist/workflow/UpgradeManager.js +55 -0
  157. package/dist/workflow/UpgradeManager.js.map +1 -1
  158. package/dist/workflow/VerificationProfile.d.ts +8 -0
  159. package/dist/workflow/VerificationProfile.js +61 -0
  160. package/dist/workflow/VerificationProfile.js.map +1 -1
  161. package/dist/workflow/VerificationSchema.d.ts +46 -0
  162. package/dist/workflow/VerificationSchema.js +97 -0
  163. package/dist/workflow/VerificationSchema.js.map +1 -0
  164. package/dist/workflow/autofix/AutoFixEngine.d.ts +37 -0
  165. package/dist/workflow/autofix/AutoFixEngine.js +169 -0
  166. package/dist/workflow/autofix/AutoFixEngine.js.map +1 -0
  167. package/dist/workflow/execution/RalphEngine.d.ts +18 -0
  168. package/dist/workflow/execution/RalphEngine.js +22 -0
  169. package/dist/workflow/execution/RalphEngine.js.map +1 -1
  170. package/dist/workflow/gates/EnhancedGates.d.ts +74 -0
  171. package/dist/workflow/gates/EnhancedGates.js +653 -0
  172. package/dist/workflow/gates/EnhancedGates.js.map +1 -0
  173. package/dist/workflow/gates/GateSystem.d.ts +3 -0
  174. package/dist/workflow/gates/GateSystem.js +94 -1
  175. package/dist/workflow/gates/GateSystem.js.map +1 -1
  176. package/dist/workflow/types.d.ts +1 -1
  177. package/docs/README.md +3 -0
  178. package/docs/guides/DEVELOPMENT_WORKFLOW.md +28 -9
  179. package/docs/guides/GETTING_STARTED.md +19 -0
  180. package/docs/guides/MIGRATION.md +119 -0
  181. package/docs/workflow/GATES_AND_SCORE.md +34 -1
  182. package/docs/workflow/README.md +58 -10
  183. package/package.json +5 -17
  184. package/docs/ACTIVE_SECURITY_VISUAL_GATES.md +0 -87
  185. package/docs/AI_ENGINEERING_OS_POSITIONING.md +0 -607
  186. package/docs/BACKGROUND_HUNTER.md +0 -62
  187. package/docs/CODE_INTELLIGENCE.md +0 -180
  188. package/docs/CONTEXT_BUDGET.md +0 -165
  189. package/docs/DEPENDENCY_AUDIT.md +0 -118
  190. package/docs/EVOLUTION_SHADOW_MODE.md +0 -63
  191. package/docs/GITLAB_FLOW.md +0 -125
  192. package/docs/GOVERNANCE_DASHBOARD.md +0 -92
  193. package/docs/MEMORY_BRAIN.md +0 -104
  194. package/docs/MEMORY_FABRIC.md +0 -161
  195. package/docs/RESOURCE_GOVERNANCE.md +0 -92
  196. package/docs/RUNTIME_EVIDENCE.md +0 -101
  197. package/docs/WORKFLOW_EVAL.md +0 -151
  198. package/image/wechat-public.jpg +0 -0
  199. package/image/wxPay.jpg +0 -0
  200. package/image/zfb.jpg +0 -0
@@ -0,0 +1,17 @@
1
+ export interface UnifiedHookInput {
2
+ harness: 'claude' | 'codex' | 'cursor' | 'gemini';
3
+ sessionId: string;
4
+ cwd: string;
5
+ toolName: string;
6
+ toolInput: Record<string, unknown>;
7
+ event: 'PreToolUse' | 'PostToolUse' | 'Stop' | 'SessionStart';
8
+ }
9
+ /**
10
+ * Parse Claude Code hook stdin JSON into unified format.
11
+ * Claude Code format: { session_id, cwd, tool_name, tool_input }
12
+ */
13
+ export declare function parseClaudeInput(raw: string): UnifiedHookInput;
14
+ /**
15
+ * Generate Claude Code settings.json hook entry for Cortex.
16
+ */
17
+ export declare function generateClaudeHookConfig(scriptPath: string): object;
@@ -0,0 +1,61 @@
1
+ // SCALE Cortex — Claude Code Adapter
2
+ // 对齐 ECC: DRY adapter pattern — same hook logic, different stdin format
3
+ // Converts Claude Code hook stdin JSON to unified Cortex format
4
+ /**
5
+ * Parse Claude Code hook stdin JSON into unified format.
6
+ * Claude Code format: { session_id, cwd, tool_name, tool_input }
7
+ */
8
+ export function parseClaudeInput(raw) {
9
+ try {
10
+ const input = JSON.parse(raw);
11
+ return {
12
+ harness: 'claude',
13
+ sessionId: input.session_id ?? 'unknown',
14
+ cwd: input.cwd ?? process.cwd(),
15
+ toolName: input.tool_name ?? '',
16
+ toolInput: input.tool_input ?? {},
17
+ event: input.hook_event ?? 'PreToolUse',
18
+ };
19
+ }
20
+ catch {
21
+ return {
22
+ harness: 'claude',
23
+ sessionId: 'unknown',
24
+ cwd: process.cwd(),
25
+ toolName: '',
26
+ toolInput: {},
27
+ event: 'PreToolUse',
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Generate Claude Code settings.json hook entry for Cortex.
33
+ */
34
+ export function generateClaudeHookConfig(scriptPath) {
35
+ return {
36
+ hooks: {
37
+ PreToolUse: [
38
+ {
39
+ type: 'command',
40
+ command: `node ${scriptPath}`,
41
+ timeout: 5000,
42
+ },
43
+ ],
44
+ SessionStart: [
45
+ {
46
+ type: 'command',
47
+ command: `node ${scriptPath} --event SessionStart`,
48
+ timeout: 10000,
49
+ },
50
+ ],
51
+ Stop: [
52
+ {
53
+ type: 'command',
54
+ command: `node ${scriptPath} --event Stop`,
55
+ timeout: 10000,
56
+ },
57
+ ],
58
+ },
59
+ };
60
+ }
61
+ //# sourceMappingURL=ClaudeAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeAdapter.js","sourceRoot":"","sources":["../../../src/cortex/adapters/ClaudeAdapter.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,wEAAwE;AACxE,gEAAgE;AAWhE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YAC/B,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;YACjC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAI,YAAY;SACxC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO;QACL,KAAK,EAAE;YACL,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ,UAAU,EAAE;oBAC7B,OAAO,EAAE,IAAI;iBACd;aACF;YACD,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ,UAAU,uBAAuB;oBAClD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ,UAAU,eAAe;oBAC1C,OAAO,EAAE,KAAK;iBACf;aACF;SACF;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { UnifiedHookInput } from './ClaudeAdapter.js';
2
+ /**
3
+ * Parse Codex hook stdin JSON into unified format.
4
+ * Codex format: { session, workspace, tool, input }
5
+ */
6
+ export declare function parseCodexInput(raw: string): UnifiedHookInput;
7
+ /**
8
+ * Generate Codex hooks.json config entry for Cortex.
9
+ */
10
+ export declare function generateCodexHookConfig(scriptPath: string): object;
@@ -0,0 +1,52 @@
1
+ // SCALE Cortex — Codex Adapter
2
+ // 对齐 ECC: DRY adapter pattern — converts Codex hook format to unified Cortex format
3
+ // Codex uses .codex/hooks.json with slightly different stdin shape
4
+ /**
5
+ * Parse Codex hook stdin JSON into unified format.
6
+ * Codex format: { session, workspace, tool, input }
7
+ */
8
+ export function parseCodexInput(raw) {
9
+ try {
10
+ const input = JSON.parse(raw);
11
+ return {
12
+ harness: 'codex',
13
+ sessionId: input.session?.id ?? input.sessionId ?? 'unknown',
14
+ cwd: input.workspace ?? input.cwd ?? process.cwd(),
15
+ toolName: input.tool ?? input.toolName ?? '',
16
+ toolInput: input.input ?? input.toolInput ?? {},
17
+ event: input.event ?? 'PreToolUse',
18
+ };
19
+ }
20
+ catch {
21
+ return {
22
+ harness: 'codex',
23
+ sessionId: 'unknown',
24
+ cwd: process.cwd(),
25
+ toolName: '',
26
+ toolInput: {},
27
+ event: 'PreToolUse',
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Generate Codex hooks.json config entry for Cortex.
33
+ */
34
+ export function generateCodexHookConfig(scriptPath) {
35
+ return {
36
+ hooks: {
37
+ PreToolUse: [
38
+ {
39
+ command: `node ${scriptPath}`,
40
+ timeout: 5000,
41
+ },
42
+ ],
43
+ SessionStart: [
44
+ {
45
+ command: `node ${scriptPath} --event SessionStart`,
46
+ timeout: 10000,
47
+ },
48
+ ],
49
+ },
50
+ };
51
+ }
52
+ //# sourceMappingURL=CodexAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodexAdapter.js","sourceRoot":"","sources":["../../../src/cortex/adapters/CodexAdapter.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,oFAAoF;AACpF,mEAAmE;AAInE;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;YAC5D,GAAG,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAClD,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC5C,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE;YAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,YAAY;SACnC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,OAAO;QACL,KAAK,EAAE;YACL,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,QAAQ,UAAU,EAAE;oBAC7B,OAAO,EAAE,IAAI;iBACd;aACF;YACD,YAAY,EAAE;gBACZ;oBACE,OAAO,EAAE,QAAQ,UAAU,uBAAuB;oBAClD,OAAO,EAAE,KAAK;iBACf;aACF;SACF;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { UnifiedHookInput } from './ClaudeAdapter.js';
2
+ /**
3
+ * Parse Cursor hook stdin JSON into unified format.
4
+ * Cursor format: { session_id, working_dir, action, args }
5
+ */
6
+ export declare function parseCursorInput(raw: string): UnifiedHookInput;
7
+ /**
8
+ * Generate Cursor hooks.json config entry for Cortex.
9
+ */
10
+ export declare function generateCursorHookConfig(scriptPath: string): object;
@@ -0,0 +1,46 @@
1
+ // SCALE Cortex — Cursor Adapter
2
+ // 对齐 ECC: DRY adapter pattern — converts Cursor hook format to unified Cortex format
3
+ // Cursor uses .cursor/hooks.json with a slightly different stdin schema
4
+ /**
5
+ * Parse Cursor hook stdin JSON into unified format.
6
+ * Cursor format: { session_id, working_dir, action, args }
7
+ */
8
+ export function parseCursorInput(raw) {
9
+ try {
10
+ const input = JSON.parse(raw);
11
+ return {
12
+ harness: 'cursor',
13
+ sessionId: input.session_id ?? input.sessionId ?? 'unknown',
14
+ cwd: input.working_dir ?? input.cwd ?? process.cwd(),
15
+ toolName: input.action ?? input.tool ?? '',
16
+ toolInput: input.args ?? input.input ?? {},
17
+ event: input.hook_event ?? input.event ?? 'PreToolUse',
18
+ };
19
+ }
20
+ catch {
21
+ return {
22
+ harness: 'cursor',
23
+ sessionId: 'unknown',
24
+ cwd: process.cwd(),
25
+ toolName: '',
26
+ toolInput: {},
27
+ event: 'PreToolUse',
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Generate Cursor hooks.json config entry for Cortex.
33
+ */
34
+ export function generateCursorHookConfig(scriptPath) {
35
+ return {
36
+ hooks: {
37
+ PreToolUse: [
38
+ {
39
+ type: 'command',
40
+ command: `node ${scriptPath}`,
41
+ },
42
+ ],
43
+ },
44
+ };
45
+ }
46
+ //# sourceMappingURL=CursorAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorAdapter.js","sourceRoot":"","sources":["../../../src/cortex/adapters/CursorAdapter.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,qFAAqF;AACrF,wEAAwE;AAIxE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;YAC3D,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACpD,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;YAC1C,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAC1C,KAAK,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,IAAI,YAAY;SACvD,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO;QACL,KAAK,EAAE;YACL,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ,UAAU,EAAE;iBAC9B;aACF;SACF;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { UnifiedHookInput } from './ClaudeAdapter.js';
2
+ /**
3
+ * Parse Gemini CLI hook stdin JSON into unified format.
4
+ * Gemini format varies per tool, this normalizes across known shapes.
5
+ */
6
+ export declare function parseGeminiInput(raw: string): UnifiedHookInput;
7
+ /**
8
+ * Generate Gemini CLI hook config entry for Cortex.
9
+ * Gemini CLI uses GEMINI.md with hooks section.
10
+ */
11
+ export declare function generateGeminiHookConfig(scriptPath: string): object;
@@ -0,0 +1,48 @@
1
+ // SCALE Cortex — Gemini CLI Adapter
2
+ // 对齐 ECC: DRY adapter pattern — converts Gemini CLI hook format to unified Cortex format
3
+ // Gemini CLI uses GEMINI.md hooks with its own stdin format
4
+ /**
5
+ * Parse Gemini CLI hook stdin JSON into unified format.
6
+ * Gemini format varies per tool, this normalizes across known shapes.
7
+ */
8
+ export function parseGeminiInput(raw) {
9
+ try {
10
+ const input = JSON.parse(raw);
11
+ return {
12
+ harness: 'gemini',
13
+ sessionId: input.session_id ?? input.sessionId ?? input.sid ?? 'unknown',
14
+ cwd: input.cwd ?? input.working_directory ?? process.cwd(),
15
+ toolName: input.tool_name ?? input.toolName ?? input.action ?? '',
16
+ toolInput: input.input ?? input.tool_input ?? input.args ?? {},
17
+ event: input.event ?? input.hook_event ?? 'PreToolUse',
18
+ };
19
+ }
20
+ catch {
21
+ return {
22
+ harness: 'gemini',
23
+ sessionId: 'unknown',
24
+ cwd: process.cwd(),
25
+ toolName: '',
26
+ toolInput: {},
27
+ event: 'PreToolUse',
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Generate Gemini CLI hook config entry for Cortex.
33
+ * Gemini CLI uses GEMINI.md with hooks section.
34
+ */
35
+ export function generateGeminiHookConfig(scriptPath) {
36
+ return {
37
+ hooks: {
38
+ PreToolUse: [
39
+ {
40
+ type: 'command',
41
+ command: `node ${scriptPath}`,
42
+ timeout: 5000,
43
+ },
44
+ ],
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=GeminiAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiAdapter.js","sourceRoot":"","sources":["../../../src/cortex/adapters/GeminiAdapter.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,yFAAyF;AACzF,4DAA4D;AAI5D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,IAAI,SAAS;YACxE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE;YAC1D,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;YACjE,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;YAC9D,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY;SACvD,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO;QACL,KAAK,EAAE;YACL,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ,UAAU,EAAE;oBAC7B,OAAO,EAAE,IAAI;iBACd;aACF;SACF;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface BenchmarkData {
2
+ timestamp: string;
3
+ version: string;
4
+ summary: {
5
+ passAt1: number;
6
+ passAt3: number;
7
+ totalCases: number;
8
+ avgDurationMs: number;
9
+ avgTokens: number;
10
+ avgCostUsd: number;
11
+ };
12
+ byCategory: Record<string, {
13
+ total: number;
14
+ passed: number;
15
+ avgDurationMs: number;
16
+ avgTokens: number;
17
+ }>;
18
+ trends: Array<{
19
+ date: string;
20
+ passAt1: number;
21
+ totalCases: number;
22
+ }>;
23
+ }
24
+ export declare function publishBenchmark(data: BenchmarkData, outputDir?: string): string;
25
+ export declare function createBenchmarkSummary(version: string): BenchmarkData;
@@ -0,0 +1,27 @@
1
+ import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ export function publishBenchmark(data, outputDir = '.scale/benchmarks') {
4
+ if (!existsSync(outputDir))
5
+ mkdirSync(outputDir, { recursive: true });
6
+ const filename = `benchmark-${data.version}-${data.timestamp.replace(/[:.]/g, '-')}.json`;
7
+ const path = join(outputDir, filename);
8
+ writeFileSync(path, JSON.stringify(data, null, 2));
9
+ return path;
10
+ }
11
+ export function createBenchmarkSummary(version) {
12
+ return {
13
+ timestamp: new Date().toISOString(),
14
+ version,
15
+ summary: {
16
+ passAt1: 0,
17
+ passAt3: 0,
18
+ totalCases: 0,
19
+ avgDurationMs: 0,
20
+ avgTokens: 0,
21
+ avgCostUsd: 0,
22
+ },
23
+ byCategory: {},
24
+ trends: [],
25
+ };
26
+ }
27
+ //# sourceMappingURL=BenchmarkPublisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BenchmarkPublisher.js","sourceRoot":"","sources":["../../src/eval/BenchmarkPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA0BhC,MAAM,UAAU,gBAAgB,CAAC,IAAmB,EAAE,YAAoB,mBAAmB;IAC3F,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAA;IACzF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACtC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAClD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;QACP,OAAO,EAAE;YACP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACd;QACD,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC"}
@@ -242,6 +242,15 @@ function scanPackageSource(projectDir, pkg, maxPackageFiles) {
242
242
  }
243
243
  return findings;
244
244
  }
245
+ // Packages that legitimately use eval/Function for browser automation, sandboxing, etc.
246
+ const KNOWN_EVAL_PACKAGES = new Set([
247
+ 'playwright',
248
+ 'playwright-core',
249
+ 'puppeteer-core',
250
+ 'puppeteer',
251
+ 'jsdom',
252
+ 'happy-dom',
253
+ ]);
245
254
  function sourceFindingForLine(pkg, path, lineNumber, line) {
246
255
  const trimmed = line.trim();
247
256
  if (trimmed === '' || trimmed.startsWith('//') || trimmed.startsWith('*') || trimmed.startsWith('/*'))
@@ -251,7 +260,7 @@ function sourceFindingForLine(pkg, path, lineNumber, line) {
251
260
  packageName: pkg.name,
252
261
  version: pkg.metadata.version,
253
262
  ruleId: 'dependency.eval',
254
- severity: 'CRITICAL',
263
+ severity: KNOWN_EVAL_PACKAGES.has(pkg.name) ? 'MEDIUM' : 'CRITICAL',
255
264
  path,
256
265
  message: 'Dependency source uses dynamic code execution.',
257
266
  evidence: `line ${lineNumber}: ${trimmed.slice(0, 180)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyAuditor.js","sourceRoot":"","sources":["../../src/guardrails/DependencyAuditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AA0FzD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAC1D,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAC/B,MAAM,yBAAyB,GAAG,EAAE,CAAA;AACpC,MAAM,iCAAiC,GAKlC;IACH;QACE,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,oGAAoG;KAC9G;IACD;QACE,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,oGAAoG;KAC9G;IACD;QACE,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,oGAAoG;KAC9G;CACF,CAAA;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oBAAoB;QACjC,eAAe,EAAE,yBAAyB;QAC1C,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;KACrB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ;IACvF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QACjG,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC9B,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ;IACvF,MAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,MAAM,GAA8B,EAAE,CAAA;IAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA8B,CAAA;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC9H,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe;QACnD,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,oBAAoB;QACvE,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,yBAAyB;QACpF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;YAChD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAClF,CAAC,CAAC,EAAE;QACN,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;gBACpC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAChC;YACD,CAAC,CAAC,EAAE;QACN,QAAQ;KACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkC,EAAE;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAA;IAC7C,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAA;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;QACtE,OAAO,YAAY,CAAC;YAClB,UAAU;YACV,UAAU,EAAE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC3D,IAAI;YACJ,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,QAAyB,CAAA;IAC7B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAoB,CAAA;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7G,OAAO,YAAY,CAAC;YAClB,UAAU;YACV,YAAY;YACZ,UAAU,EAAE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC3D,IAAI;YACJ,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,mBAAmB;oBAChC,MAAM,EAAE,6BAA6B;oBACrC,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC5C,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,wCAAwC;iBAClD,CAAC;YACF,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE;QACxC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;KACvD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAE1D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAC5H,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACnF,OAAO,YAAY,CAAC;QAClB,UAAU;QACV,YAAY;QACZ,UAAU,EAAE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC;QAC3D,IAAI;QACJ,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9C,QAAQ;QACR,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAQrB;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;SAC5B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC5D,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IACxJ,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QACzB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ;QACR,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QAChE,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAyB,EAAE,OAA4D;IAC7G,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;QACrB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACvC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QAC1C,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;KAChD,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;IAClG,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SACpF,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,GAAiE,EAAE,eAAuB;IACjI,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC;YACZ,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,2BAA2B;YACnC,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,kDAAkD;YAC3D,QAAQ,EAAE,uBAAuB;YACjC,GAAG,EAAE,wEAAwE;SAC9E,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,4CAA4C;YACrD,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5G,GAAG,EAAE,4EAA4E;SAClF,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,kCAAkC;YAC3C,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU;YACjC,GAAG,EAAE,+CAA+C;SACrD,CAAC,CAAA;IACJ,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAA;IACrE,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAiE;IACnG,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAA;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,OAAO,iCAAiC;SACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;SAC5E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACb,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,OAAO;QACP,MAAM,EAAE,+BAA+B;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE;QAClC,GAAG,EAAE,mGAAmG;KACzG,CAAC,CAAC,CAAA;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,GAAiE,EAAE,eAAuB;IACvI,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IACzC,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC;YACH,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAQ;QACxC,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;YACxE,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAmD,EAAE,IAAY,EAAE,UAAkB,EAAE,IAAY;IAC/H,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAClH,IAAI,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,iBAAiB;YACzB,QAAQ,EAAE,UAAU;YACpB,IAAI;YACJ,OAAO,EAAE,gDAAgD;YACzD,QAAQ,EAAE,QAAQ,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACxD,GAAG,EAAE,0DAA0D;SAChE,CAAA;IACH,CAAC;IACD,IAAI,2HAA2H,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9I,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,MAAM;YAChB,IAAI;YACJ,OAAO,EAAE,6CAA6C;YACtD,QAAQ,EAAE,QAAQ,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACxD,GAAG,EAAE,kEAAkE;SACxE,CAAA;IACH,CAAC;IACD,IAAI,6DAA6D,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,2BAA2B;YACnC,QAAQ,EAAE,QAAQ;YAClB,IAAI;YACJ,OAAO,EAAE,4CAA4C;YACrD,QAAQ,EAAE,QAAQ,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACxD,GAAG,EAAE,0DAA0D;SAChE,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,KAAe,EAAE,QAAgB;IACjE,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAM;IACpC,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAM;IACR,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;YAAE,OAAM;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/J,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACxC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;IACrE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc;QAAE,OAAO,KAAK,CAAA;IAC7C,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IACxD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA+B,EAAE,MAAqC;IAC/F,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;QACxC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAC9B,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CACjE,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAiC,EAAE,IAAyB;IAC/E,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO,IAAI,CAAA;IACxC,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAA;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,eAAuB,EAAE,QAAkC;IAC5E,MAAM,UAAU,GAA4C;QAC1D,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,GAAG,EAAE,CAAC;KACP,CAAA;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACjE,OAAO;QACL,eAAe;QACf,aAAa,EAAE,QAAQ,CAAC,MAAM;QAC9B,UAAU;KACX,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACnG,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7F,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC1D,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"DependencyAuditor.js","sourceRoot":"","sources":["../../src/guardrails/DependencyAuditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export interface DaemonStatus {
2
+ running: boolean;
3
+ pid?: number;
4
+ startedAt?: string;
5
+ policyPath: string;
6
+ policyHash: string;
7
+ activeWorkspaces: number;
8
+ totalDispatched: number;
9
+ activeIssues: string[];
10
+ lastTickAt?: string;
11
+ uptime?: number;
12
+ }
13
+ export declare class OrchestratorDaemon {
14
+ private policyLoader;
15
+ private workspaceManager;
16
+ private reconciliationLoop;
17
+ private tracker;
18
+ private projectDir;
19
+ private startedAt;
20
+ constructor(projectDir?: string);
21
+ /**
22
+ * Start the daemon.
23
+ */
24
+ start(): Promise<{
25
+ success: boolean;
26
+ pid: number;
27
+ reason?: string;
28
+ }>;
29
+ /**
30
+ * Stop the daemon gracefully.
31
+ */
32
+ stop(): Promise<{
33
+ success: boolean;
34
+ }>;
35
+ /**
36
+ * Get current daemon status.
37
+ */
38
+ status(): DaemonStatus;
39
+ /**
40
+ * Read daemon log.
41
+ */
42
+ readLog(lines?: number): string;
43
+ private createTracker;
44
+ }
@@ -0,0 +1,150 @@
1
+ // SCALE Orchestrator — Daemon
2
+ // 对齐 Symphony: long-running daemon with poll loop + workspace lifecycle
3
+ // Manages: start, stop, status, signal handling, graceful shutdown
4
+ import { existsSync, mkdirSync, writeFileSync, readFileSync, unlinkSync } from 'node:fs';
5
+ import { join } from 'node:path';
6
+ import { logger } from '../core/logger.js';
7
+ import { PolicyLoader } from './PolicyLoader.js';
8
+ import { WorkspaceManager } from './WorkspaceManager.js';
9
+ import { ReconciliationLoop } from './ReconciliationLoop.js';
10
+ import { GitHubTrackerAdapter, MockTrackerAdapter } from './TrackerAdapter.js';
11
+ // ---------------------------------------------------------------------------
12
+ // PID file management (for daemon lifecycle)
13
+ // ---------------------------------------------------------------------------
14
+ const DAEMON_DIR = '.scale/orchestrator';
15
+ const PID_FILE = join(DAEMON_DIR, 'daemon.pid');
16
+ const LOG_FILE = join(DAEMON_DIR, 'daemon.log');
17
+ export class OrchestratorDaemon {
18
+ constructor(projectDir = process.cwd()) {
19
+ this.policyLoader = new PolicyLoader();
20
+ this.workspaceManager = null;
21
+ this.reconciliationLoop = null;
22
+ this.tracker = null;
23
+ this.startedAt = null;
24
+ this.projectDir = projectDir;
25
+ }
26
+ /**
27
+ * Start the daemon.
28
+ */
29
+ async start() {
30
+ // Ensure daemon directory
31
+ if (!existsSync(DAEMON_DIR))
32
+ mkdirSync(DAEMON_DIR, { recursive: true });
33
+ // Check if already running
34
+ if (existsSync(PID_FILE)) {
35
+ const existingPid = parseInt(readFileSync(PID_FILE, 'utf-8'), 10);
36
+ try {
37
+ process.kill(existingPid, 0);
38
+ return { success: false, pid: existingPid, reason: 'Daemon already running' };
39
+ }
40
+ catch { /* stale PID */ }
41
+ }
42
+ // Load policy
43
+ const policy = this.policyLoader.load(this.projectDir);
44
+ this.policyLoader.watch(this.projectDir);
45
+ // Create tracker adapter
46
+ this.tracker = this.createTracker(policy);
47
+ // Create workspace manager
48
+ this.workspaceManager = new WorkspaceManager(policy);
49
+ // Create reconciliation loop
50
+ this.reconciliationLoop = new ReconciliationLoop(this.tracker, this.workspaceManager, policy);
51
+ // Wire up events
52
+ this.reconciliationLoop.on('dispatched', (record) => {
53
+ logger.info({ issueId: record.issueId, workspace: record.workspaceId, attempt: record.attempts }, 'Task dispatched');
54
+ });
55
+ this.reconciliationLoop.on('completed', (issueId, success) => {
56
+ logger.info({ issueId, success }, 'Task completed');
57
+ });
58
+ this.reconciliationLoop.on('released', (issueId) => {
59
+ this.workspaceManager?.updateStatus(issueId, 'terminal');
60
+ });
61
+ this.reconciliationLoop.on('error', (issueId, error) => {
62
+ logger.error({ issueId, err: error }, 'Task error');
63
+ });
64
+ // Start the loop
65
+ this.reconciliationLoop.start();
66
+ this.startedAt = new Date().toISOString();
67
+ // Write PID
68
+ writeFileSync(PID_FILE, String(process.pid));
69
+ // Signal handling for graceful shutdown
70
+ const shutdown = () => { void this.stop(); process.exit(0); };
71
+ process.on('SIGINT', shutdown);
72
+ process.on('SIGTERM', shutdown);
73
+ // Append to log
74
+ writeFileSync(LOG_FILE, `${this.startedAt} — Daemon started (PID ${process.pid})\n`, { flag: 'a' });
75
+ logger.info({ pid: process.pid, policy: policy.hash }, 'Orchestrator daemon started');
76
+ return { success: true, pid: process.pid };
77
+ }
78
+ /**
79
+ * Stop the daemon gracefully.
80
+ */
81
+ async stop() {
82
+ if (this.reconciliationLoop)
83
+ this.reconciliationLoop.stop();
84
+ if (this.workspaceManager) {
85
+ this.workspaceManager.cleanupTerminal();
86
+ }
87
+ if (existsSync(PID_FILE))
88
+ unlinkSync(PID_FILE);
89
+ this.startedAt = null;
90
+ const timestamp = new Date().toISOString();
91
+ writeFileSync(LOG_FILE, `${timestamp} — Daemon stopped\n`, { flag: 'a' });
92
+ logger.info('Orchestrator daemon stopped');
93
+ return { success: true };
94
+ }
95
+ /**
96
+ * Get current daemon status.
97
+ */
98
+ status() {
99
+ const records = this.reconciliationLoop?.getDispatchRecords() ?? [];
100
+ const activeRecords = records.filter(r => r.state === 'Running');
101
+ const activeWorkspaces = this.workspaceManager?.listActive() ?? [];
102
+ const uptime = this.startedAt
103
+ ? Date.now() - new Date(this.startedAt).getTime()
104
+ : undefined;
105
+ return {
106
+ running: existsSync(PID_FILE),
107
+ pid: existsSync(PID_FILE) ? parseInt(readFileSync(PID_FILE, 'utf-8'), 10) : undefined,
108
+ startedAt: this.startedAt ?? undefined,
109
+ policyPath: join(this.projectDir, 'SCALE_POLICY.md'),
110
+ policyHash: this.policyLoader.get().hash,
111
+ activeWorkspaces: activeWorkspaces.length,
112
+ totalDispatched: records.length,
113
+ activeIssues: activeRecords.map(r => r.issueId),
114
+ lastTickAt: records[0]?.lastActivityAt,
115
+ uptime,
116
+ };
117
+ }
118
+ /**
119
+ * Read daemon log.
120
+ */
121
+ readLog(lines = 50) {
122
+ if (!existsSync(LOG_FILE))
123
+ return '(no log)';
124
+ const entries = readFileSync(LOG_FILE, 'utf-8').trim().split('\n');
125
+ return entries.slice(-lines).join('\n');
126
+ }
127
+ // -----------------------------------------------------------------------
128
+ // Internal
129
+ // -----------------------------------------------------------------------
130
+ createTracker(policy) {
131
+ switch (policy.tracker.type) {
132
+ case 'github':
133
+ return new GitHubTrackerAdapter({
134
+ type: 'github',
135
+ owner: policy.tracker.owner,
136
+ repo: policy.tracker.repo,
137
+ activeStates: policy.tracker.activeStates,
138
+ terminalStates: policy.tracker.terminalStates,
139
+ priorityLabels: policy.polling.priorityLabels,
140
+ });
141
+ case 'linear':
142
+ case 'jira':
143
+ logger.warn(`${policy.tracker.type} tracker not yet implemented — using mock`);
144
+ return new MockTrackerAdapter();
145
+ default:
146
+ return new MockTrackerAdapter();
147
+ }
148
+ }
149
+ }
150
+ //# sourceMappingURL=OrchestratorDaemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrchestratorDaemon.js","sourceRoot":"","sources":["../../src/orchestrator/OrchestratorDaemon.ts"],"names":[],"mappings":"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"}