@copilotkit/react-core 1.83.0 → 2.0.0-rc.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 (75) hide show
  1. package/dist/{runtime-context-CrHq-iTf.d.mts → MarkdownRendererContext-B4Us6mwL.d.cts} +127 -97
  2. package/dist/MarkdownRendererContext-B4Us6mwL.d.cts.map +1 -0
  3. package/dist/{runtime-context-D3NcP9oE.d.cts → MarkdownRendererContext-CRKFzsEB.d.mts} +127 -97
  4. package/dist/MarkdownRendererContext-CRKFzsEB.d.mts.map +1 -0
  5. package/dist/{MarkdownSurfaces-FF5za2kU.cjs → MarkdownSurfaces-C2XZISKn.cjs} +203 -55
  6. package/dist/MarkdownSurfaces-C2XZISKn.cjs.map +1 -0
  7. package/dist/{MarkdownSurfaces-DGpjmPaB.mjs → MarkdownSurfaces-ChSlVYOk.mjs} +171 -47
  8. package/dist/MarkdownSurfaces-ChSlVYOk.mjs.map +1 -0
  9. package/dist/{v2/context.cjs → context.cjs} +2 -2
  10. package/dist/context.cjs.map +1 -0
  11. package/dist/{v2/context.d.cts → context.d.cts} +5 -5
  12. package/dist/context.d.cts.map +1 -0
  13. package/dist/{v2/context.d.mts → context.d.mts} +5 -5
  14. package/dist/context.d.mts.map +1 -0
  15. package/dist/{v2/context.mjs → context.mjs} +2 -2
  16. package/dist/context.mjs.map +1 -0
  17. package/dist/{v2/generative-ui.cjs → generative-ui.cjs} +40 -43
  18. package/dist/generative-ui.cjs.map +1 -0
  19. package/dist/{v2/generative-ui.d.cts → generative-ui.d.cts} +14 -12
  20. package/dist/generative-ui.d.cts.map +1 -0
  21. package/dist/{v2/generative-ui.d.mts → generative-ui.d.mts} +14 -12
  22. package/dist/generative-ui.d.mts.map +1 -0
  23. package/dist/{v2/generative-ui.mjs → generative-ui.mjs} +40 -43
  24. package/dist/generative-ui.mjs.map +1 -0
  25. package/dist/{v2/headless.cjs → headless.cjs} +68 -53
  26. package/dist/headless.cjs.map +1 -0
  27. package/dist/{v2/headless.d.cts → headless.d.cts} +24 -23
  28. package/dist/headless.d.cts.map +1 -0
  29. package/dist/{v2/headless.d.mts → headless.d.mts} +21 -20
  30. package/dist/headless.d.mts.map +1 -0
  31. package/dist/{v2/headless.mjs → headless.mjs} +51 -36
  32. package/dist/headless.mjs.map +1 -0
  33. package/dist/index.cjs +15391 -1862
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.css +2 -0
  36. package/dist/index.d.cts +3252 -1370
  37. package/dist/index.d.cts.map +1 -1
  38. package/dist/index.d.mts +3234 -1369
  39. package/dist/index.d.mts.map +1 -1
  40. package/dist/index.mjs +13733 -1815
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/index.umd.js +11944 -5481
  43. package/dist/index.umd.js.map +1 -1
  44. package/package.json +21 -30
  45. package/dist/MarkdownSurfaces-DGpjmPaB.mjs.map +0 -1
  46. package/dist/MarkdownSurfaces-FF5za2kU.cjs.map +0 -1
  47. package/dist/copilotkit-BuIuo-Z1.cjs +0 -16531
  48. package/dist/copilotkit-BuIuo-Z1.cjs.map +0 -1
  49. package/dist/copilotkit-C765tOUi.d.mts +0 -4112
  50. package/dist/copilotkit-C765tOUi.d.mts.map +0 -1
  51. package/dist/copilotkit-DyxwF9wL.mjs +0 -16025
  52. package/dist/copilotkit-DyxwF9wL.mjs.map +0 -1
  53. package/dist/copilotkit-wqaNanhw.d.cts +0 -4129
  54. package/dist/copilotkit-wqaNanhw.d.cts.map +0 -1
  55. package/dist/runtime-context-CrHq-iTf.d.mts.map +0 -1
  56. package/dist/runtime-context-D3NcP9oE.d.cts.map +0 -1
  57. package/dist/v2/context.cjs.map +0 -1
  58. package/dist/v2/context.d.cts.map +0 -1
  59. package/dist/v2/context.d.mts.map +0 -1
  60. package/dist/v2/context.mjs.map +0 -1
  61. package/dist/v2/generative-ui.cjs.map +0 -1
  62. package/dist/v2/generative-ui.d.cts.map +0 -1
  63. package/dist/v2/generative-ui.d.mts.map +0 -1
  64. package/dist/v2/generative-ui.mjs.map +0 -1
  65. package/dist/v2/headless.cjs.map +0 -1
  66. package/dist/v2/headless.d.cts.map +0 -1
  67. package/dist/v2/headless.d.mts.map +0 -1
  68. package/dist/v2/headless.mjs.map +0 -1
  69. package/dist/v2/index.cjs +0 -1635
  70. package/dist/v2/index.css +0 -2
  71. package/dist/v2/index.d.cts +0 -4
  72. package/dist/v2/index.d.mts +0 -4
  73. package/dist/v2/index.mjs +0 -8
  74. package/dist/v2/index.umd.js +0 -20695
  75. package/dist/v2/index.umd.js.map +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  let react = require("react");
5
5
  let _copilotkit_core = require("@copilotkit/core");
6
6
 
