@eventcatalog/core 3.48.4 → 4.0.0-beta.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 (109) hide show
  1. package/dist/analytics/analytics.cjs +1 -1
  2. package/dist/analytics/analytics.js +2 -2
  3. package/dist/analytics/log-build.cjs +1 -1
  4. package/dist/analytics/log-build.js +3 -3
  5. package/dist/catalog-to-astro-content-directory.cjs +1 -1
  6. package/dist/{chunk-SY4XL6OQ.js → chunk-7PMNFOIL.js} +1 -1
  7. package/dist/chunk-BWN544LB.js +73 -0
  8. package/dist/{chunk-JY4H7A4S.js → chunk-D3MI3OFO.js} +1 -1
  9. package/dist/{chunk-FNDSHOV2.js → chunk-HN45LKSL.js} +1 -1
  10. package/dist/{chunk-KDLSBQRP.js → chunk-JMADW4J7.js} +1 -1
  11. package/dist/{chunk-XNVSSL4W.js → chunk-NAOHQDLC.js} +1 -1
  12. package/dist/constants.cjs +1 -1
  13. package/dist/constants.js +1 -1
  14. package/dist/core-node-modules.cjs +108 -0
  15. package/dist/core-node-modules.d.cts +7 -0
  16. package/dist/core-node-modules.d.ts +7 -0
  17. package/dist/core-node-modules.js +8 -0
  18. package/dist/docs/development/components/components/15-prompt.md +5 -1
  19. package/dist/eventcatalog.cjs +124 -48
  20. package/dist/eventcatalog.js +26 -15
  21. package/dist/generate.cjs +1 -1
  22. package/dist/generate.js +3 -3
  23. package/dist/utils/cli-logger.cjs +1 -1
  24. package/dist/utils/cli-logger.js +2 -2
  25. package/eventcatalog/astro.config.mjs +27 -23
  26. package/eventcatalog/public/icons/languages/java.svg +1 -0
  27. package/eventcatalog/public/icons/payments/stripe.svg +1 -0
  28. package/eventcatalog/src/components/Badge.astro +10 -10
  29. package/eventcatalog/src/components/CopyAsMarkdown.tsx +154 -0
  30. package/eventcatalog/src/components/Grids/DomainGrid.tsx +207 -44
  31. package/eventcatalog/src/components/Grids/MessageGrid.tsx +0 -20
  32. package/eventcatalog/src/components/Grids/SystemGrid.tsx +185 -0
  33. package/eventcatalog/src/components/MDX/ADRTable/ADRTable.astro +99 -0
  34. package/eventcatalog/src/components/MDX/ADRTable/ADRTable.client.tsx +400 -0
  35. package/eventcatalog/src/components/MDX/ContextDiagram/ContextDiagramPortal.tsx +21 -0
  36. package/eventcatalog/src/components/MDX/NodeGraph/AstroNodeGraph.tsx +1 -0
  37. package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.astro +42 -6
  38. package/eventcatalog/src/components/MDX/Prompt/Prompt.astro +62 -9
  39. package/eventcatalog/src/components/MDX/ResourceRef/ResourceRef.astro +8 -1
  40. package/eventcatalog/src/components/MDX/SystemContextMap/SystemContextMapPortal.tsx +22 -0
  41. package/eventcatalog/src/components/MDX/components.tsx +7 -0
  42. package/eventcatalog/src/components/SchemaExplorer/SchemaExplorer.tsx +1 -1
  43. package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +67 -37
  44. package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +47 -0
  45. package/eventcatalog/src/components/Tables/Discover/FilterComponents.tsx +10 -2
  46. package/eventcatalog/src/components/Tables/Discover/columns.tsx +115 -27
  47. package/eventcatalog/src/components/Tables/Discover/index.ts +7 -1
  48. package/eventcatalog/src/components/Tables/SystemResources/SystemResourcesTable.tsx +267 -0
  49. package/eventcatalog/src/content.config.ts +94 -8
  50. package/eventcatalog/src/enterprise/collections/resource-docs-utils.ts +4 -1
  51. package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +12 -13
  52. package/eventcatalog/src/enterprise/custom-documentation/utils/custom-docs.ts +6 -0
  53. package/eventcatalog/src/enterprise/feature.ts +3 -1
  54. package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +85 -129
  55. package/eventcatalog/src/layouts/VisualiserLayout.astro +66 -0
  56. package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.ts +4 -2
  57. package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +2 -0
  58. package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +15 -15
  59. package/eventcatalog/src/pages/discover/[type]/_index.data.ts +1 -0
  60. package/eventcatalog/src/pages/discover/[type]/index.astro +47 -2
  61. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +15 -14
  62. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +13 -14
  63. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/_index.data.ts +1 -0
  64. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/_index.data.ts +11 -1
  65. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +81 -26
  66. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.ts +89 -0
  67. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/index.astro +85 -0
  68. package/eventcatalog/src/pages/docs/[type]/[id]/[version].md.ts +2 -0
  69. package/eventcatalog/src/pages/docs/[type]/[id]/[version].mdx.ts +2 -0
  70. package/eventcatalog/src/pages/docs/[type]/[id]/_index.data.ts +1 -0
  71. package/eventcatalog/src/pages/docs/teams/[id]/index.astro +24 -1
  72. package/eventcatalog/src/pages/docs/users/[id]/index.astro +24 -1
  73. package/eventcatalog/src/pages/index.astro +30 -7
  74. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/_index.data.ts +1 -0
  75. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/index.astro +1 -1
  76. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version].mermaid.ts +3 -0
  77. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/_index.data.ts +94 -0
  78. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/index.astro +51 -0
  79. package/eventcatalog/src/pages/visualiser/system-context-map/index.astro +41 -0
  80. package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/_index.data.ts +91 -0
  81. package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/index.astro +51 -0
  82. package/eventcatalog/src/stores/sidebar-store/builders/adr.ts +3 -1
  83. package/eventcatalog/src/stores/sidebar-store/builders/agent.ts +3 -1
  84. package/eventcatalog/src/stores/sidebar-store/builders/container.ts +1 -1
  85. package/eventcatalog/src/stores/sidebar-store/builders/data-product.ts +1 -1
  86. package/eventcatalog/src/stores/sidebar-store/builders/domain.ts +127 -49
  87. package/eventcatalog/src/stores/sidebar-store/builders/message.ts +1 -1
  88. package/eventcatalog/src/stores/sidebar-store/builders/service.ts +4 -2
  89. package/eventcatalog/src/stores/sidebar-store/builders/shared.ts +2 -1
  90. package/eventcatalog/src/stores/sidebar-store/builders/system.ts +166 -0
  91. package/eventcatalog/src/stores/sidebar-store/state.ts +99 -6
  92. package/eventcatalog/src/types/index.ts +2 -0
  93. package/eventcatalog/src/utils/collection-colors.ts +6 -1
  94. package/eventcatalog/src/utils/collections/domains.ts +35 -0
  95. package/eventcatalog/src/utils/collections/icons.ts +4 -5
  96. package/eventcatalog/src/utils/collections/systems.ts +110 -0
  97. package/eventcatalog/src/utils/collections/teams.ts +15 -10
  98. package/eventcatalog/src/utils/collections/users.ts +7 -4
  99. package/eventcatalog/src/utils/collections/util.ts +2 -0
  100. package/eventcatalog/src/utils/icon-map.ts +20 -0
  101. package/eventcatalog/src/utils/icon.ts +11 -0
  102. package/eventcatalog/src/utils/node-graphs/container-node-graph.ts +12 -2
  103. package/eventcatalog/src/utils/node-graphs/domains-node-graph.ts +0 -170
  104. package/eventcatalog/src/utils/node-graphs/system-context-node-graph.ts +400 -0
  105. package/eventcatalog/src/utils/node-graphs/systems-node-graph.ts +208 -0
  106. package/eventcatalog/src/utils/node-graphs/utils/utils.ts +12 -0
  107. package/eventcatalog/src/utils/page-loaders/page-data-loader.ts +2 -0
  108. package/package.json +16 -13
  109. package/eventcatalog/src/pages/visualiser/context-map/index.astro +0 -30
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(analytics_exports);
36
36
  var import_os = __toESM(require("os"), 1);
