@pb33f/cowboy-components 0.7.5 → 0.7.7

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.
Files changed (64) hide show
  1. package/dist/components/auth/login-button.d.ts +3 -0
  2. package/dist/components/auth/login-button.js +29 -8
  3. package/dist/components/auth/login-panel.d.ts +2 -1
  4. package/dist/components/auth/login-panel.js +3 -2
  5. package/dist/components/auth/oauth-login.d.ts +1 -0
  6. package/dist/components/auth/oauth-login.js +11 -5
  7. package/dist/components/editor/editor-breadcrumb.css.js +1 -1
  8. package/dist/components/model-renderer/rendered-node.d.ts +2 -0
  9. package/dist/components/model-renderer/rendered-node.js +18 -0
  10. package/dist/components/model-renderer/responses.d.ts +11 -0
  11. package/dist/components/model-renderer/responses.js +46 -0
  12. package/dist/components/model-tree/tree.js +1 -1
  13. package/dist/components/paginator/paginator.css.js +1 -1
  14. package/dist/components/paginator/paginator.d.ts +2 -0
  15. package/dist/components/paginator/paginator.js +6 -6
  16. package/dist/components/problems-overview/problems-overview.js +6 -0
  17. package/dist/components/rodeo/rodeo.js +1 -1
  18. package/dist/components/the-doctor/sparks.d.ts +1 -0
  19. package/dist/components/the-doctor/sparks.js +36 -21
  20. package/dist/components/the-doctor/status-bar.css.js +10 -8
  21. package/dist/components/the-doctor/status-bar.d.ts +2 -0
  22. package/dist/components/the-doctor/status-bar.js +18 -8
  23. package/dist/components/the-doctor/the-doctor.css.js +1 -1
  24. package/dist/components/the-doctor/the-doctor.d.ts +113 -120
  25. package/dist/components/the-doctor/the-doctor.js +141 -1735
  26. package/dist/components/the-doctor/upload-archive.d.ts +1 -0
  27. package/dist/components/the-doctor/upload-archive.js +29 -12
  28. package/dist/controllers/{auth.d.ts → auth-controller.d.ts} +11 -6
  29. package/dist/controllers/auth-controller.js +165 -0
  30. package/dist/controllers/broker-controller.d.ts +22 -0
  31. package/dist/controllers/broker-controller.js +107 -0
  32. package/dist/controllers/diagnostic-controller.d.ts +6 -0
  33. package/dist/controllers/diagnostic-controller.js +262 -0
  34. package/dist/controllers/docs-controller.d.ts +8 -0
  35. package/dist/controllers/docs-controller.js +144 -0
  36. package/dist/controllers/model-controller.d.ts +8 -0
  37. package/dist/controllers/model-controller.js +87 -0
  38. package/dist/controllers/node-clicker-controller.d.ts +11 -0
  39. package/dist/controllers/node-clicker-controller.js +362 -0
  40. package/dist/controllers/problem-controller.d.ts +7 -0
  41. package/dist/controllers/problem-controller.js +46 -0
  42. package/dist/controllers/rolodex-controller.d.ts +10 -0
  43. package/dist/controllers/rolodex-controller.js +126 -0
  44. package/dist/controllers/rule-controller.d.ts +19 -0
  45. package/dist/controllers/rule-controller.js +264 -0
  46. package/dist/controllers/spec-controller.d.ts +8 -0
  47. package/dist/controllers/spec-controller.js +78 -0
  48. package/dist/controllers/state-controller.d.ts +9 -0
  49. package/dist/controllers/state-controller.js +279 -0
  50. package/dist/cowboy-components.umd.cjs +768 -736
  51. package/dist/css/pb33f-theme.css +1 -0
  52. package/dist/css/shared.css.js +5 -0
  53. package/dist/events/doctor.d.ts +12 -0
  54. package/dist/events/doctor.js +4 -0
  55. package/dist/model/api-response.d.ts +7 -0
  56. package/dist/model/api-response.js +2 -0
  57. package/dist/services/auth-service.d.ts +1 -0
  58. package/dist/services/auth-service.js +28 -0
  59. package/dist/services/linting-service.js +11 -2
  60. package/dist/services/model-service.d.ts +2 -1
  61. package/dist/services/model-service.js +31 -5
  62. package/dist/style.css +1 -1
  63. package/package.json +1 -1
  64. package/dist/controllers/auth.js +0 -101
