ltcai 11.6.0 → 11.9.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 +80 -75
- package/docs/BENCHMARKS.md +9 -2
- package/docs/CHANGELOG.md +201 -0
- package/docs/CI_AND_RELEASE_GATES.md +126 -41
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +34 -14
- package/docs/LEGACY_COMPATIBILITY.md +10 -6
- package/docs/ONBOARDING.md +5 -3
- package/docs/OPERATIONS.md +5 -1
- package/docs/PERMISSION_MODE.md +14 -9
- package/docs/TRUST_MODEL.md +13 -6
- package/docs/USABILITY_AUDIT.md +5 -0
- package/docs/WHY_LATTICE.md +6 -4
- package/docs/kg-schema.md +7 -3
- package/docs/mcp-tools.md +73 -79
- package/docs/security-model.md +6 -3
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/graph/_kg_common/__init__.py +1 -54
- package/lattice_brain/graph/_kg_common/text.py +14 -450
- package/lattice_brain/ingestion/__init__.py +6 -3
- package/lattice_brain/multimodal/__init__.py +9 -3
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/agent_worker_seam.py +12 -1
- package/latticeai/api/models.py +18 -110
- package/latticeai/api/search.py +7 -30
- package/latticeai/api/worker_compute.py +53 -107
- package/latticeai/api/worker_seams.py +17 -2
- package/latticeai/core/http_origin.py +3 -3
- package/latticeai/core/messages.py +0 -5
- package/latticeai/core/policy.py +1 -6
- package/latticeai/core/quiet.py +1 -20
- package/latticeai/core/security.py +29 -83
- package/latticeai/core/sessions.py +95 -4
- package/latticeai/core/users.py +0 -38
- package/latticeai/models/router/catalog.py +2 -2
- package/latticeai/models/router/generation.py +81 -14
- package/latticeai/models/router/loading.py +41 -5
- package/latticeai/runtime/access_runtime.py +7 -4
- package/latticeai/runtime/build_phases/features.py +8 -31
- package/latticeai/runtime/build_phases/foundation.py +7 -16
- package/latticeai/runtime/build_phases/web.py +3 -3
- package/latticeai/runtime/build_phases/worker_profile.py +21 -28
- package/latticeai/runtime/runtime_context.py +0 -2
- package/latticeai/services/architecture_readiness.py +18 -19
- package/latticeai/services/process_audit.py +1 -22
- package/latticeai/services/product_readiness.py +33 -11
- package/latticeai/services/voice_capture.py +8 -28
- package/latticeai/tools/__init__.py +6 -46
- package/latticeai/tools/commands.py +9 -15
- package/latticeai/tools/knowledge.py +0 -6
- package/package.json +3 -5
- package/requirements.txt +0 -1
- package/scripts/check_current_release_docs.mjs +1 -1
- package/scripts/check_openapi_drift.mjs +3 -2
- package/scripts/check_server_i18n.mjs +5 -4
- package/scripts/compose_openapi.py +2 -1
- package/scripts/export_openapi.py +5 -4
- package/scripts/gen_worker_allowlist_fixture.py +2 -2
- package/scripts/openapi_route_families.json +14 -73
- package/scripts/release_screen_claims.json +151 -14
- package/src-tauri/Cargo.lock +11 -10
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +41 -41
- package/static/app/assets/{Act-CToZnOHz.js → Act-B4WT81kh.js} +1 -1
- package/static/app/assets/AdminConsole--Wf71m-o.js +1 -0
- package/static/app/assets/{Brain-C6zCdv4S.js → Brain-CtYaa26c.js} +2 -2
- package/static/app/assets/BrainHome-Be2VPJEc.js +2 -0
- package/static/app/assets/BrainSignals-C0__xgpG.js +1 -0
- package/static/app/assets/Capture-DdNi5Peb.js +1 -0
- package/static/app/assets/Chronicle-B3hNveeI.js +1 -0
- package/static/app/assets/CommandPalette-CIsnSsFL.js +1 -0
- package/static/app/assets/Library-Bl5XClFV.js +1 -0
- package/static/app/assets/LivingBrain-DjkTB_gh.js +1 -0
- package/static/app/assets/{ProductFlow-CBLdmesT.js → ProductFlow-DCUNRNHs.js} +1 -1
- package/static/app/assets/ReviewCard-CD3yWvUB.js +3 -0
- package/static/app/assets/System-BJ6jQ_SL.js +1 -0
- package/static/app/assets/arrow-left-6_28Z0qH.js +1 -0
- package/static/app/assets/{bot-C5-XIww2.js → bot-Bc3Q27YR.js} +1 -1
- package/static/app/assets/brain-B9BDrMTe.js +1 -0
- package/static/app/assets/{button-DI1KcQP-.js → button-D6JcpYcf.js} +1 -1
- package/static/app/assets/circle-check-BFu9lD-3.js +1 -0
- package/static/app/assets/{circle-pause-C8HHyood.js → circle-pause-BGMiV8UU.js} +1 -1
- package/static/app/assets/{circle-play-Cufc235E.js → circle-play-DoanLHnd.js} +1 -1
- package/static/app/assets/{cpu-DW2_JVsv.js → cpu-DwzNf82m.js} +1 -1
- package/static/app/assets/{download-gbdKTBb8.js → download-Ddw49yCV.js} +1 -1
- package/static/app/assets/{folder-open-C9ydyX33.js → folder-open-Brd6Kvto.js} +1 -1
- package/static/app/assets/{hard-drive-BxNMzBM3.js → hard-drive-Bu-DTJdB.js} +1 -1
- package/static/app/assets/index-CGdg_aq9.css +2 -0
- package/static/app/assets/{index-q9XyDY7A.js → index-CWKRRsLW.js} +4 -4
- package/static/app/assets/input-CEqsxtil.js +1 -0
- package/static/app/assets/{link-2-B4Y0gz1S.js → link-2-DZ4OA5tJ.js} +1 -1
- package/static/app/assets/{permissionCopy-CxrV0fvU.js → permissionCopy-D9TR0F8b.js} +1 -1
- package/static/app/assets/primitives-DORg7Z_7.js +1 -0
- package/static/app/assets/search-0NQ21wXe.js +1 -0
- package/static/app/assets/{share-2-DxArfiuI.js → share-2-BC5FirFv.js} +1 -1
- package/static/app/assets/{shield-alert-CgftuFFs.js → shield-alert-DUbR2W2s.js} +1 -1
- package/static/app/assets/textarea-jtQcRSXo.js +1 -0
- package/static/app/assets/{useFocusTrap-Dzq2j_OG.js → useFocusTrap-HRemcWId.js} +1 -1
- package/static/app/assets/{useMutation-BcqfMLNq.js → useMutation-DqlFE-Bw.js} +1 -1
- package/static/app/assets/{useQuery-DBzLKCOv.js → useQuery-BizqBNGw.js} +1 -1
- package/static/app/assets/utils-WgW4V69R.js +4 -0
- package/static/app/assets/workspace-DSek3jCY.js +1 -0
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/lattice_brain/ingestion/pipeline.py +0 -108
- package/latticeai/api/local_files.py +0 -44
- package/latticeai/api/tools.py +0 -126
- package/latticeai/api/voice_capture.py +0 -32
- package/latticeai/core/agent_permission.py +0 -85
- package/scripts/agent_eval.py +0 -34
- package/scripts/brain_quality_eval.py +0 -37
- package/scripts/check_legacy_debt.mjs +0 -91
- package/scripts/check_python.py +0 -100
- package/scripts/chunking_parity_corpus.py +0 -449
- package/scripts/generate_agent_parity_fixtures.py +0 -771
- package/scripts/generate_chunking_parity_fixtures.py +0 -259
- package/static/app/assets/AdminConsole-D5kbrBu8.js +0 -1
- package/static/app/assets/BrainHome-D4n3EDUt.js +0 -2
- package/static/app/assets/BrainSignals-CzeZ-vQ9.js +0 -1
- package/static/app/assets/Capture-DPcyTczq.js +0 -1
- package/static/app/assets/Chronicle-D3Nx-oWS.js +0 -1
- package/static/app/assets/CommandPalette-DPPvpp28.js +0 -1
- package/static/app/assets/Library-Co2qTu3I.js +0 -1
- package/static/app/assets/LivingBrain-Bsmzwy8_.js +0 -1
- package/static/app/assets/ReviewCard-CfR6DLs7.js +0 -3
- package/static/app/assets/System-Ce-P2YL6.js +0 -1
- package/static/app/assets/arrow-left-DD5jFGHV.js +0 -1
- package/static/app/assets/brain-CFRJUvdX.js +0 -1
- package/static/app/assets/circle-check-CY20XMCh.js +0 -1
- package/static/app/assets/index-BovSWRmQ.css +0 -2
- package/static/app/assets/input-GLD94Y_K.js +0 -1
- package/static/app/assets/primitives-2ANdAsu2.js +0 -1
- package/static/app/assets/search-DTxtjQ07.js +0 -1
- package/static/app/assets/textarea-BHVBAoCr.js +0 -1
- package/static/app/assets/utils-B-Aah1bO.js +0 -4
- package/static/app/assets/workspace-B6fFhoko.js +0 -1
package/docs/mcp-tools.md
CHANGED
|
@@ -4,7 +4,11 @@ Lattice AI는 MCP(Model Context Protocol) 서버로 동작하여 Claude Desktop,
|
|
|
4
4
|
|
|
5
5
|
## 연결 설정
|
|
6
6
|
|
|
7
|
-
`
|
|
7
|
+
The MCP surface is **streamable HTTP JSON-RPC** at `POST /mcp` on the
|
|
8
|
+
loopback gateway (default `http://localhost:4825`). There is no separate
|
|
9
|
+
stdio or SSE transport.
|
|
10
|
+
|
|
11
|
+
`claude_desktop_config.json` or Cursor MCP settings:
|
|
8
12
|
|
|
9
13
|
```json
|
|
10
14
|
{
|
|
@@ -16,112 +20,102 @@ Lattice AI는 MCP(Model Context Protocol) 서버로 동작하여 Claude Desktop,
|
|
|
16
20
|
}
|
|
17
21
|
```
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### 파일 시스템
|
|
23
|
+
Auth is the same session gate as every other product route:
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
| `list_dir` | 디렉토리 목록 | 낮음 |
|
|
28
|
-
| `grep` | 정규식 검색, glob 필터, context_lines | 낮음 |
|
|
25
|
+
- Loopback install with authentication off → the anonymous local owner (this
|
|
26
|
+
is what a localhost client such as Claude Desktop uses).
|
|
27
|
+
- Authentication on → send the `session_token` cookie or
|
|
28
|
+
`Authorization: Bearer <token>`.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Supported JSON-RPC methods: `initialize`, `notifications/initialized`,
|
|
31
|
+
`tools/list`, `tools/call`. Unknown methods return `-32601`. Notifications
|
|
32
|
+
have no result body (`202`).
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
| `run_command` | shell 없이 고정 read-only 명령 allowlist 실행 | 높음 |
|
|
35
|
-
| `run_terminal_command` | 터미널 명령 (별칭) | 높음 |
|
|
34
|
+
Every native tool call goes through the existing tool governor. A governance
|
|
35
|
+
refusal is a JSON-RPC error (`-32001`), not a successful tool result.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
## 도구 목록
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
MCP exposes a **curated, read-oriented** subset of Lattice native tools,
|
|
40
|
+
plus each installed skill as a prompt asset. Writes, shell, desktop control,
|
|
41
|
+
and remote-install tools are **not** on this surface — use the REST `/tools/*`
|
|
42
|
+
routes (with their own approval gates) for those.
|
|
43
43
|
|
|
44
|
-
###
|
|
44
|
+
### Native (governed)
|
|
45
45
|
|
|
46
46
|
| 도구 | 설명 | 위험도 |
|
|
47
47
|
|------|------|--------|
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
48
|
+
| `list_dir` | 워크스페이스 디렉터리 목록 (sandbox) | 낮음 |
|
|
49
|
+
| `read_file` | 워크스페이스 UTF-8 파일 읽기 (offset/limit) | 낮음 |
|
|
50
|
+
| `workspace_tree` | 재귀 트리 (깊이 제한) | 낮음 |
|
|
51
|
+
| `grep` | 워크스페이스 정규식 검색 | 낮음 |
|
|
52
|
+
| `knowledge_search` | 지식 정원 검색 (workspace scope, 승인 정책 적용) | 낮음 |
|
|
53
|
+
| `knowledge_tree` | 지식 정원 파일 목록 (동일 정책) | 낮음 |
|
|
54
|
+
| `git_status` | 워크스페이스 안 read-only `git status` | 낮음 |
|
|
53
55
|
|
|
54
|
-
###
|
|
56
|
+
### Skills (prompt assets)
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
| `read_docx` | Word 문서 읽기 | 낮음 |
|
|
61
|
-
| `read_xlsx` | Excel 파일 읽기 | 낮음 |
|
|
62
|
-
| `read_pptx` | PowerPoint 읽기 | 낮음 |
|
|
58
|
+
Installed skills from the skills directory appear as `skill.<name>`
|
|
59
|
+
(for example `skill.code_review`). `tools/list` serves the parsed
|
|
60
|
+
`schema.json` input schema. `tools/call` returns the `SKILL.md` body plus
|
|
61
|
+
the input echo — skills are not executables.
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
Typical names when the repo `skills/` tree is installed:
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
- `skill.code_review`
|
|
66
|
+
- `skill.data_analysis`
|
|
67
|
+
- `skill.file_edit`
|
|
68
|
+
- `skill.meeting_notes`
|
|
69
|
+
- `skill.summarize_document`
|
|
70
|
+
- `skill.web_search`
|
|
71
|
+
- `skill.weekly_review`
|
|
71
72
|
|
|
72
|
-
## REST API
|
|
73
|
+
## REST API
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
The same governed subset is also reachable at `POST /mcp/call`
|
|
76
|
+
(`{"action": "...", "args": {}}`) and the existing `/tools/*` routes.
|
|
75
77
|
|
|
76
78
|
```bash
|
|
77
|
-
#
|
|
78
|
-
curl -
|
|
79
|
-
"
|
|
79
|
+
# MCP JSON-RPC initialize
|
|
80
|
+
curl -s -X POST http://localhost:4825/mcp \
|
|
81
|
+
-H "Content-Type: application/json" \
|
|
82
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
|
|
80
83
|
|
|
81
|
-
#
|
|
82
|
-
curl -b "
|
|
83
|
-
http://localhost:4825/tools/edit_file \
|
|
84
|
+
# MCP tools/call
|
|
85
|
+
curl -s -b "session_token=<token>" -X POST http://localhost:4825/mcp \
|
|
84
86
|
-H "Content-Type: application/json" \
|
|
85
|
-
-d '{"
|
|
87
|
+
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_dir","arguments":{"path":"."}}}'
|
|
86
88
|
|
|
87
|
-
#
|
|
88
|
-
curl -b "
|
|
89
|
-
"
|
|
89
|
+
# REST sibling (same dispatch)
|
|
90
|
+
curl -s -b "session_token=<token>" -X POST http://localhost:4825/mcp/call \
|
|
91
|
+
-H "Content-Type: application/json" \
|
|
92
|
+
-d '{"action":"list_dir","args":{"path":"."}}'
|
|
90
93
|
|
|
91
|
-
#
|
|
92
|
-
curl -b "
|
|
93
|
-
http://localhost:4825/tools/run_command \
|
|
94
|
+
# Full write/exec surface (not on MCP)
|
|
95
|
+
curl -s -b "session_token=<token>" -X POST http://localhost:4825/tools/edit_file \
|
|
94
96
|
-H "Content-Type: application/json" \
|
|
95
|
-
-d '{"
|
|
97
|
+
-d '{"path": "server.py", "old_string": "old code", "new_string": "new code"}'
|
|
96
98
|
```
|
|
97
99
|
|
|
98
|
-
`run_command
|
|
99
|
-
Python/Node/npm/npx/sed, shell
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
`run_command` remains a REST-only admin tool. It allows `pwd`, `ls`, `find`,
|
|
101
|
+
`cat`, `head`, `tail`, `wc`, `rg` only. Python/Node/npm/npx/sed, shell
|
|
102
|
+
operators, executable paths, absolute paths, `..` traversal, workspace-outside
|
|
103
|
+
symlinks, `rg --pre`, and `find -exec/-delete` are refused.
|
|
102
104
|
|
|
103
105
|
## 도구 카탈로그 조회
|
|
104
106
|
|
|
105
107
|
```bash
|
|
106
|
-
curl -b "
|
|
108
|
+
curl -b "session_token=<token>" http://localhost:4825/mcp/tools
|
|
107
109
|
```
|
|
108
110
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"risk": "medium",
|
|
117
|
-
"parameters": { ... }
|
|
118
|
-
},
|
|
119
|
-
...
|
|
120
|
-
]
|
|
121
|
-
}
|
|
122
|
-
```
|
|
111
|
+
`GET /mcp/tools` lists Lattice's native tool catalog (names, descriptions,
|
|
112
|
+
governance). `tools/list` on `POST /mcp` is the MCP-shaped list with JSON
|
|
113
|
+
Schemas for the curated subset plus skills.
|
|
114
|
+
|
|
115
|
+
`POST /mcp/install` enables a skill or plugin Lattice can actually flip in
|
|
116
|
+
the workspace registry. Remote npm/pip/connector entries return
|
|
117
|
+
`{"status":"manual_required", ...}` instead of a blank 404.
|
|
123
118
|
|
|
124
|
-
|
|
125
|
-
MCP/plugin dispatch
|
|
126
|
-
|
|
127
|
-
사용합니다.
|
|
119
|
+
The catalogs require authentication and do not return the absolute
|
|
120
|
+
`AGENT_ROOT`. MCP/plugin dispatch cannot bypass user, workspace, capability,
|
|
121
|
+
or approval policy. Knowledge-garden reads use explicit user/workspace scope.
|
package/docs/security-model.md
CHANGED
|
@@ -88,9 +88,12 @@ MAGIC_NUMBERS = {
|
|
|
88
88
|
|
|
89
89
|
## 수집 & 그래프 포터빌리티 보안 (v3.6.0)
|
|
90
90
|
|
|
91
|
-
- **수집 라이프사이클**: 모든 수집은 `
|
|
92
|
-
|
|
93
|
-
정직하게 `status="blocked"`로
|
|
91
|
+
- **수집 라이프사이클**: 모든 수집은 네이티브 ingest 문(`lattice-ingest` →
|
|
92
|
+
`lattice_core::graph_write`) → 도구 디스패치를 거쳐 `pre_tool`/`post_tool`
|
|
93
|
+
훅이 발화됩니다. `pre_tool`이 차단하면 수집은 정직하게 `status="blocked"`로
|
|
94
|
+
거부됩니다(권한 게이트·민감정보 가드 적용). v3.6.0에 이 계약을 세운 것은
|
|
95
|
+
Python `IngestionPipeline.ingest`였고, v11.6.0이 문을 Rust로 옮기면서 계약은
|
|
96
|
+
그대로 유지했습니다.
|
|
94
97
|
- **웹 URL 읽기**(`/api/browser/read-url`): `http(s)`만 허용하고 DNS의 모든 결과에서
|
|
95
98
|
loopback/private/link-local/multicast/reserved 주소를 거부합니다. 검증한 IP에 연결을
|
|
96
99
|
고정해 DNS rebinding을 막고, redirect마다 재검증하며 환경 proxy를 사용하지
|
|
@@ -119,35 +119,7 @@ from .relations import ( # noqa: E402
|
|
|
119
119
|
_infer_edge,
|
|
120
120
|
infer_edge_relation,
|
|
121
121
|
)
|
|
122
|
-
from .text import
|
|
123
|
-
_CHUNK_STRATEGIES,
|
|
124
|
-
_CODE_BLANK_RUN_RE,
|
|
125
|
-
_CODE_BOUNDARY_LINE_RE,
|
|
126
|
-
_CODE_CHUNK_EXTENSIONS,
|
|
127
|
-
_MARKDOWN_CHUNK_EXTENSIONS,
|
|
128
|
-
_MARKDOWN_HEADING_RE,
|
|
129
|
-
_MARKDOWN_MIN_SECTION_CHARS,
|
|
130
|
-
_PROSE_CHUNK_EXTENSIONS,
|
|
131
|
-
_PROSE_MIN_SPAN_RATIO,
|
|
132
|
-
_PROSE_STRONG_BOUNDARY_RE,
|
|
133
|
-
_PROSE_WEAK_BOUNDARY_RE,
|
|
134
|
-
_chunks,
|
|
135
|
-
_clean_text,
|
|
136
|
-
_code_chunks,
|
|
137
|
-
_code_segment_spans,
|
|
138
|
-
_last_boundary,
|
|
139
|
-
_markdown_chunks,
|
|
140
|
-
_markdown_section_spans,
|
|
141
|
-
_merge_small_sections,
|
|
142
|
-
_plain_windows,
|
|
143
|
-
_prose_chunks,
|
|
144
|
-
chunk_strategy_for,
|
|
145
|
-
citation_locator,
|
|
146
|
-
page_for_offset,
|
|
147
|
-
pdf_page_offsets,
|
|
148
|
-
typed_chunk_meta_fields,
|
|
149
|
-
typed_chunks,
|
|
150
|
-
)
|
|
122
|
+
from .text import _chunks, _clean_text # noqa: E402
|
|
151
123
|
|
|
152
124
|
# Static export list. This used to be `[name for name in globals() if not
|
|
153
125
|
# name.startswith("__")]`, which is invisible to a type checker: every
|
|
@@ -187,30 +159,17 @@ __all__ = [
|
|
|
187
159
|
"Tuple",
|
|
188
160
|
"VERB_EDGE_WEIGHT",
|
|
189
161
|
"WINDOWS_EXCLUDED_NAMES",
|
|
190
|
-
"_CHUNK_STRATEGIES",
|
|
191
|
-
"_CODE_BLANK_RUN_RE",
|
|
192
|
-
"_CODE_BOUNDARY_LINE_RE",
|
|
193
|
-
"_CODE_CHUNK_EXTENSIONS",
|
|
194
162
|
"_CONCEPT_STOP",
|
|
195
163
|
"_KG_DB_FORMAT_KEY",
|
|
196
164
|
"_KG_DB_FORMAT_VERSION",
|
|
197
165
|
"_LLM_EXTRACT_CONCEPT_PROMPT",
|
|
198
166
|
"_LLM_EXTRACT_TRIPLE_PROMPT",
|
|
199
|
-
"_MARKDOWN_CHUNK_EXTENSIONS",
|
|
200
|
-
"_MARKDOWN_HEADING_RE",
|
|
201
|
-
"_MARKDOWN_MIN_SECTION_CHARS",
|
|
202
167
|
"_NOT_PERSON_WORDS",
|
|
203
168
|
"_PROJECTION_VERSION",
|
|
204
|
-
"_PROSE_CHUNK_EXTENSIONS",
|
|
205
|
-
"_PROSE_MIN_SPAN_RATIO",
|
|
206
|
-
"_PROSE_STRONG_BOUNDARY_RE",
|
|
207
|
-
"_PROSE_WEAK_BOUNDARY_RE",
|
|
208
169
|
"_V2_WRITE_MASTER_KEY",
|
|
209
170
|
"_chunks",
|
|
210
171
|
"_classify_node_type",
|
|
211
172
|
"_clean_text",
|
|
212
|
-
"_code_chunks",
|
|
213
|
-
"_code_segment_spans",
|
|
214
173
|
"_current_os_type",
|
|
215
174
|
"_drive_id_for_path",
|
|
216
175
|
"_excluded_directory_reason",
|
|
@@ -223,20 +182,14 @@ __all__ = [
|
|
|
223
182
|
"_is_hidden_path",
|
|
224
183
|
"_is_relative_to",
|
|
225
184
|
"_json",
|
|
226
|
-
"_last_boundary",
|
|
227
185
|
"_llm_extract_concepts",
|
|
228
186
|
"_llm_extract_triples",
|
|
229
|
-
"_markdown_chunks",
|
|
230
|
-
"_markdown_section_spans",
|
|
231
|
-
"_merge_small_sections",
|
|
232
187
|
"_node_type_for_category",
|
|
233
188
|
"_now",
|
|
234
189
|
"_parse_iso",
|
|
235
190
|
"_parser_type_for_category",
|
|
236
191
|
"_path_fingerprint",
|
|
237
192
|
"_path_parts_lower",
|
|
238
|
-
"_plain_windows",
|
|
239
|
-
"_prose_chunks",
|
|
240
193
|
"_recency_score",
|
|
241
194
|
"_root_warning",
|
|
242
195
|
"_safe_iso_from_stat_mtime",
|
|
@@ -250,8 +203,6 @@ __all__ = [
|
|
|
250
203
|
"_slug",
|
|
251
204
|
"_topic_candidates",
|
|
252
205
|
"asyncio",
|
|
253
|
-
"chunk_strategy_for",
|
|
254
|
-
"citation_locator",
|
|
255
206
|
"contextmanager",
|
|
256
207
|
"datetime",
|
|
257
208
|
"get_llm_router",
|
|
@@ -261,8 +212,6 @@ __all__ = [
|
|
|
261
212
|
"logging",
|
|
262
213
|
"math",
|
|
263
214
|
"os",
|
|
264
|
-
"page_for_offset",
|
|
265
|
-
"pdf_page_offsets",
|
|
266
215
|
"platform",
|
|
267
216
|
"quiet",
|
|
268
217
|
"re",
|
|
@@ -270,7 +219,5 @@ __all__ = [
|
|
|
270
219
|
"shutil",
|
|
271
220
|
"sqlite3",
|
|
272
221
|
"time",
|
|
273
|
-
"typed_chunk_meta_fields",
|
|
274
|
-
"typed_chunks",
|
|
275
222
|
"zipfile",
|
|
276
223
|
]
|