@gammatech/aijsx 0.4.0-beta.6 → 0.4.0-beta.8

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.
@@ -202,12 +202,12 @@ type Logger = {
202
202
  info: (...msg: Loggable[]) => void;
203
203
  debug: (...msg: Loggable[]) => void;
204
204
  logException: (exception: unknown) => void;
205
- chainStart(payload: LogChainStart): void;
206
- chainComplete(payload: LogChainComplete): void;
207
- chainError(payload: LogChainError): void;
208
- promptStart(payload: LogPromptStart): void;
209
- promptComplete(payload: LogPromptComplete): void;
210
- promptError(payload: LogPromptError): void;
205
+ chainStart(chain: FunctionChain | StreamChain, payload: LogChainStart): void;
206
+ chainComplete(chain: FunctionChain | StreamChain, payload: LogChainComplete): void;
207
+ chainError(chain: FunctionChain | StreamChain, payload: LogChainError): void;
208
+ promptStart(prompt: Prompt, payload: LogPromptStart): void;
209
+ promptComplete(prompt: Prompt, payload: LogPromptComplete): void;
210
+ promptError(prompt: Prompt, payload: LogPromptError): void;
211
211
  chatCompletionRequest: <K extends keyof ChatCompletionRequestPayloads>(provider: K, payload: LogChatCompletionRequest<ChatCompletionRequestPayloads[K]>) => void;
212
212
  chatCompletionResponse: <K extends keyof ChatCompletionRequestPayloads>(provider: K, payload: LogChatCompletionResponse<ChatCompletionRequestPayloads[K]>) => void;
213
213
  };
@@ -223,12 +223,12 @@ declare abstract class LogImplementation {
223
223
  * Logs exceptions thrown during an element's render.
224
224
  */
225
225
  logException(ctx: RenderTraceInfo, exception: unknown): void;
226
- chainStart(_ctx: RenderTraceInfo, _payload: LogChainStart): void;
227
- chainComplete(_ctx: RenderTraceInfo, _payload: LogChainComplete): void;
228
- chainError(_ctx: RenderTraceInfo, _payload: LogChainError): void;
229
- promptStart(_ctx: RenderTraceInfo, _payload: LogPromptStart): void;
230
- promptComplete(_ctx: RenderTraceInfo, _payload: LogPromptComplete): void;
231
- promptError(_ctx: RenderTraceInfo, _payload: LogPromptError): void;
226
+ chainStart(_ctx: RenderTraceInfo, _chain: FunctionChain | StreamChain, _payload: LogChainStart): void;
227
+ chainComplete(_ctx: RenderTraceInfo, _chain: FunctionChain | StreamChain, _payload: LogChainComplete): void;
228
+ chainError(_ctx: RenderTraceInfo, _chain: FunctionChain | StreamChain, _payload: LogChainError): void;
229
+ promptStart(_ctx: RenderTraceInfo, _prompt: Prompt, _payload: LogPromptStart): void;
230
+ promptComplete(_ctx: RenderTraceInfo, _prompt: Prompt, _payload: LogPromptComplete): void;
231
+ promptError(_ctx: RenderTraceInfo, _prompt: Prompt, _payload: LogPromptError): void;
232
232
  chatCompletionRequest<K extends keyof ChatCompletionRequestPayloads>(_ctx: RenderTraceInfo, _provider: K, _payload: LogChatCompletionRequest<ChatCompletionRequestPayloads[K]>): void;
233
233
  chatCompletionResponse<K extends keyof ChatCompletionRequestPayloads>(_ctx: RenderTraceInfo, _provider: K, _payload: LogChatCompletionResponse<ChatCompletionRequestPayloads[K]>): void;
234
234
  }
