@agentick/core 0.0.1 → 0.1.9

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 (160) hide show
  1. package/dist/.tsbuildinfo.build +1 -1
  2. package/package.json +8 -3
  3. package/dist/.tsbuildinfo +0 -1
  4. package/dist/agent.d.ts +0 -32
  5. package/dist/agent.d.ts.map +0 -1
  6. package/dist/agent.js +0 -26
  7. package/dist/agent.js.map +0 -1
  8. package/dist/aidk-instance.d.ts +0 -294
  9. package/dist/aidk-instance.d.ts.map +0 -1
  10. package/dist/aidk-instance.js +0 -340
  11. package/dist/aidk-instance.js.map +0 -1
  12. package/dist/compiler/content-block-registry.d.ts +0 -11
  13. package/dist/compiler/content-block-registry.d.ts.map +0 -1
  14. package/dist/compiler/content-block-registry.js +0 -312
  15. package/dist/compiler/content-block-registry.js.map +0 -1
  16. package/dist/compiler/extractors.d.ts +0 -68
  17. package/dist/compiler/extractors.d.ts.map +0 -1
  18. package/dist/compiler/extractors.js +0 -547
  19. package/dist/compiler/extractors.js.map +0 -1
  20. package/dist/compiler/fiber.d.ts +0 -61
  21. package/dist/compiler/fiber.d.ts.map +0 -1
  22. package/dist/compiler/fiber.js +0 -244
  23. package/dist/compiler/fiber.js.map +0 -1
  24. package/dist/component/tentickle-component.d.ts +0 -185
  25. package/dist/component/tentickle-component.d.ts.map +0 -1
  26. package/dist/component/tentickle-component.js +0 -182
  27. package/dist/component/tentickle-component.js.map +0 -1
  28. package/dist/core/channel-helpers.d.ts +0 -31
  29. package/dist/core/channel-helpers.d.ts.map +0 -1
  30. package/dist/core/channel-helpers.js +0 -62
  31. package/dist/core/channel-helpers.js.map +0 -1
  32. package/dist/core/channel.d.ts +0 -164
  33. package/dist/core/channel.d.ts.map +0 -1
  34. package/dist/core/channel.js +0 -199
  35. package/dist/core/channel.js.map +0 -1
  36. package/dist/core/context.d.ts +0 -412
  37. package/dist/core/context.d.ts.map +0 -1
  38. package/dist/core/context.js +0 -290
  39. package/dist/core/context.js.map +0 -1
  40. package/dist/core/event-buffer.d.ts +0 -212
  41. package/dist/core/event-buffer.d.ts.map +0 -1
  42. package/dist/core/event-buffer.js +0 -346
  43. package/dist/core/event-buffer.js.map +0 -1
  44. package/dist/core/execution-helpers.d.ts +0 -179
  45. package/dist/core/execution-helpers.d.ts.map +0 -1
  46. package/dist/core/execution-helpers.js +0 -212
  47. package/dist/core/execution-helpers.js.map +0 -1
  48. package/dist/core/execution-tracker.d.ts +0 -53
  49. package/dist/core/execution-tracker.d.ts.map +0 -1
  50. package/dist/core/execution-tracker.js +0 -309
  51. package/dist/core/execution-tracker.js.map +0 -1
  52. package/dist/core/index.d.ts +0 -58
  53. package/dist/core/index.d.ts.map +0 -1
  54. package/dist/core/index.js +0 -58
  55. package/dist/core/index.js.map +0 -1
  56. package/dist/core/logger.d.ts +0 -341
  57. package/dist/core/logger.d.ts.map +0 -1
  58. package/dist/core/logger.js +0 -346
  59. package/dist/core/logger.js.map +0 -1
  60. package/dist/core/metrics-helpers.d.ts +0 -40
  61. package/dist/core/metrics-helpers.d.ts.map +0 -1
  62. package/dist/core/metrics-helpers.js +0 -72
  63. package/dist/core/metrics-helpers.js.map +0 -1
  64. package/dist/core/otel-provider.d.ts +0 -54
  65. package/dist/core/otel-provider.d.ts.map +0 -1
  66. package/dist/core/otel-provider.js +0 -107
  67. package/dist/core/otel-provider.js.map +0 -1
  68. package/dist/core/procedure-graph.d.ts +0 -136
  69. package/dist/core/procedure-graph.d.ts.map +0 -1
  70. package/dist/core/procedure-graph.js +0 -272
  71. package/dist/core/procedure-graph.js.map +0 -1
  72. package/dist/core/procedure.d.ts +0 -755
  73. package/dist/core/procedure.d.ts.map +0 -1
  74. package/dist/core/procedure.js +0 -899
  75. package/dist/core/procedure.js.map +0 -1
  76. package/dist/core/stream.d.ts +0 -106
  77. package/dist/core/stream.d.ts.map +0 -1
  78. package/dist/core/stream.js +0 -186
  79. package/dist/core/stream.js.map +0 -1
  80. package/dist/core/telemetry.d.ts +0 -182
  81. package/dist/core/telemetry.d.ts.map +0 -1
  82. package/dist/core/telemetry.js +0 -124
  83. package/dist/core/telemetry.js.map +0 -1
  84. package/dist/engine/execution-graph.d.ts +0 -104
  85. package/dist/engine/execution-graph.d.ts.map +0 -1
  86. package/dist/engine/execution-graph.js +0 -257
  87. package/dist/engine/execution-graph.js.map +0 -1
  88. package/dist/hooks/policy-context.d.ts.map +0 -1
  89. package/dist/jsx/components/agent.d.ts +0 -64
  90. package/dist/jsx/components/agent.d.ts.map +0 -1
  91. package/dist/jsx/components/agent.js +0 -80
  92. package/dist/jsx/components/agent.js.map +0 -1
  93. package/dist/model/simple-adapter.d.ts +0 -176
  94. package/dist/model/simple-adapter.d.ts.map +0 -1
  95. package/dist/model/simple-adapter.js +0 -264
  96. package/dist/model/simple-adapter.js.map +0 -1
  97. package/dist/state/boundary.d.ts +0 -347
  98. package/dist/state/boundary.d.ts.map +0 -1
  99. package/dist/state/boundary.js +0 -341
  100. package/dist/state/boundary.js.map +0 -1
  101. package/dist/state/context.d.ts +0 -138
  102. package/dist/state/context.d.ts.map +0 -1
  103. package/dist/state/context.js +0 -139
  104. package/dist/state/context.js.map +0 -1
  105. package/dist/state/hooks.d.ts +0 -798
  106. package/dist/state/hooks.d.ts.map +0 -1
  107. package/dist/state/hooks.js +0 -1437
  108. package/dist/state/hooks.js.map +0 -1
  109. package/dist/state/index.d.ts +0 -72
  110. package/dist/state/index.d.ts.map +0 -1
  111. package/dist/state/index.js +0 -73
  112. package/dist/state/index.js.map +0 -1
  113. package/dist/state/signal.d.ts +0 -223
  114. package/dist/state/signal.d.ts.map +0 -1
  115. package/dist/state/signal.js +0 -699
  116. package/dist/state/signal.js.map +0 -1
  117. package/dist/state/use-state.d.ts +0 -210
  118. package/dist/state/use-state.d.ts.map +0 -1
  119. package/dist/state/use-state.js +0 -327
  120. package/dist/state/use-state.js.map +0 -1
  121. package/dist/tentickle-instance.d.ts +0 -285
  122. package/dist/tentickle-instance.d.ts.map +0 -1
  123. package/dist/tentickle-instance.js +0 -700
  124. package/dist/tentickle-instance.js.map +0 -1
  125. package/dist/testing/test-model.d.ts +0 -132
  126. package/dist/testing/test-model.d.ts.map +0 -1
  127. package/dist/testing/test-model.js +0 -260
  128. package/dist/testing/test-model.js.map +0 -1
  129. package/dist/v2/reconciler/host-config.d.ts +0 -31
  130. package/dist/v2/reconciler/host-config.d.ts.map +0 -1
  131. package/dist/v2/reconciler/host-config.js +0 -197
  132. package/dist/v2/reconciler/host-config.js.map +0 -1
  133. package/dist/v2/reconciler/index.d.ts +0 -7
  134. package/dist/v2/reconciler/index.d.ts.map +0 -1
  135. package/dist/v2/reconciler/index.js +0 -7
  136. package/dist/v2/reconciler/index.js.map +0 -1
  137. package/dist/v2/reconciler/reconciler.d.ts +0 -39
  138. package/dist/v2/reconciler/reconciler.d.ts.map +0 -1
  139. package/dist/v2/reconciler/reconciler.js +0 -54
  140. package/dist/v2/reconciler/reconciler.js.map +0 -1
  141. package/dist/v2/reconciler/types.d.ts +0 -64
  142. package/dist/v2/reconciler/types.d.ts.map +0 -1
  143. package/dist/v2/reconciler/types.js +0 -20
  144. package/dist/v2/reconciler/types.js.map +0 -1
  145. package/dist/v2/renderers/index.d.ts +0 -7
  146. package/dist/v2/renderers/index.d.ts.map +0 -1
  147. package/dist/v2/renderers/index.js +0 -7
  148. package/dist/v2/renderers/index.js.map +0 -1
  149. package/dist/v2/renderers/markdown.d.ts +0 -16
  150. package/dist/v2/renderers/markdown.d.ts.map +0 -1
  151. package/dist/v2/renderers/markdown.js +0 -65
  152. package/dist/v2/renderers/markdown.js.map +0 -1
  153. package/dist/v2/renderers/types.d.ts +0 -26
  154. package/dist/v2/renderers/types.d.ts.map +0 -1
  155. package/dist/v2/renderers/types.js +0 -6
  156. package/dist/v2/renderers/types.js.map +0 -1
  157. package/dist/v2/renderers/xml.d.ts +0 -17
  158. package/dist/v2/renderers/xml.d.ts.map +0 -1
  159. package/dist/v2/renderers/xml.js +0 -73
  160. package/dist/v2/renderers/xml.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"tentickle-instance.js","sourceRoot":"","sources":["../src/tentickle-instance.ts"],"names":[],"mappings":"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"}
