zeitlich 0.2.34 → 0.2.35

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 (65) hide show
  1. package/dist/{activities-JOqPfKP0.d.cts → activities-BVI2lTwr.d.ts} +6 -4
  2. package/dist/{activities-WwMsjRwm.d.ts → activities-hd4aNnZE.d.cts} +6 -4
  3. package/dist/adapters/thread/anthropic/index.cjs +7 -2
  4. package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
  5. package/dist/adapters/thread/anthropic/index.d.cts +4 -4
  6. package/dist/adapters/thread/anthropic/index.d.ts +4 -4
  7. package/dist/adapters/thread/anthropic/index.js +7 -2
  8. package/dist/adapters/thread/anthropic/index.js.map +1 -1
  9. package/dist/adapters/thread/anthropic/workflow.d.cts +4 -4
  10. package/dist/adapters/thread/anthropic/workflow.d.ts +4 -4
  11. package/dist/adapters/thread/google-genai/index.cjs +4 -3
  12. package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
  13. package/dist/adapters/thread/google-genai/index.d.cts +4 -4
  14. package/dist/adapters/thread/google-genai/index.d.ts +4 -4
  15. package/dist/adapters/thread/google-genai/index.js +4 -3
  16. package/dist/adapters/thread/google-genai/index.js.map +1 -1
  17. package/dist/adapters/thread/google-genai/workflow.d.cts +4 -4
  18. package/dist/adapters/thread/google-genai/workflow.d.ts +4 -4
  19. package/dist/adapters/thread/langchain/index.cjs +4 -1
  20. package/dist/adapters/thread/langchain/index.cjs.map +1 -1
  21. package/dist/adapters/thread/langchain/index.d.cts +4 -4
  22. package/dist/adapters/thread/langchain/index.d.ts +4 -4
  23. package/dist/adapters/thread/langchain/index.js +4 -1
  24. package/dist/adapters/thread/langchain/index.js.map +1 -1
  25. package/dist/adapters/thread/langchain/workflow.d.cts +4 -4
  26. package/dist/adapters/thread/langchain/workflow.d.ts +4 -4
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.cts +6 -6
  30. package/dist/index.d.ts +6 -6
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/{proxy-BesT2ioL.d.cts → proxy-7RnVaPdJ.d.cts} +1 -1
  34. package/dist/{proxy-Bz6wXYW-.d.ts → proxy-BjdFGPTm.d.ts} +1 -1
  35. package/dist/{thread-manager-DarJIK_b.d.ts → thread-manager-BBzNgQWH.d.cts} +5 -2
  36. package/dist/{thread-manager-Cf_34H8w.d.cts → thread-manager-CbpiGq1L.d.ts} +6 -3
  37. package/dist/{thread-manager-CCVAOK8g.d.cts → thread-manager-DjN5JYul.d.ts} +5 -2
  38. package/dist/{thread-manager-ClKAQx78.d.ts → thread-manager-DzXm9eeI.d.cts} +6 -3
  39. package/dist/{types-BGLW5Zyj.d.ts → types-CADc5V_P.d.ts} +4 -4
  40. package/dist/{types-DlLajQcu.d.cts → types-DQ1l_gXL.d.cts} +4 -4
  41. package/dist/{types-DPAZ3KCs.d.cts → types-Mc_4BCfT.d.cts} +3 -3
  42. package/dist/{types-BVUmLYpj.d.ts → types-yiXmqedU.d.ts} +3 -3
  43. package/dist/{workflow-hocXpLwg.d.cts → workflow-DhtWRovz.d.cts} +1 -1
  44. package/dist/{workflow-_ZGcacCK.d.ts → workflow-P2pTSfKu.d.ts} +1 -1
  45. package/dist/workflow.cjs +1 -1
  46. package/dist/workflow.cjs.map +1 -1
  47. package/dist/workflow.d.cts +2 -2
  48. package/dist/workflow.d.ts +2 -2
  49. package/dist/workflow.js +1 -1
  50. package/dist/workflow.js.map +1 -1
  51. package/package.json +1 -1
  52. package/src/adapters/thread/anthropic/activities.ts +2 -1
  53. package/src/adapters/thread/anthropic/thread-manager.ts +21 -9
  54. package/src/adapters/thread/google-genai/activities.ts +2 -1
  55. package/src/adapters/thread/google-genai/thread-manager.test.ts +1 -1
  56. package/src/adapters/thread/google-genai/thread-manager.ts +15 -7
  57. package/src/adapters/thread/langchain/activities.ts +2 -1
  58. package/src/adapters/thread/langchain/thread-manager.ts +12 -3
  59. package/src/lib/session/session.ts +4 -1
  60. package/src/lib/session/types.ts +5 -2
  61. package/src/lib/state/manager.ts +2 -2
  62. package/src/lib/state/types.ts +2 -2
  63. package/src/lib/thread/types.ts +2 -2
  64. package/src/lib/types.ts +1 -1
  65. package/src/workflow.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import { proxyActivities, ActivityInterfaceFor } from '@temporalio/workflow';
