@nuvin/agent-core 0.0.0-rc.3 → 0.0.0-rc.5

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.
package/dist/VERSION CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "0.0.0-rc.3",
3
- "commit": "68e0e18"
2
+ "version": "0.0.0-rc.5",
3
+ "commit": "de6d34d"
4
4
  }
@@ -1,528 +1,31 @@
1
- // Generated by dts-bundle-generator v9.5.1
1
+ import { R as RunTurnDeps, M as Message, A as AgentOptions, a as AgentInput, b as AgentSendOptions, T as TurnResult, E as ExtensionRegistry, c as TurnInput } from '../types-QPBW5jHO.js';
2
+ export { d as TurnState } from '../types-QPBW5jHO.js';
2
3
 
3
- export type JsonPrimitive = boolean | number | string | null;
4
- export interface JsonObject {
5
- [key: string]: JsonValue;
4
+ declare class Agent {
5
+ private _systemPrompt;
6
+ readonly deps: RunTurnDeps;
7
+ sessionId: string;
8
+ messages: Message[];
9
+ readonly defaultMessage?: Message;
10
+ turnIndex: number;
11
+ constructor(options?: AgentOptions);
12
+ get systemPrompt(): string;
13
+ setTools(tools?: AgentOptions["tools"]): void;
14
+ setSystemPrompt(systemPrompt: string, options?: {
15
+ resetMessages?: boolean;
16
+ }): void;
17
+ setSessionId(sessionId: string): void;
18
+ /**
19
+ * Replace the chat model used for subsequent turns. Existing conversation
20
+ * state is preserved; the next call to {@link send} uses the new model.
21
+ * Useful for runtime model switching (e.g. via a `/model` slash command).
22
+ */
23
+ setChatModel(chatModel: RunTurnDeps["chatModel"]): void;
24
+ send(input?: AgentInput | undefined, options?: AgentSendOptions): Promise<TurnResult>;
6
25
  }
7
- export type JsonValue = JsonObject | JsonPrimitive | JsonValue[];
8
- export interface JsonSchemaString {
9
- type: "string";
10
- }
11
- export interface JsonSchemaNumber {
12
- type: "number";
13
- }
14
- export interface JsonSchemaBoolean {
15
- type: "boolean";
16
- }
17
- export interface JsonSchemaArray<TItem extends JsonSchema = JsonSchema> {
18
- type: "array";
19
- items: TItem;
20
- }
21
- export interface JsonSchemaObject<TProperties extends Record<string, JsonSchema> = Record<string, JsonSchema>, TRequired extends readonly string[] | undefined = readonly string[] | undefined> {
22
- type: "object";
23
- properties: TProperties;
24
- required?: TRequired;
25
- }
26
- export type JsonSchema = JsonSchemaArray | JsonSchemaBoolean | JsonSchemaNumber | JsonSchemaObject | JsonSchemaString;
27
- export interface TextBlock {
28
- type: "text";
29
- text: string;
30
- }
31
- export type ImageMediaType = "image/gif" | "image/jpeg" | "image/png" | "image/webp";
32
- export interface ImageBlock {
33
- type: "image";
34
- source: {
35
- type: "base64";
36
- media_type: ImageMediaType;
37
- data: string;
38
- };
39
- }
40
- export type ToolResultContentBlock = ImageBlock | TextBlock;
41
- export type ToolResultContent = string | ToolResultContentBlock[];
42
- export interface AnthropicThinkingBlock {
43
- type: "anthropic_thinking";
44
- thinking: string;
45
- signature: string;
46
- }
47
- export interface AnthropicRedactedThinkingBlock {
48
- type: "anthropic_redacted_thinking";
49
- data: string;
50
- }
51
- export interface OpenAiReasoningSummaryText {
52
- type: "summary_text";
53
- text: string;
54
- }
55
- export interface OpenAiReasoningBlock {
56
- type: "openai_reasoning";
57
- encryptedContent?: string;
58
- id?: string;
59
- summary: OpenAiReasoningSummaryText[];
60
- text?: string;
61
- }
62
- export interface ToolUseBlock {
63
- type: "tool_use";
64
- id: string;
65
- name: string;
66
- input: JsonValue;
67
- }
68
- export interface ToolResultBlock {
69
- type: "tool_result";
70
- tool_use_id: string;
71
- content: ToolResultContent;
72
- is_error: boolean;
73
- }
74
- export interface AnthropicThinkingWireBlock {
75
- type: "thinking";
76
- thinking: string;
77
- signature: string;
78
- }
79
- export interface AnthropicRedactedThinkingWireBlock {
80
- type: "redacted_thinking";
81
- data: string;
82
- }
83
- export type AnthropicAssistantContentBlock = AnthropicRedactedThinkingWireBlock | AnthropicThinkingWireBlock | TextBlock | ToolUseBlock;
84
- export type ReasoningVisibility = "continuity-only" | "user-visible";
85
- export type AutoReasoningEffort = "low" | "medium" | "high";
86
- export interface AutoReasoningConfig {
87
- effort: AutoReasoningEffort;
88
- }
89
- export type AnthropicThinkingDisplay = "omitted" | "summarized";
90
- export type AnthropicThinkingEffort = "low" | "medium" | "high";
91
- export interface AnthropicEnabledThinkingConfig {
92
- type: "enabled";
93
- budgetTokens: number;
94
- display?: AnthropicThinkingDisplay;
95
- interleaved?: boolean;
96
- }
97
- export interface AnthropicAdaptiveThinkingConfig {
98
- type: "adaptive";
99
- display?: AnthropicThinkingDisplay;
100
- effort?: AnthropicThinkingEffort;
101
- interleaved?: boolean;
102
- }
103
- export interface AnthropicDisabledThinkingConfig {
104
- type: "disabled";
105
- }
106
- export type AnthropicThinkingConfig = AnthropicAdaptiveThinkingConfig | AnthropicDisabledThinkingConfig | AnthropicEnabledThinkingConfig;
107
- export type OpenAiReasoningEffort = "high" | "low" | "medium" | "minimal" | "none" | "xhigh";
108
- export type OpenAiReasoningSummary = "auto" | "concise" | "detailed";
109
- export interface OpenAiReasoningConfig {
110
- effort?: OpenAiReasoningEffort;
111
- includeEncryptedContent?: boolean;
112
- summary?: OpenAiReasoningSummary;
113
- }
114
- export interface ReasoningConfig {
115
- auto?: AutoReasoningConfig;
116
- anthropic?: AnthropicThinkingConfig;
117
- openai?: OpenAiReasoningConfig;
118
- visibility?: ReasoningVisibility;
119
- }
120
- export interface MessageProviderState {
121
- anthropicAssistantContent?: AnthropicAssistantContentBlock[];
122
- openaiResponsesOutput?: OpenAiResponsesOutputItem[];
123
- openaiResponsesResponseId?: string;
124
- }
125
- export type AssistantContentBlock = AnthropicRedactedThinkingBlock | AnthropicThinkingBlock | OpenAiReasoningBlock | TextBlock | ToolUseBlock;
126
- export type ContentBlock = AssistantContentBlock | ToolResultBlock;
127
- export type ContentInput = ContentBlock[] | string | null | undefined;
128
- export type MessageRole = "assistant" | "user";
129
- export type SystemInput = TextBlock[] | string | null | undefined;
130
- export interface Message {
131
- id?: string;
132
- role: MessageRole;
133
- content: ContentBlock[];
134
- providerState?: MessageProviderState;
135
- }
136
- export interface IdentifiedMessage extends Message {
137
- id: string;
138
- }
139
- export interface MessageInput {
140
- id?: string;
141
- role: MessageRole;
142
- content?: ContentInput;
143
- providerState?: MessageProviderState;
144
- }
145
- export interface ToolSchema {
146
- name: string;
147
- description: string;
148
- input_schema: JsonSchemaObject;
149
- }
150
- export interface ChatRequest {
151
- model: string;
152
- maxTokens: number;
153
- reasoning?: ReasoningConfig;
154
- system: TextBlock[];
155
- messages: Message[];
156
- tools: ToolSchema[];
157
- metadata: {
158
- sessionId: string;
159
- turnId: string;
160
- };
161
- }
162
- export interface ChatResponse {
163
- id: string;
164
- content: AssistantContentBlock[];
165
- stopReason: "end_turn" | "tool_use";
166
- usage: {
167
- inputTokens: number;
168
- outputTokens: number;
169
- reasoningTokens?: number;
170
- };
171
- providerState?: MessageProviderState;
172
- }
173
- export interface ContentDeltaChunk {
174
- type: "content_delta";
175
- index?: number;
176
- text?: string;
177
- }
178
- export interface ToolUseDeltaChunk {
179
- type: "tool_use_delta";
180
- id: string;
181
- index: number;
182
- inputDelta?: string;
183
- name?: string;
184
- }
185
- export interface AnthropicThinkingDeltaChunk {
186
- type: "anthropic_thinking_delta";
187
- index: number;
188
- thinking: string;
189
- }
190
- export interface OpenAiReasoningDeltaChunk {
191
- type: "openai_reasoning_delta";
192
- contentIndex: number;
193
- delta: string;
194
- itemId: string;
195
- outputIndex: number;
196
- }
197
- export interface OpenAiReasoningSummaryDeltaChunk {
198
- type: "openai_reasoning_summary_delta";
199
- delta: string;
200
- itemId: string;
201
- outputIndex: number;
202
- summaryIndex: number;
203
- }
204
- export interface ChatResponseChunk {
205
- type: "anthropic_signature_delta" | "anthropic_thinking_delta" | "content_delta" | "done" | "openai_reasoning_delta" | "openai_reasoning_summary_delta" | "tool_use_delta";
206
- contentIndex?: number;
207
- delta?: string;
208
- index?: number;
209
- itemId?: string;
210
- outputIndex?: number;
211
- signature?: string;
212
- summaryIndex?: number;
213
- text?: string;
214
- thinking?: string;
215
- inputDelta?: string;
216
- name?: string;
217
- id?: string;
218
- response?: ChatResponse;
219
- }
220
- export interface ModelLimits {
221
- contextWindow?: number;
222
- maxOutput?: number;
223
- }
224
- export interface ModelInfo {
225
- id: string;
226
- name: string;
227
- limits?: ModelLimits;
228
- supportedEndpoints?: string[];
229
- }
230
- export interface ToolResultMeta {
231
- truncated?: boolean;
232
- originalBytes?: number;
233
- transforms: string[];
234
- }
235
- export interface ToolResultChunk {
236
- output: string;
237
- structured: JsonObject;
238
- content?: ToolResultContent;
239
- }
240
- export interface ToolOutputEnvelope {
241
- output: string;
242
- structured?: JsonObject;
243
- content?: ToolResultContent;
244
- }
245
- export interface ToolResult {
246
- callId: string;
247
- toolName: string;
248
- status: "error" | "ok";
249
- output: string;
250
- structured: JsonObject;
251
- content?: ToolResultContent;
252
- chunks: ToolResultChunk[];
253
- meta: ToolResultMeta;
254
- }
255
- export interface TurnInput {
256
- sessionId: string;
257
- turnId: string;
258
- streaming?: boolean;
259
- signal?: AbortSignal;
260
- system?: SystemInput;
261
- messages?: MessageInput[];
262
- message: MessageInput;
263
- }
264
- export interface TurnState {
265
- sessionId: string;
266
- turnId: string;
267
- system: TextBlock[];
268
- messages: Message[];
269
- lastResponse?: ChatResponse;
270
- toolResults: ToolResult[];
271
- finalMessage?: IdentifiedMessage;
272
- }
273
- export type TurnResultStatus = "completed" | "aborted";
274
- export interface TurnResult {
275
- status: TurnResultStatus;
276
- finalMessage?: IdentifiedMessage;
277
- state: TurnState;
278
- }
279
- export interface ModelExecutionOptions {
280
- signal?: AbortSignal;
281
- }
282
- export interface EngineChatModel {
283
- model: string;
284
- maxTokens?: number;
285
- complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
286
- stream?(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
287
- getModels?(signal?: AbortSignal): Promise<ModelInfo[]>;
288
- }
289
- export interface AgentEventContext {
290
- sessionId: string;
291
- turnId: string;
292
- state: TurnState;
293
- }
294
- export interface ToolExecutionContext extends AgentEventContext {
295
- signal: AbortSignal;
296
- toolCallId?: string;
297
- }
298
- export interface ToolRuntimeStartedEvent {
299
- type: "tool_started";
300
- toolCall: ToolUseBlock;
301
- }
302
- export interface ToolRuntimeOutputChunkEvent {
303
- type: "tool_output_chunk";
304
- toolCall: ToolUseBlock;
305
- chunk: ToolResultChunk;
306
- }
307
- export interface ToolRuntimeCompletedEvent {
308
- type: "tool_completed";
309
- toolCall: ToolUseBlock;
310
- result: ToolResult;
311
- }
312
- export interface ToolRuntimeRejectedEvent {
313
- type: "tool_rejected";
314
- toolCall: ToolUseBlock;
315
- result: ToolResult;
316
- }
317
- export type ToolRuntimeEvent = ToolRuntimeOutputChunkEvent | ToolRuntimeCompletedEvent | ToolRuntimeRejectedEvent | ToolRuntimeStartedEvent;
318
- export interface AgentUserMessageEvent {
319
- type: "user_message";
320
- message: Message;
321
- }
322
- export interface AgentModelRequestEvent {
323
- type: "model_request";
324
- request: ChatRequest;
325
- }
326
- export interface AgentModelResponseEvent {
327
- type: "model_response";
328
- response: ChatResponse;
329
- }
330
- export interface AgentAssistantMessageEvent {
331
- type: "assistant_message";
332
- message: IdentifiedMessage;
333
- }
334
- export interface AgentAssistantChunkEvent {
335
- type: "assistant_chunk";
336
- index: number;
337
- messageId: string;
338
- chunk: ContentDeltaChunk;
339
- }
340
- export interface AgentToolUseMessageEvent {
341
- type: "tool_use_message";
342
- message: IdentifiedMessage;
343
- }
344
- export interface AgentToolUseChunkEvent {
345
- type: "tool_use_chunk";
346
- index: number;
347
- messageId: string;
348
- chunk: ToolUseDeltaChunk;
349
- }
350
- export interface AgentReasoningMessageEvent {
351
- type: "reasoning_message";
352
- message: IdentifiedMessage;
353
- }
354
- export interface AgentReasoningChunkEvent {
355
- type: "reasoning_chunk";
356
- index: number;
357
- messageId: string;
358
- chunk: AnthropicThinkingDeltaChunk | OpenAiReasoningDeltaChunk | OpenAiReasoningSummaryDeltaChunk;
359
- text: string;
360
- }
361
- export interface AgentToolCallEvent {
362
- type: "tool_call";
363
- toolCall: ToolUseBlock;
364
- }
365
- export interface AgentToolResultEvent {
366
- type: "tool_result";
367
- result: ToolResult;
368
- }
369
- export interface AgentToolResultMessageEvent {
370
- type: "tool_result_message";
371
- message: Message;
372
- }
373
- export interface AgentFinalMessageEvent {
374
- type: "final_message";
375
- message: IdentifiedMessage;
376
- }
377
- export interface AgentTurnCompleteEvent {
378
- type: "turn_complete";
379
- state: TurnState;
380
- }
381
- export type AgentLifecycleEvent = AgentAssistantChunkEvent | AgentAssistantMessageEvent | AgentFinalMessageEvent | AgentModelRequestEvent | AgentModelResponseEvent | AgentReasoningChunkEvent | AgentReasoningMessageEvent | AgentToolCallEvent | AgentToolUseChunkEvent | AgentToolUseMessageEvent | AgentToolResultEvent | AgentToolResultMessageEvent | AgentTurnCompleteEvent | AgentUserMessageEvent;
382
- export type AgentEvent = AgentLifecycleEvent | ToolRuntimeEvent;
383
- export type ToolRuntimeDispatchDecision = {
384
- action: "reject";
385
- reason?: string;
386
- } | {
387
- action: "run";
388
- };
389
- export type ToolRuntimeToolCallHandler = (toolCall: ToolUseBlock, ctx: ToolExecutionContext) => Promise<ToolRuntimeDispatchDecision | undefined> | ToolRuntimeDispatchDecision | undefined;
390
- export type AgentEventHandler = (event: AgentEvent, ctx: AgentEventContext) => Promise<void> | void;
391
- export interface ToolRuntime {
392
- listToolSchemas(): ToolSchema[];
393
- setTools(tools: AnyToolDefinition[]): void;
394
- executeCalls(toolCalls: ToolUseBlock[], ctx: ToolExecutionContext): Promise<ToolResult[]>;
395
- execute(toolCall: ToolUseBlock, ctx: ToolExecutionContext): Promise<ToolResult>;
396
- }
397
- export type ToolOutputValue = JsonValue | ToolOutputEnvelope;
398
- export type ToolGenerator<TYield extends ToolOutputValue = ToolOutputValue, TReturn extends ToolOutputValue | undefined = ToolOutputValue | undefined> = AsyncGenerator<TYield, TReturn, void>;
399
- export interface ToolDefinition<TInput extends JsonObject = JsonObject, TYield extends ToolOutputValue = ToolOutputValue, TReturn extends ToolOutputValue | undefined = ToolOutputValue | undefined, TSchema extends JsonSchemaObject = JsonSchemaObject> {
400
- name: string;
401
- description: string;
402
- inputSchema: TSchema;
403
- execute(input: TInput, ctx: ToolExecutionContext): ToolGenerator<TYield, TReturn>;
404
- }
405
- export type AnyToolDefinition = ToolDefinition<JsonObject, ToolOutputValue, ToolOutputValue | undefined, JsonSchemaObject>;
406
- export type Stage = "afterModelResponse" | "afterToolResult" | "afterTurnComplete" | "beforeAssistantAppend" | "beforeFinalOutput" | "beforeModelRequest" | "beforeToolExecution" | "beforeToolResultAppend" | "onUserMessage";
407
- export interface PayloadByStage {
408
- onUserMessage: Message;
409
- beforeModelRequest: ChatRequest;
410
- afterModelResponse: ChatResponse;
411
- beforeToolExecution: ToolUseBlock;
412
- afterToolResult: ToolResult;
413
- beforeAssistantAppend: Message;
414
- beforeFinalOutput: Message;
415
- beforeToolResultAppend: Message;
416
- afterTurnComplete: TurnState;
417
- }
418
- export interface ExtensionContext {
419
- state: TurnState;
420
- }
421
- type Transformer$1<S extends Stage> = (payload: PayloadByStage[S], ctx: ExtensionContext) => PayloadByStage[S] | Promise<PayloadByStage[S]>;
422
- export type Observer<S extends Stage> = (payload: PayloadByStage[S], ctx: ExtensionContext) => Promise<void> | void;
423
- export interface TransformerExtensionRegistration<S extends Stage = Stage> {
424
- id: string;
425
- stage: S;
426
- kind: "transformer";
427
- order: number;
428
- enabled: boolean;
429
- run: Transformer$1<S>;
430
- }
431
- export interface ObserverExtensionRegistration<S extends Stage = Stage> {
432
- id: string;
433
- stage: S;
434
- kind: "observer";
435
- order: number;
436
- enabled: boolean;
437
- run: Observer<S>;
438
- }
439
- export type ExtensionRegistration<S extends Stage = Stage> = ObserverExtensionRegistration<S> | TransformerExtensionRegistration<S>;
440
- export type AnyExtensionRegistration = {
441
- [S in Stage]: ExtensionRegistration<S>;
442
- }[Stage];
443
- export interface ExtensionRegistry {
444
- register(extension: AnyExtensionRegistration): void;
445
- runTransformers<S extends Stage>(stage: S, payload: PayloadByStage[S], ctx: ExtensionContext): Promise<PayloadByStage[S]>;
446
- runObservers<S extends Stage>(stage: S, payload: PayloadByStage[S], ctx: ExtensionContext): Promise<void>;
447
- }
448
- export interface RunTurnDeps {
449
- registry: ExtensionRegistry;
450
- chatModel: EngineChatModel;
451
- toolRuntime: ToolRuntime;
452
- onEvent?: AgentEventHandler;
453
- }
454
- export type AgentInput = MessageInput | string;
455
- export interface AgentSendOptions {
456
- streaming?: boolean;
457
- signal?: AbortSignal;
458
- }
459
- export interface AgentOptions {
460
- sessionId?: string;
461
- systemPrompt?: string;
462
- messages?: MessageInput[];
463
- message?: AgentInput;
464
- onEvent?: AgentEventHandler;
465
- onToolCall?: ToolRuntimeToolCallHandler;
466
- registry?: ExtensionRegistry;
467
- extensions?: AnyExtensionRegistration[];
468
- chatModel?: EngineChatModel;
469
- tools?: AnyToolDefinition[];
470
- }
471
- export interface OpenAiFunctionCall {
472
- type: "function_call";
473
- call_id: string;
474
- name: string;
475
- arguments: string;
476
- }
477
- export interface OpenAiOutputTextPart {
478
- type: "output_text";
479
- text: string;
480
- }
481
- export interface OpenAiRefusalPart {
482
- type: "refusal";
483
- refusal: string;
484
- }
485
- export interface OpenAiOutputMessage {
486
- type: "message";
487
- content?: Array<OpenAiOutputTextPart | OpenAiRefusalPart>;
488
- role?: string;
489
- status?: string;
490
- }
491
- export interface OpenAiReasoningOutputItem {
492
- type: "reasoning";
493
- content?: Array<{
494
- text?: string;
495
- type?: string;
496
- }>;
497
- encrypted_content?: string;
498
- id?: string;
499
- status?: string;
500
- summary?: OpenAiReasoningSummaryText[];
501
- text?: string;
502
- }
503
- export type OpenAiResponsesOutputItem = JsonObject | OpenAiFunctionCall | OpenAiOutputMessage | OpenAiReasoningOutputItem;
504
- export declare class Agent {
505
- readonly deps: RunTurnDeps;
506
- readonly sessionId: string;
507
- private _systemPrompt;
508
- messages: Message[];
509
- readonly defaultMessage?: Message;
510
- turnIndex: number;
511
- constructor(options?: AgentOptions);
512
- get systemPrompt(): string;
513
- setTools(tools?: AgentOptions["tools"]): void;
514
- setSystemPrompt(systemPrompt: string, options?: {
515
- resetMessages?: boolean;
516
- }): void;
517
- /**
518
- * Replace the chat model used for subsequent turns. Existing conversation
519
- * state is preserved; the next call to {@link send} uses the new model.
520
- * Useful for runtime model switching (e.g. via a `/model` slash command).
521
- */
522
- setChatModel(chatModel: RunTurnDeps["chatModel"]): void;
523
- send(input?: AgentInput | undefined, options?: AgentSendOptions): Promise<TurnResult>;
524
- }
525
- export declare function createExtensionRegistry(): ExtensionRegistry;
526
- export declare function runTurn(input: TurnInput, deps: RunTurnDeps): Promise<TurnResult>;
527
26
 
528
- export {};
27
+ declare function createExtensionRegistry(): ExtensionRegistry;
28
+
29
+ declare function runTurn(input: TurnInput, deps: RunTurnDeps): Promise<TurnResult>;
30
+
31
+ export { Agent, AgentInput, AgentOptions, AgentSendOptions, ExtensionRegistry, RunTurnDeps, TurnInput, TurnResult, createExtensionRegistry, runTurn };
@@ -1 +1 @@
1
- (function(_0xcba386,_0x3dcb02){var _0x4e280a={_0x30211d:0x278,_0x3cb691:0x273,_0x29e067:0x27e,_0x384b52:0x3f2,_0x24c8d1:0x3f5,_0x554077:0x3f8,_0x18281f:0x3f1,_0x4d27f8:0x3fa,_0x375dbf:0x3f6,_0x5634ad:0x402,_0x26ac70:0x3fc,_0x5e9e5e:0x3f9,_0x268fab:0x3f0,_0x367fc5:0x3f9},_0x5b46f8={_0x1f8ceb:0x361},_0xcbed13=_0xcba386();function _0x12a6c2(_0x5ca36d,_0x3a484e,_0x2137d0,_0x40b1e5){return _0x46c7(_0x5ca36d- -0x312,_0x2137d0);}function _0x316ac9(_0x3ec464,_0x4a28f6,_0x1bfc19,_0x81480e){return _0x46c7(_0x3ec464-_0x5b46f8._0x1f8ceb,_0x81480e);}while(!![]){try{var _0x12bbce=parseInt(_0x12a6c2(-_0x4e280a._0x30211d,-0x277,-_0x4e280a._0x3cb691,-_0x4e280a._0x29e067))/0x1*(-parseInt(_0x316ac9(_0x4e280a._0x384b52,0x3f0,_0x4e280a._0x24c8d1,0x3f7))/0x2)+-parseInt(_0x316ac9(_0x4e280a._0x554077,0x3f4,_0x4e280a._0x24c8d1,0x3fd))/0x3+-parseInt(_0x316ac9(0x3f3,0x3f6,_0x4e280a._0x18281f,0x3f1))/0x4*(parseInt(_0x316ac9(_0x4e280a._0x4d27f8,0x3f4,0x3fc,0x3ff))/0x5)+-parseInt(_0x316ac9(0x3fc,0x3fb,_0x4e280a._0x375dbf,_0x4e280a._0x5634ad))/0x6+parseInt(_0x316ac9(0x3f6,_0x4e280a._0x24c8d1,_0x4e280a._0x26ac70,_0x4e280a._0x375dbf))/0x7+parseInt(_0x316ac9(_0x4e280a._0x5e9e5e,0x3f7,0x3f4,0x3fd))/0x8*(parseInt(_0x316ac9(0x3f4,0x3f2,0x3f2,0x3f3))/0x9)+-parseInt(_0x316ac9(_0x4e280a._0x24c8d1,0x3f2,_0x4e280a._0x268fab,_0x4e280a._0x5e9e5e))/0xa*(-parseInt(_0x316ac9(0x3f7,_0x4e280a._0x4d27f8,_0x4e280a._0x367fc5,_0x4e280a._0x375dbf))/0xb);if(_0x12bbce===_0x3dcb02)break;else _0xcbed13['push'](_0xcbed13['shift']());}catch(_0x5afec7){_0xcbed13['push'](_0xcbed13['shift']());}}}(_0x36fb,0x1a673));function _0x36fb(){var _0x4f8e9c=['mtbTzwjzt04','mZe2ody5rgjcv29k','mZiZotaZohPjve9iza','mti0mZqXtLbeAuri','ofzPv3bYCa','mJmWzwTxu2Xv','ndG5n3rOAuz3BW','nJG2mti0sfDgr2Pg','mJzKsNPSD08','nZGXnMPgv01luq','nJK5oteYywn4yvrM'];_0x36fb=function(){return _0x4f8e9c;};return _0x36fb();}import{Agent,createExtensionRegistry,runTurn}from'../chunk-VFTQW5WK.js';import'../chunk-G2FR4UGO.js';import'../chunk-X7VAACWY.js';function _0x46c7(_0x27eee1,_0x1ae95a){_0x27eee1=_0x27eee1-0x91;var _0x36fb3a=_0x36fb();var _0x46c7a8=_0x36fb3a[_0x27eee1];if(_0x46c7['ALGiVc']===undefined){var _0x410bb8=function(_0x3b2545){var _0x1a9213='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xdf6e6='',_0x21a7c0='';for(var _0x268d4f=0x0,_0x1bdffd,_0x167b1d,_0x39aabf=0x0;_0x167b1d=_0x3b2545['charAt'](_0x39aabf++);~_0x167b1d&&(_0x1bdffd=_0x268d4f%0x4?_0x1bdffd*0x40+_0x167b1d:_0x167b1d,_0x268d4f++%0x4)?_0xdf6e6+=String['fromCharCode'](0xff&_0x1bdffd>>(-0x2*_0x268d4f&0x6)):0x0){_0x167b1d=_0x1a9213['indexOf'](_0x167b1d);}for(var _0x40d4cc=0x0,_0x5b027e=_0xdf6e6['length'];_0x40d4cc<_0x5b027e;_0x40d4cc++){_0x21a7c0+='%'+('00'+_0xdf6e6['charCodeAt'](_0x40d4cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21a7c0);};_0x46c7['QcNHXJ']=_0x410bb8,_0x46c7['hNfELx']={},_0x46c7['ALGiVc']=!![];}var _0x450b47=_0x36fb3a[0x0],_0x5e50ef=_0x27eee1+_0x450b47,_0xcbb246=_0x46c7['hNfELx'][_0x5e50ef];return!_0xcbb246?(_0x46c7a8=_0x46c7['QcNHXJ'](_0x46c7a8),_0x46c7['hNfELx'][_0x5e50ef]=_0x46c7a8):_0x46c7a8=_0xcbb246,_0x46c7a8;}export{Agent,createExtensionRegistry,runTurn};
1
+ (function(_0x2e6139,_0x5c479d){var _0x427c70={_0x5178c5:0x41,_0x20fab5:0x1c4,_0x51d6bc:0x1c7,_0x52861b:0x3c,_0x34fe48:0x3c,_0x3bc6be:0x37,_0x201be3:0x3d,_0x506edf:0x3b,_0x38bc80:0x3a,_0x118821:0x32,_0x5dd90e:0x35,_0x644f52:0x33,_0x55166a:0x30,_0x4d2cf3:0x1c9,_0x3fe341:0x1c7,_0x45790c:0x1d0,_0x2e0851:0x1cd,_0x4d6860:0x1ca,_0x54ad18:0x1c5,_0x40458e:0x1c8,_0x504378:0x1c0,_0x5449b1:0x1c3},_0x7d9b3b={_0x54f00c:0x47};function _0x5e3038(_0x26efa5,_0x57a4cc,_0x38bbad,_0x49b572){return _0x2e51(_0x57a4cc- -_0x7d9b3b._0x54f00c,_0x49b572);}function _0x17c529(_0x3c2c3b,_0xcb604d,_0xfb2e8f,_0x5e60f2){return _0x2e51(_0x5e60f2-0x148,_0x3c2c3b);}var _0x29414f=_0x2e6139();while(!![]){try{var _0x37dc5b=parseInt(_0x5e3038(_0x427c70._0x5178c5,0x3d,0x41,0x41))/0x1+-parseInt(_0x5e3038(0x38,0x37,0x34,0x3b))/0x2*(parseInt(_0x17c529(_0x427c70._0x20fab5,_0x427c70._0x51d6bc,0x1c1,0x1c5))/0x3)+-parseInt(_0x5e3038(_0x427c70._0x52861b,0x38,_0x427c70._0x34fe48,_0x427c70._0x3bc6be))/0x4*(-parseInt(_0x5e3038(_0x427c70._0x201be3,_0x427c70._0x506edf,_0x427c70._0x38bc80,_0x427c70._0x506edf))/0x5)+-parseInt(_0x5e3038(_0x427c70._0x118821,_0x427c70._0x5dd90e,_0x427c70._0x644f52,_0x427c70._0x55166a))/0x6+parseInt(_0x17c529(_0x427c70._0x4d2cf3,_0x427c70._0x3fe341,_0x427c70._0x45790c,0x1cb))/0x7+-parseInt(_0x17c529(_0x427c70._0x2e0851,0x1ce,_0x427c70._0x4d6860,_0x427c70._0x4d2cf3))/0x8*(-parseInt(_0x17c529(_0x427c70._0x4d2cf3,_0x427c70._0x54ad18,0x1c5,_0x427c70._0x40458e))/0x9)+-parseInt(_0x17c529(_0x427c70._0x20fab5,0x1bf,_0x427c70._0x504378,_0x427c70._0x5449b1))/0xa;if(_0x37dc5b===_0x5c479d)break;else _0x29414f['push'](_0x29414f['shift']());}catch(_0x1435ed){_0x29414f['push'](_0x29414f['shift']());}}}(_0x249f,0xe811a));import{Agent,createExtensionRegistry,runTurn}from'../chunk-P54V754C.js';import'../chunk-G2FR4UGO.js';import'../chunk-X7VAACWY.js';function _0x2e51(_0x2faa33,_0xed48df){_0x2faa33=_0x2faa33-0x7b;var _0x249f11=_0x249f();var _0x2e51bc=_0x249f11[_0x2faa33];if(_0x2e51['gNAlcR']===undefined){var _0x9c2b17=function(_0x5b50e2){var _0x1f5faa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5a20df='',_0x4a87a5='';for(var _0x19c355=0x0,_0x2fe1c0,_0x2ee9c4,_0x46a656=0x0;_0x2ee9c4=_0x5b50e2['charAt'](_0x46a656++);~_0x2ee9c4&&(_0x2fe1c0=_0x19c355%0x4?_0x2fe1c0*0x40+_0x2ee9c4:_0x2ee9c4,_0x19c355++%0x4)?_0x5a20df+=String['fromCharCode'](0xff&_0x2fe1c0>>(-0x2*_0x19c355&0x6)):0x0){_0x2ee9c4=_0x1f5faa['indexOf'](_0x2ee9c4);}for(var _0x2fe666=0x0,_0x15b37c=_0x5a20df['length'];_0x2fe666<_0x15b37c;_0x2fe666++){_0x4a87a5+='%'+('00'+_0x5a20df['charCodeAt'](_0x2fe666)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a87a5);};_0x2e51['YCCTsK']=_0x9c2b17,_0x2e51['ECtHXW']={},_0x2e51['gNAlcR']=!![];}var _0x5715bd=_0x249f11[0x0],_0x296562=_0x2faa33+_0x5715bd,_0x100919=_0x2e51['ECtHXW'][_0x296562];return!_0x100919?(_0x2e51bc=_0x2e51['YCCTsK'](_0x2e51bc),_0x2e51['ECtHXW'][_0x296562]=_0x2e51bc):_0x2e51bc=_0x100919,_0x2e51bc;}export{Agent,createExtensionRegistry,runTurn};function _0x249f(){var _0x4ca354=['ovr3AwnJsa','nJC0nZjMweHOru0','nZvjzwfksKe','nJqWodC2nM9xu3HuCa','mta3mdi1mePAz2T5zG','mtq2mJi2meDUsxbIvq','mtG1ndKWsNH5Auvw','mtu1mtLABKjTDvy','mZm4svj0vfjv','mJa1nNvSwML3DW'];_0x249f=function(){return _0x4ca354;};return _0x249f();}