1882 lines
70 KiB
JSON
1882 lines
70 KiB
JSON
{
|
||
"version": 1,
|
||
"generatedAt": "2026-05-14T13:38:08.446Z",
|
||
"files": {
|
||
"src/agent.ts": {
|
||
"mtimeMs": 1778683690000,
|
||
"size": 185807,
|
||
"lines": 3232,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/config",
|
||
"src/security",
|
||
"src/core/transaction",
|
||
"src/core/session",
|
||
"src/agents/factory",
|
||
"src/agents/AgentWorkflowManager",
|
||
"src/core/errorHandler",
|
||
"src/core/events",
|
||
"src/core/errors",
|
||
"src/core/statusBar",
|
||
"src/core/lock",
|
||
"src/core/queue",
|
||
"src/core/conflict",
|
||
"src/core/telemetry",
|
||
"src/features/secondBrainTrace",
|
||
"src/memory",
|
||
"src/retrieval",
|
||
"src/retrieval/lessonHelpers",
|
||
"src/retrieval/embeddings",
|
||
"src/retrieval/brainIndex",
|
||
"src/skills/agentKnowledgeMap",
|
||
"src/retrieval/knowledgeMix",
|
||
"src/core/responseRecovery",
|
||
"src/lib/contextManager",
|
||
"src/lmstudio/streamer",
|
||
"src/features/approval/approvalQueue"
|
||
]
|
||
},
|
||
"src/agents/AgentWorkflowManager.ts": {
|
||
"mtimeMs": 1778690404000,
|
||
"size": 2262,
|
||
"lines": 60,
|
||
"role": "",
|
||
"imports": [
|
||
"src/agents/factory",
|
||
"src/lib/engine",
|
||
"src/config"
|
||
]
|
||
},
|
||
"src/agents/factory.ts": {
|
||
"mtimeMs": 1778690336000,
|
||
"size": 11023,
|
||
"lines": 219,
|
||
"role": "",
|
||
"imports": [
|
||
"src/config",
|
||
"src/lib/engine"
|
||
]
|
||
},
|
||
"src/agents/reflectionPersister.ts": {
|
||
"mtimeMs": 1778763469000,
|
||
"size": 11986,
|
||
"lines": 308,
|
||
"role": "Reflection → Lesson persistence Take the Reflector agent's structured critique and persist any substantive findings as a lesson card in <brainDir>/lessons/auto-reflector/. The existing brain retrieval",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/retrieval/lessonHelpers"
|
||
]
|
||
},
|
||
"src/bridge.ts": {
|
||
"mtimeMs": 1778681774000,
|
||
"size": 9705,
|
||
"lines": 227,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/config",
|
||
"src/core/services",
|
||
"src/skills/skillInjectionService",
|
||
"src/lib/paths"
|
||
]
|
||
},
|
||
"src/config.ts": {
|
||
"mtimeMs": 1778763415000,
|
||
"size": 10185,
|
||
"lines": 224,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/core/astraPath.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 1782,
|
||
"lines": 50,
|
||
"role": "Astra Path Resolver (경로 해결기) Astra의 모든 데이터 파일(.astra 디렉토리)의 경로를 중앙에서 관리합니다. 확장 프로그램의 설치 경로(extensionUri) 기반으로 .astra 디렉토리를 해결하여, 사용자 프로젝트 루트가 아닌 ConnectAI 패키지 내부에 데이터를 저장합니다. 이 모듈은 AAL(Astra Autonomou",
|
||
"imports": []
|
||
},
|
||
"src/core/conflict.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 1726,
|
||
"lines": 30,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/dataProcessor.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 3235,
|
||
"lines": 96,
|
||
"role": "Aggregate result type definition",
|
||
"imports": []
|
||
},
|
||
"src/core/errorHandler.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2305,
|
||
"lines": 49,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/core/errors.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 924,
|
||
"lines": 34,
|
||
"role": "g1nation Custom Error Classes",
|
||
"imports": []
|
||
},
|
||
"src/core/events.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 993,
|
||
"lines": 35,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/core/health.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 2873,
|
||
"lines": 79,
|
||
"role": "",
|
||
"imports": [
|
||
"src/config",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/lock.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 2358,
|
||
"lines": 66,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/queue.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 2428,
|
||
"lines": 81,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/responseRecovery.ts": {
|
||
"mtimeMs": 1778598587000,
|
||
"size": 12304,
|
||
"lines": 225,
|
||
"role": "Response Recovery — Thought Quarantine + Final-only Retry + Auto-Continuation The user already asked their question; they're waiting for an answer, not for a chance to babysit the generation engine. S",
|
||
"imports": [
|
||
"src/lib/contextManager"
|
||
]
|
||
},
|
||
"src/core/services.ts": {
|
||
"mtimeMs": 1778421200000,
|
||
"size": 6692,
|
||
"lines": 164,
|
||
"role": "",
|
||
"imports": [
|
||
"src/config",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/session.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2785,
|
||
"lines": 88,
|
||
"role": "",
|
||
"imports": [
|
||
"src/agent",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/statusBar.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2000,
|
||
"lines": 57,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/core/telemetry.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 5442,
|
||
"lines": 129,
|
||
"role": "Telemetry — append-only usage events to .astra/usage.jsonl Why local-file telemetry instead of a webview dashboard or remote endpoint: - Astra is local-first. No data leaves the machine. - JSONL is tr",
|
||
"imports": [
|
||
"src/core/astraPath",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/core/transaction.ts": {
|
||
"mtimeMs": 1778251556000,
|
||
"size": 4458,
|
||
"lines": 132,
|
||
"role": "",
|
||
"imports": [
|
||
"src/core/errors",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/docs/records/src/README.md": {
|
||
"mtimeMs": 1777949473000,
|
||
"size": 422,
|
||
"lines": 18,
|
||
"role": "src Chronicle Records",
|
||
"imports": []
|
||
},
|
||
"src/docs/records/src/bugs/BUG-0001-edited-agent-ts-edited-agent-ts-edited-agent-ts-edited-agent.md": {
|
||
"mtimeMs": 1777949473000,
|
||
"size": 1797,
|
||
"lines": 16,
|
||
"role": "Bug: Edited agent.ts Edited agent.ts Edited agent.ts Edited agent.ts Edited agent.ts ...",
|
||
"imports": []
|
||
},
|
||
"src/docs/records/src/bugs/BUG-0002-viewed-agent-ts-2159-2206-제공해주신-세부-파일-구조와-지식-수집-워크플로우-관점의-코드.md": {
|
||
"mtimeMs": 1777949638000,
|
||
"size": 2201,
|
||
"lines": 16,
|
||
"role": "Bug: Viewed agent.ts:2159-2206 제공해주신 세부 파일 구조와 지식 수집 워크플로우 관점의 코드리뷰 요청을 정독했습니다. 이...",
|
||
"imports": []
|
||
},
|
||
"src/docs/records/src/chronicle.config.json": {
|
||
"mtimeMs": 1777949638000,
|
||
"size": 517,
|
||
"lines": 11,
|
||
"role": "JSON configuration",
|
||
"imports": []
|
||
},
|
||
"src/docs/records/src/project-profile.md": {
|
||
"mtimeMs": 1777949473000,
|
||
"size": 582,
|
||
"lines": 31,
|
||
"role": "Project Profile",
|
||
"imports": []
|
||
},
|
||
"src/docs/records/src/timeline.md": {
|
||
"mtimeMs": 1777949638000,
|
||
"size": 381,
|
||
"lines": 10,
|
||
"role": "Project Timeline",
|
||
"imports": []
|
||
},
|
||
"src/extension.ts": {
|
||
"mtimeMs": 1778693606000,
|
||
"size": 50539,
|
||
"lines": 966,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/config",
|
||
"src/agent",
|
||
"src/bridge",
|
||
"src/sidebarProvider",
|
||
"src/core/health",
|
||
"src/core/astraPath",
|
||
"src/lmstudio/client",
|
||
"src/lmstudio/activityTracker",
|
||
"src/lmstudio/lifecycleManager",
|
||
"src/lmstudio/streamer",
|
||
"src/system/specs",
|
||
"src/features/approval/approvalQueue",
|
||
"src/features/approval/approvalPanelProvider",
|
||
"src/features/approval/approvalStatusBar",
|
||
"src/scaffolder/projectScaffolder",
|
||
"src/scaffolder/templates",
|
||
"src/integrations/telegram/telegramClient",
|
||
"src/integrations/telegram/telegramBot",
|
||
"src/core/services",
|
||
"src/features/company",
|
||
"src/features/settings/settingsPanelProvider",
|
||
"src/skills/agentKnowledgeMap",
|
||
"src/retrieval",
|
||
"src/retrieval/lessonHelpers",
|
||
"src/skills/scopedBrainRetriever",
|
||
"src/integrations/telegram/conversationHistory"
|
||
]
|
||
},
|
||
"src/features/approval/approvalPanelProvider.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 7132,
|
||
"lines": 153,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/approval/approvalQueue",
|
||
"src/sidebarProvider"
|
||
]
|
||
},
|
||
"src/features/approval/approvalQueue.ts": {
|
||
"mtimeMs": 1778251548000,
|
||
"size": 4722,
|
||
"lines": 129,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/features/approval/approvalStatusBar.ts": {
|
||
"mtimeMs": 1778251623000,
|
||
"size": 1601,
|
||
"lines": 41,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/approval/approvalQueue"
|
||
]
|
||
},
|
||
"src/features/company/agents.ts": {
|
||
"mtimeMs": 1778765657000,
|
||
"size": 13783,
|
||
"lines": 196,
|
||
"role": "기본 에이전트 로스터 — 1인 기업 모드의 출고 디폴트. 설계 의도: 소프트웨어/게임 개발 IT 회사의 1인 기업 운영을 가정. 한 사람이 기획 → 디자인 → 개발 → QA → 출시 → 운영/마케팅을 모두 책임질 때 필요한 직군을 빠짐없이 커버하되 역할이 겹치지 않게 분리한다. 직군 구분 (혼동 방지): - 기획자(business) : 무엇을 만들지 정의 ",
|
||
"imports": [
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/ceoPlanner.ts": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 11307,
|
||
"lines": 266,
|
||
"role": "CEO planner — turns a user prompt into a CompanyTaskPlan. Lifecycle of one planner call: 1. Build the planner system prompt (template + active-agent list). 2. Hit the AI service with the user prompt a",
|
||
"imports": [
|
||
"src/core/services",
|
||
"src/utils",
|
||
"src/features/company/companyConfig",
|
||
"src/features/company/promptAssets",
|
||
"src/features/company/promptBuilder",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/ceoReporter.ts": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 4895,
|
||
"lines": 122,
|
||
"role": "CEO synthesis pass — runs after all specialists have finished. Given the per-agent outputs, this asks the CEO model to produce the final markdown report (✅ 완료 / 🚀 다음 / 💡 인사이트) that the user actually",
|
||
"imports": [
|
||
"src/core/services",
|
||
"src/utils",
|
||
"src/features/company/companyConfig",
|
||
"src/features/company/promptAssets",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/companyConfig.ts": {
|
||
"mtimeMs": 1778764783000,
|
||
"size": 39070,
|
||
"lines": 877,
|
||
"role": "State + config plumbing for 1인 기업 모드. Two surfaces: - CompanyState (runtime data: enabled flag, company name, which agents are active, per-agent model overrides). Persisted in VS Code's globalState so",
|
||
"imports": [
|
||
"src/features/company/agents",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/dispatcher.ts": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 29279,
|
||
"lines": 631,
|
||
"role": "Sequential dispatcher for 1인 기업 모드. Drives one company \"turn\": user prompt → CEO planner (JSON {brief, tasks}) → for each task in plan: dispatch one specialist (sequentially) - build specialist prompt",
|
||
"imports": [
|
||
"src/core/services",
|
||
"src/utils",
|
||
"src/skills/scopedBrainRetriever",
|
||
"src/skills/agentKnowledgeMap",
|
||
"src/retrieval/knowledgeMix",
|
||
"src/features/company/companyConfig",
|
||
"src/features/company/ceoPlanner",
|
||
"src/features/company/ceoReporter",
|
||
"src/features/company/promptBuilder",
|
||
"src/features/company/sessionStore",
|
||
"src/features/company/telegramReport",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/index.ts": {
|
||
"mtimeMs": 1778764795000,
|
||
"size": 1827,
|
||
"lines": 83,
|
||
"role": "Public API for 1인 기업 모드. Consumers (sidebarProvider, chatHandlers, command handlers) import from this barrel so internal layout can move around without touching every call site.",
|
||
"imports": [
|
||
"src/features/company/agents",
|
||
"src/features/company/companyConfig",
|
||
"src/features/company/types",
|
||
"src/features/company/pipelineTemplates",
|
||
"src/features/company/dispatcher",
|
||
"src/features/company/sessionStore"
|
||
]
|
||
},
|
||
"src/features/company/pipelineTemplates.ts": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 11351,
|
||
"lines": 211,
|
||
"role": "Built-in pipeline templates for 1인 기업 모드. These are blueprints, not data — they're surfaced in the manage panel's \"템플릿에서 추가\" dropdown so a non-developer user can stamp out a working pipeline in one cl",
|
||
"imports": [
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/promptAssets.ts": {
|
||
"mtimeMs": 1778680887000,
|
||
"size": 6782,
|
||
"lines": 114,
|
||
"role": "Inlined prompt assets for the 1인 기업 mode. The CEO planner / reporter / casual-chat prompts are kept as TS string constants rather than loaded from prompts/.md at runtime, for two reasons: 1. Bundling.",
|
||
"imports": []
|
||
},
|
||
"src/features/company/promptBuilder.ts": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 12835,
|
||
"lines": 231,
|
||
"role": "System-prompt construction for company-mode agents. Each specialist needs a prompt that includes: - Their identity (name, role, specialty) + optional persona. - The action-tag contract (<createfile>, ",
|
||
"imports": [
|
||
"src/features/company/agents",
|
||
"src/features/company/companyConfig",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/prompts/ceo-chat.md": {
|
||
"mtimeMs": 1778680831000,
|
||
"size": 462,
|
||
"lines": 4,
|
||
"role": "당신은 {{COMPANY}}의 CEO입니다. 사용자(사장님)와 짧게 인사·안부·잡담을 주고받습니다. - 한국어로 1~3문장. 친근하지만 사장-CEO 관계는 유지. - 인사·안부 질문이면 자연스럽게 응답하세요. 작업 지시가 아니면 굳이 작업 분배 제안 X. - 회사 정체성·최근 결정·추적기 상태가 컨텍스트에 있으면 자연스럽게 활용. - JSON 출력 금지. ",
|
||
"imports": []
|
||
},
|
||
"src/features/company/prompts/ceo-planner.md": {
|
||
"mtimeMs": 1778680831000,
|
||
"size": 3199,
|
||
"lines": 38,
|
||
"role": "당신은 \"{{COMPANY}}\"의 CEO입니다. 1인 AI 기업의 사령관이자 오케스트레이터입니다.",
|
||
"imports": []
|
||
},
|
||
"src/features/company/prompts/ceo-report.md": {
|
||
"mtimeMs": 1778680831000,
|
||
"size": 1373,
|
||
"lines": 21,
|
||
"role": "당신은 {{COMPANY}}의 CEO입니다. 방금 팀이 작업을 끝냈습니다. 각 에이전트의 산출물을 읽고 사장님께 올릴 종합 보고서를 작성하세요.",
|
||
"imports": []
|
||
},
|
||
"src/features/company/sessionStore.ts": {
|
||
"mtimeMs": 1778680971000,
|
||
"size": 8727,
|
||
"lines": 231,
|
||
"role": "Disk persistence for company-mode session artefacts. Each company turn produces a timestamped directory: <workspaceRoot>/.astra/company/sessions/2026-05-13T21-29/ ├─ brief.md ← CEO's task decompositio",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/telegramReport.ts": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 8126,
|
||
"lines": 168,
|
||
"role": "Telegram mirror for the secretary agent (영숙). After every company turn finishes, this helper takes the CEO synthesis + task list and pushes it to the user's Telegram chat — same behaviour as Connector",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/integrations/telegram/telegramClient",
|
||
"src/integrations/telegram/conversationHistory",
|
||
"src/features/company/companyConfig",
|
||
"src/features/company/types"
|
||
]
|
||
},
|
||
"src/features/company/types.ts": {
|
||
"mtimeMs": 1778764725000,
|
||
"size": 14306,
|
||
"lines": 331,
|
||
"role": "Type definitions for the 1인 기업 (One-Person Company) mode. The mode turns the user into a virtual CEO that dispatches work to a roster of specialist agents. Each turn produces a session directory conta",
|
||
"imports": []
|
||
},
|
||
"src/features/projectArchitecture/index.ts": {
|
||
"mtimeMs": 1778691699000,
|
||
"size": 25373,
|
||
"lines": 573,
|
||
"role": "Project Architecture Context (Feature 2) Builds a markdown document that captures the durable facts about a project — its purpose, modules, key files, constraints, decisions — so Astra can attach it t",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/features/projectArchitecture/scanner",
|
||
"src/features/projectArchitecture/mermaid"
|
||
]
|
||
},
|
||
"src/features/projectArchitecture/intentDetector.ts": {
|
||
"mtimeMs": 1778676956000,
|
||
"size": 6170,
|
||
"lines": 148,
|
||
"role": "Project-intent detection from a chat message. Goal: when the user says \"나 ConnectAI 프로젝트 진행할 거야\" (or similar), spot the intent + project handle so the sidebar can activate Project Mode and auto-attach",
|
||
"imports": []
|
||
},
|
||
"src/features/projectArchitecture/mermaid.ts": {
|
||
"mtimeMs": 1778678215000,
|
||
"size": 2699,
|
||
"lines": 69,
|
||
"role": "Mermaid diagram renderers for the architecture doc. Two diagrams: a directory mindmap so the user can see the shape of the project at a glance, and a flowchart that shows which top-level module import",
|
||
"imports": [
|
||
"src/features/projectArchitecture/scanner"
|
||
]
|
||
},
|
||
"src/features/projectArchitecture/scanner.ts": {
|
||
"mtimeMs": 1778678939000,
|
||
"size": 28299,
|
||
"lines": 644,
|
||
"role": "Deep static analyser for the Project Architecture Context generator. Walks the project tree (skipping the usual nodemodules / out / dist noise), pulls the role of each interesting file from its leadin",
|
||
"imports": [
|
||
"src/features/projectArchitecture/y",
|
||
"src/features/projectArchitecture/side-effect",
|
||
"src/features/projectArchitecture/b"
|
||
]
|
||
},
|
||
"src/features/projectChronicle/guardPrompt.ts": {
|
||
"mtimeMs": 1777870211000,
|
||
"size": 6880,
|
||
"lines": 75,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/projectChronicle/types"
|
||
]
|
||
},
|
||
"src/features/projectChronicle/index.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 7490,
|
||
"lines": 189,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/projectChronicle/markdownFileWriter",
|
||
"src/features/projectChronicle/types",
|
||
"src/features/projectChronicle/templates",
|
||
"src/features/projectChronicle/guardPrompt"
|
||
]
|
||
},
|
||
"src/features/projectChronicle/markdownFileWriter.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1317,
|
||
"lines": 41,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/features/projectChronicle/templates.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 6699,
|
||
"lines": 258,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/projectChronicle/types"
|
||
]
|
||
},
|
||
"src/features/projectChronicle/types.ts": {
|
||
"mtimeMs": 1778676848000,
|
||
"size": 3129,
|
||
"lines": 118,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/features/secondBrainTrace.ts": {
|
||
"mtimeMs": 1778248166000,
|
||
"size": 37475,
|
||
"lines": 760,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/retrieval/scoring"
|
||
]
|
||
},
|
||
"src/features/settings/settingsPanelProvider.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 21422,
|
||
"lines": 489,
|
||
"role": "",
|
||
"imports": [
|
||
"src/integrations/telegram/telegramClient",
|
||
"src/integrations/telegram/telegramBot",
|
||
"src/utils",
|
||
"src/lib/discoverModels",
|
||
"src/lib/paths"
|
||
]
|
||
},
|
||
"src/integrations/telegram/conversationHistory.ts": {
|
||
"mtimeMs": 1778684811000,
|
||
"size": 6273,
|
||
"lines": 154,
|
||
"role": "Per-chat conversation history for the Telegram bot. Why this exists: the previous bot was stateless — every inbound message hit AIService.chat({system, user}) in isolation, with no memory of what the ",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/integrations/telegram/telegramBot.ts": {
|
||
"mtimeMs": 1778421270000,
|
||
"size": 11344,
|
||
"lines": 270,
|
||
"role": "",
|
||
"imports": [
|
||
"src/integrations/telegram/telegramClient",
|
||
"src/integrations/telegram/types",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/integrations/telegram/telegramClient.ts": {
|
||
"mtimeMs": 1778252333000,
|
||
"size": 5873,
|
||
"lines": 154,
|
||
"role": "",
|
||
"imports": [
|
||
"src/integrations/telegram/types",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/integrations/telegram/types.ts": {
|
||
"mtimeMs": 1778252305000,
|
||
"size": 1255,
|
||
"lines": 54,
|
||
"role": "Subset of the Telegram Bot API types we actually consume. Source: https://core.telegram.org/bots/api Only fields the bot reads or writes are typed — leaving the rest as unknown keeps the surface narro",
|
||
"imports": []
|
||
},
|
||
"src/lib/contextManager.ts": {
|
||
"mtimeMs": 1778597095000,
|
||
"size": 12982,
|
||
"lines": 275,
|
||
"role": "Context Manager (컨텍스트 한계 관리) \"context length = 132k\" 는 \"답변을 132k 토큰까지 생성해도 된다\" 가 아닙니다. 시스템 프롬프트 + 대화 기록 + 입력 문서 + 생성될 답변 + 여유분 ≤ context length 이 모듈은 요청을 보내기 전에 입력 토큰을 추정하고, - 동적으로 출력 상한(maxTokens)을 계",
|
||
"imports": []
|
||
},
|
||
"src/lib/diagnostics.ts": {
|
||
"mtimeMs": 1777978189000,
|
||
"size": 8389,
|
||
"lines": 210,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/lib/discoverModels.ts": {
|
||
"mtimeMs": 1778255896000,
|
||
"size": 1555,
|
||
"lines": 35,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/lib/engine.ts": {
|
||
"mtimeMs": 1778763448000,
|
||
"size": 42698,
|
||
"lines": 906,
|
||
"role": "",
|
||
"imports": [
|
||
"src/core/lock",
|
||
"src/core/queue",
|
||
"src/utils",
|
||
"src/lib/diagnostics",
|
||
"src/lib/formatter",
|
||
"src/types/interfaces",
|
||
"src/config",
|
||
"src/agents/reflectionPersister"
|
||
]
|
||
},
|
||
"src/lib/formatter.ts": {
|
||
"mtimeMs": 1777980992000,
|
||
"size": 3851,
|
||
"lines": 81,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lib/engine"
|
||
]
|
||
},
|
||
"src/lib/paths.ts": {
|
||
"mtimeMs": 1778591351000,
|
||
"size": 6416,
|
||
"lines": 151,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/lmstudio/activityTracker.ts": {
|
||
"mtimeMs": 1778246443000,
|
||
"size": 426,
|
||
"lines": 19,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/lmstudio/client.ts": {
|
||
"mtimeMs": 1778472808000,
|
||
"size": 5773,
|
||
"lines": 147,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/lmstudio/lifecycleManager.ts": {
|
||
"mtimeMs": 1778251087000,
|
||
"size": 10783,
|
||
"lines": 291,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lmstudio/client",
|
||
"src/lmstudio/activityTracker",
|
||
"src/utils",
|
||
"src/system/specs"
|
||
]
|
||
},
|
||
"src/lmstudio/streamer.ts": {
|
||
"mtimeMs": 1778598444000,
|
||
"size": 7762,
|
||
"lines": 162,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lmstudio/client",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/memory/EpisodicMemory.ts": {
|
||
"mtimeMs": 1777858161000,
|
||
"size": 9577,
|
||
"lines": 278,
|
||
"role": "Episodic Memory (일화 기억) 과거 대화/회의/결정의 맥락 흐름을 저장합니다. 세션 종료 시 자동으로 에피소드를 요약하여 저장합니다. \"왜 이렇게 결정했는지\", \"어떤 흐름으로 진행했는지\" 기록. 저장 위치: {brainPath}/memory/episodes/.json",
|
||
"imports": [
|
||
"src/memory/types"
|
||
]
|
||
},
|
||
"src/memory/LongTermMemory.ts": {
|
||
"mtimeMs": 1777858068000,
|
||
"size": 8364,
|
||
"lines": 243,
|
||
"role": "Long-Term Memory (장기 기억) 사용자의 취향, 프로젝트 목표, 반복 규칙, 과거 결정 사항을 영구적으로 저장하고 관리합니다. 저장 위치: {brainPath}/memory/longterm.json",
|
||
"imports": [
|
||
"src/memory/types"
|
||
]
|
||
},
|
||
"src/memory/MemoryExtractor.ts": {
|
||
"mtimeMs": 1777858183000,
|
||
"size": 3838,
|
||
"lines": 115,
|
||
"role": "Memory Extractor (기억 추출기) 대화 종료 시 히스토리를 분석하여 각 메모리 레이어에 저장할 정보를 자동으로 추출합니다. LLM 호출 없이 패턴 매칭 기반으로 동작합니다.",
|
||
"imports": [
|
||
"src/memory/LongTermMemory",
|
||
"src/memory/ProjectMemory",
|
||
"src/memory/EpisodicMemory"
|
||
]
|
||
},
|
||
"src/memory/ProceduralMemory.ts": {
|
||
"mtimeMs": 1777858120000,
|
||
"size": 5533,
|
||
"lines": 173,
|
||
"role": "Procedural Memory (절차 기억) 반복 작업의 절차와 패턴을 관리합니다. 기존 skill.md 시스템과 통합되어, Brain의 memory/procedures/ 아래의 MD 파일을 스캔하여 절차를 로드합니다. 저장 위치: {brainPath}/memory/procedures/.md",
|
||
"imports": [
|
||
"src/memory/types"
|
||
]
|
||
},
|
||
"src/memory/ProjectMemory.ts": {
|
||
"mtimeMs": 1777864677000,
|
||
"size": 6533,
|
||
"lines": 212,
|
||
"role": "Project Memory (프로젝트 기억) 프로젝트별 요구사항, 코드 구조, 아키텍처 결정, 버그 기록 등을 Astra 확장 프로그램 내부에 저장하고 관리합니다. 저장 위치: {ConnectAI}/.astra/projectmemory.json (기존: {projectRoot}/.astra/ → 변경됨)",
|
||
"imports": [
|
||
"src/memory/types",
|
||
"src/core/astraPath"
|
||
]
|
||
},
|
||
"src/memory/ShortTermMemory.ts": {
|
||
"mtimeMs": 1777858031000,
|
||
"size": 1167,
|
||
"lines": 37,
|
||
"role": "Short-Term Memory (단기 기억) 현재 대화의 즉시 맥락을 관리합니다. FIFO 방식으로 최근 N개 메시지를 유지합니다.",
|
||
"imports": [
|
||
"src/memory/types"
|
||
]
|
||
},
|
||
"src/memory/index.ts": {
|
||
"mtimeMs": 1777858214000,
|
||
"size": 6310,
|
||
"lines": 188,
|
||
"role": "MemoryManager — 5-Layer Cognitive Memory System (통합 진입점) Astra의 모든 메모리 레이어를 통합 관리하는 중앙 매니저입니다. ① Short-Term Memory — 현재 대화 흐름 (FIFO) ② Long-Term Memory — 사용자 취향/규칙/결정 ③ Project Memory — 프로젝트별 지식 ④ Pro",
|
||
"imports": [
|
||
"src/config",
|
||
"src/memory/ShortTermMemory",
|
||
"src/memory/LongTermMemory",
|
||
"src/memory/ProjectMemory",
|
||
"src/memory/ProceduralMemory",
|
||
"src/memory/EpisodicMemory",
|
||
"src/memory/MemoryExtractor",
|
||
"src/memory/types"
|
||
]
|
||
},
|
||
"src/memory/types.ts": {
|
||
"mtimeMs": 1777858019000,
|
||
"size": 3449,
|
||
"lines": 126,
|
||
"role": "Memory Type Definitions (메모리 타입 정의) Astra의 5-Layer Cognitive Memory System의 모든 타입을 정의합니다. ① Short-Term ② Long-Term ③ Project ④ Procedural ⑤ Episodic",
|
||
"imports": []
|
||
},
|
||
"src/retrieval/brainIndex.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 12945,
|
||
"lines": 325,
|
||
"role": "Brain Index — persistent, mtime-keyed tokenized cache of the Second Brain RAG 검색은 매 질의마다 브레인의 모든 .md 파일을 읽고 토크나이즈해서 TF-IDF 점수를 계산했습니다 — 파일 수가 많아지면 그게 병목입니다. 이 모듈은 <brainPath>/.astra/brain-index.json 에",
|
||
"imports": [
|
||
"src/retrieval/scoring",
|
||
"src/retrieval/lessonHelpers",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/retrieval/contextBudget.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 5143,
|
||
"lines": 140,
|
||
"role": "Context Budget Manager (컨텍스트 예산 관리) 시스템 프롬프트의 토큰 예산을 관리하여 로컬 모델의 context window를 효율적으로 활용합니다.",
|
||
"imports": [
|
||
"src/retrieval/types"
|
||
]
|
||
},
|
||
"src/retrieval/embeddings.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 7294,
|
||
"lines": 167,
|
||
"role": "Embeddings — local hybrid (sparse + dense) retrieval support TF-IDF is fast and zero-cost but misses synonyms / paraphrase. A small local embedding model (BGE-small, multilingual-e5-small, nomic-embed",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/retrieval/index.ts": {
|
||
"mtimeMs": 1778676255000,
|
||
"size": 23764,
|
||
"lines": 514,
|
||
"role": "RetrievalOrchestrator — Unified RAG Pipeline Astra의 모든 검색 소스를 통합 관리하는 오케스트레이터입니다. 검색 흐름: ① Query Planning — 의도 분류 + 검색 전략 결정 ② Parallel Search — Brain + Memory + Project + Episode 동시 검색 ③ Result Fusio",
|
||
"imports": [
|
||
"src/config",
|
||
"src/utils",
|
||
"src/lib/paths",
|
||
"src/memory",
|
||
"src/retrieval/types",
|
||
"src/retrieval/scoring",
|
||
"src/retrieval/contextBudget",
|
||
"src/retrieval/brainIndex",
|
||
"src/retrieval/lessonHelpers",
|
||
"src/retrieval/embeddings"
|
||
]
|
||
},
|
||
"src/retrieval/knowledgeMix.ts": {
|
||
"mtimeMs": 1778676121000,
|
||
"size": 6947,
|
||
"lines": 161,
|
||
"role": "Knowledge Mix — controls how much the assistant leans on Second Brain evidence vs. the model's own general knowledge for a given query. The single integer \"secondBrainWeight\" (0–100) drives three thin",
|
||
"imports": [
|
||
"src/config",
|
||
"src/skills/agentKnowledgeMap"
|
||
]
|
||
},
|
||
"src/retrieval/lessonHelpers.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 14134,
|
||
"lines": 325,
|
||
"role": "Lesson / Experience Memory — pure helpers (no vscode dependency) \"Lesson\" = a markdown file in the active brain that captures a past mistake/risk and how to avoid repeating it. Identified by a lessons",
|
||
"imports": [
|
||
"src/retrieval/scoring"
|
||
]
|
||
},
|
||
"src/retrieval/scoring.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 20793,
|
||
"lines": 518,
|
||
"role": "Scoring Engine — TF-IDF + Bilingual Tokenizer 단순 includes() 키워드 매칭을 넘어서, TF-IDF 가중치 기반의 문서 스코어링을 제공합니다. 한국어/영어 양국어 토크나이저를 포함합니다.",
|
||
"imports": []
|
||
},
|
||
"src/retrieval/types.ts": {
|
||
"mtimeMs": 1778674336000,
|
||
"size": 2424,
|
||
"lines": 66,
|
||
"role": "Retrieval Types (검색 결과 통합 타입) 모든 검색 소스(Brain, Memory, Project, Episode)의 결과를 통합 인터페이스로 정의합니다.",
|
||
"imports": []
|
||
},
|
||
"src/scaffolder/projectScaffolder.ts": {
|
||
"mtimeMs": 1778251854000,
|
||
"size": 4508,
|
||
"lines": 111,
|
||
"role": "",
|
||
"imports": [
|
||
"src/scaffolder/templates",
|
||
"src/lib/paths",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/scaffolder/templates.ts": {
|
||
"mtimeMs": 1778251830000,
|
||
"size": 4897,
|
||
"lines": 154,
|
||
"role": "Scaffolder template catalog. Templates are pure data — (projectName) => { [relativePath]: contents }. New templates are added by appending to TEMPLATES; the rest of the scaffolder (validation, IO, com",
|
||
"imports": []
|
||
},
|
||
"src/security.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 3310,
|
||
"lines": 90,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/sidebar/agentHandlers.ts": {
|
||
"mtimeMs": 1778676515000,
|
||
"size": 7752,
|
||
"lines": 169,
|
||
"role": "",
|
||
"imports": [
|
||
"src/sidebarProvider",
|
||
"src/utils",
|
||
"src/skills/agentKnowledgeMap"
|
||
]
|
||
},
|
||
"src/sidebar/brainHandlers.ts": {
|
||
"mtimeMs": 1778248976000,
|
||
"size": 1080,
|
||
"lines": 33,
|
||
"role": "",
|
||
"imports": [
|
||
"src/sidebarProvider"
|
||
]
|
||
},
|
||
"src/sidebar/chatHandlers.ts": {
|
||
"mtimeMs": 1778764814000,
|
||
"size": 22151,
|
||
"lines": 428,
|
||
"role": "",
|
||
"imports": [
|
||
"src/sidebarProvider",
|
||
"src/utils",
|
||
"src/lib/paths",
|
||
"src/features/company"
|
||
]
|
||
},
|
||
"src/sidebar/chronicleHandlers.ts": {
|
||
"mtimeMs": 1778248986000,
|
||
"size": 2068,
|
||
"lines": 52,
|
||
"role": "",
|
||
"imports": [
|
||
"src/sidebarProvider"
|
||
]
|
||
},
|
||
"src/sidebarProvider.ts": {
|
||
"mtimeMs": 1778764853000,
|
||
"size": 141684,
|
||
"lines": 3232,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/config",
|
||
"src/agent",
|
||
"src/bridge",
|
||
"src/features/projectChronicle",
|
||
"src/lmstudio/lifecycleManager",
|
||
"src/lmstudio/activityTracker",
|
||
"src/sidebar/chatHandlers",
|
||
"src/sidebar/brainHandlers",
|
||
"src/sidebar/chronicleHandlers",
|
||
"src/sidebar/agentHandlers",
|
||
"src/skills/agentKnowledgeMap",
|
||
"src/lib/contextManager",
|
||
"src/skills/externalSkillLoader",
|
||
"src/features/projectArchitecture",
|
||
"src/features/projectArchitecture/intentDetector",
|
||
"src/features/company",
|
||
"src/core/services",
|
||
"src/features/company/dispatcher"
|
||
]
|
||
},
|
||
"src/skills/agentKnowledgeMap.ts": {
|
||
"mtimeMs": 1778676092000,
|
||
"size": 15707,
|
||
"lines": 374,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lib/paths",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/skills/externalSkillLoader.ts": {
|
||
"mtimeMs": 1778470672000,
|
||
"size": 5859,
|
||
"lines": 159,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lib/paths",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/skills/scopedBrainRetriever.ts": {
|
||
"mtimeMs": 1778419289000,
|
||
"size": 5706,
|
||
"lines": 153,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils",
|
||
"src/lib/paths",
|
||
"src/retrieval/scoring",
|
||
"src/retrieval/contextBudget"
|
||
]
|
||
},
|
||
"src/skills/skillInjectionService.ts": {
|
||
"mtimeMs": 1778681774000,
|
||
"size": 6276,
|
||
"lines": 145,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lib/paths",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"src/system/specs.ts": {
|
||
"mtimeMs": 1778251036000,
|
||
"size": 4326,
|
||
"lines": 118,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"src/types/interfaces.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 1260,
|
||
"lines": 39,
|
||
"role": "Service Interfaces (서비스 인터페이스 정의) 각 서비스(Agent, Brain, FileSystem 등)의 추상화 인터페이스를 정의합니다. 의존성 주입(DI)과 단위 테스트를 위해 필수적입니다.",
|
||
"imports": []
|
||
},
|
||
"src/utils.ts": {
|
||
"mtimeMs": 1778675047000,
|
||
"size": 11450,
|
||
"lines": 268,
|
||
"role": "",
|
||
"imports": [
|
||
"src/config"
|
||
]
|
||
},
|
||
"media/settings-panel.css": {
|
||
"mtimeMs": 1778255405000,
|
||
"size": 4546,
|
||
"lines": 210,
|
||
"role": "Stylesheet",
|
||
"imports": []
|
||
},
|
||
"media/settings-panel.html": {
|
||
"mtimeMs": 1778763966000,
|
||
"size": 7678,
|
||
"lines": 164,
|
||
"role": "Astra Settings",
|
||
"imports": []
|
||
},
|
||
"media/settings-panel.js": {
|
||
"mtimeMs": 1778256014000,
|
||
"size": 11176,
|
||
"lines": 270,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"media/sidebar.css": {
|
||
"mtimeMs": 1778765317000,
|
||
"size": 62558,
|
||
"lines": 1511,
|
||
"role": "Stylesheet",
|
||
"imports": []
|
||
},
|
||
"media/sidebar.html": {
|
||
"mtimeMs": 1778765185000,
|
||
"size": 28137,
|
||
"lines": 450,
|
||
"role": "Astra",
|
||
"imports": []
|
||
},
|
||
"media/sidebar.js": {
|
||
"mtimeMs": 1778765299000,
|
||
"size": 167258,
|
||
"lines": 2930,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"tests/agentEngine.test.ts": {
|
||
"mtimeMs": 1778690770000,
|
||
"size": 33921,
|
||
"lines": 782,
|
||
"role": "AgentEngine Integration Tests & Performance Benchmarks 검증 대상: 1. ErrorClassifier — 오류 유형(Transient/Permanent/Abort) 자동 분류 2. ErrorRecoveryMatrix — 각 규칙이 의도한 대응 전략으로 매핑되는지 검증 3. resilientExecute — 지수 백",
|
||
"imports": [
|
||
"src/lib/engine"
|
||
]
|
||
},
|
||
"tests/approvalQueue.test.ts": {
|
||
"mtimeMs": 1778251690000,
|
||
"size": 5915,
|
||
"lines": 164,
|
||
"role": "Unit tests for ApprovalQueue. Strategy: drive enqueue → approve / reject / clear / pre-empt directly, confirm the onChange event fires at the right moments and callbacks fire exactly once.",
|
||
"imports": [
|
||
"src/features/approval/approvalQueue"
|
||
]
|
||
},
|
||
"tests/brainIndex.test.ts": {
|
||
"mtimeMs": 1778594450000,
|
||
"size": 5406,
|
||
"lines": 107,
|
||
"role": "",
|
||
"imports": [
|
||
"src/retrieval/brainIndex"
|
||
]
|
||
},
|
||
"tests/contextManager.test.ts": {
|
||
"mtimeMs": 1778594523000,
|
||
"size": 6545,
|
||
"lines": 129,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lib/contextManager"
|
||
]
|
||
},
|
||
"tests/dataProcessor.test.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 3430,
|
||
"lines": 87,
|
||
"role": "/ <reference types=\"jest\" />",
|
||
"imports": [
|
||
"src/core/dataProcessor"
|
||
]
|
||
},
|
||
"tests/findBrainFilesCache.test.ts": {
|
||
"mtimeMs": 1778247665000,
|
||
"size": 2720,
|
||
"lines": 80,
|
||
"role": "Unit tests for findBrainFiles TTL cache.",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"tests/integration_retrieval.test.ts": {
|
||
"mtimeMs": 1777949141000,
|
||
"size": 4017,
|
||
"lines": 91,
|
||
"role": "",
|
||
"imports": [
|
||
"src/retrieval",
|
||
"src/utils"
|
||
]
|
||
},
|
||
"tests/lessonHelpers.test.ts": {
|
||
"mtimeMs": 1778595482000,
|
||
"size": 9400,
|
||
"lines": 191,
|
||
"role": "",
|
||
"imports": [
|
||
"src/retrieval/lessonHelpers"
|
||
]
|
||
},
|
||
"tests/lmStudioLifecycle.test.ts": {
|
||
"mtimeMs": 1778250254000,
|
||
"size": 11385,
|
||
"lines": 318,
|
||
"role": "Unit tests for ModelLifecycleManager. Strategy: inject mock ILMStudioClient and a simple in-memory IActivityTracker. No real LM Studio or SDK is touched — the manager file does not import the SDK dire",
|
||
"imports": [
|
||
"src/lmstudio/lifecycleManager",
|
||
"src/lmstudio/client",
|
||
"src/lmstudio/activityTracker"
|
||
]
|
||
},
|
||
"tests/lmStudioStreamer.test.ts": {
|
||
"mtimeMs": 1778591604000,
|
||
"size": 8660,
|
||
"lines": 220,
|
||
"role": "Unit tests for LMStudioStreamer. Strategy: inject a fake ILMStudioClient that returns a fake model handle whose respond() yields a controllable async iterable. No real SDK or WebSocket touched.",
|
||
"imports": [
|
||
"src/lmstudio/streamer",
|
||
"src/lmstudio/client"
|
||
]
|
||
},
|
||
"tests/localPathPreflight.test.ts": {
|
||
"mtimeMs": 1778595955000,
|
||
"size": 23687,
|
||
"lines": 490,
|
||
"role": "",
|
||
"imports": [
|
||
"src/agent"
|
||
]
|
||
},
|
||
"tests/mocks/vscode.js": {
|
||
"mtimeMs": 1778246810000,
|
||
"size": 1670,
|
||
"lines": 68,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"tests/paths.test.ts": {
|
||
"mtimeMs": 1778250990000,
|
||
"size": 2590,
|
||
"lines": 84,
|
||
"role": "Unit tests for the centralized path resolver.",
|
||
"imports": [
|
||
"src/lib/paths"
|
||
]
|
||
},
|
||
"tests/projectChronicle.test.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 8359,
|
||
"lines": 199,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/projectChronicle"
|
||
]
|
||
},
|
||
"tests/projectChronicleGuardPrompt.test.ts": {
|
||
"mtimeMs": 1777808369000,
|
||
"size": 2838,
|
||
"lines": 52,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/projectChronicle"
|
||
]
|
||
},
|
||
"tests/projectScaffolder.test.ts": {
|
||
"mtimeMs": 1778251915000,
|
||
"size": 5800,
|
||
"lines": 135,
|
||
"role": "Unit tests for FileSystemProjectScaffolder. Drives against a real temp directory so end-to-end file IO + path-traversal defenses are exercised.",
|
||
"imports": [
|
||
"src/scaffolder/projectScaffolder"
|
||
]
|
||
},
|
||
"tests/resilience_stress.test.ts": {
|
||
"mtimeMs": 1777968922000,
|
||
"size": 6981,
|
||
"lines": 183,
|
||
"role": "Resilience & Boundary Stress Test Suite (v2.77.3) 이 테스트는 ConnectAI 엔진이 극한의 환경(인증 실패, 네트워크 차단, 타임아웃 등)에서 얼마나 안정적으로 복구되고, 신뢰성 지표(Resilience Metrics)를 정확히 기록하는지 검증합니다.",
|
||
"imports": [
|
||
"src/lib/engine"
|
||
]
|
||
},
|
||
"tests/resilience_v4.test.ts": {
|
||
"mtimeMs": 1777978211000,
|
||
"size": 3435,
|
||
"lines": 84,
|
||
"role": "",
|
||
"imports": [
|
||
"src/lib/engine",
|
||
"src/lib/diagnostics"
|
||
]
|
||
},
|
||
"tests/responseRecovery.test.ts": {
|
||
"mtimeMs": 1778598707000,
|
||
"size": 8782,
|
||
"lines": 151,
|
||
"role": "",
|
||
"imports": [
|
||
"src/core/responseRecovery"
|
||
]
|
||
},
|
||
"tests/scoring.test.ts": {
|
||
"mtimeMs": 1778169995000,
|
||
"size": 6055,
|
||
"lines": 134,
|
||
"role": "",
|
||
"imports": [
|
||
"src/retrieval/scoring"
|
||
]
|
||
},
|
||
"tests/secondBrainTrace.test.ts": {
|
||
"mtimeMs": 1777866065000,
|
||
"size": 23024,
|
||
"lines": 407,
|
||
"role": "",
|
||
"imports": [
|
||
"src/features/secondBrainTrace"
|
||
]
|
||
},
|
||
"tests/skillInjectionService.test.ts": {
|
||
"mtimeMs": 1778681774000,
|
||
"size": 6741,
|
||
"lines": 172,
|
||
"role": "Unit tests for FileSystemSkillInjectionService. Strategy: drive the service against a real temp directory so path-traversal defenses and writeFileSync paths are exercised end-to-end. The service accep",
|
||
"imports": [
|
||
"src/skills/skillInjectionService"
|
||
]
|
||
},
|
||
"tests/systemPrompt.test.ts": {
|
||
"mtimeMs": 1777966465000,
|
||
"size": 1215,
|
||
"lines": 29,
|
||
"role": "",
|
||
"imports": [
|
||
"src/utils"
|
||
]
|
||
},
|
||
"tests/systemSpecs.test.ts": {
|
||
"mtimeMs": 1778251130000,
|
||
"size": 3464,
|
||
"lines": 90,
|
||
"role": "Unit tests for SystemSpecs + HeuristicModelMemoryEstimator. Strategy: - HeuristicModelMemoryEstimator is pure — directly drive it with model ids. - NodeSystemSpecsProvider depends on os. so we test: a",
|
||
"imports": [
|
||
"src/system/specs"
|
||
]
|
||
},
|
||
"tests/telegramBot.test.ts": {
|
||
"mtimeMs": 1778253785000,
|
||
"size": 13012,
|
||
"lines": 363,
|
||
"role": "Unit tests for TelegramBot + truncateForTelegram. Strategy: - TelegramBot is driven by an injected ITelegramClient stub. We script getUpdates to return queued batches and assert that: - the offset cur",
|
||
"imports": [
|
||
"src/integrations/telegram/telegramBot",
|
||
"src/integrations/telegram/telegramClient",
|
||
"src/integrations/telegram/types"
|
||
]
|
||
},
|
||
"tests/transaction.test.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2064,
|
||
"lines": 68,
|
||
"role": "/ <reference types=\"jest\" />",
|
||
"imports": [
|
||
"src/core/transaction"
|
||
]
|
||
},
|
||
"tests/vulnerability.test.ts": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2100,
|
||
"lines": 60,
|
||
"role": "/ <reference types=\"jest\" />",
|
||
"imports": [
|
||
"src/core/lock",
|
||
"src/core/transaction"
|
||
]
|
||
},
|
||
"core_py/events.py": {
|
||
"mtimeMs": 1777559069000,
|
||
"size": 2374,
|
||
"lines": 64,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"core_py/inference.py": {
|
||
"mtimeMs": 1777559249000,
|
||
"size": 3834,
|
||
"lines": 91,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"core_py/loader.py": {
|
||
"mtimeMs": 1777559060000,
|
||
"size": 2368,
|
||
"lines": 61,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"core_py/monitoring.py": {
|
||
"mtimeMs": 1777559685000,
|
||
"size": 2060,
|
||
"lines": 56,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"core_py/optimizer.py": {
|
||
"mtimeMs": 1777559265000,
|
||
"size": 2327,
|
||
"lines": 55,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"core_py/queue_worker.py": {
|
||
"mtimeMs": 1777559676000,
|
||
"size": 2987,
|
||
"lines": 82,
|
||
"role": "",
|
||
"imports": []
|
||
},
|
||
"docs/Advanced_Features_Implementation_Guide.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1804,
|
||
"lines": 40,
|
||
"role": "Advanced Features Implementation Guide",
|
||
"imports": []
|
||
},
|
||
"docs/AgentEngine_Architecture.md": {
|
||
"mtimeMs": 1777863061000,
|
||
"size": 14338,
|
||
"lines": 314,
|
||
"role": "AgentEngine Architecture Document",
|
||
"imports": []
|
||
},
|
||
"docs/EXPERIENCE_MEMORY_PLAN.md": {
|
||
"mtimeMs": 1778595595000,
|
||
"size": 9390,
|
||
"lines": 122,
|
||
"role": "Experience Memory (Mistake / Lesson Loop) — Implementation Plan",
|
||
"imports": []
|
||
},
|
||
"docs/PROJECT_CHRONICLE_GUARD_ROADMAP.md": {
|
||
"mtimeMs": 1777948230000,
|
||
"size": 1634,
|
||
"lines": 43,
|
||
"role": "Project Chronicle Guard: Search Engine Roadmap",
|
||
"imports": []
|
||
},
|
||
"docs/TELEGRAM_REMOTE_EXECUTION_PLAN.md": {
|
||
"mtimeMs": 1778592247000,
|
||
"size": 12254,
|
||
"lines": 452,
|
||
"role": "Telegram Remote Execution 기획서",
|
||
"imports": []
|
||
},
|
||
"docs/UX_UI_Consistency_Guidelines.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2509,
|
||
"lines": 44,
|
||
"role": "UX/UI Consistency Guidelines",
|
||
"imports": []
|
||
},
|
||
"docs/docs/records/docs/README.md": {
|
||
"mtimeMs": 1777949758000,
|
||
"size": 427,
|
||
"lines": 18,
|
||
"role": "docs Chronicle Records",
|
||
"imports": []
|
||
},
|
||
"docs/docs/records/docs/bugs/BUG-0001-viewed-integration-retrieval-test-ts-1-59-integration-retrie.md": {
|
||
"mtimeMs": 1777949758000,
|
||
"size": 2059,
|
||
"lines": 16,
|
||
"role": "Bug: Viewed integrationretrieval.test.ts:1-59 integrationretrieval.test.ts를 통해 ...",
|
||
"imports": []
|
||
},
|
||
"docs/docs/records/docs/chronicle.config.json": {
|
||
"mtimeMs": 1777949758000,
|
||
"size": 522,
|
||
"lines": 11,
|
||
"role": "JSON configuration",
|
||
"imports": []
|
||
},
|
||
"docs/docs/records/docs/project-profile.md": {
|
||
"mtimeMs": 1777949758000,
|
||
"size": 586,
|
||
"lines": 31,
|
||
"role": "Project Profile",
|
||
"imports": []
|
||
},
|
||
"docs/docs/records/docs/timeline.md": {
|
||
"mtimeMs": 1777949758000,
|
||
"size": 210,
|
||
"lines": 7,
|
||
"role": "Project Timeline",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/README.md": {
|
||
"mtimeMs": 1777808202000,
|
||
"size": 598,
|
||
"lines": 18,
|
||
"role": "Astra Project Chronicle Records",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0001-volumes-data-project-antigravity-connectai-프로젝트-코드-리뷰-해줄-수-있.md": {
|
||
"mtimeMs": 1777865266000,
|
||
"size": 1408,
|
||
"lines": 16,
|
||
"role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 프로젝트 코드 리뷰 해줄 수 있어? 개선할 부분이 있는지, 그러고...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0002-지금-내가-분석-요청하고-너가-답을-줄때-아래-템플릿에-맞춰-답을-써주고-있는데-개선-포인트가-있는지-확인해.md": {
|
||
"mtimeMs": 1777889979000,
|
||
"size": 2559,
|
||
"lines": 16,
|
||
"role": "Bug: 지금 내가 분석 요청하고 너가 답을 줄때 아래 템플릿에 맞춰 답을 써주고 있는데, 개선 포인트가 있는지 확인해줘. ## 내가 보는 위험 가장 큰...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0003-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": {
|
||
"mtimeMs": 1777962835000,
|
||
"size": 1891,
|
||
"lines": 16,
|
||
"role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0004-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": {
|
||
"mtimeMs": 1777964236000,
|
||
"size": 1883,
|
||
"lines": 16,
|
||
"role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0005-다시한번-답줘-volumes-data-project-antigravity-connectai-내-질문에-대한-.md": {
|
||
"mtimeMs": 1777965245000,
|
||
"size": 1868,
|
||
"lines": 16,
|
||
"role": "Bug: 다시한번 답줘. /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0006-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": {
|
||
"mtimeMs": 1777965308000,
|
||
"size": 1623,
|
||
"lines": 16,
|
||
"role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0007-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": {
|
||
"mtimeMs": 1777965612000,
|
||
"size": 1823,
|
||
"lines": 16,
|
||
"role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0008-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": {
|
||
"mtimeMs": 1777966704000,
|
||
"size": 1737,
|
||
"lines": 16,
|
||
"role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0009-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md": {
|
||
"mtimeMs": 1777977740000,
|
||
"size": 2295,
|
||
"lines": 16,
|
||
"role": "Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0010-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md": {
|
||
"mtimeMs": 1777981089000,
|
||
"size": 2339,
|
||
"lines": 16,
|
||
"role": "Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0011-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md": {
|
||
"mtimeMs": 1777982331000,
|
||
"size": 2277,
|
||
"lines": 16,
|
||
"role": "Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0012-질문이-있어-논문을-쓰려고해-논문-주제는-서비스적이-아닌-사용자가-ai에게-구조로-질문을-해야-사용자의-의도.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 2354,
|
||
"lines": 16,
|
||
"role": "Bug: 질문이 있어. 논문을 쓰려고해. 논문 주제는 서비스적이 아닌 사용자가 ai에게 구조로 질문을 해야 사용자의 의도에 맞는 답변을 받을 수 있을까야...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0013-thesis-paper를-쓰려고-하는데-아래와-같이-쓰면-좋을까-이런-식으로-쓰면-되지-않을까-싶음-1-in.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 2527,
|
||
"lines": 16,
|
||
"role": "Bug: Thesis paper를 쓰려고 하는데 아래와 같이 쓰면 좋을까? 이런 식으로 쓰면 되지 않을까 싶음 1. Introduction Thesis ...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/bugs/BUG-0014-논문-outline-title-인간-ai-상호작용에서-의도-정렬을-높이기-위한-최소-질의-구조-연구-또는-사.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 2531,
|
||
"lines": 16,
|
||
"role": "Bug: 논문 Outline Title 인간-AI 상호작용에서 의도 정렬을 높이기 위한 최소 질의 구조 연구 또는 사용자의 인지적 편향을 보완하는 구조화...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/chronicle.config.json": {
|
||
"mtimeMs": 1778765173000,
|
||
"size": 416,
|
||
"lines": 11,
|
||
"role": "JSON configuration",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0001-volumes-data-project-antigravity-connectai-이-프로젝트를-지금-개발-중에-.md": {
|
||
"mtimeMs": 1777860282000,
|
||
"size": 1444,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트를 지금 개발 중에 있어. 코드 리뷰를 하고 잘된점과 ...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0002-지금-너의-제2뇌-지식을-이용해서-아래-프로젝트-평가하고-앞으로-어느부분을-더-집중해서-개선을-하면-좋을지-.md": {
|
||
"mtimeMs": 1777869330000,
|
||
"size": 1878,
|
||
"lines": 19,
|
||
"role": "ADR: 지금 너의 제2뇌 지식을 이용해서 아래 프로젝트 평가하고 앞으로 어느부분을 더 집중해서 개선을 하면 좋을지 알려주면 좋겠어. /Volumes/D...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0003-volumes-data-project-antigravity-connectai-이-프로젝트-자체를-나는-자비스.md": {
|
||
"mtimeMs": 1777877376000,
|
||
"size": 1786,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 자체를 나는 자비스와 같은 툴로 만드는 것이 내 목표...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0004-volumes-data-project-antigravity-connectai-이-프로젝트-자체를-나는-자비스.md": {
|
||
"mtimeMs": 1777878318000,
|
||
"size": 1472,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 자체를 나는 자비스와 같은 툴로 만드는 것이 내 목표...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0005-volumes-data-project-antigravity-connectai-이-프로젝트-아키텍처-분석해줘.md": {
|
||
"mtimeMs": 1777889802000,
|
||
"size": 1512,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 아키텍처 분석해줘.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0006-volumes-data-project-antigravity-connectai-프로젝트에-대해서-너가-사용자-.md": {
|
||
"mtimeMs": 1777902312000,
|
||
"size": 1604,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 프로젝트에 대해서 너가 사용자 입장에서 평가 해주면 좋겠어.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0007-volumes-data-project-antigravity-connectai-이거에-기능-개선을-하고-싶어-.md": {
|
||
"mtimeMs": 1778398958000,
|
||
"size": 1925,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이거에 기능 개선을 하고 싶어. 너가 기획과 방향성을 정해주면 좋...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0008-volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이.md": {
|
||
"mtimeMs": 1778600479000,
|
||
"size": 1606,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0009-이-프로젝트의-구조에-대해서-설명해봐.md": {
|
||
"mtimeMs": 1778678639000,
|
||
"size": 1507,
|
||
"lines": 19,
|
||
"role": "ADR: 이 프로젝트의 구조에 대해서 설명해봐.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0010-volumes-data-project-antigravity-connectai-self-reflection-기.md": {
|
||
"mtimeMs": 1778689955000,
|
||
"size": 1468,
|
||
"lines": 19,
|
||
"role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI self reflection 기능이 적용되었는지 확인해줘. 1인 ...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0011-e-wiki-connectai-self-reflection-기능이-있는데-어떻게-self-reflection.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 1604,
|
||
"lines": 19,
|
||
"role": "ADR: E:\\Wiki\\connectai self reflection 기능이 있는데 어떻게 SELF REFLECTION이 반영되는지 분석해줘.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/decisions/ADR-0012-e-wiki-connectai-self-reflection-기능이-있는데-어떻게-self-reflection.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 1448,
|
||
"lines": 19,
|
||
"role": "ADR: E:\\Wiki\\connectai self reflection 기능이 있는데 어떻게 SELF REFLECTION이 반영되는지 분석해줘.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_answer-format-readability-tuning.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1534,
|
||
"lines": 30,
|
||
"role": "Development Log: Answer Format Readability Tuning",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_connectai_project_knowledge_overview.md": {
|
||
"mtimeMs": 1777808211000,
|
||
"size": 4540,
|
||
"lines": 121,
|
||
"role": "Astra Project Knowledge Overview",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_local-path-code-review-preflight.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1855,
|
||
"lines": 35,
|
||
"role": "Development Log: Local Path Code Review Preflight",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_no-evidence-no-project-claim.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1528,
|
||
"lines": 35,
|
||
"role": "Development Log: No Evidence, No Project Claim",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_progressive-answer-format.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1194,
|
||
"lines": 29,
|
||
"role": "Development Log: Progressive Answer Format",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_project-claim-output-brake.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1489,
|
||
"lines": 35,
|
||
"role": "Development Log: Project Claim Output Brake",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_project-claim-policy-enforcement.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1516,
|
||
"lines": 35,
|
||
"role": "Development Log: Project Claim Policy Enforcement",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_query-intent-search-tuning.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1911,
|
||
"lines": 35,
|
||
"role": "Development Log: Query Intent Search Tuning",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_remove-local-template-replies.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1049,
|
||
"lines": 25,
|
||
"role": "Development Log: Remove Local Template Replies",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-02_second-brain-trace-quality-tuning.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1441,
|
||
"lines": 26,
|
||
"role": "Development Log: Second Brain Trace Quality Tuning",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-03_connectai_project_knowledge_overview.md": {
|
||
"mtimeMs": 1777808211000,
|
||
"size": 4666,
|
||
"lines": 121,
|
||
"role": "Astra Project Knowledge Overview",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-05_volumes-data-project-antigravity-connectai-오늘-많은-것을-업데이트했어-많_implementation.md": {
|
||
"mtimeMs": 1777986879000,
|
||
"size": 1836,
|
||
"lines": 22,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 오늘 많은 것을 업데이트했어. 많이 고친것 같지만 그럼에도 불구하...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-05_volumes-data-project-antigravity-connectai-이-프로젝트-분석해줘-volum_implementation.md": {
|
||
"mtimeMs": 1777967233000,
|
||
"size": 1747,
|
||
"lines": 23,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 분석해줘./Volumes/Data/project/An...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-05_volumes-data-project-antigravity-connectai-이-프로젝트-분석해줘_implementation.md": {
|
||
"mtimeMs": 1777966822000,
|
||
"size": 1727,
|
||
"lines": 22,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 분석해줘.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation-2.md": {
|
||
"mtimeMs": 1778598784000,
|
||
"size": 1575,
|
||
"lines": 22,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation-3.md": {
|
||
"mtimeMs": 1778599019000,
|
||
"size": 1641,
|
||
"lines": 22,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation-4.md": {
|
||
"mtimeMs": 1778600781000,
|
||
"size": 1715,
|
||
"lines": 24,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation.md": {
|
||
"mtimeMs": 1778598509000,
|
||
"size": 684,
|
||
"lines": 22,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업할거야_implementation.md": {
|
||
"mtimeMs": 1778691256000,
|
||
"size": 990,
|
||
"lines": 22,
|
||
"role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 작업할거야",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-13_너는-분석-요청하거나-내가-작업-요청을-할때-connectai-architecture-md-문서를-참고하고-_implementation.md": {
|
||
"mtimeMs": 1778678912000,
|
||
"size": 1738,
|
||
"lines": 22,
|
||
"role": "Development Log: 너는 분석 요청하거나 내가 작업 요청을 할때 connectai architecture.md 문서를 참고하고 작업을 하나?",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/development/2026-05-14_reflector-에이전트가-1인-기업-에이전트-목록에는-안보이는데_implementation.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 1519,
|
||
"lines": 24,
|
||
"role": "Development Log: REFLECTOR 에이전트가 1인 기업 에이전트 목록에는 안보이는데",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업-할-거야.md": {
|
||
"mtimeMs": 1778690673000,
|
||
"size": 652,
|
||
"lines": 16,
|
||
"role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 작업 할 거야.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업할거야.md": {
|
||
"mtimeMs": 1778680095000,
|
||
"size": 651,
|
||
"lines": 16,
|
||
"role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 작업할거야",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-하위-폴더-포함해서.md": {
|
||
"mtimeMs": 1778689036000,
|
||
"size": 720,
|
||
"lines": 16,
|
||
"role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 하위 폴더 포함해서 딥 리서치 해줘. 최적화 할 부분...",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트를-작업할거야.md": {
|
||
"mtimeMs": 1778677791000,
|
||
"size": 719,
|
||
"lines": 16,
|
||
"role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트를 작업할거야.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/discussions/2026-05-14_최성연-알아-칼리버스에서-근무한데.md": {
|
||
"mtimeMs": 1778762677000,
|
||
"size": 1297,
|
||
"lines": 16,
|
||
"role": "Discussion: 최성연 알아? 칼리버스에서 근무한데",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/planning/2026-05-02_project-chronicle-guard.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 2946,
|
||
"lines": 58,
|
||
"role": "Feature Plan: Project Chronicle Guard",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/planning/2026-05-02_second-brain-trace-mode.md": {
|
||
"mtimeMs": 1777808065000,
|
||
"size": 1467,
|
||
"lines": 36,
|
||
"role": "Feature Plan: Second Brain Trace Mode",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/planning/2026-05-13_connectai-architecture-문서-최신화-해줘.md": {
|
||
"mtimeMs": 1778693933000,
|
||
"size": 1340,
|
||
"lines": 40,
|
||
"role": "Feature Plan: Connectai architecture 문서 최신화 해줘.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/planning/2026-05-13_상세하게-아키텍처-기준으로-설명해줘.md": {
|
||
"mtimeMs": 1778678870000,
|
||
"size": 1220,
|
||
"lines": 40,
|
||
"role": "Feature Plan: 상세하게 아키텍처 기준으로 설명해줘.",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/planning/2026-05-13_지금-connectai-architecture-md-문서-내용-중-업데이트가-필요한-부분이-있는지-확인해줘-.md": {
|
||
"mtimeMs": 1778694061000,
|
||
"size": 2970,
|
||
"lines": 40,
|
||
"role": "Feature Plan: 지금 connectai architecture.md 문서 내용 중 업데이트가 필요한 부분이 있는지 확인해줘. 그러고 최신화해줘. 너가 분석해",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/project-profile.md": {
|
||
"mtimeMs": 1777808208000,
|
||
"size": 957,
|
||
"lines": 30,
|
||
"role": "Project Profile",
|
||
"imports": []
|
||
},
|
||
"docs/records/ConnectAI/timeline.md": {
|
||
"mtimeMs": 1778763539000,
|
||
"size": 8783,
|
||
"lines": 134,
|
||
"role": "Project Timeline",
|
||
"imports": []
|
||
},
|
||
"docs/refactoring_roadmap.md": {
|
||
"mtimeMs": 1778171332000,
|
||
"size": 3123,
|
||
"lines": 53,
|
||
"role": "🛠️ ConnectAI 아키텍처 리팩토링 로드맵",
|
||
"imports": []
|
||
}
|
||
}
|
||
} |