@franzzemen/brokenstock-shell 0.4.6 → 0.5.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@franzzemen/brokenstock-shell",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Shared Angular shell library for Brokenstock applications",
|
|
5
5
|
"author": "Franz Zemen",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -36,4 +36,4 @@
|
|
|
36
36
|
},
|
|
37
37
|
"sideEffects": false,
|
|
38
38
|
"type": "module"
|
|
39
|
-
}
|
|
39
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod/v4';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { InjectionToken, EnvironmentProviders, ElementRef, OnInit } from '@angular/core';
|
|
3
|
+
import { InjectionToken, EnvironmentProviders, ElementRef, OnInit, Signal } from '@angular/core';
|
|
4
4
|
import { CanActivateFn, Router } from '@angular/router';
|
|
5
5
|
import { HttpInterceptorFn } from '@angular/common/http';
|
|
6
6
|
import { Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
@@ -23,6 +23,26 @@ interface CommandHistoryEntry {
|
|
|
23
23
|
result: CommandResult;
|
|
24
24
|
repeatCount?: number;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* An alternate name for a command. Mirrors `CommandAlias` in
|
|
28
|
+
* @franzzemen/brokenstock-lexicon — this library keeps its own copy of the
|
|
29
|
+
* command types (see the file header), and the two MUST stay in step.
|
|
30
|
+
*
|
|
31
|
+
* TWO SHAPES:
|
|
32
|
+
* - A plain alternate is another word for the same command (`scan` for
|
|
33
|
+
* `scanner`); arguments pass through untouched.
|
|
34
|
+
* - An alternate carrying `prependArgs` also supplies leading arguments, so
|
|
35
|
+
* one word stands for a command AND its subcommand: `scans NVDA` runs
|
|
36
|
+
* `scanner select NVDA`. The expansion is literal, so anything the
|
|
37
|
+
* subcommand accepts keeps working through the short form.
|
|
38
|
+
*
|
|
39
|
+
* The real name is what `help` lists; alternates are named in the command's own
|
|
40
|
+
* usage text. The registry refuses a name already taken, real or alternate.
|
|
41
|
+
*/
|
|
42
|
+
interface CommandAlias {
|
|
43
|
+
readonly name: string;
|
|
44
|
+
readonly prependArgs?: readonly string[];
|
|
45
|
+
}
|
|
26
46
|
/**
|
|
27
47
|
* Lexicon entry: the platform-agnostic definition of a command.
|
|
28
48
|
* Execution is provided by each consumer (Angular app, CLI app, etc.).
|
|
@@ -33,6 +53,8 @@ interface CommandLexiconEntry {
|
|
|
33
53
|
readonly usage: string;
|
|
34
54
|
readonly requiresAuth: boolean;
|
|
35
55
|
readonly argsSchema: z.ZodType;
|
|
56
|
+
/** Alternate names for this command. See {@link CommandAlias}. */
|
|
57
|
+
readonly aliases?: readonly CommandAlias[];
|
|
36
58
|
sanitizeInput?(input: string): string;
|
|
37
59
|
}
|
|
38
60
|
/**
|
|
@@ -756,14 +778,39 @@ declare class TerminalFocusService {
|
|
|
756
778
|
/**
|
|
757
779
|
* Controls visibility of the command terminal at the bottom of the shell.
|
|
758
780
|
*
|
|
759
|
-
*
|
|
760
|
-
*
|
|
761
|
-
*
|
|
781
|
+
* ⚠ TWO KEYS, AND THE SPLIT IS THE POINT (multiple-windows F6).
|
|
782
|
+
*
|
|
783
|
+
* This used to be one `localStorage` value, read once at construction and
|
|
784
|
+
* written on every change, with nothing listening for another window. That was
|
|
785
|
+
* correct while the app could only be open once. It is not now: two windows
|
|
786
|
+
* would each write the shared value on every toggle, so whichever you touched
|
|
787
|
+
* last decided what BOTH windows got on their next start — a setting that
|
|
788
|
+
* quietly refuses to stay put, which reads as a bug in the shell rather than in
|
|
789
|
+
* storage.
|
|
790
|
+
*
|
|
791
|
+
* The resolution is not "make them agree". You genuinely may want the terminal
|
|
792
|
+
* up on the scanner window and out of the way on the other, so forcing them into
|
|
793
|
+
* step would be the wrong fix as well as a harder one. Instead:
|
|
794
|
+
*
|
|
795
|
+
* - the LIVE state is per-window (`sessionStorage`), so the two never collide
|
|
796
|
+
* and a reload still restores what this window had;
|
|
797
|
+
* - the DEFAULT for a brand-new window is shared (`localStorage`), so your
|
|
798
|
+
* last choice anywhere still carries into the next window and across a
|
|
799
|
+
* browser restart, which is the behaviour the single key was providing.
|
|
800
|
+
*
|
|
801
|
+
* Both writes are best-effort: losing a remembered layout must never break the
|
|
802
|
+
* screen trying to remember it.
|
|
803
|
+
*
|
|
804
|
+
* ⚠ `visible` is READ-ONLY to the outside and `toggle()` is the only mutator.
|
|
805
|
+
* It used to be a writable signal persisted by an `effect`, which meant any
|
|
806
|
+
* caller could `set()` it — and whether that got remembered depended on an
|
|
807
|
+
* effect firing somewhere else. Persisting inside the one mutator makes it
|
|
808
|
+
* impossible to change this without persisting it.
|
|
762
809
|
*/
|
|
763
810
|
declare class TerminalVisibilityService {
|
|
764
811
|
#private;
|
|
765
|
-
|
|
766
|
-
|
|
812
|
+
/** Read-only on purpose — see the header. */
|
|
813
|
+
readonly visible: Signal<boolean>;
|
|
767
814
|
toggle(): void;
|
|
768
815
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TerminalVisibilityService, never>;
|
|
769
816
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TerminalVisibilityService>;
|
|
@@ -861,10 +908,41 @@ declare class AuthenticationService {
|
|
|
861
908
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthenticationService>;
|
|
862
909
|
}
|
|
863
910
|
|
|
911
|
+
/**
|
|
912
|
+
* What a typed word resolves to: the command it names, plus any words the
|
|
913
|
+
* alternate name carries with it (see {@link CommandAlias}).
|
|
914
|
+
*/
|
|
915
|
+
interface ResolvedCommand {
|
|
916
|
+
readonly command: CommandDefinition;
|
|
917
|
+
readonly prependArgs: readonly string[];
|
|
918
|
+
}
|
|
864
919
|
declare class CommandRegistryService {
|
|
920
|
+
#private;
|
|
865
921
|
private readonly commands;
|
|
922
|
+
private readonly aliases;
|
|
866
923
|
constructor();
|
|
924
|
+
/**
|
|
925
|
+
* Register a command and claim its names.
|
|
926
|
+
*
|
|
927
|
+
* ⭐ THROWS on a name already taken — real name or alternate. It used to be a
|
|
928
|
+
* bare `set`, which meant a clash silently overwrote whichever command
|
|
929
|
+
* registered first, and the constructor's "built-ins first so an app cannot
|
|
930
|
+
* shadow them" comment was not actually true of the map. A shadowed command
|
|
931
|
+
* is indistinguishable from a broken one, and this is the map dispatch reads,
|
|
932
|
+
* so the failure belongs at startup where it cannot be missed
|
|
933
|
+
* (scanner-command-speed.prd.md D4).
|
|
934
|
+
*/
|
|
867
935
|
register(command: CommandDefinition): void;
|
|
936
|
+
/**
|
|
937
|
+
* Resolve a word the user typed to the command it names — real name or
|
|
938
|
+
* alternate. `prependArgs` is empty except for an alternate that carries a
|
|
939
|
+
* subcommand.
|
|
940
|
+
*
|
|
941
|
+
* Use this wherever a TYPED word is being looked up. {@link get} deliberately
|
|
942
|
+
* stays blind to alternates so callers that mean "the command called X" keep
|
|
943
|
+
* meaning exactly that.
|
|
944
|
+
*/
|
|
945
|
+
resolve(name: string): ResolvedCommand | undefined;
|
|
868
946
|
get(name: string): CommandDefinition | undefined;
|
|
869
947
|
getAll(): CommandDefinition[];
|
|
870
948
|
/**
|
|
@@ -909,7 +987,7 @@ declare class Shell {
|
|
|
909
987
|
readonly isThinking: _angular_core.Signal<boolean>;
|
|
910
988
|
readonly isAuthenticated: _angular_core.WritableSignal<boolean>;
|
|
911
989
|
readonly helpOverlay: _angular_core.WritableSignal<string | null>;
|
|
912
|
-
readonly terminalVisible: _angular_core.
|
|
990
|
+
readonly terminalVisible: _angular_core.Signal<boolean>;
|
|
913
991
|
dismissHelp(): void;
|
|
914
992
|
readonly terminalHeight: _angular_core.WritableSignal<string>;
|
|
915
993
|
readonly isDragging: _angular_core.WritableSignal<boolean>;
|
|
@@ -924,7 +1002,7 @@ declare class SideMenu {
|
|
|
924
1002
|
groupId: string;
|
|
925
1003
|
shortcuts: _franzzemen_brokenstock_shell.ShortcutRegistration[];
|
|
926
1004
|
} | null>;
|
|
927
|
-
readonly terminalVisible: _angular_core.
|
|
1005
|
+
readonly terminalVisible: _angular_core.Signal<boolean>;
|
|
928
1006
|
readonly menuItems: _angular_core.Signal<MenuItem[]>;
|
|
929
1007
|
/**
|
|
930
1008
|
* Readiness, not entitlement — an unentitled item never reaches here, having
|
|
@@ -1053,5 +1131,5 @@ declare class ConfirmDialog {
|
|
|
1053
1131
|
}
|
|
1054
1132
|
|
|
1055
1133
|
export { AuthenticationService, CLEAR_USAGE, CommandRegistryService, CommandService, CommandTerminal, ConfirmDialog, FAQ_CONTENT_LOADER, FAQ_DEV_EDITOR, FAQ_DEV_MODE, FAQ_DEV_WORKSPACE_ROOT, FAQ_PUBLIC_PUBLISHER, FAQ_PUBLIC_SITE_BASE_URL, FaqAuthoringPanel, FaqHistoryService, FaqMarkdownRendererService, FaqModal, FaqService, HELP_USAGE, HttpFaqContentLoader, KeyboardShortcutService, Login, MainContent, PublicFaqIndex, PublicFaqPage, PublicFaqToc, RegexValidatorDirective, SESSION_TOKEN_KEY, SHELL_APP_NAME, SHELL_AUTH_URLS, SHELL_COMMANDS, SHELL_MENU_ITEMS, SHELL_POST_LOGIN_ROUTE, SHELL_SHARED_SESSION, SessionTokenStore, Shell, SideMenu, StatusBar, TerminalFocusService, TerminalVisibilityService, ThemeService, ThinkingService, audienceAllowed, authGuard, authInterceptor, buildFallbackChain, decideRenewal, guestGuard, provideShellConfig, tokenize };
|
|
1056
|
-
export type { CommandAvailability, CommandDefinition, CommandHistoryEntry, CommandLexiconEntry, CommandResult, ConfirmDialogData, FaqAudience, FaqContentLoader, FaqDevEditor, FaqEntry, FaqFrontmatter, FaqManifest, FaqPublicPublisher, FaqRegistrationHandle, FaqRenderContext, FaqRenderOptions, FaqResolution, MenuItem, ParsedFaq, RenewalDecision, Severity, ShellAuthUrls, ShellConfig, ShortcutRegistration, ThemeMode };
|
|
1134
|
+
export type { CommandAlias, CommandAvailability, CommandDefinition, CommandHistoryEntry, CommandLexiconEntry, CommandResult, ConfirmDialogData, FaqAudience, FaqContentLoader, FaqDevEditor, FaqEntry, FaqFrontmatter, FaqManifest, FaqPublicPublisher, FaqRegistrationHandle, FaqRenderContext, FaqRenderOptions, FaqResolution, MenuItem, ParsedFaq, RenewalDecision, ResolvedCommand, Severity, ShellAuthUrls, ShellConfig, ShortcutRegistration, ThemeMode };
|
|
1057
1135
|
//# sourceMappingURL=franzzemen-brokenstock-shell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"franzzemen-brokenstock-shell.d.ts","sources":["../../src/lib/types/command.types.ts","../../src/lib/types/menu.types.ts","../../src/lib/tokens/shell-tokens.ts","../../src/lib/provide-shell-config.ts","../../src/lib/guards/auth.guard.ts","../../src/lib/guards/guest.guard.ts","../../src/lib/interceptors/auth.interceptor.ts","../../src/lib/directives/regex-validator.directive.ts","../../src/lib/faq/faq.types.ts","../../src/lib/faq/faq-content-loader.token.ts","../../src/lib/faq/faq-markdown-renderer.service.ts","../../src/lib/faq/http-faq-content-loader.service.ts","../../src/lib/faq/faq.service.ts","../../src/lib/faq/faq-history.service.ts","../../src/lib/faq/faq-modal/faq-modal.ts","../../src/lib/faq/faq-dev-mode.token.ts","../../src/lib/faq/faq-authoring-panel/faq-authoring-panel.ts","../../src/lib/faq/public-faq-index/public-faq-index.ts","../../src/lib/faq/public-faq-page/public-faq-page.ts","../../src/lib/faq/public-faq-toc/public-faq-toc.ts","../../src/lib/faq/faq-seo.tokens.ts","../../src/lib/services/thinking.service.ts","../../src/lib/services/session-token-store.ts","../../src/lib/services/renewal-decision.ts","../../src/lib/services/theme.service.ts","../../src/lib/services/terminal-focus.service.ts","../../src/lib/services/terminal-visibility.service.ts","../../src/lib/services/keyboard-shortcut.service.ts","../../src/lib/services/authentication.service.ts","../../src/lib/services/command-registry.service.ts","../../src/lib/services/command.service.ts","../../src/lib/commands/command.utils.ts","../../src/lib/components/shell/shell.ts","../../src/lib/components/side-menu/side-menu.ts","../../src/lib/components/status-bar/status-bar.ts","../../src/lib/components/main-content/main-content.ts","../../src/lib/components/command-terminal/command-terminal.ts","../../src/lib/components/login/login.ts","../../src/lib/components/confirm-dialog/confirm-dialog.ts"],"mappings":";;;;;;;;;;;;AAMM,KAAM,QAAQ;UAEH,aAAa;;;eAGjB,IAAI;eACJ,QAAQ;;AAEpB;UAEgB,mBAAmB;;YAE1B,aAAa;;AAEtB;AAED;;;AAGG;UACc,mBAAmB;AAClC;AACA;AACA;AACA;AACA,yBAAqB,CAAC,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"franzzemen-brokenstock-shell.d.ts","sources":["../../src/lib/types/command.types.ts","../../src/lib/types/menu.types.ts","../../src/lib/tokens/shell-tokens.ts","../../src/lib/provide-shell-config.ts","../../src/lib/guards/auth.guard.ts","../../src/lib/guards/guest.guard.ts","../../src/lib/interceptors/auth.interceptor.ts","../../src/lib/directives/regex-validator.directive.ts","../../src/lib/faq/faq.types.ts","../../src/lib/faq/faq-content-loader.token.ts","../../src/lib/faq/faq-markdown-renderer.service.ts","../../src/lib/faq/http-faq-content-loader.service.ts","../../src/lib/faq/faq.service.ts","../../src/lib/faq/faq-history.service.ts","../../src/lib/faq/faq-modal/faq-modal.ts","../../src/lib/faq/faq-dev-mode.token.ts","../../src/lib/faq/faq-authoring-panel/faq-authoring-panel.ts","../../src/lib/faq/public-faq-index/public-faq-index.ts","../../src/lib/faq/public-faq-page/public-faq-page.ts","../../src/lib/faq/public-faq-toc/public-faq-toc.ts","../../src/lib/faq/faq-seo.tokens.ts","../../src/lib/services/thinking.service.ts","../../src/lib/services/session-token-store.ts","../../src/lib/services/renewal-decision.ts","../../src/lib/services/theme.service.ts","../../src/lib/services/terminal-focus.service.ts","../../src/lib/services/terminal-visibility.service.ts","../../src/lib/services/keyboard-shortcut.service.ts","../../src/lib/services/authentication.service.ts","../../src/lib/services/command-registry.service.ts","../../src/lib/services/command.service.ts","../../src/lib/commands/command.utils.ts","../../src/lib/components/shell/shell.ts","../../src/lib/components/side-menu/side-menu.ts","../../src/lib/components/status-bar/status-bar.ts","../../src/lib/components/main-content/main-content.ts","../../src/lib/components/command-terminal/command-terminal.ts","../../src/lib/components/login/login.ts","../../src/lib/components/confirm-dialog/confirm-dialog.ts"],"mappings":"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","names":["CategoryGroup"]}
|