7
- //#region src/v2/lib/react-core.ts
7
+ //#region src/lib/react-core.ts
8
8
  var CopilotKitCoreReact = class extends _copilotkit_core.CopilotKitCore {
9
9
  constructor(config) {
10
10
  super(config);
@@ -100,7 +100,7 @@ var CopilotKitCoreReact = class extends _copilotkit_core.CopilotKitCore {
100
100
  };
101
101
 
102
102
  //#endregion
103
- //#region src/v2/context.ts
103
+ //#region src/context.ts
104
104
  const EMPTY_SET = /* @__PURE__ */ new Set();
105
105
  const CopilotKitContext = (0, react.createContext)(null);
106
106
  const useCopilotKit = () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.cjs","names":["CopilotKitCore"],"sources":["../src/lib/react-core.ts","../src/context.ts"],"sourcesContent":["import React from \"react\";\nimport type {\n ReactActivityMessageRenderer,\n ReactToolCallRenderer,\n} from \"../types\";\nimport type { ReactCustomMessageRenderer } from \"../types/react-custom-message-renderer\";\nimport { CopilotKitCore } from \"@copilotkit/core\";\nimport type {\n CopilotKitCoreConfig,\n CopilotKitCoreSubscriber,\n CopilotKitCoreSubscription,\n} from \"@copilotkit/core\";\n\nexport interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {\n // Add any additional configuration properties specific to the React implementation\n renderToolCalls?: ReactToolCallRenderer<any>[];\n renderActivityMessages?: ReactActivityMessageRenderer<any>[];\n\n // Add custom message renderers\n renderCustomMessages?: ReactCustomMessageRenderer[];\n}\n\nexport interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {\n onRenderToolCallsChanged?: (event: {\n copilotkit: CopilotKitCore;\n renderToolCalls: ReactToolCallRenderer<any>[];\n }) => void | Promise<void>;\n onInterruptElementChanged?: (event: {\n copilotkit: CopilotKitCore;\n interruptElement: React.ReactElement | null;\n }) => void | Promise<void>;\n}\n\nexport class CopilotKitCoreReact extends CopilotKitCore {\n private _renderToolCalls: ReactToolCallRenderer<any>[] = [];\n private _hookRenderToolCalls: Map<string, ReactToolCallRenderer<any>> =\n new Map();\n private _cachedMergedRenderToolCalls: ReactToolCallRenderer<any>[] | null =\n null;\n private _renderCustomMessages: ReactCustomMessageRenderer[] = [];\n private _renderActivityMessages: ReactActivityMessageRenderer<any>[] = [];\n private _interruptElement: React.ReactElement | null = null;\n\n constructor(config: CopilotKitCoreReactConfig) {\n super(config);\n this._renderToolCalls = config.renderToolCalls ?? [];\n this._renderCustomMessages = config.renderCustomMessages ?? [];\n this._renderActivityMessages = config.renderActivityMessages ?? [];\n }\n\n get renderCustomMessages(): Readonly<ReactCustomMessageRenderer[]> {\n return this._renderCustomMessages;\n }\n\n get renderActivityMessages(): Readonly<ReactActivityMessageRenderer<any>>[] {\n return this._renderActivityMessages;\n }\n\n get renderToolCalls(): Readonly<ReactToolCallRenderer<any>>[] {\n if (this._hookRenderToolCalls.size === 0) {\n return this._renderToolCalls;\n }\n if (this._cachedMergedRenderToolCalls) {\n return this._cachedMergedRenderToolCalls;\n }\n // Merge: hook entries override prop entries with the same key\n const merged = new Map<string, ReactToolCallRenderer<any>>();\n for (const rc of this._renderToolCalls) {\n merged.set(`${rc.agentId ?? \"\"}:${rc.name}`, rc);\n }\n for (const [key, rc] of this._hookRenderToolCalls) {\n merged.set(key, rc);\n }\n this._cachedMergedRenderToolCalls = Array.from(merged.values());\n return this._cachedMergedRenderToolCalls;\n }\n\n setRenderActivityMessages(\n renderers: ReactActivityMessageRenderer<any>[],\n ): void {\n this._renderActivityMessages = renderers;\n }\n\n setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void {\n this._renderCustomMessages = renderers;\n }\n\n setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void {\n this._renderToolCalls = renderToolCalls;\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n addHookRenderToolCall(entry: ReactToolCallRenderer<any>): void {\n const key = `${entry.agentId ?? \"\"}:${entry.name}`;\n this._hookRenderToolCalls.set(key, entry);\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n removeHookRenderToolCall(name: string, agentId?: string): void {\n const key = `${agentId ?? \"\"}:${name}`;\n if (this._hookRenderToolCalls.delete(key)) {\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n }\n\n private _notifyRenderToolCallsChanged(): void {\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n if (reactSubscriber.onRenderToolCallsChanged) {\n reactSubscriber.onRenderToolCallsChanged({\n copilotkit: this,\n renderToolCalls: this.renderToolCalls,\n });\n }\n }, \"Subscriber onRenderToolCallsChanged error:\");\n }\n\n get interruptElement(): React.ReactElement | null {\n return this._interruptElement;\n }\n\n setInterruptElement(element: React.ReactElement | null): void {\n this._interruptElement = element;\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n reactSubscriber.onInterruptElementChanged?.({\n copilotkit: this,\n interruptElement: this._interruptElement,\n });\n }, \"Subscriber onInterruptElementChanged error:\");\n }\n\n // Override to accept React-specific subscriber type\n subscribe(\n subscriber: CopilotKitCoreReactSubscriber,\n ): CopilotKitCoreSubscription {\n return super.subscribe(subscriber);\n }\n\n /**\n * Wait for pending React state updates before the follow-up agent run.\n *\n * When a frontend tool handler calls setState(), React 18 batches the update\n * and schedules a commit via its internal scheduler (MessageChannel). The\n * useAgentContext hook registers context via useLayoutEffect, which runs\n * synchronously after React commits that batch.\n *\n * Awaiting a zero-delay timeout yields to the macrotask queue. React's\n * MessageChannel task runs first, committing the pending state and running\n * useLayoutEffect (which updates the context store). The follow-up runAgent\n * call then reads fresh context.\n */\n async waitForPendingFrameworkUpdates(): Promise<void> {\n await new Promise<void>((resolve) => setTimeout(resolve, 0));\n }\n}\n","\"use client\";\n\nimport { createContext, useContext, useEffect, useReducer } from \"react\";\nimport { CopilotKitCoreReact } from \"./lib/react-core\";\nimport type { CopilotKitCoreReactConfig } from \"./lib/react-core\";\nimport type { LicenseContextValue } from \"@copilotkit/shared\";\n\n// Re-export so headless.ts (and consumers) reference the same type declaration.\nexport { CopilotKitCoreReact };\nexport type { CopilotKitCoreReactConfig };\n\nexport interface CopilotKitContextValue {\n copilotkit: CopilotKitCoreReact;\n /**\n * Whether CopilotKit should automatically mount Intelligence indicators.\n * Defaults to true when omitted for compatibility with custom providers.\n */\n showIntelligenceIndicator?: boolean;\n /**\n * Set of tool call IDs currently being executed.\n * This is tracked at the provider level to ensure tool execution events\n * are captured even before child components mount.\n */\n executingToolCallIds: ReadonlySet<string>;\n}\n\nexport const EMPTY_SET: ReadonlySet<string> = new Set();\n\nexport const CopilotKitContext = createContext<CopilotKitContextValue | null>(\n null,\n);\n\nexport const useCopilotKit = (): CopilotKitContextValue => {\n const context = useContext(CopilotKitContext);\n const [, forceUpdate] = useReducer((x: number) => x + 1, 0);\n\n if (!context) {\n throw new Error(\"useCopilotKit must be used within CopilotKitProvider\");\n }\n useEffect(() => {\n const subscription = context.copilotkit.subscribe({\n onRuntimeConnectionStatusChanged: () => {\n forceUpdate();\n },\n onHeadersChanged: () => {\n forceUpdate();\n },\n });\n return () => {\n subscription.unsubscribe();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return context;\n};\n\n// License context — shared between web and RN providers.\n// Default is permissive (all features allowed) — providers override via createLicenseContextValue.\n// Inlined here to avoid a runtime import from @copilotkit/shared, which pulls in\n// Node-only deps (jose) that break React Native's Metro bundler.\nexport const LicenseContext = createContext<LicenseContextValue>({\n status: null,\n license: null,\n checkFeature: () => true,\n getLimit: () => null,\n} as LicenseContextValue);\n\nexport const useLicenseContext = (): LicenseContextValue =>\n useContext(LicenseContext);\n\n// Provider-level default agent id, published by `<CopilotKitProvider agentId>`.\n//\n// This is a context of its own rather than a `CopilotChatConfigurationProvider`\n// rendered at the root, because that provider also owns a thread: it resolves a\n// threadId (minting a UUID when none is given) and the top-most one owns the\n// imperative active-thread override. Rendering it around the whole application\n// would hand every `<CopilotChat>` the same inherited threadId, so two sibling\n// chats would share one transcript. A bare string context carries the agent\n// default and nothing else.\n//\n// It is the LAST fallback before `DEFAULT_AGENT_ID`, so an explicit `agentId`\n// argument, a `<CopilotChat agentId>`, and a `<CopilotChatConfigurationProvider\n// agentId>` all still win.\nexport const CopilotKitAgentIdContext = createContext<string | undefined>(\n undefined,\n);\n\nexport const useDefaultAgentId = (): string | undefined =>\n useContext(CopilotKitAgentIdContext);\n"],"mappings":";;;;;;;AAiCA,IAAa,sBAAb,cAAyCA,gCAAe;CAUtD,YAAY,QAAmC;AAC7C,QAAM,OAAO;0BAV0C,EAAE;8CAEzD,IAAI,KAAK;sCAET;+BAC4D,EAAE;iCACO,EAAE;2BAClB;AAIrD,OAAK,mBAAmB,OAAO,mBAAmB,EAAE;AACpD,OAAK,wBAAwB,OAAO,wBAAwB,EAAE;AAC9D,OAAK,0BAA0B,OAAO,0BAA0B,EAAE;;CAGpE,IAAI,uBAA+D;AACjE,SAAO,KAAK;;CAGd,IAAI,yBAAwE;AAC1E,SAAO,KAAK;;CAGd,IAAI,kBAA0D;AAC5D,MAAI,KAAK,qBAAqB,SAAS,EACrC,QAAO,KAAK;AAEd,MAAI,KAAK,6BACP,QAAO,KAAK;EAGd,MAAM,yBAAS,IAAI,KAAyC;AAC5D,OAAK,MAAM,MAAM,KAAK,iBACpB,QAAO,IAAI,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,QAAQ,GAAG;AAElD,OAAK,MAAM,CAAC,KAAK,OAAO,KAAK,qBAC3B,QAAO,IAAI,KAAK,GAAG;AAErB,OAAK,+BAA+B,MAAM,KAAK,OAAO,QAAQ,CAAC;AAC/D,SAAO,KAAK;;CAGd,0BACE,WACM;AACN,OAAK,0BAA0B;;CAGjC,wBAAwB,WAA+C;AACrE,OAAK,wBAAwB;;CAG/B,mBAAmB,iBAAqD;AACtE,OAAK,mBAAmB;AACxB,OAAK,+BAA+B;AACpC,OAAK,+BAA+B;;CAGtC,sBAAsB,OAAyC;EAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,GAAG,GAAG,MAAM;AAC5C,OAAK,qBAAqB,IAAI,KAAK,MAAM;AACzC,OAAK,+BAA+B;AACpC,OAAK,+BAA+B;;CAGtC,yBAAyB,MAAc,SAAwB;EAC7D,MAAM,MAAM,GAAG,WAAW,GAAG,GAAG;AAChC,MAAI,KAAK,qBAAqB,OAAO,IAAI,EAAE;AACzC,QAAK,+BAA+B;AACpC,QAAK,+BAA+B;;;CAIxC,AAAQ,gCAAsC;AAC5C,EAAK,KAAK,mBAAmB,eAAe;GAC1C,MAAM,kBAAkB;AACxB,OAAI,gBAAgB,yBAClB,iBAAgB,yBAAyB;IACvC,YAAY;IACZ,iBAAiB,KAAK;IACvB,CAAC;KAEH,6CAA6C;;CAGlD,IAAI,mBAA8C;AAChD,SAAO,KAAK;;CAGd,oBAAoB,SAA0C;AAC5D,OAAK,oBAAoB;AACzB,EAAK,KAAK,mBAAmB,eAAe;AAE1C,GADwB,WACR,4BAA4B;IAC1C,YAAY;IACZ,kBAAkB,KAAK;IACxB,CAAC;KACD,8CAA8C;;CAInD,UACE,YAC4B;AAC5B,SAAO,MAAM,UAAU,WAAW;;;;;;;;;;;;;;;CAgBpC,MAAM,iCAAgD;AACpD,QAAM,IAAI,SAAe,YAAY,WAAW,SAAS,EAAE,CAAC;;;;;;AClIhE,MAAa,4BAAiC,IAAI,KAAK;AAEvD,MAAa,6CACX,KACD;AAED,MAAa,sBAA8C;CACzD,MAAM,gCAAqB,kBAAkB;CAC7C,MAAM,GAAG,sCAA2B,MAAc,IAAI,GAAG,EAAE;AAE3D,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,uDAAuD;AAEzE,4BAAgB;EACd,MAAM,eAAe,QAAQ,WAAW,UAAU;GAChD,wCAAwC;AACtC,iBAAa;;GAEf,wBAAwB;AACtB,iBAAa;;GAEhB,CAAC;AACF,eAAa;AACX,gBAAa,aAAa;;IAG3B,EAAE,CAAC;AAEN,QAAO;;AAOT,MAAa,0CAAoD;CAC/D,QAAQ;CACR,SAAS;CACT,oBAAoB;CACpB,gBAAgB;CACjB,CAAwB;AAEzB,MAAa,gDACA,eAAe;AAe5B,MAAa,oDACX,OACD;AAED,MAAa,gDACA,yBAAyB"}
