@okdoc-ai/plugin-sdk 1.4.0 → 1.8.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.
@@ -5,6 +5,11 @@ import { OkDocPluginMetadata, McpToolInputSchema, McpToolAnnotations } from './t
5
5
  * Stores manifest metadata on the class constructor so the host framework
6
6
  * can discover plugin identity, namespace, and icon without instantiation.
7
7
  *
8
+ * The SDK automatically:
9
+ * - Normalizes the namespace (hyphens → underscores)
10
+ * - Prepends `odcp_` to the namespace (packaged community plugin prefix)
11
+ * - Validates that `author` is provided with `name` and either `email` or `url`
12
+ *
8
13
  * ```typescript
9
14
  * @OkDocPlugin({
10
15
  * id: 'audio-player',
@@ -13,6 +18,7 @@ import { OkDocPluginMetadata, McpToolInputSchema, McpToolAnnotations } from './t
13
18
  * version: '1.0.0',
14
19
  * icon: 'musical-notes-outline',
15
20
  * namespace: 'audio_player',
21
+ * author: { name: 'Your Company', url: 'https://example.com' },
16
22
  * })
17
23
  * @Component({ selector: 'okdoc-audio-player', standalone: true, ... })
18
24
  * export class AudioPlayerComponent { ... }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAmB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAK1G;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,CASzE;AAID,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,uDAAuD;IACvD,WAAW,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CA4BhE"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAmB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAQ1G;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,CA0BzE;AAID,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,uDAAuD;IACvD,WAAW,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CA4BhE"}
@@ -3,12 +3,19 @@
3
3
  // ============================================================================
4
4
  import { OKDOC_PLUGIN_KEY, MCP_TOOLS_KEY } from './symbols.js';
5
5
  // ── @OkDocPlugin ────────────────────────────────────────────────────────────
6
+ /** Namespace prefix automatically applied to packaged community plugins. */
7
+ const PACKAGED_NAMESPACE_PREFIX = 'odcp_';
6
8
  /**
7
9
  * Class decorator that marks an Angular component as an OkDoc plugin.
8
10
  *
9
11
  * Stores manifest metadata on the class constructor so the host framework
10
12
  * can discover plugin identity, namespace, and icon without instantiation.
11
13
  *
14
+ * The SDK automatically:
15
+ * - Normalizes the namespace (hyphens → underscores)
16
+ * - Prepends `odcp_` to the namespace (packaged community plugin prefix)
17
+ * - Validates that `author` is provided with `name` and either `email` or `url`
18
+ *
12
19
  * ```typescript
13
20
  * @OkDocPlugin({
14
21
  * id: 'audio-player',
@@ -17,15 +24,32 @@ import { OKDOC_PLUGIN_KEY, MCP_TOOLS_KEY } from './symbols.js';
17
24
  * version: '1.0.0',
18
25
  * icon: 'musical-notes-outline',
19
26
  * namespace: 'audio_player',
27
+ * author: { name: 'Your Company', url: 'https://example.com' },
20
28
  * })
21
29
  * @Component({ selector: 'okdoc-audio-player', standalone: true, ... })
22
30
  * export class AudioPlayerComponent { ... }