2
- import { T as ThreadOps } from './types-DlLajQcu.cjs';
2
+ import { T as ThreadOps } from './types-DQ1l_gXL.cjs';
3
3
 
4
4
  /**
5
5
  * Shared proxy helper for thread operations.
@@ -1,5 +1,5 @@
1
1
  import { proxyActivities, ActivityInterfaceFor } from '@temporalio/workflow';
2
- import { T as ThreadOps } from './types-BGLW5Zyj.js';
2
+ import { T as ThreadOps } from './types-CADc5V_P.js';
3
3
 
4
4
  /**
5
5
  * Shared proxy helper for thread operations.
@@ -1,9 +1,12 @@
1
1
  import Redis from 'ioredis';
2
+ import { J as JsonValue } from './types-DQ1l_gXL.cjs';
2
3
  import { MessageContent, StoredMessage, BaseMessage } from '@langchain/core/messages';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-BVUmLYpj.js';
4
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-Mc_4BCfT.cjs';
4
5
 
5
6
  /** SDK-native content type for LangChain human messages */
6
7
  type LangChainContent = string | MessageContent;
8
+ /** SDK-native content type for LangChain system messages */
9
+ type LangChainSystemContent = string | MessageContent;
7
10
  type LangChainThreadManagerHooks = ThreadManagerHooks<StoredMessage, BaseMessage>;
