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.
- package/CHANGELOG.md +85 -85
- package/LICENSE +21 -21
- package/README-ko.md +282 -0
- package/README.md +282 -266
- package/mcp-config.json +10 -10
- package/package.json +4 -2
- package/src/adapters/index.ts +370 -370
- package/src/cli.ts +162 -127
- package/src/commands/benchmark.ts +187 -187
- package/src/commands/correlate.ts +180 -0
- package/src/commands/dashboard.ts +404 -0
- package/src/commands/evolution.ts +84 -1
- package/src/commands/fix.ts +158 -158
- package/src/commands/lang.ts +41 -41
- package/src/commands/plugin.ts +110 -0
- package/src/commands/restart.ts +14 -14
- package/src/commands/score.ts +276 -276
- package/src/commands/start.ts +155 -155
- package/src/commands/status.ts +157 -157
- package/src/commands/stop.ts +68 -68
- package/src/commands/suggest.ts +211 -0
- package/src/commands/sync.ts +329 -16
- package/src/constants.ts +32 -32
- package/src/core/boast.ts +280 -280
- package/src/core/config.ts +49 -49
- package/src/core/correlation-engine.ts +265 -0
- package/src/core/db.ts +145 -117
- package/src/core/discovery.ts +65 -65
- package/src/core/federation.ts +129 -0
- package/src/core/hologram/engine.ts +71 -71
- package/src/core/hologram/fallback.ts +11 -11
- package/src/core/hologram/go-extractor.ts +203 -0
- package/src/core/hologram/incremental.ts +227 -227
- package/src/core/hologram/py-extractor.ts +132 -132
- package/src/core/hologram/rust-extractor.ts +244 -0
- package/src/core/hologram/ts-extractor.ts +406 -320
- package/src/core/hologram/types.ts +27 -25
- package/src/core/hologram.ts +73 -71
- package/src/core/i18n/messages.ts +309 -309
- package/src/core/locale.ts +88 -88
- package/src/core/log-rotate.ts +33 -33
- package/src/core/log-utils.ts +38 -38
- package/src/core/lru-map.ts +61 -61
- package/src/core/notify.ts +74 -74
- package/src/core/plugin-manager.ts +225 -0
- package/src/core/rule-suggestion.ts +127 -0
- package/src/core/validator-generator.ts +224 -0
- package/src/core/workspace.ts +28 -28
- package/src/daemon/client.ts +78 -65
- package/src/daemon/event-batcher.ts +108 -108
- package/src/daemon/guards.ts +13 -13
- package/src/daemon/http-routes.ts +376 -293
- package/src/daemon/mcp-handler.ts +575 -270
- package/src/daemon/mcp-subscriptions.ts +81 -0
- package/src/daemon/mesh.ts +51 -0
- package/src/daemon/server.ts +655 -590
- package/src/daemon/types.ts +121 -100
- package/src/daemon/workspace-map.ts +104 -92
- package/src/platform.ts +60 -60
- package/src/version.ts +15 -15
- 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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
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
|
+
}
|
package/src/core/hologram.ts
CHANGED
|
@@ -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 {
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
tree.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
+
}
|