23
31
  * ```
24
32
  */
25
33
  export function OkDocPlugin(metadata) {
34
+ // Validate author at decoration time
35
+ const a = metadata.author;
36
+ if (!a || typeof a !== 'object') {
37
+ throw new Error('[OkDoc SDK] @OkDocPlugin requires "author" with at least "name" and either "email" or "url".');
38
+ }
39
+ if (!a.name || a.name.trim() === '') {
40
+ throw new Error('[OkDoc SDK] @OkDocPlugin requires "author.name" to be a non-empty string.');
41
+ }
42
+ if ((!a.email || a.email.trim() === '') && (!a.url || a.url.trim() === '')) {
43
+ throw new Error('[OkDoc SDK] @OkDocPlugin requires either "author.email" or "author.url".');
44
+ }
26
45
  return function (target) {
46
+ // Normalize namespace and auto-prefix for packaged community plugins
47
+ const resolved = {
48
+ ...metadata,
49
+ namespace: PACKAGED_NAMESPACE_PREFIX + metadata.namespace.replace(/-/g, '_'),
50
+ };
27
51
  Object.defineProperty(target, OKDOC_PLUGIN_KEY, {
28
- value: metadata,
52
+ value: resolved,
29
53
  writable: false,
30
54
  enumerable: false,
31
55
  configurable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAG/E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAAC,QAA6B;IACrD,OAAO,UAAU,MAAgB;QAC7B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE;YAC5C,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAeD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,OAAO,UAAU,OAAe,EAAE,WAA4B,EAAE,WAA+B;QAC3F,MAAM,KAAK,GAAG,OAA4C,CAAC;QAC3D,MAAM,QAAQ,GAAsB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1F,MAAM,QAAQ,GAAoB;YAC9B,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;YAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/C,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE;YACxC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAG/E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,+EAA+E;AAE/E,4EAA4E;AAC5E,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CAAC,QAA6B;IACrD,qCAAqC;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,UAAU,MAAgB;QAC7B,qEAAqE;QACrE,MAAM,QAAQ,GAAG;YACb,GAAG,QAAQ;YACX,SAAS,EAAE,yBAAyB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAC/E,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE;YAC5C,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAeD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,OAAO,UAAU,OAAe,EAAE,WAA4B,EAAE,WAA+B;QAC3F,MAAM,KAAK,GAAG,OAA4C,CAAC;QAC3D,MAAM,QAAQ,GAAsB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1F,MAAM,QAAQ,GAAoB;YAC9B,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;YAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/C,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE;YACxC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
@@ -66,6 +66,14 @@ export interface ToolConfig {
66
66
  annotations?: ToolAnnotations;
67
67
  handler: (args: Record<string, unknown>) => Promise<ToolResult>;
68
68
  }
69
+ export interface PluginAuthor {
70
+ /** Author or company name */
71
+ name: string;
72
+ /** Contact email */
73
+ email?: string;
74
+ /** Website or profile URL */
75
+ url?: string;
76
+ }
69
77
  export interface InitOptions {
70
78
  /** Unique plugin identifier */
71
79
  id: string;
@@ -81,6 +89,8 @@ export interface InitOptions {
81
89
  namespace: string;
82
90
  /** Display mode: foreground (visible UI) or background (hidden) */
83
91
  mode?: 'foreground' | 'background';
92
+ /** Plugin author / company info (required: name + email or url) */
93
+ author: PluginAuthor;
84
94
  /** Allowed origins for the host handshake. If omitted, any origin is accepted. */
85
95
  allowedOrigins?: string[];
86
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iframe-sdk-types.d.ts","sourceRoot":"","sources":["../src/iframe-sdk-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iframe-sdk-types.d.ts","sourceRoot":"","sources":["../src/iframe-sdk-types.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,32 @@ let allowedOrigins = null;
25
25
  const tools = new Map();
26
26
  let port = null;
27
27
  let sendTimer = null;
28
+ // ── Validation ──────────────────────────────────────────────────────────────
29
+ const REQUIRED_INIT_FIELDS = ['id', 'name', 'namespace', 'version'];
30
+ /** Namespace prefix automatically applied to iframe plugins. */
31
+ const IFRAME_NAMESPACE_PREFIX = 'odci_';
32
+ function validateInitOptions(options) {
33
+ if (!options || typeof options !== 'object') {
34
+ throw new Error('[OkDoc SDK] init() requires an options object.');
35
+ }
36
+ for (const field of REQUIRED_INIT_FIELDS) {
37
+ const value = options[field];
38
+ if (value === undefined || value === null || (typeof value === 'string' && value.trim() === '')) {
39
+ throw new Error(`[OkDoc SDK] init() requires "${field}" to be a non-empty string.`);
40
+ }
41
+ }
42
+ // Validate author
43
+ const a = options.author;
44
+ if (!a || typeof a !== 'object') {
45
+ throw new Error('[OkDoc SDK] init() requires "author" with at least "name" and either "email" or "url".');
46
+ }
47
+ if (!a.name || typeof a.name !== 'string' || a.name.trim() === '') {
48
+ throw new Error('[OkDoc SDK] init() requires "author.name" to be a non-empty string.');
49
+ }
50
+ if ((!a.email || a.email.trim() === '') && (!a.url || a.url.trim() === '')) {
51
+ throw new Error('[OkDoc SDK] init() requires either "author.email" or "author.url" to be provided.');
52
+ }
53
+ }
28
54
  function buildToolDeclarations() {
29
55
  const declarations = [];
30
56
  tools.forEach((config, name) => {
@@ -143,7 +169,10 @@ const OkDoc = {
143
169
  * Must be called before registerTool().
144
170
  */
145
171
  init(options) {
172
+ validateInitOptions(options);
146
173
  const { allowedOrigins: origins, ...m } = options;
174
+ // Normalize namespace (hyphens → underscores) and auto-prefix for iframe plugins
175
+ m.namespace = IFRAME_NAMESPACE_PREFIX + m.namespace.replace(/-/g, '_');
147
176
  manifest = m;
148
177
  allowedOrigins = origins ?? null;
149
178
  // If the handshake already arrived before init(), schedule manifest send
@@ -1 +1 @@
1
- {"version":3,"file":"iframe-sdk.js","sourceRoot":"","sources":["../src/iframe-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iframe-sdk.js","sourceRoot":"","sources":["../src/iframe-sdk.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { OKDOC_MCP_PROTOCOL_VERSION, OKDOC_SDK_VERSION, OKDOC_IFRAME_PROTOCOL_VERSION, } from './types.js';
2
- export type { JsonSchemaProperty, McpToolInputSchema, McpAnnotations, McpTextContent, McpImageContent, McpAudioContent, McpEmbeddedResource, McpResourceLink, McpContentBlock, McpToolAnnotations, McpToolResult, McpStaticToolDeclaration, McpToolMetadata, OkDocPluginMetadata, OkDocPluginManifest, RemotePluginManifest, RemotePluginBundle, OkDocPluginGlobal, IframePluginManifest, OkDocIframeHandshake, OkDocIframeManifestMessage, OkDocIframeCallMessage, OkDocIframeResultMessage, OkDocIframeNotifyMessage, OkDocIframePortMessage, McpToolProvider, McpToolDefinition, McpComponentConfig, } from './types.js';
2
+ export type { JsonSchemaProperty, McpToolInputSchema, McpAnnotations, McpTextContent, McpImageContent, McpAudioContent, McpEmbeddedResource, McpResourceLink, McpContentBlock, McpToolAnnotations, McpToolResult, McpStaticToolDeclaration, McpToolMetadata, OkDocPluginMetadata, OkDocPluginManifest, PluginAuthor, RemotePluginManifest, RemotePluginBundle, OkDocPluginGlobal, IframePluginManifest, OkDocIframeHandshake, OkDocIframeManifestMessage, OkDocIframeCallMessage, OkDocIframeResultMessage, OkDocIframeNotifyMessage, OkDocIframePortMessage, McpToolProvider, McpToolDefinition, McpComponentConfig, } from './types.js';
3
3
  export { OKDOC_PLUGIN_KEY, MCP_TOOLS_KEY } from './symbols.js';
4
4
  export { OkDocPlugin, McpTool } from './decorators.js';
5
5
  export type { McpToolOptions } from './decorators.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,GAChC,MAAM,YAAY,CAAC;AAGpB,YAAY,EACR,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAEjB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EAEtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGvH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,GAChC,MAAM,YAAY,CAAC;AAGpB,YAAY,EACR,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAEjB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EAEtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGvH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,mDAAmD;AACnD,+EAA+E;AAE/E,oBAAoB;AACpB,OAAO,EACH,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,GAChC,MAAM,YAAY,CAAC;AAoCpB,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEvH,6BAA6B;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,mDAAmD;AACnD,+EAA+E;AAE/E,oBAAoB;AACpB,OAAO,EACH,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,GAChC,MAAM,YAAY,CAAC;AAqCpB,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEvH,6BAA6B;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -77,6 +77,14 @@ interface OkDocToolConfig {
77
77
  annotations?: OkDocToolAnnotations;
78
78
  handler: (args: Record<string, unknown>) => Promise<OkDocToolResult>;
79
79
  }
80
+ interface OkDocPluginAuthor {
81
+ /** Author or company name */
82
+ name: string;
83
+ /** Contact email */
84
+ email?: string;
85
+ /** Website or profile URL */
86
+ url?: string;
87
+ }
80
88
  interface OkDocInitOptions {
81
89
  /** Unique plugin identifier */
82
90
  id: string;
@@ -92,6 +100,8 @@ interface OkDocInitOptions {
92
100
  namespace: string;
93
101
  /** Display mode: foreground (visible UI) or background (hidden) */
94
102
  mode?: 'foreground' | 'background';
103
+ /** Plugin author / company info (required: name + email or url) */
104
+ author: OkDocPluginAuthor;
95
105
  /** Allowed origins for the host handshake. If omitted, any origin is accepted. */
96
106
  allowedOrigins?: string[];
97
107
  }
@@ -1 +1 @@
1
- "use strict";var _okdocIframeSDK=(()=>{var f="2025-03-26",s=null,a=null,c=new Map,t=null,i=null;function m(){let o=[];return c.forEach((n,e)=>{let r={name:e,description:n.description};n.inputSchema&&(r.inputSchema=n.inputSchema),n.annotations&&(r.annotations=n.annotations),o.push(r)}),o}function p(o){s&&o.postMessage({type:"okdoc:manifest",sdkVersion:2,manifest:{...s,description:s.description??"",tools:m(),sdkVersion:"1.4.0",mcpProtocolVersion:f}})}function d(){!t||!s||(i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,t&&s&&p(t)},150))}async function y(o,n,e,r){let u=c.get(e);if(!u){o.postMessage({type:"okdoc:result",id:n,result:{content:[{type:"text",text:`Tool "${e}" not found in this plugin.`}],isError:!0}});return}try{let l=await u.handler(r);o.postMessage({type:"okdoc:result",id:n,result:l})}catch(l){let O=l instanceof Error?l.message:String(l);o.postMessage({type:"okdoc:result",id:n,result:{content:[{type:"text",text:`Tool "${e}" error: ${O}`}],isError:!0}})}}function S(o){let n=o.data;!n||typeof n.type!="string"||n.type==="okdoc:call"&&y(t,n.id,n.tool,n.args??{})}function g(o){let n=o.data;if(!(!n||n.type!=="okdoc:handshake")&&!(!o.ports||o.ports.length===0)){if(a){if(!a.includes(o.origin)){console.warn(`[OkDoc SDK] Rejected handshake from untrusted origin: ${o.origin}`);return}}else console.warn("[OkDoc SDK] No allowedOrigins configured \u2014 accepting handshake from any origin. Set allowedOrigins in OkDoc.init() for production use.");t=o.ports[0],t.onmessage=S,p(t)}}window.addEventListener("message",g);var h={init(o){let{allowedOrigins:n,...e}=o;s=e,a=n??null,d()},registerTool(o,n){c.set(o,n),d()},notify(o){t?(console.log("[OkDoc SDK] Sending notification to host:",o),t.postMessage({type:"okdoc:notify",message:o})):console.warn("[OkDoc SDK] notify() called but no port connected \u2014 handshake not completed yet.")},destroy(){window.removeEventListener("message",g),i!==null&&(clearTimeout(i),i=null),t&&(t.close(),t=null),s=null,a=null,c.clear()},version:2,mcpProtocolVersion:f};Object.defineProperty(window,"OkDoc",{value:Object.freeze(h),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.8.6",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 +1 @@
1
- {"version":3,"file":"register-remote.d.ts","sourceRoot":"","sources":["../src/register-remote.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,iBAAiB,EAAiD,MAAM,YAAY,CAAC;AAElK;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAA;KAAE,CAAC;IACvF,YAAY,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;CACpD,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACzC;CACJ;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAqD1E"}
1
+ {"version":3,"file":"register-remote.d.ts","sourceRoot":"","sources":["../src/register-remote.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,iBAAiB,EAAiD,MAAM,YAAY,CAAC;AAElK;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAA;KAAE,CAAC;IACvF,YAAY,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;CACpD,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACzC;CACJ;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAqD1E"}
@@ -7,6 +7,28 @@
7
7
  import { OKDOC_SDK_VERSION, OKDOC_MCP_PROTOCOL_VERSION } from './types.js';
8
8
  const ELEMENT_TAG_RE = /^[a-z][a-z0-9]*-[a-z0-9-]*$/;
9
9
  const NAMESPACE_RE = /^[a-z][a-z0-9_]*$/;
10
+ const REQUIRED_MANIFEST_FIELDS = ['id', 'name', 'namespace', 'version', 'elementTag'];
11
+ /** Namespace prefix automatically applied to packaged community plugins. */
12
+ const PACKAGED_NAMESPACE_PREFIX = 'odcp_';
13
+ function validateManifest(m) {
14
+ for (const field of REQUIRED_MANIFEST_FIELDS) {
15
+ const value = m[field];
16
+ if (value === undefined || value === null || (typeof value === 'string' && value.trim() === '')) {
17
+ throw new Error(`[OkDoc SDK] registerRemotePlugin: manifest.${field} is required and must be a non-empty string.`);
18
+ }
19
+ }
20
+ // Validate author
21
+ const a = m.author;
22
+ if (!a || typeof a !== 'object') {
23
+ throw new Error('[OkDoc SDK] registerRemotePlugin: manifest.author is required with at least "name" and either "email" or "url".');
24
+ }
25
+ if (!a.name || typeof a.name !== 'string' || a.name.trim() === '') {
26
+ throw new Error('[OkDoc SDK] registerRemotePlugin: manifest.author.name is required and must be a non-empty string.');
27
+ }
28
+ if ((!a.email || a.email.trim() === '') && (!a.url || a.url.trim() === '')) {
29
+ throw new Error('[OkDoc SDK] registerRemotePlugin: manifest.author requires either "email" or "url".');
30
+ }
31
+ }
10
32
  /**
11
33
  * Register a remote plugin so the OkDoc host app can discover it.
12
34
  *
@@ -40,18 +62,17 @@ const NAMESPACE_RE = /^[a-z][a-z0-9_]*$/;
40
62
  */
41
63
  export function registerRemotePlugin(bundle) {
42
64
  const m = bundle.manifest;
43
- if (!m?.id) {
44
- throw new Error('[OkDoc SDK] registerRemotePlugin: manifest.id is required');
45
- }
46
- if (!m.elementTag) {
47
- throw new Error('[OkDoc SDK] registerRemotePlugin: manifest.elementTag is required');
48
- }
65
+ validateManifest(m);
49
66
  if (!ELEMENT_TAG_RE.test(m.elementTag)) {
50
67
  throw new Error(`[OkDoc SDK] registerRemotePlugin: elementTag "${m.elementTag}" must be a valid custom element name (lowercase, must contain a hyphen)`);
51
68
  }
52
- if (m.namespace && !NAMESPACE_RE.test(m.namespace)) {
69
+ // Normalize namespace (hyphens → underscores) before validation
70
+ m.namespace = m.namespace.replace(/-/g, '_');
71
+ if (!NAMESPACE_RE.test(m.namespace)) {
53
72
  throw new Error(`[OkDoc SDK] registerRemotePlugin: namespace "${m.namespace}" must be lowercase alphanumeric with underscores`);
54
73
  }
74
+ // Auto-prefix namespace for packaged community plugins
75
+ m.namespace = PACKAGED_NAMESPACE_PREFIX + m.namespace;
55
76
  // Auto-populate SDK version info
56
77
  if (!m.sdkVersion)
57
78
  m.sdkVersion = OKDOC_SDK_VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"register-remote.js","sourceRoot":"","sources":["../src/register-remote.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oDAAoD;AACpD,EAAE;AACF,6EAA6E;AAC7E,yDAAyD;AACzD,+EAA+E;AAE/E,OAAO,EAAyF,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAkBlK,MAAM,cAAc,GAAG,6BAA6B,CAAC;AACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA+B;IAChE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE1B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACX,iDAAiD,CAAC,CAAC,UAAU,0EAA0E,CAC1I,CAAC;IACN,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACX,gDAAgD,CAAC,CAAC,SAAS,mDAAmD,CACjH,CAAC;IACN,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,CAAC,CAAC,UAAU;QAAE,CAAC,CAAC,UAAU,GAAG,iBAAiB,CAAC;IACpD,IAAI,CAAC,CAAC,CAAC,kBAAkB;QAAE,CAAC,CAAC,kBAAkB,GAAG,0BAA0B,CAAC;IAE7E,wDAAwD;IACxD,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI;YACJ,WAAW,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE;SAC/C,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CACR,kDAAkD,WAAW,sDAAsD,CACtH,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC5B,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,EAAE,sCAAsC,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAA4B,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"register-remote.js","sourceRoot":"","sources":["../src/register-remote.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -124,6 +124,15 @@ export interface McpToolResult {
124
124
  /** Whether the tool call ended in an error. */
125
125
  isError?: boolean;
126
126
  }
127
+ /** Plugin author / company information. */
128
+ export interface PluginAuthor {
129
+ /** Author or company name */
130
+ name: string;
131
+ /** Contact email */
132
+ email?: string;
133
+ /** Website or profile URL */
134
+ url?: string;
135
+ }
127
136
  /** Metadata stored by @OkDocPlugin on the class constructor. */
128
137
  export interface OkDocPluginMetadata {
129
138
  /** Unique plugin identifier (e.g. 'simple-audio-player') */
@@ -138,6 +147,8 @@ export interface OkDocPluginMetadata {
138
147
  icon?: string;
139
148
  /** MCP namespace prefix for all tools (e.g. 'audio_player') */
140
149
  namespace: string;
150
+ /** Plugin author / company info (required: name + email or url) */
151
+ author: PluginAuthor;
141
152
  /** Semver of the @okdoc-ai/plugin-sdk this plugin was built with */
142
153
  sdkVersion?: string;
143
154
  /** MCP protocol version this plugin conforms to (e.g. '2025-03-26') */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const OKDOC_SDK_VERSION = "1.4.0";
1
+ export declare const OKDOC_SDK_VERSION = "1.8.6";
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.4.0';
3
+ export const OKDOC_SDK_VERSION = '1.8.6';
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.4.0",
3
+ "version": "1.8.6",
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",