@@ -9,20 +9,51 @@ import '@shoelace-style/shoelace/dist/components/badge/badge.js';
9
9
  import '@shoelace-style/shoelace/dist/components/avatar/avatar.js';
10
10
  import { LitElement } from "lit";
11
11
  import { SpecEditor } from "../editor/editor.js";
12
- import { AddToastEvent, ArchiveURLRequestedEvent, DocumentReference, EditorUpdatedEvent, ExplorerEqualizerChangedEvent, LoadRenderedNodeIntoInspectorEvent, NodeClickedEvent, NodeReferenceEvent, ProblemRuleFilterChangedEvent, RuleClickedEvent, RulesetSavedEvent } from "../../events/doctor.js";
13
- import { ProblemDrawerEvent } from "../problem-list/details-drawer.js";
12
+ import { AddToastEvent, ArchiveURLRequestedEvent, ExplorerEqualizerChangedEvent, LoadRenderedNodeIntoInspectorEvent, NukeLogout } from "../../events/doctor.js";
13
+ import { ProblemDetailsDrawer } from "../problem-list/details-drawer.js";
14
+ import { Bag, BagManager } from "@pb33f/saddlebag";
15
+ import { ProblemList } from "../problem-list/problem-list.js";
14
16
  import { Problem } from "../../model/problem.js";
17
+ import { HowToFix } from "../../model/how_to_fix.js";
18
+ import { DoctorDocumentation } from "../../model/rule_documentation.js";
19
+ import { ProblemsOverview } from "../problems-overview/problems-overview.js";
15
20
  import { SlButton, SlDialog, SlIcon, SlInput, SlRadioGroup, SlSplitPanel, SlTab, SlTabGroup } from "@shoelace-style/shoelace";
21
+ import { ErrorBanner } from "../error-banner/error-banner.js";
22
+ import { DrDiagnostics } from "../../model/document-statistics.js";
23
+ import { StatusBar } from "./status-bar.js";
16
24
  import { PlatformError } from "../../model/errors.js";
25
+ import { FeedbackComponent } from "./feedback.js";
17
26
  import { AttentionBox } from "../attention-box/attention-box.js";
27
+ import { ActivitySpinner } from "./activity-spinner.js";
28
+ import { ManageRuleset } from "../manage-ruleset/manage-ruleset.js";
29
+ import { RenderMap, RuleConfig, RuleFunctionSchema, RuleSet } from "../../model/vacuum_rule.js";
30
+ import { ToastManager } from "../toast/toast-manager.js";
18
31
  import { Toast } from "../../model/toast.js";
19
32
  import SlIconButton from "@shoelace-style/shoelace/dist/components/icon-button/icon-button.js";
20
- import { Node, Reference } from "../../model/graph.js";
33
+ import { GraphResponse, Node, Reference } from "../../model/graph.js";
21
34
  import { ModelTree } from "../model-tree/tree.js";
22
35
  import { ExplorerComponent } from "../visualizer/explorer.js";
23
36
  import { RenderedNodeComponent } from "../model-renderer/rendered-node.js";
24
- import { BusCallback, CommandResponse } from "@pb33f/ranch";
37
+ import { Bus } from "@pb33f/ranch";
38
+ import { ReferenceMap, RolodexFiles, RolodexResponse, RolodexState } from "../../model/rolodex.js";
39
+ import { UploadArchiveComponent } from "./upload-archive.js";
40
+ import { NukeWorkspaceComponent } from "./nuke-workspace.js";
41
+ import { PanelState } from "../../model/panel-state.js";
42
+ import { CreditTicker } from "../credit-ticker/credit-ticker.js";
43
+ import { AuthController } from "../../controllers/auth-controller";
44
+ import { TimeVortex } from "../time-vortex/time-vortex.js";
45
+ import { DoctorSettings } from "./settings.js";
25
46
  import { DoctorConfiguration } from "../../model/settings.js";
47
+ import { NodeClickerController } from '../../controllers/node-clicker-controller.js';
48
+ import { BrokerController } from '../../controllers/broker-controller.js';
49
+ import { RolodexController } from '../../controllers/rolodex-controller.js';
50
+ import { SpecController } from '../../controllers/spec-controller.js';
51
+ import { RuleController } from '../../controllers/rule-controller.js';
52
+ import { ProblemController } from '../../controllers/problem-controller.js';
53
+ import { DocsController } from '../../controllers/docs-controller.js';
54
+ import { ModelController } from '../../controllers/model-controller.js';
55
+ import { DiagnosticController } from '../../controllers/diagnostic-controller.js';
56
+ import { StateController } from '../../controllers/state-controller.js';
26
57
  export declare const GraphBag = "pb33f-doctor-graph";
