@ibgib/web-gib 0.0.52 → 0.0.56
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 +7 -0
- package/dist/AUTO-GENERATED-version.d.mts +1 -1
- package/dist/AUTO-GENERATED-version.mjs +1 -1
- package/dist/api/commands/chat/hello-world.mjs.map +1 -1
- package/dist/api/commands/command-constants.d.mts +4 -4
- package/dist/api/commands/command-constants.d.mts.map +1 -1
- package/dist/api/commands/command-service-v1.d.mts.map +1 -1
- package/dist/api/commands/command-service-v1.mjs.map +1 -1
- package/dist/api/commands/ibgib/get-ibgibs.d.mts.map +1 -1
- package/dist/api/commands/ibgib/get-ibgibs.mjs.map +1 -1
- package/dist/api/ibgib-api-bridge.d.mts +81 -0
- package/dist/api/ibgib-api-bridge.d.mts.map +1 -0
- package/dist/api/ibgib-api-bridge.mjs +259 -0
- package/dist/api/ibgib-api-bridge.mjs.map +1 -0
- package/dist/app-bootstrap/init-orchestration.d.mts +1 -1
- package/dist/app-bootstrap/init-orchestration.d.mts.map +1 -1
- package/dist/app-bootstrap/init-orchestration.mjs +17 -3
- package/dist/app-bootstrap/init-orchestration.mjs.map +1 -1
- package/dist/assets/fullscreen-dialog.html +18 -0
- package/dist/assumptions.respec.mjs.map +1 -1
- package/dist/common/settings/settings-constants.d.mts.map +1 -1
- package/dist/helpers.d.mts.map +1 -1
- package/dist/helpers.mjs.map +1 -1
- package/dist/helpers.web.d.mts.map +1 -1
- package/dist/helpers.web.mjs.map +1 -1
- package/dist/helpers.web.respec.mjs.map +1 -1
- package/dist/identity/keystone-sync-service.d.mts +37 -0
- package/dist/identity/keystone-sync-service.d.mts.map +1 -0
- package/dist/identity/keystone-sync-service.mjs +211 -0
- package/dist/identity/keystone-sync-service.mjs.map +1 -0
- package/dist/identity/sso/sso-custodian-service.d.mts.map +1 -1
- package/dist/identity/sso/sso-custodian-service.mjs.map +1 -1
- package/dist/identity/sso/sso-custodian-service.respec.mjs.map +1 -1
- package/dist/index.d.mts +17 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +21 -26
- package/dist/index.mjs.map +1 -1
- package/dist/storage/storage-helpers.web.mjs.map +1 -1
- package/dist/ui/component/common-component-styles.css +270 -0
- package/dist/ui/component/ibgib-component-service.d.mts.map +1 -1
- package/dist/ui/component/ibgib-dynamic-component-bases.d.mts.map +1 -1
- package/dist/ui/component/ibgib-dynamic-component-bases.mjs.map +1 -1
- package/dist/ui/component/identity/add-device/add-device.css +133 -0
- package/dist/ui/component/identity/add-device/add-device.d.mts +49 -0
- package/dist/ui/component/identity/add-device/add-device.d.mts.map +1 -0
- package/dist/ui/component/identity/add-device/add-device.html +52 -0
- package/dist/ui/component/identity/add-device/add-device.mjs +321 -0
- package/dist/ui/component/identity/add-device/add-device.mjs.map +1 -0
- package/dist/ui/component/identity/identity-header/identity-header.css +317 -0
- package/dist/ui/component/identity/identity-header/identity-header.d.mts +85 -0
- package/dist/ui/component/identity/identity-header/identity-header.d.mts.map +1 -0
- package/dist/ui/component/identity/identity-header/identity-header.html +72 -0
- package/dist/ui/component/identity/identity-header/identity-header.mjs +546 -0
- package/dist/ui/component/identity/identity-header/identity-header.mjs.map +1 -0
- package/dist/ui/component/identity/identity-manager/identity-manager.css +178 -0
- package/dist/ui/component/identity/identity-manager/identity-manager.d.mts +76 -0
- package/dist/ui/component/identity/identity-manager/identity-manager.d.mts.map +1 -0
- package/dist/ui/component/identity/identity-manager/identity-manager.html +19 -0
- package/dist/ui/component/identity/identity-manager/identity-manager.mjs +591 -0
- package/dist/ui/component/identity/identity-manager/identity-manager.mjs.map +1 -0
- package/dist/ui/component/identity/index.d.mts +17 -0
- package/dist/ui/component/identity/index.d.mts.map +1 -0
- package/dist/ui/component/identity/index.mjs +34 -0
- package/dist/ui/component/identity/index.mjs.map +1 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.css +97 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.d.mts +58 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.d.mts.map +1 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.html +51 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.mjs +410 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.mjs.map +1 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.css +621 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.d.mts +98 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.d.mts.map +1 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.html +154 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.mjs +1377 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.mjs.map +1 -0
- package/dist/ui/component/identity/keystone-scrubber/keystone-scrubber.css +46 -0
- package/dist/ui/component/identity/keystone-scrubber/keystone-scrubber.d.mts +64 -0
- package/dist/ui/component/identity/keystone-scrubber/keystone-scrubber.d.mts.map +1 -0
- package/dist/ui/component/identity/keystone-scrubber/keystone-scrubber.html +15 -0
- package/dist/ui/component/identity/keystone-scrubber/keystone-scrubber.mjs +300 -0
- package/dist/ui/component/identity/keystone-scrubber/keystone-scrubber.mjs.map +1 -0
- package/dist/ui/component/identity/remove-device/remove-device.css +118 -0
- package/dist/ui/component/identity/remove-device/remove-device.d.mts +50 -0
- package/dist/ui/component/identity/remove-device/remove-device.d.mts.map +1 -0
- package/dist/ui/component/identity/remove-device/remove-device.html +31 -0
- package/dist/ui/component/identity/remove-device/remove-device.mjs +188 -0
- package/dist/ui/component/identity/remove-device/remove-device.mjs.map +1 -0
- package/dist/ui/ui-constants.d.mts +1 -0
- package/dist/ui/ui-constants.d.mts.map +1 -1
- package/dist/ui/ui-constants.mjs +1 -0
- package/dist/ui/ui-constants.mjs.map +1 -1
- package/dist/ui/ui-types.d.mts +7 -0
- package/dist/ui/ui-types.d.mts.map +1 -1
- package/dist/witness/agent/agent-constants.d.mts.map +1 -1
- package/dist/witness/agent/agent-helpers.mjs.map +1 -1
- package/dist/witness/agent/agent-one-file.d.mts.map +1 -1
- package/dist/witness/agent/agent-one-file.mjs.map +1 -1
- package/dist/witness/agent/agents-service-v1.d.mts.map +1 -1
- package/dist/witness/agent/agents-service-v1.mjs.map +1 -1
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts.map +1 -1
- package/dist/witness/agent/gemini/gemini-agent-factory.d.mts.map +1 -1
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.d.mts.map +1 -1
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.d.mts +4 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.d.mts.map +1 -1
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs +40 -1
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs.map +1 -1
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.d.mts.map +1 -1
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.d.mts.map +1 -1
- package/package.json +2 -2
- package/src/AUTO-GENERATED-version.mts +1 -1
- package/src/api/ibgib-api-bridge.mts +292 -0
- package/src/app-bootstrap/init-orchestration.mts +17 -6
- package/src/custom.d.ts +11 -0
- package/src/identity/keystone-sync-service.mts +257 -0
- package/src/index.mts +24 -25
- package/src/ui/component/README.md +82 -5
- package/src/ui/component/common-component-styles.css +270 -0
- package/src/ui/component/identity/add-device/add-device.css +133 -0
- package/src/ui/component/identity/add-device/add-device.html +52 -0
- package/src/ui/component/identity/add-device/add-device.mts +397 -0
- package/src/ui/component/identity/identity-header/IMPLEMENTATION.md +45 -0
- package/src/ui/component/identity/identity-header/identity-header.css +317 -0
- package/src/ui/component/identity/identity-header/identity-header.html +72 -0
- package/src/ui/component/identity/identity-header/identity-header.mts +651 -0
- package/src/ui/component/identity/identity-manager/IMPLEMENTATION.md +100 -0
- package/src/ui/component/identity/identity-manager/identity-manager.css +178 -0
- package/src/ui/component/identity/identity-manager/identity-manager.html +19 -0
- package/src/ui/component/identity/identity-manager/identity-manager.mts +675 -0
- package/src/ui/component/identity/index.mts +36 -0
- package/src/ui/component/identity/keystone-creator/keystone-creator.css +97 -0
- package/src/ui/component/identity/keystone-creator/keystone-creator.html +51 -0
- package/src/ui/component/identity/keystone-creator/keystone-creator.mts +497 -0
- package/src/ui/component/identity/keystone-details/keystone-details.css +621 -0
- package/src/ui/component/identity/keystone-details/keystone-details.html +154 -0
- package/src/ui/component/identity/keystone-details/keystone-details.mts +1506 -0
- package/src/ui/component/identity/keystone-scrubber/SCRUBBER_IMPLEMENTATION.md +33 -0
- package/src/ui/component/identity/keystone-scrubber/keystone-scrubber.css +46 -0
- package/src/ui/component/identity/keystone-scrubber/keystone-scrubber.html +15 -0
- package/src/ui/component/identity/keystone-scrubber/keystone-scrubber.mts +355 -0
- package/src/ui/component/identity/remove-device/remove-device.css +118 -0
- package/src/ui/component/identity/remove-device/remove-device.html +31 -0
- package/src/ui/component/identity/remove-device/remove-device.mts +247 -0
- package/src/ui/ui-constants.mts +1 -0
- package/src/ui/ui-types.mts +8 -0
- package/src/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mts +42 -1
- package/tools/auto-generated-agent-skills/skills/ibgib-dependency-graph/SKILL.md +209 -0
- package/tools/auto-generated-agent-skills/skills/ibgib-implementation-plan/SKILL.md +102 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { IbGibAddr } from "@ibgib/ts-gib/dist/types.mjs";
|
|
2
|
+
import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
|
|
3
|
+
import { IbGibDynamicComponentMetaBase, IbGibDynamicComponentInstanceBase } from "../../ibgib-dynamic-component-bases.mjs";
|
|
4
|
+
import { ElementsBase, IbGibDynamicComponentInstance, IbGibDynamicComponentInstanceInitOpts } from "../../component-types.mjs";
|
|
5
|
+
export declare const IDENTITY_HEADER_COMPONENT_NAME = "ibgib-identity-header";
|
|
6
|
+
/**
|
|
7
|
+
* Metadata for the Identity Header component.
|
|
8
|
+
*/
|
|
9
|
+
export declare class IdentityHeaderComponentMeta extends IbGibDynamicComponentMetaBase {
|
|
10
|
+
protected lc: string;
|
|
11
|
+
routeRegExp?: RegExp;
|
|
12
|
+
componentName: string;
|
|
13
|
+
constructor();
|
|
14
|
+
createInstance({ path, ibGibAddr }: {
|
|
15
|
+
path: string;
|
|
16
|
+
ibGibAddr: IbGibAddr;
|
|
17
|
+
}): Promise<IbGibDynamicComponentInstance>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* References to DOM elements within the component's shadow root.
|
|
21
|
+
*/
|
|
22
|
+
interface IdentityHeaderElements extends ElementsBase {
|
|
23
|
+
containerEl: HTMLDivElement;
|
|
24
|
+
btnIdentityPillEl: HTMLButtonElement;
|
|
25
|
+
pillAuthContentEl: HTMLDivElement;
|
|
26
|
+
pillUnauthContentEl: HTMLDivElement;
|
|
27
|
+
identityAvatarEl: HTMLDivElement;
|
|
28
|
+
identityUsernameEl: HTMLSpanElement;
|
|
29
|
+
updateBadgeEl: HTMLSpanElement;
|
|
30
|
+
dropdownMenuEl: HTMLDivElement;
|
|
31
|
+
sectionUpdateEl: HTMLDivElement;
|
|
32
|
+
btnMenuUpdateIdentityEl: HTMLButtonElement;
|
|
33
|
+
updateNTextEl: HTMLSpanElement;
|
|
34
|
+
sectionIdentitiesEl: HTMLDivElement;
|
|
35
|
+
identitiesListEl: HTMLDivElement;
|
|
36
|
+
sectionActionsEl: HTMLDivElement;
|
|
37
|
+
btnMenuCreateAccountEl: HTMLButtonElement;
|
|
38
|
+
btnMenuSignInEl: HTMLButtonElement;
|
|
39
|
+
btnMenuGoogleSsoEl: HTMLButtonElement;
|
|
40
|
+
btnMenuGithubSsoEl: HTMLButtonElement;
|
|
41
|
+
sectionSettingsEl: HTMLDivElement;
|
|
42
|
+
btnMenuManageEl: HTMLButtonElement;
|
|
43
|
+
syncProgressModalEl: HTMLDivElement;
|
|
44
|
+
syncModalSpinnerEl: HTMLDivElement;
|
|
45
|
+
syncModalTitleEl: HTMLHeadingElement;
|
|
46
|
+
syncModalMsgEl: HTMLParagraphElement;
|
|
47
|
+
syncModalStatusEl: HTMLDivElement;
|
|
48
|
+
syncModalNTextEl: HTMLSpanElement;
|
|
49
|
+
btnSyncModalCloseEl: HTMLButtonElement;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Concrete implementation of the Identity Header component.
|
|
53
|
+
*/
|
|
54
|
+
export declare class IdentityHeaderComponentInstance extends IbGibDynamicComponentInstanceBase<IbGib_V1, IdentityHeaderElements> implements IbGibDynamicComponentInstance<IbGib_V1, IdentityHeaderElements> {
|
|
55
|
+
protected lc: string;
|
|
56
|
+
private activeAddr;
|
|
57
|
+
private _onRequestIdentityChange;
|
|
58
|
+
private _onIdentityUpdateAvailable;
|
|
59
|
+
private _onIdentityChanged;
|
|
60
|
+
private _onDocumentClick;
|
|
61
|
+
private pendingUpdateDetail;
|
|
62
|
+
private keystoneCache;
|
|
63
|
+
private isDropdownLocked;
|
|
64
|
+
private dropdownHideTimer;
|
|
65
|
+
constructor();
|
|
66
|
+
private getKeystoneDetails;
|
|
67
|
+
initialize(opts: IbGibDynamicComponentInstanceInitOpts): Promise<void>;
|
|
68
|
+
created(): Promise<void>;
|
|
69
|
+
private loadKeystonesIndex;
|
|
70
|
+
disconnected(): Promise<void>;
|
|
71
|
+
private closeDropdown;
|
|
72
|
+
private initHandlers;
|
|
73
|
+
private navigateToManager;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the active identity from settings and verifies it exists in the keystones index.
|
|
76
|
+
*/
|
|
77
|
+
private resolveActiveIdentity;
|
|
78
|
+
protected renderUI(): Promise<void>;
|
|
79
|
+
private handleIdentityUpdateAvailable;
|
|
80
|
+
private handleIdentityChanged;
|
|
81
|
+
private handleRequestIdentityChange;
|
|
82
|
+
handleContextUpdated(): Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
export {};
|
|
85
|
+
//# sourceMappingURL=identity-header.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-header.d.mts","sourceRoot":"","sources":["../../../../../src/ui/component/identity/identity-header/identity-header.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<div id="container" class="header-widget-container">
|
|
2
|
+
<!-- Single top control button -->
|
|
3
|
+
<button id="btn-identity-pill" class="identity-pill-btn" title="Identity Menu">
|
|
4
|
+
<!-- Authenticated State Content -->
|
|
5
|
+
<div id="pill-auth-content" class="pill-content hidden">
|
|
6
|
+
<div id="identity-avatar" class="avatar-circle">-</div>
|
|
7
|
+
<span id="identity-username" class="username-text"></span>
|
|
8
|
+
<span id="update-badge" class="update-badge hidden" title="Identity update available">🟡</span>
|
|
9
|
+
<span class="caret">▾</span>
|
|
10
|
+
</div>
|
|
11
|
+
<!-- Unauthenticated State Content -->
|
|
12
|
+
<div id="pill-unauth-content" class="pill-content hidden">
|
|
13
|
+
<span class="unauth-text">Not Signed In</span>
|
|
14
|
+
<span class="caret">▾</span>
|
|
15
|
+
</div>
|
|
16
|
+
</button>
|
|
17
|
+
|
|
18
|
+
<!-- Unified Dropdown Menu Popup -->
|
|
19
|
+
<div id="dropdown-menu" class="dropdown-menu hidden">
|
|
20
|
+
<!-- Section 1 (Update) -->
|
|
21
|
+
<div id="section-update" class="dropdown-section hidden">
|
|
22
|
+
<button id="btn-menu-update-identity" class="dropdown-item update-item">
|
|
23
|
+
<span class="icon">🔄</span> Update Identity (<span id="update-n-text">n: 0 ➔ 0</span>)
|
|
24
|
+
</button>
|
|
25
|
+
<hr class="dropdown-divider" />
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<!-- Section 2 (Local Identities) -->
|
|
29
|
+
<div id="section-identities" class="dropdown-section">
|
|
30
|
+
<div class="dropdown-header-label">SWITCH IDENTITY</div>
|
|
31
|
+
<div id="identities-list" class="identities-list"></div>
|
|
32
|
+
<hr class="dropdown-divider" />
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<!-- Section 3 (Creation & Sign Ins) -->
|
|
36
|
+
<div id="section-actions" class="dropdown-section">
|
|
37
|
+
<button id="btn-menu-create-account" class="dropdown-item">
|
|
38
|
+
<span class="icon">✨</span> Create Account
|
|
39
|
+
</button>
|
|
40
|
+
<button id="btn-menu-sign-in" class="dropdown-item">
|
|
41
|
+
<span class="icon">🔑</span> Sign In
|
|
42
|
+
</button>
|
|
43
|
+
<button id="btn-menu-google-sso" class="dropdown-item disabled" title="Sign in with Google">
|
|
44
|
+
<span class="icon">🌐</span> Sign in with Google
|
|
45
|
+
</button>
|
|
46
|
+
<button id="btn-menu-github-sso" class="dropdown-item disabled" title="Sign in with GitHub">
|
|
47
|
+
<span class="icon">💻</span> Sign in with GitHub
|
|
48
|
+
</button>
|
|
49
|
+
<hr class="dropdown-divider" />
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<!-- Section 4 (Settings) -->
|
|
53
|
+
<div id="section-settings" class="dropdown-section">
|
|
54
|
+
<button id="btn-menu-manage" class="dropdown-item">
|
|
55
|
+
<span class="icon">⚙️</span> Identity Manager
|
|
56
|
+
</button>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<!-- Modal Sync Progress Overlay -->
|
|
61
|
+
<div id="sync-progress-modal" class="modal-overlay hidden">
|
|
62
|
+
<div class="modal-card">
|
|
63
|
+
<div id="sync-modal-spinner" class="modal-spinner">🔄</div>
|
|
64
|
+
<h3 id="sync-modal-title" class="modal-title">Updating Identity Keystone...</h3>
|
|
65
|
+
<p id="sync-modal-msg" class="modal-msg">Fetching delta graph from server and fast-forwarding local space...</p>
|
|
66
|
+
<div id="sync-modal-status" class="modal-status">
|
|
67
|
+
<span id="sync-modal-n-text">n: 0 ➔ 0</span>
|
|
68
|
+
</div>
|
|
69
|
+
<button id="btn-sync-modal-close" class="modal-close-btn hidden">Done</button>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|