@dungle-scrubs/tallow 0.8.13 → 0.8.15
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/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/interactive-mode-patch.d.ts +14 -4
- package/dist/interactive-mode-patch.d.ts.map +1 -1
- package/dist/interactive-mode-patch.js +103 -2
- package/dist/interactive-mode-patch.js.map +1 -1
- package/dist/sdk.d.ts +80 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +481 -31
- package/dist/sdk.js.map +1 -1
- package/extensions/__integration__/context-budget-guard.test.ts +236 -0
- package/extensions/_shared/context-budget-interop.ts +162 -0
- package/extensions/ask-user-question-tool/__tests__/render-regression.test.ts +203 -0
- package/extensions/ask-user-question-tool/index.ts +70 -9
- package/extensions/background-task-tool/index.ts +10 -2
- package/extensions/bash-tool-enhanced/index.ts +10 -2
- package/extensions/plan-mode-tool/__tests__/utils.test.ts +180 -0
- package/extensions/plan-mode-tool/extension.json +1 -0
- package/extensions/plan-mode-tool/index.ts +33 -0
- package/extensions/plan-mode-tool/utils.ts +60 -0
- package/extensions/web-fetch-tool/__tests__/adaptive-cap.test.ts +148 -0
- package/extensions/web-fetch-tool/index.ts +140 -9
- package/extensions/wezterm-pane-control/__tests__/index.test.ts +23 -2
- package/extensions/wezterm-pane-control/index.ts +65 -1
- package/package.json +4 -4
- package/skills/tallow-expert/SKILL.md +1 -0
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type RuntimePathProvider } from "./runtime-path-provider.js";
|
|
2
2
|
export declare const APP_NAME = "tallow";
|
|
3
|
-
export declare const TALLOW_VERSION = "0.8.
|
|
3
|
+
export declare const TALLOW_VERSION = "0.8.15";
|
|
4
4
|
export declare const CONFIG_DIR = ".tallow";
|
|
5
5
|
/** ~/.tallow (or override from ~/.config/tallow-work-dirs) — all user config, sessions, auth, extensions */
|
|
6
6
|
export declare const TALLOW_HOME: string;
|
package/dist/config.js
CHANGED
|
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
|
|
|
6
6
|
import { createRuntimePathProvider } from "./runtime-path-provider.js";
|
|
7
7
|
// ─── Identity ────────────────────────────────────────────────────────────────
|
|
8
8
|
export const APP_NAME = "tallow";
|
|
9
|
-
export const TALLOW_VERSION = "0.8.
|
|
9
|
+
export const TALLOW_VERSION = "0.8.15"; // x-release-please-version
|
|
10
10
|
export const CONFIG_DIR = ".tallow";
|
|
11
11
|
// ─── Paths ───────────────────────────────────────────────────────────────────
|
|
12
12
|
/** ~/.tallow (or override from ~/.config/tallow-work-dirs) — all user config, sessions, auth, extensions */
|
|
@@ -1,20 +1,30 @@
|
|
|
1
|
+
interface AssistantMessageLike {
|
|
2
|
+
content?: unknown[];
|
|
3
|
+
errorMessage?: string;
|
|
4
|
+
role?: string;
|
|
5
|
+
stopReason?: string;
|
|
6
|
+
}
|
|
7
|
+
interface InteractiveModeEventLike {
|
|
8
|
+
message?: AssistantMessageLike;
|
|
9
|
+
type?: string;
|
|
10
|
+
}
|
|
1
11
|
interface InteractiveModePrototypeLike {
|
|
2
12
|
__tallow_stale_ui_patch_applied__?: boolean;
|
|
3
13
|
createExtensionUIContext?: ((...args: unknown[]) => Record<string, unknown>) | undefined;
|
|
4
14
|
handleBashCommand?: ((command: string, excludeFromContext?: boolean) => Promise<unknown>) | undefined;
|
|
5
|
-
handleEvent?: ((event:
|
|
6
|
-
type?: string;
|
|
7
|
-
}) => Promise<unknown>) | undefined;
|
|
15
|
+
handleEvent?: ((event: InteractiveModeEventLike) => Promise<unknown>) | undefined;
|
|
8
16
|
setupKeyHandlers?: ((...args: unknown[]) => unknown) | undefined;
|
|
9
17
|
}
|
|
10
18
|
/**
|
|
11
19
|
* Patches InteractiveMode prototype methods to prevent stale UI carry-over.
|
|
12
20
|
*
|
|
13
21
|
* The patch adds:
|
|
22
|
+
* - overflow error suppression before auto-compaction loader rendering
|
|
14
23
|
* - agent_end cleanup for pending working messages + pending-message refresh
|
|
15
24
|
* - post-bash flush/update so deferred bash output moves inline promptly
|
|
16
25
|
* - idle Escape behavior that clears queued steering/follow-up messages
|
|
17
|
-
* -
|
|
26
|
+
* - extension notify normalization for icon-prefixed error messages
|
|
27
|
+
* - compaction queue inspection helper for extension UI context
|
|
18
28
|
*
|
|
19
29
|
* @param prototype - InteractiveMode prototype object
|
|
20
30
|
* @returns Nothing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode-patch.d.ts","sourceRoot":"","sources":["../src/interactive-mode-patch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive-mode-patch.d.ts","sourceRoot":"","sources":["../src/interactive-mode-patch.ts"],"names":[],"mappings":"AA4BA,UAAU,oBAAoB;IAC7B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,wBAAwB;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,4BAA4B;IACrC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,wBAAwB,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACzF,iBAAiB,CAAC,EACf,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GACrE,SAAS,CAAC;IACb,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAClF,gBAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CACjE;AAiID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,4BAA4B,GAAG,IAAI,CAkH3F;AAED;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BtE"}
|
|
@@ -29,14 +29,113 @@ function hasQueuedMessages(messages) {
|
|
|
29
29
|
const followUpCount = Array.isArray(messages.followUp) ? messages.followUp.length : 0;
|
|
30
30
|
return steeringCount > 0 || followUpCount > 0;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Overflow error patterns mirrored from pi-ai overflow detection.
|
|
34
|
+
*
|
|
35
|
+
* Keeping these aligned prevents suppressing errors that would not trigger
|
|
36
|
+
* compaction, and ensures overflow-specific UI suppression stays targeted.
|
|
37
|
+
*/
|
|
38
|
+
const OVERFLOW_ERROR_PATTERNS = [
|
|
39
|
+
/prompt is too long/i,
|
|
40
|
+
/input is too long for requested model/i,
|
|
41
|
+
/exceeds the context window/i,
|
|
42
|
+
/input token count.*exceeds the maximum/i,
|
|
43
|
+
/maximum prompt length is \d+/i,
|
|
44
|
+
/reduce the length of the messages/i,
|
|
45
|
+
/maximum context length is \d+ tokens/i,
|
|
46
|
+
/exceeds the limit of \d+/i,
|
|
47
|
+
/exceeds the available context size/i,
|
|
48
|
+
/greater than the context length/i,
|
|
49
|
+
/context window exceeds limit/i,
|
|
50
|
+
/exceeded model token limit/i,
|
|
51
|
+
/context[_ ]length[_ ]exceeded/i,
|
|
52
|
+
/too many tokens/i,
|
|
53
|
+
/token limit exceeded/i,
|
|
54
|
+
];
|
|
55
|
+
/**
|
|
56
|
+
* Returns whether assistant content includes tool calls.
|
|
57
|
+
*
|
|
58
|
+
* Overflow suppression is only safe when no tool calls are present. Tool-call
|
|
59
|
+
* error rendering uses stopReason===error to mark pending tool components.
|
|
60
|
+
*
|
|
61
|
+
* @param content - Assistant message content blocks
|
|
62
|
+
* @returns True when at least one content block is a tool call
|
|
63
|
+
*/
|
|
64
|
+
function hasToolCalls(content) {
|
|
65
|
+
if (!Array.isArray(content))
|
|
66
|
+
return false;
|
|
67
|
+
return content.some((block) => {
|
|
68
|
+
if (!block || typeof block !== "object")
|
|
69
|
+
return false;
|
|
70
|
+
return block.type === "toolCall";
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns whether an error string matches a context-overflow signature.
|
|
75
|
+
*
|
|
76
|
+
* @param errorMessage - Assistant error message
|
|
77
|
+
* @returns True when the error message indicates context overflow
|
|
78
|
+
*/
|
|
79
|
+
function isContextOverflowErrorMessage(errorMessage) {
|
|
80
|
+
if (OVERFLOW_ERROR_PATTERNS.some((pattern) => pattern.test(errorMessage))) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
// Some providers return only a status code with no body for overflow.
|
|
84
|
+
return /^4(00|13)\s*(status code)?\s*\(no body\)/i.test(errorMessage);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns an event payload with overflow assistant error text suppressed for UI rendering.
|
|
88
|
+
*
|
|
89
|
+
* For overflow+auto-compaction, the dedicated loader line already communicates
|
|
90
|
+
* state (`Context overflow detected, Auto-compacting...`). Showing an extra
|
|
91
|
+
* assistant error line is redundant and noisy, especially for serialized JSON
|
|
92
|
+
* payloads (for example `Codex error: {...}`).
|
|
93
|
+
*
|
|
94
|
+
* The original event/message object must stay untouched: AgentSession keeps
|
|
95
|
+
* using the same references for persistence and overflow-triggered compaction
|
|
96
|
+
* checks after listener notifications.
|
|
97
|
+
*
|
|
98
|
+
* @param event - Interactive mode event payload
|
|
99
|
+
* @param session - Session-like state used to inspect auto-compaction setting
|
|
100
|
+
* @returns Original event or a shallow-cloned event for UI-only rendering
|
|
101
|
+
*/
|
|
102
|
+
function suppressOverflowAssistantErrorLine(event, session) {
|
|
103
|
+
if (session?.autoCompactionEnabled === false)
|
|
104
|
+
return event;
|
|
105
|
+
if (event.type !== "message_end")
|
|
106
|
+
return event;
|
|
107
|
+
const message = event.message;
|
|
108
|
+
if (!message || message.role !== "assistant")
|
|
109
|
+
return event;
|
|
110
|
+
if (message.stopReason !== "error")
|
|
111
|
+
return event;
|
|
112
|
+
if (typeof message.errorMessage !== "string")
|
|
113
|
+
return event;
|
|
114
|
+
if (!isContextOverflowErrorMessage(message.errorMessage))
|
|
115
|
+
return event;
|
|
116
|
+
if (hasToolCalls(message.content))
|
|
117
|
+
return event;
|
|
118
|
+
// Change stopReason for UI rendering only so assistant-message component
|
|
119
|
+
// does not inject `Error: <payload>`. Auto-compaction status remains visible.
|
|
120
|
+
return {
|
|
121
|
+
...event,
|
|
122
|
+
message: {
|
|
123
|
+
...message,
|
|
124
|
+
errorMessage: undefined,
|
|
125
|
+
stopReason: "stop",
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
32
129
|
/**
|
|
33
130
|
* Patches InteractiveMode prototype methods to prevent stale UI carry-over.
|
|
34
131
|
*
|
|
35
132
|
* The patch adds:
|
|
133
|
+
* - overflow error suppression before auto-compaction loader rendering
|
|
36
134
|
* - agent_end cleanup for pending working messages + pending-message refresh
|
|
37
135
|
* - post-bash flush/update so deferred bash output moves inline promptly
|
|
38
136
|
* - idle Escape behavior that clears queued steering/follow-up messages
|
|
39
|
-
* -
|
|
137
|
+
* - extension notify normalization for icon-prefixed error messages
|
|
138
|
+
* - compaction queue inspection helper for extension UI context
|
|
40
139
|
*
|
|
41
140
|
* @param prototype - InteractiveMode prototype object
|
|
42
141
|
* @returns Nothing
|
|
@@ -48,7 +147,9 @@ export function patchInteractiveModePrototype(prototype) {
|
|
|
48
147
|
const originalHandleEvent = prototype.handleEvent;
|
|
49
148
|
if (typeof originalHandleEvent === "function") {
|
|
50
149
|
prototype.handleEvent = async function (event) {
|
|
51
|
-
|
|
150
|
+
// Keep AgentSession event references immutable for persistence/compaction checks.
|
|
151
|
+
const uiEvent = suppressOverflowAssistantErrorLine(event, this.session);
|
|
152
|
+
const result = await originalHandleEvent.call(this, uiEvent);
|
|
52
153
|
if (event?.type === "agent_end") {
|
|
53
154
|
this.pendingWorkingMessage = undefined;
|
|
54
155
|
// NOTE: Do NOT clear statusContainer here — the original framework
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode-patch.js","sourceRoot":"","sources":["../src/interactive-mode-patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive-mode-patch.js","sourceRoot":"","sources":["../src/interactive-mode-patch.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk.d.ts
CHANGED
|
@@ -76,6 +76,8 @@ export interface TallowSessionOptions {
|
|
|
76
76
|
}
|
|
77
77
|
/** Marker key used on summarized historical tool results. */
|
|
78
78
|
export declare const TOOL_RESULT_RETENTION_MARKER = "__tallow_summarized_tool_result__";
|
|
79
|
+
/** Marker key used on ingestion-time budget-guarded tool results. */
|
|
80
|
+
export declare const TOOL_RESULT_BUDGET_GUARD_MARKER = "__tallow_budget_guard__";
|
|
79
81
|
/** Resolved policy controlling when historical tool results are summarized. */
|
|
80
82
|
export interface ToolResultRetentionPolicy {
|
|
81
83
|
readonly enabled: boolean;
|
|
@@ -83,6 +85,27 @@ export interface ToolResultRetentionPolicy {
|
|
|
83
85
|
readonly maxRetainedBytesPerResult: number;
|
|
84
86
|
readonly previewChars: number;
|
|
85
87
|
}
|
|
88
|
+
/** Resolved policy controlling context-budget guardrails. */
|
|
89
|
+
export interface ContextBudgetPolicy {
|
|
90
|
+
/** Percentage of context window at which soft budget warnings begin. */
|
|
91
|
+
readonly softThresholdPercent: number;
|
|
92
|
+
/** Percentage of context window at which hard budget caps apply. */
|
|
93
|
+
readonly hardThresholdPercent: number;
|
|
94
|
+
/** Minimum bytes a single tool call is always allowed. */
|
|
95
|
+
readonly minPerToolBytes: number;
|
|
96
|
+
/** Maximum bytes a single tool call may receive. */
|
|
97
|
+
readonly maxPerToolBytes: number;
|
|
98
|
+
/** Tokens reserved each turn for the model's response. */
|
|
99
|
+
readonly perTurnReserveTokens: number;
|
|
100
|
+
/** Byte cap applied when context usage is unknown (post-compaction). */
|
|
101
|
+
readonly unknownUsageFallbackCapBytes: number;
|
|
102
|
+
}
|
|
103
|
+
/** Minimal context-usage snapshot used by budget helpers. */
|
|
104
|
+
export interface ContextUsageSnapshot {
|
|
105
|
+
readonly tokens: number | null;
|
|
106
|
+
readonly contextWindow: number;
|
|
107
|
+
readonly percent: number | null;
|
|
108
|
+
}
|
|
86
109
|
/** Aggregate stats from a retention pass over historical tool results. */
|
|
87
110
|
export interface ToolResultRetentionRunStats {
|
|
88
111
|
readonly examinedCount: number;
|
|
@@ -114,6 +137,63 @@ export declare function resolveToolResultRetentionPolicy(params: {
|
|
|
114
137
|
projectSettings?: Record<string, unknown>;
|
|
115
138
|
runtimeSettings?: Record<string, unknown>;
|
|
116
139
|
}): ToolResultRetentionPolicy;
|
|
140
|
+
/**
|
|
141
|
+
* Resolve the effective context-budget policy from layered settings.
|
|
142
|
+
*
|
|
143
|
+
* Precedence: global settings < project settings < runtime overrides.
|
|
144
|
+
* Any unset field falls back to the compiled default.
|
|
145
|
+
*
|
|
146
|
+
* @param params - Layered settings inputs
|
|
147
|
+
* @returns Resolved context-budget policy with validated numeric bounds
|
|
148
|
+
*/
|
|
149
|
+
export declare function resolveContextBudgetPolicy(params: {
|
|
150
|
+
globalSettings?: Record<string, unknown>;
|
|
151
|
+
projectSettings?: Record<string, unknown>;
|
|
152
|
+
runtimeSettings?: Record<string, unknown>;
|
|
153
|
+
}): ContextBudgetPolicy;
|
|
154
|
+
/**
|
|
155
|
+
* Estimate remaining tokens available for tool output.
|
|
156
|
+
*
|
|
157
|
+
* When usage.tokens is null (e.g. right after compaction), returns 0
|
|
158
|
+
* to signal that callers should use the unknown-usage fallback path.
|
|
159
|
+
*
|
|
160
|
+
* @param usage - Context usage snapshot from the framework
|
|
161
|
+
* @param reserveTokens - Tokens to hold back for the model response
|
|
162
|
+
* @returns Non-negative remaining token count, or 0 when unknown
|
|
163
|
+
*/
|
|
164
|
+
export declare function estimateRemainingTokens(usage: ContextUsageSnapshot, reserveTokens: number): number;
|
|
165
|
+
/**
|
|
166
|
+
* Convert a token count to an approximate byte budget.
|
|
167
|
+
*
|
|
168
|
+
* Uses a conservative 4-bytes-per-token heuristic suitable for English
|
|
169
|
+
* text and JSON payloads. Non-Latin scripts use more bytes per token;
|
|
170
|
+
* callers should treat this as an upper-bound estimate.
|
|
171
|
+
*
|
|
172
|
+
* @param tokens - Token count to convert
|
|
173
|
+
* @returns Approximate byte budget
|
|
174
|
+
*/
|
|
175
|
+
export declare function tokensToBytes(tokens: number): number;
|
|
176
|
+
/**
|
|
177
|
+
* Build a compact one-line budget status string for system prompt injection.
|
|
178
|
+
*
|
|
179
|
+
* Format when known: `Context budget: 67% used, ~66k tokens remaining`
|
|
180
|
+
* Format when unknown: `Context budget: unknown (waiting for fresh usage sample)`
|
|
181
|
+
*
|
|
182
|
+
* @param usage - Context usage snapshot
|
|
183
|
+
* @param policy - Resolved context-budget policy
|
|
184
|
+
* @returns Deterministic single-line status string
|
|
185
|
+
*/
|
|
186
|
+
export declare function formatBudgetStatusLine(usage: ContextUsageSnapshot, policy: ContextBudgetPolicy): string;
|
|
187
|
+
/**
|
|
188
|
+
* Return the fallback byte cap used when context usage is unknown.
|
|
189
|
+
*
|
|
190
|
+
* This applies after compaction or before the first LLM response when
|
|
191
|
+
* the framework reports tokens as null.
|
|
192
|
+
*
|
|
193
|
+
* @param policy - Resolved context-budget policy
|
|
194
|
+
* @returns Byte cap for unknown-usage scenarios
|
|
195
|
+
*/
|
|
196
|
+
export declare function unknownUsageFallbackBudget(policy: ContextBudgetPolicy): number;
|
|
117
197
|
/**
|
|
118
198
|
* Summarize older oversized tool results in-place while keeping the newest N full.
|
|
119
199
|
*
|
package/dist/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAO7B,KAAK,gBAAgB,EAOrB,KAAK,cAAc,EAKnB,KAAK,KAAK,EAEV,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAEN,KAAK,cAAc,EAGnB,KAAK,uBAAuB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAGN,KAAK,kBAAkB,EAIvB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKpF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACpC,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC,iFAAiF;IACjF,KAAK,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAE3C,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,sDAAsD;IACtD,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAE3D,kCAAkC;IAClC,OAAO,CAAC,EACL;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAClB;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,GACf;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GACpB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAC7C;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhC,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAExC,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC;IAE3B,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;IAErC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,iCAAiC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,6BAA6B;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,0DAA0D;IAC1D,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAEvD,8BAA8B;IAC9B,KAAK,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAE3C,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,6DAA6D;AAC7D,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|