dodo-mcp 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # DODO MCP
2
2
 
3
- **DODO MCP 1.0.0** คือ MCP server แบบ local-first สำหรับให้ AI ช่วยพัฒนา software โดยทำงานกับ workspace ที่เจ้าของเลือก ค่าเริ่มต้นเป็นโหมดส่วนตัวแบบเพิ่มโปรเจกต์แล้วใช้ได้ทันที และยังมีโหมด managed สำหรับแยก workspace ACL/trust แบบละเอียด
3
+ **DODO MCP 1.0.1** คือ MCP server แบบ local-first สำหรับให้ AI ช่วยพัฒนา software โดยทำงานกับ workspace ที่เจ้าของเลือก ค่าเริ่มต้นเป็นโหมดส่วนตัวแบบเพิ่มโปรเจกต์แล้วใช้ได้ทันที และยังมีโหมด managed สำหรับแยก workspace ACL/trust แบบละเอียด
4
4
 
5
5
  ## จุดเด่น
6
6
 
@@ -1,6 +1,6 @@
1
1
  # AI Providers, Sub-agents และหลายโปรเจกต์
2
2
 
3
- DODO MCP 1.0.0 สามารถเปิด runtime ของหลายโปรเจกต์ใน process เดียว และเรียกโมเดลจาก backend ผ่าน connection/profile ที่เจ้าของเลือกได้ ค่าเริ่มต้นเป็นโหมดส่วนตัว: เพิ่มโปรเจกต์, connection และ profile แล้วใช้งานได้ทันทีโดยไม่ต้องทำ allowlist ซ้ำ
3
+ DODO MCP 1.0.1 สามารถเปิด runtime ของหลายโปรเจกต์ใน process เดียว และเรียกโมเดลจาก backend ผ่าน connection/profile ที่เจ้าของเลือกได้ ค่าเริ่มต้นเป็นโหมดส่วนตัว: เพิ่มโปรเจกต์, connection และ profile แล้วใช้งานได้ทันทีโดยไม่ต้องทำ allowlist ซ้ำ
4
4
 
5
5
  ## เริ่มใช้งานผ่านเว็บ
6
6
 
@@ -1,5 +1,21 @@
1
1
  # DODO MCP — Architecture
2
2
 
3
+ ## Platform evidence
4
+
5
+ `release-gate.mjs` collects separate core/packaging JSON reports from `test:all`,
6
+ validates their assertion counts, and binds the run to HEAD, dependency lock and
7
+ a fingerprint of code/tests/gate inputs (including untracked candidate files).
8
+ The fingerprint excludes generated dist/schemas and documentation; it is checked
9
+ again at completion. Docker also checks the actual copied inputs against the host
10
+ fingerprint. A dirty candidate remains ineligible for a clean release claim.
11
+
12
+ Private command capture is shared by the release gate and Linux Docker driver.
13
+ `gate-summary.mjs` writes a separate allowlisted public summary; it never rewrites
14
+ the authoritative private report or promotes manual acceptance. Evidence output
15
+ directories cannot reuse old gate/test reports. Linux images require real ffmpeg
16
+ and eSpeak coverage; absence of those prerequisites is a gate failure, while
17
+ Whisper/interactive desktop remain explicitly separate gates.
18
+
3
19
  ## Overview
4
20
 
5
21
  DODO แบ่งเป็น data plane สำหรับ MCP tools และ owner control plane สำหรับ Local Config/CLI ทั้งสอง plane ใช้ state และ workspace lifecycle เดียวกัน แต่ public MCP ไม่มี admin endpoint