@@ -236,12 +236,12 @@ declare class BoundLogger implements Logger {
236
236
  private readonly impl;
237
237
  private readonly ctx;
238
238
  constructor(impl: LogImplementation, ctx: RenderTraceInfo);
239
- chainStart(payload: LogChainStart): void;
240
- chainComplete(payload: LogChainComplete): void;
241
- chainError(payload: LogChainError): void;
242
- promptStart(payload: LogPromptStart): void;
243
- promptComplete(payload: LogPromptComplete): void;
244
- promptError(payload: LogPromptError): void;
239
+ chainStart(chain: FunctionChain | StreamChain, payload: LogChainStart): void;
240
+ chainComplete(chain: FunctionChain | StreamChain, payload: LogChainComplete): void;
241
+ chainError(chain: FunctionChain | StreamChain, payload: LogChainError): void;
242
+ promptStart(prompt: Prompt, payload: LogPromptStart): void;
243
+ promptComplete(prompt: Prompt, payload: LogPromptComplete): void;
244
+ promptError(prompt: Prompt, payload: LogPromptError): void;
245
245
  private formatMessage;
246
246
  error: (...msgs: Loggable[]) => void;
247
247
  warn: (...msgs: Loggable[]) => void;
@@ -202,12 +202,12 @@ type Logger = {
202
202
  info: (...msg: Loggable[]) => void;
203
203
  debug: (...msg: Loggable[]) => void;
204
204
  logException: (exception: unknown) => void;
205
- chainStart(payload: LogChainStart): void;
206
- chainComplete(payload: LogChainComplete): void;
207
- chainError(payload: LogChainError): void;
208
- promptStart(payload: LogPromptStart): void;
209
- promptComplete(payload: LogPromptComplete): void;
210
- promptError(payload: LogPromptError): void;
205
+ chainStart(chain: FunctionChain | StreamChain, payload: LogChainStart): void;
206
+ chainComplete(chain: FunctionChain | StreamChain, payload: LogChainComplete): void;
207
+ chainError(chain: FunctionChain | StreamChain, payload: LogChainError): void;
208
+ promptStart(prompt: Prompt, payload: LogPromptStart): void;
209
+ promptComplete(prompt: Prompt, payload: LogPromptComplete): void;
210
+ promptError(prompt: Prompt, payload: LogPromptError): void;
211
211
  chatCompletionRequest: <K extends keyof ChatCompletionRequestPayloads>(provider: K, payload: LogChatCompletionRequest<ChatCompletionRequestPayloads[K]>) => void;
212
212
  chatCompletionResponse: <K extends keyof ChatCompletionRequestPayloads>(provider: K, payload: LogChatCompletionResponse<ChatCompletionRequestPayloads[K]>) => void;
213
213
  };
@@ -223,12 +223,12 @@ declare abstract class LogImplementation {
223
223
  * Logs exceptions thrown during an element's render.
224
224
  */
225
225
  logException(ctx: RenderTraceInfo, exception: unknown): void;
226
- chainStart(_ctx: RenderTraceInfo, _payload: LogChainStart): void;
227
- chainComplete(_ctx: RenderTraceInfo, _payload: LogChainComplete): void;
228
- chainError(_ctx: RenderTraceInfo, _payload: LogChainError): void;
229
- promptStart(_ctx: RenderTraceInfo, _payload: LogPromptStart): void;
230
- promptComplete(_ctx: RenderTraceInfo, _payload: LogPromptComplete): void;
231
- promptError(_ctx: RenderTraceInfo, _payload: LogPromptError): void;
226
+ chainStart(_ctx: RenderTraceInfo, _chain: FunctionChain | StreamChain, _payload: LogChainStart): void;
227
+ chainComplete(_ctx: RenderTraceInfo, _chain: FunctionChain | StreamChain, _payload: LogChainComplete): void;
228
+ chainError(_ctx: RenderTraceInfo, _chain: FunctionChain | StreamChain, _payload: LogChainError): void;
229
+ promptStart(_ctx: RenderTraceInfo, _prompt: Prompt, _payload: LogPromptStart): void;
230
+ promptComplete(_ctx: RenderTraceInfo, _prompt: Prompt, _payload: LogPromptComplete): void;
231
+ promptError(_ctx: RenderTraceInfo, _prompt: Prompt, _payload: LogPromptError): void;
232
232
  chatCompletionRequest<K extends keyof ChatCompletionRequestPayloads>(_ctx: RenderTraceInfo, _provider: K, _payload: LogChatCompletionRequest<ChatCompletionRequestPayloads[K]>): void;
233
233
  chatCompletionResponse<K extends keyof ChatCompletionRequestPayloads>(_ctx: RenderTraceInfo, _provider: K, _payload: LogChatCompletionResponse<ChatCompletionRequestPayloads[K]>): void;
234
234
  }
@@ -236,12 +236,12 @@ declare class BoundLogger implements Logger {
236
236
  private readonly impl;
237
237
  private readonly ctx;
238
238
  constructor(impl: LogImplementation, ctx: RenderTraceInfo);
239
- chainStart(payload: LogChainStart): void;
240
- chainComplete(payload: LogChainComplete): void;
241
- chainError(payload: LogChainError): void;
242
- promptStart(payload: LogPromptStart): void;
243
- promptComplete(payload: LogPromptComplete): void;
244
- promptError(payload: LogPromptError): void;
239
+ chainStart(chain: FunctionChain | StreamChain, payload: LogChainStart): void;
240
+ chainComplete(chain: FunctionChain | StreamChain, payload: LogChainComplete): void;
241
+ chainError(chain: FunctionChain | StreamChain, payload: LogChainError): void;
242
+ promptStart(prompt: Prompt, payload: LogPromptStart): void;
243
+ promptComplete(prompt: Prompt, payload: LogPromptComplete): void;
244
+ promptError(prompt: Prompt, payload: LogPromptError): void;
245
245
  private formatMessage;
246
246
  error: (...msgs: Loggable[]) => void;
247
247
  warn: (...msgs: Loggable[]) => void;
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RenderContext, L as LogImplementation, C as ContextValues, A as AIComponent, E as EvaluatorFn, P as PromptParsed, a as Prompt, N as NotAsyncGenerator, F as FunctionChain, S as StreamChain, b as EvaluatorResult, c as Context, d as AINode } from './createElement-M3MXUt8O.mjs';
2
- export { Q as AIElement, f as AIFragment, l as AssistantMessage, D as BoundLogger, o as ChatCompletionError, v as ChatCompletionRequestPayloads, j as ChatCompletionRole, I as CombinedLogger, H as ConsoleLogger, J as Literal, q as LogChainComplete, r as LogChainError, p as LogChainStart, w as LogChatCompletionRequest, x as LogChatCompletionResponse, z as LogContext, y as LogLevel, t as LogPromptComplete, u as LogPromptError, s as LogPromptStart, B as Logger, g as LoggerContext, G as NoopLogImplementation, W as OutputParser, X as PromptRenderResult, V as PropsOfAIComponent, M as RenderResult, i as RenderTraceInfo, T as Renderable, K as RenderableStream, m as RenderedConversationMessage, k as SystemMessage, U as UserMessage, O as attachedContextSymbol, n as computeUsage, e as createAIElement, h as createContext } from './createElement-M3MXUt8O.mjs';
1
+ import { R as RenderContext, L as LogImplementation, C as ContextValues, A as AIComponent, E as EvaluatorFn, P as PromptParsed, a as Prompt, N as NotAsyncGenerator, F as FunctionChain, S as StreamChain, b as EvaluatorResult, c as Context, d as AINode } from './createElement-VpIrgHrz.mjs';
2
+ export { Q as AIElement, f as AIFragment, l as AssistantMessage, D as BoundLogger, o as ChatCompletionError, v as ChatCompletionRequestPayloads, j as ChatCompletionRole, I as CombinedLogger, H as ConsoleLogger, J as Literal, q as LogChainComplete, r as LogChainError, p as LogChainStart, w as LogChatCompletionRequest, x as LogChatCompletionResponse, z as LogContext, y as LogLevel, t as LogPromptComplete, u as LogPromptError, s as LogPromptStart, B as Logger, g as LoggerContext, G as NoopLogImplementation, W as OutputParser, X as PromptRenderResult, V as PropsOfAIComponent, M as RenderResult, i as RenderTraceInfo, T as Renderable, K as RenderableStream, m as RenderedConversationMessage, k as SystemMessage, U as UserMessage, O as attachedContextSymbol, n as computeUsage, e as createAIElement, h as createContext } from './createElement-VpIrgHrz.mjs';
3
3
  import { ZodObject, ZodRawShape, ZodTypeAny, ZodString, z } from 'zod';
4
4
  import { OpenAI } from 'openai';
5
5
  export { OpenAI as OpenAIClient } from 'openai';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RenderContext, L as LogImplementation, C as ContextValues, A as AIComponent, E as EvaluatorFn, P as PromptParsed, a as Prompt, N as NotAsyncGenerator, F as FunctionChain, S as StreamChain, b as EvaluatorResult, c as Context, d as AINode } from './createElement-M3MXUt8O.js';
