v2.2.17: Google Service Control & Astra Office Flow Layer
This commit is contained in:
@@ -3,15 +3,15 @@
|
||||
<!-- ASTRA:AUTO-START -->
|
||||
|
||||
## Snapshot
|
||||
- **Workspace**: `ConnectAI` `v2.2.15` _(absolute path varies by environment; resolved from the active VS Code workspace)_
|
||||
- **Workspace**: `ConnectAI` `v2.2.16` _(absolute path varies by environment; resolved from the active VS Code workspace)_
|
||||
- **Description**: The personal intelligence layer for Antigravity and VS Code. A private cognitive partner for deep project context, memory, and proactive strategic decision-making.
|
||||
- **Stack**: TypeScript, Node.js, VS Code Extension, LM Studio SDK, Test runner
|
||||
- **Stats**: 250 source files, ~50,558 lines across 5 top-level modules.
|
||||
- **Stats**: 250 source files, ~50,659 lines across 5 top-level modules.
|
||||
|
||||
## Last Refresh
|
||||
- **Time**: 2026-05-16T13:16:41.338Z
|
||||
- **Files newly analysed**: 3
|
||||
- **Files reused from cache**: 247
|
||||
- **Time**: 2026-05-16T13:21:15.124Z
|
||||
- **Files newly analysed**: 5
|
||||
- **Files reused from cache**: 245
|
||||
|
||||
## Directory Map
|
||||
```mermaid
|
||||
@@ -64,7 +64,7 @@ flowchart LR
|
||||
|
||||
## Modules
|
||||
|
||||
### `src/` — 127 files, ~34,341 lines
|
||||
### `src/` — 127 files, ~34,442 lines
|
||||
|
||||
**Sub-directories**
|
||||
- `src/features/` (54) — Astra Office — public API. 다음 세션에서 추가될 OfficeSnapshot presenter / schema 도 같은 entry 로 노출 예정. 현재 노출: full webview panel H
|
||||
@@ -87,7 +87,7 @@ flowchart LR
|
||||
- `src/core/services.ts` (164 lines)
|
||||
- `src/lib/paths.ts` (151 lines)
|
||||
- `src/features/company/companyConfig.ts` (896 lines) — 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
|
||||
- `src/sidebarProvider.ts` (4141 lines)
|
||||
- `src/sidebarProvider.ts` (4149 lines)
|
||||
- `src/memory/types.ts` (126 lines) — Memory Type Definitions (메모리 타입 정의) Astra의 5-Layer Cognitive Memory System의 모든 타입을 정의합니다. ① Short-Term ② Long-Term ③ Project ④ Procedural ⑤ Episodic
|
||||
- `src/retrieval/scoring.ts` (518 lines) — Scoring Engine — TF-IDF + Bilingual Tokenizer 단순 includes() 키워드 매칭을 넘어서, TF-IDF 가중치 기반의 문서 스코어링을 제공합니다. 한국어/영어 양국어 토크나이저를 포함합니다.
|
||||
- `src/skills/agentKnowledgeMap.ts` (374 lines)
|
||||
@@ -103,7 +103,7 @@ flowchart LR
|
||||
- `src/features/company/sessionStore.ts` (231 lines) — 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
|
||||
- `src/features/projectArchitecture/scanner.ts` (644 lines) — 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
|
||||
- `src/lib/contextManager.ts` (275 lines) — Context Manager (컨텍스트 한계 관리) "context length = 132k" 는 "답변을 132k 토큰까지 생성해도 된다" 가 아닙니다. 시스템 프롬프트 + 대화 기록 + 입력 문서 + 생성될 답변 + 여유분 ≤ context length 이 모듈은 요청을 보내기 전에 입력 토큰을 추정하고, - 동적으로 출력 상한(maxTokens)을 계
|
||||
- `src/extension.ts` (1179 lines)
|
||||
- `src/extension.ts` (1201 lines)
|
||||
- `src/features/company/resumeStore.ts` (134 lines) — Disk persistence for company-turn resume state. 각 turn의 sessionDir 안에 resume.json을 두고, dispatcher가 매 의미 있는 시점(plan 확정 / 각 stage 직후 / abort 시점)에 현재 상태를 덮어쓴다. 재개 시점에는 이 파일을 읽어 nextIndex 부터 dispatch 재개.
|
||||
- `src/core/astraPath.ts` (50 lines) — Astra Path Resolver (경로 해결기) Astra의 모든 데이터 파일(.astra 디렉토리)의 경로를 중앙에서 관리합니다. 확장 프로그램의 설치 경로(extensionUri) 기반으로 .astra 디렉토리를 해결하여, 사용자 프로젝트 루트가 아닌 ConnectAI 패키지 내부에 데이터를 저장합니다. 이 모듈은 AAL(Astra Autonomou
|
||||
|
||||
@@ -328,7 +328,7 @@ Astra는 대표님의 명시적인 승인 하에 로컬 시스템의 강력한
|
||||
**Designed for High-Performance Decision Making.**
|
||||
Copyright (C) **g1nation**. All rights reserved.
|
||||
|
||||
_Last auto-scan: 2026-05-16T13:16:41.338Z · signature `325106ed`_
|
||||
_Last auto-scan: 2026-05-16T13:21:15.124Z · signature `f2379ce`_
|
||||
<!-- ASTRA:AUTO-END -->
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 1,
|
||||
"generatedAt": "2026-05-16T13:16:41.347Z",
|
||||
"generatedAt": "2026-05-16T13:21:15.133Z",
|
||||
"files": {
|
||||
"src/agent.ts": {
|
||||
"mtimeMs": 1778936503000,
|
||||
@@ -259,9 +259,9 @@
|
||||
"imports": []
|
||||
},
|
||||
"src/extension.ts": {
|
||||
"mtimeMs": 1778935438000,
|
||||
"size": 61216,
|
||||
"lines": 1179,
|
||||
"mtimeMs": 1778937452000,
|
||||
"size": 62380,
|
||||
"lines": 1201,
|
||||
"role": "",
|
||||
"imports": [
|
||||
"src/utils",
|
||||
@@ -362,15 +362,15 @@
|
||||
"imports": []
|
||||
},
|
||||
"src/features/astraOffice/view/officeBody.ts": {
|
||||
"mtimeMs": 1778937173000,
|
||||
"size": 3988,
|
||||
"mtimeMs": 1778937436000,
|
||||
"size": 3986,
|
||||
"lines": 102,
|
||||
"role": "",
|
||||
"imports": []
|
||||
},
|
||||
"src/features/astraOffice/view/officeStyles.ts": {
|
||||
"mtimeMs": 1778937307000,
|
||||
"size": 20643,
|
||||
"mtimeMs": 1778937430000,
|
||||
"size": 20956,
|
||||
"lines": 342,
|
||||
"role": "",
|
||||
"imports": []
|
||||
@@ -404,9 +404,9 @@
|
||||
]
|
||||
},
|
||||
"src/features/calendar/calendarCache.ts": {
|
||||
"mtimeMs": 1778935391000,
|
||||
"size": 8115,
|
||||
"lines": 170,
|
||||
"mtimeMs": 1778937433000,
|
||||
"size": 11824,
|
||||
"lines": 241,
|
||||
"role": "Google Calendar (iCal) 캐시 — fetch + parse + 회사 shared/calendarcache.md 에 저장. Connectorigin 의 googlecalendar.py 를 TypeScript / native fetch 로 옮김. OAuth 없음. 사용자가 Google Calendar 설정 → \"비공개 주소(iCal 형식)\" 복",
|
||||
"imports": [
|
||||
"src/features/calendar/icsParser"
|
||||
@@ -1183,9 +1183,9 @@
|
||||
]
|
||||
},
|
||||
"src/sidebarProvider.ts": {
|
||||
"mtimeMs": 1778933999000,
|
||||
"size": 188454,
|
||||
"lines": 4141,
|
||||
"mtimeMs": 1778937445000,
|
||||
"size": 189218,
|
||||
"lines": 4149,
|
||||
"role": "",
|
||||
"imports": [
|
||||
"src/utils",
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"result": "Final report with inconsistencies. This should be long enough to pass validation.",
|
||||
"createdAt": 1778937508211,
|
||||
"createdAt": 1778938100767,
|
||||
"modelVersion": "unknown"
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"result": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.",
|
||||
"createdAt": 1778937508205,
|
||||
"createdAt": 1778938100758,
|
||||
"modelVersion": "unknown"
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"result": "Detailed Execution Plan: 1. Research 2. Analyze 3. Write report with high quality.",
|
||||
"createdAt": 1778937508200,
|
||||
"createdAt": 1778938100756,
|
||||
"modelVersion": "unknown"
|
||||
}
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"result": "---\nid: stress_conflict_1778937508187\ndate: 2026-05-16T13:18:28.211Z\ntype: knowledge_artifact\nstandard: P-Reinforce v3.0\ntags: [automated, connect_ai, brain_sync]\n---\n\n## 📌 Brief Summary\nFinal report with inconsistencies. This should be long enough to pass validation.\n\nFinal report with inconsistencies. This should be long enough to pass validation.\n\n---\n## 💡 Astra의 선제적 제안 (Proactive Next Actions)\nFinal report with inconsistencies. This should be long enough to pass validation.\n---\n## 🛡️ Reliability & Audit Summary\n> [!NOTE]\n> 이 문서는 ConnectAI의 **Intelligent Resilience** 엔진에 의해 검증 및 정제되었습니다.\n\n| Metric | Value | Status |\n| :--- | :--- | :--- |\n| **Conflict Risk** | `60/100` | ⚠️ Medium |\n| **Fallbacks Used** | `0` | ✅ None |\n| **Auto Retries** | `0` | ✅ Stable |\n| **Deduplication** | `0` | Standard |\n| **Processing Time** | `0.0s` | ✅ Fast |\n\n### 🔍 Decision Audit Trail\n- **[PLANNER]** 전략 수립 중... (12ms)\n- **[RESEARCHER]** 핵심 정보 수집 및 분석 중... (1ms)\n- **[WRITER]** 최종 리포트 작성 및 편집 중... (10ms)\n",
|
||||
"createdAt": 1778937508211,
|
||||
"result": "---\nid: stress_conflict_1778938100739\ndate: 2026-05-16T13:28:20.772Z\ntype: knowledge_artifact\nstandard: P-Reinforce v3.0\ntags: [automated, connect_ai, brain_sync]\n---\n\n## 📌 Brief Summary\nFinal report with inconsistencies. This should be long enough to pass validation.\n\nFinal report with inconsistencies. This should be long enough to pass validation.\n\n---\n## 💡 Astra의 선제적 제안 (Proactive Next Actions)\nFinal report with inconsistencies. This should be long enough to pass validation.\n---\n## 🛡️ Reliability & Audit Summary\n> [!NOTE]\n> 이 문서는 ConnectAI의 **Intelligent Resilience** 엔진에 의해 검증 및 정제되었습니다.\n\n| Metric | Value | Status |\n| :--- | :--- | :--- |\n| **Conflict Risk** | `60/100` | ⚠️ Medium |\n| **Fallbacks Used** | `0` | ✅ None |\n| **Auto Retries** | `0` | ✅ Stable |\n| **Deduplication** | `0` | Standard |\n| **Processing Time** | `0.0s` | ✅ Fast |\n\n### 🔍 Decision Audit Trail\n- **[PLANNER]** 전략 수립 중... (11ms)\n- **[RESEARCHER]** 핵심 정보 수집 및 분석 중... (6ms)\n- **[WRITER]** 최종 리포트 작성 및 편집 중... (6ms)\n",
|
||||
"createdAt": 1778938100772,
|
||||
"modelVersion": "unknown"
|
||||
}
|
||||
+11
-11
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"missionId": "stress_conflict_1778937508187",
|
||||
"missionId": "stress_conflict_1778938100739",
|
||||
"status": "completed",
|
||||
"startTime": "2026-05-16T13:18:28.187Z",
|
||||
"totalElapsedMs": 25,
|
||||
"startTime": "2026-05-16T13:28:20.739Z",
|
||||
"totalElapsedMs": 33,
|
||||
"results": {
|
||||
"planner": "Detailed Execution Plan: 1. Research 2. Analyze 3. Write report with high quality.",
|
||||
"researcher": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.",
|
||||
@@ -16,30 +16,30 @@
|
||||
{
|
||||
"from": "idle",
|
||||
"to": "planner",
|
||||
"durationMs": 12,
|
||||
"durationMs": 11,
|
||||
"message": "전략 수립 중...",
|
||||
"ts": "2026-05-16T13:18:28.199Z"
|
||||
"ts": "2026-05-16T13:28:20.750Z"
|
||||
},
|
||||
{
|
||||
"from": "planner",
|
||||
"to": "researcher",
|
||||
"durationMs": 1,
|
||||
"durationMs": 6,
|
||||
"message": "핵심 정보 수집 및 분석 중...",
|
||||
"ts": "2026-05-16T13:18:28.200Z"
|
||||
"ts": "2026-05-16T13:28:20.756Z"
|
||||
},
|
||||
{
|
||||
"from": "researcher",
|
||||
"to": "writer",
|
||||
"durationMs": 10,
|
||||
"durationMs": 6,
|
||||
"message": "최종 리포트 작성 및 편집 중...",
|
||||
"ts": "2026-05-16T13:18:28.210Z"
|
||||
"ts": "2026-05-16T13:28:20.762Z"
|
||||
},
|
||||
{
|
||||
"from": "writer",
|
||||
"to": "completed",
|
||||
"durationMs": 2,
|
||||
"durationMs": 10,
|
||||
"message": "미션 완료",
|
||||
"ts": "2026-05-16T13:18:28.212Z"
|
||||
"ts": "2026-05-16T13:28:20.772Z"
|
||||
}
|
||||
],
|
||||
"resilienceMetrics": {
|
||||
Reference in New Issue
Block a user