@xpert-ai/plugin-excalidraw 0.1.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.
Files changed (100) hide show
  1. package/.xpertai-plugin/plugin.json +118 -0
  2. package/README.md +5 -0
  3. package/assets/composerIcon.svg +5 -0
  4. package/assets/logo.svg +8 -0
  5. package/dist/docs/excalidraw-agent-skill.md +32 -0
  6. package/dist/index.d.ts +14 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +153 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lib/constants.d.ts +24 -0
  11. package/dist/lib/constants.d.ts.map +1 -0
  12. package/dist/lib/constants.js +42 -0
  13. package/dist/lib/constants.js.map +1 -0
  14. package/dist/lib/entities/excalidraw-action-log.entity.d.ts +18 -0
  15. package/dist/lib/entities/excalidraw-action-log.entity.d.ts.map +1 -0
  16. package/dist/lib/entities/excalidraw-action-log.entity.js +69 -0
  17. package/dist/lib/entities/excalidraw-action-log.entity.js.map +1 -0
  18. package/dist/lib/entities/excalidraw-drawing-version.entity.d.ts +21 -0
  19. package/dist/lib/entities/excalidraw-drawing-version.entity.d.ts.map +1 -0
  20. package/dist/lib/entities/excalidraw-drawing-version.entity.js +82 -0
  21. package/dist/lib/entities/excalidraw-drawing-version.entity.js.map +1 -0
  22. package/dist/lib/entities/excalidraw-drawing.entity.d.ts +24 -0
  23. package/dist/lib/entities/excalidraw-drawing.entity.d.ts.map +1 -0
  24. package/dist/lib/entities/excalidraw-drawing.entity.js +94 -0
  25. package/dist/lib/entities/excalidraw-drawing.entity.js.map +1 -0
  26. package/dist/lib/entities/index.d.ts +4 -0
  27. package/dist/lib/entities/index.d.ts.map +1 -0
  28. package/dist/lib/entities/index.js +4 -0
  29. package/dist/lib/entities/index.js.map +1 -0
  30. package/dist/lib/excalidraw-view.provider.d.ts +14 -0
  31. package/dist/lib/excalidraw-view.provider.d.ts.map +1 -0
  32. package/dist/lib/excalidraw-view.provider.js +423 -0
  33. package/dist/lib/excalidraw-view.provider.js.map +1 -0
  34. package/dist/lib/excalidraw.middleware.d.ts +10 -0
  35. package/dist/lib/excalidraw.middleware.d.ts.map +1 -0
  36. package/dist/lib/excalidraw.middleware.js +173 -0
  37. package/dist/lib/excalidraw.middleware.js.map +1 -0
  38. package/dist/lib/excalidraw.plugin.d.ts +8 -0
  39. package/dist/lib/excalidraw.plugin.d.ts.map +1 -0
  40. package/dist/lib/excalidraw.plugin.js +27 -0
  41. package/dist/lib/excalidraw.plugin.js.map +1 -0
  42. package/dist/lib/excalidraw.service.d.ts +169 -0
  43. package/dist/lib/excalidraw.service.d.ts.map +1 -0
  44. package/dist/lib/excalidraw.service.js +441 -0
  45. package/dist/lib/excalidraw.service.js.map +1 -0
  46. package/dist/lib/excalidraw.templates.d.ts +3 -0
  47. package/dist/lib/excalidraw.templates.d.ts.map +1 -0
  48. package/dist/lib/excalidraw.templates.js +78 -0
  49. package/dist/lib/excalidraw.templates.js.map +1 -0
  50. package/dist/lib/remote-components/excalidraw-workbench/app.css +1 -0
  51. package/dist/lib/remote-components/excalidraw-workbench/app.js +5105 -0
  52. package/dist/lib/remote-components/excalidraw-workbench/src/i18n.d.ts +3 -0
  53. package/dist/lib/remote-components/excalidraw-workbench/src/i18n.d.ts.map +1 -0
  54. package/dist/lib/remote-components/excalidraw-workbench/src/i18n.js +103 -0
  55. package/dist/lib/remote-components/excalidraw-workbench/src/i18n.js.map +1 -0
  56. package/dist/lib/remote-components/excalidraw-workbench/src/i18n.ts +151 -0
  57. package/dist/lib/remote-components/excalidraw-workbench/src/main.tsx +1411 -0
  58. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-client-shim.d.ts +3 -0
  59. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-client-shim.d.ts.map +1 -0
  60. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-client-shim.js +4 -0
  61. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-client-shim.js.map +1 -0
  62. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-client-shim.ts +4 -0
  63. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-shim.d.ts +11 -0
  64. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-shim.d.ts.map +1 -0
  65. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-shim.js +11 -0
  66. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-shim.js.map +1 -0
  67. package/dist/lib/remote-components/excalidraw-workbench/src/react-dom-shim.ts +11 -0
  68. package/dist/lib/remote-components/excalidraw-workbench/src/react-jsx-runtime-shim.d.ts +5 -0
  69. package/dist/lib/remote-components/excalidraw-workbench/src/react-jsx-runtime-shim.d.ts.map +1 -0
  70. package/dist/lib/remote-components/excalidraw-workbench/src/react-jsx-runtime-shim.js +8 -0
  71. package/dist/lib/remote-components/excalidraw-workbench/src/react-jsx-runtime-shim.js.map +1 -0
  72. package/dist/lib/remote-components/excalidraw-workbench/src/react-jsx-runtime-shim.ts +8 -0
  73. package/dist/lib/remote-components/excalidraw-workbench/src/react-shim.d.ts +36 -0
  74. package/dist/lib/remote-components/excalidraw-workbench/src/react-shim.d.ts.map +1 -0
  75. package/dist/lib/remote-components/excalidraw-workbench/src/react-shim.js +36 -0
  76. package/dist/lib/remote-components/excalidraw-workbench/src/react-shim.js.map +1 -0
  77. package/dist/lib/remote-components/excalidraw-workbench/src/react-shim.ts +36 -0
  78. package/dist/lib/remote-components/excalidraw-workbench/src/runtime.d.ts +21 -0
  79. package/dist/lib/remote-components/excalidraw-workbench/src/runtime.d.ts.map +1 -0
  80. package/dist/lib/remote-components/excalidraw-workbench/src/runtime.js +198 -0
  81. package/dist/lib/remote-components/excalidraw-workbench/src/runtime.js.map +1 -0
  82. package/dist/lib/remote-components/excalidraw-workbench/src/runtime.ts +228 -0
  83. package/dist/lib/remote-components/excalidraw-workbench/src/styles.d.ts +2 -0
  84. package/dist/lib/remote-components/excalidraw-workbench/src/styles.d.ts.map +1 -0
  85. package/dist/lib/remote-components/excalidraw-workbench/src/styles.js +324 -0
  86. package/dist/lib/remote-components/excalidraw-workbench/src/styles.js.map +1 -0
  87. package/dist/lib/remote-components/excalidraw-workbench/src/styles.ts +323 -0
  88. package/dist/lib/remote-components/excalidraw-workbench/src/vendor.d.ts +4 -0
  89. package/dist/lib/remote-components/excalidraw-workbench/src/vendor.d.ts.map +1 -0
  90. package/dist/lib/remote-components/excalidraw-workbench/src/vendor.js +4 -0
  91. package/dist/lib/remote-components/excalidraw-workbench/src/vendor.js.map +1 -0
  92. package/dist/lib/remote-components/excalidraw-workbench/src/vendor.ts +3 -0
  93. package/dist/lib/types.d.ts +74 -0
  94. package/dist/lib/types.d.ts.map +1 -0
  95. package/dist/lib/types.js +2 -0
  96. package/dist/lib/types.js.map +1 -0
  97. package/dist/xpert-excalidraw-assistant.yaml +129 -0
  98. package/package.json +87 -0
  99. package/skills/index/SKILL.md +46 -0
  100. package/skills/index/agents/xpertai.yaml +6 -0