37
37
 
38
38
  // package.json
39
- var version = "3.48.4";
39
+ var version = "4.0.0-beta.0";
40
40
 
41
41
  // src/constants.ts
42
42
  var VERSION = version;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "../chunk-FNDSHOV2.js";
4
- import "../chunk-JY4H7A4S.js";
3
+ } from "../chunk-HN45LKSL.js";
4
+ import "../chunk-D3MI3OFO.js";
5
5
  export {
6
6
  raiseEvent
7
7
  };
@@ -140,7 +140,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
140
140
  var import_os = __toESM(require("os"), 1);
141
141
 
142
142
  // package.json
143
- var version = "3.48.4";
143
+ var version = "4.0.0-beta.0";
144
144
 
145
145
  // src/constants.ts
146
146
  var VERSION = version;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  log_build_default
3
- } from "../chunk-SY4XL6OQ.js";
4
- import "../chunk-FNDSHOV2.js";
3
+ } from "../chunk-7PMNFOIL.js";
4
+ import "../chunk-HN45LKSL.js";
5
5
  import "../chunk-DAOXTQVS.js";
6
- import "../chunk-JY4H7A4S.js";
6
+ import "../chunk-D3MI3OFO.js";
7
7
  import "../chunk-6QENHZZP.js";
8
8
  export {
9
9
  log_build_default as default
@@ -34,7 +34,7 @@ __export(catalog_to_astro_content_directory_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(catalog_to_astro_content_directory_exports);
36
36
 
37
- // ../../node_modules/.pnpm/tsup@8.5.0_jiti@2.6.1_postcss@8.5.9_tsx@4.21.0_typescript@5.9.3_yaml@2.9.0/node_modules/tsup/assets/cjs_shims.js
37
+ // ../../node_modules/.pnpm/tsup@8.5.0_jiti@2.7.0_postcss@8.5.15_tsx@4.21.0_typescript@5.9.3_yaml@2.9.0/node_modules/tsup/assets/cjs_shims.js
38
38
  var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
39
39
  var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
40
40
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "./chunk-FNDSHOV2.js";
3
+ } from "./chunk-HN45LKSL.js";
4
4
  import {
5
5
  countResources,
6
6
  serializeCounts
@@ -0,0 +1,73 @@
1
+ // src/core-node-modules.ts
2
+ import fs from "fs";
3
+ import path from "path";
4
+ var isDirectory = (directory) => {
5
+ try {
6
+ return fs.statSync(directory).isDirectory();
7
+ } catch (error) {
8
+ return false;
9
+ }
10
+ };
11
+ var hasAstroDependency = (nodeModulesDirectory) => {
12
+ const astroBin = process.platform === "win32" ? "astro.cmd" : "astro";
13
+ return fs.existsSync(path.join(nodeModulesDirectory, "astro", "package.json")) || fs.existsSync(path.join(nodeModulesDirectory, ".bin", astroBin));
14
+ };
15
+ var isSymbolicLink = (targetPath) => {
16
+ try {
17
+ return fs.lstatSync(targetPath).isSymbolicLink();
18
+ } catch (error) {
19
+ return false;
20
+ }
21
+ };
22
+ var isSameDirectory = (a, b) => {
23
+ try {
24
+ return fs.realpathSync.native(a) === fs.realpathSync.native(b);
25
+ } catch (error) {
26
+ return false;
27
+ }
28
+ };
29
+ var resolveInstalledCoreNodeModules = (currentDir) => {
30
+ const candidates = [];
31
+ const seen = /* @__PURE__ */ new Set();
32
+ const addCandidate = (candidate) => {
33
+ const resolvedCandidate = path.resolve(candidate);
34
+ if (!seen.has(resolvedCandidate)) {
35
+ candidates.push(resolvedCandidate);
36
+ seen.add(resolvedCandidate);
37
+ }
38
+ };
39
+ addCandidate(path.resolve(currentDir, "..", "node_modules"));
40
+ let directory = path.resolve(currentDir);
41
+ while (true) {
42
+ if (path.basename(directory) === "node_modules") {
43
+ addCandidate(directory);
44
+ }
45
+ addCandidate(path.join(directory, "node_modules"));
46
+ const parentDirectory = path.dirname(directory);
47
+ if (parentDirectory === directory) {
48
+ break;
49
+ }
50
+ directory = parentDirectory;
51
+ }
52
+ return candidates.find((candidate) => isDirectory(candidate) && hasAstroDependency(candidate)) ?? candidates.find(isDirectory);
53
+ };
54
+ var linkCoreNodeModules = ({
55
+ coreNodeModules,
56
+ installedCoreNodeModules
57
+ }) => {
58
+ if (!installedCoreNodeModules) return;
59
+ if (isSymbolicLink(coreNodeModules)) {
60
+ if (isSameDirectory(coreNodeModules, installedCoreNodeModules)) {
61
+ return;
62
+ }
63
+ fs.unlinkSync(coreNodeModules);
64
+ } else if (fs.existsSync(coreNodeModules)) {
65
+ return;
66
+ }
67
+ fs.symlinkSync(installedCoreNodeModules, coreNodeModules, process.platform === "win32" ? "junction" : "dir");
68
+ };
69
+
70
+ export {
71
+ resolveInstalledCoreNodeModules,
72
+ linkCoreNodeModules
73
+ };
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "3.48.4";
2
+ var version = "4.0.0-beta.0";
3
3
 
4
4
  // src/constants.ts
5
5
  var VERSION = version;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-JY4H7A4S.js";
3
+ } from "./chunk-D3MI3OFO.js";
4
4
 
5
5
  // src/analytics/analytics.js
6
6
  import os from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-JY4H7A4S.js";
3
+ } from "./chunk-D3MI3OFO.js";
4
4
 
