ltcai 9.9.5 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -37
- package/docs/CHANGELOG.md +234 -0
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +1 -1
- package/docs/ONBOARDING.md +1 -1
- package/docs/OPERATIONS.md +3 -1
- package/docs/PERMISSION_MODE.md +107 -0
- package/docs/SURFACE_PARITY.md +38 -8
- package/docs/TRUST_MODEL.md +1 -1
- package/docs/WHY_LATTICE.md +1 -1
- package/docs/kg-schema.md +1 -1
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/context.py +39 -4
- package/lattice_brain/graph/_kg_common.py +189 -14
- package/lattice_brain/graph/curator.py +62 -0
- package/lattice_brain/graph/discovery.py +76 -0
- package/lattice_brain/graph/ingest.py +37 -7
- package/lattice_brain/graph/retrieval_vector.py +10 -0
- package/lattice_brain/ingestion.py +9 -106
- package/lattice_brain/ingestion_jobs.py +133 -0
- package/lattice_brain/runtime/multi_agent.py +1 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/brain_intelligence.py +8 -0
- package/latticeai/api/chat.py +9 -0
- package/latticeai/api/chat_agent_http.py +119 -2
- package/latticeai/api/chat_contracts.py +9 -0
- package/latticeai/api/chat_documents.py +16 -0
- package/latticeai/api/evidence_actions.py +48 -0
- package/latticeai/api/permission_mode.py +61 -0
- package/latticeai/api/project_sessions.py +112 -0
- package/latticeai/api/voice_capture.py +89 -0
- package/latticeai/app_factory.py +53 -0
- package/latticeai/core/agent.py +381 -43
- package/latticeai/core/agent_permission.py +160 -0
- package/latticeai/core/agent_profiles.py +110 -0
- package/latticeai/core/artifact_ledger.py +109 -0
- package/latticeai/core/context_builder.py +101 -2
- package/latticeai/core/legacy_compatibility.py +1 -1
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/permission_mode.py +296 -0
- package/latticeai/core/project_sessions.py +337 -0
- package/latticeai/core/run_explain.py +421 -0
- package/latticeai/core/run_store.py +5 -0
- package/latticeai/core/workspace_os.py +15 -80
- package/latticeai/core/workspace_review_items.py +107 -0
- package/latticeai/integrations/telegram_bot.py +188 -0
- package/latticeai/runtime/chat_wiring.py +8 -0
- package/latticeai/runtime/context_runtime.py +11 -0
- package/latticeai/runtime/permission_mode_wiring.py +116 -0
- package/latticeai/runtime/router_registration.py +9 -0
- package/latticeai/services/app_context.py +3 -0
- package/latticeai/services/architecture_readiness.py +1 -1
- package/latticeai/services/brain_intelligence.py +105 -0
- package/latticeai/services/evidence_actions.py +254 -0
- package/latticeai/services/funnel_metrics.py +111 -16
- package/latticeai/services/local_knowledge.py +26 -0
- package/latticeai/services/memory_service.py +12 -0
- package/latticeai/services/permission_mode_service.py +170 -0
- package/latticeai/services/product_readiness.py +1 -1
- package/latticeai/services/tool_dispatch.py +73 -4
- package/latticeai/services/voice_capture.py +189 -0
- package/package.json +6 -4
- package/scripts/check_bundle_budget.mjs +11 -0
- package/scripts/check_current_release_docs.mjs +1 -1
- package/scripts/check_i18n_namespace_coverage.mjs +148 -0
- package/skills/meeting_notes/SKILL.md +82 -0
- package/skills/meeting_notes/examples.md +41 -0
- package/skills/meeting_notes/risk.json +9 -0
- package/skills/meeting_notes/schema.json +55 -0
- package/skills/weekly_review/SKILL.md +75 -0
- package/skills/weekly_review/examples.md +39 -0
- package/skills/weekly_review/risk.json +9 -0
- package/skills/weekly_review/schema.json +55 -0
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +37 -29
- package/static/app/assets/Act-BtCREeN1.js +1 -0
- package/static/app/assets/AdminConsole-TPeeN18T.js +1 -0
- package/static/app/assets/Brain-BKs6JAp0.js +321 -0
- package/static/app/assets/BrainHome-BPGOvSd6.js +2 -0
- package/static/app/assets/BrainSignals-CtzQZ15J.js +1 -0
- package/static/app/assets/Capture-1_NaHWqB.js +1 -0
- package/static/app/assets/CommandPalette-pqvQOXe4.js +1 -0
- package/static/app/assets/Library-DhvoPvC7.js +1 -0
- package/static/app/assets/{LivingBrain-BVWk58MW.js → LivingBrain-DlQ20Q75.js} +1 -1
- package/static/app/assets/ProductFlow-BZvGDRi_.js +1 -0
- package/static/app/assets/ReviewCard-BWgI0D2s.js +3 -0
- package/static/app/assets/System-CSMdYLMy.js +1 -0
- package/static/app/assets/activity-Dlfk8YC7.js +1 -0
- package/static/app/assets/{bot-VmP0kkeA.js → bot-CDvUB76P.js} +1 -1
- package/static/app/assets/brain-xczrohrt.js +1 -0
- package/static/app/assets/button-SOdH3Oyf.js +1 -0
- package/static/app/assets/{circle-pause-T9POo4qy.js → circle-pause-CG1ythH4.js} +1 -1
- package/static/app/assets/{circle-play-Bz5iTD0p.js → circle-play-HXwvjS6W.js} +1 -1
- package/static/app/assets/{cpu-CJhjRtNq.js → cpu-B0d-rGyk.js} +1 -1
- package/static/app/assets/download-BGIkTQL6.js +1 -0
- package/static/app/assets/{folder-open-B2K_22VI.js → folder-open-Dst_Z0_K.js} +1 -1
- package/static/app/assets/{hard-drive-CjJtYqHf.js → hard-drive-D53MsWkV.js} +1 -1
- package/static/app/assets/index-C_IrlQMV.js +10 -0
- package/static/app/assets/index-FxDusbr0.css +2 -0
- package/static/app/assets/{input-CSi6OBJ9.js → input-C5m0riF6.js} +1 -1
- package/static/app/assets/{network-Ck1nqc-v.js → network-C5a-E5iS.js} +1 -1
- package/static/app/assets/primitives-vNXYf58F.js +1 -0
- package/static/app/assets/search-DhbSgW6m.js +1 -0
- package/static/app/assets/shield-alert-Cc-WVXqN.js +1 -0
- package/static/app/assets/{textarea-C4wM0D-Z.js → textarea-BkZ0EqVO.js} +1 -1
- package/static/app/assets/{useFocusTrap-CsnIhsDJ.js → useFocusTrap-CTtKbAOU.js} +1 -1
- package/static/app/assets/{navigation-BPQqEQwr.js → useQuery-Dx1fi4Wu.js} +1 -1
- package/static/app/assets/users-BFpQXtEF.js +1 -0
- package/static/app/assets/utils-BA_lmW3J.js +7 -0
- package/static/app/assets/workspace-DBPB0jkX.js +1 -0
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/static/app/assets/Act-DmxfbqBp.js +0 -1
- package/static/app/assets/Brain-DK_zKCda.js +0 -321
- package/static/app/assets/BrainHome-CCE_0hni.js +0 -2
- package/static/app/assets/BrainSignals-r_J68_zh.js +0 -1
- package/static/app/assets/Capture-CvxwzpJZ.js +0 -1
- package/static/app/assets/CommandPalette-CVLiFIQC.js +0 -1
- package/static/app/assets/Library-4As9VUvy.js +0 -1
- package/static/app/assets/ProductFlow-B-Tz0Um4.js +0 -1
- package/static/app/assets/ReviewCard-Va3fPQuj.js +0 -3
- package/static/app/assets/System-DSR2zKWd.js +0 -1
- package/static/app/assets/index-7FAfYm4v.css +0 -2
- package/static/app/assets/index-CEu0Wqjl.js +0 -10
- package/static/app/assets/primitives-B2f9N7Dh.js +0 -1
- package/static/app/assets/shield-alert-yA_Y8lOB.js +0 -1
- package/static/app/assets/utils-BqoznzGP.js +0 -7
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# meeting_notes — Examples
|
|
2
|
+
|
|
3
|
+
## 1. 붙여넣은 메모 → 정리된 노트 (success)
|
|
4
|
+
|
|
5
|
+
**Input**
|
|
6
|
+
```json
|
|
7
|
+
{
|
|
8
|
+
"path": "notes/2026-07-27-weekly.md",
|
|
9
|
+
"notes": "주간회의. 1분기 예산 1200만원으로 확정함. 마케팅 40%. 태수님이 예산안 공유하기로. 2분기 계획은 이사회 승인 필요한데 일정 미정.",
|
|
10
|
+
"content": "# 2026-07-27 주간회의\n\n## 결정사항\n- 1분기 예산 1,200만원 확정 (마케팅 40%)\n\n## 할 일\n- [ ] 예산안 공유 — 태수\n\n## 미해결 질문\n- 2분기 계획 이사회 승인 일정 미정\n"
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
**Output**
|
|
14
|
+
```json
|
|
15
|
+
{ "success": true, "path": "notes/2026-07-27-weekly.md", "bytes": 178 }
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
메모에 담당자가 적힌 항목만 담당자가 채워졌고, 기한은 어디에도 없었으므로
|
|
19
|
+
비워 두었다 — 추측해서 채우지 않는다.
|
|
20
|
+
|
|
21
|
+
## 2. 결정사항이 없는 회의 (success, 정직한 빈 섹션)
|
|
22
|
+
|
|
23
|
+
**Input**
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"path": "notes/2026-07-28-sync.md",
|
|
27
|
+
"notes": "짧은 싱크. 다들 진행 상황 공유만 하고 끝.",
|
|
28
|
+
"content": "# 2026-07-28 싱크\n\n## 결정사항\n- 결정된 사항 없음\n\n## 할 일\n- 없음\n\n## 미해결 질문\n- 없음\n"
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
**Output**
|
|
32
|
+
```json
|
|
33
|
+
{ "success": true, "path": "notes/2026-07-28-sync.md", "bytes": 96 }
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
없는 결정을 만들어 내는 대신 "결정된 사항 없음"을 그대로 적는다.
|
|
37
|
+
|
|
38
|
+
## 3. 기존 노트를 덮어쓰는 경우 (변경 제안)
|
|
39
|
+
|
|
40
|
+
이미 있는 파일을 대상으로 하면 ChangeGovernor가 변경 제안으로 돌린다. 디스크는
|
|
41
|
+
승인 전까지 바뀌지 않으며, 검토함(Review Center)에서 승인해야 적용된다.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "meeting_notes",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"action": "write_file",
|
|
6
|
+
"input": {
|
|
7
|
+
"required": ["path", "content"],
|
|
8
|
+
"optional": ["notes", "source_path"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"path": { "type": "string", "description": "저장할 노트 경로 (워크스페이스 상대 경로, .md)" },
|
|
11
|
+
"content": { "type": "string", "description": "결정사항/할 일/미해결 질문으로 정리된 마크다운 본문" },
|
|
12
|
+
"notes": { "type": "string", "description": "원본 회의 메모 (붙여넣기)" },
|
|
13
|
+
"source_path": { "type": "string", "description": "원본 메모 파일 경로 (notes 대신 사용)" }
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"output": {
|
|
17
|
+
"oneOf": [
|
|
18
|
+
{
|
|
19
|
+
"title": "success",
|
|
20
|
+
"properties": {
|
|
21
|
+
"success": { "const": true },
|
|
22
|
+
"path": { "type": "string" },
|
|
23
|
+
"bytes": { "type": "integer" }
|
|
24
|
+
},
|
|
25
|
+
"required": ["path"]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"title": "failure",
|
|
29
|
+
"properties": {
|
|
30
|
+
"success": { "const": false },
|
|
31
|
+
"error": { "type": "string", "enum": ["INVALID_INPUT","FILE_NOT_FOUND","MODEL_NOT_LOADED"] },
|
|
32
|
+
"message": { "type": "string" }
|
|
33
|
+
},
|
|
34
|
+
"required": ["success","error","message"]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"evals": [
|
|
39
|
+
{
|
|
40
|
+
"id": "writes_a_note",
|
|
41
|
+
"description": "정리된 노트를 워크스페이스에 저장한다",
|
|
42
|
+
"input": {
|
|
43
|
+
"path": "notes/meeting-notes-eval.md",
|
|
44
|
+
"content": "# 회의 노트\n\n## 결정사항\n- 1분기 예산 1200만원 확정\n\n## 할 일\n- [ ] 예산안 공유 (담당 미정)\n\n## 미해결 질문\n- 2분기 계획 승인 일정\n"
|
|
45
|
+
},
|
|
46
|
+
"pass_criteria": "success == true"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "rejects_empty_input",
|
|
50
|
+
"description": "경로 없이 호출하면 거절한다",
|
|
51
|
+
"input": { "content": "x" },
|
|
52
|
+
"pass_criteria": "success == false"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Skill: weekly_review
|
|
2
|
+
|
|
3
|
+
description: 이번 주 Brain에 들어온 것과 남은 할 일로 주간 회고 문서를 만든다.
|
|
4
|
+
|
|
5
|
+
## 메타데이터
|
|
6
|
+
- **버전**: 1.0.0
|
|
7
|
+
- **카테고리**: knowledge
|
|
8
|
+
- **위험도**: low
|
|
9
|
+
- **필요 권한**: workspace_write
|
|
10
|
+
|
|
11
|
+
## 설명
|
|
12
|
+
|
|
13
|
+
지난 한 주 동안 Brain에 실제로 들어온 자료(문서·메모·대화)와 아직 열려 있는
|
|
14
|
+
항목을 근거로 주간 회고 문서를 만든다. 사람이 기억을 짜내는 대신, **Brain이
|
|
15
|
+
가진 기록에서만** 한 주를 재구성한다.
|
|
16
|
+
|
|
17
|
+
설치하자마자 값이 보이는 이유: 이미 쌓인 것만 쓰기 때문에 추가 입력이 필요 없고,
|
|
18
|
+
결과가 그대로 다음 주 계획의 출발점이 된다.
|
|
19
|
+
|
|
20
|
+
## 거버넌스
|
|
21
|
+
|
|
22
|
+
`risk.json` 참고. 요약: `risk=write`, `destructive=false`, `shell=false`,
|
|
23
|
+
`network=false`, `auto_approve=true`, `sandbox=workspace`, `rollback=snapshot`.
|
|
24
|
+
|
|
25
|
+
## 트리거 조건
|
|
26
|
+
|
|
27
|
+
호출해야 하는 상황:
|
|
28
|
+
- "이번 주 정리해줘", "주간 회고 써줘"
|
|
29
|
+
- 금요일/월요일 루틴으로 한 주를 닫고 열 때
|
|
30
|
+
- 프로젝트 세션의 남은 할 일을 한 장으로 보고 싶을 때
|
|
31
|
+
|
|
32
|
+
호출하면 **안** 되는 상황:
|
|
33
|
+
- 특정 문서 하나의 요약 → `summarize_document`
|
|
34
|
+
- 회의 하나의 결정/할 일 정리 → `meeting_notes`
|
|
35
|
+
|
|
36
|
+
## 근거 규칙 (중요)
|
|
37
|
+
|
|
38
|
+
- 이 주에 **Brain에 기록이 있는 것만** 쓴다. 기록이 없는 성과를 지어내지 않는다.
|
|
39
|
+
- 각 항목 뒤에 출처(문서 제목/파일명)를 남긴다.
|
|
40
|
+
- 한 주 동안 들어온 것이 없으면 "이번 주 새로 들어온 자료가 없습니다"라고 쓰고
|
|
41
|
+
끝낸다. 빈 주를 채우지 않는다.
|
|
42
|
+
|
|
43
|
+
## Side Effects
|
|
44
|
+
|
|
45
|
+
| 항목 | 내용 |
|
|
46
|
+
|------|------|
|
|
47
|
+
| 파일 변경 | 대상 경로에 마크다운 1개 생성 (기존 파일이면 변경 제안) |
|
|
48
|
+
| 생성 파일 | `reviews/<week>.md` (기본) |
|
|
49
|
+
| 프로세스 | 없음 |
|
|
50
|
+
| 네트워크 | 없음 |
|
|
51
|
+
|
|
52
|
+
## Rollback
|
|
53
|
+
|
|
54
|
+
`rollback=snapshot`. 실패 시 쓰기 전 상태로 복구된다.
|
|
55
|
+
|
|
56
|
+
## 입력/출력 스키마
|
|
57
|
+
|
|
58
|
+
`schema.json` 참고.
|
|
59
|
+
|
|
60
|
+
## 실행 조건
|
|
61
|
+
|
|
62
|
+
- LLM 모델이 로드되어 있어야 함
|
|
63
|
+
- Brain에 최소 1건의 자료가 있어야 의미 있는 결과가 나온다 (없으면 위 규칙대로
|
|
64
|
+
"없음"을 그대로 기록한다)
|
|
65
|
+
|
|
66
|
+
## 예제
|
|
67
|
+
|
|
68
|
+
`examples.md` 참고.
|
|
69
|
+
|
|
70
|
+
## 실패 처리
|
|
71
|
+
|
|
72
|
+
| 에러 코드 | 원인 | 처리 방법 |
|
|
73
|
+
|-----------|------|-----------|
|
|
74
|
+
| `INVALID_INPUT` | path 누락 | 저장 경로 지정 |
|
|
75
|
+
| `MODEL_NOT_LOADED` | 모델 미로드 | 모델을 먼저 로드 |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# weekly_review — Examples
|
|
2
|
+
|
|
3
|
+
## 1. 자료가 있는 한 주 (success)
|
|
4
|
+
|
|
5
|
+
**Input**
|
|
6
|
+
```json
|
|
7
|
+
{
|
|
8
|
+
"path": "reviews/2026-W30.md",
|
|
9
|
+
"week": "2026-W30",
|
|
10
|
+
"content": "# 2026-W30 주간 회고\n\n## 이번 주 들어온 것\n- 1분기 예산 1,200만원 확정 (출처: docs/budget.md)\n- 주간회의 노트 (출처: notes/2026-07-27-weekly.md)\n\n## 남은 할 일\n- [ ] 2분기 계획 이사회 승인\n\n## 다음 주\n- 이사회 일정 확정하기\n"
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
**Output**
|
|
14
|
+
```json
|
|
15
|
+
{ "success": true, "path": "reviews/2026-W30.md", "bytes": 241 }
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
모든 항목에 출처가 붙어 있다 — Brain에 기록이 있는 것만 썼다는 증거다.
|
|
19
|
+
|
|
20
|
+
## 2. 자료가 없는 한 주 (success, 빈 주를 채우지 않음)
|
|
21
|
+
|
|
22
|
+
**Input**
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"path": "reviews/2026-W31.md",
|
|
26
|
+
"content": "# 2026-W31 주간 회고\n\n이번 주 새로 들어온 자료가 없습니다.\n"
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
**Output**
|
|
30
|
+
```json
|
|
31
|
+
{ "success": true, "path": "reviews/2026-W31.md", "bytes": 62 }
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
없는 성과를 지어내는 대신 없다고 적는다.
|
|
35
|
+
|
|
36
|
+
## 3. 프로젝트 세션과 함께
|
|
37
|
+
|
|
38
|
+
`project_id`를 주면 그 프로젝트가 만든 파일과 남은 TODO, 마지막 검증 결과가
|
|
39
|
+
"남은 할 일" 섹션의 근거가 된다 (`GET /api/projects/{id}`).
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "weekly_review",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"action": "write_file",
|
|
6
|
+
"input": {
|
|
7
|
+
"required": ["path", "content"],
|
|
8
|
+
"optional": ["week", "project_id"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"path": { "type": "string", "description": "저장할 회고 경로 (워크스페이스 상대 경로, .md)" },
|
|
11
|
+
"content": { "type": "string", "description": "Brain 기록을 근거로 작성한 회고 본문 (각 항목에 출처 표기)" },
|
|
12
|
+
"week": { "type": "string", "description": "대상 주 (예: 2026-W30). 생략 시 이번 주" },
|
|
13
|
+
"project_id": { "type": "string", "description": "프로젝트 세션 id — 남은 할 일을 함께 반영" }
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"output": {
|
|
17
|
+
"oneOf": [
|
|
18
|
+
{
|
|
19
|
+
"title": "success",
|
|
20
|
+
"properties": {
|
|
21
|
+
"success": { "const": true },
|
|
22
|
+
"path": { "type": "string" },
|
|
23
|
+
"bytes": { "type": "integer" }
|
|
24
|
+
},
|
|
25
|
+
"required": ["path"]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"title": "failure",
|
|
29
|
+
"properties": {
|
|
30
|
+
"success": { "const": false },
|
|
31
|
+
"error": { "type": "string", "enum": ["INVALID_INPUT","MODEL_NOT_LOADED"] },
|
|
32
|
+
"message": { "type": "string" }
|
|
33
|
+
},
|
|
34
|
+
"required": ["success","error","message"]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"evals": [
|
|
39
|
+
{
|
|
40
|
+
"id": "writes_a_review",
|
|
41
|
+
"description": "근거가 표기된 회고 문서를 저장한다",
|
|
42
|
+
"input": {
|
|
43
|
+
"path": "reviews/weekly-review-eval.md",
|
|
44
|
+
"content": "# 2026-W30 주간 회고\n\n## 이번 주 들어온 것\n- 1분기 예산 확정 (출처: docs/budget.md)\n\n## 남은 할 일\n- [ ] 2분기 계획 승인 받기\n\n## 다음 주\n- 이사회 일정 확정\n"
|
|
45
|
+
},
|
|
46
|
+
"pass_criteria": "success == true"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "rejects_missing_path",
|
|
50
|
+
"description": "저장 경로 없이 호출하면 거절한다",
|
|
51
|
+
"input": { "content": "x" },
|
|
52
|
+
"pass_criteria": "success == false"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
package/src-tauri/Cargo.lock
CHANGED
package/src-tauri/Cargo.toml
CHANGED
|
@@ -1,37 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "10.0.0",
|
|
3
3
|
"generated_at": "vite",
|
|
4
4
|
"entrypoints": {
|
|
5
|
-
"app": "/static/app/assets/index-
|
|
5
|
+
"app": "/static/app/assets/index-C_IrlQMV.js"
|
|
6
6
|
},
|
|
7
7
|
"assets": {
|
|
8
8
|
"../node_modules/@tauri-apps/api/core.js": "/static/app/assets/core-CwxXejkd.js",
|
|
9
|
-
"_BrainSignals-
|
|
10
|
-
"_LivingBrain-
|
|
11
|
-
"_ReviewCard-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"src/
|
|
9
|
+
"_BrainSignals-CtzQZ15J.js": "/static/app/assets/BrainSignals-CtzQZ15J.js",
|
|
10
|
+
"_LivingBrain-DlQ20Q75.js": "/static/app/assets/LivingBrain-DlQ20Q75.js",
|
|
11
|
+
"_ReviewCard-BWgI0D2s.js": "/static/app/assets/ReviewCard-BWgI0D2s.js",
|
|
12
|
+
"_activity-Dlfk8YC7.js": "/static/app/assets/activity-Dlfk8YC7.js",
|
|
13
|
+
"_bot-CDvUB76P.js": "/static/app/assets/bot-CDvUB76P.js",
|
|
14
|
+
"_brain-xczrohrt.js": "/static/app/assets/brain-xczrohrt.js",
|
|
15
|
+
"_button-SOdH3Oyf.js": "/static/app/assets/button-SOdH3Oyf.js",
|
|
16
|
+
"_circle-pause-CG1ythH4.js": "/static/app/assets/circle-pause-CG1ythH4.js",
|
|
17
|
+
"_circle-play-HXwvjS6W.js": "/static/app/assets/circle-play-HXwvjS6W.js",
|
|
18
|
+
"_cpu-B0d-rGyk.js": "/static/app/assets/cpu-B0d-rGyk.js",
|
|
19
|
+
"_download-BGIkTQL6.js": "/static/app/assets/download-BGIkTQL6.js",
|
|
20
|
+
"_folder-open-Dst_Z0_K.js": "/static/app/assets/folder-open-Dst_Z0_K.js",
|
|
21
|
+
"_hard-drive-D53MsWkV.js": "/static/app/assets/hard-drive-D53MsWkV.js",
|
|
22
|
+
"_input-C5m0riF6.js": "/static/app/assets/input-C5m0riF6.js",
|
|
23
|
+
"_network-C5a-E5iS.js": "/static/app/assets/network-C5a-E5iS.js",
|
|
24
|
+
"_primitives-vNXYf58F.js": "/static/app/assets/primitives-vNXYf58F.js",
|
|
25
|
+
"_search-DhbSgW6m.js": "/static/app/assets/search-DhbSgW6m.js",
|
|
26
|
+
"_shield-alert-Cc-WVXqN.js": "/static/app/assets/shield-alert-Cc-WVXqN.js",
|
|
27
|
+
"_textarea-BkZ0EqVO.js": "/static/app/assets/textarea-BkZ0EqVO.js",
|
|
28
|
+
"_useFocusTrap-CTtKbAOU.js": "/static/app/assets/useFocusTrap-CTtKbAOU.js",
|
|
29
|
+
"_useQuery-Dx1fi4Wu.js": "/static/app/assets/useQuery-Dx1fi4Wu.js",
|
|
30
|
+
"_users-BFpQXtEF.js": "/static/app/assets/users-BFpQXtEF.js",
|
|
31
|
+
"_utils-BA_lmW3J.js": "/static/app/assets/utils-BA_lmW3J.js",
|
|
32
|
+
"_workspace-DBPB0jkX.js": "/static/app/assets/workspace-DBPB0jkX.js",
|
|
33
|
+
"index.html": "/static/app/assets/index-C_IrlQMV.js",
|
|
34
|
+
"assets/index-FxDusbr0.css": "/static/app/assets/index-FxDusbr0.css",
|
|
35
|
+
"src/components/ProductFlow.tsx": "/static/app/assets/ProductFlow-BZvGDRi_.js",
|
|
36
|
+
"src/features/admin/AdminConsole.tsx": "/static/app/assets/AdminConsole-TPeeN18T.js",
|
|
37
|
+
"src/features/brain/BrainHome.tsx": "/static/app/assets/BrainHome-BPGOvSd6.js",
|
|
38
|
+
"src/features/command/CommandPalette.tsx": "/static/app/assets/CommandPalette-pqvQOXe4.js",
|
|
39
|
+
"src/pages/Act.tsx": "/static/app/assets/Act-BtCREeN1.js",
|
|
40
|
+
"src/pages/Brain.tsx": "/static/app/assets/Brain-BKs6JAp0.js",
|
|
41
|
+
"src/pages/Capture.tsx": "/static/app/assets/Capture-1_NaHWqB.js",
|
|
42
|
+
"src/pages/Library.tsx": "/static/app/assets/Library-DhvoPvC7.js",
|
|
43
|
+
"src/pages/System.tsx": "/static/app/assets/System-CSMdYLMy.js"
|
|
36
44
|
}
|
|
37
45
|
}
|