autonomous-flow-daemon 1.6.0 → 1.9.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 (61) hide show
  1. package/CHANGELOG.md +85 -85
  2. package/LICENSE +21 -21
  3. package/README-ko.md +282 -0
  4. package/README.md +282 -266
  5. package/mcp-config.json +10 -10
  6. package/package.json +4 -2
  7. package/src/adapters/index.ts +370 -370
  8. package/src/cli.ts +162 -127
  9. package/src/commands/benchmark.ts +187 -187
  10. package/src/commands/correlate.ts +180 -0
  11. package/src/commands/dashboard.ts +404 -0
  12. package/src/commands/evolution.ts +84 -1
  13. package/src/commands/fix.ts +158 -158
  14. package/src/commands/lang.ts +41 -41
  15. package/src/commands/plugin.ts +110 -0
  16. package/src/commands/restart.ts +14 -14
  17. package/src/commands/score.ts +276 -276
  18. package/src/commands/start.ts +155 -155
  19. package/src/commands/status.ts +157 -157
  20. package/src/commands/stop.ts +68 -68
  21. package/src/commands/suggest.ts +211 -0
  22. package/src/commands/sync.ts +329 -16
  23. package/src/constants.ts +32 -32
  24. package/src/core/boast.ts +280 -280
  25. package/src/core/config.ts +49 -49
  26. package/src/core/correlation-engine.ts +265 -0
  27. package/src/core/db.ts +145 -117
  28. package/src/core/discovery.ts +65 -65
  29. package/src/core/federation.ts +129 -0
  30. package/src/core/hologram/engine.ts +71 -71
  31. package/src/core/hologram/fallback.ts +11 -11
  32. package/src/core/hologram/go-extractor.ts +203 -0
  33. package/src/core/hologram/incremental.ts +227 -227
  34. package/src/core/hologram/py-extractor.ts +132 -132
  35. package/src/core/hologram/rust-extractor.ts +244 -0
  36. package/src/core/hologram/ts-extractor.ts +406 -320
  37. package/src/core/hologram/types.ts +27 -25
  38. package/src/core/hologram.ts +73 -71
  39. package/src/core/i18n/messages.ts +309 -309
  40. package/src/core/locale.ts +88 -88
  41. package/src/core/log-rotate.ts +33 -33
  42. package/src/core/log-utils.ts +38 -38
  43. package/src/core/lru-map.ts +61 -61
  44. package/src/core/notify.ts +74 -74
  45. package/src/core/plugin-manager.ts +225 -0
  46. package/src/core/rule-suggestion.ts +127 -0
  47. package/src/core/validator-generator.ts +224 -0
  48. package/src/core/workspace.ts +28 -28
  49. package/src/daemon/client.ts +78 -65
  50. package/src/daemon/event-batcher.ts +108 -108
  51. package/src/daemon/guards.ts +13 -13
  52. package/src/daemon/http-routes.ts +376 -293
  53. package/src/daemon/mcp-handler.ts +575 -270
  54. package/src/daemon/mcp-subscriptions.ts +81 -0
  55. package/src/daemon/mesh.ts +51 -0
  56. package/src/daemon/server.ts +655 -590
  57. package/src/daemon/types.ts +121 -100
  58. package/src/daemon/workspace-map.ts +104 -92
  59. package/src/platform.ts +60 -60
  60. package/src/version.ts +15 -15
  61. package/README.ko.md +0 -266
