@aexol/spectral 0.9.229 → 0.9.231
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/CHANGELOG.md +2 -0
- package/dist/auth-helper.d.ts.map +1 -1
- package/dist/auth-helper.js +14 -8
- package/dist/commands/login.d.ts +12 -4
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +36 -15
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +3 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -1
- package/dist/designer/data/skills/blog-post.d.ts +3 -0
- package/dist/designer/data/skills/blog-post.d.ts.map +1 -0
- package/dist/designer/data/skills/blog-post.js +84 -0
- package/dist/designer/data/skills/blog-post.ts +87 -0
- package/dist/designer/data/skills/critique.d.ts +3 -0
- package/dist/designer/data/skills/critique.d.ts.map +1 -0
- package/dist/designer/data/skills/critique.js +109 -0
- package/dist/designer/data/skills/critique.ts +112 -0
- package/dist/designer/data/skills/dashboard.d.ts +3 -0
- package/dist/designer/data/skills/dashboard.d.ts.map +1 -0
- package/dist/designer/data/skills/dashboard.js +165 -0
- package/dist/designer/data/skills/dashboard.ts +168 -0
- package/dist/designer/data/skills/design-brief.d.ts +3 -0
- package/dist/designer/data/skills/design-brief.d.ts.map +1 -0
- package/dist/designer/data/skills/design-brief.js +141 -0
- package/dist/designer/data/skills/design-brief.ts +144 -0
- package/dist/designer/data/skills/design-skill.d.ts +10 -0
- package/dist/designer/data/skills/design-skill.d.ts.map +1 -0
- package/dist/designer/data/skills/design-skill.js +1 -0
- package/dist/designer/data/skills/design-skill.ts +9 -0
- package/dist/designer/data/skills/docs-page.d.ts +3 -0
- package/dist/designer/data/skills/docs-page.d.ts.map +1 -0
- package/dist/designer/data/skills/docs-page.js +68 -0
- package/dist/designer/data/skills/docs-page.ts +71 -0
- package/dist/designer/data/skills/index.d.ts +3 -0
- package/dist/designer/data/skills/index.d.ts.map +1 -0
- package/dist/designer/data/skills/index.js +28 -0
- package/dist/designer/data/skills/index.ts +30 -0
- package/dist/designer/data/skills/magazine-poster.d.ts +3 -0
- package/dist/designer/data/skills/magazine-poster.d.ts.map +1 -0
- package/dist/designer/data/skills/magazine-poster.js +70 -0
- package/dist/designer/data/skills/magazine-poster.ts +73 -0
- package/dist/designer/data/skills/mobile-app.d.ts +3 -0
- package/dist/designer/data/skills/mobile-app.d.ts.map +1 -0
- package/dist/designer/data/skills/mobile-app.js +229 -0
- package/dist/designer/data/skills/mobile-app.ts +232 -0
- package/dist/designer/data/skills/motion-frames.d.ts +3 -0
- package/dist/designer/data/skills/motion-frames.d.ts.map +1 -0
- package/dist/designer/data/skills/motion-frames.js +121 -0
- package/dist/designer/data/skills/motion-frames.ts +124 -0
- package/dist/designer/data/skills/pricing-page.d.ts +3 -0
- package/dist/designer/data/skills/pricing-page.d.ts.map +1 -0
- package/dist/designer/data/skills/pricing-page.js +76 -0
- package/dist/designer/data/skills/pricing-page.ts +79 -0
- package/dist/designer/data/skills/saas-landing.d.ts +3 -0
- package/dist/designer/data/skills/saas-landing.d.ts.map +1 -0
- package/dist/designer/data/skills/saas-landing.js +71 -0
- package/dist/designer/data/skills/saas-landing.ts +74 -0
- package/dist/designer/data/skills/slide-deck.d.ts +3 -0
- package/dist/designer/data/skills/slide-deck.d.ts.map +1 -0
- package/dist/designer/data/skills/slide-deck.js +213 -0
- package/dist/designer/data/skills/slide-deck.ts +216 -0
- package/dist/designer/data/skills/social-carousel.d.ts +3 -0
- package/dist/designer/data/skills/social-carousel.d.ts.map +1 -0
- package/dist/designer/data/skills/social-carousel.js +135 -0
- package/dist/designer/data/skills/social-carousel.ts +138 -0
- package/dist/designer/data/skills/web-prototype.d.ts +3 -0
- package/dist/designer/data/skills/web-prototype.d.ts.map +1 -0
- package/dist/designer/data/skills/web-prototype.js +159 -0
- package/dist/designer/data/skills/web-prototype.ts +162 -0
- package/dist/designer/skills.d.ts +4 -10
- package/dist/designer/skills.d.ts.map +1 -1
- package/dist/designer/skills.js +2 -1643
- package/dist/extensions/wizard/index.js +9 -1
- package/dist/generated/parser/ast/nodes.d.ts +115 -0
- package/dist/generated/parser/ast/nodes.d.ts.map +1 -0
- package/dist/generated/parser/ast/nodes.js +8 -0
- package/dist/generated/parser/lexer/lexer.d.ts +28 -0
- package/dist/generated/parser/lexer/lexer.d.ts.map +1 -0
- package/dist/generated/parser/{lexer.js → lexer/lexer.js} +1 -180
- package/dist/generated/parser/{lexer.d.ts → lexer/tokens.d.ts} +5 -24
- package/dist/generated/parser/lexer/tokens.d.ts.map +1 -0
- package/dist/generated/parser/lexer/tokens.js +187 -0
- package/dist/generated/parser/mod.d.ts +5 -7
- package/dist/generated/parser/mod.d.ts.map +1 -1
- package/dist/generated/parser/mod.js +2 -1
- package/dist/generated/parser/parser/cursor.d.ts +47 -0
- package/dist/generated/parser/parser/cursor.d.ts.map +1 -0
- package/dist/generated/parser/parser/cursor.js +12 -0
- package/dist/generated/parser/parser/definitions.d.ts +16 -0
- package/dist/generated/parser/parser/definitions.d.ts.map +1 -0
- package/dist/generated/parser/parser/definitions.js +353 -0
- package/dist/generated/parser/parser/expressions.d.ts +17 -0
- package/dist/generated/parser/parser/expressions.d.ts.map +1 -0
- package/dist/generated/parser/parser/expressions.js +165 -0
- package/dist/generated/parser/parser.d.ts +18 -133
- package/dist/generated/parser/parser.d.ts.map +1 -1
- package/dist/generated/parser/parser.js +9 -505
- package/dist/generated/parser/tokenizer.d.ts +1 -2
- package/dist/generated/parser/tokenizer.d.ts.map +1 -1
- package/dist/generated/parser/tokenizer.js +2 -1
- package/dist/generated/parser/validator.d.ts +1 -1
- package/dist/generated/parser/validator.d.ts.map +1 -1
- package/dist/generated/zeus/const.d.ts.map +1 -1
- package/dist/generated/zeus/const.js +21 -0
- package/dist/generated/zeus/index.d.ts +98 -0
- package/dist/generated/zeus/index.d.ts.map +1 -1
- package/dist/mcp/glimpse-ui.js +9 -1
- package/dist/relay/dispatcher.d.ts +11 -104
- package/dist/relay/dispatcher.d.ts.map +1 -1
- package/dist/relay/dispatcher.js +10 -1130
- package/dist/relay/registration.d.ts +10 -2
- package/dist/relay/registration.d.ts.map +1 -1
- package/dist/relay/registration.js +32 -3
- package/dist/relay/rest.d.ts +31 -0
- package/dist/relay/rest.d.ts.map +1 -0
- package/dist/relay/rest.js +85 -0
- package/dist/relay/routing.d.ts +109 -0
- package/dist/relay/routing.d.ts.map +1 -0
- package/dist/relay/routing.js +669 -0
- package/dist/relay/wizard-login.d.ts +17 -0
- package/dist/relay/wizard-login.d.ts.map +1 -0
- package/dist/relay/wizard-login.js +419 -0
- package/dist/sdk/agent-core/agent-loop.d.ts +2 -9
- package/dist/sdk/agent-core/agent-loop.d.ts.map +1 -1
- package/dist/sdk/agent-core/agent-loop.js +4 -288
- package/dist/sdk/agent-core/tool-execution.d.ts +33 -0
- package/dist/sdk/agent-core/tool-execution.d.ts.map +1 -0
- package/dist/sdk/agent-core/tool-execution.js +300 -0
- package/dist/sdk/ai/env-api-keys.js +9 -1
- package/dist/sdk/ai/providers/openai/reasoning-replay.d.ts +48 -0
- package/dist/sdk/ai/providers/openai/reasoning-replay.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openai/reasoning-replay.js +209 -0
- package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
- package/dist/sdk/ai/providers/openai-completions.js +1 -203
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts +6 -118
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/compaction/compaction.js +11 -733
- package/dist/sdk/coding-agent/core/compaction/cut-points.d.ts +58 -0
- package/dist/sdk/coding-agent/core/compaction/cut-points.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/cut-points.js +191 -0
- package/dist/sdk/coding-agent/core/compaction/dedupe.d.ts +28 -0
- package/dist/sdk/coding-agent/core/compaction/dedupe.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/dedupe.js +156 -0
- package/dist/sdk/coding-agent/core/compaction/summarize.d.ts +21 -0
- package/dist/sdk/coding-agent/core/compaction/summarize.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/summarize.js +181 -0
- package/dist/sdk/coding-agent/core/compaction/tokens.d.ts +47 -0
- package/dist/sdk/coding-agent/core/compaction/tokens.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/tokens.js +224 -0
- package/dist/sdk/coding-agent/core/extensions/session-events.d.ts +157 -0
- package/dist/sdk/coding-agent/core/extensions/session-events.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/session-events.js +13 -0
- package/dist/sdk/coding-agent/core/extensions/types.d.ts +6 -365
- package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/types.js +2 -10
- package/dist/sdk/coding-agent/core/extensions/ui-types.d.ts +219 -0
- package/dist/sdk/coding-agent/core/extensions/ui-types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/ui-types.js +4 -0
- package/dist/sdk/coding-agent/core/package/default-package-manager.d.ts +115 -0
- package/dist/sdk/coding-agent/core/package/default-package-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/default-package-manager.js +1184 -0
- package/dist/sdk/coding-agent/core/package/discovery.d.ts +20 -0
- package/dist/sdk/coding-agent/core/package/discovery.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/discovery.js +283 -0
- package/dist/sdk/coding-agent/core/package/ignore.d.ts +29 -0
- package/dist/sdk/coding-agent/core/package/ignore.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/ignore.js +235 -0
- package/dist/sdk/coding-agent/core/package/types.d.ts +128 -0
- package/dist/sdk/coding-agent/core/package/types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/types.js +18 -0
- package/dist/sdk/coding-agent/core/package/update-check.d.ts +43 -0
- package/dist/sdk/coding-agent/core/package/update-check.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/update-check.js +253 -0
- package/dist/sdk/coding-agent/core/package-manager.d.ts +2 -188
- package/dist/sdk/coding-agent/core/package-manager.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/package-manager.js +1 -1940
- package/dist/sdk/coding-agent/core/session/migrate.d.ts +18 -0
- package/dist/sdk/coding-agent/core/session/migrate.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/session/migrate.js +78 -0
- package/dist/sdk/coding-agent/core/session/types.d.ts +165 -0
- package/dist/sdk/coding-agent/core/session/types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/session/types.js +4 -0
- package/dist/sdk/coding-agent/core/session-manager.d.ts +3 -161
- package/dist/sdk/coding-agent/core/session-manager.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/session-manager.js +4 -72
- package/package.json +2 -2
- package/dist/generated/parser/lexer.d.ts.map +0 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI, overlay, theme, and autocomplete types for the extension system.
|
|
3
|
+
*/
|
|
4
|
+
import type { SourceInfo } from "../source-info.js";
|
|
5
|
+
export interface AutocompleteItem {
|
|
6
|
+
label: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AutocompleteProvider {
|
|
11
|
+
getSuggestions(input: string, cursorPos: number): {
|
|
12
|
+
items: AutocompleteItem[];
|
|
13
|
+
prefix: string;
|
|
14
|
+
} | null;
|
|
15
|
+
}
|
|
16
|
+
export type OverlayAnchor = "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
17
|
+
export type OverlayMargin = number | {
|
|
18
|
+
top?: number;
|
|
19
|
+
bottom?: number;
|
|
20
|
+
left?: number;
|
|
21
|
+
right?: number;
|
|
22
|
+
};
|
|
23
|
+
export type SizeValue = number | string;
|
|
24
|
+
export interface OverlayOptions {
|
|
25
|
+
width?: SizeValue;
|
|
26
|
+
height?: SizeValue;
|
|
27
|
+
maxWidth?: SizeValue;
|
|
28
|
+
maxHeight?: SizeValue;
|
|
29
|
+
anchor?: OverlayAnchor;
|
|
30
|
+
margin?: OverlayMargin;
|
|
31
|
+
}
|
|
32
|
+
export interface OverlayHandle {
|
|
33
|
+
show(): void;
|
|
34
|
+
hide(): void;
|
|
35
|
+
toggle(): void;
|
|
36
|
+
}
|
|
37
|
+
export type KeyId = string;
|
|
38
|
+
/** Minimal Theme type (replaces TUI theme import). */
|
|
39
|
+
export interface Theme {
|
|
40
|
+
readonly name?: string;
|
|
41
|
+
readonly sourcePath?: string;
|
|
42
|
+
sourceInfo?: SourceInfo;
|
|
43
|
+
}
|
|
44
|
+
/** Minimal editor theme type (replaces TUI EditorTheme import). */
|
|
45
|
+
export interface EditorTheme {
|
|
46
|
+
borderColor?: (text: string) => string;
|
|
47
|
+
selectList?: unknown;
|
|
48
|
+
}
|
|
49
|
+
/** Minimal footer data provider type (headless mode: all fields return defaults). */
|
|
50
|
+
export type ReadonlyFooterDataProvider = {
|
|
51
|
+
readonly gitBranch?: string;
|
|
52
|
+
readonly extensionStatuses?: ReadonlyMap<string, string | undefined>;
|
|
53
|
+
};
|
|
54
|
+
/** Minimal keybindings manager type (headless mode always returns no-ops). */
|
|
55
|
+
export type KeybindingsManager = unknown;
|
|
56
|
+
/** Options for extension UI dialogs. */
|
|
57
|
+
export interface ExtensionUIDialogOptions {
|
|
58
|
+
/** AbortSignal to programmatically dismiss the dialog. */
|
|
59
|
+
signal?: AbortSignal;
|
|
60
|
+
/** Timeout in milliseconds. Dialog auto-dismisses with live countdown display. */
|
|
61
|
+
timeout?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Optional side-channel reporting how the dialog ended, so callers can
|
|
64
|
+
* distinguish an explicit human decision (`allow`/`deny`) from an auto-deny
|
|
65
|
+
* (`timeout`, `no_tty`, `cancelled`) where no user answered. Modes that
|
|
66
|
+
* cannot report outcomes simply never call it.
|
|
67
|
+
*/
|
|
68
|
+
onOutcome?: (outcome: ExtensionConfirmOutcome) => void;
|
|
69
|
+
}
|
|
70
|
+
/** How a confirm dialog ended (see ExtensionUIDialogOptions.onOutcome). */
|
|
71
|
+
export type ExtensionConfirmOutcome = "allow" | "deny" | "timeout" | "no_tty" | "cancelled";
|
|
72
|
+
/** Placement for extension widgets. */
|
|
73
|
+
export type WidgetPlacement = "aboveEditor" | "belowEditor";
|
|
74
|
+
/** Options for extension widgets. */
|
|
75
|
+
export interface ExtensionWidgetOptions {
|
|
76
|
+
/** Where the widget is rendered. Defaults to "aboveEditor". */
|
|
77
|
+
placement?: WidgetPlacement;
|
|
78
|
+
}
|
|
79
|
+
/** Raw terminal input listener for extensions. */
|
|
80
|
+
export type TerminalInputHandler = (data: string) => {
|
|
81
|
+
consume?: boolean;
|
|
82
|
+
data?: string;
|
|
83
|
+
} | undefined;
|
|
84
|
+
/** Working indicator configuration for the interactive streaming loader. */
|
|
85
|
+
export interface WorkingIndicatorOptions {
|
|
86
|
+
/** Animation frames. Use an empty array to hide the indicator entirely. Custom frames are rendered verbatim. */
|
|
87
|
+
frames?: string[];
|
|
88
|
+
/** Frame interval in milliseconds for animated indicators. */
|
|
89
|
+
intervalMs?: number;
|
|
90
|
+
}
|
|
91
|
+
/** Wrap the current autocomplete provider with additional behavior. */
|
|
92
|
+
export type AutocompleteProviderFactory = (current: AutocompleteProvider) => AutocompleteProvider;
|
|
93
|
+
export type EditorFactory = (tui: unknown, theme: EditorTheme, keybindings: KeybindingsManager) => unknown;
|
|
94
|
+
/**
|
|
95
|
+
* ExtensionUIContext — the API surface available to extensions.
|
|
96
|
+
*
|
|
97
|
+
* The `tui` parameter in UI methods is always `unknown` in headless/serve mode
|
|
98
|
+
* (no interactive TUI is available). These methods are no-ops in this mode.
|
|
99
|
+
*/
|
|
100
|
+
/**
|
|
101
|
+
* UI context for extensions to request interactive UI.
|
|
102
|
+
* Each mode (interactive, RPC, print) provides its own implementation.
|
|
103
|
+
*/
|
|
104
|
+
export interface ExtensionUIContext {
|
|
105
|
+
/** Show a selector and return the user's choice. */
|
|
106
|
+
select(title: string, options: string[], opts?: ExtensionUIDialogOptions): Promise<string | undefined>;
|
|
107
|
+
/** Show a confirmation dialog. */
|
|
108
|
+
confirm(title: string, message: string, opts?: ExtensionUIDialogOptions): Promise<boolean>;
|
|
109
|
+
/** Show a text input dialog. */
|
|
110
|
+
input(title: string, placeholder?: string, opts?: ExtensionUIDialogOptions): Promise<string | undefined>;
|
|
111
|
+
/** Show a notification to the user. */
|
|
112
|
+
notify(message: string, type?: "info" | "warning" | "error"): void;
|
|
113
|
+
/** Listen to raw terminal input (interactive mode only). Returns an unsubscribe function. */
|
|
114
|
+
onTerminalInput(handler: TerminalInputHandler): () => void;
|
|
115
|
+
/** Set status text in the footer/status bar. Pass undefined to clear. */
|
|
116
|
+
setStatus(key: string, text: string | undefined): void;
|
|
117
|
+
/** Set the working/loading message shown during streaming. Call with no argument to restore default. */
|
|
118
|
+
setWorkingMessage(message?: string): void;
|
|
119
|
+
/** Show or hide the built-in interactive working loader row during streaming. */
|
|
120
|
+
setWorkingVisible(visible: boolean): void;
|
|
121
|
+
/**
|
|
122
|
+
* Configure the interactive working indicator shown during streaming.
|
|
123
|
+
*
|
|
124
|
+
* - Omit the argument to restore the default animated spinner.
|
|
125
|
+
* - Use `frames: ["●"]` for a static indicator.
|
|
126
|
+
* - Use `frames: []` to hide the indicator entirely.
|
|
127
|
+
* - Custom frames are rendered as provided, so extensions must add their own colors.
|
|
128
|
+
*/
|
|
129
|
+
setWorkingIndicator(options?: WorkingIndicatorOptions): void;
|
|
130
|
+
/** Set the label shown for hidden thinking blocks. Call with no argument to restore default. */
|
|
131
|
+
setHiddenThinkingLabel(label?: string): void;
|
|
132
|
+
/** Set a widget to display above or below the editor. Accepts string array or component factory. */
|
|
133
|
+
setWidget(key: string, content: string[] | undefined, options?: ExtensionWidgetOptions): void;
|
|
134
|
+
setWidget(key: string, content: ((tui: unknown, theme: Theme) => unknown) | undefined, options?: ExtensionWidgetOptions): void;
|
|
135
|
+
/** Set a custom footer component, or undefined to restore the built-in footer.
|
|
136
|
+
*
|
|
137
|
+
* The factory receives a FooterDataProvider for data not otherwise accessible:
|
|
138
|
+
* git branch and extension statuses from setStatus(). Token stats, model info,
|
|
139
|
+
* etc. are available via ctx.sessionManager and ctx.model.
|
|
140
|
+
*/
|
|
141
|
+
setFooter(factory: ((tui: unknown, theme: Theme, footerData: ReadonlyFooterDataProvider) => unknown) | undefined): void;
|
|
142
|
+
/** Set a custom header component (shown at startup, above chat), or undefined to restore the built-in header. */
|
|
143
|
+
setHeader(factory: ((tui: unknown, theme: Theme) => unknown) | undefined): void;
|
|
144
|
+
/** Set the terminal window/tab title. */
|
|
145
|
+
setTitle(title: string): void;
|
|
146
|
+
/** Show a custom component with keyboard focus. */
|
|
147
|
+
custom<T>(factory: (tui: unknown, theme: Theme, keybindings: KeybindingsManager, done: (result: T) => void) => unknown | Promise<unknown>, options?: {
|
|
148
|
+
overlay?: boolean;
|
|
149
|
+
/** Overlay positioning/sizing options. Can be static or a function for dynamic updates. */
|
|
150
|
+
overlayOptions?: OverlayOptions | (() => OverlayOptions);
|
|
151
|
+
/** Called with the overlay handle after the overlay is shown. Use to control visibility. */
|
|
152
|
+
onHandle?: (handle: OverlayHandle) => void;
|
|
153
|
+
}): Promise<T>;
|
|
154
|
+
/** Paste text into the editor, triggering paste handling (collapse for large content). */
|
|
155
|
+
pasteToEditor(text: string): void;
|
|
156
|
+
/** Set the text in the core input editor. */
|
|
157
|
+
setEditorText(text: string): void;
|
|
158
|
+
/** Get the current text from the core input editor. */
|
|
159
|
+
getEditorText(): string;
|
|
160
|
+
/** Show a multi-line editor for text editing. */
|
|
161
|
+
editor(title: string, prefill?: string): Promise<string | undefined>;
|
|
162
|
+
/** Stack additional autocomplete behavior on top of the built-in provider. */
|
|
163
|
+
addAutocompleteProvider(factory: AutocompleteProviderFactory): void;
|
|
164
|
+
/**
|
|
165
|
+
* Set a custom editor component via factory function.
|
|
166
|
+
* Pass undefined to restore the default editor.
|
|
167
|
+
*
|
|
168
|
+
* The factory receives:
|
|
169
|
+
* - `theme`: EditorTheme for styling borders and autocomplete
|
|
170
|
+
* - `keybindings`: KeybindingsManager for app-level keybindings
|
|
171
|
+
*
|
|
172
|
+
* For full app keybinding support (escape, ctrl+d, model switching, etc.),
|
|
173
|
+
* extend `CustomEditor` from `../../index.ts` and call
|
|
174
|
+
* `super.handleInput(data)` for keys you don't handle.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* import { CustomEditor } from "../../index.js";
|
|
179
|
+
*
|
|
180
|
+
* class VimEditor extends CustomEditor {
|
|
181
|
+
* private mode: "normal" | "insert" = "insert";
|
|
182
|
+
*
|
|
183
|
+
* handleInput(data: string): void {
|
|
184
|
+
* if (this.mode === "normal") {
|
|
185
|
+
* // Handle vim normal mode keys...
|
|
186
|
+
* if (data === "i") { this.mode = "insert"; return; }
|
|
187
|
+
* }
|
|
188
|
+
* super.handleInput(data); // App keybindings + text editing
|
|
189
|
+
* }
|
|
190
|
+
* }
|
|
191
|
+
*
|
|
192
|
+
* ctx.ui.setEditorComponent((tui, theme, keybindings) =>
|
|
193
|
+
* new VimEditor(tui, theme, keybindings)
|
|
194
|
+
* );
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
setEditorComponent(factory: EditorFactory | undefined): void;
|
|
198
|
+
/** Get the currently configured custom editor factory, or undefined when using the default editor. */
|
|
199
|
+
getEditorComponent(): EditorFactory | undefined;
|
|
200
|
+
/** Get the current theme for styling. */
|
|
201
|
+
readonly theme: Theme;
|
|
202
|
+
/** Get all available themes with their names and file paths. */
|
|
203
|
+
getAllThemes(): {
|
|
204
|
+
name: string;
|
|
205
|
+
path: string | undefined;
|
|
206
|
+
}[];
|
|
207
|
+
/** Load a theme by name without switching to it. Returns undefined if not found. */
|
|
208
|
+
getTheme(name: string): Theme | undefined;
|
|
209
|
+
/** Set the current theme by name or Theme object. */
|
|
210
|
+
setTheme(theme: string | Theme): {
|
|
211
|
+
success: boolean;
|
|
212
|
+
error?: string;
|
|
213
|
+
};
|
|
214
|
+
/** Get current tool output expansion state. */
|
|
215
|
+
getToolsExpanded(): boolean;
|
|
216
|
+
/** Set tool output expansion state. */
|
|
217
|
+
setToolsExpanded(expanded: boolean): void;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=ui-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-types.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/extensions/ui-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { MissingSourceAction, PackageManager, PackageManagerOptions, ProgressCallback, ResolvedPaths } from "./types.js";
|
|
2
|
+
export declare class DefaultPackageManager implements PackageManager {
|
|
3
|
+
private cwd;
|
|
4
|
+
private agentDir;
|
|
5
|
+
private settingsManager;
|
|
6
|
+
private globalNpmRoot;
|
|
7
|
+
private globalNpmRootCommandKey;
|
|
8
|
+
private progressCallback;
|
|
9
|
+
constructor(options: PackageManagerOptions);
|
|
10
|
+
setProgressCallback(callback: ProgressCallback | undefined): void;
|
|
11
|
+
addSourceToSettings(source: string, options?: {
|
|
12
|
+
local?: boolean;
|
|
13
|
+
}): boolean;
|
|
14
|
+
removeSourceFromSettings(source: string, options?: {
|
|
15
|
+
local?: boolean;
|
|
16
|
+
}): boolean;
|
|
17
|
+
getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
|
|
18
|
+
private emitProgress;
|
|
19
|
+
private withProgress;
|
|
20
|
+
resolve(onMissing?: (source: string) => Promise<MissingSourceAction>): Promise<ResolvedPaths>;
|
|
21
|
+
resolveExtensionSources(sources: string[], options?: {
|
|
22
|
+
local?: boolean;
|
|
23
|
+
temporary?: boolean;
|
|
24
|
+
}): Promise<ResolvedPaths>;
|
|
25
|
+
install(source: string, options?: {
|
|
26
|
+
local?: boolean;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
installAndPersist(source: string, options?: {
|
|
29
|
+
local?: boolean;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
remove(source: string, options?: {
|
|
32
|
+
local?: boolean;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
removeAndPersist(source: string, options?: {
|
|
35
|
+
local?: boolean;
|
|
36
|
+
}): Promise<boolean>;
|
|
37
|
+
private updateCheckContext;
|
|
38
|
+
update(source?: string): Promise<void>;
|
|
39
|
+
private resolvePackageSources;
|
|
40
|
+
private resolveLocalExtensionSource;
|
|
41
|
+
private installParsedSource;
|
|
42
|
+
private getPackageSourceString;
|
|
43
|
+
private getSourceMatchKeyForInput;
|
|
44
|
+
private getSourceMatchKeyForSettings;
|
|
45
|
+
private buildNoMatchingPackageMessage;
|
|
46
|
+
private findSuggestedConfiguredSource;
|
|
47
|
+
private packageSourcesMatch;
|
|
48
|
+
private normalizePackageSourceForSettings;
|
|
49
|
+
private parseSource;
|
|
50
|
+
private installedNpmMatchesPinnedVersion;
|
|
51
|
+
private npmHasAvailableUpdate;
|
|
52
|
+
private getInstalledNpmVersion;
|
|
53
|
+
private getLatestNpmVersion;
|
|
54
|
+
private runGitRemoteCommand;
|
|
55
|
+
private getPackageIdentity;
|
|
56
|
+
/**
|
|
57
|
+
* Dedupe packages: if same package identity appears in both global and project,
|
|
58
|
+
* keep only the project one (project wins).
|
|
59
|
+
*/
|
|
60
|
+
private dedupePackages;
|
|
61
|
+
private parseNpmSpec;
|
|
62
|
+
private getNpmCommand;
|
|
63
|
+
private getPackageManagerName;
|
|
64
|
+
private runNpmCommand;
|
|
65
|
+
private getGitDependencyInstallArgs;
|
|
66
|
+
private runNpmCommandSync;
|
|
67
|
+
private getNpmInstallArgs;
|
|
68
|
+
private installNpm;
|
|
69
|
+
private uninstallNpm;
|
|
70
|
+
private installGit;
|
|
71
|
+
private updateGit;
|
|
72
|
+
private ensureGitRef;
|
|
73
|
+
private refreshTemporaryGitSource;
|
|
74
|
+
private removeGit;
|
|
75
|
+
private pruneEmptyGitParents;
|
|
76
|
+
private ensureNpmProject;
|
|
77
|
+
private ensureGitIgnore;
|
|
78
|
+
private getNpmInstallRoot;
|
|
79
|
+
private getGlobalNpmRoot;
|
|
80
|
+
private getPnpmGlobalPackagePath;
|
|
81
|
+
private getManagedNpmInstallPath;
|
|
82
|
+
private getLegacyGlobalNpmInstallPath;
|
|
83
|
+
private getNpmInstallPath;
|
|
84
|
+
private getGitInstallPath;
|
|
85
|
+
private getGitInstallRoot;
|
|
86
|
+
private getTemporaryDir;
|
|
87
|
+
private getBaseDirForScope;
|
|
88
|
+
private resolvePath;
|
|
89
|
+
private resolvePathFromBase;
|
|
90
|
+
private collectPackageResources;
|
|
91
|
+
private collectDefaultResources;
|
|
92
|
+
private applyPackageFilter;
|
|
93
|
+
/**
|
|
94
|
+
* Collect all files from a package for a resource type, applying manifest patterns.
|
|
95
|
+
* Returns { allFiles, enabledByManifest } where enabledByManifest is the set of files
|
|
96
|
+
* that pass the manifest's own patterns.
|
|
97
|
+
*/
|
|
98
|
+
private collectManifestFiles;
|
|
99
|
+
private readSpectralManifest;
|
|
100
|
+
private addManifestEntries;
|
|
101
|
+
private collectFilesFromManifestEntries;
|
|
102
|
+
private resolveLocalEntries;
|
|
103
|
+
private addAutoDiscoveredResources;
|
|
104
|
+
private collectFilesFromPaths;
|
|
105
|
+
private getTargetMap;
|
|
106
|
+
private addResource;
|
|
107
|
+
private createAccumulator;
|
|
108
|
+
private toResolvedPaths;
|
|
109
|
+
private spawnCommand;
|
|
110
|
+
private spawnCaptureCommand;
|
|
111
|
+
private runCommandCapture;
|
|
112
|
+
private runCommand;
|
|
113
|
+
private runCommandSync;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=default-package-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-package-manager.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/package/default-package-manager.ts"],"names":[],"mappings":"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"}
|