@@ -5,7 +5,7 @@ import { CopilotKitCore, CopilotKitCoreConfig, CopilotKitCoreSubscriber, Copilot
5
5
  import { ActivityMessage, Message } from "@ag-ui/core";
6
6
  import { AbstractAgent } from "@ag-ui/client";
7
7
 
8
- //#region src/v2/types/react-tool-call-renderer.d.ts
8
+ //#region src/types/react-tool-call-renderer.d.ts
9
9
  interface ReactToolCallRenderer<T = unknown> {
10
10
  name: string;
11
11
  /**
@@ -46,7 +46,7 @@ interface ReactToolCallRenderer<T = unknown> {
46
46
  }>;
47
47
  }
48
48
  //#endregion
49
- //#region src/v2/types/react-activity-message-renderer.d.ts
49
+ //#region src/types/react-activity-message-renderer.d.ts
50
50
  interface ReactActivityMessageRenderer<TActivityContent> {
51
51
  /**
52
52
  * Activity type to match when rendering. Use "*" as a wildcard renderer.
@@ -71,7 +71,7 @@ interface ReactActivityMessageRenderer<TActivityContent> {
71
71
  }>;
72
72
  }
73
73
  //#endregion
74
- //#region src/v2/types/react-custom-message-renderer.d.ts
74
+ //#region src/types/react-custom-message-renderer.d.ts
75
75
  type ReactCustomMessageRendererPosition = "before" | "after";
76
76
  interface ReactCustomMessageRenderer {
77
77
  agentId?: string;
@@ -87,7 +87,7 @@ interface ReactCustomMessageRenderer {
87
87
  }> | null;
88
88
  }
89
89
  //#endregion
90
- //#region src/v2/lib/react-core.d.ts
90
+ //#region src/lib/react-core.d.ts
91
91
  interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {
92
92
  renderToolCalls?: ReactToolCallRenderer<any>[];
93
93
  renderActivityMessages?: ReactActivityMessageRenderer<any>[];
@@ -139,7 +139,7 @@ declare class CopilotKitCoreReact extends CopilotKitCore {
139
139
  waitForPendingFrameworkUpdates(): Promise<void>;
140
140
  }
141
141
  //#endregion
142
- //#region src/v2/context.d.ts
142
+ //#region src/context.d.ts
143
143
  interface CopilotKitContextValue {
144
144
  copilotkit: CopilotKitCoreReact;
145
145
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.cts","names":[],"sources":["../src/types/react-tool-call-renderer.ts","../src/types/react-activity-message-renderer.ts","../src/types/react-custom-message-renderer.ts","../src/lib/react-core.ts","../src/context.ts"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { LicenseContextValue, StandardSchemaV1 } from "@copilotkit/shared";
5
5
  import { ActivityMessage, Message } from "@ag-ui/core";
6
6
  import { AbstractAgent } from "@ag-ui/client";
7
7
 
8
- //#region src/v2/types/react-tool-call-renderer.d.ts
8
+ //#region src/types/react-tool-call-renderer.d.ts
9
9
  interface ReactToolCallRenderer<T = unknown> {
10
10
  name: string;
11
11
  /**
@@ -46,7 +46,7 @@ interface ReactToolCallRenderer<T = unknown> {
46
46
  }>;
47
47
  }
48
48
  //#endregion
49
- //#region src/v2/types/react-activity-message-renderer.d.ts
49
+ //#region src/types/react-activity-message-renderer.d.ts
50
50
  interface ReactActivityMessageRenderer<TActivityContent> {
51
51
  /**
52
52
  * Activity type to match when rendering. Use "*" as a wildcard renderer.
@@ -71,7 +71,7 @@ interface ReactActivityMessageRenderer<TActivityContent> {
71
71
  }>;
72
72
  }
73
73
  //#endregion
74
- //#region src/v2/types/react-custom-message-renderer.d.ts
74
+ //#region src/types/react-custom-message-renderer.d.ts
75
75
  type ReactCustomMessageRendererPosition = "before" | "after";
76
76
  interface ReactCustomMessageRenderer {
77
77
  agentId?: string;
@@ -87,7 +87,7 @@ interface ReactCustomMessageRenderer {
87
87
  }> | null;
88
88
  }
89
89
  //#endregion
90
- //#region src/v2/lib/react-core.d.ts
90
+ //#region src/lib/react-core.d.ts
91
91
  interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {
92
92
  renderToolCalls?: ReactToolCallRenderer<any>[];
93
93
  renderActivityMessages?: ReactActivityMessageRenderer<any>[];
@@ -139,7 +139,7 @@ declare class CopilotKitCoreReact extends CopilotKitCore {
139
139
  waitForPendingFrameworkUpdates(): Promise<void>;
140
140
  }
141
141
  //#endregion
142
- //#region src/v2/context.d.ts
142
+ //#region src/context.d.ts
143
143
  interface CopilotKitContextValue {
144
144
  copilotkit: CopilotKitCoreReact;
145
145
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.mts","names":[],"sources":["../src/types/react-tool-call-renderer.ts","../src/types/react-activity-message-renderer.ts","../src/types/react-custom-message-renderer.ts","../src/lib/react-core.ts","../src/context.ts"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  import { createContext, useContext, useEffect, useReducer } from "react";
4
4
  import { CopilotKitCore } from "@copilotkit/core";
5
5
 
6
- //#region src/v2/lib/react-core.ts
6
+ //#region src/lib/react-core.ts
7
7
  var CopilotKitCoreReact = class extends CopilotKitCore {
8
8
  constructor(config) {
9
9
  super(config);
@@ -99,7 +99,7 @@ var CopilotKitCoreReact = class extends CopilotKitCore {
99
99
  };
100
100
 
101
101
  //#endregion
102
- //#region src/v2/context.ts
102
+ //#region src/context.ts
103
103
  const EMPTY_SET = /* @__PURE__ */ new Set();
104
104
  const CopilotKitContext = createContext(null);
105
105
  const useCopilotKit = () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.mjs","names":[],"sources":["../src/lib/react-core.ts","../src/context.ts"],"sourcesContent":["import React from \"react\";\nimport type {\n ReactActivityMessageRenderer,\n ReactToolCallRenderer,\n} from \"../types\";\nimport type { ReactCustomMessageRenderer } from \"../types/react-custom-message-renderer\";\nimport { CopilotKitCore } from \"@copilotkit/core\";\nimport type {\n CopilotKitCoreConfig,\n CopilotKitCoreSubscriber,\n CopilotKitCoreSubscription,\n} from \"@copilotkit/core\";\n\nexport interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {\n // Add any additional configuration properties specific to the React implementation\n renderToolCalls?: ReactToolCallRenderer<any>[];\n renderActivityMessages?: ReactActivityMessageRenderer<any>[];\n\n // Add custom message renderers\n renderCustomMessages?: ReactCustomMessageRenderer[];\n}\n\nexport interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {\n onRenderToolCallsChanged?: (event: {\n copilotkit: CopilotKitCore;\n renderToolCalls: ReactToolCallRenderer<any>[];\n }) => void | Promise<void>;\n onInterruptElementChanged?: (event: {\n copilotkit: CopilotKitCore;\n interruptElement: React.ReactElement | null;\n }) => void | Promise<void>;\n}\n\nexport class CopilotKitCoreReact extends CopilotKitCore {\n private _renderToolCalls: ReactToolCallRenderer<any>[] = [];\n private _hookRenderToolCalls: Map<string, ReactToolCallRenderer<any>> =\n new Map();\n private _cachedMergedRenderToolCalls: ReactToolCallRenderer<any>[] | null =\n null;\n private _renderCustomMessages: ReactCustomMessageRenderer[] = [];\n private _renderActivityMessages: ReactActivityMessageRenderer<any>[] = [];\n private _interruptElement: React.ReactElement | null = null;\n\n constructor(config: CopilotKitCoreReactConfig) {\n super(config);\n this._renderToolCalls = config.renderToolCalls ?? [];\n this._renderCustomMessages = config.renderCustomMessages ?? [];\n this._renderActivityMessages = config.renderActivityMessages ?? [];\n }\n\n get renderCustomMessages(): Readonly<ReactCustomMessageRenderer[]> {\n return this._renderCustomMessages;\n }\n\n get renderActivityMessages(): Readonly<ReactActivityMessageRenderer<any>>[] {\n return this._renderActivityMessages;\n }\n\n get renderToolCalls(): Readonly<ReactToolCallRenderer<any>>[] {\n if (this._hookRenderToolCalls.size === 0) {\n return this._renderToolCalls;\n }\n if (this._cachedMergedRenderToolCalls) {\n return this._cachedMergedRenderToolCalls;\n }\n // Merge: hook entries override prop entries with the same key\n const merged = new Map<string, ReactToolCallRenderer<any>>();\n for (const rc of this._renderToolCalls) {\n merged.set(`${rc.agentId ?? \"\"}:${rc.name}`, rc);\n }\n for (const [key, rc] of this._hookRenderToolCalls) {\n merged.set(key, rc);\n }\n this._cachedMergedRenderToolCalls = Array.from(merged.values());\n return this._cachedMergedRenderToolCalls;\n }\n\n setRenderActivityMessages(\n renderers: ReactActivityMessageRenderer<any>[],\n ): void {\n this._renderActivityMessages = renderers;\n }\n\n setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void {\n this._renderCustomMessages = renderers;\n }\n\n setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void {\n this._renderToolCalls = renderToolCalls;\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n addHookRenderToolCall(entry: ReactToolCallRenderer<any>): void {\n const key = `${entry.agentId ?? \"\"}:${entry.name}`;\n this._hookRenderToolCalls.set(key, entry);\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n removeHookRenderToolCall(name: string, agentId?: string): void {\n const key = `${agentId ?? \"\"}:${name}`;\n if (this._hookRenderToolCalls.delete(key)) {\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n }\n\n private _notifyRenderToolCallsChanged(): void {\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n if (reactSubscriber.onRenderToolCallsChanged) {\n reactSubscriber.onRenderToolCallsChanged({\n copilotkit: this,\n renderToolCalls: this.renderToolCalls,\n });\n }\n }, \"Subscriber onRenderToolCallsChanged error:\");\n }\n\n get interruptElement(): React.ReactElement | null {\n return this._interruptElement;\n }\n\n setInterruptElement(element: React.ReactElement | null): void {\n this._interruptElement = element;\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n reactSubscriber.onInterruptElementChanged?.({\n copilotkit: this,\n interruptElement: this._interruptElement,\n });\n }, \"Subscriber onInterruptElementChanged error:\");\n }\n\n // Override to accept React-specific subscriber type\n subscribe(\n subscriber: CopilotKitCoreReactSubscriber,\n ): CopilotKitCoreSubscription {\n return super.subscribe(subscriber);\n }\n\n /**\n * Wait for pending React state updates before the follow-up agent run.\n *\n * When a frontend tool handler calls setState(), React 18 batches the update\n * and schedules a commit via its internal scheduler (MessageChannel). The\n * useAgentContext hook registers context via useLayoutEffect, which runs\n * synchronously after React commits that batch.\n *\n * Awaiting a zero-delay timeout yields to the macrotask queue. React's\n * MessageChannel task runs first, committing the pending state and running\n * useLayoutEffect (which updates the context store). The follow-up runAgent\n * call then reads fresh context.\n */\n async waitForPendingFrameworkUpdates(): Promise<void> {\n await new Promise<void>((resolve) => setTimeout(resolve, 0));\n }\n}\n","\"use client\";\n\nimport { createContext, useContext, useEffect, useReducer } from \"react\";\nimport { CopilotKitCoreReact } from \"./lib/react-core\";\nimport type { CopilotKitCoreReactConfig } from \"./lib/react-core\";\nimport type { LicenseContextValue } from \"@copilotkit/shared\";\n\n// Re-export so headless.ts (and consumers) reference the same type declaration.\nexport { CopilotKitCoreReact };\nexport type { CopilotKitCoreReactConfig };\n\nexport interface CopilotKitContextValue {\n copilotkit: CopilotKitCoreReact;\n /**\n * Whether CopilotKit should automatically mount Intelligence indicators.\n * Defaults to true when omitted for compatibility with custom providers.\n */\n showIntelligenceIndicator?: boolean;\n /**\n * Set of tool call IDs currently being executed.\n * This is tracked at the provider level to ensure tool execution events\n * are captured even before child components mount.\n */\n executingToolCallIds: ReadonlySet<string>;\n}\n\nexport const EMPTY_SET: ReadonlySet<string> = new Set();\n\nexport const CopilotKitContext = createContext<CopilotKitContextValue | null>(\n null,\n);\n\nexport const useCopilotKit = (): CopilotKitContextValue => {\n const context = useContext(CopilotKitContext);\n const [, forceUpdate] = useReducer((x: number) => x + 1, 0);\n\n if (!context) {\n throw new Error(\"useCopilotKit must be used within CopilotKitProvider\");\n }\n useEffect(() => {\n const subscription = context.copilotkit.subscribe({\n onRuntimeConnectionStatusChanged: () => {\n forceUpdate();\n },\n onHeadersChanged: () => {\n forceUpdate();\n },\n });\n return () => {\n subscription.unsubscribe();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return context;\n};\n\n// License context — shared between web and RN providers.\n// Default is permissive (all features allowed) — providers override via createLicenseContextValue.\n// Inlined here to avoid a runtime import from @copilotkit/shared, which pulls in\n// Node-only deps (jose) that break React Native's Metro bundler.\nexport const LicenseContext = createContext<LicenseContextValue>({\n status: null,\n license: null,\n checkFeature: () => true,\n getLimit: () => null,\n} as LicenseContextValue);\n\nexport const useLicenseContext = (): LicenseContextValue =>\n useContext(LicenseContext);\n\n// Provider-level default agent id, published by `<CopilotKitProvider agentId>`.\n//\n// This is a context of its own rather than a `CopilotChatConfigurationProvider`\n// rendered at the root, because that provider also owns a thread: it resolves a\n// threadId (minting a UUID when none is given) and the top-most one owns the\n// imperative active-thread override. Rendering it around the whole application\n// would hand every `<CopilotChat>` the same inherited threadId, so two sibling\n// chats would share one transcript. A bare string context carries the agent\n// default and nothing else.\n//\n// It is the LAST fallback before `DEFAULT_AGENT_ID`, so an explicit `agentId`\n// argument, a `<CopilotChat agentId>`, and a `<CopilotChatConfigurationProvider\n// agentId>` all still win.\nexport const CopilotKitAgentIdContext = createContext<string | undefined>(\n undefined,\n);\n\nexport const useDefaultAgentId = (): string | undefined =>\n useContext(CopilotKitAgentIdContext);\n"],"mappings":"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"}
