@k8slens/ai-tools-contracts 1.0.0
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/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +642 -0
- package/dist/src/ai-tool-configuration.d.ts +51 -0
- package/dist/src/ai-tool-configuration.d.ts.map +1 -0
- package/dist/src/ai-tool-description.d.ts +25 -0
- package/dist/src/ai-tool-description.d.ts.map +1 -0
- package/dist/src/ai-tool-detection.d.ts +20 -0
- package/dist/src/ai-tool-detection.d.ts.map +1 -0
- package/dist/src/ai-tool-display-name.d.ts +18 -0
- package/dist/src/ai-tool-display-name.d.ts.map +1 -0
- package/dist/src/ai-tool-icon.d.ts +577 -0
- package/dist/src/ai-tool-icon.d.ts.map +1 -0
- package/dist/src/ai-tool-injection-token.d.ts +10 -0
- package/dist/src/ai-tool-injection-token.d.ts.map +1 -0
- package/dist/src/ai-tool-installation-instructions.d.ts +20 -0
- package/dist/src/ai-tool-installation-instructions.d.ts.map +1 -0
- package/dist/src/ai-tool-installed-via-cli-command.d.ts +17 -0
- package/dist/src/ai-tool-installed-via-cli-command.d.ts.map +1 -0
- package/dist/src/ai-tool-instructions-filename.d.ts +20 -0
- package/dist/src/ai-tool-instructions-filename.d.ts.map +1 -0
- package/dist/src/ai-tool-instructions-filenames.d.ts +13 -0
- package/dist/src/ai-tool-instructions-filenames.d.ts.map +1 -0
- package/dist/src/ai-tool-is-configured.d.ts +17 -0
- package/dist/src/ai-tool-is-configured.d.ts.map +1 -0
- package/dist/src/ai-tool-name.d.ts +17 -0
- package/dist/src/ai-tool-name.d.ts.map +1 -0
- package/dist/src/ai-tool-order-number.d.ts +16 -0
- package/dist/src/ai-tool-order-number.d.ts.map +1 -0
- package/dist/src/ai-tool-selection-row.d.ts +18 -0
- package/dist/src/ai-tool-selection-row.d.ts.map +1 -0
- package/dist/src/ai-tool-settings.d.ts +18 -0
- package/dist/src/ai-tool-settings.d.ts.map +1 -0
- package/dist/src/ai-tool-top-bar-menu.d.ts +46 -0
- package/dist/src/ai-tool-top-bar-menu.d.ts.map +1 -0
- package/dist/src/ai-tool.d.ts +64 -0
- package/dist/src/ai-tool.d.ts.map +1 -0
- package/dist/src/ai-tools-injection-token.d.ts +12 -0
- package/dist/src/ai-tools-injection-token.d.ts.map +1 -0
- package/dist/src/ai-tools-open-externally.d.ts +17 -0
- package/dist/src/ai-tools-open-externally.d.ts.map +1 -0
- package/dist/src/build-external-terminal-command.d.ts +33 -0
- package/dist/src/build-external-terminal-command.d.ts.map +1 -0
- package/dist/src/current-shell-family.d.ts +13 -0
- package/dist/src/current-shell-family.d.ts.map +1 -0
- package/dist/src/default-ai-tool-icon.d.ts +8 -0
- package/dist/src/default-ai-tool-icon.d.ts.map +1 -0
- package/dist/src/detected-ai-tools.d.ts +15 -0
- package/dist/src/detected-ai-tools.d.ts.map +1 -0
- package/dist/src/get-ai-command-for-terminal.d.ts +17 -0
- package/dist/src/get-ai-command-for-terminal.d.ts.map +1 -0
- package/dist/src/get-ai-tool-injectable-bunch.d.ts +534 -0
- package/dist/src/get-ai-tool-injectable-bunch.d.ts.map +1 -0
- package/dist/src/get-ai-tool-is-installed-cli-command.d.ts +20 -0
- package/dist/src/get-ai-tool-is-installed-cli-command.d.ts.map +1 -0
- package/dist/src/get-open-tool-in-external-terminal-for-tool.d.ts +17 -0
- package/dist/src/get-open-tool-in-external-terminal-for-tool.d.ts.map +1 -0
- package/dist/src/get-resume-ai-command-for-terminal.d.ts +23 -0
- package/dist/src/get-resume-ai-command-for-terminal.d.ts.map +1 -0
- package/dist/src/operating-system-specific.d.ts +16 -0
- package/dist/src/operating-system-specific.d.ts.map +1 -0
- package/dist/src/os-and-shell-specific.d.ts +133 -0
- package/dist/src/os-and-shell-specific.d.ts.map +1 -0
- package/dist/src/resolve-llm-command.d.ts +16 -0
- package/dist/src/resolve-llm-command.d.ts.map +1 -0
- package/dist/src/selected-ai-tool-injection-tokens.d.ts +363 -0
- package/dist/src/selected-ai-tool-injection-tokens.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { Factory, InjectionToken2 } from "@k8slens/injectable";
|
|
2
|
+
import { type PerShellFamily, type ShellScoped } from "@k8slens/platform-specific-injectables";
|
|
3
|
+
import type { OperatingSystemSpecific } from "./operating-system-specific";
|
|
4
|
+
/**
|
|
5
|
+
* A value provided separately per shell family. The shell analogue of
|
|
6
|
+
* {@link OperatingSystemSpecific}.
|
|
7
|
+
*/
|
|
8
|
+
export type ShellSpecific<T> = PerShellFamily<T>;
|
|
9
|
+
/**
|
|
10
|
+
* A value that is either shell-agnostic (the value itself) or shell specific (a
|
|
11
|
+
* {@link ShellSpecific} object). The shell analogue of `MaybeOperatingSystemSpecific`.
|
|
12
|
+
*/
|
|
13
|
+
export type MaybeShellSpecific<T> = T | ShellSpecific<T>;
|
|
14
|
+
/** A value provided per operating system, and within each, per shell family. */
|
|
15
|
+
export type OperatingSystemAndShellSpecific<T> = OperatingSystemSpecific<ShellSpecific<T>>;
|
|
16
|
+
/**
|
|
17
|
+
* A value that may vary along either axis: agnostic, operating-system specific,
|
|
18
|
+
* shell specific, or both. Used for the AI-tool CLI commands so a tool may differ
|
|
19
|
+
* its command *content* per OS and/or shell (e.g. launch-by-name vs path, or
|
|
20
|
+
* per-OS discovery logic).
|
|
21
|
+
*/
|
|
22
|
+
export type MaybeOperatingSystemAndShellSpecific<T> = T | OperatingSystemSpecific<T> | ShellSpecific<T> | OperatingSystemAndShellSpecific<T>;
|
|
23
|
+
/**
|
|
24
|
+
* Registers a {@link MaybeOperatingSystemAndShellSpecific} value under a single
|
|
25
|
+
* token so consumers resolve it at runtime with
|
|
26
|
+
* `resolveForShell(injectMany(token)(), shellFamily)`. The **OS** axis is filtered
|
|
27
|
+
* synchronously at registration (host-only `*-only` tags, via
|
|
28
|
+
* `getInjectableForOperatingSystemsAndShells`); the **shell** axis is selected at
|
|
29
|
+
* runtime, since the configured shell is async. Agnostic and OS-only values are
|
|
30
|
+
* repeated across the shell families so every token uniformly yields
|
|
31
|
+
* `ShellScoped<F>`. The shell analogue/superset of `getInjectableForOperatingSystems`.
|
|
32
|
+
*/
|
|
33
|
+
export declare const getOsAndShellAwareInjectable: <F extends Factory>(args: {
|
|
34
|
+
id: string;
|
|
35
|
+
injectionToken: InjectionToken2<{
|
|
36
|
+
singleFactory: () => ShellScoped<F>;
|
|
37
|
+
manyFactory: any;
|
|
38
|
+
specificTokenFactory: undefined;
|
|
39
|
+
cardinality: any;
|
|
40
|
+
}>;
|
|
41
|
+
value: MaybeOperatingSystemAndShellSpecific<F>;
|
|
42
|
+
}) => {
|
|
43
|
+
posix: import("@k8slens/injectable").Injectable2<() => {
|
|
44
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
45
|
+
value: F;
|
|
46
|
+
}>;
|
|
47
|
+
fish: import("@k8slens/injectable").Injectable2<() => {
|
|
48
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
49
|
+
value: F;
|
|
50
|
+
}>;
|
|
51
|
+
cmd: import("@k8slens/injectable").Injectable2<() => {
|
|
52
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
53
|
+
value: F;
|
|
54
|
+
}>;
|
|
55
|
+
powershell: import("@k8slens/injectable").Injectable2<() => {
|
|
56
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
57
|
+
value: F;
|
|
58
|
+
}>;
|
|
59
|
+
} | {
|
|
60
|
+
macos: {
|
|
61
|
+
posix: import("@k8slens/injectable").Injectable2<() => {
|
|
62
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
63
|
+
value: F;
|
|
64
|
+
}>;
|
|
65
|
+
fish: import("@k8slens/injectable").Injectable2<() => {
|
|
66
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
67
|
+
value: F;
|
|
68
|
+
}>;
|
|
69
|
+
cmd: import("@k8slens/injectable").Injectable2<() => {
|
|
70
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
71
|
+
value: F;
|
|
72
|
+
}>;
|
|
73
|
+
powershell: import("@k8slens/injectable").Injectable2<() => {
|
|
74
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
75
|
+
value: F;
|
|
76
|
+
}>;
|
|
77
|
+
};
|
|
78
|
+
windows: {
|
|
79
|
+
posix: import("@k8slens/injectable").Injectable2<() => {
|
|
80
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
81
|
+
value: F;
|
|
82
|
+
}>;
|
|
83
|
+
fish: import("@k8slens/injectable").Injectable2<() => {
|
|
84
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
85
|
+
value: F;
|
|
86
|
+
}>;
|
|
87
|
+
cmd: import("@k8slens/injectable").Injectable2<() => {
|
|
88
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
89
|
+
value: F;
|
|
90
|
+
}>;
|
|
91
|
+
powershell: import("@k8slens/injectable").Injectable2<() => {
|
|
92
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
93
|
+
value: F;
|
|
94
|
+
}>;
|
|
95
|
+
};
|
|
96
|
+
linux: {
|
|
97
|
+
posix: import("@k8slens/injectable").Injectable2<() => {
|
|
98
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
99
|
+
value: F;
|
|
100
|
+
}>;
|
|
101
|
+
fish: import("@k8slens/injectable").Injectable2<() => {
|
|
102
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
103
|
+
value: F;
|
|
104
|
+
}>;
|
|
105
|
+
cmd: import("@k8slens/injectable").Injectable2<() => {
|
|
106
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
107
|
+
value: F;
|
|
108
|
+
}>;
|
|
109
|
+
powershell: import("@k8slens/injectable").Injectable2<() => {
|
|
110
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
111
|
+
value: F;
|
|
112
|
+
}>;
|
|
113
|
+
};
|
|
114
|
+
unitTesting: {
|
|
115
|
+
posix: import("@k8slens/injectable").Injectable2<() => {
|
|
116
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
117
|
+
value: F;
|
|
118
|
+
}>;
|
|
119
|
+
fish: import("@k8slens/injectable").Injectable2<() => {
|
|
120
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
121
|
+
value: F;
|
|
122
|
+
}>;
|
|
123
|
+
cmd: import("@k8slens/injectable").Injectable2<() => {
|
|
124
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
125
|
+
value: F;
|
|
126
|
+
}>;
|
|
127
|
+
powershell: import("@k8slens/injectable").Injectable2<() => {
|
|
128
|
+
shellFamily: import("@k8slens/public-utilities").ShellFamily;
|
|
129
|
+
value: F;
|
|
130
|
+
}>;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=os-and-shell-specific.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"os-and-shell-specific.d.ts","sourceRoot":"","sources":["../../src/os-and-shell-specific.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAEzD,gFAAgF;AAChF,MAAM,MAAM,+BAA+B,CAAC,CAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,MAAM,oCAAoC,CAAC,CAAC,IAC9C,CAAC,GACD,uBAAuB,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,GAChB,+BAA+B,CAAC,CAAC,CAAC,CAAC;AAsBvC;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,OAAO,QAAQ;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,eAAe,CAAC;QAC9B,aAAa,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,GAAG,CAAC;QACjB,oBAAoB,EAAE,SAAS,CAAC;QAChC,WAAW,EAAE,GAAG,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,EAAE,oCAAoC,CAAC,CAAC,CAAC,CAAC;CAChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBA,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ResolveLlmCommandOptions {
|
|
2
|
+
/** Seeded initial user message, substituted into `{prompt}`. */
|
|
3
|
+
prompt?: string;
|
|
4
|
+
/** Working directory the command runs in, substituted (shell-escaped) into `{dir}`. */
|
|
5
|
+
dir?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolve a free-text LLM command template by substituting the `{prompt}` and
|
|
9
|
+
* `{dir}` placeholders with shell-escaped values. Unfilled placeholders (and one
|
|
10
|
+
* leading whitespace run) are stripped. A value with no matching placeholder is
|
|
11
|
+
* simply omitted — in particular, a seeded prompt is NOT appended to a template
|
|
12
|
+
* that omits `{prompt}` (a command such as `open -a iTerm {dir}` must not receive
|
|
13
|
+
* the prompt as a stray argument).
|
|
14
|
+
*/
|
|
15
|
+
export declare const resolveLlmCommand: (template: string, { prompt, dir }?: ResolveLlmCommandOptions) => string;
|
|
16
|
+
//# sourceMappingURL=resolve-llm-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-llm-command.d.ts","sourceRoot":"","sources":["../../src/resolve-llm-command.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,aAAc,MAAM,oBAAmB,wBAAwB,KAAQ,MAMpG,CAAC"}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import type { IComputedValue, IObservableValue } from "mobx";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
import type { SvgProps } from "@k8slens/element-components";
|
|
4
|
+
import type { AiToolKind, GetCliCommand, GetOpenToolInExternalTerminalCliCommand } from "./ai-tool";
|
|
5
|
+
/** Resolves the persisted raw selection: a tool kind, `customAiToolKind`, `noAiToolKind`, or `undefined` (unset). */
|
|
6
|
+
export type SelectedAiToolKind = () => Promise<IObservableValue<AiToolKind | undefined>>;
|
|
7
|
+
/**
|
|
8
|
+
* The user's persisted AI tool selection. Holds a contributed tool kind, the
|
|
9
|
+
* `customAiToolKind` sentinel, the `noAiToolKind` opt-out, or `undefined` when never
|
|
10
|
+
* set. Read/write — the preferences selector binds to it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const selectedAiToolKindInjectionToken: import("@k8slens/injectable").InjectionToken2Base<SelectedAiToolKind, () => Promise<IObservableValue<string | undefined>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IObservableValue<string | undefined>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IObservableValue<string | undefined>>>[]> & {
|
|
13
|
+
readonly __abstract?: never;
|
|
14
|
+
};
|
|
15
|
+
/** Resolves the effective selection: the raw selection if installed, else `noAiToolKind`. */
|
|
16
|
+
export type EffectiveAiToolKind = () => Promise<IComputedValue<AiToolKind>>;
|
|
17
|
+
/**
|
|
18
|
+
* The effective AI tool kind: the raw selection when it is an installed kind (a
|
|
19
|
+
* real tool or `customAiToolKind`), otherwise `noAiToolKind`. So an unset
|
|
20
|
+
* selection, an explicit "No AI tool", and a selected-but-uninstalled tool all
|
|
21
|
+
* resolve to `noAiToolKind` — the default and the fallback.
|
|
22
|
+
*/
|
|
23
|
+
export declare const effectiveAiToolKindInjectionToken: import("@k8slens/injectable").InjectionToken2Base<EffectiveAiToolKind, () => Promise<IComputedValue<string>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<string>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<string>>>[]> & {
|
|
24
|
+
readonly __abstract?: never;
|
|
25
|
+
};
|
|
26
|
+
/** Resolves the effective command builder, or `undefined` when Custom or "No AI tool" is effective. */
|
|
27
|
+
export type SelectedAiToolCommand = () => Promise<IComputedValue<GetCliCommand | undefined>>;
|
|
28
|
+
/**
|
|
29
|
+
* The command builder for the effective selection, or `undefined` when the
|
|
30
|
+
* effective selection is `customAiToolKind` (the consumer then uses its own
|
|
31
|
+
* free-text command) or `noAiToolKind` (nothing to launch). Consumed when
|
|
32
|
+
* launching an AI tool.
|
|
33
|
+
*/
|
|
34
|
+
export declare const selectedAiToolCommandInjectionToken: import("@k8slens/injectable").InjectionToken2Base<SelectedAiToolCommand, () => Promise<IComputedValue<GetCliCommand | undefined>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<GetCliCommand | undefined>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<GetCliCommand | undefined>>>[]> & {
|
|
35
|
+
readonly __abstract?: never;
|
|
36
|
+
};
|
|
37
|
+
/** Resolves the effective tool's resume command builder, or `undefined` when it has no resume invocation. */
|
|
38
|
+
export type SelectedAiToolResumeCommand = () => Promise<IComputedValue<GetCliCommand | undefined>>;
|
|
39
|
+
/**
|
|
40
|
+
* The command builder that *resumes* the effective selection (e.g. building
|
|
41
|
+
* `claude --continue || claude`), or `undefined` when the effective tool declares no
|
|
42
|
+
* resume invocation. Consumed when re-establishing an AI tool's session — a
|
|
43
|
+
* terminal tab runs this instead of the launch command after a restart.
|
|
44
|
+
*/
|
|
45
|
+
export declare const selectedAiToolResumeCommandInjectionToken: import("@k8slens/injectable").InjectionToken2Base<SelectedAiToolResumeCommand, () => Promise<IComputedValue<GetCliCommand | undefined>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<GetCliCommand | undefined>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<GetCliCommand | undefined>>>[]> & {
|
|
46
|
+
readonly __abstract?: never;
|
|
47
|
+
};
|
|
48
|
+
/** Resolves the effective tool's "open in external terminal" command builder for the host OS. */
|
|
49
|
+
export type SelectedAiToolOpenInExternalTerminalCommand = () => Promise<IComputedValue<GetOpenToolInExternalTerminalCliCommand | undefined>>;
|
|
50
|
+
/**
|
|
51
|
+
* The command builder that opens the effective selected tool in a fresh external
|
|
52
|
+
* terminal window, for the host operating system. Consumed when the global "open
|
|
53
|
+
* AI tools in an external terminal" toggle is on — the consumer calls it with
|
|
54
|
+
* `{ prompt, dir, env }` and spawns the result detached. Resolves the tool's
|
|
55
|
+
* host-OS variant (macOS Terminal, Windows Terminal, or a Linux fallback chain) via
|
|
56
|
+
* the per-kind `getOpenToolInExternalTerminalForTool` token.
|
|
57
|
+
*/
|
|
58
|
+
export declare const selectedAiToolOpenInExternalTerminalCommandInjectionToken: import("@k8slens/injectable").InjectionToken2Base<SelectedAiToolOpenInExternalTerminalCommand, () => Promise<IComputedValue<GetOpenToolInExternalTerminalCliCommand | undefined>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<GetOpenToolInExternalTerminalCliCommand | undefined>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<GetOpenToolInExternalTerminalCliCommand | undefined>>>[]> & {
|
|
59
|
+
readonly __abstract?: never;
|
|
60
|
+
};
|
|
61
|
+
/** Resolves the effective tool's display-name React component. */
|
|
62
|
+
export type EffectiveAiToolName = () => Promise<IComputedValue<React.ComponentType>>;
|
|
63
|
+
/**
|
|
64
|
+
* The effective selected tool's display-name component (e.g. renders "Claude
|
|
65
|
+
* Code"). Drives the React surfaces that name the AI tool — "Ask <name>"
|
|
66
|
+
* buttons and the top-bar label.
|
|
67
|
+
*/
|
|
68
|
+
export declare const effectiveAiToolNameInjectionToken: import("@k8slens/injectable").InjectionToken2Base<EffectiveAiToolName, () => Promise<IComputedValue<React.ComponentType<{}>>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<React.ComponentType<{}>>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<React.ComponentType<{}>>>>[]> & {
|
|
69
|
+
readonly __abstract?: never;
|
|
70
|
+
};
|
|
71
|
+
/** Resolves the effective tool's plain-text display name. */
|
|
72
|
+
export type EffectiveAiToolDisplayName = () => Promise<IComputedValue<string>>;
|
|
73
|
+
/**
|
|
74
|
+
* The effective selected tool's plain-text name, for string-only slots that
|
|
75
|
+
* cannot render the React name component (e.g. the command-palette entry title).
|
|
76
|
+
*/
|
|
77
|
+
export declare const effectiveAiToolDisplayNameInjectionToken: import("@k8slens/injectable").InjectionToken2Base<EffectiveAiToolDisplayName, () => Promise<IComputedValue<string>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<string>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<string>>>[]> & {
|
|
78
|
+
readonly __abstract?: never;
|
|
79
|
+
};
|
|
80
|
+
/** Resolves the effective tool's icon component. */
|
|
81
|
+
export type EffectiveAiToolIcon = () => Promise<IComputedValue<React.ComponentType<SvgProps>>>;
|
|
82
|
+
/**
|
|
83
|
+
* The effective selected tool's icon component, shown wherever the tool is offered
|
|
84
|
+
* (the "Ask <name>" buttons and the top-bar button) in place of a fixed brand
|
|
85
|
+
* icon.
|
|
86
|
+
*/
|
|
87
|
+
export declare const effectiveAiToolIconInjectionToken: import("@k8slens/injectable").InjectionToken2Base<EffectiveAiToolIcon, () => Promise<IComputedValue<React.ComponentType<{
|
|
88
|
+
$className?: import("@k8slens/public-utilities").IClassName;
|
|
89
|
+
className?: string;
|
|
90
|
+
$block?: boolean | "inline";
|
|
91
|
+
$cursor?: import("@k8slens/element-components").$CursorProps;
|
|
92
|
+
readonly $color?: import("@k8slens/element-components").TextColor | import("@k8slens/element-components").$ColorProps;
|
|
93
|
+
$backgroundColor?: import("@k8slens/element-components").BackgroundColor | import("@k8slens/element-components").$BackgroundColorProps;
|
|
94
|
+
$border?: import("@k8slens/element-components").$BorderProps;
|
|
95
|
+
$padding?: boolean | import("@k8slens/element-components").DirectionalPadding | import("@k8slens/element-components").TShirtSize;
|
|
96
|
+
$margin?: boolean | import("@k8slens/element-components").DirectionalMargin | import("@k8slens/element-components").TShirtSize | "auto";
|
|
97
|
+
$overflow?: import("@k8slens/element-components").Overflow | {
|
|
98
|
+
x?: import("@k8slens/element-components").Overflow;
|
|
99
|
+
y?: import("@k8slens/element-components").Overflow;
|
|
100
|
+
hideScrollbar?: boolean;
|
|
101
|
+
};
|
|
102
|
+
readonly $anchor?: boolean;
|
|
103
|
+
readonly $anchoredAt?: import("@k8slens/element-components").AnchoredAt;
|
|
104
|
+
readonly children?: React.ReactNode;
|
|
105
|
+
readonly $onOutsideClick?: (event: PointerEvent) => void;
|
|
106
|
+
$textAlign?: "left" | "center" | "right";
|
|
107
|
+
$ref?: import("@k8slens/element-components").$RefProp<HTMLElement>;
|
|
108
|
+
ref?: import("@k8slens/element-components").RefLike<HTMLElement>;
|
|
109
|
+
$focusable?: {
|
|
110
|
+
context: import("@k8slens/element-components").AnyFocusableContext<any>;
|
|
111
|
+
item: any;
|
|
112
|
+
orderNumber?: number;
|
|
113
|
+
} | undefined;
|
|
114
|
+
onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
|
|
115
|
+
onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
|
|
116
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
|
|
117
|
+
tabIndex?: HTMLElement["tabIndex"];
|
|
118
|
+
$grayscale?: boolean;
|
|
119
|
+
$style?: React.CSSProperties;
|
|
120
|
+
style?: React.CSSProperties;
|
|
121
|
+
$tint?: string;
|
|
122
|
+
$faded?: boolean;
|
|
123
|
+
$outline?: {
|
|
124
|
+
focusVisible?: import("@k8slens/element-components").$OutlineProps;
|
|
125
|
+
};
|
|
126
|
+
readonly $floating?: import("@k8slens/element-components").$FloatingProps;
|
|
127
|
+
$boxShadow?: boolean | "elevated" | "subtle";
|
|
128
|
+
readonly $hoverable?: import("@k8slens/public-utilities").SingleOrMany<import("@k8slens/element-components").$HoverableProps>;
|
|
129
|
+
onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
|
|
130
|
+
onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
|
|
131
|
+
$hoverableByDragging?: import("@k8slens/public-utilities").SingleOrMany<import("@k8slens/element-components").$HoverableByDraggingProps<any>> | undefined;
|
|
132
|
+
$absolute?: import("@k8slens/element-components").AbsolutePosition | boolean;
|
|
133
|
+
$hidden?: boolean;
|
|
134
|
+
$noPointerEvents?: boolean;
|
|
135
|
+
$offset?: {
|
|
136
|
+
direction: import("@k8slens/element-components").Direction;
|
|
137
|
+
size: import("@k8slens/element-components").TShirtSize;
|
|
138
|
+
};
|
|
139
|
+
$offsetChildren?: {
|
|
140
|
+
direction: import("@k8slens/element-components").Direction;
|
|
141
|
+
size: import("@k8slens/element-components").TShirtSize;
|
|
142
|
+
};
|
|
143
|
+
$relative?: boolean;
|
|
144
|
+
$fixed?: boolean;
|
|
145
|
+
$transition?: boolean;
|
|
146
|
+
$visuallyHidden?: boolean;
|
|
147
|
+
$displayContents?: boolean;
|
|
148
|
+
$draggable?: {
|
|
149
|
+
context: import("@k8slens/element-components").DraggableContext<any>;
|
|
150
|
+
item: any;
|
|
151
|
+
} | undefined;
|
|
152
|
+
$droppable?: {
|
|
153
|
+
context: import("@k8slens/element-components").DraggableContext<any>;
|
|
154
|
+
onDrop: (item: any) => void;
|
|
155
|
+
} | undefined;
|
|
156
|
+
$font?: boolean | {
|
|
157
|
+
size?: import("@k8slens/element-components").FontSize;
|
|
158
|
+
italic?: boolean;
|
|
159
|
+
bold?: boolean | "600";
|
|
160
|
+
lineHeight?: import("@k8slens/element-components").FontLineHeight;
|
|
161
|
+
forceWrap?: boolean;
|
|
162
|
+
noWrap?: boolean;
|
|
163
|
+
uppercase?: boolean;
|
|
164
|
+
underline?: boolean;
|
|
165
|
+
textOverflow?: "clip" | "ellipsis" | "default";
|
|
166
|
+
};
|
|
167
|
+
$tooltip?: string | import("@k8slens/element-components").$TooltipProps<any> | null;
|
|
168
|
+
$width?: import("@k8slens/element-components").TShirtSize | "full" | "stretch" | import("@k8slens/element-components").$WidthProps;
|
|
169
|
+
$height?: import("@k8slens/element-components").TShirtSize | "full" | "auto" | "stretch" | import("@k8slens/element-components").$HeightProps;
|
|
170
|
+
$size?: import("@k8slens/element-components").TShirtSize | "full" | import("@k8slens/element-components").$SizeProps;
|
|
171
|
+
$grid?: import("@k8slens/element-components").GridProps;
|
|
172
|
+
$flex?: import("@k8slens/element-components").SimpleFlexProp | import("@k8slens/element-components").MaximalFlexProps;
|
|
173
|
+
$gradient?: boolean;
|
|
174
|
+
$flexChild?: boolean | number | "shrinkable" | "fixed";
|
|
175
|
+
$area?: boolean;
|
|
176
|
+
$areaContent?: boolean;
|
|
177
|
+
$invisibleBackdrop?: boolean;
|
|
178
|
+
} & React.SVGProps<SVGSVGElement>>>>[], "one", () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<React.ComponentType<{
|
|
179
|
+
$className?: import("@k8slens/public-utilities").IClassName;
|
|
180
|
+
className?: string;
|
|
181
|
+
$block?: boolean | "inline";
|
|
182
|
+
$cursor?: import("@k8slens/element-components").$CursorProps;
|
|
183
|
+
readonly $color?: import("@k8slens/element-components").TextColor | import("@k8slens/element-components").$ColorProps;
|
|
184
|
+
$backgroundColor?: import("@k8slens/element-components").BackgroundColor | import("@k8slens/element-components").$BackgroundColorProps;
|
|
185
|
+
$border?: import("@k8slens/element-components").$BorderProps;
|
|
186
|
+
$padding?: boolean | import("@k8slens/element-components").DirectionalPadding | import("@k8slens/element-components").TShirtSize;
|
|
187
|
+
$margin?: boolean | import("@k8slens/element-components").DirectionalMargin | import("@k8slens/element-components").TShirtSize | "auto";
|
|
188
|
+
$overflow?: import("@k8slens/element-components").Overflow | {
|
|
189
|
+
x?: import("@k8slens/element-components").Overflow;
|
|
190
|
+
y?: import("@k8slens/element-components").Overflow;
|
|
191
|
+
hideScrollbar?: boolean;
|
|
192
|
+
};
|
|
193
|
+
readonly $anchor?: boolean;
|
|
194
|
+
readonly $anchoredAt?: import("@k8slens/element-components").AnchoredAt;
|
|
195
|
+
readonly children?: React.ReactNode;
|
|
196
|
+
readonly $onOutsideClick?: (event: PointerEvent) => void;
|
|
197
|
+
$textAlign?: "left" | "center" | "right";
|
|
198
|
+
$ref?: import("@k8slens/element-components").$RefProp<HTMLElement>;
|
|
199
|
+
ref?: import("@k8slens/element-components").RefLike<HTMLElement>;
|
|
200
|
+
$focusable?: {
|
|
201
|
+
context: import("@k8slens/element-components").AnyFocusableContext<any>;
|
|
202
|
+
item: any;
|
|
203
|
+
orderNumber?: number;
|
|
204
|
+
} | undefined;
|
|
205
|
+
onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
|
|
206
|
+
onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
|
|
207
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
|
|
208
|
+
tabIndex?: HTMLElement["tabIndex"];
|
|
209
|
+
$grayscale?: boolean;
|
|
210
|
+
$style?: React.CSSProperties;
|
|
211
|
+
style?: React.CSSProperties;
|
|
212
|
+
$tint?: string;
|
|
213
|
+
$faded?: boolean;
|
|
214
|
+
$outline?: {
|
|
215
|
+
focusVisible?: import("@k8slens/element-components").$OutlineProps;
|
|
216
|
+
};
|
|
217
|
+
readonly $floating?: import("@k8slens/element-components").$FloatingProps;
|
|
218
|
+
$boxShadow?: boolean | "elevated" | "subtle";
|
|
219
|
+
readonly $hoverable?: import("@k8slens/public-utilities").SingleOrMany<import("@k8slens/element-components").$HoverableProps>;
|
|
220
|
+
onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
|
|
221
|
+
onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
|
|
222
|
+
$hoverableByDragging?: import("@k8slens/public-utilities").SingleOrMany<import("@k8slens/element-components").$HoverableByDraggingProps<any>> | undefined;
|
|
223
|
+
$absolute?: import("@k8slens/element-components").AbsolutePosition | boolean;
|
|
224
|
+
$hidden?: boolean;
|
|
225
|
+
$noPointerEvents?: boolean;
|
|
226
|
+
$offset?: {
|
|
227
|
+
direction: import("@k8slens/element-components").Direction;
|
|
228
|
+
size: import("@k8slens/element-components").TShirtSize;
|
|
229
|
+
};
|
|
230
|
+
$offsetChildren?: {
|
|
231
|
+
direction: import("@k8slens/element-components").Direction;
|
|
232
|
+
size: import("@k8slens/element-components").TShirtSize;
|
|
233
|
+
};
|
|
234
|
+
$relative?: boolean;
|
|
235
|
+
$fixed?: boolean;
|
|
236
|
+
$transition?: boolean;
|
|
237
|
+
$visuallyHidden?: boolean;
|
|
238
|
+
$displayContents?: boolean;
|
|
239
|
+
$draggable?: {
|
|
240
|
+
context: import("@k8slens/element-components").DraggableContext<any>;
|
|
241
|
+
item: any;
|
|
242
|
+
} | undefined;
|
|
243
|
+
$droppable?: {
|
|
244
|
+
context: import("@k8slens/element-components").DraggableContext<any>;
|
|
245
|
+
onDrop: (item: any) => void;
|
|
246
|
+
} | undefined;
|
|
247
|
+
$font?: boolean | {
|
|
248
|
+
size?: import("@k8slens/element-components").FontSize;
|
|
249
|
+
italic?: boolean;
|
|
250
|
+
bold?: boolean | "600";
|
|
251
|
+
lineHeight?: import("@k8slens/element-components").FontLineHeight;
|
|
252
|
+
forceWrap?: boolean;
|
|
253
|
+
noWrap?: boolean;
|
|
254
|
+
uppercase?: boolean;
|
|
255
|
+
underline?: boolean;
|
|
256
|
+
textOverflow?: "clip" | "ellipsis" | "default";
|
|
257
|
+
};
|
|
258
|
+
$tooltip?: string | import("@k8slens/element-components").$TooltipProps<any> | null;
|
|
259
|
+
$width?: import("@k8slens/element-components").TShirtSize | "full" | "stretch" | import("@k8slens/element-components").$WidthProps;
|
|
260
|
+
$height?: import("@k8slens/element-components").TShirtSize | "full" | "auto" | "stretch" | import("@k8slens/element-components").$HeightProps;
|
|
261
|
+
$size?: import("@k8slens/element-components").TShirtSize | "full" | import("@k8slens/element-components").$SizeProps;
|
|
262
|
+
$grid?: import("@k8slens/element-components").GridProps;
|
|
263
|
+
$flex?: import("@k8slens/element-components").SimpleFlexProp | import("@k8slens/element-components").MaximalFlexProps;
|
|
264
|
+
$gradient?: boolean;
|
|
265
|
+
$flexChild?: boolean | number | "shrinkable" | "fixed";
|
|
266
|
+
$area?: boolean;
|
|
267
|
+
$areaContent?: boolean;
|
|
268
|
+
$invisibleBackdrop?: boolean;
|
|
269
|
+
} & React.SVGProps<SVGSVGElement>>>>>, () => import("@k8slens/injectable").InjectionInstanceWithMeta<Promise<IComputedValue<React.ComponentType<{
|
|
270
|
+
$className?: import("@k8slens/public-utilities").IClassName;
|
|
271
|
+
className?: string;
|
|
272
|
+
$block?: boolean | "inline";
|
|
273
|
+
$cursor?: import("@k8slens/element-components").$CursorProps;
|
|
274
|
+
readonly $color?: import("@k8slens/element-components").TextColor | import("@k8slens/element-components").$ColorProps;
|
|
275
|
+
$backgroundColor?: import("@k8slens/element-components").BackgroundColor | import("@k8slens/element-components").$BackgroundColorProps;
|
|
276
|
+
$border?: import("@k8slens/element-components").$BorderProps;
|
|
277
|
+
$padding?: boolean | import("@k8slens/element-components").DirectionalPadding | import("@k8slens/element-components").TShirtSize;
|
|
278
|
+
$margin?: boolean | import("@k8slens/element-components").DirectionalMargin | import("@k8slens/element-components").TShirtSize | "auto";
|
|
279
|
+
$overflow?: import("@k8slens/element-components").Overflow | {
|
|
280
|
+
x?: import("@k8slens/element-components").Overflow;
|
|
281
|
+
y?: import("@k8slens/element-components").Overflow;
|
|
282
|
+
hideScrollbar?: boolean;
|
|
283
|
+
};
|
|
284
|
+
readonly $anchor?: boolean;
|
|
285
|
+
readonly $anchoredAt?: import("@k8slens/element-components").AnchoredAt;
|
|
286
|
+
readonly children?: React.ReactNode;
|
|
287
|
+
readonly $onOutsideClick?: (event: PointerEvent) => void;
|
|
288
|
+
$textAlign?: "left" | "center" | "right";
|
|
289
|
+
$ref?: import("@k8slens/element-components").$RefProp<HTMLElement>;
|
|
290
|
+
ref?: import("@k8slens/element-components").RefLike<HTMLElement>;
|
|
291
|
+
$focusable?: {
|
|
292
|
+
context: import("@k8slens/element-components").AnyFocusableContext<any>;
|
|
293
|
+
item: any;
|
|
294
|
+
orderNumber?: number;
|
|
295
|
+
} | undefined;
|
|
296
|
+
onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
|
|
297
|
+
onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
|
|
298
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
|
|
299
|
+
tabIndex?: HTMLElement["tabIndex"];
|
|
300
|
+
$grayscale?: boolean;
|
|
301
|
+
$style?: React.CSSProperties;
|
|
302
|
+
style?: React.CSSProperties;
|
|
303
|
+
$tint?: string;
|
|
304
|
+
$faded?: boolean;
|
|
305
|
+
$outline?: {
|
|
306
|
+
focusVisible?: import("@k8slens/element-components").$OutlineProps;
|
|
307
|
+
};
|
|
308
|
+
readonly $floating?: import("@k8slens/element-components").$FloatingProps;
|
|
309
|
+
$boxShadow?: boolean | "elevated" | "subtle";
|
|
310
|
+
readonly $hoverable?: import("@k8slens/public-utilities").SingleOrMany<import("@k8slens/element-components").$HoverableProps>;
|
|
311
|
+
onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
|
|
312
|
+
onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
|
|
313
|
+
$hoverableByDragging?: import("@k8slens/public-utilities").SingleOrMany<import("@k8slens/element-components").$HoverableByDraggingProps<any>> | undefined;
|
|
314
|
+
$absolute?: import("@k8slens/element-components").AbsolutePosition | boolean;
|
|
315
|
+
$hidden?: boolean;
|
|
316
|
+
$noPointerEvents?: boolean;
|
|
317
|
+
$offset?: {
|
|
318
|
+
direction: import("@k8slens/element-components").Direction;
|
|
319
|
+
size: import("@k8slens/element-components").TShirtSize;
|
|
320
|
+
};
|
|
321
|
+
$offsetChildren?: {
|
|
322
|
+
direction: import("@k8slens/element-components").Direction;
|
|
323
|
+
size: import("@k8slens/element-components").TShirtSize;
|
|
324
|
+
};
|
|
325
|
+
$relative?: boolean;
|
|
326
|
+
$fixed?: boolean;
|
|
327
|
+
$transition?: boolean;
|
|
328
|
+
$visuallyHidden?: boolean;
|
|
329
|
+
$displayContents?: boolean;
|
|
330
|
+
$draggable?: {
|
|
331
|
+
context: import("@k8slens/element-components").DraggableContext<any>;
|
|
332
|
+
item: any;
|
|
333
|
+
} | undefined;
|
|
334
|
+
$droppable?: {
|
|
335
|
+
context: import("@k8slens/element-components").DraggableContext<any>;
|
|
336
|
+
onDrop: (item: any) => void;
|
|
337
|
+
} | undefined;
|
|
338
|
+
$font?: boolean | {
|
|
339
|
+
size?: import("@k8slens/element-components").FontSize;
|
|
340
|
+
italic?: boolean;
|
|
341
|
+
bold?: boolean | "600";
|
|
342
|
+
lineHeight?: import("@k8slens/element-components").FontLineHeight;
|
|
343
|
+
forceWrap?: boolean;
|
|
344
|
+
noWrap?: boolean;
|
|
345
|
+
uppercase?: boolean;
|
|
346
|
+
underline?: boolean;
|
|
347
|
+
textOverflow?: "clip" | "ellipsis" | "default";
|
|
348
|
+
};
|
|
349
|
+
$tooltip?: string | import("@k8slens/element-components").$TooltipProps<any> | null;
|
|
350
|
+
$width?: import("@k8slens/element-components").TShirtSize | "full" | "stretch" | import("@k8slens/element-components").$WidthProps;
|
|
351
|
+
$height?: import("@k8slens/element-components").TShirtSize | "full" | "auto" | "stretch" | import("@k8slens/element-components").$HeightProps;
|
|
352
|
+
$size?: import("@k8slens/element-components").TShirtSize | "full" | import("@k8slens/element-components").$SizeProps;
|
|
353
|
+
$grid?: import("@k8slens/element-components").GridProps;
|
|
354
|
+
$flex?: import("@k8slens/element-components").SimpleFlexProp | import("@k8slens/element-components").MaximalFlexProps;
|
|
355
|
+
$gradient?: boolean;
|
|
356
|
+
$flexChild?: boolean | number | "shrinkable" | "fixed";
|
|
357
|
+
$area?: boolean;
|
|
358
|
+
$areaContent?: boolean;
|
|
359
|
+
$invisibleBackdrop?: boolean;
|
|
360
|
+
} & React.SVGProps<SVGSVGElement>>>>>[]> & {
|
|
361
|
+
readonly __abstract?: never;
|
|
362
|
+
};
|
|
363
|
+
//# sourceMappingURL=selected-ai-tool-injection-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selected-ai-tool-injection-tokens.d.ts","sourceRoot":"","sources":["../../src/selected-ai-tool-injection-tokens.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,uCAAuC,EAAE,MAAM,WAAW,CAAC;AAEpG,qHAAqH;AACrH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;;CAGzC,CAAC;AAEL,6FAA6F;AAC7F,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;;CAG1C,CAAC;AAEL,uGAAuG;AACvG,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC;AAE7F;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC;;CAG5C,CAAC;AAEL,6GAA6G;AAC7G,MAAM,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,yCAAyC;;CAKlD,CAAC;AAEL,iGAAiG;AACjG,MAAM,MAAM,2CAA2C,GAAG,MAAM,OAAO,CACrE,cAAc,CAAC,uCAAuC,GAAG,SAAS,CAAC,CACpE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yDAAyD;;CAKlE,CAAC;AAEL,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;CAG1C,CAAC;AAEL,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,wCAAwC;;CAKjD,CAAC;AAEL,oDAAoD;AACpD,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE/F;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1C,CAAC"}
|