@@ -0,0 +1,46 @@
1
+ # DODO MCP 1.0.1
2
+
3
+ Patch release นี้ปรับความน่าเชื่อถือของ platform/release gates โดยไม่เปลี่ยน runtime
4
+ หรือ API contract จาก 1.0.0 ระบบ multi-project, AI provider/profile, owner web workspace
5
+ และ Sub-agent controls ยังคงทำงานตาม contract เดิม และไม่เปลี่ยน security authority
6
+ ของ OAuth, project ACL, workspace ID/epoch, trust, approval, path/secret guard,
7
+ expected hash หรือ command sandbox
8
+
9
+ ## สิ่งที่เปลี่ยน
10
+
11
+ - เพิ่ม Linux media, tunnel credential และ gate-evidence regression tests
12
+ - ทำ source fingerprint และ persistent Windows checkout ให้ deterministic แม้ runner
13
+ เคยใช้ CRLF policy ต่างจาก repository
14
+ - ตรวจ canonical tracked bytes และ clean index ก่อนเริ่ม Windows gate
15
+ - เก็บ sanitized gate summary ใน log เมื่อ GitHub artifact quota เต็ม โดยไม่ทำให้
16
+ artifact upload กลายเป็นตัวตัดสินผล test
17
+
18
+ ## ติดตั้งและอัปเดต
19
+
20
+ ```bash
21
+ npm install -g dodo-mcp@1.0.1
22
+ dodo --version
23
+ ```
24
+
25
+ หลังอัปเดตให้ restart process ที่กำลังรันอยู่ และให้ MCP client rescan/recreate connection
26
+ หาก client เก็บ tool catalog เดิมไว้
27
+
28
+ ## Tool surface
29
+
30
+ - HTTP ใช้ Compact 19 tools เป็นค่าเริ่มต้น
31
+ - STDIO ใช้ Full 121 tools เป็นค่าเริ่มต้น
32
+ - เมื่อเจ้าของเปิด Sub-agent MCP exposure แล้ว Full เป็น 125 tools
33
+ - Hybrid คง 49 tools
34
+
35
+ การซ่อนหรือเปิด Sub-agent operations เปลี่ยนเฉพาะ catalog exposure ไม่เพิ่ม OAuth scope,
36
+ project ACL, trust, profile authority หรือ approval
37
+
38
+ ## ผลตรวจอัตโนมัติ
39
+
40
+ - macOS Node 22: core 669 ผ่าน, packaging 16/16, audit 0, benchmark 7/7 และ fresh install ผ่าน
41
+ - Windows native Node 22 และ 24: core 671 ผ่านต่อรุ่น, packaging 16/16, audit 0,
42
+ benchmark 7/7 และ fresh install ผ่าน
43
+ - Linux Docker ใช้หลักฐาน gate ที่ผ่านก่อนหน้า; release follow-up นี้ไม่ได้รัน Linux ซ้ำ
44
+
45
+ ผล live provider, external MCP client และ Windows desktop permission จริงยังเป็น
46
+ `MANUAL_NOT_RUN` จนกว่าเจ้าของจะทดสอบด้วย credential และ environment จริง
@@ -1,5 +1,29 @@
1
1
  # DODO MCP — Release Notes
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Platform และ release hardening
6
+
7
+ - เพิ่ม Linux Docker gate และ Windows native self-hosted gates สำหรับ Node 22/24
8
+ - ทำ Windows checkout/fingerprint ให้ deterministic เมื่อ runner ถูกใช้ซ้ำและมีนโยบาย
9
+ CRLF ต่างจาก repository โดยตรวจ tracked tree ให้สะอาดก่อนเริ่ม gate
10
+ - release gate ตรวจ typecheck, lint, core/security/compatibility, packaging, production
11
+ dependency audit, DodoBench และ fresh exact-tarball install
12
+ - เพิ่ม regression tests สำหรับ Linux media, tunnel credential handling และการจัดการ
13
+ gate evidence โดยไม่เปลี่ยน runtime/API contract จาก 1.0.0
14
+ - ไม่มีการลด OAuth, project ACL, workspace context, approval, path/secret guard,
15
+ expected-hash conflict protection หรือ command sandbox
16
+
17
+ ## วิธีอัปเดตเป็น 1.0.1
18
+
19
+ ```bash
20
+ npm install -g dodo-mcp@1.0.1
21
+ dodo --version
22
+ ```
23
+
24
+ หลังติดตั้งให้ restart DODO process และ rescan/recreate MCP connection เมื่อ client cache
25
+ tool catalog เดิม
26
+
3
27
  ## 1.0.0
4
28
 
5
29
  ### Global launcher และ interactive CLI
package/docs/SECURITY.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # DODO MCP — Security
2
2
 
3
+ ## Release evidence privacy
4
+
5
+ The DODO release-gate and Linux Docker-driver scripts capture child stdout/stderr and failure diagnostics in private
6
+ ignored logs. CI readiness does not dump Docker/host details. Only an explicitly
7
+ allowlisted `public-summary.json` is uploaded, with seven-day retention: revision,
8
+ lock/code fingerprint, platform/architecture/Node, step exit codes, test counts
9
+ including skips, audit counts and package hashes. Arbitrary error messages,
10
+ command arguments, test names, owner paths and runner identity are not copied.
11
+ Raw evidence is not suitable for public upload. GitHub's automatic Set up job
12
+ machine-name output and previously published logs require separate owner action;
13
+ these changes do not erase historical disclosures.
14
+
3
15
  ## Security model
4
16
 
5
17
  DODO ใช้หลายชั้นร่วมกัน:
@@ -2,7 +2,28 @@
2
2
 
3
3
  ## Scope