5
5
  // src/utils/cli-logger.ts
6
6
  import pc from "picocolors";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logger
3
- } from "./chunk-KDLSBQRP.js";
3
+ } from "./chunk-JMADW4J7.js";
4
4
  import {
5
5
  cleanup,
6
6
  getEventCatalogConfigFile
@@ -25,7 +25,7 @@ __export(constants_exports, {
25
25
  module.exports = __toCommonJS(constants_exports);
26
26
 
27
27
  // package.json
28
- var version = "3.48.4";
28
+ var version = "4.0.0-beta.0";
29
29
 
30
30
  // src/constants.ts
31
31
  var VERSION = version;
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-JY4H7A4S.js";
3
+ } from "./chunk-D3MI3OFO.js";
4
4
  export {
5
5
  VERSION
6
6
  };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/core-node-modules.ts
31
+ var core_node_modules_exports = {};
32
+ __export(core_node_modules_exports, {
33
+ linkCoreNodeModules: () => linkCoreNodeModules,
34
+ resolveInstalledCoreNodeModules: () => resolveInstalledCoreNodeModules
35
+ });
36
+ module.exports = __toCommonJS(core_node_modules_exports);
37
+ var import_fs = __toESM(require("fs"), 1);
38
+ var import_node_path = __toESM(require("path"), 1);
39
+ var isDirectory = (directory) => {
40
+ try {
41
+ return import_fs.default.statSync(directory).isDirectory();
42
+ } catch (error) {
43
+ return false;
44
+ }
45
+ };
46
+ var hasAstroDependency = (nodeModulesDirectory) => {
47
+ const astroBin = process.platform === "win32" ? "astro.cmd" : "astro";
48
+ return import_fs.default.existsSync(import_node_path.default.join(nodeModulesDirectory, "astro", "package.json")) || import_fs.default.existsSync(import_node_path.default.join(nodeModulesDirectory, ".bin", astroBin));
49
+ };
50
+ var isSymbolicLink = (targetPath) => {
51
+ try {
52
+ return import_fs.default.lstatSync(targetPath).isSymbolicLink();
53
+ } catch (error) {
54
+ return false;
55
+ }
56
+ };
57
+ var isSameDirectory = (a, b) => {
58
+ try {
59
+ return import_fs.default.realpathSync.native(a) === import_fs.default.realpathSync.native(b);
60
+ } catch (error) {
61
+ return false;
62
+ }
63
+ };
64
+ var resolveInstalledCoreNodeModules = (currentDir) => {
65
+ const candidates = [];
66
+ const seen = /* @__PURE__ */ new Set();
67
+ const addCandidate = (candidate) => {
68
+ const resolvedCandidate = import_node_path.default.resolve(candidate);
69
+ if (!seen.has(resolvedCandidate)) {
70
+ candidates.push(resolvedCandidate);
71
+ seen.add(resolvedCandidate);
72
+ }
73
+ };
74
+ addCandidate(import_node_path.default.resolve(currentDir, "..", "node_modules"));
75
+ let directory = import_node_path.default.resolve(currentDir);
76
+ while (true) {
77
+ if (import_node_path.default.basename(directory) === "node_modules") {
78
+ addCandidate(directory);
79
+ }
80
+ addCandidate(import_node_path.default.join(directory, "node_modules"));
81
+ const parentDirectory = import_node_path.default.dirname(directory);
82
+ if (parentDirectory === directory) {
83
+ break;
84
+ }
85
+ directory = parentDirectory;
86
+ }
87
+ return candidates.find((candidate) => isDirectory(candidate) && hasAstroDependency(candidate)) ?? candidates.find(isDirectory);
88
+ };
89
+ var linkCoreNodeModules = ({
90
+ coreNodeModules,
91
+ installedCoreNodeModules
92
+ }) => {
93
+ if (!installedCoreNodeModules) return;
94
+ if (isSymbolicLink(coreNodeModules)) {
95
+ if (isSameDirectory(coreNodeModules, installedCoreNodeModules)) {
96
+ return;
97
+ }
98
+ import_fs.default.unlinkSync(coreNodeModules);
99
+ } else if (import_fs.default.existsSync(coreNodeModules)) {
100
+ return;
101
+ }
102
+ import_fs.default.symlinkSync(installedCoreNodeModules, coreNodeModules, process.platform === "win32" ? "junction" : "dir");
103
+ };
104
+ // Annotate the CommonJS export names for ESM import in node:
105
+ 0 && (module.exports = {
106
+ linkCoreNodeModules,
107
+ resolveInstalledCoreNodeModules
108
+ });
@@ -0,0 +1,7 @@
1
+ declare const resolveInstalledCoreNodeModules: (currentDir: string) => string | undefined;
2
+ declare const linkCoreNodeModules: ({ coreNodeModules, installedCoreNodeModules, }: {
3
+ coreNodeModules: string;
4
+ installedCoreNodeModules?: string;
5
+ }) => void;
6
+
7
+ export { linkCoreNodeModules, resolveInstalledCoreNodeModules };
@@ -0,0 +1,7 @@
1
+ declare const resolveInstalledCoreNodeModules: (currentDir: string) => string | undefined;
2
+ declare const linkCoreNodeModules: ({ coreNodeModules, installedCoreNodeModules, }: {
3
+ coreNodeModules: string;
4
+ installedCoreNodeModules?: string;
5
+ }) => void;
6
+
7
+ export { linkCoreNodeModules, resolveInstalledCoreNodeModules };
@@ -0,0 +1,8 @@
1
+ import {
2
+ linkCoreNodeModules,
3
+ resolveInstalledCoreNodeModules
4
+ } from "./chunk-BWN544LB.js";
5
+ export {
6
+ linkCoreNodeModules,
7
+ resolveInstalledCoreNodeModules
8
+ };
@@ -15,7 +15,7 @@ import AddedIn from '@site/src/components/MDX/AddedIn';
15
15
 
16
16
  <AddedIn version="3.32.2" />
17
17
 
18
- `<Prompt />` lets you embed ready-to-use AI prompts directly in your documentation pages. Readers can copy the prompt to their clipboard or open it straight in Cursor with one click.
18
+ `<Prompt />` lets you embed ready-to-use AI prompts directly in your documentation pages. Readers can expand the card to inspect the prompt, copy it to their clipboard, or open it straight in Cursor with one click.
19
19
 
20
20
  Place the prompt text as the slot content and configure the label and actions via props.
21
21
 
@@ -58,6 +58,10 @@ Use `actions={["copy"]}` (the default) when you only need clipboard support. Add
58
58
 
59
59
  Both actions derive their text from the slot content. HTML tags are stripped automatically, so plain text is always passed to the clipboard and the Cursor deep-link.
60
60
 
61
+ ### Inspect the prompt
62
+
63
+ Every prompt card includes a **Show prompt** control. Expanding the card reveals the exact prompt text that will be copied or sent to Cursor.
64
+
61
65
  ### Use the icon prop
62
66
 
63
67
  Pass any [Lucide](https://lucide.dev/icons/) icon name to the `icon` prop. The component normalises the value to PascalCase internally, so `"bot-message-square"`, `"bot_message_square"`, and `"Bot Message Square"` all resolve to the same icon.