27
58
  export declare const PanelStateBag = "pb33f-doctor-panel-state";
28
59
  export declare const RolodexResponseBag = "pb33f-doctor-rolodex-response";
@@ -63,12 +94,10 @@ export declare class TheDoctor extends LitElement {
63
94
  problemsDataDiv: HTMLDivElement;
64
95
  urlInputButton: SlButton;
65
96
  urlInput: SlInput;
66
- private unavailable;
97
+ unavailable: boolean;
67
98
  urlOverlay: HTMLElement;
68
99
  urlProblem: HTMLElement;
69
100
  urlSpinner: HTMLDivElement;
70
- urlErrorCode: number;
71
- urlErrorMessage: string;
72
101
  doctorEndpoint: string;
73
102
  exportRulesetDialog: SlDialog;
74
103
  collapseButton: SlIconButton;
@@ -77,72 +106,83 @@ export declare class TheDoctor extends LitElement {
77
106
  splitPanelExplorer: SlSplitPanel;
78
107
  splitPanelRolodex: SlSplitPanel;
79
108
  splitPanelInspector: SlSplitPanel;
80
- private randomTicker;
81
- private rulesetPulse;
109
+ rulesetPulse: boolean;
82
110
  explorerVisible: boolean;
83
111
  minimapVisible: boolean;
84
112
  minimapIconVisible: boolean;
85
113
  explorerBooted: boolean;
86
114
  activeURL: string;
87
115
  rolodexNeedsReset: boolean;
88
- private autoDiagnose;
89
- private skipTimeline;
90
- private showDiagnosisButton;
116
+ autoDiagnose: boolean;
117
+ skipTimeline: boolean;
118
+ showDiagnosisButton: boolean;
91
119
  editor: SpecEditor;
120
+ urlErrorCode: number;
121
+ urlErrorMessage: string;
92
122
  rolodexRoot: Node;
93
123
  rolodexProblemMap: Map<string, Problem[]>;
94
- private readonly uploadArchive;
95
- private readonly nukeWorkspace;
96
- private readonly errorBanner;
97
- private bagManager;
124
+ readonly uploadArchive: UploadArchiveComponent;
125
+ readonly nukeWorkspace: NukeWorkspaceComponent;
126
+ readonly errorBanner: ErrorBanner;
127
+ bagManager: BagManager;
98
128
  rulesetEditor: SpecEditor;
99
- private docBag;
100
- private problemBag;
101
- private diagnosticBag;
102
- private defaultRulesetBag;
103
- private OWASPRulesetBag;
104
- private allRulesetBag;
105
- private customRulesetBag;
106
- private functionsBag;
107
- private functionSchemaBag;
108
- private ruleConfigBag;
109
- private howToFixBag;
110
- private rolodexResponseBag;
111
- private rolodexFilesBag;
112
- private rolodexStateBag;
113
- private referenceMapBag;
114
- private panelStateBag;
115
- private settingsBag;
116
- private docExpirationBag;
117
- private graphBag;
118
- private ruleDocsBag;
119
- private functionDocsBag;
120
- private sessionRulesetMapBag;
121
- private readonly problemsOverview;
122
- private readonly problemList;
123
- private readonly detailsDrawer;
124
- private readonly creditTicker;
125
- private ruleDocsWorker;
126
- private debounceTime;
127
- private debounceTimeRuleset;
128
- private bounceId;
129
- private problems;
130
- private readonly statusBar;
131
- private readonly feedback;
132
- private readonly activitySpinner;
133
- private readonly manageRuleset;
134
- private defaultRuleset;
135
- private OWASPRuleset;
136
- private allRuleset;
137
- private customRuleset;
138
- private functions;
139
- private readonly toastManager;
140
- private readonly settingsComponent;
141
- private editorMap;
142
- private selectedEditorTab;
143
- private sidebarClosed;
144
- private importDisabled;
145
- private currentVersion;
129
+ docBag: Bag<string> | undefined;
130
+ problemBag: Bag<Problem[]> | undefined;
131
+ diagnosticBag: Bag<DrDiagnostics> | undefined;
132
+ defaultRulesetBag: Bag<RuleSet> | undefined;
133
+ OWASPRulesetBag: Bag<RuleSet> | undefined;
134
+ allRulesetBag: Bag<RuleSet> | undefined;
135
+ customRulesetBag: Bag<RuleSet> | undefined;
136
+ functionsBag: Bag<string[]> | undefined;
137
+ functionSchemaBag: Bag<Map<string, RuleFunctionSchema>> | undefined;
138
+ ruleConfigBag: Bag<RuleConfig> | undefined;
139
+ howToFixBag: Bag<HowToFix> | undefined;
140
+ rolodexResponseBag: Bag<RolodexResponse> | undefined;
141
+ rolodexFilesBag: Bag<RolodexFiles> | undefined;
142
+ rolodexStateBag: Bag<RolodexState> | undefined;
143
+ referenceMapBag: Bag<ReferenceMap> | undefined;
144
+ panelStateBag: Bag<PanelState> | undefined;
145
+ settingsBag: Bag<DoctorConfiguration> | undefined;
146
+ docExpirationBag: Bag<string> | undefined;
147
+ graphBag: Bag<GraphResponse> | undefined;
148
+ ruleDocsBag: Bag<DoctorDocumentation> | undefined;
149
+ functionDocsBag: Bag<DoctorDocumentation> | undefined;
150
+ sessionRulesetMapBag: Bag<RenderMap> | undefined;
151
+ readonly problemsOverview: ProblemsOverview;
152
+ readonly problemList: ProblemList;
153
+ readonly detailsDrawer: ProblemDetailsDrawer;
154
+ readonly creditTicker: CreditTicker;
155
+ ruleDocsWorker: any;
156
+ debounceTime: number;
157
+ debounceTimeRuleset: number;
158
+ bounceId: number;
159
+ problems: Problem[];
160
+ readonly statusBar: StatusBar;
161
+ readonly feedback: FeedbackComponent;
162
+ readonly activitySpinner: ActivitySpinner;
163
+ readonly manageRuleset: ManageRuleset;
164
+ defaultRuleset: RuleSet;
165
+ OWASPRuleset: RuleSet;
166
+ allRuleset: RuleSet;
167
+ customRuleset: RuleSet;
168
+ functions: string[];
169
+ readonly toastManager: ToastManager;
170
+ readonly settingsComponent: DoctorSettings;
171
+ readonly nodeClickerController: NodeClickerController;
172
+ readonly rolodexController: RolodexController;
173
+ readonly brokerController: BrokerController;
174
+ readonly specController: SpecController;
175
+ readonly ruleController: RuleController;
176
+ readonly problemController: ProblemController;
177
+ readonly docsController: DocsController;
178
+ readonly modelController: ModelController;
179
+ readonly diagnosticController: DiagnosticController;
180
+ readonly stateController: StateController;
181
+ editorMap: Map<string, SpecEditor>;
182
+ selectedEditorTab: string;
183
+ sidebarClosed: boolean;
184
+ importDisabled: boolean;
185
+ firstRun: boolean;
146
186
  renderedNodeMap: Map<string, Node>;
147
187
  selectedNodeHashId: string;
148
188
  modelTree: ModelTree;
@@ -155,23 +195,12 @@ export declare class TheDoctor extends LitElement {
155
195
  filteredNodes: Map<string, Node>;
156
196
  renderedNode: RenderedNodeComponent;
157
197
  activeNode: Node;
158
- private readonly bus;
159
- private readonly specStreamChannel;
160
- private readonly creditStreamChannel;
161
- private readonly doctorServiceChannel;
162
- private specChannelSubscription;
163
- private doctorChannelSubscription;
164
- private creditChannelSubscription;
165
- private brokerConnectionId;
166
- private readonly busPort;
167
- private readonly busHost;
168
- private readonly busVersion;
169
- private readonly useTLS;
198
+ readonly bus: Bus;
170
199
  readonly nodeLimit: number;
171
- private pendingLine;
172
- private rolodexDividerPosition;
173
- private authController;
174
- private timeVortex;
200
+ pendingLine: number;
201
+ rolodexDividerPosition: number;
202
+ readonly authController: AuthController;
203
+ readonly timeVortex: TimeVortex;
175
204
  rolodexRootPath: string;
176
205
  rolodexRootHash: string;
177
206
  rolodexActivePath: string | undefined;
@@ -180,61 +209,24 @@ export declare class TheDoctor extends LitElement {
180
209
  openSettings(): void;
181
210
  settingsChanged(_: string, config: DoctorConfiguration | undefined): void;
182
211
  loadRenderedNodeIntoInspector(evt: CustomEvent<LoadRenderedNodeIntoInspectorEvent>): void;
183
- tickRandomly(): void;
184
- nukeWorkspaceHandler(): void;
212
+ nukeWorkspaceHandler(e?: CustomEvent<NukeLogout>): void;
185
213
  minimapToggled(): void;
186
214
  firstUpdated(): void;
187
- whoAmI(): void;
188
- protected connectToBroker(): void;
189
215
  addClickTrack(node: Node): void;
190
216
  addRefTrack(ref: string): void;
191
- doctorServiceHandler(): BusCallback<CommandResponse>;
192
- startTheDoctor(): void;
193
- specStreamHandler(): BusCallback<CommandResponse>;
194
- creditStreamHandler(): BusCallback<CommandResponse>;
195
- private _firstRun;
196
217
  filterTreeModel(event: CustomEvent<ExplorerEqualizerChangedEvent>): void;
197
- documentReferenceClicked(evt: CustomEvent<DocumentReference>): void;
198
- explorerReferenceClicked(evt: CustomEvent<NodeReferenceEvent>): void;
199
- rolodexTreeNodeClicked(evt: CustomEvent<NodeClickedEvent>): void;
200
- rolodexRootFileSelected(evt: CustomEvent<NodeClickedEvent>): void;
201
- modelTreeNodeClicked(evt: CustomEvent<NodeClickedEvent>): void;
202
- explorerNodeClicked(evt: CustomEvent<NodeClickedEvent>, replaceRenderedNode?: boolean): void;
203
218
  exportRuleset(): void;
204
219
  addToastEvent(event: CustomEvent<AddToastEvent>): void;
205
220
  sendToast(toast: Toast): void;
206
- ruleGroupClicked(event: CustomEvent<ProblemRuleFilterChangedEvent>): void;
207
- ruleDocsClicked(event: CustomEvent<ProblemDrawerEvent>): void;
208
- rulesetSaved(evt: CustomEvent<RulesetSavedEvent>): void;
209
- private buildRolodexResultMap;
210
- private fetchRefMap;
211
- private lintSpec;
212
221
  updateInspectorDivider(): void;
213
222
  updateExplorerDivider(): void;
214
223
  updateRolodexDivider(): void;
215
- private updateRefmapBag;
216
- private platformUnavailable;
217
- private specClicked;
218
- private problemClicked;
219
- private loadState;
220
- private extractGraph;
221
- private customRulesetEnabled;
222
- private fetchSessionRulesetAsYaml;
223
- private fetchFunctions;
224
- private fetchFunctionSchema;
225
- private fetchDefaultRuleset;
226
- private fetchOWASPRuleset;
227
- private fetchAllRuleset;
228
- private fetchDocs;
229
- fetchRulesetMap(): void;
230
- ruleClicked(evt: CustomEvent<RuleClickedEvent>): void;
224
+ updateRefmapBag(currentPath: string | undefined, result: Reference[]): void;
225
+ creditEmpty(e: CustomEvent): void;
226
+ platformUnavailable(error: PlatformError | null): void;
231
227
  builtInRulesetSelected(): void;
232
- rulesetManuallyChanged(): void;
233
- specChanged(event: CustomEvent<EditorUpdatedEvent>): void;
234
228
  runDiagnostics(): void;
235
229
  boostrap(): void;
236
- exportJSON(): void;
237
- exportYAML(): void;
238
230
  confirmExport(): void;
239
231
  closeWelcome(): void;
240
232
  selectEditorTab(event: CustomEvent): void;
@@ -248,6 +240,7 @@ export declare class TheDoctor extends LitElement {
248
240
  showMinimapIcon(): void;
249
241
  closeExplorer(): void;
250
242
  render(): import("lit-html").TemplateResult<1>;
243
+ randomTicker(): string;
251
244
  fetchUrl(event: CustomEvent<ArchiveURLRequestedEvent>): void;
252
245
  hideUrlError(): void;
253
246
  showUrlError(e: PlatformError): void;