apex-code 0.0.1-alpha.8 → 0.0.1-alpha.9
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 +83 -0
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts +3 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -13
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +26 -7
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +163 -95
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +6 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +4 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -32
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/durable-state/sqlite.d.ts.map +1 -1
- package/dist/core/durable-state/sqlite.js +26 -2
- package/dist/core/durable-state/sqlite.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +115 -48
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +38 -9
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +20 -19
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +26 -5
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +14 -8
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +22 -14
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +10 -3
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +4 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +32 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +9 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +53 -11
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +8 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +14 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +36 -20
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +20 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +9 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +6 -2
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +18 -15
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +10 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +51 -9
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +118 -56
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +165 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +74 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +164 -17
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +5 -4
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- package/dist/modes/json-event.js.map +1 -1
- package/dist/package-manager-cli.d.ts +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +197 -5
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -5
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +60 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/docs/compaction.md +15 -0
- package/docs/custom-provider.md +5 -2
- package/docs/extensions.md +17 -7
- package/docs/json.md +7 -2
- package/docs/keybindings.md +8 -8
- package/docs/llama-cpp.md +2 -0
- package/docs/models.md +8 -2
- package/docs/packages.md +2 -2
- package/docs/rpc.md +9 -3
- package/docs/sdk.md +7 -2
- package/docs/settings.md +11 -3
- package/docs/skills.md +4 -3
- package/docs/terminal-setup.md +11 -7
- package/docs/usage.md +6 -2
- package/docs/windows.md +24 -2
- package/examples/extensions/border-status-editor.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/git-checkpoint.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/subagent/README.md +1 -1
- package/examples/extensions/subagent/index.ts +6 -1
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +276 -390
- package/package.json +9 -11
|
@@ -27,7 +27,7 @@ import type { SourceInfo } from "../source-info.ts";
|
|
|
27
27
|
import type { BuildSystemPromptOptions } from "../system-prompt.ts";
|
|
28
28
|
import type { BashOperations } from "../tools/bash.ts";
|
|
29
29
|
import type { EditToolDetails } from "../tools/edit.ts";
|
|
30
|
-
import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
|
|
30
|
+
import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, PowerShellToolDetails, PowerShellToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
|
|
31
31
|
export type { ExecOptions, ExecResult } from "../exec.ts";
|
|
32
32
|
export type { BuildSystemPromptOptions } from "../system-prompt.ts";
|
|
33
33
|
export type { AgentToolResult, AgentToolUpdateCallback, ToolExecutionMode };
|
|
@@ -101,8 +101,8 @@ export interface ExtensionUIContext {
|
|
|
101
101
|
/** Set a custom footer component, or undefined to restore the built-in footer.
|
|
102
102
|
*
|
|
103
103
|
* The factory receives a FooterDataProvider for data not otherwise accessible:
|
|
104
|
-
* git branch and extension statuses from setStatus().
|
|
105
|
-
*
|
|
104
|
+
* git branch and extension statuses from setStatus(). Context usage is on
|
|
105
|
+
* ctx.getContextUsage(), token stats on ctx.sessionManager.getEntries(), model info on ctx.model.
|
|
106
106
|
*/
|
|
107
107
|
setFooter(factory: ((tui: TUI, theme: Theme, footerData: ReadonlyFooterDataProvider) => Component & {
|
|
108
108
|
dispose?(): void;
|
|
@@ -450,7 +450,7 @@ export interface SessionBeforeCompactEvent {
|
|
|
450
450
|
willRetry: boolean;
|
|
451
451
|
signal: AbortSignal;
|
|
452
452
|
}
|
|
453
|
-
/** Fired after context compaction */
|
|
453
|
+
/** Fired after context compaction succeeds */
|
|
454
454
|
export interface SessionCompactEvent {
|
|
455
455
|
type: "session_compact";
|
|
456
456
|
compactionEntry: CompactionEntry;
|
|
@@ -460,6 +460,20 @@ export interface SessionCompactEvent {
|
|
|
460
460
|
/** True when the aborted turn is retried after this compaction (overflow recovery) */
|
|
461
461
|
willRetry: boolean;
|
|
462
462
|
}
|
|
463
|
+
/** Fired after context compaction fails or is aborted */
|
|
464
|
+
export interface SessionCompactFailedEvent {
|
|
465
|
+
type: "session_compact_failed";
|
|
466
|
+
/** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
|
|
467
|
+
reason: "manual" | "threshold" | "overflow";
|
|
468
|
+
/** Error text when compaction failed for a non-abort reason. */
|
|
469
|
+
errorMessage?: string;
|
|
470
|
+
/** True when compaction was cancelled or aborted. */
|
|
471
|
+
aborted: boolean;
|
|
472
|
+
/** True when the aborted turn would have been retried after this compaction (overflow recovery) */
|
|
473
|
+
willRetry: boolean;
|
|
474
|
+
/** True when the failing compaction content came from a session_before_compact handler. */
|
|
475
|
+
fromExtension: boolean;
|
|
476
|
+
}
|
|
463
477
|
/** Fired before an extension runtime is torn down due to quit, reload, or session replacement. */
|
|
464
478
|
export interface SessionShutdownEvent {
|
|
465
479
|
type: "session_shutdown";
|
|
@@ -495,7 +509,7 @@ export interface SessionTreeEvent {
|
|
|
495
509
|
summaryEntry?: BranchSummaryEntry;
|
|
496
510
|
fromExtension?: boolean;
|
|
497
511
|
}
|
|
498
|
-
export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
|
|
512
|
+
export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionCompactFailedEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
|
|
499
513
|
/** Fired before each LLM call. Can modify messages. */
|
|
500
514
|
export interface ContextEvent {
|
|
501
515
|
type: "context";
|
|
@@ -654,6 +668,10 @@ export interface BashToolCallEvent extends ToolCallEventBase {
|
|
|
654
668
|
toolName: "bash";
|
|
655
669
|
input: BashToolInput;
|
|
656
670
|
}
|
|
671
|
+
export interface PowerShellToolCallEvent extends ToolCallEventBase {
|
|
672
|
+
toolName: "powershell";
|
|
673
|
+
input: PowerShellToolInput;
|
|
674
|
+
}
|
|
657
675
|
export interface ReadToolCallEvent extends ToolCallEventBase {
|
|
658
676
|
toolName: "read";
|
|
659
677
|
input: ReadToolInput;
|
|
@@ -688,7 +706,7 @@ export interface CustomToolCallEvent extends ToolCallEventBase {
|
|
|
688
706
|
* `event.input` is mutable. Mutate it in place to patch tool arguments before execution.
|
|
689
707
|
* Later `tool_call` handlers see earlier mutations. No re-validation is performed after mutation.
|
|
690
708
|
*/
|
|
691
|
-
export type ToolCallEvent = BashToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
|
|
709
|
+
export type ToolCallEvent = BashToolCallEvent | PowerShellToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
|
|
692
710
|
interface ToolResultEventBase {
|
|
693
711
|
type: "tool_result";
|
|
694
712
|
toolCallId: string;
|
|
@@ -702,6 +720,10 @@ export interface BashToolResultEvent extends ToolResultEventBase {
|
|
|
702
720
|
toolName: "bash";
|
|
703
721
|
details: BashToolDetails | undefined;
|
|
704
722
|
}
|
|
723
|
+
export interface PowerShellToolResultEvent extends ToolResultEventBase {
|
|
724
|
+
toolName: "powershell";
|
|
725
|
+
details: PowerShellToolDetails | undefined;
|
|
726
|
+
}
|
|
705
727
|
export interface ReadToolResultEvent extends ToolResultEventBase {
|
|
706
728
|
toolName: "read";
|
|
707
729
|
details: ReadToolDetails | undefined;
|
|
@@ -731,8 +753,9 @@ export interface CustomToolResultEvent extends ToolResultEventBase {
|
|
|
731
753
|
details: unknown;
|
|
732
754
|
}
|
|
733
755
|
/** Fired after a tool executes. Can modify result. */
|
|
734
|
-
export type ToolResultEvent = BashToolResultEvent | ReadToolResultEvent | EditToolResultEvent | WriteToolResultEvent | GrepToolResultEvent | FindToolResultEvent | LsToolResultEvent | CustomToolResultEvent;
|
|
756
|
+
export type ToolResultEvent = BashToolResultEvent | PowerShellToolResultEvent | ReadToolResultEvent | EditToolResultEvent | WriteToolResultEvent | GrepToolResultEvent | FindToolResultEvent | LsToolResultEvent | CustomToolResultEvent;
|
|
735
757
|
export declare function isBashToolResult(e: ToolResultEvent): e is BashToolResultEvent;
|
|
758
|
+
export declare function isPowerShellToolResult(e: ToolResultEvent): e is PowerShellToolResultEvent;
|
|
736
759
|
export declare function isReadToolResult(e: ToolResultEvent): e is ReadToolResultEvent;
|
|
737
760
|
export declare function isEditToolResult(e: ToolResultEvent): e is EditToolResultEvent;
|
|
738
761
|
export declare function isWriteToolResult(e: ToolResultEvent): e is WriteToolResultEvent;
|
|
@@ -760,6 +783,7 @@ export declare function isLsToolResult(e: ToolResultEvent): e is LsToolResultEve
|
|
|
760
783
|
* CustomToolCallEvent.toolName is `string` which overlaps with all literals.
|
|
761
784
|
*/
|
|
762
785
|
export declare function isToolCallEventType(toolName: "bash", event: ToolCallEvent): event is BashToolCallEvent;
|
|
786
|
+
export declare function isToolCallEventType(toolName: "powershell", event: ToolCallEvent): event is PowerShellToolCallEvent;
|
|
763
787
|
export declare function isToolCallEventType(toolName: "read", event: ToolCallEvent): event is ReadToolCallEvent;
|
|
764
788
|
export declare function isToolCallEventType(toolName: "edit", event: ToolCallEvent): event is EditToolCallEvent;
|
|
765
789
|
export declare function isToolCallEventType(toolName: "write", event: ToolCallEvent): event is WriteToolCallEvent;
|
|
@@ -873,6 +897,7 @@ export interface ExtensionAPI {
|
|
|
873
897
|
on(event: "session_before_fork", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;
|
|
874
898
|
on(event: "session_before_compact", handler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>): void;
|
|
875
899
|
on(event: "session_compact", handler: ExtensionHandler<SessionCompactEvent>): void;
|
|
900
|
+
on(event: "session_compact_failed", handler: ExtensionHandler<SessionCompactFailedEvent>): void;
|
|
876
901
|
on(event: "session_shutdown", handler: ExtensionHandler<SessionShutdownEvent>): void;
|
|
877
902
|
on(event: "session_before_tree", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;
|
|
878
903
|
on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): void;
|
|
@@ -910,8 +935,12 @@ export interface ExtensionAPI {
|
|
|
910
935
|
/** Register a CLI flag. */
|
|
911
936
|
registerFlag(name: string, options: {
|
|
912
937
|
description?: string;
|
|
913
|
-
type: "boolean"
|
|
914
|
-
default?: boolean
|
|
938
|
+
type: "boolean";
|
|
939
|
+
default?: boolean;
|
|
940
|
+
} | {
|
|
941
|
+
description?: string;
|
|
942
|
+
type: "string";
|
|
943
|
+
default?: string;
|
|
915
944
|
}): void;
|
|
916
945
|
/** Get the value of a registered CLI flag. */
|
|
917
946
|
getFlag(name: string): boolean | string | undefined;
|