@@ -1,17 +1,15 @@
1
1
  "use client";
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_MarkdownSurfaces = require('../MarkdownSurfaces-FF5za2kU.cjs');
4
+ const require_MarkdownSurfaces = require('./MarkdownSurfaces-C2XZISKn.cjs');
5
5
  let react = require("react");
6
6
  react = require_MarkdownSurfaces.__toESM(react);
7
- let _copilotkit_shared = require("@copilotkit/shared");
8
7
  let react_jsx_runtime = require("react/jsx-runtime");
9
- let streamdown = require("streamdown");
8
+ let _copilotkit_shared = require("@copilotkit/shared");
10
9
  let zod = require("zod");
11
10
  let react_dom = require("react-dom");
12
- let katex = require("katex");
13
11
 
14
- //#region src/v2/generative-ui/refs.ts
12
+ //#region src/generative-ui/refs.ts
15
13
  /**
16
14
  * Schema helpers that mark a prop as a component reference, the way A2UI
17
15
  * 1.0 marks it with the `ComponentId` and `ChildList` common types. The
@@ -51,7 +49,7 @@ function childList(description) {
51
49
  }
52
50
 
53
51
  //#endregion
54
- //#region src/v2/generative-ui/catalog-export.ts
52
+ //#region src/generative-ui/catalog-export.ts
55
53
  const COMMON = "common_types.json#/$defs/";
56
54
  const DATA_BINDING_REF = `${COMMON}DataBinding`;
57
55
  const FUNCTION_CALL_REF = `${COMMON}FunctionCall`;
@@ -372,7 +370,7 @@ function typeSchema(type) {
372
370
  }
373
371
 
374
372
  //#endregion
375
- //#region src/v2/generative-ui/GenerativeUISurface.tsx
373
+ //#region src/generative-ui/GenerativeUISurface.tsx
376
374
  /** Scrolls `element` into view, unless it is already fully on screen. */