@@ -1,132 +0,0 @@
1
- /**
2
- * Test Model Factory
3
- *
4
- * Creates mock models for testing agents without making real API calls.
5
- */
6
- import { createModel, type ModelInput } from "../model/model";
7
- import type { StopReason, Message, ToolCall } from "@tentickle/shared";
8
- import type { Mock } from "vitest";
9
- export interface TestModelOptions {
10
- /**
11
- * Default response text for the model.
12
- * @default "Test response"
13
- */
14
- defaultResponse?: string;
15
- /**
16
- * Delay in ms before returning response (simulates latency).
17
- * @default 0
18
- */
19
- delay?: number;
20
- /**
21
- * Custom response generator.
22
- * Called with the input to generate dynamic responses.
23
- */
24
- responseGenerator?: (input: ModelInput) => string | Message;
25
- /**
26
- * Tool calls to include in the response.
27
- */
28
- toolCalls?: ToolCall[];
29
- /**
30
- * Stop reason for the response.
31
- * @default "stop"
32
- */
33
- stopReason?: StopReason;
34
- /**
35
- * Whether to throw an error instead of returning a response.
36
- */
37
- throwError?: Error;
38
- /**
39
- * Callback when model.execute is called.
40
- */
41
- onExecute?: (input: ModelInput) => void;
42
- /**
43
- * Streaming simulation options.
44
- * When enabled, executeStream yields chunks progressively.
45
- */
46
- streaming?: {
47
- /**
48
- * Whether to simulate streaming (yield chunks progressively).
49
- * @default false
50
- */
51
- enabled?: boolean;
52
- /**
53
- * Chunk size in characters.
54
- * @default 10
55
- */
56
- chunkSize?: number;
57
- /**
58
- * Delay between chunks in ms.
59
- * @default 5
60
- */
61
- chunkDelay?: number;
62
- };
63
- }
64
- export interface StreamingOptions {
65
- enabled?: boolean;
66
- chunkSize?: number;
67
- chunkDelay?: number;
68
- }
69
- export interface TestModelInstance extends ReturnType<typeof createModel> {
70
- /**
71
- * Get all captured inputs from model calls.
72
- */
73
- getCapturedInputs: () => ModelInput[];
74
- /**
75
- * Clear all captured inputs.
76
- */
77
- clearCapturedInputs: () => void;
78
- /**
79
- * Set the response for subsequent calls.
80
- */
81
- setResponse: (response: string | Message) => void;
82
- /**
83
- * Configure streaming simulation.
84
- */
85
- setStreaming: (options: StreamingOptions) => void;
86
- /**
87
- * Set tool calls for subsequent responses.
88
- */
89
- setToolCalls: (toolCalls: ToolCall[]) => void;
90
- /**
91
- * Make the model throw an error on next call.
92
- */
93
- setError: (error: Error | null) => void;
94
- /**
95
- * Get the mock functions for assertions.
96
- */
97
- mocks: {
98
- execute: Mock;
99
- executeStream: Mock;
100
- };
101
- }
102
- /**
103
- * Create a test model for use in tests.
104
- *
105
- * @example
106
- * ```tsx
107
- * const model = createTestModel({
108
- * defaultResponse: "Hello from test!",
109
- * delay: 10,
110
- * });
111
- *
112
- * const { send } = renderAgent(MyAgent, { model });
113
- * await act(() => send("Hi"));
114
- *
115
- * expect(model.getCapturedInputs()).toHaveLength(1);
116
- * ```
117
- *
118
- * @example Dynamic responses
119
- * ```tsx
120
- * const model = createTestModel({
121
- * responseGenerator: (input) => {
122
- * const lastMessage = input.messages.at(-1);
123
- * if (lastMessage?.content.includes("weather")) {
124
- * return "It's sunny today!";
125
- * }
126
- * return "I don't understand.";
127
- * },
128
- * });
129
- * ```
130
- */
131
- export declare function createTestModel(options?: TestModelOptions): TestModelInstance;
132
- //# sourceMappingURL=test-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-model.d.ts","sourceRoot":"","sources":["../../src/testing/test-model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAe,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAgCnC,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,CAAC;IAE5D;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU,CAAC,OAAO,WAAW,CAAC;IACvE;;OAEG;IACH,iBAAiB,EAAE,MAAM,UAAU,EAAE,CAAC;IAEtC;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC;;OAEG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,CAAC;QACd,aAAa,EAAE,IAAI,CAAC;KACrB,CAAC;CACH;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,iBAAiB,CA8NjF"}
@@ -1,260 +0,0 @@
1
- /**
2
- * Test Model Factory
3
- *
4
- * Creates mock models for testing agents without making real API calls.
5
- */
6
- import { createModel } from "../model/model";
7
- import { fromEngineState, toEngineState } from "../model/utils/language-model";
8
- import { BlockType } from "@tentickle/shared";
9
- import { vi } from "vitest";
10
- import { randomUUID } from "crypto";
11
- // ============================================================================
12
- // Stream Event Helpers
13
- // ============================================================================
14
- let sequenceCounter = 0;
15
- function createStreamEvent(type, fields) {
16
- sequenceCounter++;
17
- return {
18
- type,
19
- id: randomUUID(),
20
- sequence: sequenceCounter,
21
- tick: 1,
22
- timestamp: new Date().toISOString(),
23
- ...fields,
24
- };
25
- }
26
- // ============================================================================
27
- // Factory
28
- // ============================================================================
29
- /**
30
- * Create a test model for use in tests.
31
- *
32
- * @example
33
- * ```tsx
34
- * const model = createTestModel({
35
- * defaultResponse: "Hello from test!",
36
- * delay: 10,
37
- * });
38
- *
39
- * const { send } = renderAgent(MyAgent, { model });
40
- * await act(() => send("Hi"));
41
- *
42
- * expect(model.getCapturedInputs()).toHaveLength(1);
43
- * ```
44
- *
45
- * @example Dynamic responses
46
- * ```tsx
47
- * const model = createTestModel({
48
- * responseGenerator: (input) => {
49
- * const lastMessage = input.messages.at(-1);
50
- * if (lastMessage?.content.includes("weather")) {
51
- * return "It's sunny today!";
52
- * }
53
- * return "I don't understand.";
54
- * },
55
- * });
56
- * ```
57
- */
58
- export function createTestModel(options = {}) {
59
- const { defaultResponse = "Test response", delay = 0, onExecute } = options;
60
- // Mutable state
61
- let currentResponse = options.responseGenerator
62
- ? defaultResponse
63
- : defaultResponse;
64
- let currentToolCalls = options.toolCalls ?? [];
65
- let currentError = options.throwError ?? null;
66
- let responseGenerator = options.responseGenerator;
67
- const capturedInputs = [];
68
- // Streaming state
69
- let streamingEnabled = options.streaming?.enabled ?? false;
70
- let streamingChunkSize = options.streaming?.chunkSize ?? 10;
71
- let streamingChunkDelay = options.streaming?.chunkDelay ?? 5;
72
- // Helper to build message from string or Message
73
- const buildMessage = (response) => {
74
- if (typeof response === "string") {
75
- return {
76
- role: "assistant",
77
- content: [{ type: "text", text: response }],
78
- };
79
- }
80
- return response;
81
- };
82
- // Helper to get response
83
- const getResponse = (input) => {
84
- if (responseGenerator) {
85
- return buildMessage(responseGenerator(input));
86
- }
87
- return buildMessage(currentResponse);
88
- };
89
- // Mock functions
90
- const executeMock = vi.fn();
91
- const executeStreamMock = vi.fn();
92
- const model = createModel({
93
- metadata: {
94
- id: "test-model",
95
- provider: "test",
96
- capabilities: [],
97
- },
98
- executors: {
99
- execute: async (input) => {
100
- executeMock(input);
101
- capturedInputs.push(input);
102
- onExecute?.(input);
103
- if (delay > 0) {
104
- await new Promise((resolve) => setTimeout(resolve, delay));
105
- }
106
- if (currentError) {
107
- throw currentError;
108
- }
109
- const message = getResponse(input);
110
- return {
111
- model: "test-model",
112
- createdAt: new Date().toISOString(),
113
- message,
114
- usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
115
- stopReason: (options.stopReason ?? "stop"),
116
- raw: {},
117
- };
118
- },
119
- executeStream: async function* (input) {
120
- executeStreamMock(input);
121
- capturedInputs.push(input);
122
- onExecute?.(input);
123
- // Reset sequence counter for this stream
124
- sequenceCounter = 0;
125
- if (delay > 0) {
126
- await new Promise((resolve) => setTimeout(resolve, delay));
127
- }
128
- if (currentError) {
129
- throw currentError;
130
- }
131
- const message = getResponse(input);
132
- const textContent = message.content
133
- .filter((c) => c.type === "text")
134
- .map((c) => c.text)
135
- .join("");
136
- // Use mutable streaming state
137
- const chunkSize = streamingChunkSize;
138
- const chunkDelay = streamingChunkDelay;
139
- // Yield message_start
140
- yield createStreamEvent("message_start", {
141
- role: "assistant",
142
- });
143
- // Yield text content
144
- if (textContent) {
145
- // Yield content_start
146
- yield createStreamEvent("content_start", {
147
- blockType: BlockType.TEXT,
148
- blockIndex: 0,
149
- });
150
- if (streamingEnabled) {
151
- // Simulate realistic streaming: yield chunks progressively
152
- for (let i = 0; i < textContent.length; i += chunkSize) {
153
- const chunk = textContent.slice(i, i + chunkSize);
154
- yield createStreamEvent("content_delta", {
155
- blockType: BlockType.TEXT,
156
- blockIndex: 0,
157
- delta: chunk,
158
- });
159
- if (chunkDelay > 0 && i + chunkSize < textContent.length) {
160
- await new Promise((resolve) => setTimeout(resolve, chunkDelay));
161
- }
162
- }
163
- }
164
- else {
165
- // Default: yield entire response as single chunk
166
- yield createStreamEvent("content_delta", {
167
- blockType: BlockType.TEXT,
168
- blockIndex: 0,
169
- delta: textContent,
170
- });
171
- }
172
- // Yield content_end
173
- yield createStreamEvent("content_end", {
174
- blockType: BlockType.TEXT,
175
- blockIndex: 0,
176
- });
177
- }
178
- // Yield tool calls
179
- let toolBlockIndex = textContent ? 1 : 0;
180
- for (const toolCall of currentToolCalls) {
181
- yield createStreamEvent("tool_call_start", {
182
- // blockType: BlockType.TOOL_USE,
183
- blockIndex: toolBlockIndex,
184
- callId: toolCall.id,
185
- name: toolCall.name,
186
- });
187
- yield createStreamEvent("tool_call_delta", {
188
- // blockType: BlockType.TOOL_USE,
189
- blockIndex: toolBlockIndex,
190
- callId: toolCall.id,
191
- delta: JSON.stringify(toolCall.input),
192
- });
193
- yield createStreamEvent("tool_call_end", {
194
- // blockType: BlockType.TOOL_USE,
195
- blockIndex: toolBlockIndex,
196
- callId: toolCall.id,
197
- // name: toolCall.name,
198
- // input: toolCall.input,
199
- });
200
- toolBlockIndex++;
201
- }
202
- // Yield message_end
203
- yield createStreamEvent("message_end", {
204
- stopReason: (options.stopReason ?? "stop"),
205
- usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
206
- });
207
- },
208
- },
209
- transformers: {
210
- processStream: async (chunks) => {
211
- let text = "";
212
- for (const chunk of chunks) {
213
- if (chunk.type === "content_delta" && typeof chunk.delta === "string") {
214
- text += chunk.delta;
215
- }
216
- }
217
- return {
218
- model: "test-model",
219
- createdAt: new Date().toISOString(),
220
- message: { role: "assistant", content: [{ type: "text", text }] },
221
- usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
222
- stopReason: (options.stopReason ?? "stop"),
223
- raw: {},
224
- };
225
- },
226
- },
227
- fromEngineState,
228
- toEngineState,
229
- });
230
- // Extend with test utilities
231
- const testModel = model;
232
- testModel.getCapturedInputs = () => [...capturedInputs];
233
- testModel.clearCapturedInputs = () => {
234
- capturedInputs.length = 0;
235
- };
236
- testModel.setResponse = (response) => {
237
- currentResponse = response;
238
- responseGenerator = undefined;
239
- };
240
- testModel.setToolCalls = (toolCalls) => {
241
- currentToolCalls = toolCalls;
242
- };
243
- testModel.setError = (error) => {
244
- currentError = error;
245
- };
246
- testModel.setStreaming = (opts) => {
247
- if (opts.enabled !== undefined)
248
- streamingEnabled = opts.enabled;
249
- if (opts.chunkSize !== undefined)
250
- streamingChunkSize = opts.chunkSize;
251
- if (opts.chunkDelay !== undefined)
252
- streamingChunkDelay = opts.chunkDelay;
253
- };
254
- testModel.mocks = {
255
- execute: executeMock,
256
- executeStream: executeStreamMock,
257
- };
258
- return testModel;
259
- }
260
- //# sourceMappingURL=test-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-model.js","sourceRoot":"","sources":["../../src/testing/test-model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAqC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,SAAS,iBAAiB,CACxB,IAAO,EACP,MAGC;IAED,eAAe,EAAE,CAAC;IAClB,OAAO;QACL,IAAI;QACJ,EAAE,EAAE,UAAU,EAAE;QAChB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,MAAM;KAC2B,CAAC;AACzC,CAAC;AAqHD,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE;IAC5D,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE5E,gBAAgB;IAChB,IAAI,eAAe,GAAqB,OAAO,CAAC,iBAAiB;QAC/D,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,CAAC;IACpB,IAAI,gBAAgB,GAAe,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC3D,IAAI,YAAY,GAAiB,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5D,IAAI,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAClD,MAAM,cAAc,GAAiB,EAAE,CAAC;IAExC,kBAAkB;IAClB,IAAI,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC;IAC3D,IAAI,kBAAkB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;IAC5D,IAAI,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC,CAAC;IAE7D,iDAAiD;IACjD,MAAM,YAAY,GAAG,CAAC,QAA0B,EAAW,EAAE;QAC3D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,yBAAyB;IACzB,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAW,EAAE;QACjD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,WAAW,CAAgE;QACvF,QAAQ,EAAE;YACR,EAAE,EAAE,YAAY;YAChB,QAAQ,EAAE,MAAM;YAChB,YAAY,EAAE,EAAE;SACjB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,KAAK,EAAE,KAAiB,EAAE,EAAE;gBACnC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;gBAEnB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,YAAY,CAAC;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAEnC,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO;oBACP,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;oBAC5D,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAe;oBACxD,GAAG,EAAE,EAAE;iBACO,CAAC;YACnB,CAAC;YACD,aAAa,EAAE,KAAK,SAAS,CAAC,EAAE,KAAiB;gBAC/C,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;gBAEnB,yCAAyC;gBACzC,eAAe,GAAG,CAAC,CAAC;gBAEpB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,YAAY,CAAC;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO;qBAChC,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;qBACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEZ,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,kBAAkB,CAAC;gBACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC;gBAEvC,sBAAsB;gBACtB,MAAM,iBAAiB,CAAC,eAAe,EAAE;oBACvC,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;gBAEH,qBAAqB;gBACrB,IAAI,WAAW,EAAE,CAAC;oBAChB,sBAAsB;oBACtB,MAAM,iBAAiB,CAAC,eAAe,EAAE;wBACvC,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,CAAC;qBACd,CAAC,CAAC;oBAEH,IAAI,gBAAgB,EAAE,CAAC;wBACrB,2DAA2D;wBAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;4BACvD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;4BAClD,MAAM,iBAAiB,CAAC,eAAe,EAAE;gCACvC,SAAS,EAAE,SAAS,CAAC,IAAI;gCACzB,UAAU,EAAE,CAAC;gCACb,KAAK,EAAE,KAAK;6BACb,CAAC,CAAC;4BAEH,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gCACzD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,iDAAiD;wBACjD,MAAM,iBAAiB,CAAC,eAAe,EAAE;4BACvC,SAAS,EAAE,SAAS,CAAC,IAAI;4BACzB,UAAU,EAAE,CAAC;4BACb,KAAK,EAAE,WAAW;yBACnB,CAAC,CAAC;oBACL,CAAC;oBAED,oBAAoB;oBACpB,MAAM,iBAAiB,CAAC,aAAa,EAAE;wBACrC,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,CAAC;qBACd,CAAC,CAAC;gBACL,CAAC;gBAED,mBAAmB;gBACnB,IAAI,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;oBACxC,MAAM,iBAAiB,CAAC,iBAAiB,EAAE;wBACzC,iCAAiC;wBACjC,UAAU,EAAE,cAAc;wBAC1B,MAAM,EAAE,QAAQ,CAAC,EAAE;wBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB,CAAC,CAAC;oBACH,MAAM,iBAAiB,CAAC,iBAAiB,EAAE;wBACzC,iCAAiC;wBACjC,UAAU,EAAE,cAAc;wBAC1B,MAAM,EAAE,QAAQ,CAAC,EAAE;wBACnB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;qBACtC,CAAC,CAAC;oBACH,MAAM,iBAAiB,CAAC,eAAe,EAAE;wBACvC,iCAAiC;wBACjC,UAAU,EAAE,cAAc;wBAC1B,MAAM,EAAE,QAAQ,CAAC,EAAE;wBACnB,uBAAuB;wBACvB,yBAAyB;qBAC1B,CAAC,CAAC;oBACH,cAAc,EAAE,CAAC;gBACnB,CAAC;gBAED,oBAAoB;gBACpB,MAAM,iBAAiB,CAAC,aAAa,EAAE;oBACrC,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAe;oBACxD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;iBAC7D,CAAC,CAAC;YACL,CAAC;SACF;QACD,YAAY,EAAE;YACZ,aAAa,EAAE,KAAK,EAAE,MAAqB,EAAE,EAAE;gBAC7C,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACtE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;oBACjE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;oBAC5D,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAe;oBACxD,GAAG,EAAE,EAAE;iBACO,CAAC;YACnB,CAAC;SACF;QACD,eAAe;QACf,aAAa;KACd,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,SAAS,GAAG,KAA0B,CAAC;IAE7C,SAAS,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;IACxD,SAAS,CAAC,mBAAmB,GAAG,GAAG,EAAE;QACnC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,SAAS,CAAC,WAAW,GAAG,CAAC,QAA0B,EAAE,EAAE;QACrD,eAAe,GAAG,QAAQ,CAAC;QAC3B,iBAAiB,GAAG,SAAS,CAAC;IAChC,CAAC,CAAC;IACF,SAAS,CAAC,YAAY,GAAG,CAAC,SAAqB,EAAE,EAAE;QACjD,gBAAgB,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAC;IACF,SAAS,CAAC,QAAQ,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC3C,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC;IACF,SAAS,CAAC,YAAY,GAAG,CAAC,IAAsB,EAAE,EAAE;QAClD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;QAChE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;QACtE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3E,CAAC,CAAC;IACF,SAAS,CAAC,KAAK,GAAG;QAChB,OAAO,EAAE,WAAW;QACpB,aAAa,EAAE,iBAAiB;KACjC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,31 +0,0 @@
1
- /**
2
- * V2 Host Config for react-reconciler
3
- *
4
- * This defines how React interacts with our "host" environment.
5
- * Instead of DOM nodes, we build TentickleNode trees.
6
- */
7
- import type { HostConfig } from "react-reconciler";
8
- import type { TentickleNode, TentickleContainer, HostContext, Props, UpdatePayload } from "./types";
9
- import type { Renderer } from "../renderers/types";
10
- /**
11
- * Register a component type as a renderer switcher.
12
- * When this component is encountered, child context uses the given renderer.
13
- */
14
- export declare function registerRendererComponent(type: unknown, renderer: Renderer): void;
15
- /**
16
- * The host config that tells react-reconciler how to manage our tree.
17
- */
18
- export declare const hostConfig: HostConfig<string, // Type (component type as string for intrinsics)
19
- Props, // Props
20
- TentickleContainer, // Container
21
- TentickleNode, // Instance
22
- never, // TextInstance (we don't use raw text nodes)
23
- never, // SuspenseInstance
24
- never, // HydratableInstance
25
- TentickleNode, // PublicInstance
26
- HostContext, // HostContext
27
- UpdatePayload, // UpdatePayload
28
- never, // ChildSet (not used in mutation mode)
29
- ReturnType<typeof setTimeout>, // TimeoutHandle
30
- -1>;
31
- //# sourceMappingURL=host-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-config.d.ts","sourceRoot":"","sources":["../../../src/v2/reconciler/host-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,KAAK,EACL,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMnD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAEjF;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,MAAM,EAAE,iDAAiD;AACzD,KAAK,EAAE,QAAQ;AACf,kBAAkB,EAAE,YAAY;AAChC,aAAa,EAAE,WAAW;AAC1B,KAAK,EAAE,6CAA6C;AACpD,KAAK,EAAE,mBAAmB;AAC1B,KAAK,EAAE,qBAAqB;AAC5B,aAAa,EAAE,iBAAiB;AAChC,WAAW,EAAE,cAAc;AAC3B,aAAa,EAAE,gBAAgB;AAC/B,KAAK,EAAE,uCAAuC;AAC9C,UAAU,CAAC,OAAO,UAAU,CAAC,EAAE,gBAAgB;AAC/C,CAAC,CAAC,CAgPH,CAAC"}
@@ -1,197 +0,0 @@
1
- /**
2
- * V2 Host Config for react-reconciler
3
- *
4
- * This defines how React interacts with our "host" environment.
5
- * Instead of DOM nodes, we build TentickleNode trees.
6
- */
7
- import { createNode } from "./types";
8
- import { markdownRenderer } from "../renderers/markdown";
9
- // Component types that switch renderer context
10
- const RENDERER_COMPONENTS = new Map();
11
- /**
12
- * Register a component type as a renderer switcher.
13
- * When this component is encountered, child context uses the given renderer.
14
- */
15
- export function registerRendererComponent(type, renderer) {
16
- RENDERER_COMPONENTS.set(type, renderer);
17
- }
18
- /**
19
- * The host config that tells react-reconciler how to manage our tree.
20
- */
21
- export const hostConfig = {
22
- // ============================================================
23
- // Core Configuration
24
- // ============================================================
25
- supportsMutation: true,
26
- supportsPersistence: false,
27
- supportsHydration: false,
28
- isPrimaryRenderer: true,
29
- noTimeout: -1,
30
- // ============================================================
31
- // Instance Creation
32
- // ============================================================
33
- createInstance(type, props, _rootContainer, hostContext, _internalHandle) {
34
- const key = props.key ?? null;
35
- // Remove key from props (React handles it separately)
36
- const { key: _, ...restProps } = props;
37
- return createNode(type, restProps, hostContext.renderer, key);
38
- },
39
- createTextInstance(_text, _rootContainer, _hostContext, _internalHandle) {
40
- // We don't support raw text nodes - text must be wrapped in <Text>
41
- throw new Error("Raw text nodes are not supported. Wrap text in <Text> component.");
42
- },
43
- // ============================================================
44
- // Tree Operations (Mutation Mode)
45
- // ============================================================
46
- appendChild(parent, child) {
47
- child.parent = parent;
48
- child.index = parent.children.length;
49
- parent.children.push(child);
50
- },
51
- appendInitialChild(parent, child) {
52
- child.parent = parent;
53
- child.index = parent.children.length;
54
- parent.children.push(child);
55
- },
56
- appendChildToContainer(container, child) {
57
- child.parent = null;
58
- child.index = container.children.length;
59
- container.children.push(child);
60
- },
61
- insertBefore(parent, child, beforeChild) {
62
- const index = parent.children.indexOf(beforeChild);
63
- if (index === -1) {
64
- parent.children.push(child);
65
- }
66
- else {
67
- parent.children.splice(index, 0, child);
68
- }
69
- child.parent = parent;
70
- // Update indices
71
- parent.children.forEach((c, i) => (c.index = i));
72
- },
73
- insertInContainerBefore(container, child, beforeChild) {
74
- const index = container.children.indexOf(beforeChild);
75
- if (index === -1) {
76
- container.children.push(child);
77
- }
78
- else {
79
- container.children.splice(index, 0, child);
80
- }
81
- child.parent = null;
82
- container.children.forEach((c, i) => (c.index = i));
83
- },
84
- removeChild(parent, child) {
85
- const index = parent.children.indexOf(child);
86
- if (index !== -1) {
87
- parent.children.splice(index, 1);
88
- parent.children.forEach((c, i) => (c.index = i));
89
- }
90
- child.parent = null;
91
- },
92
- removeChildFromContainer(container, child) {
93
- const index = container.children.indexOf(child);
94
- if (index !== -1) {
95
- container.children.splice(index, 1);
96
- container.children.forEach((c, i) => (c.index = i));
97
- }
98
- child.parent = null;
99
- },
100
- clearContainer(container) {
101
- container.children.length = 0;
102
- },
103
- // ============================================================
104
- // Context (for nested renderers)
105
- // ============================================================
106
- getRootHostContext(_rootContainer) {
107
- return { renderer: markdownRenderer };
108
- },
109
- getChildHostContext(parentContext, type, _rootContainer) {
110
- // Check if this type switches the renderer
111
- const renderer = RENDERER_COMPONENTS.get(type);
112
- if (renderer) {
113
- return { renderer };
114
- }
115
- return parentContext;
116
- },
117
- // ============================================================
118
- // Updates
119
- // ============================================================
120
- prepareUpdate(_instance, _type, oldProps, newProps, _rootContainer, _hostContext) {
121
- // Simple check: if props changed, return update payload
122
- if (shallowDiffers(oldProps, newProps)) {
123
- return { props: newProps };
124
- }
125
- return null;
126
- },
127
- commitUpdate(instance, updatePayload, _type, _prevProps, _nextProps, _internalHandle) {
128
- instance.props = updatePayload.props;
129
- },
130
- commitTextUpdate() {
131
- // No text instances
132
- },
133
- // ============================================================
134
- // Finalization
135
- // ============================================================
136
- finalizeInitialChildren(_instance, _type, _props, _rootContainer, _hostContext) {
137
- // Return true if we need commitMount to be called
138
- return false;
139
- },
140
- commitMount() {
141
- // Nothing to do
142
- },
143
- prepareForCommit(_containerInfo) {
144
- return null;
145
- },
146
- resetAfterCommit(_containerInfo) {
147
- // Nothing to do
148
- },
149
- // ============================================================
150
- // Misc
151
- // ============================================================
152
- getPublicInstance(instance) {
153
- return instance;
154
- },
155
- preparePortalMount() {
156
- // Portals not supported
157
- },
158
- shouldSetTextContent(_type, _props) {
159
- return false;
160
- },
161
- // ============================================================
162
- // Scheduling
163
- // ============================================================
164
- scheduleTimeout: setTimeout,
165
- cancelTimeout: clearTimeout,
166
- getCurrentEventPriority() {
167
- // Return default priority
168
- return 16; // DefaultEventPriority
169
- },
170
- getInstanceFromNode() {
171
- return null;
172
- },
173
- beforeActiveInstanceBlur() { },
174
- afterActiveInstanceBlur() { },
175
- prepareScopeUpdate() { },
176
- getInstanceFromScope() {
177
- return null;
178
- },
179
- detachDeletedInstance() { },
180
- };
181
- /**
182
- * Shallow comparison of props objects.
183
- */
184
- function shallowDiffers(a, b) {
185
- const aKeys = Object.keys(a);
186
- const bKeys = Object.keys(b);
187
- if (aKeys.length !== bKeys.length)
188
- return true;
189
- for (const key of aKeys) {
190
- if (key === "children")
191
- continue; // Children handled separately
192
- if (a[key] !== b[key])
193
- return true;
194
- }
195
- return false;
196
- }
197
- //# sourceMappingURL=host-config.js.map