@okdoc-ai/plugin-sdk 1.8.9 → 1.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.
@@ -1 +1 @@
1
- "use strict";var _okdocIframeSDK=(()=>{var f="2025-03-26",s=null,l=null,c=new Map,n=null,r=null,h=["id","name","namespace","version"],O="odci_";function D(t){if(!t||typeof t!="object")throw new Error("[OkDoc SDK] init() requires an options object.");for(let e of h){let i=t[e];if(i==null||typeof i=="string"&&i.trim()==="")throw new Error(`[OkDoc SDK] init() requires "${e}" to be a non-empty string.`)}let o=t.author;if(!o||typeof o!="object")throw new Error('[OkDoc SDK] init() requires "author" with at least "name" and either "email" or "url".');if(!o.name||typeof o.name!="string"||o.name.trim()==="")throw new Error('[OkDoc SDK] init() requires "author.name" to be a non-empty string.');if((!o.email||o.email.trim()==="")&&(!o.url||o.url.trim()===""))throw new Error('[OkDoc SDK] init() requires either "author.email" or "author.url" to be provided.')}function y(){let t=[];return c.forEach((o,e)=>{let i={name:e,description:o.description};o.inputSchema&&(i.inputSchema=o.inputSchema),o.annotations&&(i.annotations=o.annotations),t.push(i)}),t}function p(t){s&&t.postMessage({type:"okdoc:manifest",sdkVersion:2,manifest:{...s,description:s.description??"",tools:y(),sdkVersion:"1.8.9",mcpProtocolVersion:f}})}function d(){!n||!s||(r!==null&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&s&&p(n)},150))}async function S(t,o,e,i){let u=c.get(e);if(!u){t.postMessage({type:"okdoc:result",id:o,result:{content:[{type:"text",text:`Tool "${e}" not found in this plugin.`}],isError:!0}});return}try{let a=await u.handler(i);t.postMessage({type:"okdoc:result",id:o,result:a})}catch(a){let m=a instanceof Error?a.message:String(a);t.postMessage({type:"okdoc:result",id:o,result:{content:[{type:"text",text:`Tool "${e}" error: ${m}`}],isError:!0}})}}function k(t){let o=t.data;!o||typeof o.type!="string"||o.type==="okdoc:call"&&S(n,o.id,o.tool,o.args??{})}function g(t){let o=t.data;if(!(!o||o.type!=="okdoc:handshake")&&!(!t.ports||t.ports.length===0)){if(l){if(!l.includes(t.origin)){console.warn(`[OkDoc SDK] Rejected handshake from untrusted origin: ${t.origin}`);return}}else console.warn("[OkDoc SDK] No allowedOrigins configured \u2014 accepting handshake from any origin. Set allowedOrigins in OkDoc.init() for production use.");n=t.ports[0],n.onmessage=k,p(n)}}window.addEventListener("message",g);var w={init(t){D(t);let{allowedOrigins:o,...e}=t;e.namespace=O+e.namespace.replace(/-/g,"_"),s=e,l=o??null,d()},registerTool(t,o){c.set(t,o),d()},notify(t){n?(console.log("[OkDoc SDK] Sending notification to host:",t),n.postMessage({type:"okdoc:notify",message:t})):console.warn("[OkDoc SDK] notify() called but no port connected \u2014 handshake not completed yet.")},destroy(){window.removeEventListener("message",g),r!==null&&(clearTimeout(r),r=null),n&&(n.close(),n=null),s=null,l=null,c.clear()},version:2,mcpProtocolVersion:f};Object.defineProperty(window,"OkDoc",{value:Object.freeze(w),writable:!1,configurable:!1});})();
1
+ "use strict";var _okdocIframeSDK=(()=>{var f="2025-03-26",s=null,l=null,c=new Map,n=null,r=null,h=["id","name","namespace","version"],O="odci_";function D(t){if(!t||typeof t!="object")throw new Error("[OkDoc SDK] init() requires an options object.");for(let e of h){let i=t[e];if(i==null||typeof i=="string"&&i.trim()==="")throw new Error(`[OkDoc SDK] init() requires "${e}" to be a non-empty string.`)}let o=t.author;if(!o||typeof o!="object")throw new Error('[OkDoc SDK] init() requires "author" with at least "name" and either "email" or "url".');if(!o.name||typeof o.name!="string"||o.name.trim()==="")throw new Error('[OkDoc SDK] init() requires "author.name" to be a non-empty string.');if((!o.email||o.email.trim()==="")&&(!o.url||o.url.trim()===""))throw new Error('[OkDoc SDK] init() requires either "author.email" or "author.url" to be provided.')}function y(){let t=[];return c.forEach((o,e)=>{let i={name:e,description:o.description};o.inputSchema&&(i.inputSchema=o.inputSchema),o.annotations&&(i.annotations=o.annotations),t.push(i)}),t}function p(t){s&&t.postMessage({type:"okdoc:manifest",sdkVersion:2,manifest:{...s,description:s.description??"",tools:y(),sdkVersion:"1.9.0",mcpProtocolVersion:f}})}function d(){!n||!s||(r!==null&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&s&&p(n)},150))}async function S(t,o,e,i){let u=c.get(e);if(!u){t.postMessage({type:"okdoc:result",id:o,result:{content:[{type:"text",text:`Tool "${e}" not found in this plugin.`}],isError:!0}});return}try{let a=await u.handler(i);t.postMessage({type:"okdoc:result",id:o,result:a})}catch(a){let m=a instanceof Error?a.message:String(a);t.postMessage({type:"okdoc:result",id:o,result:{content:[{type:"text",text:`Tool "${e}" error: ${m}`}],isError:!0}})}}function k(t){let o=t.data;!o||typeof o.type!="string"||o.type==="okdoc:call"&&S(n,o.id,o.tool,o.args??{})}function g(t){let o=t.data;if(!(!o||o.type!=="okdoc:handshake")&&!(!t.ports||t.ports.length===0)){if(l){if(!l.includes(t.origin)){console.warn(`[OkDoc SDK] Rejected handshake from untrusted origin: ${t.origin}`);return}}else console.warn("[OkDoc SDK] No allowedOrigins configured \u2014 accepting handshake from any origin. Set allowedOrigins in OkDoc.init() for production use.");n=t.ports[0],n.onmessage=k,p(n)}}window.addEventListener("message",g);var w={init(t){D(t);let{allowedOrigins:o,...e}=t;e.namespace=O+e.namespace.replace(/-/g,"_"),s=e,l=o??null,d()},registerTool(t,o){c.set(t,o),d()},notify(t){n?(console.log("[OkDoc SDK] Sending notification to host:",t),n.postMessage({type:"okdoc:notify",message:t})):console.warn("[OkDoc SDK] notify() called but no port connected \u2014 handshake not completed yet.")},destroy(){window.removeEventListener("message",g),r!==null&&(clearTimeout(r),r=null),n&&(n.close(),n=null),s=null,l=null,c.clear()},version:2,mcpProtocolVersion:f};Object.defineProperty(window,"OkDoc",{value:Object.freeze(w),writable:!1,configurable:!1});})();
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const OKDOC_SDK_VERSION = "1.8.9";
1
+ export declare const OKDOC_SDK_VERSION = "1.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // AUTO-GENERATED by scripts/stamp-version.mjs — do not edit manually.
2
2
  // Source of truth: package.json "version" field.
3
- export const OKDOC_SDK_VERSION = '1.8.9';
3
+ export const OKDOC_SDK_VERSION = '1.9.0';
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@okdoc-ai/plugin-sdk",
3
- "version": "1.8.9",
3
+ "version": "1.9.0",
4
4
  "description": "SDK for building OkDoc AI-powered plugins — MCP-aligned types, decorators, AI format converters, and iframe SDK.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",