dodo-mcp 1.0.5 → 1.0.6

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.5** คือ MCP server แบบ local-first สำหรับให้ AI ช่วยพัฒนา software โดยทำงานกับ workspace ที่เจ้าของเลือก ค่าเริ่มต้นเป็นโหมดส่วนตัวแบบเพิ่มโปรเจกต์แล้วใช้ได้ทันที และยังมีโหมด managed สำหรับแยก workspace ACL/trust แบบละเอียด
3
+ **DODO MCP 1.0.6** คือ MCP server แบบ local-first สำหรับให้ AI ช่วยพัฒนา software โดยทำงานกับ workspace ที่เจ้าของเลือก ค่าเริ่มต้นเป็นโหมดส่วนตัวแบบเพิ่มโปรเจกต์แล้วใช้ได้ทันที และยังมีโหมด managed สำหรับแยก workspace ACL/trust แบบละเอียด
4
4
 
5
5
  ## จุดเด่น
6
6
 
@@ -35,6 +35,22 @@ dodo setup --check
35
35
  dodo --cli
36
36
  ```
37
37
 
38
+ ### Android / Termux (ทดลองใช้)
39
+
40
+ DODO 1.0.6 ไม่โหลด Sharp ตั้งแต่เริ่ม CLI อีกต่อไป จึงใช้คำสั่งพื้นฐานและ MCP
41
+ สำหรับ text/code ได้แม้เครื่องไม่มี native Sharp build แพ็กเกจมี WebAssembly image backend
42
+ เป็น optional dependency; หาก npm ข้าม optional dependency ให้ติดตั้งเพิ่มแล้วเปิด DODO ใหม่:
43
+
44
+ ```bash
45
+ npm install -g dodo-mcp@latest @img/sharp-wasm32@0.35.4
46
+ dodo --version
47
+ ```
48
+
49
+ หาก image backend ยังไม่พร้อม เฉพาะเครื่องมือภาพจะตอบ `NOT_SUPPORTED` โดย CLI และ
50
+ เครื่องมือ coding ส่วนอื่นยังเริ่มได้ Android/Termux ยังเป็นสถานะทดลองใช้: installer,
51
+ OS credential store, sandbox, desktop control และ browser automation ยังไม่ได้ผ่าน
52
+ Android acceptance ครบ ดูข้อจำกัดและวิธีตรวจรับที่ [Android / Termux](docs/ANDROID.md)
53
+
38
54
  ## เชื่อม ChatGPT ภายในไม่กี่นาที
39
55
 
40
56
  ChatGPT ต้องเชื่อมผ่าน **Public MCP URL** ของ DODO ซึ่งลงท้ายด้วย `/mcp` ส่วน
@@ -1,12 +1,13 @@
1
- import sharp from 'sharp';
2
1
  import { DodoError } from '../../errors.js';
3
2
  import { digestOf, newId } from '../../util/hash.js';
4
3
  import { MediaStorage, actorKey } from './storage.js';
5
4
  import { ScreenFrame } from './contracts.js';
5
+ import { loadSharpBackend } from './sharpBackend.js';
6
6
  const OPTIONS = { limitInputPixels: 40_000_000, failOn: 'warning' };
7
7
  export async function imageView(bytes, maxEdge, crop) {
8
8
  if (bytes.length > 16 * 1024 * 1024)
9
9
  throw new DodoError('FILE_TOO_LARGE', 'image input exceeds 16 MiB');
10
+ const sharp = await loadSharpBackend();
10
11
  const image = sharp(bytes, OPTIONS);
11
12
  const metadata = await image.metadata();
12
13
  if (!['jpeg', 'png', 'webp', 'gif'].includes(metadata.format ?? '') || !metadata.width || !metadata.height)
@@ -22,6 +23,7 @@ export async function imageView(bytes, maxEdge, crop) {
22
23
  scaleX: (crop?.width ?? width) / converted.info.width, scaleY: (crop?.height ?? height) / converted.info.height, sourceOffsetX: crop?.left ?? 0, sourceOffsetY: crop?.top ?? 0 } };
23
24
  }
24
25
  export async function imageDifference(before, after) {
26
+ const sharp = await loadSharpBackend();
25
27
  const normalize = (b) => sharp(b, OPTIONS).resize(64, 64, { fit: 'fill' }).removeAlpha().toColourspace('srgb').raw().toBuffer();
26
28
  const [a, b] = await Promise.all([normalize(before), normalize(after)]);
27
29
  let changed = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/services/multimodal/images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/services/multimodal/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,WAAW,EAAqC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,OAAO,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;AAC7E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,OAAe,EAAE,IAAe;IAC7E,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAAC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7E,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,EAAE,2DAA2D,CAAC,CAAC;IACrN,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACvD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;IAC7J,IAAI,IAAI;QAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,sFAAsF;IACtF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChL,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI;YAC9J,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvL,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,KAAa;IACjE,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,OAAO,GAAG,CAAC,CAAC;IACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;QAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,EAAE;YAAE,OAAO,EAAE,CAAC;IAClL,OAAO,OAAO,GAAG,IAAI,CAAC;AACxB,CAAC;AAGD,MAAM,OAAO,aAAa;IAGK;IAFpB,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC7C,IAAI,GAAG,KAAK,CAAC;IACrB,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAC9C,KAAK,KAAW,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzH,KAAK,CAAC,KAAY,EAAE,EAAU;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE,yDAAyD,CAAC,CAAC;QAC3I,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC,KAAK,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,KAAY,EAAE,IAA4I,EAAE,KAAiB;QACzL,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,wCAAwC,CAAC,CAAC;QACrH,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAC;QACpI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAkB,EAAE,CAAC;YAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC;oBAAE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1G,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAC3F,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7G,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;oBAAE,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE,oDAAoD,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzP,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnK,IAAI,UAAU,GAA8B,IAAI,CAAC;gBACjD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAAC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;oBACtE,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,KAAK,GAAG,CAAC;oBAC/C,UAAU,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC9J,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,gHAAgH,CAAC,CAAC,CAAC,mEAAmE,EAAE,CAAC;gBAChN,CAAC;gBACD,KAAK,EAAE,CAAC;gBAAC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9I,MAAM,KAAK,GAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;gBACnQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;oBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;gBAC/F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;YAC7J,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iOAAiO,EAAE,CAAC;QAClQ,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAAC,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,KAAY,EAAE,IAAY,EAAE,OAAe,EAAE,IAAe;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACpI,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/I,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7G,CAAC;IACD,KAAK,KAAW,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CACvC"}
@@ -0,0 +1,21 @@
1
+ import { DodoError } from '../../errors.js';
2
+ let backend;
3
+ /**
4
+ * Load the optional raster backend only when an image operation needs it.
5
+ *
6
+ * Some supported core/runtime platforms do not have a native sharp build.
7
+ * Keeping this import lazy lets text/code/transport commands continue to work
8
+ * there while image operations fail with a bounded, non-secret error.
9
+ */
10
+ export async function loadSharpBackend() {
11
+ backend ??= import('sharp')
12
+ .then((module) => module.default)
13
+ .catch(() => {
14
+ backend = undefined;
15
+ throw new DodoError('NOT_SUPPORTED', 'image processing backend is unavailable on this platform', {
16
+ recovery: 'Install @img/sharp-wasm32 beside dodo-mcp or provide a supported libvips build, then restart DODO.',
17
+ });
18
+ });
19
+ return backend;
20
+ }
21
+ //# sourceMappingURL=sharpBackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharpBackend.js","sourceRoot":"","sources":["../../../src/services/multimodal/sharpBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,IAAI,OAA0C,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;SACxB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SAChC,KAAK,CAAC,GAAG,EAAE;QACV,OAAO,GAAG,SAAS,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,eAAe,EAAE,0DAA0D,EAAE;YAC/F,QAAQ,EAAE,oGAAoG;SAC/G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,17 +1,20 @@
1
1
  import fs from 'node:fs';
2
- import sharp from 'sharp';
3
2
  import { DodoError } from '../../errors.js';
4
3
  import { decodeUtf8Strict } from '../../util/bytes.js';
4
+ import { loadSharpBackend } from '../multimodal/sharpBackend.js';
5
5
  const MAX_IMAGE_PIXELS = 64 * 1024 * 1024;
6
6
  export async function inspectResourceFile(file, mimeType) {
7
7
  if (['image/png', 'image/jpeg', 'image/gif', 'image/webp'].includes(mimeType)) {
8
8
  try {
9
+ const sharp = await loadSharpBackend();
9
10
  const meta = await sharp(file, { limitInputPixels: MAX_IMAGE_PIXELS, sequentialRead: true, failOn: 'error' }).metadata();
10
11
  if (!meta.width || !meta.height)
11
12
  throw new Error('missing dimensions');
12
13
  return { width: meta.width, height: meta.height, ...(meta.format ? { format: meta.format } : {}) };
13
14
  }
14
- catch {
15
+ catch (error) {
16
+ if (error instanceof DodoError)
17
+ throw error;
15
18
  throw new DodoError('INVALID_INPUT', 'image decoder rejected corrupt or oversized image metadata');
16
19
  }
17
20
  }
@@ -38,6 +41,7 @@ export async function inspectResourceFile(file, mimeType) {
38
41
  }
39
42
  export async function imagePreview(file, maxEdge) {
40
43
  try {
44
+ const sharp = await loadSharpBackend();
41
45
  const converted = await sharp(file, { limitInputPixels: MAX_IMAGE_PIXELS, sequentialRead: true, failOn: 'error' })
42
46
  .rotate()
43
47
  .resize({ width: maxEdge, height: maxEdge, fit: 'inside', withoutEnlargement: true })
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/services/resources/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/services/resources/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ # DODO บน Android / Termux
2
+
3
+ สถานะ: **ทดลองใช้ (experimental)** ใน DODO 1.0.6
4
+
5
+ DODO รองรับการเริ่ม core CLI และ MCP สำหรับงาน text/code บน Node.js ที่ตรงกับ
6
+ `engines` โดยไม่บังคับให้ Android มี native Sharp runtime ตั้งแต่ startup การมี Git,
7
+ ADB และ `cloudflared` ใน Termux ช่วยเปิด workflow บางส่วนได้ แต่ยังไม่เท่ากับการผ่าน
8
+ Android platform acceptance ทั้งระบบ
9
+
10
+ ## ติดตั้ง
11
+
12
+ ```bash
13
+ pkg update
14
+ pkg install nodejs-lts git ripgrep
15
+ npm install -g dodo-mcp@latest @img/sharp-wasm32@0.35.4
16
+ dodo --version
17
+ ```
18
+
19
+ `@img/sharp-wasm32` เป็น optional image backend หากติดตั้งไม่ได้ ให้ลอง DODO ต่อได้:
20
+ คำสั่งพื้นฐาน, transport และเครื่องมือ coding ต้องไม่ crash เพราะ Sharp ส่วน
21
+ image preview/capture/transform จะตอบ `NOT_SUPPORTED` จนกว่าจะมี backend ที่โหลดได้
22
+
23
+ ตรวจ installation โดยไม่ถือว่ารายการ optional ที่ขาดเป็น success:
24
+
25
+ ```bash
26
+ dodo --version
27
+ dodo doctor
28
+ dodo setup --check
29
+ ```
30
+
31
+ ## ขอบเขตที่คาดว่าใช้ได้
32
+
33
+ - CLI, HTTP/STDIO MCP, OAuth และ Local Config เมื่อ Termux อนุญาต loopback/network
34
+ - อ่าน ค้นหา และแก้ไฟล์ภายใน path ที่ Termux เข้าถึงได้ตาม Android storage permission
35
+ - Git, ripgrep และ command jobs เมื่อ executable อยู่ใน trusted PATH
36
+ - Cloudflare Tunnel เมื่อ `cloudflared` binary สำหรับเครื่องนั้นผ่าน capability probe
37
+ - เครื่องมือภาพเมื่อ WebAssembly/libvips backend โหลดและ probe ได้จริง
38
+
39
+ ## สิ่งที่ยังไม่ประกาศรองรับ
40
+
41
+ - `dodo setup --yes` แบบติดตั้ง dependencies อัตโนมัติสำหรับ Android
42
+ - macOS Keychain, Windows Credential Manager หรือ Linux Secret Service integration
43
+ - OS command sandbox สำหรับ Android
44
+ - native desktop capture/control, microphone หรือ system audio
45
+ - Playwright Chromium/browser automation บน Android
46
+ - background survival หลัง Termux ถูก Android หยุด process
47
+
48
+ ฟังก์ชันที่ไม่มี backend ต้องตอบ `NOT_SUPPORTED` ตามจริง DODO จะไม่ลด OAuth,
49
+ project/workspace context, path/secret guard, expected hash, approval หรือ command
50
+ sandbox policy เพื่อทำให้ probe ผ่าน
51
+
52
+ ## การรายงานปัญหา
53
+
54
+ แนบเฉพาะข้อมูลที่ไม่เป็นความลับ:
55
+
56
+ ```bash
57
+ node --version
58
+ npm --version
59
+ dodo --version
60
+ uname -a
61
+ ```
62
+
63
+ ห้ามแนบ Tunnel token, OAuth client secret, API key, Local Config URL ที่มี fragment,
64
+ state database หรือเนื้อหาไฟล์ส่วนตัว หาก `dodo --version` ผ่านแต่ capability หนึ่ง
65
+ ตอบ `NOT_SUPPORTED` ให้แยกรายงาน capability และ dependency นั้น ไม่สรุปว่า CLI ทั้งตัวพัง
@@ -8,6 +8,7 @@
8
8
  | macOS | รองรับ coding, HTTP, STDIO, Local Config และ optional native integrations ตาม permission |
9
9
  | Linux | รองรับ coding, HTTP, STDIO, Local Config และ optional integrations ตาม desktop/runtime environment |
10
10
  | Windows | Deferred — มี candidate code/tests แต่ยังไม่ประกาศ native support จนกว่าจะผ่าน Windows 11 จริง |
11
+ | Android / Termux | Experimental — core CLI และ text/code MCP เริ่มได้โดยไม่บังคับ Sharp; optional integrations ต้องตรวจแยก |
11
12
  | MCP HTTP | OAuth protected MCP endpoint ที่ `/mcp` |
12
13
  | MCP STDIO | Full surface เป็นค่าเริ่มต้น |
13
14
  | Local Config | loopback owner control ที่ 21731; เปิด bounded Remote Config `/config` ผ่าน 21730 ได้ครั้งละไม่เกิน 1 ชั่วโมง |
@@ -58,6 +59,12 @@ media/workflow ขึ้นกับ optional capability ของ platform เ
58
59
 
59
60
  Desktop, browser, media, speech, LSP และ OS sandbox ต้องตรวจ dependency และ OS permission ด้วย `dodo setup --check` หรือ `dodo doctor` ระบบจะรายงาน `NOT_SUPPORTED` เมื่อ environment ยังไม่พร้อม และจะไม่เปิด permission หรือดาวน์โหลด model โดยอัตโนมัติ
60
61
 
62
+ บน Android/Termux แพ็กเกจ Sharp ไม่มี native prebuild โดยตรง DODO จึงโหลด raster
63
+ backend เฉพาะเมื่อเรียก image operation และมี `@img/sharp-wasm32` เป็น optional
64
+ dependency หาก optional install ไม่สำเร็จ CLI/text/code ยังคงทำงาน ส่วน image
65
+ operation ตอบ `NOT_SUPPORTED` Android installer, secure credential store, sandbox,
66
+ desktop และ browser ยังไม่ถือว่ารองรับจนกว่าจะมี platform acceptance แยก
67
+
61
68
  `dodo setup --plan` ใช้ตรวจขั้นตอนติดตั้งแบบ read-only ส่วน installer ต้องมี `--yes` การใช้ `--import-state` รองรับเฉพาะ config ตำแหน่งมาตรฐานและนำเข้า non-authority preferences เท่านั้น custom `DODO_CONFIG_DIR` ไม่ถูกค้นหรือ merge อัตโนมัติ
62
69
 
63
70
  `dodo setup --components cloudflared` ตรวจ executable ได้ทุก OS การติดตั้งอัตโนมัติ
@@ -0,0 +1,39 @@
1
+ # DODO MCP 1.0.6
2
+
3
+ รุ่น 1.0.6 แก้ startup บน platform ที่ไม่มี native Sharp build โดยแยก raster backend
4
+ ออกจากเส้นทางเริ่ม CLI และเพิ่ม WebAssembly image backend เป็น optional dependency
5
+
6
+ ## การเปลี่ยนแปลง
7
+
8
+ - `dodo --version` และคำสั่ง text/code ไม่ import Sharp ระหว่าง startup
9
+ - image/resource raster operations โหลด Sharp เมื่อถูกเรียกเท่านั้น
10
+ - เมื่อ image backend ไม่มี ระบบตอบ `NOT_SUPPORTED` แบบ typed และไม่เปิดเผย loader error
11
+ - เพิ่ม `@img/sharp-wasm32` 0.35.4 เป็น optional dependency ที่ตรงกับ Sharp 0.35.4
12
+ - เพิ่มคู่มือ Android/Termux โดยระบุสถานะ experimental และขอบเขตที่ยังไม่รับรอง
13
+
14
+ ## Security
15
+
16
+ การ fallback ไม่ข้าม OAuth, project/workspace authority, trust, approvals,
17
+ path/secret guards, expected hash หรือ sandbox policy WebAssembly backend ใช้เฉพาะ
18
+ การประมวลผลภาพเมื่อโหลดได้ และ error ที่ส่งให้ client ไม่รวม path หรือรายละเอียด
19
+ native loader ของเครื่อง
20
+
21
+ ## อัปเดต
22
+
23
+ ```bash
24
+ npm install -g dodo-mcp@1.0.6 @img/sharp-wasm32@0.35.4
25
+ dodo --version
26
+ ```
27
+
28
+ ## สถานะตรวจรับ
29
+
30
+ - macOS build/typecheck/lint/core/security/compatibility: `AUTOMATED_PASS`
31
+ (682 passed, 35 skipped, 0 failed)
32
+ - packaging: `AUTOMATED_PASS` (16/16)
33
+ - การจำลองไม่มี Sharp: `AUTOMATED_PASS` — CLI แสดงเวอร์ชันได้และ image operation
34
+ ตอบ `NOT_SUPPORTED`
35
+ - WebAssembly fallback: `AUTOMATED_PASS` — ถอด native macOS backend ออกแล้วสร้าง PNG ได้
36
+ - production dependency audit: `AUTOMATED_PASS` — 0 vulnerabilities
37
+ - fresh tarball install: รอ immutable package gate
38
+ - Android/Termux บนเครื่องจริง: `MANUAL_NOT_RUN` จนกว่าเจ้าของติดตั้ง artifact นี้
39
+ - Android optional capabilities: `MANUAL_NOT_RUN`
@@ -1,5 +1,16 @@
1
1
  # DODO MCP — Release Notes
2
2
 
3
+ ## 1.0.6 — Android-safe CLI startup
4
+
5
+ - เปลี่ยน raster image backend เป็น lazy load เพื่อให้ core CLI, transport และ
6
+ text/code tools เริ่มได้บน platform ที่ไม่มี native Sharp build
7
+ - เพิ่ม `@img/sharp-wasm32` เวอร์ชันตรงกับ Sharp เป็น optional dependency
8
+ - image/resource operations ตอบ typed `NOT_SUPPORTED` เมื่อ backend ไม่พร้อม โดยไม่
9
+ ทำให้ `dodo --version` หรือทั้ง process ล้ม
10
+ - เพิ่มคู่มือ Android/Termux พร้อมระบุสถานะ experimental และ manual gates ตามจริง
11
+
12
+ ติดตั้งด้วย `npm install -g dodo-mcp@1.0.6 @img/sharp-wasm32@0.35.4`
13
+
3
14
  ## 1.0.5 — ChatGPT connection guide
4
15
 
5
16
  - เพิ่มขั้นตอนเชื่อม ChatGPT ไว้บนหน้าแรก ตั้งแต่ Public MCP URL, Cloudflare Tunnel,
@@ -1,5 +1,29 @@
1
1
  # DODO MCP — Test Report
2
2
 
3
+ ## Release 1.0.6 — Android-safe Sharp loading
4
+
5
+ ผล macOS วันที่ 2026-09-16:
6
+
7
+ - build/typecheck/lint: **AUTOMATED_PASS**
8
+ - core/integration/security/compatibility: **AUTOMATED_PASS** — 682 passed / 35 skipped /
9
+ 0 failed ใน 100 ไฟล์ที่ผ่านและ 3 ไฟล์ที่ skip ตาม platform/capability
10
+ - packaging: **AUTOMATED_PASS** — 16/16
11
+ - optional-backend regression: **AUTOMATED_PASS** — mock ให้ `sharp` load ไม่ได้แล้ว
12
+ import image/resource modules ยังผ่าน; เมื่อเรียก image operation จึงตอบ typed
13
+ `NOT_SUPPORTED`
14
+ - no-Sharp compiled smoke: **AUTOMATED_PASS** — ย้าย `node_modules/sharp` ออกจาก
15
+ fixture ชั่วคราวแล้ว `node dist/cli/main.js --version` แสดง 1.0.6; image operation
16
+ ปฏิเสธแบบ bounded ตาม contract
17
+ - WebAssembly fallback smoke: **AUTOMATED_PASS** — ปิด native Darwin Sharp packages
18
+ ชั่วคราว, บังคับไม่ใช้ global libvips แล้ว `@img/sharp-wasm32` 0.35.4 สร้าง PNG
19
+ 2×2 สำเร็จ 95 bytes
20
+ - production dependency audit: **AUTOMATED_PASS** — 0 vulnerabilities
21
+ - Android/Termux device install และ MCP workflow: **MANUAL_NOT_RUN**
22
+ - Android setup, credential store, sandbox, desktop และ browser: **MANUAL_NOT_RUN**
23
+
24
+ ผล macOS/Wasm พิสูจน์ startup/fallback contract แต่ไม่แทน Android device acceptance
25
+ จึงยังระบุ Android เป็น experimental
26
+
3
27
  ## Release 1.0.4 — Windows setup guidance
4
28
 
5
29
  ผล candidate gate บน macOS วันที่ 2026-09-16:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dodo-mcp",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
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",
@@ -23,6 +23,7 @@
23
23
  "docs/ASSISTANCE.md",
24
24
  "docs/AGENT_RUNTIME.md",
25
25
  "docs/AI_PROVIDERS.md",
26
+ "docs/ANDROID.md",
26
27
  "docs/AUTH.md",
27
28
  "docs/BRAIN.md",
28
29
  "docs/COMPATIBILITY.md",
@@ -44,6 +45,7 @@
44
45
  "docs/RELEASE_1.0.3.md",
45
46
  "docs/RELEASE_1.0.4.md",
46
47
  "docs/RELEASE_1.0.5.md",
48
+ "docs/RELEASE_1.0.6.md",
47
49
  "docs/RELEASE_NOTES.md",
48
50
  "docs/SCHEDULES.md",
49
51
  "docs/SECURITY.md",
@@ -147,5 +149,8 @@
147
149
  "homepage": "https://github.com/arthittakun/dodo-mcp#readme",
148
150
  "bugs": {
149
151
  "url": "https://github.com/arthittakun/dodo-mcp/issues"
152
+ },
153
+ "optionalDependencies": {
154
+ "@img/sharp-wasm32": "0.35.4"
150
155
  }
151
156
  }