teamshare-bridge 0.27.0 → 0.27.2

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.
@@ -3,7 +3,8 @@
3
3
  * Source resolution for the docx-to-pdf tool (2026-09).
4
4
  *
5
5
  * The chain, the wizard and AGENTS all reach this tool with different shapes:
6
- * - chain: `fileUrl` (storage value) + `documentId` + `agentId`,
6
+ * - chain: `fileBase64` (preferred — bytes the hub read server-side, no
7
+ * identity needed at all) or `fileUrl` (storage value) + `documentId`,
7
8
  * - wizard: `fileUrl` = uploaded Cloudinary URL,
8
9
  * - agents: often guess param names (`inputDocxUrl`, `url`, ...) - one run
9
10
  * passed `inputDocxUrl` and the tool replied "No file provided. Upload a
@@ -36,13 +37,35 @@ exports.DOCX_BUFFER_ALIASES = [
36
37
  'buffer',
37
38
  ];
38
39
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
40
+ /**
41
+ * Decode cap for inline `fileBase64` sources (2026-10): the wire already caps
42
+ * the command at 4 MB, and a corrupt string must become an actionable error,
43
+ * not an OOM in the converter.
44
+ */
45
+ const INLINE_BYTES_MAX = 15 * 1024 * 1024;
39
46
  /**
40
47
  * Resolve whatever the caller provided into an actionable source.
41
- * Order: materialized Buffer → any absolute HTTP URL alias → any UUID alias
42
- * (document id) → non-http storage value (`docs/<key>`) via `documentId` →
43
- * bare `documentId`. Returns null when nothing usable was supplied.
48
+ * Order: inline base64 bytes (identity-free) → materialized Buffer →
49
+ * any absolute HTTP URL alias → any bare UUID (document id) → non-http
50
+ * storage value (`docs/<key>`) via `documentId` → bare `documentId`.
51
+ * Returns null when nothing usable was supplied.
44
52
  */
45
53
  function resolveDocxSource(params) {
54
+ // Inline bytes win over everything: the hub read them server-side with no
55
+ // identity at all, so a wrongly-addressed run still converts. Capped — a
56
+ // corrupt/huge string must not OOM the converter.
57
+ const inline = params.fileBase64;
58
+ if (typeof inline === 'string' && inline.trim().length > 0) {
59
+ try {
60
+ const buffer = Buffer.from(inline.trim(), 'base64');
61
+ if (buffer.length > 0 && buffer.length <= INLINE_BYTES_MAX) {
62
+ return { kind: 'buffer', buffer };
63
+ }
64
+ }
65
+ catch {
66
+ /* fall through to the URL/id forms below */
67
+ }
68
+ }
46
69
  for (const k of exports.DOCX_BUFFER_ALIASES) {
47
70
  const v = params[k];
48
71
  if (Buffer.isBuffer(v))
@@ -1 +1 @@
1
- {"version":3,"file":"docx-source.js","sourceRoot":"","sources":["../../../src/lib/tools/docx-source.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAqCH,8CAkCC;AArED,qEAAqE;AACxD,QAAA,gBAAgB,GAAG;IAC9B,SAAS;IACT,cAAc;IACd,SAAS;IACT,WAAW;IACX,aAAa;IACb,KAAK;IACL,MAAM;IACN,WAAW;CACH,CAAC;AAEX,uEAAuE;AAC1D,QAAA,mBAAmB,GAAG;IACjC,MAAM;IACN,WAAW;IACX,MAAM;IACN,UAAU;IACV,QAAQ;CACA,CAAC;AAEX,MAAM,OAAO,GACX,iEAAiE,CAAC;AAOpE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,MAA+B;IAE/B,KAAK,MAAM,CAAC,IAAI,2BAAmB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAC/D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,OAAO,GAAG,wBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,2EAA2E;IAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAExD,4CAA4C;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAExD,iEAAiE;IACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"docx-source.js","sourceRoot":"","sources":["../../../src/lib/tools/docx-source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teamshare-bridge",
3
- "version": "0.27.0",
3
+ "version": "0.27.2",
4
4
  "description": "Local bridge for TeamShare agents - CLI session runner, auto-wake WebSocket daemon, and teamshare:// protocol handler.",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",