2
- export { Q as AIElement, f as AIFragment, l as AssistantMessage, D as BoundLogger, o as ChatCompletionError, v as ChatCompletionRequestPayloads, j as ChatCompletionRole, I as CombinedLogger, H as ConsoleLogger, J as Literal, q as LogChainComplete, r as LogChainError, p as LogChainStart, w as LogChatCompletionRequest, x as LogChatCompletionResponse, z as LogContext, y as LogLevel, t as LogPromptComplete, u as LogPromptError, s as LogPromptStart, B as Logger, g as LoggerContext, G as NoopLogImplementation, W as OutputParser, X as PromptRenderResult, V as PropsOfAIComponent, M as RenderResult, i as RenderTraceInfo, T as Renderable, K as RenderableStream, m as RenderedConversationMessage, k as SystemMessage, U as UserMessage, O as attachedContextSymbol, n as computeUsage, e as createAIElement, h as createContext } from './createElement-M3MXUt8O.js';
1
+ import { R as RenderContext, L as LogImplementation, C as ContextValues, A as AIComponent, E as EvaluatorFn, P as PromptParsed, a as Prompt, N as NotAsyncGenerator, F as FunctionChain, S as StreamChain, b as EvaluatorResult, c as Context, d as AINode } from './createElement-VpIrgHrz.js';
2
+ export { Q as AIElement, f as AIFragment, l as AssistantMessage, D as BoundLogger, o as ChatCompletionError, v as ChatCompletionRequestPayloads, j as ChatCompletionRole, I as CombinedLogger, H as ConsoleLogger, J as Literal, q as LogChainComplete, r as LogChainError, p as LogChainStart, w as LogChatCompletionRequest, x as LogChatCompletionResponse, z as LogContext, y as LogLevel, t as LogPromptComplete, u as LogPromptError, s as LogPromptStart, B as Logger, g as LoggerContext, G as NoopLogImplementation, W as OutputParser, X as PromptRenderResult, V as PropsOfAIComponent, M as RenderResult, i as RenderTraceInfo, T as Renderable, K as RenderableStream, m as RenderedConversationMessage, k as SystemMessage, U as UserMessage, O as attachedContextSymbol, n as computeUsage, e as createAIElement, h as createContext } from './createElement-VpIrgHrz.js';
3
3
  import { ZodObject, ZodRawShape, ZodTypeAny, ZodString, z } from 'zod';