8
11
  interface LangChainThreadManagerConfig {
9
12
  redis: Redis;
@@ -17,7 +20,7 @@ interface LangChainInvocationPayload {
17
20
  messages: BaseMessage[];
18
21
  }
19
22
  /** Thread manager with LangChain StoredMessage convenience helpers */
20
- interface LangChainThreadManager extends ProviderThreadManager<StoredMessage, LangChainContent> {
23
+ interface LangChainThreadManager extends ProviderThreadManager<StoredMessage, LangChainContent, JsonValue, LangChainSystemContent> {
21
24
  appendAIMessage(id: string, content: string | MessageContent): Promise<void>;
22
25
  prepareForInvocation(): Promise<LangChainInvocationPayload>;
23
26
  }
@@ -1,9 +1,12 @@
1
1
  import Redis from 'ioredis';
2
2
  import Anthropic from '@anthropic-ai/sdk';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-DPAZ3KCs.cjs';
3
+ import { J as JsonValue } from './types-CADc5V_P.js';
4
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-yiXmqedU.js';
4
5
 
5
6
  /** SDK-native content type for Anthropic human messages */
6
7
  type AnthropicContent = string | Anthropic.Messages.ContentBlockParam[];
8
+ /** SDK-native content type for Anthropic system prompts (supports cache_control blocks) */
9
+ type AnthropicSystemContent = string | Anthropic.Messages.TextBlockParam[];
7
10
  /** A MessageParam with a unique ID for idempotent Redis storage */
8
11
  interface StoredMessage {
9
12
  id: string;
@@ -22,10 +25,10 @@ interface AnthropicThreadManagerConfig {
22
25
  /** Prepared payload ready to send to the Anthropic API */
23
26
  interface AnthropicInvocationPayload {
24
27
  messages: Anthropic.Messages.MessageParam[];
25
- system?: string;
28
+ system?: string | Anthropic.Messages.TextBlockParam[];
26
29
  }
27
30
  /** Thread manager with Anthropic MessageParam convenience helpers */
28
- interface AnthropicThreadManager extends ProviderThreadManager<StoredMessage, AnthropicContent> {
31
+ interface AnthropicThreadManager extends ProviderThreadManager<StoredMessage, AnthropicContent, JsonValue, AnthropicSystemContent> {
29
32
  appendAssistantMessage(id: string, content: Anthropic.Messages.ContentBlock[]): Promise<void>;
30
33
  prepareForInvocation(): Promise<AnthropicInvocationPayload>;
31
34
  }
@@ -1,9 +1,12 @@
1
1
  import Redis from 'ioredis';
2
+ import { J as JsonValue } from './types-CADc5V_P.js';
2
3
  import { MessageContent, StoredMessage, BaseMessage } from '@langchain/core/messages';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-DPAZ3KCs.cjs';
4
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-yiXmqedU.js';
4
5
 
5
6
  /** SDK-native content type for LangChain human messages */
6
7
  type LangChainContent = string | MessageContent;
8
+ /** SDK-native content type for LangChain system messages */
9
+ type LangChainSystemContent = string | MessageContent;
7
10
  type LangChainThreadManagerHooks = ThreadManagerHooks<StoredMessage, BaseMessage>;
8
11
  interface LangChainThreadManagerConfig {
9
12
  redis: Redis;
@@ -17,7 +20,7 @@ interface LangChainInvocationPayload {
17
20
  messages: BaseMessage[];
18
21
  }
19
22
  /** Thread manager with LangChain StoredMessage convenience helpers */
20
- interface LangChainThreadManager extends ProviderThreadManager<StoredMessage, LangChainContent> {
23
+ interface LangChainThreadManager extends ProviderThreadManager<StoredMessage, LangChainContent, JsonValue, LangChainSystemContent> {
21
24
  appendAIMessage(id: string, content: string | MessageContent): Promise<void>;
22
25
  prepareForInvocation(): Promise<LangChainInvocationPayload>;
23
26
  }
@@ -1,9 +1,12 @@
1
1
  import Redis from 'ioredis';
2
2
  import Anthropic from '@anthropic-ai/sdk';
3
- import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-BVUmLYpj.js';
3
+ import { J as JsonValue } from './types-DQ1l_gXL.cjs';
4
+ import { T as ThreadManagerHooks, P as ProviderThreadManager } from './types-Mc_4BCfT.cjs';
4
5
 
5
6
  /** SDK-native content type for Anthropic human messages */
6
7
  type AnthropicContent = string | Anthropic.Messages.ContentBlockParam[];
8
+ /** SDK-native content type for Anthropic system prompts (supports cache_control blocks) */
9
+ type AnthropicSystemContent = string | Anthropic.Messages.TextBlockParam[];
7
10
  /** A MessageParam with a unique ID for idempotent Redis storage */
8
11
  interface StoredMessage {
9
12
  id: string;
@@ -22,10 +25,10 @@ interface AnthropicThreadManagerConfig {
22
25
  /** Prepared payload ready to send to the Anthropic API */
23
26
  interface AnthropicInvocationPayload {
24
27
  messages: Anthropic.Messages.MessageParam[];
25
- system?: string;
28
+ system?: string | Anthropic.Messages.TextBlockParam[];
26
29
  }
27
30
  /** Thread manager with Anthropic MessageParam convenience helpers */
28
- interface AnthropicThreadManager extends ProviderThreadManager<StoredMessage, AnthropicContent> {
31
+ interface AnthropicThreadManager extends ProviderThreadManager<StoredMessage, AnthropicContent, JsonValue, AnthropicSystemContent> {
29
32
  appendAssistantMessage(id: string, content: Anthropic.Messages.ContentBlock[]): Promise<void>;
30
33
  prepareForInvocation(): Promise<AnthropicInvocationPayload>;
31
34
  }
@@ -424,9 +424,9 @@ interface AgentStateManager<TCustom extends JsonSerializable<TCustom>> {
424
424
  /** Get current turns */
425
425
  getTurns(): number;
426
426
  /** Get the system prompt */
427
- getSystemPrompt(): string | undefined;
427
+ getSystemPrompt(): unknown;
428
428
  /** Set the system prompt */
429
- setSystemPrompt(newSystemPrompt: string): void;
429
+ setSystemPrompt(newSystemPrompt: unknown): void;
430
430
  /** Get a custom state value by key */
431
431
  get<K extends keyof TCustom>(key: K): TCustom[K];
432
432
  /** Set a custom state value by key */
@@ -608,7 +608,7 @@ interface BaseAgentState {
608
608
  /** In-memory file contents keyed by path, bypassing the resolver (e.g. skill resources). */
609
609
  inlineFiles?: Record<string, string>;
610
610
  virtualFsCtx?: unknown;
611
- systemPrompt?: string;
611
+ systemPrompt?: unknown;
612
612
  totalInputTokens: number;
613
613
  totalOutputTokens: number;
614
614
  cachedWriteTokens: number;
@@ -1092,7 +1092,7 @@ interface ThreadOps<TContent = string> {
1092
1092
  /** Append the model's response to the thread */
1093
1093
  appendAgentMessage(threadId: string, id: string, message: unknown, threadKey?: string): Promise<void>;
1094
1094
  /** Append a system message to the thread */
1095
- appendSystemMessage(threadId: string, id: string, content: string, threadKey?: string): Promise<void>;
1095
+ appendSystemMessage(threadId: string, id: string, content: unknown, threadKey?: string): Promise<void>;
1096
1096
  /** Copy all messages from sourceThreadId into a new thread at targetThreadId */
1097
1097
  forkThread(sourceThreadId: string, targetThreadId: string, threadKey?: string): Promise<void>;
1098
1098
  }
@@ -424,9 +424,9 @@ interface AgentStateManager<TCustom extends JsonSerializable<TCustom>> {
424
424
  /** Get current turns */
425
425
  getTurns(): number;
426
426
  /** Get the system prompt */
427
- getSystemPrompt(): string | undefined;
427
+ getSystemPrompt(): unknown;
428
428
  /** Set the system prompt */
429
- setSystemPrompt(newSystemPrompt: string): void;
429
+ setSystemPrompt(newSystemPrompt: unknown): void;
430
430
  /** Get a custom state value by key */
431
431
  get<K extends keyof TCustom>(key: K): TCustom[K];
432
432
  /** Set a custom state value by key */
@@ -608,7 +608,7 @@ interface BaseAgentState {
608
608
  /** In-memory file contents keyed by path, bypassing the resolver (e.g. skill resources). */
609
609
  inlineFiles?: Record<string, string>;
610
610
  virtualFsCtx?: unknown;
611
- systemPrompt?: string;
611
+ systemPrompt?: unknown;
612
612
  totalInputTokens: number;
613
613
  totalOutputTokens: number;
614
614
  cachedWriteTokens: number;
@@ -1092,7 +1092,7 @@ interface ThreadOps<TContent = string> {
1092
1092
  /** Append the model's response to the thread */
1093
1093
  appendAgentMessage(threadId: string, id: string, message: unknown, threadKey?: string): Promise<void>;
1094
1094
  /** Append a system message to the thread */
1095
- appendSystemMessage(threadId: string, id: string, content: string, threadKey?: string): Promise<void>;
1095
+ appendSystemMessage(threadId: string, id: string, content: unknown, threadKey?: string): Promise<void>;
1096
1096
  /** Copy all messages from sourceThreadId into a new thread at targetThreadId */
1097
1097
  forkThread(sourceThreadId: string, targetThreadId: string, threadKey?: string): Promise<void>;
1098
1098
  }
@@ -1,5 +1,5 @@
1
1
  import Redis from 'ioredis';
2
- import { J as JsonValue } from './types-DlLajQcu.cjs';
2
+ import { J as JsonValue } from './types-DQ1l_gXL.cjs';
3
3
 
4
4
  interface ThreadManagerConfig<T> {
5
5
  redis: Redis;
@@ -64,9 +64,9 @@ interface ThreadManagerHooks<TStored, TPrepared = TStored> {
64
64
  /** Called for each SDK-native message after all processing, right before the payload is returned */
65
65
  onPreparedMessage?: (message: TPrepared, index: number, messages: readonly TPrepared[]) => TPrepared;
66
66
  }
67
- interface ProviderThreadManager<TStored, TContent = string, TToolContent = JsonValue> extends BaseThreadManager<TStored> {
67
+ interface ProviderThreadManager<TStored, TContent = string, TToolContent = JsonValue, TSystemContent = string> extends BaseThreadManager<TStored> {
68
68
  appendUserMessage(id: string, content: TContent): Promise<void>;
69
- appendSystemMessage(id: string, content: string): Promise<void>;
69
+ appendSystemMessage(id: string, content: TSystemContent): Promise<void>;
70
70
  appendToolResult(id: string, toolCallId: string, toolName: string, content: TToolContent): Promise<void>;
71
71
  }
72
72
 
@@ -1,5 +1,5 @@
1
1
  import Redis from 'ioredis';
2
- import { J as JsonValue } from './types-BGLW5Zyj.js';
2
+ import { J as JsonValue } from './types-CADc5V_P.js';
3
3
 
4
4
  interface ThreadManagerConfig<T> {
5
5
  redis: Redis;
@@ -64,9 +64,9 @@ interface ThreadManagerHooks<TStored, TPrepared = TStored> {
64
64
  /** Called for each SDK-native message after all processing, right before the payload is returned */
65
65
  onPreparedMessage?: (message: TPrepared, index: number, messages: readonly TPrepared[]) => TPrepared;
66
66
  }
67
- interface ProviderThreadManager<TStored, TContent = string, TToolContent = JsonValue> extends BaseThreadManager<TStored> {
67
+ interface ProviderThreadManager<TStored, TContent = string, TToolContent = JsonValue, TSystemContent = string> extends BaseThreadManager<TStored> {
68
68
  appendUserMessage(id: string, content: TContent): Promise<void>;
69
- appendSystemMessage(id: string, content: string): Promise<void>;
69
+ appendSystemMessage(id: string, content: TSystemContent): Promise<void>;
70
70
  appendToolResult(id: string, toolCallId: string, toolName: string, content: TToolContent): Promise<void>;
71
71
  }
72
72
 
@@ -1,4 +1,4 @@
1
- import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-DlLajQcu.cjs';
1
+ import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-DQ1l_gXL.cjs';
2
2
  import { g as SandboxOps } from './types-DxCpFNv_.cjs';
3
3
  import z$1, { z } from 'zod';
4
4
  import { Sinks, proxyActivities } from '@temporalio/workflow';
@@ -1,4 +1,4 @@
1
- import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-BGLW5Zyj.js';
1
+ import { ao as ToolMap, _ as SessionConfig, az as ZeitlichSession, Y as SandboxShutdown, ag as ThreadInit, X as SandboxInit, t as JsonSerializable, B as BaseAgentState, o as AgentStateManager, aB as ToolRouterOptions, ar as ToolRouter, R as RouterContext, J as JsonValue, at as ToolWithHandler, v as ParsedToolCallUnion, ap as ToolNames, a6 as SubagentDefinition, a9 as SubagentHooks, aa as SubagentSandboxConfig, a5 as SubagentConfig, ab as SubagentSandboxShutdown, ac as SubagentSessionInput, a7 as SubagentFnResult, a3 as SessionStartHook, $ as SessionEndHook, D as PostToolUseHook, y as PostToolUseFailureHook, a1 as SessionExitReason, ah as TokenUsage, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, av as VirtualFileTree, j as TreeMutation, r as FileEntry, aw as VirtualFsOps, g as SkillMetadata, h as Skill, b as ToolHandlerResponse, am as ToolHandler, ay as WorkflowTask, c as ActivityToolHandler } from './types-CADc5V_P.js';
2
2
  import { g as SandboxOps } from './types-DxCpFNv_.js';
3
3
  import z$1, { z } from 'zod';
4
4
  import { Sinks, proxyActivities } from '@temporalio/workflow';
package/dist/workflow.cjs CHANGED
@@ -949,7 +949,7 @@ async function createSession({
949
949
  await forkThread(sourceThreadId, threadId, threadKey);
950
950
  } else if (threadMode === "continue") ; else {
951
951
  if (appendSystemPrompt) {
952
- if (!systemPrompt || systemPrompt.trim() === "") {
952
+ if (systemPrompt == null || typeof systemPrompt === "string" && systemPrompt.trim() === "") {
953
953
  throw workflow.ApplicationFailure.create({
954
954
  message: "No system prompt in state",
955
955
  nonRetryable: true