@@ -1,25 +1,27 @@
1
- import type { Tree } from "web-tree-sitter";
2
-
3
- export interface HologramResult {
4
- hologram: string;
5
- originalLength: number;
6
- hologramLength: number;
7
- savings: number; // percentage 0-100
8
- language?: string;
9
- isDiff?: boolean;
10
- changedNodes?: number;
11
- }
12
-
13
- export interface HologramOptions {
14
- contextFile?: string;
15
- diffOnly?: boolean;
16
- }
17
-
18
- export interface LanguageExtractor {
19
- /** Supported file extensions (without dot) */
20
- extensions: string[];
21
- /** Tree-sitter grammar name for WASM resolution */
22
- grammarName: string;
23
- /** Extract type signatures from AST */
24
- extract(tree: Tree, source: string, options?: HologramOptions): string[];
25
- }
1
+ import type { Tree } from "web-tree-sitter";
2
+
3
+ export interface HologramResult {
4
+ hologram: string;
5
+ originalLength: number;
6
+ hologramLength: number;
7
+ savings: number; // percentage 0-100
8
+ language?: string;
9
+ isDiff?: boolean;
10
+ changedNodes?: number;
11
+ }
12
+
13
+ export interface HologramOptions {
14
+ contextFile?: string;
15
+ diffOnly?: boolean;
16
+ /** L1: Extract only these named symbols (interfaces, types, classes, functions) */
17
+ symbols?: string[];
18
+ }
19
+
20
+ export interface LanguageExtractor {
21
+ /** Supported file extensions (without dot) */
22
+ extensions: string[];
23
+ /** Tree-sitter grammar name for WASM resolution */
24
+ grammarName: string;
25
+ /** Extract type signatures from AST */
26
+ extract(tree: Tree, source: string, options?: HologramOptions): string[];
27
+ }
@@ -1,71 +1,73 @@
1
- /**
2
- * Hologram Engine — Language Dispatcher
3
- *
4
- * Routes file parsing to the appropriate tree-sitter extractor based on extension.
5
- * Falls back to L0 (full source) for unsupported languages or parse errors.
6
- */
7
-
8
- import { TreeSitterEngine } from "./hologram/engine";
9
- import { tsExtractor } from "./hologram/ts-extractor";
10
- import { pyExtractor } from "./hologram/py-extractor";
11
- import { fallbackL0 } from "./hologram/fallback";
12
- import { generateIncrementalHologram, setCachedHologram } from "./hologram/incremental";
13
- import type { HologramResult, HologramOptions, LanguageExtractor } from "./hologram/types";
14
-
15
- // Re-export types for backward compatibility
16
- export type { HologramResult, HologramOptions } from "./hologram/types";
17
- export { clearHologramCache } from "./hologram/incremental";
18
-
19
- const extractors: LanguageExtractor[] = [tsExtractor, pyExtractor];
20
-
21
- function detectExtractor(filePath: string): LanguageExtractor | null {
22
- const ext = filePath.split(".").pop()?.toLowerCase() ?? "";
23
- return extractors.find(e => e.extensions.includes(ext)) ?? null;
24
- }
25
-
26
- export async function generateHologram(
27
- filePath: string,
28
- source: string,
29
- options?: HologramOptions,
30
- ): Promise<HologramResult> {
31
- const extractor = detectExtractor(filePath);
32
-
33
- if (!extractor) {
34
- return fallbackL0(filePath, source);
35
- }
36
-
37
- // Incremental diff mode
38
- if (options?.diffOnly) {
39
- try {
40
- return await generateIncrementalHologram(filePath, source, extractor, options);
41
- } catch {
42
- return fallbackL0(filePath, source);
43
- }
44
- }
45
-
46
- try {
47
- const engine = await TreeSitterEngine.getInstance();
48
- const tree = await engine.parse(source, extractor.grammarName);
49
- const lines = extractor.extract(tree, source, options);
50
- tree.delete();
51
-
52
- // Cache for future incremental diffs
53
- setCachedHologram(filePath, lines);
54
-
55
- const hologram = lines.join("\n");
56
- const hologramLength = hologram.length;
57
- const savings = source.length > 0
58
- ? Math.round((source.length - hologramLength) / source.length * 1000) / 10
59
- : 0;
60
-
61
- return {
62
- hologram,
63
- originalLength: source.length,
64
- hologramLength,
65
- savings,
66
- language: extractor.grammarName,
67
- };
68
- } catch {
69
- return fallbackL0(filePath, source);
70
- }
71
- }
1
+ /**
2
+ * Hologram Engine — Language Dispatcher
3
+ *
4
+ * Routes file parsing to the appropriate tree-sitter extractor based on extension.
5
+ * Falls back to L0 (full source) for unsupported languages or parse errors.
6
+ */
7
+
8
+ import { TreeSitterEngine } from "./hologram/engine";
9
+ import { tsExtractor } from "./hologram/ts-extractor";
10
+ import { pyExtractor } from "./hologram/py-extractor";
11
+ import { goExtractor } from "./hologram/go-extractor";
12
+ import { rustExtractor } from "./hologram/rust-extractor";
13
+ import { fallbackL0 } from "./hologram/fallback";
14
+ import { generateIncrementalHologram, setCachedHologram } from "./hologram/incremental";
15
+ import type { HologramResult, HologramOptions, LanguageExtractor } from "./hologram/types";
16
+
17
+ // Re-export types for backward compatibility
18
+ export type { HologramResult, HologramOptions } from "./hologram/types";
19
+ export { clearHologramCache } from "./hologram/incremental";
20
+
21
+ const extractors: LanguageExtractor[] = [tsExtractor, pyExtractor, goExtractor, rustExtractor];
22
+
23
+ function detectExtractor(filePath: string): LanguageExtractor | null {
24
+ const ext = filePath.split(".").pop()?.toLowerCase() ?? "";
25
+ return extractors.find(e => e.extensions.includes(ext)) ?? null;
26
+ }
27
+
28
+ export async function generateHologram(
29
+ filePath: string,
30
+ source: string,
31
+ options?: HologramOptions,
32
+ ): Promise<HologramResult> {
33
+ const extractor = detectExtractor(filePath);
34
+
35
+ if (!extractor) {
36
+ return fallbackL0(filePath, source);
37
+ }
38
+
39
+ // Incremental diff mode
40
+ if (options?.diffOnly) {
41
+ try {
42
+ return await generateIncrementalHologram(filePath, source, extractor, options);
43
+ } catch {
44
+ return fallbackL0(filePath, source);
45
+ }
46
+ }
47
+
48
+ try {
49
+ const engine = await TreeSitterEngine.getInstance();
50
+ const tree = await engine.parse(source, extractor.grammarName);
51
+ const lines = extractor.extract(tree, source, options);
52
+ tree.delete();
53
+
54
+ // Cache for future incremental diffs
55
+ setCachedHologram(filePath, lines);
56
+
57
+ const hologram = lines.join("\n");
58
+ const hologramLength = hologram.length;
59
+ const savings = source.length > 0
60
+ ? Math.round((source.length - hologramLength) / source.length * 1000) / 10
61
+ : 0;
62
+
63
+ return {
64
+ hologram,
65
+ originalLength: source.length,
66
+ hologramLength,
67
+ savings,
68
+ language: extractor.grammarName,
69
+ };
70
+ } catch {
71
+ return fallbackL0(filePath, source);
72
+ }
73
+ }