homegraph 1.2.0 → 1.5.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/README.md +48 -11
- package/dist/bin/homegraph.js +298 -72
- package/dist/bin/homegraph.js.map +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +117 -11
- package/dist/context/index.js.map +1 -1
- package/dist/db/index.d.ts +207 -6
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +461 -20
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +19 -1
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/queries.d.ts +157 -3
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +426 -9
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +32 -1
- package/dist/db/sqlite-adapter.d.ts +24 -17
- package/dist/db/sqlite-adapter.d.ts.map +1 -1
- package/dist/db/sqlite-adapter.js +292 -36
- package/dist/db/sqlite-adapter.js.map +1 -1
- package/dist/db/wal-valve.d.ts +119 -0
- package/dist/db/wal-valve.d.ts.map +1 -0
- package/dist/db/wal-valve.js +290 -0
- package/dist/db/wal-valve.js.map +1 -0
- package/dist/directory.d.ts +9 -5
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +210 -19
- package/dist/directory.js.map +1 -1
- package/dist/extraction/arkts-batch-worker.js +3 -2
- package/dist/extraction/arkts-batch-worker.js.map +1 -1
- package/dist/extraction/cfml-extractor.d.ts +107 -0
- package/dist/extraction/cfml-extractor.d.ts.map +1 -0
- package/dist/extraction/cfml-extractor.js +494 -0
- package/dist/extraction/cfml-extractor.js.map +1 -0
- package/dist/extraction/default-ignore.d.ts +39 -0
- package/dist/extraction/default-ignore.d.ts.map +1 -0
- package/dist/extraction/default-ignore.js +221 -0
- package/dist/extraction/default-ignore.js.map +1 -0
- package/dist/extraction/grammars.d.ts +25 -1
- package/dist/extraction/grammars.d.ts.map +1 -1
- package/dist/extraction/grammars.js +177 -24
- package/dist/extraction/grammars.js.map +1 -1
- package/dist/extraction/index.d.ts +52 -14
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +521 -314
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/arkts.d.ts +90 -6
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +1579 -128
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/extraction/languages/c-cpp.d.ts +42 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -1
- package/dist/extraction/languages/c-cpp.js +369 -4
- package/dist/extraction/languages/c-cpp.js.map +1 -1
- package/dist/extraction/languages/cfquery.d.ts +12 -0
- package/dist/extraction/languages/cfquery.d.ts.map +1 -0
- package/dist/extraction/languages/cfquery.js +28 -0
- package/dist/extraction/languages/cfquery.js.map +1 -0
- package/dist/extraction/languages/cfscript.d.ts +3 -0
- package/dist/extraction/languages/cfscript.d.ts.map +1 -0
- package/dist/extraction/languages/cfscript.js +73 -0
- package/dist/extraction/languages/cfscript.js.map +1 -0
- package/dist/extraction/languages/cobol.d.ts +33 -0
- package/dist/extraction/languages/cobol.d.ts.map +1 -0
- package/dist/extraction/languages/cobol.js +499 -0
- package/dist/extraction/languages/cobol.js.map +1 -0
- package/dist/extraction/languages/erlang.d.ts +3 -0
- package/dist/extraction/languages/erlang.d.ts.map +1 -0
- package/dist/extraction/languages/erlang.js +350 -0
- package/dist/extraction/languages/erlang.js.map +1 -0
- package/dist/extraction/languages/index.d.ts.map +1 -1
- package/dist/extraction/languages/index.js +16 -0
- package/dist/extraction/languages/index.js.map +1 -1
- package/dist/extraction/languages/nix.d.ts +3 -0
- package/dist/extraction/languages/nix.d.ts.map +1 -0
- package/dist/extraction/languages/nix.js +294 -0
- package/dist/extraction/languages/nix.js.map +1 -0
- package/dist/extraction/languages/solidity.d.ts +3 -0
- package/dist/extraction/languages/solidity.d.ts.map +1 -0
- package/dist/extraction/languages/solidity.js +293 -0
- package/dist/extraction/languages/solidity.js.map +1 -0
- package/dist/extraction/languages/terraform.d.ts +3 -0
- package/dist/extraction/languages/terraform.d.ts.map +1 -0
- package/dist/extraction/languages/terraform.js +641 -0
- package/dist/extraction/languages/terraform.js.map +1 -0
- package/dist/extraction/languages/vbnet.d.ts +11 -0
- package/dist/extraction/languages/vbnet.d.ts.map +1 -0
- package/dist/extraction/languages/vbnet.js +141 -0
- package/dist/extraction/languages/vbnet.js.map +1 -0
- package/dist/extraction/mybatis-extractor.d.ts +30 -10
- package/dist/extraction/mybatis-extractor.d.ts.map +1 -1
- package/dist/extraction/mybatis-extractor.js +140 -38
- package/dist/extraction/mybatis-extractor.js.map +1 -1
- package/dist/extraction/parse-pool.d.ts +27 -1
- package/dist/extraction/parse-pool.d.ts.map +1 -1
- package/dist/extraction/parse-pool.js +75 -7
- package/dist/extraction/parse-pool.js.map +1 -1
- package/dist/extraction/parse-worker.js +9 -2
- package/dist/extraction/parse-worker.js.map +1 -1
- package/dist/extraction/store-worker.d.ts +20 -0
- package/dist/extraction/store-worker.d.ts.map +1 -0
- package/dist/extraction/store-worker.js +102 -0
- package/dist/extraction/store-worker.js.map +1 -0
- package/dist/extraction/store-writer.d.ts +48 -0
- package/dist/extraction/store-writer.d.ts.map +1 -0
- package/dist/extraction/store-writer.js +167 -0
- package/dist/extraction/store-writer.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
- package/dist/extraction/tree-sitter-helpers.js +1 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -1
- package/dist/extraction/tree-sitter-types.d.ts +3 -1
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.d.ts +38 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.js +801 -10
- package/dist/extraction/tree-sitter.js.map +1 -1
- package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +14 -4
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
- package/dist/extraction/wasm-runtime-flags.js +55 -7
- package/dist/extraction/wasm-runtime-flags.js.map +1 -1
- package/dist/graph/traversal.d.ts.map +1 -1
- package/dist/graph/traversal.js +1 -1
- package/dist/graph/traversal.js.map +1 -1
- package/dist/index.d.ts +74 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +436 -55
- package/dist/index.js.map +1 -1
- package/dist/installer/index.d.ts +42 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +97 -2
- package/dist/installer/index.js.map +1 -1
- package/dist/mcp/daemon.d.ts +25 -3
- package/dist/mcp/daemon.d.ts.map +1 -1
- package/dist/mcp/daemon.js +62 -8
- package/dist/mcp/daemon.js.map +1 -1
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -1
- package/dist/mcp/dynamic-boundaries.js +2 -1
- package/dist/mcp/dynamic-boundaries.js.map +1 -1
- package/dist/mcp/early-ppid.d.ts +26 -0
- package/dist/mcp/early-ppid.d.ts.map +1 -0
- package/dist/mcp/early-ppid.js +29 -0
- package/dist/mcp/early-ppid.js.map +1 -0
- package/dist/mcp/engine.d.ts +4 -5
- package/dist/mcp/engine.d.ts.map +1 -1
- package/dist/mcp/engine.js +27 -1
- package/dist/mcp/engine.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +41 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/liveness-watchdog.d.ts +18 -1
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -1
- package/dist/mcp/liveness-watchdog.js +73 -13
- package/dist/mcp/liveness-watchdog.js.map +1 -1
- package/dist/mcp/memory-budget.d.ts +30 -0
- package/dist/mcp/memory-budget.d.ts.map +1 -0
- package/dist/mcp/memory-budget.js +123 -0
- package/dist/mcp/memory-budget.js.map +1 -0
- package/dist/mcp/proxy.d.ts.map +1 -1
- package/dist/mcp/proxy.js +88 -4
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/query-cache.d.ts +35 -4
- package/dist/mcp/query-cache.d.ts.map +1 -1
- package/dist/mcp/query-cache.js +89 -19
- package/dist/mcp/query-cache.js.map +1 -1
- package/dist/mcp/query-pool.d.ts +46 -12
- package/dist/mcp/query-pool.d.ts.map +1 -1
- package/dist/mcp/query-pool.js +100 -23
- package/dist/mcp/query-pool.js.map +1 -1
- package/dist/mcp/query-worker.d.ts +2 -2
- package/dist/mcp/query-worker.js +2 -2
- package/dist/mcp/server-instructions.d.ts +4 -27
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +39 -84
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/session.d.ts +14 -0
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +28 -1
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/startup-handshake.d.ts +44 -0
- package/dist/mcp/startup-handshake.d.ts.map +1 -0
- package/dist/mcp/startup-handshake.js +73 -0
- package/dist/mcp/startup-handshake.js.map +1 -0
- package/dist/mcp/tools.d.ts +104 -4
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +2432 -217
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/transport.d.ts.map +1 -1
- package/dist/mcp/transport.js +18 -0
- package/dist/mcp/transport.js.map +1 -1
- package/dist/project-config.d.ts +38 -0
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js +101 -2
- package/dist/project-config.js.map +1 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts +2 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -1
- package/dist/resolution/c-fnptr-synthesizer.js +178 -146
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -1
- package/dist/resolution/callback-synthesizer.d.ts +54 -10
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +1299 -257
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/cooperative-yield.d.ts +10 -2
- package/dist/resolution/cooperative-yield.d.ts.map +1 -1
- package/dist/resolution/cooperative-yield.js +6 -4
- package/dist/resolution/cooperative-yield.js.map +1 -1
- package/dist/resolution/frameworks/cics.d.ts +20 -0
- package/dist/resolution/frameworks/cics.d.ts.map +1 -0
- package/dist/resolution/frameworks/cics.js +90 -0
- package/dist/resolution/frameworks/cics.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -1
- package/dist/resolution/frameworks/go.js +29 -6
- package/dist/resolution/frameworks/go.js.map +1 -1
- package/dist/resolution/frameworks/index.d.ts.map +1 -1
- package/dist/resolution/frameworks/index.js +3 -0
- package/dist/resolution/frameworks/index.js.map +1 -1
- package/dist/resolution/frameworks/java.d.ts.map +1 -1
- package/dist/resolution/frameworks/java.js +14 -6
- package/dist/resolution/frameworks/java.js.map +1 -1
- package/dist/resolution/frameworks/terraform.d.ts +38 -0
- package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
- package/dist/resolution/frameworks/terraform.js +277 -0
- package/dist/resolution/frameworks/terraform.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +2 -1
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -1
- package/dist/resolution/goframe-synthesizer.js +8 -3
- package/dist/resolution/goframe-synthesizer.js.map +1 -1
- package/dist/resolution/import-resolver.d.ts +9 -3
- package/dist/resolution/import-resolver.d.ts.map +1 -1
- package/dist/resolution/import-resolver.js +295 -11
- package/dist/resolution/import-resolver.js.map +1 -1
- package/dist/resolution/index.d.ts +146 -8
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +1089 -131
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/memory-budget.d.ts +48 -0
- package/dist/resolution/memory-budget.d.ts.map +1 -0
- package/dist/resolution/memory-budget.js +162 -0
- package/dist/resolution/memory-budget.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +12 -4
- package/dist/resolution/name-matcher.d.ts.map +1 -1
- package/dist/resolution/name-matcher.js +793 -130
- package/dist/resolution/name-matcher.js.map +1 -1
- package/dist/resolution/resolver-pool.d.ts +106 -0
- package/dist/resolution/resolver-pool.d.ts.map +1 -0
- package/dist/resolution/resolver-pool.js +344 -0
- package/dist/resolution/resolver-pool.js.map +1 -0
- package/dist/resolution/resolver-worker.d.ts +17 -0
- package/dist/resolution/resolver-worker.d.ts.map +1 -0
- package/dist/resolution/resolver-worker.js +141 -0
- package/dist/resolution/resolver-worker.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +1 -1
- package/dist/resolution/strip-comments.d.ts.map +1 -1
- package/dist/resolution/strip-comments.js +49 -0
- package/dist/resolution/strip-comments.js.map +1 -1
- package/dist/resolution/types.d.ts +32 -0
- package/dist/resolution/types.d.ts.map +1 -1
- package/dist/resolution/workspace-packages.d.ts +10 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -1
- package/dist/resolution/workspace-packages.js +142 -4
- package/dist/resolution/workspace-packages.js.map +1 -1
- package/dist/search/identifier-segments.d.ts +60 -0
- package/dist/search/identifier-segments.d.ts.map +1 -0
- package/dist/search/identifier-segments.js +176 -0
- package/dist/search/identifier-segments.js.map +1 -0
- package/dist/search/query-utils.d.ts +201 -0
- package/dist/search/query-utils.d.ts.map +1 -1
- package/dist/search/query-utils.js +919 -2
- package/dist/search/query-utils.js.map +1 -1
- package/dist/spec/build/diff-parser.d.ts +55 -0
- package/dist/spec/build/diff-parser.d.ts.map +1 -0
- package/dist/spec/build/diff-parser.js +205 -0
- package/dist/spec/build/diff-parser.js.map +1 -0
- package/dist/spec/build/git-scanner.d.ts +93 -0
- package/dist/spec/build/git-scanner.d.ts.map +1 -0
- package/dist/spec/build/git-scanner.js +254 -0
- package/dist/spec/build/git-scanner.js.map +1 -0
- package/dist/spec/build/pipeline.d.ts +54 -0
- package/dist/spec/build/pipeline.d.ts.map +1 -0
- package/dist/spec/build/pipeline.js +170 -0
- package/dist/spec/build/pipeline.js.map +1 -0
- package/dist/spec/build/scan.d.ts +48 -0
- package/dist/spec/build/scan.d.ts.map +1 -0
- package/dist/spec/build/scan.js +89 -0
- package/dist/spec/build/scan.js.map +1 -0
- package/dist/spec/build/scope-resolver.d.ts +50 -0
- package/dist/spec/build/scope-resolver.d.ts.map +1 -0
- package/dist/spec/build/scope-resolver.js +105 -0
- package/dist/spec/build/scope-resolver.js.map +1 -0
- package/dist/spec/build/spec-extractor.d.ts +74 -0
- package/dist/spec/build/spec-extractor.d.ts.map +1 -0
- package/dist/spec/build/spec-extractor.js +344 -0
- package/dist/spec/build/spec-extractor.js.map +1 -0
- package/dist/spec/config.d.ts +35 -1
- package/dist/spec/config.d.ts.map +1 -1
- package/dist/spec/config.js +30 -5
- package/dist/spec/config.js.map +1 -1
- package/dist/spec/db/fts.d.ts.map +1 -1
- package/dist/spec/db/fts.js +19 -50
- package/dist/spec/db/fts.js.map +1 -1
- package/dist/spec/db/index.d.ts +5 -3
- package/dist/spec/db/index.d.ts.map +1 -1
- package/dist/spec/db/index.js +16 -1
- package/dist/spec/db/index.js.map +1 -1
- package/dist/spec/db/persist.d.ts +45 -0
- package/dist/spec/db/persist.d.ts.map +1 -0
- package/dist/spec/db/persist.js +66 -0
- package/dist/spec/db/persist.js.map +1 -0
- package/dist/spec/db/relations.d.ts +80 -1
- package/dist/spec/db/relations.d.ts.map +1 -1
- package/dist/spec/db/relations.js +175 -4
- package/dist/spec/db/relations.js.map +1 -1
- package/dist/spec/db/schema.d.ts +4 -0
- package/dist/spec/db/schema.d.ts.map +1 -1
- package/dist/spec/db/schema.js +4 -0
- package/dist/spec/db/schema.js.map +1 -1
- package/dist/spec/db/schema.sql +5 -1
- package/dist/spec/db/spec-node.d.ts +5 -0
- package/dist/spec/db/spec-node.d.ts.map +1 -1
- package/dist/spec/db/spec-node.js +11 -5
- package/dist/spec/db/spec-node.js.map +1 -1
- package/dist/spec/db/sql-utils.d.ts +11 -0
- package/dist/spec/db/sql-utils.d.ts.map +1 -0
- package/dist/spec/db/sql-utils.js +19 -0
- package/dist/spec/db/sql-utils.js.map +1 -0
- package/dist/spec/evolve/cluster-context.d.ts +30 -0
- package/dist/spec/evolve/cluster-context.d.ts.map +1 -0
- package/dist/spec/evolve/cluster-context.js +78 -0
- package/dist/spec/evolve/cluster-context.js.map +1 -0
- package/dist/spec/evolve/commit-spec-analyzer.d.ts +51 -0
- package/dist/spec/evolve/commit-spec-analyzer.d.ts.map +1 -0
- package/dist/spec/evolve/commit-spec-analyzer.js +88 -0
- package/dist/spec/evolve/commit-spec-analyzer.js.map +1 -0
- package/dist/spec/evolve/commit-spec-persister.d.ts +53 -0
- package/dist/spec/evolve/commit-spec-persister.d.ts.map +1 -0
- package/dist/spec/evolve/commit-spec-persister.js +93 -0
- package/dist/spec/evolve/commit-spec-persister.js.map +1 -0
- package/dist/spec/evolve/impact-locator.d.ts +23 -7
- package/dist/spec/evolve/impact-locator.d.ts.map +1 -1
- package/dist/spec/evolve/impact-locator.js +58 -14
- package/dist/spec/evolve/impact-locator.js.map +1 -1
- package/dist/spec/evolve/pipeline.d.ts +62 -25
- package/dist/spec/evolve/pipeline.d.ts.map +1 -1
- package/dist/spec/evolve/pipeline.js +436 -457
- package/dist/spec/evolve/pipeline.js.map +1 -1
- package/dist/spec/evolve/spec-rewriter.d.ts +13 -13
- package/dist/spec/evolve/spec-rewriter.d.ts.map +1 -1
- package/dist/spec/evolve/spec-rewriter.js +45 -45
- package/dist/spec/evolve/spec-rewriter.js.map +1 -1
- package/dist/spec/git/commits.d.ts +85 -0
- package/dist/spec/git/commits.d.ts.map +1 -0
- package/dist/spec/git/commits.js +218 -0
- package/dist/spec/git/commits.js.map +1 -0
- package/dist/spec/git/exec.d.ts +13 -0
- package/dist/spec/git/exec.d.ts.map +1 -0
- package/dist/spec/git/exec.js +19 -0
- package/dist/spec/git/exec.js.map +1 -0
- package/dist/spec/git/index.d.ts +9 -0
- package/dist/spec/git/index.d.ts.map +1 -0
- package/dist/spec/git/index.js +22 -0
- package/dist/spec/git/index.js.map +1 -0
- package/dist/spec/git-utils.d.ts +8 -0
- package/dist/spec/git-utils.d.ts.map +1 -0
- package/dist/spec/git-utils.js +14 -0
- package/dist/spec/git-utils.js.map +1 -0
- package/dist/spec/graph/index.d.ts +8 -0
- package/dist/spec/graph/index.d.ts.map +1 -0
- package/dist/spec/graph/index.js +17 -0
- package/dist/spec/graph/index.js.map +1 -0
- package/dist/spec/graph/queries.d.ts +6 -35
- package/dist/spec/graph/queries.d.ts.map +1 -1
- package/dist/spec/graph/queries.js +71 -248
- package/dist/spec/graph/queries.js.map +1 -1
- package/dist/spec/llm/agent-client.d.ts +59 -0
- package/dist/spec/llm/agent-client.d.ts.map +1 -0
- package/dist/spec/llm/agent-client.js +213 -0
- package/dist/spec/llm/agent-client.js.map +1 -0
- package/dist/spec/llm/agents/claude-code.d.ts +32 -0
- package/dist/spec/llm/agents/claude-code.d.ts.map +1 -0
- package/dist/spec/llm/agents/claude-code.js +125 -0
- package/dist/spec/llm/agents/claude-code.js.map +1 -0
- package/dist/spec/llm/agents/codex.d.ts +32 -0
- package/dist/spec/llm/agents/codex.d.ts.map +1 -0
- package/dist/spec/llm/agents/codex.js +145 -0
- package/dist/spec/llm/agents/codex.js.map +1 -0
- package/dist/spec/llm/agents/detect-utils.d.ts +28 -0
- package/dist/spec/llm/agents/detect-utils.d.ts.map +1 -0
- package/dist/spec/llm/agents/detect-utils.js +91 -0
- package/dist/spec/llm/agents/detect-utils.js.map +1 -0
- package/dist/spec/llm/agents/deveco-code.d.ts +33 -0
- package/dist/spec/llm/agents/deveco-code.d.ts.map +1 -0
- package/dist/spec/llm/agents/deveco-code.js +165 -0
- package/dist/spec/llm/agents/deveco-code.js.map +1 -0
- package/dist/spec/llm/agents/index.d.ts +31 -0
- package/dist/spec/llm/agents/index.d.ts.map +1 -0
- package/dist/spec/llm/agents/index.js +65 -0
- package/dist/spec/llm/agents/index.js.map +1 -0
- package/dist/spec/llm/agents/types.d.ts +76 -0
- package/dist/spec/llm/agents/types.d.ts.map +1 -0
- package/dist/spec/llm/agents/types.js +15 -0
- package/dist/spec/llm/agents/types.js.map +1 -0
- package/dist/spec/llm/client.d.ts +31 -11
- package/dist/spec/llm/client.d.ts.map +1 -1
- package/dist/spec/llm/client.js +143 -81
- package/dist/spec/llm/client.js.map +1 -1
- package/dist/spec/llm/factory.d.ts +41 -0
- package/dist/spec/llm/factory.d.ts.map +1 -0
- package/dist/spec/llm/factory.js +80 -0
- package/dist/spec/llm/factory.js.map +1 -0
- package/dist/spec/llm/prompts.d.ts +24 -8
- package/dist/spec/llm/prompts.d.ts.map +1 -1
- package/dist/spec/llm/prompts.js +100 -50
- package/dist/spec/llm/prompts.js.map +1 -1
- package/dist/spec/llm/retry.d.ts +53 -0
- package/dist/spec/llm/retry.d.ts.map +1 -0
- package/dist/spec/llm/retry.js +153 -0
- package/dist/spec/llm/retry.js.map +1 -0
- package/dist/spec/mine/clusterer.d.ts +63 -0
- package/dist/spec/mine/clusterer.d.ts.map +1 -0
- package/dist/spec/mine/clusterer.js +904 -0
- package/dist/spec/mine/clusterer.js.map +1 -0
- package/dist/spec/mine/clustering/features.d.ts +38 -0
- package/dist/spec/mine/clustering/features.d.ts.map +1 -0
- package/dist/spec/mine/clustering/features.js +108 -0
- package/dist/spec/mine/clustering/features.js.map +1 -0
- package/dist/spec/mine/clustering/index.d.ts +62 -0
- package/dist/spec/mine/clustering/index.d.ts.map +1 -0
- package/dist/spec/mine/clustering/index.js +259 -0
- package/dist/spec/mine/clustering/index.js.map +1 -0
- package/dist/spec/mine/clustering/leiden.d.ts +61 -0
- package/dist/spec/mine/clustering/leiden.d.ts.map +1 -0
- package/dist/spec/mine/clustering/leiden.js +489 -0
- package/dist/spec/mine/clustering/leiden.js.map +1 -0
- package/dist/spec/mine/clustering/text-similarity.d.ts +22 -0
- package/dist/spec/mine/clustering/text-similarity.d.ts.map +1 -0
- package/dist/spec/mine/clustering/text-similarity.js +98 -0
- package/dist/spec/mine/clustering/text-similarity.js.map +1 -0
- package/dist/spec/mine/generator.d.ts +54 -0
- package/dist/spec/mine/generator.d.ts.map +1 -0
- package/dist/spec/mine/generator.js +267 -0
- package/dist/spec/mine/generator.js.map +1 -0
- package/dist/spec/mine/persist.d.ts +37 -0
- package/dist/spec/mine/persist.d.ts.map +1 -0
- package/dist/spec/mine/persist.js +170 -0
- package/dist/spec/mine/persist.js.map +1 -0
- package/dist/spec/mine/pipeline.d.ts +41 -0
- package/dist/spec/mine/pipeline.d.ts.map +1 -0
- package/dist/spec/mine/pipeline.js +236 -0
- package/dist/spec/mine/pipeline.js.map +1 -0
- package/dist/spec/mine/progress-handler.d.ts +22 -0
- package/dist/spec/mine/progress-handler.d.ts.map +1 -0
- package/dist/spec/mine/progress-handler.js +108 -0
- package/dist/spec/mine/progress-handler.js.map +1 -0
- package/dist/spec/mine/progress.d.ts +23 -0
- package/dist/spec/mine/progress.d.ts.map +1 -0
- package/dist/spec/mine/progress.js +12 -0
- package/dist/spec/mine/progress.js.map +1 -0
- package/dist/spec/mine/scanner.d.ts +59 -0
- package/dist/spec/mine/scanner.d.ts.map +1 -0
- package/dist/spec/mine/scanner.js +383 -0
- package/dist/spec/mine/scanner.js.map +1 -0
- package/dist/spec/types.d.ts +32 -0
- package/dist/spec/types.d.ts.map +1 -1
- package/dist/spec/ui/index.d.ts +9 -0
- package/dist/spec/ui/index.d.ts.map +1 -0
- package/dist/spec/ui/index.js +16 -0
- package/dist/spec/ui/index.js.map +1 -0
- package/dist/spec/ui/progress-handler.d.ts +33 -0
- package/dist/spec/ui/progress-handler.d.ts.map +1 -0
- package/dist/spec/ui/progress-handler.js +132 -0
- package/dist/spec/ui/progress-handler.js.map +1 -0
- package/dist/spec/ui/progress.d.ts +24 -0
- package/dist/spec/ui/progress.d.ts.map +1 -0
- package/dist/spec/ui/progress.js +13 -0
- package/dist/spec/ui/progress.js.map +1 -0
- package/dist/spec/utils/fs.d.ts +45 -0
- package/dist/spec/utils/fs.d.ts.map +1 -0
- package/dist/spec/utils/fs.js +163 -0
- package/dist/spec/utils/fs.js.map +1 -0
- package/dist/spec/utils/index.d.ts +12 -0
- package/dist/spec/utils/index.d.ts.map +1 -0
- package/dist/spec/utils/index.js +26 -0
- package/dist/spec/utils/index.js.map +1 -0
- package/dist/spec/utils/meta.d.ts +32 -0
- package/dist/spec/utils/meta.d.ts.map +1 -0
- package/dist/spec/utils/meta.js +122 -0
- package/dist/spec/utils/meta.js.map +1 -0
- package/dist/spec/utils/truncate.d.ts +86 -0
- package/dist/spec/utils/truncate.d.ts.map +1 -0
- package/dist/spec/utils/truncate.js +172 -0
- package/dist/spec/utils/truncate.js.map +1 -0
- package/dist/spec/utils.d.ts +4 -16
- package/dist/spec/utils.d.ts.map +1 -1
- package/dist/spec/utils.js +6 -58
- package/dist/spec/utils.js.map +1 -1
- package/dist/sync/git-hooks.d.ts.map +1 -1
- package/dist/sync/git-hooks.js +2 -0
- package/dist/sync/git-hooks.js.map +1 -1
- package/dist/sync/watcher.d.ts +35 -6
- package/dist/sync/watcher.d.ts.map +1 -1
- package/dist/sync/watcher.js +127 -17
- package/dist/sync/watcher.js.map +1 -1
- package/dist/sync/worktree.d.ts.map +1 -1
- package/dist/sync/worktree.js +5 -0
- package/dist/sync/worktree.js.map +1 -1
- package/dist/telemetry/index.js +3 -3
- package/dist/telemetry/index.js.map +1 -1
- package/dist/types.d.ts +22 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -1
- package/dist/upgrade/index.d.ts +32 -0
- package/dist/upgrade/index.d.ts.map +1 -1
- package/dist/upgrade/index.js +162 -14
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/remove-binary.d.ts +87 -0
- package/dist/upgrade/remove-binary.d.ts.map +1 -0
- package/dist/upgrade/remove-binary.js +289 -0
- package/dist/upgrade/remove-binary.js.map +1 -0
- package/dist/upgrade/update-check.d.ts +92 -0
- package/dist/upgrade/update-check.d.ts.map +1 -0
- package/dist/upgrade/update-check.js +258 -0
- package/dist/upgrade/update-check.js.map +1 -0
- package/package.json +6 -2
- package/scripts/agent-eval/run-all.sh +6 -0
- package/scripts/build-bundle.sh +5 -0
- package/scripts/npm-shim.js +8 -1
- package/scripts/exp_boundary_eval/__pycache__/_utils.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/analyze.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/deveco_arm.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_one.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_session.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/setup.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/data/agents.json +0 -109
- package/scripts/exp_boundary_eval/data/experiments.json +0 -140
- package/scripts/qa_eval/README.md +0 -407
- package/scripts/qa_eval/_test_deveco_probe.py +0 -41
- package/scripts/qa_eval/agent_runner.py +0 -526
- package/scripts/qa_eval/data/.gitignore +0 -4
- package/scripts/qa_eval/data/test-set.jsonl +0 -2
- package/scripts/qa_eval/eval_metrics.py +0 -274
- package/scripts/qa_eval/external_agent.py +0 -976
- package/scripts/qa_eval/llm_config.py +0 -92
- package/scripts/qa_eval/memory_monitor.py +0 -132
- package/scripts/qa_eval/my_answer_accuracy.py +0 -187
- package/scripts/qa_eval/requirements.txt +0 -2
- package/scripts/qa_eval/run_pipeline.py +0 -804
- package/scripts/qa_eval/stats_efficiency.py +0 -279
- package/scripts/qa_eval/stats_scores.py +0 -207
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/spec/graph/queries.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/spec/graph/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coding-agent LLM client — fulfils the `LlmClient` contract by spawning
|
|
3
|
+
* a coding agent (Claude Code / Codex) in headless mode.
|
|
4
|
+
*
|
|
5
|
+
* The client owns only the subprocess lifecycle: spawn, stdin delivery,
|
|
6
|
+
* stdout/stderr capture, hard timeout with process kill, and bounded retry
|
|
7
|
+
* of transient failures. Everything agent-specific (flags, system-prompt
|
|
8
|
+
* strategy, output extraction, failure classification) lives in the
|
|
9
|
+
* injected {@link AgentAdapter}.
|
|
10
|
+
*
|
|
11
|
+
* Retry semantics differ from the HTTP world: there is no 429/Retry-After,
|
|
12
|
+
* so classification is delegated to the adapter (exit code + stderr/stdout
|
|
13
|
+
* patterns — Codex `--json` reports errors as structured stdout events)
|
|
14
|
+
* and backoff reuses the generic {@link computeDelay}. Timeouts are
|
|
15
|
+
* client-level, always retryable, and kill the whole process group.
|
|
16
|
+
*
|
|
17
|
+
* @module spec/llm/agent-client
|
|
18
|
+
*/
|
|
19
|
+
import { LlmClient } from './client';
|
|
20
|
+
import { AgentAdapter } from './agents/types';
|
|
21
|
+
export interface CodingAgentClientOptions {
|
|
22
|
+
timeoutMs?: number;
|
|
23
|
+
maxRetries?: number;
|
|
24
|
+
retryBaseDelayMs?: number;
|
|
25
|
+
retryMaxDelayMs?: number;
|
|
26
|
+
maxOutputChars?: number;
|
|
27
|
+
}
|
|
28
|
+
/** A finished-but-failed headless invocation (non-zero exit or timeout). */
|
|
29
|
+
export declare class AgentCallError extends Error {
|
|
30
|
+
readonly exitCode: number | null;
|
|
31
|
+
readonly stderr: string;
|
|
32
|
+
readonly stdout: string;
|
|
33
|
+
/** True when the failure is a client-side timeout — always retryable. */
|
|
34
|
+
readonly timedOut: boolean;
|
|
35
|
+
constructor(message: string, exitCode: number | null, stderr: string, stdout?: string,
|
|
36
|
+
/** True when the failure is a client-side timeout — always retryable. */
|
|
37
|
+
timedOut?: boolean);
|
|
38
|
+
}
|
|
39
|
+
export declare class CodingAgentLlmClient implements LlmClient {
|
|
40
|
+
private readonly adapter;
|
|
41
|
+
private readonly timeoutMs;
|
|
42
|
+
private readonly maxRetries;
|
|
43
|
+
private readonly baseDelayMs;
|
|
44
|
+
private readonly maxDelayMs;
|
|
45
|
+
private readonly maxOutputChars;
|
|
46
|
+
constructor(adapter: AgentAdapter, options?: CodingAgentClientOptions);
|
|
47
|
+
/** Run one headless invocation; rejects with AgentCallError on failure. */
|
|
48
|
+
private runOnce;
|
|
49
|
+
/**
|
|
50
|
+
* Send one chat call through the agent's headless mode. Retries
|
|
51
|
+
* transient failures (per the adapter's classification) with exponential
|
|
52
|
+
* backoff; terminal failures (auth/quota, spawn errors) throw
|
|
53
|
+
* immediately so callers can fall back.
|
|
54
|
+
*/
|
|
55
|
+
chat(systemPrompt: string, userPrompt: string): Promise<string>;
|
|
56
|
+
/** Same as `chat()`, parsed as JSON via the shared extraction chain. */
|
|
57
|
+
chatJson(systemPrompt: string, userPrompt: string): Promise<Record<string, unknown>>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=agent-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../../../src/spec/llm/agent-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,SAAS,EAAqB,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAmC,MAAM,gBAAgB,CAAC;AAmB/E,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,4EAA4E;AAC5E,qBAAa,cAAe,SAAQ,KAAK;IAGrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,OAAO;gBAL1B,OAAO,EAAE,MAAM,EACN,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAW;IAC5B,yEAAyE;IAChE,QAAQ,GAAE,OAAe;CAKrC;AAED,qBAAa,oBAAqB,YAAW,SAAS;IAQlD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGrB,OAAO,EAAE,YAAY,EACtC,OAAO,GAAE,wBAA6B;IAaxC,2EAA2E;IAC3E,OAAO,CAAC,OAAO;IA6Gf;;;;;OAKG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyCrE,wEAAwE;IAClE,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAIpC"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Coding-agent LLM client — fulfils the `LlmClient` contract by spawning
|
|
4
|
+
* a coding agent (Claude Code / Codex) in headless mode.
|
|
5
|
+
*
|
|
6
|
+
* The client owns only the subprocess lifecycle: spawn, stdin delivery,
|
|
7
|
+
* stdout/stderr capture, hard timeout with process kill, and bounded retry
|
|
8
|
+
* of transient failures. Everything agent-specific (flags, system-prompt
|
|
9
|
+
* strategy, output extraction, failure classification) lives in the
|
|
10
|
+
* injected {@link AgentAdapter}.
|
|
11
|
+
*
|
|
12
|
+
* Retry semantics differ from the HTTP world: there is no 429/Retry-After,
|
|
13
|
+
* so classification is delegated to the adapter (exit code + stderr/stdout
|
|
14
|
+
* patterns — Codex `--json` reports errors as structured stdout events)
|
|
15
|
+
* and backoff reuses the generic {@link computeDelay}. Timeouts are
|
|
16
|
+
* client-level, always retryable, and kill the whole process group.
|
|
17
|
+
*
|
|
18
|
+
* @module spec/llm/agent-client
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.CodingAgentLlmClient = exports.AgentCallError = void 0;
|
|
22
|
+
const child_process_1 = require("child_process");
|
|
23
|
+
const client_1 = require("./client");
|
|
24
|
+
const retry_1 = require("./retry");
|
|
25
|
+
const errors_1 = require("../../errors");
|
|
26
|
+
/** Default per-call hard timeout: 10 minutes (git-hook friendly). */
|
|
27
|
+
const DEFAULT_TIMEOUT_MS = 10 * 60 * 1000;
|
|
28
|
+
/** Default retry budget for transient subprocess failures. */
|
|
29
|
+
const DEFAULT_MAX_RETRIES = 2;
|
|
30
|
+
const DEFAULT_BASE_DELAY_MS = 1000;
|
|
31
|
+
const DEFAULT_MAX_DELAY_MS = 10000;
|
|
32
|
+
/**
|
|
33
|
+
* Default cap on accumulated stdout/stderr per invocation. Legitimate
|
|
34
|
+
* responses are far below this (spec prompts/responses are ~50K chars);
|
|
35
|
+
* a runaway agent spewing unbounded output would otherwise exhaust memory.
|
|
36
|
+
*/
|
|
37
|
+
const DEFAULT_MAX_OUTPUT_CHARS = 8 * 1024 * 1024;
|
|
38
|
+
/** A finished-but-failed headless invocation (non-zero exit or timeout). */
|
|
39
|
+
class AgentCallError extends Error {
|
|
40
|
+
exitCode;
|
|
41
|
+
stderr;
|
|
42
|
+
stdout;
|
|
43
|
+
timedOut;
|
|
44
|
+
constructor(message, exitCode, stderr, stdout = '',
|
|
45
|
+
/** True when the failure is a client-side timeout — always retryable. */
|
|
46
|
+
timedOut = false) {
|
|
47
|
+
super(message);
|
|
48
|
+
this.exitCode = exitCode;
|
|
49
|
+
this.stderr = stderr;
|
|
50
|
+
this.stdout = stdout;
|
|
51
|
+
this.timedOut = timedOut;
|
|
52
|
+
this.name = 'AgentCallError';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.AgentCallError = AgentCallError;
|
|
56
|
+
class CodingAgentLlmClient {
|
|
57
|
+
adapter;
|
|
58
|
+
timeoutMs;
|
|
59
|
+
maxRetries;
|
|
60
|
+
baseDelayMs;
|
|
61
|
+
maxDelayMs;
|
|
62
|
+
maxOutputChars;
|
|
63
|
+
constructor(adapter, options = {}) {
|
|
64
|
+
this.adapter = adapter;
|
|
65
|
+
this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
66
|
+
this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
67
|
+
this.baseDelayMs = options.retryBaseDelayMs ?? DEFAULT_BASE_DELAY_MS;
|
|
68
|
+
this.maxDelayMs = options.retryMaxDelayMs ?? DEFAULT_MAX_DELAY_MS;
|
|
69
|
+
this.maxOutputChars = options.maxOutputChars ?? DEFAULT_MAX_OUTPUT_CHARS;
|
|
70
|
+
}
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
// Subprocess lifecycle
|
|
73
|
+
// ---------------------------------------------------------------------------
|
|
74
|
+
/** Run one headless invocation; rejects with AgentCallError on failure. */
|
|
75
|
+
runOnce(invocation) {
|
|
76
|
+
return new Promise((resolve, reject) => {
|
|
77
|
+
let child;
|
|
78
|
+
try {
|
|
79
|
+
child = (0, child_process_1.spawn)(this.adapter.binary, invocation.args, {
|
|
80
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
81
|
+
windowsHide: true,
|
|
82
|
+
// Own process group (POSIX) so the timeout path can kill the
|
|
83
|
+
// whole tree — an orphaned grandchild inheriting our pipes would
|
|
84
|
+
// otherwise delay the 'close' event by its own lifetime and turn
|
|
85
|
+
// a fast kill into a full-timeout stall.
|
|
86
|
+
detached: process.platform !== 'win32',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
reject(err);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
let stdout = '';
|
|
94
|
+
let stderr = '';
|
|
95
|
+
let settled = false;
|
|
96
|
+
// Kill the process group (POSIX) so subprocesses the agent spawned
|
|
97
|
+
// die with it; fall back to killing the direct child only.
|
|
98
|
+
const killTree = () => {
|
|
99
|
+
try {
|
|
100
|
+
if (process.platform !== 'win32' && child.pid !== undefined) {
|
|
101
|
+
process.kill(-child.pid, 'SIGKILL');
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
child.kill('SIGKILL');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
child.kill('SIGKILL');
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const timer = setTimeout(() => {
|
|
112
|
+
if (settled)
|
|
113
|
+
return;
|
|
114
|
+
settled = true;
|
|
115
|
+
killTree();
|
|
116
|
+
reject(new AgentCallError(`${this.adapter.displayName} headless call timed out after ${this.timeoutMs}ms`, null, stderr, stdout, true));
|
|
117
|
+
}, this.timeoutMs);
|
|
118
|
+
// Accumulate with a hard cap: a runaway agent must not exhaust
|
|
119
|
+
// memory. Exceeding the cap kills the call and rejects as a
|
|
120
|
+
// spawn-level failure (exitCode null → terminal per the adapters).
|
|
121
|
+
const onData = (stream) => (chunk) => {
|
|
122
|
+
if (settled)
|
|
123
|
+
return;
|
|
124
|
+
if (stream === 'stdout')
|
|
125
|
+
stdout += chunk.toString();
|
|
126
|
+
else
|
|
127
|
+
stderr += chunk.toString();
|
|
128
|
+
if (stdout.length > this.maxOutputChars || stderr.length > this.maxOutputChars) {
|
|
129
|
+
settled = true;
|
|
130
|
+
clearTimeout(timer);
|
|
131
|
+
killTree();
|
|
132
|
+
reject(new AgentCallError(`${this.adapter.displayName} headless call exceeded the ${this.maxOutputChars}-char ${stream} limit`, null, stderr, stdout));
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
child.stdout.on('data', onData('stdout'));
|
|
136
|
+
child.stderr.on('data', onData('stderr'));
|
|
137
|
+
child.on('error', (err) => {
|
|
138
|
+
if (settled)
|
|
139
|
+
return;
|
|
140
|
+
settled = true;
|
|
141
|
+
clearTimeout(timer);
|
|
142
|
+
reject(new AgentCallError(`Failed to spawn ${this.adapter.binary}: ${err.message}`, null, stderr, stdout));
|
|
143
|
+
});
|
|
144
|
+
child.on('close', (code) => {
|
|
145
|
+
if (settled)
|
|
146
|
+
return;
|
|
147
|
+
settled = true;
|
|
148
|
+
clearTimeout(timer);
|
|
149
|
+
if (code === 0) {
|
|
150
|
+
resolve({ stdout, stderr });
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
reject(new AgentCallError(`${this.adapter.displayName} exited with code ${code}`, code, stderr, stdout));
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
child.stdin.on('error', () => { });
|
|
157
|
+
child.stdin.write(invocation.stdin);
|
|
158
|
+
child.stdin.end();
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
// LlmClient
|
|
163
|
+
// ---------------------------------------------------------------------------
|
|
164
|
+
/**
|
|
165
|
+
* Send one chat call through the agent's headless mode. Retries
|
|
166
|
+
* transient failures (per the adapter's classification) with exponential
|
|
167
|
+
* backoff; terminal failures (auth/quota, spawn errors) throw
|
|
168
|
+
* immediately so callers can fall back.
|
|
169
|
+
*/
|
|
170
|
+
async chat(systemPrompt, userPrompt) {
|
|
171
|
+
let lastError;
|
|
172
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
173
|
+
const invocation = this.adapter.buildInvocation(systemPrompt, userPrompt);
|
|
174
|
+
try {
|
|
175
|
+
const result = await this.runOnce(invocation);
|
|
176
|
+
return this.adapter.extractOutput(result);
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
180
|
+
// Timeouts are client-level and transient — always retryable.
|
|
181
|
+
// exitCode null after this check means a spawn-level failure
|
|
182
|
+
// (ENOENT etc.), which the adapters classify as terminal.
|
|
183
|
+
const classification = lastError instanceof AgentCallError
|
|
184
|
+
? lastError.timedOut
|
|
185
|
+
? 'retryable'
|
|
186
|
+
: this.adapter.classifyFailure({
|
|
187
|
+
exitCode: lastError.exitCode,
|
|
188
|
+
stdout: lastError.stdout,
|
|
189
|
+
stderr: lastError.stderr,
|
|
190
|
+
})
|
|
191
|
+
: 'terminal';
|
|
192
|
+
if (classification === 'terminal' || attempt >= this.maxRetries) {
|
|
193
|
+
throw lastError;
|
|
194
|
+
}
|
|
195
|
+
const delay = (0, retry_1.computeDelay)(undefined, this.baseDelayMs, this.maxDelayMs, attempt);
|
|
196
|
+
(0, errors_1.logDebug)(`Coding-agent retry ${attempt + 1}/${this.maxRetries}`, {
|
|
197
|
+
agent: this.adapter.id,
|
|
198
|
+
delayMs: delay,
|
|
199
|
+
error: lastError.message,
|
|
200
|
+
});
|
|
201
|
+
await (0, retry_1.sleep)(delay);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
throw lastError ?? new Error('unreachable: agent retry loop exited without returning');
|
|
205
|
+
}
|
|
206
|
+
/** Same as `chat()`, parsed as JSON via the shared extraction chain. */
|
|
207
|
+
async chatJson(systemPrompt, userPrompt) {
|
|
208
|
+
const raw = await this.chat(systemPrompt, userPrompt);
|
|
209
|
+
return (0, client_1.parseJsonResponse)(raw);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.CodingAgentLlmClient = CodingAgentLlmClient;
|
|
213
|
+
//# sourceMappingURL=agent-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../../src/spec/llm/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code headless adapter (`claude -p`).
|
|
3
|
+
*
|
|
4
|
+
* Invocation design:
|
|
5
|
+
* - `-p` — print mode (non-interactive, one-shot)
|
|
6
|
+
* - `--output-format json` — stdout is a JSON envelope; the model text
|
|
7
|
+
* lives in the `result` field
|
|
8
|
+
* - `--system-prompt` — native system-prompt support
|
|
9
|
+
* - `--allowedTools ""` — empty allow-list disables every tool, so
|
|
10
|
+
* the agent performs pure text reasoning with
|
|
11
|
+
* no file/shell side effects (and with no
|
|
12
|
+
* tools, print mode is single-response by
|
|
13
|
+
* nature — `--max-turns` is not universally
|
|
14
|
+
* available across CLI versions and is
|
|
15
|
+
* deliberately omitted)
|
|
16
|
+
* - prompt via stdin — prompts can reach ~60K chars; stdin avoids
|
|
17
|
+
* OS argv length limits
|
|
18
|
+
*
|
|
19
|
+
* @module spec/llm/agents/claude-code
|
|
20
|
+
*/
|
|
21
|
+
import { AgentAdapter, AgentFailure, AgentInvocation, AgentRunResult } from './types';
|
|
22
|
+
export declare class ClaudeCodeAdapter implements AgentAdapter {
|
|
23
|
+
readonly id: "claude-code";
|
|
24
|
+
readonly displayName = "Claude Code";
|
|
25
|
+
readonly binary = "claude";
|
|
26
|
+
detect(): boolean;
|
|
27
|
+
buildInvocation(systemPrompt: string, userPrompt: string): AgentInvocation;
|
|
28
|
+
extractOutput(result: AgentRunResult): string;
|
|
29
|
+
classifyFailure(failure: AgentFailure): 'retryable' | 'terminal';
|
|
30
|
+
}
|
|
31
|
+
export declare const claudeCodeAdapter: ClaudeCodeAdapter;
|
|
32
|
+
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/spec/llm/agents/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAWtF,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,MAAM,YAAY;IAE3B,MAAM,IAAI,OAAO;IAWjB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe;IAU1E,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IA2B7C,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,UAAU;CAKjE;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Claude Code headless adapter (`claude -p`).
|
|
4
|
+
*
|
|
5
|
+
* Invocation design:
|
|
6
|
+
* - `-p` — print mode (non-interactive, one-shot)
|
|
7
|
+
* - `--output-format json` — stdout is a JSON envelope; the model text
|
|
8
|
+
* lives in the `result` field
|
|
9
|
+
* - `--system-prompt` — native system-prompt support
|
|
10
|
+
* - `--allowedTools ""` — empty allow-list disables every tool, so
|
|
11
|
+
* the agent performs pure text reasoning with
|
|
12
|
+
* no file/shell side effects (and with no
|
|
13
|
+
* tools, print mode is single-response by
|
|
14
|
+
* nature — `--max-turns` is not universally
|
|
15
|
+
* available across CLI versions and is
|
|
16
|
+
* deliberately omitted)
|
|
17
|
+
* - prompt via stdin — prompts can reach ~60K chars; stdin avoids
|
|
18
|
+
* OS argv length limits
|
|
19
|
+
*
|
|
20
|
+
* @module spec/llm/agents/claude-code
|
|
21
|
+
*/
|
|
22
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
25
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
26
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(o, k2, desc);
|
|
29
|
+
}) : (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
o[k2] = m[k];
|
|
32
|
+
}));
|
|
33
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
+
}) : function(o, v) {
|
|
36
|
+
o["default"] = v;
|
|
37
|
+
});
|
|
38
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
39
|
+
var ownKeys = function(o) {
|
|
40
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
41
|
+
var ar = [];
|
|
42
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
43
|
+
return ar;
|
|
44
|
+
};
|
|
45
|
+
return ownKeys(o);
|
|
46
|
+
};
|
|
47
|
+
return function (mod) {
|
|
48
|
+
if (mod && mod.__esModule) return mod;
|
|
49
|
+
var result = {};
|
|
50
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
51
|
+
__setModuleDefault(result, mod);
|
|
52
|
+
return result;
|
|
53
|
+
};
|
|
54
|
+
})();
|
|
55
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
+
exports.claudeCodeAdapter = exports.ClaudeCodeAdapter = void 0;
|
|
57
|
+
const os = __importStar(require("os"));
|
|
58
|
+
const path = __importStar(require("path"));
|
|
59
|
+
const detect_utils_1 = require("./detect-utils");
|
|
60
|
+
/** stderr signatures of auth/quota failures — retrying is pointless. */
|
|
61
|
+
const TERMINAL_PATTERNS = [
|
|
62
|
+
/not\s+logged\s+in/i,
|
|
63
|
+
/please\s+(run\s+)?\/?login/i,
|
|
64
|
+
/unauthorized|invalid\s+api\s+key|authentication/i,
|
|
65
|
+
/usage\s+limit|quota\s+(exceeded|exhausted)|credit\s+balance/i,
|
|
66
|
+
];
|
|
67
|
+
class ClaudeCodeAdapter {
|
|
68
|
+
id = 'claude-code';
|
|
69
|
+
displayName = 'Claude Code';
|
|
70
|
+
binary = 'claude';
|
|
71
|
+
detect() {
|
|
72
|
+
// Executable-based detection only: an uninstalled Claude Code leaves
|
|
73
|
+
// ~/.claude behind, so the config directory is NOT a valid signal.
|
|
74
|
+
// Fall back to well-known native-installer locations for setups that
|
|
75
|
+
// never added the binary to PATH.
|
|
76
|
+
const home = os.homedir();
|
|
77
|
+
return (0, detect_utils_1.isOnPath)(this.binary)
|
|
78
|
+
|| (0, detect_utils_1.isExecutable)(path.join(home, '.claude', 'local', 'claude'))
|
|
79
|
+
|| (0, detect_utils_1.isExecutable)(path.join(home, '.local', 'bin', 'claude'));
|
|
80
|
+
}
|
|
81
|
+
buildInvocation(systemPrompt, userPrompt) {
|
|
82
|
+
const args = [
|
|
83
|
+
'-p',
|
|
84
|
+
'--output-format', 'json',
|
|
85
|
+
'--allowedTools', '',
|
|
86
|
+
'--system-prompt', systemPrompt,
|
|
87
|
+
];
|
|
88
|
+
return { args, stdin: userPrompt };
|
|
89
|
+
}
|
|
90
|
+
extractOutput(result) {
|
|
91
|
+
const stdout = result.stdout.trim();
|
|
92
|
+
if (!stdout)
|
|
93
|
+
return '';
|
|
94
|
+
// Expected shape: a JSON envelope with a `result` string field.
|
|
95
|
+
try {
|
|
96
|
+
const parsed = JSON.parse(stdout);
|
|
97
|
+
if (parsed && typeof parsed === 'object') {
|
|
98
|
+
if (parsed.is_error === true) {
|
|
99
|
+
throw new Error(`Claude Code returned an error result: ${String(parsed.result ?? stdout).slice(0, 300)}`);
|
|
100
|
+
}
|
|
101
|
+
if (typeof parsed.result === 'string') {
|
|
102
|
+
return parsed.result;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
// Re-throw envelope-level errors; fall through to raw stdout only
|
|
108
|
+
// when the payload simply was not JSON.
|
|
109
|
+
if (err instanceof SyntaxError)
|
|
110
|
+
return stdout;
|
|
111
|
+
throw err;
|
|
112
|
+
}
|
|
113
|
+
return stdout;
|
|
114
|
+
}
|
|
115
|
+
classifyFailure(failure) {
|
|
116
|
+
if (failure.exitCode === null)
|
|
117
|
+
return 'terminal'; // spawn-level failure (e.g. ENOENT)
|
|
118
|
+
if (TERMINAL_PATTERNS.some((re) => re.test(failure.stderr)))
|
|
119
|
+
return 'terminal';
|
|
120
|
+
return 'retryable';
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.ClaudeCodeAdapter = ClaudeCodeAdapter;
|
|
124
|
+
exports.claudeCodeAdapter = new ClaudeCodeAdapter();
|
|
125
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../src/spec/llm/agents/claude-code.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,iDAAwD;AAExD,wEAAwE;AACxE,MAAM,iBAAiB,GAAG;IACxB,oBAAoB;IACpB,6BAA6B;IAC7B,kDAAkD;IAClD,8DAA8D;CAC/D,CAAC;AAEF,MAAa,iBAAiB;IACnB,EAAE,GAAG,aAAsB,CAAC;IAC5B,WAAW,GAAG,aAAa,CAAC;IAC5B,MAAM,GAAG,QAAQ,CAAC;IAE3B,MAAM;QACJ,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,kCAAkC;QAClC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAA,uBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC;eACvB,IAAA,2BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;eAC3D,IAAA,2BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,eAAe,CAAC,YAAoB,EAAE,UAAkB;QACtD,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,YAAY;SAChC,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,MAAsB;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,yCAAyC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACzF,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACtC,OAAO,MAAM,CAAC,MAAM,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,wCAAwC;YACxC,IAAI,GAAG,YAAY,WAAW;gBAAE,OAAO,MAAM,CAAC;YAC9C,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,OAAqB;QACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC,CAAC,oCAAoC;QACtF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,UAAU,CAAC;QAC/E,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AA1DD,8CA0DC;AAEY,QAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex CLI headless adapter (`codex exec`).
|
|
3
|
+
*
|
|
4
|
+
* Invocation design:
|
|
5
|
+
* - `codex exec` — non-interactive one-shot mode
|
|
6
|
+
* - `--sandbox read-only` — no file writes or command side effects
|
|
7
|
+
* - `--skip-git-repo-check` — allow running outside/inside any repo
|
|
8
|
+
* - `--json` — stdout is a JSONL event stream; the final
|
|
9
|
+
* assistant message is the last
|
|
10
|
+
* `item.completed` event whose item type is
|
|
11
|
+
* `agent_message`
|
|
12
|
+
* - `-` — read the prompt from stdin (prompts can
|
|
13
|
+
* reach ~60K chars; stdin avoids OS argv
|
|
14
|
+
* length limits)
|
|
15
|
+
*
|
|
16
|
+
* Codex has no native system-prompt flag, so the system prompt is embedded
|
|
17
|
+
* into the user prompt inside an <instructions> block.
|
|
18
|
+
*
|
|
19
|
+
* @module spec/llm/agents/codex
|
|
20
|
+
*/
|
|
21
|
+
import { AgentAdapter, AgentFailure, AgentInvocation, AgentRunResult } from './types';
|
|
22
|
+
export declare class CodexAdapter implements AgentAdapter {
|
|
23
|
+
readonly id: "codex";
|
|
24
|
+
readonly displayName = "Codex";
|
|
25
|
+
readonly binary = "codex";
|
|
26
|
+
detect(): boolean;
|
|
27
|
+
buildInvocation(systemPrompt: string, userPrompt: string): AgentInvocation;
|
|
28
|
+
extractOutput(result: AgentRunResult): string;
|
|
29
|
+
classifyFailure(failure: AgentFailure): 'retryable' | 'terminal';
|
|
30
|
+
}
|
|
31
|
+
export declare const codexAdapter: CodexAdapter;
|
|
32
|
+
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/spec/llm/agents/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AActF,qBAAa,YAAa,YAAW,YAAY;IAC/C,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAC/B,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,MAAM,WAAW;IAE1B,MAAM,IAAI,OAAO;IASjB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe;IAiB1E,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAsC7C,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,UAAU;CAQjE;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|