@@ -0,0 +1,118 @@
1
+ {
2
+ "name": "@xpert-ai/plugin-excalidraw",
3
+ "version": "0.1.0",
4
+ "description": "Excalidraw app plugin for agent-created diagrams, reviewable drawing versions, Mermaid drafts, and an editable workbench.",
5
+ "author": "XpertAI",
6
+ "homepage": "https://github.com/xpert-ai/xpert-plugins/tree/main/community/apps/excalidraw",
7
+ "repository": "https://github.com/xpert-ai/xpert-plugins/tree/main/community/apps/excalidraw",
8
+ "license": "AGPL-3.0",
9
+ "keywords": [
10
+ "excalidraw",
11
+ "diagram",
12
+ "whiteboard",
13
+ "mermaid",
14
+ "agent-drawing",
15
+ "workbench"
16
+ ],
17
+ "skills": "./skills/",
18
+ "interface": {
19
+ "displayName": "Excalidraw",
20
+ "shortDescription": "Agent-managed Excalidraw diagrams",
21
+ "longDescription": "Create, update, version, review, import, export, and convert Agent-generated Excalidraw diagrams. The plugin includes an installable Xpert skill, Assistant template, middleware tools, and an Excalidraw Workbench for human review.",
22
+ "developerName": "XpertAI",
23
+ "category": "Productivity",
24
+ "capabilities": [
25
+ "Interactive",
26
+ "Read",
27
+ "Write"
28
+ ],
29
+ "websiteURL": "https://xpertai.cn",
30
+ "privacyPolicyURL": "https://xpertai.cn",
31
+ "termsOfServiceURL": "https://xpertai.cn",
32
+ "defaultPrompt": [
33
+ "Create an editable architecture diagram",
34
+ "Turn this flow into an Excalidraw drawing",
35
+ "Update the current Excalidraw canvas from my feedback"
36
+ ],
37
+ "composerIcon": "./assets/composerIcon.svg",
38
+ "logo": "./assets/logo.svg",
39
+ "brandColor": "#6965DB",
40
+ "screenshots": []
41
+ },
42
+ "policy": {
43
+ "installation": "AVAILABLE",
44
+ "authentication": "ON_FIRST_USE",
45
+ "pluginSharing": true
46
+ },
47
+ "source": {
48
+ "source": "local",
49
+ "path": ".",
50
+ "url": "https://github.com/xpert-ai/xpert-plugins",
51
+ "sparsePath": "community/apps/excalidraw"
52
+ },
53
+ "assets": {
54
+ "composerIcon": "./assets/composerIcon.svg",
55
+ "logo": "./assets/logo.svg",
56
+ "screenshots": []
57
+ },
58
+ "targetApps": [
59
+ "data-xpert",
60
+ "xpert"
61
+ ],
62
+ "targetAppMeta": {
63
+ "xpert": {
64
+ "types": [
65
+ "assistant-template",
66
+ "skill",
67
+ "app",
68
+ "xpertai-bundle"
69
+ ],
70
+ "capabilities": [
71
+ "excalidraw",
72
+ "diagram-workbench",
73
+ "agent-drawing",
74
+ "excalidraw-assistant-template"
75
+ ],
76
+ "marketplace": {
77
+ "contents": [
78
+ {
79
+ "type": "skill",
80
+ "name": "index",
81
+ "displayName": "Excalidraw Agent Drawing",
82
+ "description": "Workflow skill for Agent-managed Excalidraw diagrams, Mermaid drafts, scene versions, and Workbench review.",
83
+ "tags": [
84
+ "skill",
85
+ "excalidraw",
86
+ "agent-drawing"
87
+ ]
88
+ },
89
+ {
90
+ "type": "assistant-template",
91
+ "name": "excalidraw-assistant",
92
+ "displayName": "Excalidraw Drawing Assistant",
93
+ "description": "Assistant template for Excalidraw drawing workflows."
94
+ },
95
+ {
96
+ "type": "app",
97
+ "name": "excalidraw",
98
+ "displayName": "Excalidraw",
99
+ "description": "Workbench and Agent middleware tools for Excalidraw diagrams."
100
+ }
101
+ ]
102
+ }
103
+ },
104
+ "data-xpert": {
105
+ "types": [
106
+ "workbench-view",
107
+ "assistant-tool",
108
+ "business-app"
109
+ ],
110
+ "capabilities": [
111
+ "excalidraw",
112
+ "diagram-workbench",
113
+ "agent-drawing",
114
+ "excalidraw-assistant-template"
115
+ ]
116
+ }
117
+ }
118
+ }
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # Excalidraw Plugin
2
+
3
+ Agentic Excalidraw plugin for Xpert and data-xpert. It provides Agent middleware tools, an Excalidraw Workbench, Assistant templates, and an installable Xpert skill for creating, versioning, reviewing, and exporting diagrams.
4
+
5
+ Installable skills live under `skills/` and are advertised through `.xpertai-plugin/plugin.json`.
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
2
+ <rect x="3" y="4" width="18" height="14" rx="3" stroke="currentColor" stroke-width="1.8"/>
3
+ <path d="M7 15c2.2-3.2 4.2-3.2 6 0 1.2 2.1 2.7 2.1 4 0" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/>
4
+ <path d="M8 8h5M8 11h8" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/>
5
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256" fill="none">
2
+ <rect width="256" height="256" rx="48" fill="#F8FAFC"/>
3
+ <rect x="42" y="54" width="172" height="116" rx="22" fill="#FFFFFF" stroke="#6965DB" stroke-width="10"/>
4
+ <path d="M74 132C96 94 120 94 140 132C154 158 174 158 194 126" stroke="#111827" stroke-width="11" stroke-linecap="round"/>
5
+ <path d="M78 90H130" stroke="#6965DB" stroke-width="10" stroke-linecap="round"/>
6
+ <path d="M78 112H162" stroke="#94A3B8" stroke-width="8" stroke-linecap="round"/>
7
+ <path d="M76 204C98 186 124 182 154 194C170 200 188 196 202 182" stroke="#6965DB" stroke-width="10" stroke-linecap="round"/>
8
+ </svg>
@@ -0,0 +1,32 @@
1
+ # Excalidraw Agent Drawing Skill
2
+
3
+ Use this skill when an Agent needs to create, update, or manage reviewable Excalidraw diagrams.
4
+
5
+ ## Workflow
6
+
7
+ 1. Identify the drawing purpose, audience, nodes, relationships, and constraints.
8
+ 2. Search or read an existing drawing before editing it.
9
+ 3. Save a Mermaid draft for flowcharts and architecture flows when that is the fastest path.
10
+ 4. Save direct Excalidraw JSON for precise layouts, freeform diagrams, wireframes, or targeted edits.
11
+ 5. Preserve user edits by patching existing elements when possible.
12
+ 6. Save each meaningful change as a new version with a short change summary.
13
+ 7. Report failures with operation, reason, recoverability, and evidence.
14
+
15
+ ## Mermaid Guidance
16
+
17
+ - Flowcharts are the preferred Mermaid input for editable conversion.
18
+ - Other Mermaid diagram types may enter Excalidraw as an image and may be less editable.
19
+ - Keep node labels short and stable.
20
+ - Avoid relying on unsupported styling when the workbench conversion result must remain editable.
21
+ - The workbench auto-previews saved Mermaid drafts as Excalidraw scenes after Agent tool completion, but users still save the converted scene as a reviewed version.
22
+
23
+ ## Excalidraw JSON Guidance
24
+
25
+ - Use serializable element JSON with stable ids.
26
+ - Keep the scene understandable: title area, grouped sections, clear arrows, and short labels.
27
+ - Prefer `excalidraw_patch_scene` for small edits and `excalidraw_save_scene_version` for full replacements.
28
+ - Do not overwrite `files` or `appState` unless the change requires it.
29
+
30
+ ## Failure Reporting
31
+
32
+ Call `excalidraw_report_failure` when source material is missing, Mermaid is invalid, requested edits conflict with the current drawing, or generated JSON cannot be made valid enough for review.
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import type { XpertPlugin } from '@xpert-ai/plugin-sdk';
3
+ declare const ConfigSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
4
+ declare const plugin: XpertPlugin<z.infer<typeof ConfigSchema>>;
5
+ export default plugin;
6
+ export * from './lib/constants.js';
7
+ export * from './lib/types.js';
8
+ export * from './lib/entities/index.js';
9
+ export * from './lib/excalidraw.plugin.js';
10
+ export * from './lib/excalidraw.service.js';
11
+ export * from './lib/excalidraw.middleware.js';
12
+ export * from './lib/excalidraw-view.provider.js';
13
+ export * from './lib/excalidraw.templates.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAuBvD,QAAA,MAAM,YAAY,gDAAe,CAAA;AAEjC,QAAA,MAAM,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAuIrD,CAAA;AAED,eAAe,MAAM,CAAA;AACrB,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,153 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { z } from 'zod';
5
+ import { EXCALIDRAW_AGENT_DRAWING_CAPABILITY, EXCALIDRAW_FEATURE, EXCALIDRAW_ICON, EXCALIDRAW_MIDDLEWARE_NAME, EXCALIDRAW_PROVIDER_KEY, EXCALIDRAW_TEMPLATE_CAPABILITY, EXCALIDRAW_TEMPLATE_PROVIDER_KEY, EXCALIDRAW_WORKBENCH_CAPABILITY, EXCALIDRAW_WORKBENCH_VIEW_KEY } from './lib/constants.js';
6
+ import { ExcalidrawPlugin } from './lib/excalidraw.plugin.js';
7
+ import { excalidrawTemplates } from './lib/excalidraw.templates.js';
8
+ const moduleDir = dirname(fileURLToPath(import.meta.url));
9
+ const packageJson = JSON.parse(readFileSync(join(moduleDir, '../package.json'), 'utf8'));
10
+ const ConfigSchema = z.object({});
11
+ const plugin = {
12
+ meta: {
13
+ name: packageJson.name,
14
+ version: packageJson.version,
15
+ level: 'system',
16
+ targetApps: ['data-xpert', 'xpert'],
17
+ targetAppMeta: {
18
+ 'data-xpert': {
19
+ types: ['workbench-view', 'assistant-tool', 'business-app'],
20
+ capabilities: [
21
+ EXCALIDRAW_FEATURE,
22
+ EXCALIDRAW_WORKBENCH_CAPABILITY,
23
+ EXCALIDRAW_AGENT_DRAWING_CAPABILITY,
24
+ EXCALIDRAW_TEMPLATE_CAPABILITY
25
+ ],
26
+ marketplace: {
27
+ contents: [
28
+ {
29
+ type: 'app',
30
+ name: 'excalidraw',
31
+ displayName: 'Excalidraw',
32
+ description: 'Create, update, version, review, import, export, and convert Agent-generated Excalidraw diagrams.',
33
+ icon: {
34
+ type: 'svg',
35
+ value: EXCALIDRAW_ICON,
36
+ color: '#2563eb'
37
+ },
38
+ operations: [
39
+ {
40
+ name: 'create-excalidraw-drawings',
41
+ displayName: 'Create Excalidraw drawings',
42
+ description: 'Create reviewable diagrams from Agent-generated Excalidraw JSON or Mermaid drafts.',
43
+ access: 'write'
44
+ },
45
+ {
46
+ name: 'save-excalidraw-versions',
47
+ displayName: 'Save drawing versions',
48
+ description: 'Persist complete scenes, patches, and Mermaid conversions as versioned drawing records.',
49
+ access: 'write'
50
+ },
51
+ {
52
+ name: 'review-excalidraw-workbench',
53
+ displayName: 'Review drawing workbench',
54
+ description: 'Open Excalidraw to inspect, manually edit, restore, import, and export drawings.',
55
+ access: 'read'
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ type: 'view',
61
+ name: EXCALIDRAW_WORKBENCH_VIEW_KEY,
62
+ displayName: 'Excalidraw Workbench',
63
+ description: 'Workbench view for drawing lists, Excalidraw editing, Mermaid conversion, and version history.'
64
+ },
65
+ {
66
+ type: 'tool',
67
+ name: EXCALIDRAW_MIDDLEWARE_NAME,
68
+ displayName: 'Excalidraw Agent Tools',
69
+ description: 'Assistant middleware tools for creating drawings, saving scenes, patching elements, saving Mermaid drafts, searching drawings, and reporting failures.'
70
+ },
71
+ {
72
+ type: 'assistant-template',
73
+ name: 'excalidraw-assistant',
74
+ displayName: 'Excalidraw Drawing Assistant Template',
75
+ description: 'Prebuilt assistant template for Agent-managed diagram creation and Excalidraw review workflows.'
76
+ }
77
+ ]
78
+ },
79
+ runtime: {
80
+ middlewareProviders: [EXCALIDRAW_MIDDLEWARE_NAME],
81
+ viewProviders: [EXCALIDRAW_PROVIDER_KEY],
82
+ templateProviders: [EXCALIDRAW_TEMPLATE_PROVIDER_KEY]
83
+ }
84
+ },
85
+ xpert: {
86
+ types: ['assistant-template', 'skill', 'app', 'xpertai-bundle'],
87
+ capabilities: [
88
+ EXCALIDRAW_FEATURE,
89
+ EXCALIDRAW_WORKBENCH_CAPABILITY,
90
+ EXCALIDRAW_AGENT_DRAWING_CAPABILITY,
91
+ EXCALIDRAW_TEMPLATE_CAPABILITY
92
+ ],
93
+ marketplace: {
94
+ contents: [
95
+ {
96
+ type: 'skill',
97
+ name: 'index',
98
+ displayName: 'Excalidraw Agent Drawing',
99
+ description: 'Workflow skill for Agent-managed Excalidraw diagrams, Mermaid drafts, scene versions, and Workbench review.',
100
+ tags: ['skill', 'excalidraw', 'agent-drawing']
101
+ },
102
+ {
103
+ type: 'assistant-template',
104
+ name: 'excalidraw-assistant',
105
+ displayName: 'Excalidraw Drawing Assistant',
106
+ description: 'Assistant template for Excalidraw drawing workflows.'
107
+ },
108
+ {
109
+ type: 'app',
110
+ name: 'excalidraw',
111
+ displayName: 'Excalidraw',
112
+ description: 'Workbench and Agent middleware tools for Excalidraw diagrams.'
113
+ }
114
+ ]
115
+ }
116
+ }
117
+ },
118
+ category: 'middleware',
119
+ icon: {
120
+ type: 'svg',
121
+ value: EXCALIDRAW_ICON,
122
+ color: '#2563eb'
123
+ },
124
+ displayName: 'Excalidraw',
125
+ description: 'Agentic Excalidraw plugin for structured diagram generation, versioning, review, and Mermaid conversion.',
126
+ keywords: ['excalidraw', 'diagram', 'whiteboard', 'mermaid', 'middleware', 'view-extension', 'assistant-template'],
127
+ author: 'XpertAI Team'
128
+ },
129
+ config: {
130
+ schema: ConfigSchema
131
+ },
132
+ templates: excalidrawTemplates,
133
+ register(ctx) {
134
+ ctx.logger.log('register excalidraw plugin');
135
+ return { module: ExcalidrawPlugin, global: true };
136
+ },
137
+ async onStart(ctx) {
138
+ ctx.logger.log('excalidraw plugin started');
139
+ },
140
+ async onStop(ctx) {
141
+ ctx.logger.log('excalidraw plugin stopped');
142
+ }
143
+ };
144
+ export default plugin;
145
+ export * from './lib/constants.js';
146
+ export * from './lib/types.js';
147
+ export * from './lib/entities/index.js';
148
+ export * from './lib/excalidraw.plugin.js';
149
+ export * from './lib/excalidraw.service.js';
150
+ export * from './lib/excalidraw.middleware.js';
151
+ export * from './lib/excalidraw-view.provider.js';
152
+ export * from './lib/excalidraw.templates.js';
153
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export declare const EXCALIDRAW_PLUGIN_NAME = "@xpert-ai/plugin-excalidraw";
2
+ export declare const EXCALIDRAW_PROVIDER_KEY = "excalidraw";
3
+ export declare const EXCALIDRAW_MIDDLEWARE_NAME = "ExcalidrawMiddleware";
4
+ export declare const EXCALIDRAW_TEMPLATE_PROVIDER_KEY = "excalidrawTemplates";
5
+ export declare const EXCALIDRAW_FEATURE = "excalidraw";
6
+ export declare const EXCALIDRAW_AGENT_DRAWING_CAPABILITY = "agent-drawing";
7
+ export declare const EXCALIDRAW_WORKBENCH_CAPABILITY = "diagram-workbench";
8
+ export declare const EXCALIDRAW_TEMPLATE_CAPABILITY = "excalidraw-assistant-template";
9
+ export declare const EXCALIDRAW_WORKBENCH_VIEW_KEY = "excalidraw_workbench";
10
+ export declare const EXCALIDRAW_REMOTE_ENTRY_KEY = "excalidraw-workbench";
11
+ export declare const AGENT_WORKBENCH_MAIN_SLOT = "agent.workbench.main";
12
+ export declare const AGENT_WORKBENCH_FIXED_SLOT = "agent.workbench.fixed";
13
+ export declare const ASSISTANT_CHAT_SEND_MESSAGE_COMMAND = "assistant.chat.send_message";
14
+ export declare const EXCALIDRAW_CREATE_DRAWING_TOOL_NAME = "excalidraw_create_drawing";
15
+ export declare const EXCALIDRAW_SAVE_SCENE_VERSION_TOOL_NAME = "excalidraw_save_scene_version";
16
+ export declare const EXCALIDRAW_PATCH_SCENE_TOOL_NAME = "excalidraw_patch_scene";
17
+ export declare const EXCALIDRAW_SAVE_MERMAID_DRAFT_TOOL_NAME = "excalidraw_save_mermaid_draft";
18
+ export declare const EXCALIDRAW_SEARCH_DRAWINGS_TOOL_NAME = "excalidraw_search_drawings";
19
+ export declare const EXCALIDRAW_GET_DRAWING_TOOL_NAME = "excalidraw_get_drawing";
20
+ export declare const EXCALIDRAW_UPDATE_DRAWING_STATUS_TOOL_NAME = "excalidraw_update_drawing_status";
21
+ export declare const EXCALIDRAW_REPORT_FAILURE_TOOL_NAME = "excalidraw_report_failure";
22
+ export declare const EXCALIDRAW_MIDDLEWARE_TOOL_NAMES: readonly ["excalidraw_create_drawing", "excalidraw_save_scene_version", "excalidraw_patch_scene", "excalidraw_save_mermaid_draft", "excalidraw_search_drawings", "excalidraw_get_drawing", "excalidraw_update_drawing_status", "excalidraw_report_failure"];
23
+ export declare const EXCALIDRAW_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\" fill=\"none\">\n <rect width=\"256\" height=\"256\" rx=\"40\" fill=\"#F8FAFC\"/>\n <rect x=\"44\" y=\"52\" width=\"168\" height=\"124\" rx=\"18\" fill=\"#FFFFFF\" stroke=\"#2563EB\" stroke-width=\"9\"/>\n <path d=\"M76 92H132\" stroke=\"#0F172A\" stroke-width=\"10\" stroke-linecap=\"round\"/>\n <path d=\"M76 124H112\" stroke=\"#64748B\" stroke-width=\"8\" stroke-linecap=\"round\"/>\n <path d=\"M154 86L184 116L154 146\" stroke=\"#14B8A6\" stroke-width=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M74 202C96 178 124 172 158 185C170 190 184 190 196 180\" stroke=\"#2563EB\" stroke-width=\"10\" stroke-linecap=\"round\"/>\n <circle cx=\"68\" cy=\"202\" r=\"10\" fill=\"#14B8A6\"/>\n <circle cx=\"202\" cy=\"178\" r=\"10\" fill=\"#14B8A6\"/>\n</svg>";
24
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,gCAAgC,CAAA;AACnE,eAAO,MAAM,uBAAuB,eAAe,CAAA;AACnD,eAAO,MAAM,0BAA0B,yBAAyB,CAAA;AAChE,eAAO,MAAM,gCAAgC,wBAAwB,CAAA;AACrE,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAC9C,eAAO,MAAM,mCAAmC,kBAAkB,CAAA;AAClE,eAAO,MAAM,+BAA+B,sBAAsB,CAAA;AAClE,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAC7E,eAAO,MAAM,6BAA6B,yBAAyB,CAAA;AACnE,eAAO,MAAM,2BAA2B,yBAAyB,CAAA;AACjE,eAAO,MAAM,yBAAyB,yBAAyB,CAAA;AAC/D,eAAO,MAAM,0BAA0B,0BAA0B,CAAA;AACjE,eAAO,MAAM,mCAAmC,gCAAgC,CAAA;AAEhF,eAAO,MAAM,mCAAmC,8BAA8B,CAAA;AAC9E,eAAO,MAAM,uCAAuC,kCAAkC,CAAA;AACtF,eAAO,MAAM,gCAAgC,2BAA2B,CAAA;AACxE,eAAO,MAAM,uCAAuC,kCAAkC,CAAA;AACtF,eAAO,MAAM,oCAAoC,+BAA+B,CAAA;AAChF,eAAO,MAAM,gCAAgC,2BAA2B,CAAA;AACxE,eAAO,MAAM,0CAA0C,qCAAqC,CAAA;AAC5F,eAAO,MAAM,mCAAmC,8BAA8B,CAAA;AAE9E,eAAO,MAAM,gCAAgC,6PASnC,CAAA;AAEV,eAAO,MAAM,eAAe,o3BASrB,CAAA"}
@@ -0,0 +1,42 @@
1
+ export const EXCALIDRAW_PLUGIN_NAME = '@xpert-ai/plugin-excalidraw';
2
+ export const EXCALIDRAW_PROVIDER_KEY = 'excalidraw';
3
+ export const EXCALIDRAW_MIDDLEWARE_NAME = 'ExcalidrawMiddleware';
4
+ export const EXCALIDRAW_TEMPLATE_PROVIDER_KEY = 'excalidrawTemplates';
5
+ export const EXCALIDRAW_FEATURE = 'excalidraw';
6
+ export const EXCALIDRAW_AGENT_DRAWING_CAPABILITY = 'agent-drawing';
7
+ export const EXCALIDRAW_WORKBENCH_CAPABILITY = 'diagram-workbench';
8
+ export const EXCALIDRAW_TEMPLATE_CAPABILITY = 'excalidraw-assistant-template';
9
+ export const EXCALIDRAW_WORKBENCH_VIEW_KEY = 'excalidraw_workbench';
10
+ export const EXCALIDRAW_REMOTE_ENTRY_KEY = 'excalidraw-workbench';
11
+ export const AGENT_WORKBENCH_MAIN_SLOT = 'agent.workbench.main';
12
+ export const AGENT_WORKBENCH_FIXED_SLOT = 'agent.workbench.fixed';
13
+ export const ASSISTANT_CHAT_SEND_MESSAGE_COMMAND = 'assistant.chat.send_message';
14
+ export const EXCALIDRAW_CREATE_DRAWING_TOOL_NAME = 'excalidraw_create_drawing';
15
+ export const EXCALIDRAW_SAVE_SCENE_VERSION_TOOL_NAME = 'excalidraw_save_scene_version';
16
+ export const EXCALIDRAW_PATCH_SCENE_TOOL_NAME = 'excalidraw_patch_scene';
17
+ export const EXCALIDRAW_SAVE_MERMAID_DRAFT_TOOL_NAME = 'excalidraw_save_mermaid_draft';
18
+ export const EXCALIDRAW_SEARCH_DRAWINGS_TOOL_NAME = 'excalidraw_search_drawings';
19
+ export const EXCALIDRAW_GET_DRAWING_TOOL_NAME = 'excalidraw_get_drawing';
20
+ export const EXCALIDRAW_UPDATE_DRAWING_STATUS_TOOL_NAME = 'excalidraw_update_drawing_status';
21
+ export const EXCALIDRAW_REPORT_FAILURE_TOOL_NAME = 'excalidraw_report_failure';
22
+ export const EXCALIDRAW_MIDDLEWARE_TOOL_NAMES = [
23
+ EXCALIDRAW_CREATE_DRAWING_TOOL_NAME,
24
+ EXCALIDRAW_SAVE_SCENE_VERSION_TOOL_NAME,
25
+ EXCALIDRAW_PATCH_SCENE_TOOL_NAME,
26
+ EXCALIDRAW_SAVE_MERMAID_DRAFT_TOOL_NAME,
27
+ EXCALIDRAW_SEARCH_DRAWINGS_TOOL_NAME,
28
+ EXCALIDRAW_GET_DRAWING_TOOL_NAME,
29
+ EXCALIDRAW_UPDATE_DRAWING_STATUS_TOOL_NAME,
30
+ EXCALIDRAW_REPORT_FAILURE_TOOL_NAME
31
+ ];
32
+ export const EXCALIDRAW_ICON = `<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256" fill="none">
33
+ <rect width="256" height="256" rx="40" fill="#F8FAFC"/>
34
+ <rect x="44" y="52" width="168" height="124" rx="18" fill="#FFFFFF" stroke="#2563EB" stroke-width="9"/>
35
+ <path d="M76 92H132" stroke="#0F172A" stroke-width="10" stroke-linecap="round"/>
36
+ <path d="M76 124H112" stroke="#64748B" stroke-width="8" stroke-linecap="round"/>
37
+ <path d="M154 86L184 116L154 146" stroke="#14B8A6" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>
38
+ <path d="M74 202C96 178 124 172 158 185C170 190 184 190 196 180" stroke="#2563EB" stroke-width="10" stroke-linecap="round"/>
39
+ <circle cx="68" cy="202" r="10" fill="#14B8A6"/>
40
+ <circle cx="202" cy="178" r="10" fill="#14B8A6"/>
41
+ </svg>`;
42
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAA;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAA;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAA;AAChE,MAAM,CAAC,MAAM,gCAAgC,GAAG,qBAAqB,CAAA;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAC9C,MAAM,CAAC,MAAM,mCAAmC,GAAG,eAAe,CAAA;AAClE,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAA;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAG,+BAA+B,CAAA;AAC7E,MAAM,CAAC,MAAM,6BAA6B,GAAG,sBAAsB,CAAA;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAA;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAA;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAA;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,6BAA6B,CAAA;AAEhF,MAAM,CAAC,MAAM,mCAAmC,GAAG,2BAA2B,CAAA;AAC9E,MAAM,CAAC,MAAM,uCAAuC,GAAG,+BAA+B,CAAA;AACtF,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAA;AACxE,MAAM,CAAC,MAAM,uCAAuC,GAAG,+BAA+B,CAAA;AACtF,MAAM,CAAC,MAAM,oCAAoC,GAAG,4BAA4B,CAAA;AAChF,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAA;AACxE,MAAM,CAAC,MAAM,0CAA0C,GAAG,kCAAkC,CAAA;AAC5F,MAAM,CAAC,MAAM,mCAAmC,GAAG,2BAA2B,CAAA;AAE9E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,mCAAmC;IACnC,uCAAuC;IACvC,gCAAgC;IAChC,uCAAuC;IACvC,oCAAoC;IACpC,gCAAgC;IAChC,0CAA0C;IAC1C,mCAAmC;CAC3B,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;OASxB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { ExcalidrawActionType, ExcalidrawActorType } from '../types.js';
2
+ export declare class ExcalidrawActionLog {
3
+ id?: string;
4
+ tenantId?: string;
5
+ organizationId?: string;
6
+ workspaceId?: string;
7
+ projectId?: string;
8
+ drawingId?: string;
9
+ versionId?: string;
10
+ action: ExcalidrawActionType;
11
+ actorType?: ExcalidrawActorType;
12
+ actorId?: string;
13
+ message?: string;
14
+ errorMessage?: string;
15
+ snapshot?: unknown;
16
+ createdAt?: Date;
17
+ }
18
+ //# sourceMappingURL=excalidraw-action-log.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excalidraw-action-log.entity.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/excalidraw-action-log.entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAE5E,qBAGa,mBAAmB;IAE9B,EAAE,CAAC,EAAE,MAAM,CAAA;IAIX,QAAQ,CAAC,EAAE,MAAM,CAAA;IAIjB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,MAAM,EAAG,oBAAoB,CAAA;IAG7B,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAG/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAA;IAGrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAGlB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB"}
@@ -0,0 +1,69 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Column, CreateDateColumn, Entity, Index, PrimaryGeneratedColumn } from 'typeorm';
3
+ let ExcalidrawActionLog = class ExcalidrawActionLog {
4
+ };
5
+ __decorate([
6
+ PrimaryGeneratedColumn('uuid'),
7
+ __metadata("design:type", String)
8
+ ], ExcalidrawActionLog.prototype, "id", void 0);
9
+ __decorate([
10
+ Index(),
11
+ Column({ type: 'varchar', nullable: true }),
12
+ __metadata("design:type", String)
13
+ ], ExcalidrawActionLog.prototype, "tenantId", void 0);
14
+ __decorate([
15
+ Index(),
16
+ Column({ type: 'varchar', nullable: true }),
17
+ __metadata("design:type", String)
18
+ ], ExcalidrawActionLog.prototype, "organizationId", void 0);
19
+ __decorate([
20
+ Column({ type: 'varchar', nullable: true }),
21
+ __metadata("design:type", String)
22
+ ], ExcalidrawActionLog.prototype, "workspaceId", void 0);
23
+ __decorate([
24
+ Column({ type: 'varchar', nullable: true }),
25
+ __metadata("design:type", String)
26
+ ], ExcalidrawActionLog.prototype, "projectId", void 0);
27
+ __decorate([
28
+ Column({ type: 'varchar', nullable: true }),
29
+ __metadata("design:type", String)
30
+ ], ExcalidrawActionLog.prototype, "drawingId", void 0);
31
+ __decorate([
32
+ Column({ type: 'varchar', nullable: true }),
33
+ __metadata("design:type", String)
34
+ ], ExcalidrawActionLog.prototype, "versionId", void 0);
35
+ __decorate([
36
+ Column({ type: 'varchar' }),
37
+ __metadata("design:type", String)
38
+ ], ExcalidrawActionLog.prototype, "action", void 0);
39
+ __decorate([
40
+ Column({ type: 'varchar', default: 'system' }),
41
+ __metadata("design:type", String)
42
+ ], ExcalidrawActionLog.prototype, "actorType", void 0);
43
+ __decorate([
44
+ Column({ type: 'varchar', nullable: true }),
45
+ __metadata("design:type", String)
46
+ ], ExcalidrawActionLog.prototype, "actorId", void 0);
47
+ __decorate([
48
+ Column({ type: 'text', nullable: true }),
49
+ __metadata("design:type", String)
50
+ ], ExcalidrawActionLog.prototype, "message", void 0);
51
+ __decorate([
52
+ Column({ type: 'text', nullable: true }),
53
+ __metadata("design:type", String)
54
+ ], ExcalidrawActionLog.prototype, "errorMessage", void 0);
55
+ __decorate([
56
+ Column({ type: 'jsonb', nullable: true }),
57
+ __metadata("design:type", Object)
58
+ ], ExcalidrawActionLog.prototype, "snapshot", void 0);
59
+ __decorate([
60
+ CreateDateColumn({ type: 'timestamptz' }),
61
+ __metadata("design:type", Date)
62
+ ], ExcalidrawActionLog.prototype, "createdAt", void 0);
63
+ ExcalidrawActionLog = __decorate([
64
+ Entity('plugin_excalidraw_action_log'),
65
+ Index(['tenantId', 'organizationId', 'drawingId', 'createdAt']),
66
+ Index(['tenantId', 'organizationId', 'projectId', 'createdAt'])
67
+ ], ExcalidrawActionLog);
68
+ export { ExcalidrawActionLog };
69
+ //# sourceMappingURL=excalidraw-action-log.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excalidraw-action-log.entity.js","sourceRoot":"","sources":["../../../src/lib/entities/excalidraw-action-log.entity.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMlF,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CA4C/B,CAAA;AA1CC;IADC,sBAAsB,CAAC,MAAM,CAAC;;+CACpB;AAIX;IAFC,KAAK,EAAE;IACP,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC3B;AAIjB;IAFC,KAAK,EAAE;IACP,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACrB;AAGvB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACxB;AAGpB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC1B;AAGlB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC1B;AAGlB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC1B;AAGlB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACC;AAG7B;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;sDAChB;AAG/B;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC5B;AAGhB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACzB;AAGhB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACpB;AAGrB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACxB;AAGlB;IADC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC9B,IAAI;sDAAA;AA3CL,mBAAmB;IAH/B,MAAM,CAAC,8BAA8B,CAAC;IACtC,KAAK,CAAC,CAAC,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/D,KAAK,CAAC,CAAC,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;GACnD,mBAAmB,CA4C/B"}
@@ -0,0 +1,21 @@
1
+ import type { ExcalidrawVersionSource } from '../types.js';
2
+ export declare class ExcalidrawDrawingVersion {
3
+ id?: string;
4
+ tenantId?: string;
5
+ organizationId?: string;
6
+ workspaceId?: string;
7
+ projectId?: string;
8
+ drawingId: string;
9
+ versionNumber: number;
10
+ sourceType?: ExcalidrawVersionSource;
11
+ elements?: unknown[];
12
+ appState?: Record<string, unknown> | null;
13
+ files?: Record<string, unknown> | null;
14
+ mermaidSource?: string | null;
15
+ changeSummary?: string;
16
+ createdById?: string;
17
+ assistantId?: string;
18
+ conversationId?: string;
19
+ createdAt?: Date;
20
+ }
21
+ //# sourceMappingURL=excalidraw-drawing-version.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excalidraw-drawing-version.entity.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/excalidraw-drawing-version.entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D,qBAGa,wBAAwB;IAEnC,EAAE,CAAC,EAAE,MAAM,CAAA;IAIX,QAAQ,CAAC,EAAE,MAAM,CAAA;IAIjB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAIlB,SAAS,EAAG,MAAM,CAAA;IAGlB,aAAa,EAAG,MAAM,CAAA;IAGtB,UAAU,CAAC,EAAE,uBAAuB,CAAA;IAGpC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IAGpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAGzC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAGtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAG7B,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB"}