4
4
  import { OpenAI } from 'openai';
5
5
  export { OpenAI as OpenAIClient } from 'openai';
package/dist/index.js CHANGED
@@ -321,17 +321,17 @@ var LogImplementation = class {
321
321
  `Rendering ${ctx.renderType} ${displayKey} failed with exception: ${exception}`
322
322
  );
323
323
  }
324
- chainStart(_ctx, _payload) {
324
+ chainStart(_ctx, _chain, _payload) {
325
325
  }
326
- chainComplete(_ctx, _payload) {
326
+ chainComplete(_ctx, _chain, _payload) {
327
327
  }
328
- chainError(_ctx, _payload) {
328
+ chainError(_ctx, _chain, _payload) {
329
329
  }
330
- promptStart(_ctx, _payload) {
330
+ promptStart(_ctx, _prompt, _payload) {
331
331
  }
332
- promptComplete(_ctx, _payload) {
332
+ promptComplete(_ctx, _prompt, _payload) {
333
333
  }
334
- promptError(_ctx, _payload) {
334
+ promptError(_ctx, _prompt, _payload) {
335
335
  }
336
336
  chatCompletionRequest(_ctx, _provider, _payload) {
337
337
  }
@@ -343,23 +343,23 @@ var BoundLogger = class {
343
343
  this.impl = impl;
344
344
  this.ctx = ctx;
345
345
  }
346
- chainStart(payload) {
347
- this.impl.chainStart(this.ctx, payload);
346
+ chainStart(chain, payload) {
347
+ this.impl.chainStart(this.ctx, chain, payload);
348
348
  }
349
- chainComplete(payload) {
350
- this.impl.chainComplete(this.ctx, payload);
349
+ chainComplete(chain, payload) {
350
+ this.impl.chainComplete(this.ctx, chain, payload);
351
351
  }
352
- chainError(payload) {
353
- this.impl.chainError(this.ctx, payload);
352
+ chainError(chain, payload) {
353
+ this.impl.chainError(this.ctx, chain, payload);
354
354
  }
355
- promptStart(payload) {
356
- this.impl.promptStart(this.ctx, payload);
355
+ promptStart(prompt, payload) {
356
+ this.impl.promptStart(this.ctx, prompt, payload);
357
357
  }
358
- promptComplete(payload) {
359
- this.impl.promptComplete(this.ctx, payload);
358
+ promptComplete(prompt, payload) {
359
+ this.impl.promptComplete(this.ctx, prompt, payload);
360
360
  }
361
- promptError(payload) {
362
- this.impl.promptError(this.ctx, payload);
361
+ promptError(prompt, payload) {
362
+ this.impl.promptError(this.ctx, prompt, payload);
363
363
  }
364
364
  formatMessage = (...msgs) => msgs.map((m) => {
365
365
  if (typeof m === "string") {
@@ -543,7 +543,7 @@ var GeneratorRenderResult = class {
543
543
  }
544
544
  then(onFulfilled, onRejected) {
545
545
  if (!this.accumPromise) {
546
- this.accumPromise = accumResults(this.generator);
546
+ this.accumPromise = accumResults(this);
547
547
  }
548
548
  return this.accumPromise.then(onFulfilled, onRejected);
549
549
  }
@@ -556,7 +556,14 @@ var AccumulatedRenderResult = class extends GeneratorRenderResult {
556
556
  }
557
557
  accumulated = "";
558
558
  async next(...args) {
559
- const { value, done } = await this.generator.next(...args);
559
+ let ret;
560
+ try {
561
+ ret = await this.generator.next(...args);
562
+ } catch (e) {
563
+ this.cbs.onError(e);
564
+ throw e;
565
+ }
566
+ const { done, value } = ret;
560
567
  if (done) {
561
568
  this.cbs.onDone(this.accumulated);
562
569
  }
@@ -806,7 +813,7 @@ var StreamRenderContext = class _StreamRenderContext {
806
813
  renderPrompt(prompt, variables) {
807
814
  const startTime = (/* @__PURE__ */ new Date()).toISOString();
808
815
  const startTimestamp = performance.now();
809
- this.logger.promptStart({
816
+ this.logger.promptStart(prompt, {
810
817
  promptKey: prompt.key,
811
818
  startTime,
812
819
  variables
@@ -815,7 +822,7 @@ var StreamRenderContext = class _StreamRenderContext {
815
822
  const parsedVariables = parseVariables(schema, variables);
816
823
  if (!parsedVariables.success) {
817
824
  const error = new ParseVariablesError(parsedVariables.errors);
818
- this.logger.promptError({
825
+ this.logger.promptError(prompt, {
819
826
  promptKey: prompt.key,
820
827
  variables,
821
828
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -827,7 +834,7 @@ var StreamRenderContext = class _StreamRenderContext {
827
834
  }
828
835
  const varsToUse = parsedVariables.result;
829
836
  const logComplete = (output) => {
830
- this.logger.promptComplete({
837
+ this.logger.promptComplete(prompt, {
831
838
  promptKey: prompt.key,
832
839
  variables,
833
840
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -838,7 +845,7 @@ var StreamRenderContext = class _StreamRenderContext {
838
845
  return output;
839
846
  };
840
847
  const logError = (error) => {
841
- this.logger.promptError({
848
+ this.logger.promptError(prompt, {
842
849
  promptKey: prompt.key,
843
850
  variables,
844
851
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -861,7 +868,7 @@ var StreamRenderContext = class _StreamRenderContext {
861
868
  const { validateOutput } = options;
862
869
  const startTime = (/* @__PURE__ */ new Date()).toISOString();
863
870
  const startTimestamp = performance.now();
864
- this.logger.promptStart({
871
+ this.logger.promptStart(prompt, {
865
872
  promptKey: prompt.key,
866
873
  startTime,
867
874
  variables
@@ -870,7 +877,7 @@ var StreamRenderContext = class _StreamRenderContext {
870
877
  const parsedVariables = parseVariables(schema, variables);
871
878
  if (!parsedVariables.success) {
872
879
  const error = new ParseVariablesError(parsedVariables.errors);
873
- this.logger.promptError({
880
+ this.logger.promptError(prompt, {
874
881
  promptKey: prompt.key,
875
882
  variables,
876
883
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -898,7 +905,7 @@ var StreamRenderContext = class _StreamRenderContext {
898
905
  throw new PromptInvalidOutputError("Invalid output: " + errors);
899
906
  }
900
907
  }
901
- this.logger.promptComplete({
908
+ this.logger.promptComplete(prompt, {
902
909
  promptKey: prompt.key,
903
910
  variables,
904
911
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -908,7 +915,7 @@ var StreamRenderContext = class _StreamRenderContext {
908
915
  });
909
916
  return parsedOutput;
910
917
  } catch (error) {
911
- this.logger.promptError({
918
+ this.logger.promptError(prompt, {
912
919
  promptKey: prompt.key,
913
920
  variables,
914
921
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -922,7 +929,7 @@ var StreamRenderContext = class _StreamRenderContext {
922
929
  runChain(chain, variables) {
923
930
  const startTime = (/* @__PURE__ */ new Date()).toISOString();
924
931
  const startTimestamp = performance.now();
925
- this.logger.chainStart({
932
+ this.logger.chainStart(chain, {
926
933
  chainKey: chain.key,
927
934
  chainType: chain.chainType,
928
935
  startTime,
@@ -932,7 +939,7 @@ var StreamRenderContext = class _StreamRenderContext {
932
939
  const parsedVariables = parseVariables(schema, variables);
933
940
  if (!parsedVariables.success) {
934
941
  const error = new ParseVariablesError(parsedVariables.errors);
935
- this.logger.chainError({
942
+ this.logger.chainError(chain, {
936
943
  chainKey: chain.key,
937
944
  chainType: chain.chainType,
938
945
  variables,
@@ -945,7 +952,7 @@ var StreamRenderContext = class _StreamRenderContext {
945
952
  }
946
953
  if (chain.chainType === "function") {
947
954
  const onChainComplete = (output) => {
948
- this.logger.chainComplete({
955
+ this.logger.chainComplete(chain, {
949
956
  chainKey: chain.key,
950
957
  chainType: chain.chainType,
951
958
  variables,
@@ -956,7 +963,7 @@ var StreamRenderContext = class _StreamRenderContext {
956
963
  });
957
964
  };
958
965
  const onChainError = (error) => {
959
- this.logger.chainError({
966
+ this.logger.chainError(chain, {
960
967
  chainKey: chain.key,
961
968
  chainType: chain.chainType,
962
969
  variables,
@@ -985,7 +992,7 @@ var StreamRenderContext = class _StreamRenderContext {
985
992
  const stream = chain.run(parsedVariables.result, this);
986
993
  return stream;
987
994
  } catch (error) {
988
- this.logger.chainError({
995
+ this.logger.chainError(chain, {
989
996
  chainKey: chain.key,
990
997
  chainType: chain.chainType,
991
998
  variables,
package/dist/index.mjs CHANGED
@@ -231,17 +231,17 @@ var LogImplementation = class {
231
231
  `Rendering ${ctx.renderType} ${displayKey} failed with exception: ${exception}`
232
232
  );
233
233
  }
234
- chainStart(_ctx, _payload) {
234
+ chainStart(_ctx, _chain, _payload) {
235
235
  }
236
- chainComplete(_ctx, _payload) {
236
+ chainComplete(_ctx, _chain, _payload) {
237
237
  }
238
- chainError(_ctx, _payload) {
238
+ chainError(_ctx, _chain, _payload) {
239
239
  }
240
- promptStart(_ctx, _payload) {
240
+ promptStart(_ctx, _prompt, _payload) {
241
241
  }
242
- promptComplete(_ctx, _payload) {
242
+ promptComplete(_ctx, _prompt, _payload) {
243
243
  }
244
- promptError(_ctx, _payload) {
244
+ promptError(_ctx, _prompt, _payload) {
245
245
  }
246
246
  chatCompletionRequest(_ctx, _provider, _payload) {
247
247
  }
@@ -253,23 +253,23 @@ var BoundLogger = class {
253
253
  this.impl = impl;
254
254
  this.ctx = ctx;
255
255
  }
256
- chainStart(payload) {
257
- this.impl.chainStart(this.ctx, payload);
256
+ chainStart(chain, payload) {
257
+ this.impl.chainStart(this.ctx, chain, payload);
258
258
  }
259
- chainComplete(payload) {
260
- this.impl.chainComplete(this.ctx, payload);
259
+ chainComplete(chain, payload) {
260
+ this.impl.chainComplete(this.ctx, chain, payload);
261
261
  }
262
- chainError(payload) {
263
- this.impl.chainError(this.ctx, payload);
262
+ chainError(chain, payload) {
263
+ this.impl.chainError(this.ctx, chain, payload);
264
264
  }
265
- promptStart(payload) {
266
- this.impl.promptStart(this.ctx, payload);
265
+ promptStart(prompt, payload) {
266
+ this.impl.promptStart(this.ctx, prompt, payload);
267
267
  }
268
- promptComplete(payload) {
269
- this.impl.promptComplete(this.ctx, payload);
268
+ promptComplete(prompt, payload) {
269
+ this.impl.promptComplete(this.ctx, prompt, payload);
270
270
  }
271
- promptError(payload) {
272
- this.impl.promptError(this.ctx, payload);
271
+ promptError(prompt, payload) {
272
+ this.impl.promptError(this.ctx, prompt, payload);
273
273
  }
274
274
  formatMessage = (...msgs) => msgs.map((m) => {
275
275
  if (typeof m === "string") {
@@ -453,7 +453,7 @@ var GeneratorRenderResult = class {
453
453
  }
454
454
  then(onFulfilled, onRejected) {
455
455
  if (!this.accumPromise) {
456
- this.accumPromise = accumResults(this.generator);
456
+ this.accumPromise = accumResults(this);
457
457
  }
458
458
  return this.accumPromise.then(onFulfilled, onRejected);
459
459
  }
@@ -466,7 +466,14 @@ var AccumulatedRenderResult = class extends GeneratorRenderResult {
466
466
  }
467
467
  accumulated = "";
468
468
  async next(...args) {
469
- const { value, done } = await this.generator.next(...args);
469
+ let ret;
470
+ try {
471
+ ret = await this.generator.next(...args);
472
+ } catch (e) {
473
+ this.cbs.onError(e);
474
+ throw e;
475
+ }
476
+ const { done, value } = ret;
470
477
  if (done) {
471
478
  this.cbs.onDone(this.accumulated);
472
479
  }
@@ -709,7 +716,7 @@ var StreamRenderContext = class _StreamRenderContext {
709
716
  renderPrompt(prompt, variables) {
710
717
  const startTime = (/* @__PURE__ */ new Date()).toISOString();
711
718
  const startTimestamp = performance.now();
712
- this.logger.promptStart({
719
+ this.logger.promptStart(prompt, {
713
720
  promptKey: prompt.key,
714
721
  startTime,
715
722
  variables
@@ -718,7 +725,7 @@ var StreamRenderContext = class _StreamRenderContext {
718
725
  const parsedVariables = parseVariables(schema, variables);
719
726
  if (!parsedVariables.success) {
720
727
  const error = new ParseVariablesError(parsedVariables.errors);
721
- this.logger.promptError({
728
+ this.logger.promptError(prompt, {
722
729
  promptKey: prompt.key,
723
730
  variables,
724
731
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -730,7 +737,7 @@ var StreamRenderContext = class _StreamRenderContext {
730
737
  }
731
738
  const varsToUse = parsedVariables.result;
732
739
  const logComplete = (output) => {
733
- this.logger.promptComplete({
740
+ this.logger.promptComplete(prompt, {
734
741
  promptKey: prompt.key,
735
742
  variables,
736
743
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -741,7 +748,7 @@ var StreamRenderContext = class _StreamRenderContext {
741
748
  return output;
742
749
  };
743
750
  const logError = (error) => {
744
- this.logger.promptError({
751
+ this.logger.promptError(prompt, {
745
752
  promptKey: prompt.key,
746
753
  variables,
747
754
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -764,7 +771,7 @@ var StreamRenderContext = class _StreamRenderContext {
764
771
  const { validateOutput } = options;
765
772
  const startTime = (/* @__PURE__ */ new Date()).toISOString();
766
773
  const startTimestamp = performance.now();
767
- this.logger.promptStart({
774
+ this.logger.promptStart(prompt, {
768
775
  promptKey: prompt.key,
769
776
  startTime,
770
777
  variables
@@ -773,7 +780,7 @@ var StreamRenderContext = class _StreamRenderContext {
773
780
  const parsedVariables = parseVariables(schema, variables);
774
781
  if (!parsedVariables.success) {
775
782
  const error = new ParseVariablesError(parsedVariables.errors);
776
- this.logger.promptError({
783
+ this.logger.promptError(prompt, {
777
784
  promptKey: prompt.key,
778
785
  variables,
779
786
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -801,7 +808,7 @@ var StreamRenderContext = class _StreamRenderContext {
801
808
  throw new PromptInvalidOutputError("Invalid output: " + errors);
802
809
  }
803
810
  }
804
- this.logger.promptComplete({
811
+ this.logger.promptComplete(prompt, {
805
812
  promptKey: prompt.key,
806
813
  variables,
807
814
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -811,7 +818,7 @@ var StreamRenderContext = class _StreamRenderContext {
811
818
  });
812
819
  return parsedOutput;
813
820
  } catch (error) {
814
- this.logger.promptError({
821
+ this.logger.promptError(prompt, {
815
822
  promptKey: prompt.key,
816
823
  variables,
817
824
  endTime: (/* @__PURE__ */ new Date()).toISOString(),
@@ -825,7 +832,7 @@ var StreamRenderContext = class _StreamRenderContext {
825
832
  runChain(chain, variables) {
826
833
  const startTime = (/* @__PURE__ */ new Date()).toISOString();
827
834
  const startTimestamp = performance.now();
828
- this.logger.chainStart({
835
+ this.logger.chainStart(chain, {
829
836
  chainKey: chain.key,
830
837
  chainType: chain.chainType,
831
838
  startTime,
@@ -835,7 +842,7 @@ var StreamRenderContext = class _StreamRenderContext {
835
842
  const parsedVariables = parseVariables(schema, variables);
836
843
  if (!parsedVariables.success) {
837
844
  const error = new ParseVariablesError(parsedVariables.errors);
838
- this.logger.chainError({
845
+ this.logger.chainError(chain, {
839
846
  chainKey: chain.key,
840
847
  chainType: chain.chainType,
841
848
  variables,
@@ -848,7 +855,7 @@ var StreamRenderContext = class _StreamRenderContext {
848
855
  }
849
856
  if (chain.chainType === "function") {
850
857
  const onChainComplete = (output) => {
851
- this.logger.chainComplete({
858
+ this.logger.chainComplete(chain, {
852
859
  chainKey: chain.key,
853
860
  chainType: chain.chainType,
854
861
  variables,
@@ -859,7 +866,7 @@ var StreamRenderContext = class _StreamRenderContext {
859
866
  });
860
867
  };
861
868
  const onChainError = (error) => {
862
- this.logger.chainError({
869
+ this.logger.chainError(chain, {
863
870
  chainKey: chain.key,
864
871
  chainType: chain.chainType,
865
872
  variables,
@@ -888,7 +895,7 @@ var StreamRenderContext = class _StreamRenderContext {
888
895
  const stream = chain.run(parsedVariables.result, this);
889
896
  return stream;
890
897
  } catch (error) {
891
- this.logger.chainError({
898
+ this.logger.chainError(chain, {
892
899
  chainKey: chain.key,
893
900
  chainType: chain.chainType,
894
901
  variables,
@@ -1,3 +1,3 @@
1
1
  export { Fragment, JSX, jsx, jsxDEV, jsxs } from './jsx-runtime.mjs';
2
- import './createElement-M3MXUt8O.mjs';
2
+ import './createElement-VpIrgHrz.mjs';
3
3
  import 'zod';
@@ -1,3 +1,3 @@
1
1
  export { Fragment, JSX, jsx, jsxDEV, jsxs } from './jsx-runtime.js';
2
- import './createElement-M3MXUt8O.js';
2
+ import './createElement-VpIrgHrz.js';
3
3
  import 'zod';
@@ -1,4 +1,4 @@
1
- import { A as AIComponent, Q as AIElement, f as AIFragment } from './createElement-M3MXUt8O.mjs';
1
+ import { A as AIComponent, Q as AIElement, f as AIFragment } from './createElement-VpIrgHrz.mjs';
2
2
  import 'zod';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { A as AIComponent, Q as AIElement, f as AIFragment } from './createElement-M3MXUt8O.js';
1
+ import { A as AIComponent, Q as AIElement, f as AIFragment } from './createElement-VpIrgHrz.js';
2
2
  import 'zod';
3
3
 
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gammatech/aijsx",
3
- "version": "0.4.0-beta.6",
3
+ "version": "0.4.0-beta.8",
4
4
  "description": "Rewrite of aijsx",
5
5
  "author": "Jordan Garcia",
6
6
  "license": "MIT",