4
4
 
5
- รายงานนี้ใช้กับ DODO MCP 1.0.0 source และแยกผล automated กับ manual อย่างชัดเจน
5
+ รายงานนี้ใช้กับ DODO MCP 1.0.1 source และแยกผล automated กับ manual อย่างชัดเจน
6
+
7
+ ## Release 1.0.1 platform gate — 2026-09-15
8
+
9
+ - macOS local, Node 22: **AUTOMATED_PASS** — core 669 passed / 0 failed / 34 skipped,
10
+ packaging 16/16, production audit 0 vulnerabilities, DodoBench 7/7 และ fresh
11
+ exact-tarball install ผ่าน
12
+ - Windows native self-hosted, Node 22: **AUTOMATED_PASS** — core 671 passed / 0 failed /
13
+ 32 skipped, packaging 16/16, production audit 0 vulnerabilities, DodoBench 7/7
14
+ และ fresh install ผ่าน
15
+ - Windows native self-hosted, Node 24: **AUTOMATED_PASS** — core 671 passed / 0 failed /
16
+ 32 skipped, packaging 16/16, production audit 0 vulnerabilities, DodoBench 7/7
17
+ และ fresh install ผ่าน
18
+ - Linux Docker: ใช้หลักฐาน gate ที่ผ่านก่อนหน้าและไม่มี runtime source เปลี่ยนหลังจากนั้น;
19
+ release นี้ไม่ได้รัน Linux ซ้ำตามขอบเขต platform follow-up ที่เจ้าของกำหนด
20
+ - Windows manual acceptance บน desktop/permission จริงและ live AI providers:
21
+ **MANUAL_NOT_RUN**
22
+
23
+ Windows CI แก้ persistent-checkout line-ending drift โดยบังคับ canonical Git bytes และ
24
+ ตรวจ clean index ก่อนสร้าง source fingerprint ไม่มีการลด security assertion หรือข้าม
25
+ release gate ส่วน GitHub artifact upload อาจไม่เกิดเมื่อ storage quota เต็ม แต่ sanitized
26
+ summary ยังคงอยู่ใน job log และผล gate ไม่อาศัย artifact upload
6
27
 
7
28
  ## Optional Sub-agent MCP exposure — 2026-09-14
8
29
 
@@ -48,7 +69,7 @@ OAuth scope, ACL, trust, profile authority, approval หรือข้าม gu
48
69
 
49
70
  ## AI Providers / Multi-project — current source verification
50
71
 
51
- วันที่ 2026-09-14 บน macOS, Node 22.23.2; source v1.0.0 ที่ยังไม่ publish
72
+ วันที่ 2026-09-14 บน macOS, Node 22.23.2; source baseline ก่อน release 1.0.1
52
73
 
53
74
  | Gate | ผล |
54
75
  |---|---|
package/docs/WINDOWS.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # DODO Windows Candidate — Deferred
2
2
 
3
- DODO MCP 1.0.0 ยังไม่ประกาศ native Windows support โค้ดและ tests สำหรับ Windows
3
+ DODO MCP 1.0.1 ยังไม่ประกาศ native Windows support โค้ดและ tests สำหรับ Windows
4
4
  บางส่วนมีอยู่เป็น candidate สำหรับ phase สุดท้าย แต่ยังไม่มีหลักฐานจาก Windows 11 จริง
5
5
  และ Linux Docker ไม่สามารถใช้แทนหลักฐาน Windows ได้
6
6
 
@@ -42,18 +42,20 @@ budget, never deleting a destination or clearing read-only attributes to force
42
42
  a write. Preserve BOM and CRLF bytes in source edits.
43
43
 
44
44
  OAuth, workspace/client ACLs, trust modes, per-action approvals, journals and
45
- compact/hybrid/full exposure retain their existing authority. Windows has no
46
- DODO command sandbox; requested sandboxing fails closed. Schedules require an
47
- explicit unsandboxed specification and separate local owner approval. Desktop
48
- and macOS speech remain unsupported on Windows; no silent privilege downgrade.
45
+ compact/hybrid/full exposure retain their existing authority. The current
46
+ candidate includes Windows sandbox integration with native status/confinement
47
+ receipt checks, a C# desktop helper and SAPI speech. These are optional backends:
48
+ missing prerequisites or required confinement must fail closed, not silently
49
+ run unsandboxed. Source availability is not proof of positive native acceptance;
50
+ see WINDOWS.md for outstanding Windows 11, desktop and confinement gates.
49
51
 
50
52
  ## Compatibility and rollout
51
53
 
52
54
  The project keeps its current baseline while the Windows support status remains
