@laitszkin/apollo-toolkit 4.1.4 → 5.0.1
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 +45 -0
- package/bin/apollo-toolkit.ts +4 -0
- package/dist/bin/apollo-toolkit.js +4 -0
- package/package.json +3 -2
- package/packages/cli/dist/help-text-builder.d.ts +23 -0
- package/packages/cli/dist/help-text-builder.js +166 -0
- package/packages/cli/dist/index.d.ts +6 -17
- package/packages/cli/dist/index.js +52 -246
- package/packages/cli/dist/installer.d.ts +1 -0
- package/packages/cli/dist/installer.js +20 -7
- package/packages/cli/dist/parsers/install-parser.d.ts +15 -0
- package/packages/cli/dist/parsers/install-parser.js +87 -0
- package/packages/cli/dist/parsers/parser-utils.d.ts +9 -0
- package/packages/cli/dist/parsers/parser-utils.js +16 -0
- package/packages/cli/dist/parsers/tool-parser.d.ts +16 -0
- package/packages/cli/dist/parsers/tool-parser.js +58 -0
- package/packages/cli/dist/parsers/types.d.ts +50 -0
- package/packages/cli/dist/parsers/types.js +1 -0
- package/packages/cli/dist/parsers/uninstall-parser.d.ts +15 -0
- package/packages/cli/dist/parsers/uninstall-parser.js +67 -0
- package/packages/cli/dist/tool-registration.d.ts +2 -0
- package/packages/cli/dist/tool-registration.js +2 -0
- package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/cli/dist/types.d.ts +3 -1
- package/packages/cli/dist/updater.js +11 -5
- package/packages/cli/help-text-builder.ts +180 -0
- package/packages/cli/index.ts +59 -251
- package/packages/cli/installer.ts +19 -7
- package/packages/cli/package.json +14 -4
- package/packages/cli/parsers/install-parser.ts +94 -0
- package/packages/cli/parsers/parser-utils.ts +17 -0
- package/packages/cli/parsers/tool-parser.ts +65 -0
- package/packages/cli/parsers/types.ts +56 -0
- package/packages/cli/parsers/uninstall-parser.ts +75 -0
- package/packages/cli/tool-registration.ts +3 -0
- package/packages/cli/types.ts +6 -1
- package/packages/cli/updater.ts +11 -5
- package/packages/tool-registry/dist/registry.js +3 -4
- package/packages/tool-registry/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tool-registry/dist/types.d.ts +2 -9
- package/packages/tool-registry/package.json +11 -4
- package/packages/tool-registry/registry.ts +3 -4
- package/packages/tool-registry/tsconfig.json +6 -2
- package/packages/tool-registry/types.ts +3 -9
- package/packages/tool-utils/app-error.ts +97 -0
- package/packages/tool-utils/dist/app-error.d.ts +49 -0
- package/packages/tool-utils/dist/app-error.js +80 -0
- package/packages/tool-utils/dist/index.d.ts +5 -0
- package/packages/tool-utils/dist/index.js +3 -0
- package/packages/tool-utils/dist/platform-adapter.d.ts +48 -0
- package/packages/tool-utils/dist/platform-adapter.js +73 -0
- package/packages/tool-utils/dist/schema.d.ts +68 -0
- package/packages/tool-utils/dist/schema.js +67 -0
- package/packages/tool-utils/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tool-utils/index.ts +12 -0
- package/packages/tool-utils/package.json +11 -4
- package/packages/tool-utils/platform-adapter.ts +112 -0
- package/packages/tool-utils/schema.ts +122 -0
- package/packages/tools/architecture/dist/index.d.ts +13 -0
- package/packages/tools/architecture/dist/index.js +55 -57
- package/packages/tools/architecture/dist/index.test.js +17 -4
- package/packages/tools/architecture/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/architecture/index.test.ts +27 -14
- package/packages/tools/architecture/index.ts +85 -88
- package/packages/tools/architecture/package.json +11 -4
- package/packages/tools/codegraph/dist/index.js +12 -22
- package/packages/tools/codegraph/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/codegraph/index.ts +13 -22
- package/packages/tools/codegraph/package.json +11 -4
- package/packages/tools/create-review-report/dist/index.d.ts +1 -2
- package/packages/tools/create-review-report/dist/index.js +46 -77
- package/packages/tools/create-review-report/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/create-review-report/index.ts +52 -81
- package/packages/tools/create-review-report/package.json +11 -4
- package/packages/tools/create-specs/dist/index.d.ts +1 -2
- package/packages/tools/create-specs/dist/index.js +70 -123
- package/packages/tools/create-specs/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/create-specs/index.ts +82 -128
- package/packages/tools/create-specs/package.json +11 -4
- package/packages/tools/docs-to-voice/dist/index.d.ts +1 -2
- package/packages/tools/docs-to-voice/dist/index.js +116 -219
- package/packages/tools/docs-to-voice/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/docs-to-voice/index.ts +265 -385
- package/packages/tools/docs-to-voice/package.json +11 -4
- package/packages/tools/enforce-video-aspect-ratio/dist/index.d.ts +1 -2
- package/packages/tools/enforce-video-aspect-ratio/dist/index.js +77 -154
- package/packages/tools/enforce-video-aspect-ratio/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/enforce-video-aspect-ratio/index.ts +87 -172
- package/packages/tools/enforce-video-aspect-ratio/package.json +11 -4
- package/packages/tools/eval/dist/index.js +7 -0
- package/packages/tools/eval/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/eval/index.ts +8 -0
- package/packages/tools/eval/package.json +11 -4
- package/packages/tools/extract-conversations/dist/index.d.ts +1 -2
- package/packages/tools/extract-conversations/dist/index.js +31 -29
- package/packages/tools/extract-conversations/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/extract-conversations/index.ts +37 -30
- package/packages/tools/extract-conversations/package.json +11 -4
- package/packages/tools/extract-pdf-text/dist/index.d.ts +1 -2
- package/packages/tools/extract-pdf-text/dist/index.js +44 -65
- package/packages/tools/extract-pdf-text/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/extract-pdf-text/index.ts +55 -74
- package/packages/tools/extract-pdf-text/package.json +11 -4
- package/packages/tools/filter-logs/dist/index.js +60 -84
- package/packages/tools/filter-logs/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/filter-logs/index.ts +67 -97
- package/packages/tools/filter-logs/package.json +11 -4
- package/packages/tools/find-github-issues/dist/index.d.ts +10 -0
- package/packages/tools/find-github-issues/dist/index.js +34 -5
- package/packages/tools/find-github-issues/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/find-github-issues/index.ts +37 -5
- package/packages/tools/find-github-issues/package.json +11 -4
- package/packages/tools/generate-storyboard-images/dist/index.d.ts +1 -2
- package/packages/tools/generate-storyboard-images/dist/index.js +98 -173
- package/packages/tools/generate-storyboard-images/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/generate-storyboard-images/index.ts +100 -188
- package/packages/tools/generate-storyboard-images/package.json +11 -4
- package/packages/tools/open-github-issue/dist/index.d.ts +13 -0
- package/packages/tools/open-github-issue/dist/index.js +67 -68
- package/packages/tools/open-github-issue/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/open-github-issue/index.ts +71 -72
- package/packages/tools/open-github-issue/package.json +11 -4
- package/packages/tools/read-github-issue/dist/index.d.ts +16 -1
- package/packages/tools/read-github-issue/dist/index.js +32 -40
- package/packages/tools/read-github-issue/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/read-github-issue/index.ts +32 -45
- package/packages/tools/read-github-issue/package.json +11 -4
- package/packages/tools/render-error-book/dist/index.d.ts +1 -2
- package/packages/tools/render-error-book/dist/index.js +74 -95
- package/packages/tools/render-error-book/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/render-error-book/index.ts +88 -103
- package/packages/tools/render-error-book/package.json +11 -4
- package/packages/tools/render-katex/dist/index.d.ts +1 -2
- package/packages/tools/render-katex/dist/index.js +70 -157
- package/packages/tools/render-katex/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/render-katex/index.ts +138 -222
- package/packages/tools/render-katex/package.json +11 -4
- package/packages/tools/review-threads/dist/index.d.ts +12 -0
- package/packages/tools/review-threads/dist/index.js +83 -86
- package/packages/tools/review-threads/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/review-threads/index.ts +90 -84
- package/packages/tools/review-threads/package.json +11 -4
- package/packages/tools/search-logs/dist/index.js +100 -136
- package/packages/tools/search-logs/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/search-logs/index.ts +113 -145
- package/packages/tools/search-logs/package.json +11 -4
- package/packages/tools/sync-memory-index/dist/index.js +34 -28
- package/packages/tools/sync-memory-index/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/sync-memory-index/index.ts +37 -28
- package/packages/tools/sync-memory-index/package.json +11 -4
- package/packages/tools/validate-openai-agent-config/dist/index.js +13 -7
- package/packages/tools/validate-openai-agent-config/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/validate-openai-agent-config/index.ts +13 -7
- package/packages/tools/validate-openai-agent-config/package.json +11 -4
- package/packages/tools/validate-skill-frontmatter/dist/index.js +12 -6
- package/packages/tools/validate-skill-frontmatter/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/validate-skill-frontmatter/index.ts +12 -6
- package/packages/tools/validate-skill-frontmatter/package.json +11 -4
- package/packages/tui/dist/index.d.ts +2 -1
- package/packages/tui/dist/index.js +1 -0
- package/packages/tui/dist/stdio-adapter.d.ts +36 -0
- package/packages/tui/dist/stdio-adapter.js +69 -0
- package/packages/tui/dist/terminal.js +3 -1
- package/packages/tui/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tui/dist/types.d.ts +17 -0
- package/packages/tui/index.ts +2 -1
- package/packages/tui/package.json +14 -6
- package/packages/tui/stdio-adapter.ts +85 -0
- package/packages/tui/terminal.ts +3 -1
- package/packages/tui/tsconfig.json +5 -2
- package/packages/tui/types.ts +19 -0
- package/resources/project-architecture/assets/architecture.css +2 -1
- package/resources/project-architecture/atlas/atlas.history.log +1 -0
- package/resources/project-architecture/atlas/atlas.history.undo.json +13 -2
- package/resources/project-architecture/atlas/atlas.history.undo.stack.json +610 -0
- package/resources/project-architecture/atlas/atlas.index.yaml +81 -5
- package/resources/project-architecture/atlas/features/cli-dispatch.yaml +43 -0
- package/resources/project-architecture/atlas/features/terminal-ui.yaml +29 -0
- package/resources/project-architecture/atlas/features/tool-registry.yaml +22 -0
- package/resources/project-architecture/atlas/features/tool-utils.yaml +22 -0
- package/resources/project-architecture/features/cli-dispatch/arg-parser.html +40 -0
- package/resources/project-architecture/features/cli-dispatch/help-builder.html +40 -0
- package/resources/project-architecture/features/cli-dispatch/index.html +64 -0
- package/resources/project-architecture/features/cli-dispatch/installer-core.html +40 -0
- package/resources/project-architecture/features/cli-dispatch/tool-discovery.html +40 -0
- package/resources/project-architecture/features/cli-dispatch/update-checker.html +40 -0
- package/resources/project-architecture/features/terminal-ui/banner-display.html +40 -0
- package/resources/project-architecture/features/terminal-ui/index.html +50 -0
- package/resources/project-architecture/features/terminal-ui/interactive-prompts.html +40 -0
- package/resources/project-architecture/features/terminal-ui/terminal-detection.html +40 -0
- package/resources/project-architecture/features/tool-registry/formatter.html +40 -0
- package/resources/project-architecture/features/tool-registry/index.html +43 -0
- package/resources/project-architecture/features/tool-registry/registry-core.html +40 -0
- package/resources/project-architecture/features/tool-utils/index.html +43 -0
- package/resources/project-architecture/features/tool-utils/log-utils.html +40 -0
- package/resources/project-architecture/features/tool-utils/skill-discovery.html +40 -0
- package/resources/project-architecture/index.html +365 -121
- package/scripts/rewrite-imports.mjs +2 -2
- package/scripts/test.sh +144 -8
- package/skills/design/SKILL.md +57 -64
- package/skills/design/assets/templates/DESIGN.md +12 -0
- package/skills/design/references/code-smells.md +94 -0
- package/skills/design/references/module-boundary-adjustment.md +126 -0
- package/skills/design/references/module-internal-restructuring.md +132 -0
- package/skills/design/references/module-internal-simplification.md +164 -0
|
@@ -15625,5 +15625,615 @@
|
|
|
15625
15625
|
}
|
|
15626
15626
|
]
|
|
15627
15627
|
}
|
|
15628
|
+
},
|
|
15629
|
+
{
|
|
15630
|
+
"base": {
|
|
15631
|
+
"meta": {
|
|
15632
|
+
"title": "Project architecture (+ codegraph integration overlay)",
|
|
15633
|
+
"summary": "完整 C4 架構圖:eval 評測系統 (8 features) + codegraph 程式碼分析 (1 feature, 3 submodules)。 外部 actor: Judge Model API, GitHub Actions CI, Developer, Skill Files, @colbymchenry/codegraph (npm), @laitszkin/tool-registry, @laitszkin/tui。 Eval 管線包含完整資料流: CLI → Executor → Scorer → Reporter → CI Gate。\n",
|
|
15634
|
+
"updatedAt": "2026-06-03T13:18:57.448Z"
|
|
15635
|
+
},
|
|
15636
|
+
"actors": [
|
|
15637
|
+
{
|
|
15638
|
+
"id": "judge-model-api",
|
|
15639
|
+
"label": "Judge Model API"
|
|
15640
|
+
},
|
|
15641
|
+
{
|
|
15642
|
+
"id": "github-actions",
|
|
15643
|
+
"label": "GitHub Actions CI"
|
|
15644
|
+
},
|
|
15645
|
+
{
|
|
15646
|
+
"id": "user-dev",
|
|
15647
|
+
"label": "Developer"
|
|
15648
|
+
},
|
|
15649
|
+
{
|
|
15650
|
+
"id": "skill-files",
|
|
15651
|
+
"label": "Skill Files (SKILL.md, scripts/, references/, assets/)"
|
|
15652
|
+
},
|
|
15653
|
+
{
|
|
15654
|
+
"id": "codegraph-npm",
|
|
15655
|
+
"label": "@colbymchenry/codegraph npm package"
|
|
15656
|
+
},
|
|
15657
|
+
{
|
|
15658
|
+
"id": "tool-registry",
|
|
15659
|
+
"label": "Tool Registry (@laitszkin/tool-registry)"
|
|
15660
|
+
},
|
|
15661
|
+
{
|
|
15662
|
+
"id": "tui-lib",
|
|
15663
|
+
"label": "TUI Library (@laitszkin/tui)"
|
|
15664
|
+
}
|
|
15665
|
+
],
|
|
15666
|
+
"features": [
|
|
15667
|
+
{
|
|
15668
|
+
"slug": "codegraph",
|
|
15669
|
+
"title": "CodeGraph Integration",
|
|
15670
|
+
"story": "Provide LLM agents with deterministic code structure data through apltk CLI. Replaces manual grep/Read discovery with tree-sitter parsed knowledge graph queries.\n",
|
|
15671
|
+
"dependsOn": [
|
|
15672
|
+
"eval-cli"
|
|
15673
|
+
],
|
|
15674
|
+
"submodules": [
|
|
15675
|
+
{
|
|
15676
|
+
"slug": "cg-lifecycle",
|
|
15677
|
+
"kind": "service",
|
|
15678
|
+
"role": "Manage CodeGraph index lifecycle — init, sync, status, search",
|
|
15679
|
+
"functions": [
|
|
15680
|
+
{
|
|
15681
|
+
"name": "init",
|
|
15682
|
+
"in": "projectRoot: string",
|
|
15683
|
+
"out": "CodeGraph instance",
|
|
15684
|
+
"side": "io",
|
|
15685
|
+
"purpose": "Initialize .codegraph/ directory and optionally run full index"
|
|
15686
|
+
},
|
|
15687
|
+
{
|
|
15688
|
+
"name": "sync",
|
|
15689
|
+
"in": "projectRoot: string",
|
|
15690
|
+
"out": "SyncResult",
|
|
15691
|
+
"side": "io",
|
|
15692
|
+
"purpose": "Incremental update of existing index"
|
|
15693
|
+
},
|
|
15694
|
+
{
|
|
15695
|
+
"name": "status",
|
|
15696
|
+
"in": "projectRoot: string",
|
|
15697
|
+
"out": "GraphStats",
|
|
15698
|
+
"side": "pure",
|
|
15699
|
+
"purpose": "Query index statistics"
|
|
15700
|
+
},
|
|
15701
|
+
{
|
|
15702
|
+
"name": "search",
|
|
15703
|
+
"in": "query: string",
|
|
15704
|
+
"out": "SearchResult[]",
|
|
15705
|
+
"side": "pure",
|
|
15706
|
+
"purpose": "Full-text symbol search via FTS5"
|
|
15707
|
+
}
|
|
15708
|
+
],
|
|
15709
|
+
"variables": [],
|
|
15710
|
+
"dataflow": [],
|
|
15711
|
+
"errors": []
|
|
15712
|
+
},
|
|
15713
|
+
{
|
|
15714
|
+
"slug": "cg-discovery",
|
|
15715
|
+
"kind": "service",
|
|
15716
|
+
"role": "Explore and survey code structure — explore, survey, list-apis",
|
|
15717
|
+
"functions": [
|
|
15718
|
+
{
|
|
15719
|
+
"name": "explore",
|
|
15720
|
+
"in": "query: string",
|
|
15721
|
+
"out": "Context (source grouped by file + relationship map)",
|
|
15722
|
+
"side": "pure",
|
|
15723
|
+
"purpose": "Get full context for symbols matching a query"
|
|
15724
|
+
},
|
|
15725
|
+
{
|
|
15726
|
+
"name": "survey",
|
|
15727
|
+
"in": "dirPath: string",
|
|
15728
|
+
"out": "SurveyReport (submodule suggestions + edge suggestions)",
|
|
15729
|
+
"side": "pure",
|
|
15730
|
+
"purpose": "Survey a directory and produce atlas-compatible structure report"
|
|
15731
|
+
},
|
|
15732
|
+
{
|
|
15733
|
+
"name": "listApis",
|
|
15734
|
+
"in": "featureSlug: string",
|
|
15735
|
+
"out": "APIDirectory (public functions + params + callers)",
|
|
15736
|
+
"side": "pure",
|
|
15737
|
+
"purpose": "List public API surface of a feature area"
|
|
15738
|
+
}
|
|
15739
|
+
],
|
|
15740
|
+
"variables": [],
|
|
15741
|
+
"dataflow": [],
|
|
15742
|
+
"errors": []
|
|
15743
|
+
},
|
|
15744
|
+
{
|
|
15745
|
+
"slug": "cg-validation",
|
|
15746
|
+
"kind": "service",
|
|
15747
|
+
"role": "Verify architecture proposals and batch-apply atlas mutations",
|
|
15748
|
+
"functions": [
|
|
15749
|
+
{
|
|
15750
|
+
"name": "verify",
|
|
15751
|
+
"in": "specOverlayPath: string",
|
|
15752
|
+
"out": "VerifyReport (passed/failed items)",
|
|
15753
|
+
"side": "pure",
|
|
15754
|
+
"purpose": "Validate that spec overlay references match actual code"
|
|
15755
|
+
},
|
|
15756
|
+
{
|
|
15757
|
+
"name": "applyBatch",
|
|
15758
|
+
"in": "proposalYaml: string",
|
|
15759
|
+
"out": "ApplyResult",
|
|
15760
|
+
"side": "io",
|
|
15761
|
+
"purpose": "Execute multiple atlas mutations from a single YAML file"
|
|
15762
|
+
},
|
|
15763
|
+
{
|
|
15764
|
+
"name": "generateTemplate",
|
|
15765
|
+
"in": "specMdPath: string",
|
|
15766
|
+
"out": "proposalYaml path",
|
|
15767
|
+
"side": "io",
|
|
15768
|
+
"purpose": "Generate empty proposal skeleton from SPEC.md"
|
|
15769
|
+
}
|
|
15770
|
+
],
|
|
15771
|
+
"variables": [],
|
|
15772
|
+
"dataflow": [],
|
|
15773
|
+
"errors": []
|
|
15774
|
+
}
|
|
15775
|
+
],
|
|
15776
|
+
"edges": [
|
|
15777
|
+
{
|
|
15778
|
+
"id": "cg-fe-001",
|
|
15779
|
+
"from": "cg-lifecycle",
|
|
15780
|
+
"to": "cg-discovery",
|
|
15781
|
+
"kind": "data-row",
|
|
15782
|
+
"label": "survey/list-apis 依賴已索引的資料庫"
|
|
15783
|
+
},
|
|
15784
|
+
{
|
|
15785
|
+
"id": "cg-fe-002",
|
|
15786
|
+
"from": "cg-discovery",
|
|
15787
|
+
"to": "cg-validation",
|
|
15788
|
+
"kind": "data-row",
|
|
15789
|
+
"label": "verify 使用 discovery 的搜尋能力"
|
|
15790
|
+
},
|
|
15791
|
+
{
|
|
15792
|
+
"id": "cg-fe-003",
|
|
15793
|
+
"from": "cg-validation",
|
|
15794
|
+
"to": "cg-lifecycle",
|
|
15795
|
+
"kind": "data-row",
|
|
15796
|
+
"label": "apply 非索引操作,不需 lifecycle — 但 template 可搭配 list-apis"
|
|
15797
|
+
}
|
|
15798
|
+
]
|
|
15799
|
+
},
|
|
15800
|
+
{
|
|
15801
|
+
"slug": "eval-optimizer",
|
|
15802
|
+
"title": "優化引擎",
|
|
15803
|
+
"story": "從評分結果提取問題、去重、生成FIND/REPLACE格式的優化diff",
|
|
15804
|
+
"dependsOn": [],
|
|
15805
|
+
"submodules": [
|
|
15806
|
+
{
|
|
15807
|
+
"slug": "issue-extractor",
|
|
15808
|
+
"kind": "service",
|
|
15809
|
+
"role": "從score.json提取問題、分類統計",
|
|
15810
|
+
"functions": [
|
|
15811
|
+
{
|
|
15812
|
+
"name": "extractIssues",
|
|
15813
|
+
"in": "scores",
|
|
15814
|
+
"out": "RawIssue[]",
|
|
15815
|
+
"side": "pure",
|
|
15816
|
+
"purpose": "從 score.json 提取問題與分類統計"
|
|
15817
|
+
},
|
|
15818
|
+
{
|
|
15819
|
+
"name": "generateOptimizationPlan",
|
|
15820
|
+
"in": "issues",
|
|
15821
|
+
"out": "OptimizationPlan",
|
|
15822
|
+
"side": "pure",
|
|
15823
|
+
"purpose": "從去重後問題生成 FIND/REPLACE 優化 diff"
|
|
15824
|
+
}
|
|
15825
|
+
],
|
|
15826
|
+
"variables": [],
|
|
15827
|
+
"dataflow": [],
|
|
15828
|
+
"errors": []
|
|
15829
|
+
},
|
|
15830
|
+
{
|
|
15831
|
+
"slug": "dedup-engine",
|
|
15832
|
+
"kind": "service",
|
|
15833
|
+
"role": "Jaccard+Judge語意去重",
|
|
15834
|
+
"functions": [
|
|
15835
|
+
{
|
|
15836
|
+
"name": "deduplicateIssues",
|
|
15837
|
+
"in": "issues",
|
|
15838
|
+
"out": "DedupedIssue[]",
|
|
15839
|
+
"side": "pure",
|
|
15840
|
+
"purpose": "Jaccard+Judge 語意去重"
|
|
15841
|
+
}
|
|
15842
|
+
],
|
|
15843
|
+
"variables": [],
|
|
15844
|
+
"dataflow": [],
|
|
15845
|
+
"errors": []
|
|
15846
|
+
},
|
|
15847
|
+
{
|
|
15848
|
+
"slug": "diff-generator",
|
|
15849
|
+
"kind": "service",
|
|
15850
|
+
"role": "FIND/REPLACE diff生成與備份/復原",
|
|
15851
|
+
"functions": [],
|
|
15852
|
+
"variables": [],
|
|
15853
|
+
"dataflow": [],
|
|
15854
|
+
"errors": []
|
|
15855
|
+
}
|
|
15856
|
+
],
|
|
15857
|
+
"edges": []
|
|
15858
|
+
},
|
|
15859
|
+
{
|
|
15860
|
+
"slug": "eval-cli",
|
|
15861
|
+
"title": "CLI命令",
|
|
15862
|
+
"story": "註冊apltk eval命令,參數解析、模式選擇、進度顯示",
|
|
15863
|
+
"dependsOn": [],
|
|
15864
|
+
"submodules": [
|
|
15865
|
+
{
|
|
15866
|
+
"slug": "cli-handler",
|
|
15867
|
+
"kind": "service",
|
|
15868
|
+
"role": "ToolDefinition註冊、參數解析、流程編排",
|
|
15869
|
+
"functions": [
|
|
15870
|
+
{
|
|
15871
|
+
"name": "evalHandler",
|
|
15872
|
+
"in": "argv, context",
|
|
15873
|
+
"out": "exitCode",
|
|
15874
|
+
"side": "pure",
|
|
15875
|
+
"purpose": "CLI 入口:解析參數、調度評測流程"
|
|
15876
|
+
},
|
|
15877
|
+
{
|
|
15878
|
+
"name": "parseArgs",
|
|
15879
|
+
"in": "argv",
|
|
15880
|
+
"out": "ParsedArgs",
|
|
15881
|
+
"side": "pure",
|
|
15882
|
+
"purpose": "解析 CLI 參數與模式選擇"
|
|
15883
|
+
},
|
|
15884
|
+
{
|
|
15885
|
+
"name": "tool",
|
|
15886
|
+
"in": "ToolDefinition",
|
|
15887
|
+
"out": "void",
|
|
15888
|
+
"side": "pure",
|
|
15889
|
+
"purpose": "向 tool-registry 註冊 eval 命令"
|
|
15890
|
+
}
|
|
15891
|
+
],
|
|
15892
|
+
"variables": [],
|
|
15893
|
+
"dataflow": [],
|
|
15894
|
+
"errors": []
|
|
15895
|
+
},
|
|
15896
|
+
{
|
|
15897
|
+
"slug": "progress-display",
|
|
15898
|
+
"kind": "ui",
|
|
15899
|
+
"role": "終端機進度指示",
|
|
15900
|
+
"functions": [],
|
|
15901
|
+
"variables": [],
|
|
15902
|
+
"dataflow": [],
|
|
15903
|
+
"errors": []
|
|
15904
|
+
}
|
|
15905
|
+
],
|
|
15906
|
+
"edges": []
|
|
15907
|
+
},
|
|
15908
|
+
{
|
|
15909
|
+
"slug": "eval-ci-gate",
|
|
15910
|
+
"title": "PR閘門",
|
|
15911
|
+
"story": "GitHub Actions整合:檢測技能檔案變更、觸發評測、回報結果",
|
|
15912
|
+
"dependsOn": [],
|
|
15913
|
+
"submodules": [
|
|
15914
|
+
{
|
|
15915
|
+
"slug": "workflow-trigger",
|
|
15916
|
+
"kind": "service",
|
|
15917
|
+
"role": "GitHub Actions workflow on PR skill file change",
|
|
15918
|
+
"functions": [
|
|
15919
|
+
{
|
|
15920
|
+
"name": "detectSkillChanges",
|
|
15921
|
+
"in": "prFiles",
|
|
15922
|
+
"out": "string[]",
|
|
15923
|
+
"side": "pure",
|
|
15924
|
+
"purpose": "檢測 PR 中技能檔案變更"
|
|
15925
|
+
}
|
|
15926
|
+
],
|
|
15927
|
+
"variables": [],
|
|
15928
|
+
"dataflow": [],
|
|
15929
|
+
"errors": []
|
|
15930
|
+
},
|
|
15931
|
+
{
|
|
15932
|
+
"slug": "pr-reporter",
|
|
15933
|
+
"kind": "service",
|
|
15934
|
+
"role": "PR評論回報評測結果",
|
|
15935
|
+
"functions": [],
|
|
15936
|
+
"variables": [],
|
|
15937
|
+
"dataflow": [],
|
|
15938
|
+
"errors": []
|
|
15939
|
+
}
|
|
15940
|
+
],
|
|
15941
|
+
"edges": []
|
|
15942
|
+
},
|
|
15943
|
+
{
|
|
15944
|
+
"slug": "eval-isolation",
|
|
15945
|
+
"title": "上下文隔離與工具模擬",
|
|
15946
|
+
"story": "工具調用攔截層:讀取真實執行、寫入mock回傳;確保評分上下文獨立",
|
|
15947
|
+
"dependsOn": [],
|
|
15948
|
+
"submodules": [
|
|
15949
|
+
{
|
|
15950
|
+
"slug": "tool-dispatcher",
|
|
15951
|
+
"kind": "service",
|
|
15952
|
+
"role": "工具調用攔截系統:讀取工具在workspace內真實執行、寫入工具模擬回傳、路徑穿越防護",
|
|
15953
|
+
"functions": [
|
|
15954
|
+
{
|
|
15955
|
+
"name": "buildSystemPrompt",
|
|
15956
|
+
"in": "question",
|
|
15957
|
+
"out": "string",
|
|
15958
|
+
"side": "pure",
|
|
15959
|
+
"purpose": "建立隔離環境的 system prompt"
|
|
15960
|
+
}
|
|
15961
|
+
],
|
|
15962
|
+
"variables": [],
|
|
15963
|
+
"dataflow": [],
|
|
15964
|
+
"errors": []
|
|
15965
|
+
}
|
|
15966
|
+
],
|
|
15967
|
+
"edges": []
|
|
15968
|
+
},
|
|
15969
|
+
{
|
|
15970
|
+
"slug": "eval-question",
|
|
15971
|
+
"title": "評測題庫",
|
|
15972
|
+
"story": "管理評測題庫的載入、驗證、抽樣與LLM變體生成",
|
|
15973
|
+
"dependsOn": [],
|
|
15974
|
+
"submodules": [
|
|
15975
|
+
{
|
|
15976
|
+
"slug": "question-loader",
|
|
15977
|
+
"kind": "service",
|
|
15978
|
+
"role": "題目載入與JSON Schema驗證",
|
|
15979
|
+
"functions": [
|
|
15980
|
+
{
|
|
15981
|
+
"name": "loadQuestions",
|
|
15982
|
+
"in": "specDir",
|
|
15983
|
+
"out": "Question[]",
|
|
15984
|
+
"side": "pure",
|
|
15985
|
+
"purpose": "載入題目並進行 JSON Schema 驗證"
|
|
15986
|
+
}
|
|
15987
|
+
],
|
|
15988
|
+
"variables": [],
|
|
15989
|
+
"dataflow": [],
|
|
15990
|
+
"errors": []
|
|
15991
|
+
},
|
|
15992
|
+
{
|
|
15993
|
+
"slug": "variant-generator",
|
|
15994
|
+
"kind": "service",
|
|
15995
|
+
"role": "LLM變體生成,保留評分標準",
|
|
15996
|
+
"functions": [
|
|
15997
|
+
{
|
|
15998
|
+
"name": "generateVariants",
|
|
15999
|
+
"in": "questions, count",
|
|
16000
|
+
"out": "Question[]",
|
|
16001
|
+
"side": "io",
|
|
16002
|
+
"purpose": "LLM 變體生成,保留評分標準"
|
|
16003
|
+
}
|
|
16004
|
+
],
|
|
16005
|
+
"variables": [],
|
|
16006
|
+
"dataflow": [],
|
|
16007
|
+
"errors": []
|
|
16008
|
+
}
|
|
16009
|
+
],
|
|
16010
|
+
"edges": []
|
|
16011
|
+
},
|
|
16012
|
+
{
|
|
16013
|
+
"slug": "eval-executor",
|
|
16014
|
+
"title": "評測執行器",
|
|
16015
|
+
"story": "在隔離環境中執行技能,記錄工具調用軌跡為JSONL",
|
|
16016
|
+
"dependsOn": [],
|
|
16017
|
+
"submodules": [
|
|
16018
|
+
{
|
|
16019
|
+
"slug": "trace-recorder",
|
|
16020
|
+
"kind": "service",
|
|
16021
|
+
"role": "多輪tool-use loop軌跡記錄:tool_call/tool_result事件序列、JSONL行號標記、.done完成標記",
|
|
16022
|
+
"functions": [
|
|
16023
|
+
{
|
|
16024
|
+
"name": "runSingleTest",
|
|
16025
|
+
"in": "question, skillDir",
|
|
16026
|
+
"out": "TraceEvent[]",
|
|
16027
|
+
"side": "pure",
|
|
16028
|
+
"purpose": "執行單一技能測試,記錄 tool call 軌跡"
|
|
16029
|
+
}
|
|
16030
|
+
],
|
|
16031
|
+
"variables": [],
|
|
16032
|
+
"dataflow": [],
|
|
16033
|
+
"errors": []
|
|
16034
|
+
},
|
|
16035
|
+
{
|
|
16036
|
+
"slug": "exec-api-client",
|
|
16037
|
+
"kind": "api",
|
|
16038
|
+
"role": "Exec Model HTTP client with retry",
|
|
16039
|
+
"functions": [
|
|
16040
|
+
{
|
|
16041
|
+
"name": "withRetry",
|
|
16042
|
+
"in": "fn, options",
|
|
16043
|
+
"out": "Result",
|
|
16044
|
+
"side": "io",
|
|
16045
|
+
"purpose": "HTTP client with retry for exec model"
|
|
16046
|
+
}
|
|
16047
|
+
],
|
|
16048
|
+
"variables": [],
|
|
16049
|
+
"dataflow": [],
|
|
16050
|
+
"errors": []
|
|
16051
|
+
}
|
|
16052
|
+
],
|
|
16053
|
+
"edges": []
|
|
16054
|
+
},
|
|
16055
|
+
{
|
|
16056
|
+
"slug": "eval-scorer",
|
|
16057
|
+
"title": "評分引擎",
|
|
16058
|
+
"story": "調用LLM評分模型從三維度打分,產出結構化評分JSON",
|
|
16059
|
+
"dependsOn": [],
|
|
16060
|
+
"submodules": [
|
|
16061
|
+
{
|
|
16062
|
+
"slug": "judge-prompt-builder",
|
|
16063
|
+
"kind": "service",
|
|
16064
|
+
"role": "評分提示詞構建:trace事件摘要含JSONL行號(L{N})引用、三維度評分指示",
|
|
16065
|
+
"functions": [
|
|
16066
|
+
{
|
|
16067
|
+
"name": "buildJudgePrompt",
|
|
16068
|
+
"in": "trace, scoreCriteria",
|
|
16069
|
+
"out": "string",
|
|
16070
|
+
"side": "pure",
|
|
16071
|
+
"purpose": "將 trace 事件摘要轉為評分提示詞"
|
|
16072
|
+
}
|
|
16073
|
+
],
|
|
16074
|
+
"variables": [],
|
|
16075
|
+
"dataflow": [],
|
|
16076
|
+
"errors": []
|
|
16077
|
+
},
|
|
16078
|
+
{
|
|
16079
|
+
"slug": "judge-api-client",
|
|
16080
|
+
"kind": "api",
|
|
16081
|
+
"role": "Judge Model HTTP client with parse fallback",
|
|
16082
|
+
"functions": [
|
|
16083
|
+
{
|
|
16084
|
+
"name": "callJudgeModel",
|
|
16085
|
+
"in": "prompt, options",
|
|
16086
|
+
"out": "ScoreResult",
|
|
16087
|
+
"side": "io",
|
|
16088
|
+
"purpose": "呼叫 Judge Model API 進行評分"
|
|
16089
|
+
}
|
|
16090
|
+
],
|
|
16091
|
+
"variables": [],
|
|
16092
|
+
"dataflow": [],
|
|
16093
|
+
"errors": []
|
|
16094
|
+
}
|
|
16095
|
+
],
|
|
16096
|
+
"edges": []
|
|
16097
|
+
},
|
|
16098
|
+
{
|
|
16099
|
+
"slug": "eval-reporter",
|
|
16100
|
+
"title": "評測報告",
|
|
16101
|
+
"story": "彙總評分結果產出結構化Markdown報告",
|
|
16102
|
+
"dependsOn": [],
|
|
16103
|
+
"submodules": [
|
|
16104
|
+
{
|
|
16105
|
+
"slug": "report-composer",
|
|
16106
|
+
"kind": "service",
|
|
16107
|
+
"role": "Markdown報告組合與渲染",
|
|
16108
|
+
"functions": [
|
|
16109
|
+
{
|
|
16110
|
+
"name": "generateReport",
|
|
16111
|
+
"in": "scores",
|
|
16112
|
+
"out": "string",
|
|
16113
|
+
"side": "pure",
|
|
16114
|
+
"purpose": "彙總評分結果產出結構化 Markdown 報告"
|
|
16115
|
+
}
|
|
16116
|
+
],
|
|
16117
|
+
"variables": [],
|
|
16118
|
+
"dataflow": [],
|
|
16119
|
+
"errors": []
|
|
16120
|
+
}
|
|
16121
|
+
],
|
|
16122
|
+
"edges": []
|
|
16123
|
+
}
|
|
16124
|
+
],
|
|
16125
|
+
"edges": [
|
|
16126
|
+
{
|
|
16127
|
+
"id": "cg-e-001",
|
|
16128
|
+
"from": {
|
|
16129
|
+
"feature": "codegraph",
|
|
16130
|
+
"submodule": "cg-lifecycle"
|
|
16131
|
+
},
|
|
16132
|
+
"to": {
|
|
16133
|
+
"feature": "codegraph",
|
|
16134
|
+
"submodule": "cg-discovery"
|
|
16135
|
+
},
|
|
16136
|
+
"kind": "data-row",
|
|
16137
|
+
"label": "survey/list-apis 依賴已索引的資料庫"
|
|
16138
|
+
},
|
|
16139
|
+
{
|
|
16140
|
+
"id": "cg-e-002",
|
|
16141
|
+
"from": {
|
|
16142
|
+
"feature": "codegraph",
|
|
16143
|
+
"submodule": "cg-discovery"
|
|
16144
|
+
},
|
|
16145
|
+
"to": {
|
|
16146
|
+
"feature": "codegraph",
|
|
16147
|
+
"submodule": "cg-validation"
|
|
16148
|
+
},
|
|
16149
|
+
"kind": "data-row",
|
|
16150
|
+
"label": "verify 使用 discovery 的搜尋能力"
|
|
16151
|
+
},
|
|
16152
|
+
{
|
|
16153
|
+
"id": "cg-e-003",
|
|
16154
|
+
"from": {
|
|
16155
|
+
"feature": "codegraph",
|
|
16156
|
+
"submodule": "cg-lifecycle"
|
|
16157
|
+
},
|
|
16158
|
+
"to": {
|
|
16159
|
+
"feature": "eval-cli"
|
|
16160
|
+
},
|
|
16161
|
+
"kind": "call",
|
|
16162
|
+
"label": "codegraph init --index 與 eval-cli 共用 CLI 工具基礎架構"
|
|
16163
|
+
},
|
|
16164
|
+
{
|
|
16165
|
+
"id": "eval-cli-exec",
|
|
16166
|
+
"from": {
|
|
16167
|
+
"feature": "eval-cli",
|
|
16168
|
+
"submodule": "cli-handler"
|
|
16169
|
+
},
|
|
16170
|
+
"to": {
|
|
16171
|
+
"feature": "eval-executor",
|
|
16172
|
+
"submodule": "trace-recorder"
|
|
16173
|
+
},
|
|
16174
|
+
"kind": "call",
|
|
16175
|
+
"label": "evalHandler 觸發 runSingleTest"
|
|
16176
|
+
},
|
|
16177
|
+
{
|
|
16178
|
+
"id": "eval-exec-iso",
|
|
16179
|
+
"from": {
|
|
16180
|
+
"feature": "eval-executor",
|
|
16181
|
+
"submodule": "trace-recorder"
|
|
16182
|
+
},
|
|
16183
|
+
"to": {
|
|
16184
|
+
"feature": "eval-isolation",
|
|
16185
|
+
"submodule": "tool-dispatcher"
|
|
16186
|
+
},
|
|
16187
|
+
"kind": "call",
|
|
16188
|
+
"label": "執行隔離環境中的工具調用"
|
|
16189
|
+
},
|
|
16190
|
+
{
|
|
16191
|
+
"id": "eval-exec-scorer",
|
|
16192
|
+
"from": {
|
|
16193
|
+
"feature": "eval-executor",
|
|
16194
|
+
"submodule": "trace-recorder"
|
|
16195
|
+
},
|
|
16196
|
+
"to": {
|
|
16197
|
+
"feature": "eval-scorer",
|
|
16198
|
+
"submodule": "judge-prompt-builder"
|
|
16199
|
+
},
|
|
16200
|
+
"kind": "data-row",
|
|
16201
|
+
"label": "trace events 送入評分"
|
|
16202
|
+
},
|
|
16203
|
+
{
|
|
16204
|
+
"id": "eval-scorer-reporter",
|
|
16205
|
+
"from": {
|
|
16206
|
+
"feature": "eval-scorer"
|
|
16207
|
+
},
|
|
16208
|
+
"to": {
|
|
16209
|
+
"feature": "eval-reporter"
|
|
16210
|
+
},
|
|
16211
|
+
"kind": "data-row",
|
|
16212
|
+
"label": "ScoreResult 送入報告組合"
|
|
16213
|
+
},
|
|
16214
|
+
{
|
|
16215
|
+
"id": "eval-exec-optimizer",
|
|
16216
|
+
"from": {
|
|
16217
|
+
"feature": "eval-executor"
|
|
16218
|
+
},
|
|
16219
|
+
"to": {
|
|
16220
|
+
"feature": "eval-optimizer"
|
|
16221
|
+
},
|
|
16222
|
+
"kind": "data-row",
|
|
16223
|
+
"label": "執行結果觸發優化"
|
|
16224
|
+
},
|
|
16225
|
+
{
|
|
16226
|
+
"id": "eval-cli-ci",
|
|
16227
|
+
"from": {
|
|
16228
|
+
"feature": "eval-cli"
|
|
16229
|
+
},
|
|
16230
|
+
"to": {
|
|
16231
|
+
"feature": "eval-ci-gate"
|
|
16232
|
+
},
|
|
16233
|
+
"kind": "call",
|
|
16234
|
+
"label": "CI 模式下觸發 PR 回報"
|
|
16235
|
+
}
|
|
16236
|
+
]
|
|
16237
|
+
}
|
|
15628
16238
|
}
|
|
15629
16239
|
]
|