377
375
  function scrollToSurface(element) {
378
376
  const { top, bottom } = element.getBoundingClientRect();
@@ -457,7 +455,7 @@ function GenerativeUISurface({ id, description, ui, components, fallback = null,
457
455
  }
458
456
 
459
457
  //#endregion
460
- //#region src/v2/generative-ui/standard/overlay-stack.ts
458
+ //#region src/generative-ui/standard/overlay-stack.ts
461
459
  /**
462
460
  * The open overlays (Modal dialogs, Lightboxes), newest last. One document
463
461
  * listener closes the newest one on Escape, so a Lightbox inside a Modal
@@ -497,7 +495,7 @@ function useOverlayEscape(isOpen, close) {
497
495
  }
498
496
 
499
497
  //#endregion
500
- //#region src/v2/generative-ui/standard/tokens.ts
498
+ //#region src/generative-ui/standard/tokens.ts
501
499
  /**
502
500
  * Design tokens of the standard components. Each token is a CSS variable
503
501
  * with a literal fallback, so a host can restyle a surface with the
@@ -767,7 +765,7 @@ const FONT_WEIGHT = {
767
765
  };
768
766
 
769
767
  //#endregion
770
- //#region src/v2/generative-ui/standard/lightbox.tsx
768
+ //#region src/generative-ui/standard/lightbox.tsx
771
769
  const LIGHTBOX_BUTTON = {
772
770
  position: "absolute",
773
771
  border: "none",
@@ -900,7 +898,7 @@ function openUrl(href) {
900
898
  }
901
899
 
902
900
  //#endregion
903
- //#region src/v2/generative-ui/standard/styles.ts
901
+ //#region src/generative-ui/standard/styles.ts
904
902
  /**
905
903
  * The stylesheet for what inline styles cannot do: pseudo-elements (slider
906
904
  * track and thumb, placeholder), `:checked` and `:first-child` states,
@@ -970,7 +968,7 @@ function useStandardStyles() {
970
968
  }
971
969
 
972
970
  //#endregion
973
- //#region src/v2/generative-ui/standard/layout.tsx
971
+ //#region src/generative-ui/standard/layout.tsx
974
972
  /** A number is a count of 4px steps. A string is raw CSS. */
975
973
  const sizeValue = zod.z.union([zod.z.number(), zod.z.string()]);
976
974
  /** The A2UI `weight`: how much of the free space of a Row or Column to take. */
@@ -1957,7 +1955,7 @@ const layoutComponents = {
1957
1955
  };
1958
1956
 
1959
1957
  //#endregion
1960
- //#region src/v2/generative-ui/standard/markdown.tsx
1958
+ //#region src/generative-ui/standard/markdown.tsx
1961
1959
  const SAFE_URL = /^(https?:|mailto:)/i;
1962
1960
  /** The trimmed URL when it is http, https or mailto. Else `undefined`. */
1963
1961
  function safeHref(url) {
@@ -2096,27 +2094,25 @@ function renderInlineMarkdown(text) {
2096
2094
  return out.length === 1 && typeof out[0] === "string" ? out[0] : out;
2097
2095
  }
2098
2096
  /**
2099
- * Full GitHub-flavored markdown, rendered with Streamdown like the chat
2100
- * messages. It has no typography of its own, so it reads like the chat
2101
- * text around the surface. While `streaming` is true, Streamdown closes
2102
- * markdown that is not complete yet.
2097
+ * Full GitHub-flavored markdown, rendered with the same markdown renderer
2098
+ * as the chat messages. It has no typography of its own, so it reads like
2099
+ * the chat text around the surface. While `streaming` is true, the renderer
2100
+ * handles markdown that is not complete yet.
2103
2101
  */
2104
2102
  function Markdown({ text, streaming = false }) {
2105
2103
  useStandardStyles();
2106
- require_MarkdownSurfaces.useKatexStyles();
2107
2104
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2108
2105
  className: "a2ui-markdown",
2109
2106
  "data-a2ui-std": "",
2110
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(streamdown.Streamdown, {
2111
- mode: streaming ? "streaming" : "static",
2112
- parseIncompleteMarkdown: streaming,
2113
- children: text
2107
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MarkdownSurfaces.ProviderMarkdown, {
2108
+ content: text,
2109
+ isStreaming: streaming
2114
2110
  })
2115
2111
  });
2116
2112
  }
2117
2113
 
2118
2114
  //#endregion
2119
- //#region src/v2/generative-ui/standard/media.tsx
2115
+ //#region src/generative-ui/standard/media.tsx
2120
2116
  const NO_ARGS$2 = zod.z.object({});
2121
2117
  const colorProp$1 = zod.z.string().optional();
2122
2118
  const ICON_SIZES = [
@@ -3020,7 +3016,7 @@ const mediaComponents = {
3020
3016
  };
3021
3017
 
3022
3018
  //#endregion
3023
- //#region src/v2/generative-ui/standard/composites.tsx
3019
+ //#region src/generative-ui/standard/composites.tsx
3024
3020
  /**
3025
3021
  * The composite components: the prebuilt widgets that sit next to
3026
3022
  * its primitives (LinkCard, Citation, FollowUp pills, entity cards, image
@@ -3722,7 +3718,7 @@ const compositeComponents = {
3722
3718
  };
3723
3719
 
3724
3720
  //#endregion
3725
- //#region src/v2/generative-ui/standard/Chart.tsx
3721
+ //#region src/generative-ui/standard/Chart.tsx
3726
3722
  const chartSeries = zod.z.union([zod.z.string(), zod.z.object({
3727
3723
  key: zod.z.string(),
3728
3724
  label: zod.z.string().optional(),
@@ -4171,7 +4167,7 @@ function Chart(props) {
4171
4167
  }
4172
4168
 
4173
4169
  //#endregion
4174
- //#region src/v2/generative-ui/standard/Map.tsx
4170
+ //#region src/generative-ui/standard/Map.tsx
4175
4171
  const mapMarker = zod.z.object({
4176
4172
  label: zod.z.string(),
4177
4173
  lat: zod.z.number(),
@@ -4485,7 +4481,7 @@ function MapView(props) {
4485
4481
  }
4486
4482
 
4487
4483
  //#endregion
4488
- //#region src/v2/generative-ui/standard/data.tsx
4484
+ //#region src/generative-ui/standard/data.tsx
4489
4485
  const cellAlign = zod.z.enum([
4490
4486
  "start",
4491
4487
  "center",
@@ -5057,7 +5053,7 @@ const dataComponents = {
5057
5053
  };
5058
5054
 
5059
5055
  //#endregion
5060
- //#region src/v2/generative-ui/standard/feedback.tsx
5056
+ //#region src/generative-ui/standard/feedback.tsx
5061
5057
  const FEEDBACK_STYLE_ID = "a2ui-standard-feedback";
5062
5058
  /**
5063
5059
  * The keyframes of the feedback components, and the rule for reduced
@@ -5636,7 +5632,7 @@ const feedbackComponents = {
5636
5632
  };
5637
5633
 
5638
5634
  //#endregion
5639
- //#region src/v2/generative-ui/standard/checks.ts
5635
+ //#region src/generative-ui/standard/checks.ts
5640
5636
  /**
5641
5637
  * The `checks` of the A2UI 1.0 `Checkable` components. The model writes
5642
5638
  * each condition as a validator call or a boolean binding:
@@ -5720,7 +5716,7 @@ function checkMessageStyle(severity) {
5720
5716
  }
5721
5717
 
5722
5718
  //#endregion
5723
- //#region src/v2/generative-ui/standard/inputs.tsx
5719
+ //#region src/generative-ui/standard/inputs.tsx
5724
5720
  /** Copies text to the clipboard. False when the API is not there. */
5725
5721
  async function copyText(text) {
5726
5722
  try {
@@ -7288,7 +7284,7 @@ const inputComponents = {
7288
7284
  };
7289
7285
 
7290
7286
  //#endregion
7291
- //#region src/v2/generative-ui/standard/text.tsx
7287
+ //#region src/generative-ui/standard/text.tsx
7292
7288
  const colorProp = zod.z.string().optional().describe(`One of ${TEXT_COLORS.join("|")} or a CSS color`);
7293
7289
  const fontWeight = zod.z.enum(WEIGHTS).optional();
7294
7290
  const textAlign = zod.z.enum([
@@ -7659,17 +7655,18 @@ function Code(props) {
7659
7655
  })
7660
7656
  });
7661
7657
  }
7658
+ /**
7659
+ * Shows the TeX source as code. react-core ships no math typesetter, so a
7660
+ * formula reads as its source, which is still exact.
7661
+ */
7662
7662
  function MathFormula(props) {
7663
- require_MarkdownSurfaces.useKatexStyles();
7664
- const isBlock = props.block === true;
7665
- const html = (0, react.useMemo)(() => (0, katex.renderToString)(props.value, {
7666
- displayMode: isBlock,
7667
- throwOnError: false,
7668
- trust: false
7669
- }), [props.value, isBlock]);
7670
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(isBlock ? "div" : "span", {
7671
- "data-math": isBlock ? "block" : "inline",
7672
- dangerouslySetInnerHTML: { __html: html }
7663
+ if (props.block === true) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
7664
+ "data-math": "block",
7665
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", { children: props.value })
7666
+ });
7667
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
7668
+ "data-math": "inline",
7669
+ children: props.value
7673
7670
  });
7674
7671
  }
7675
7672
  function ShimmerText(props) {
@@ -7868,7 +7865,7 @@ const textComponents = {
7868
7865
  };
7869
7866
 
7870
7867
  //#endregion
7871
- //#region src/v2/generative-ui/standard/parameter-order.ts
7868
+ //#region src/generative-ui/standard/parameter-order.ts
7872
7869
  /** CopilotKit catalog design, not an A2UI-mandated list of signatures.
7873
7870
  * Express maps positional arguments using the exported JSON Schema property order:
7874
7871
  * https://a2ui.org/specification/proposals/express/a2ui_express/#schema-driven-key-mapping
@@ -8094,7 +8091,7 @@ function standardParameterOrder(name, definition) {
8094
8091
  }
8095
8092
 
8096
8093
  //#endregion
8097
- //#region src/v2/generative-ui/standard/index.ts
8094
+ //#region src/generative-ui/standard/index.ts
8098
8095
  const components = {
8099
8096
  ...layoutComponents,
8100
8097
  ...textComponents,