53
- EXPERIMENTAL until the proposal's native gates pass. Add an allow-failure
54
- Windows Node 22/24 CI evidence job first; do not skip entire legacy suites to
55
- produce green results. Only after native tests and Windows 11 manual acceptance
56
- may that job become required and documentation say supported.
55
+ EXPERIMENTAL until the proposal's native gates pass. The current Windows Node
56
+ 22/24 CI jobs fail the workflow on test failure; do not skip legacy assertions
57
+ to produce green results. A green automated workflow does not replace Windows 11
58
+ manual acceptance or by itself permit documentation to say supported.
57
59
 
58
60
  The IPC protocol intentionally has no unauthenticated fallback. Owners
59
61
  must stop running servers from the existing installation or terminal before
@@ -16,10 +16,17 @@ self-hosted runner มีความเสี่ยงต่อเครื่
16
16
  ทุก job ใช้ `contents: read`, checkout ไม่ persist credentials และ action dependency
17
17
  ถูก pin ด้วย full commit SHA
18
18
 
19
+ `push main` และ manual dispatch ค่าเริ่มต้นรันเฉพาะ Windows Node 22/24
20
+ ยอมรับผล Linux Docker ที่ตรวจในเครื่องได้โดยไม่บังคับทดสอบ Linux X64 ซ้ำ
21
+ หากต้องการ remote Linux เพิ่ม เจ้าของเลือก `platform=linux` หรือ `all`
22
+ ใน manual dispatch ได้ การเลือก job ไม่เปลี่ยนผลหรือ identity ของ evidence เดิม
23
+
19
24
  Linux runner label `linux-ci` รัน release gate ภายใน Docker image เดิมบน Node 22/24
20
25
  Windows runner label `windows-ci 02` รัน native candidate release gate บน Node 22/24
21
26
  พร้อมตรวจ enabled Administrator token สำหรับ ACL tests ทั้งสอง job upload เฉพาะ
22
- non-secret ignored evidence และไม่มีขั้น publish npm
27
+ `public-summary.json` ที่สร้างด้วย explicit field allowlist และกำหนด retention
28
+ 7 วัน ไม่ upload raw logs, runner identity, state หรือ evidence directory ทั้งชุด
29
+ ไม่มีขั้น publish npm
23
30
 
24
31
  macOS ยังคงเป็น local release gate Strict release readiness ต้องมี macOS กับ Linux
25
32
  evidence จาก clean revision และ dependency lock เดียวกัน Windows automated result
@@ -36,3 +43,16 @@ PR checks ภายหลังต้องใช้ disposable isolated runner
36
43
  `.github/workflows/platform-gates.yml`, `scripts/test-linux-docker.mjs` และ
37
44
  `scripts/release-gate.mjs` บันทึก platform, runner origin, revision, lock digest,
38
45
  test/package/audit/fresh-install results โดยไม่เก็บ token
46
+
47
+ ## Evidence/privacy update
48
+
49
+ Readiness ไม่ dump `docker info`; gate/Docker child diagnostics รวม error paths
50
+ เก็บเฉพาะใน private logs Public summary ไม่รับ error strings, command arguments,
51
+ test names หรือ host identity จากรายงานดิบ และตรวจ machine-test counts กับ
52
+ assertion results ก่อนรับรองผ่าน แต่ GitHub runner ยังแสดง Machine name ใน
53
+ Set up job ก่อน workflow steps; owner ต้องจัดการ hostname และ logs เก่าแยก
54
+ การเปลี่ยน source นี้ไม่ลบสิ่งที่เคยเผยแพร่แล้ว
55
+
56
+ Gate บันทึก code/test/gate fingerprint สำหรับ dirty candidate เพิ่มจาก HEAD/lock
57
+ และตรวจอีกครั้งตอนจบ Docker ตรวจ fingerprint ของไฟล์ที่ COPY จริงกับ host
58
+ ไม่ใช้ HEAD เดิมรับรอง uncommitted source คนละชุด และไม่เปลี่ยน release policy
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dodo-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "author": "Arthittakun",
5
5
  "description": "DODO — local-first MCP server with multi-project coding, AI providers, sub-agents, context, memory, media and workflow tools; embedded OAuth and workspace permissions.",
6
6
  "type": "module",
@@ -39,6 +39,7 @@
39
39
  "docs/RESOURCES.md",
40
40
  "docs/RUNTIME.md",
41
41
  "docs/RELEASE_1.0.0.md",
42
+ "docs/RELEASE_1.0.1.md",
42
43
  "docs/RELEASE_NOTES.md",
43
44
  "docs/SCHEDULES.md",
44
45
  "docs/SECURITY.md",