import { CommentData_V1 } from "@ibgib/core-gib/dist/common/comment/comment-types.mjs"; import { MetaspaceService } from "@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs"; import { RCLIArgInfo } from "@ibgib/helper-gib/dist/rcli/rcli-types.mjs"; import { IbGibRel8ns_V1, IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs"; import { LiveProxyIbGib } from "@ibgib/web-gib/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs"; import { IbGibGlobalThisInfo } from "@ibgib/web-gib/dist/types.mjs"; // --------------------------------------------------------------------------- // App-level ambient context config // --------------------------------------------------------------------------- /** * Configuration for the application's global state and storage substrates. */ export interface IbGibAmbientContextConfig { dbName: string; storeName: string; additionalStoreNames?: string[]; apiKeyName: string; } // --------------------------------------------------------------------------- // Bootstrap request comment (RCLI plumbing) // --------------------------------------------------------------------------- export interface RequestCommentData_V1 extends CommentData_V1 { args: string[]; interpretedArgInfos: RCLIArgInfo[]; } export interface RequestCommentRel8ns_V1 extends IbGibRel8ns_V1 { } export interface RequestCommentIbGib_V1 extends IbGib_V1 { oneOff: boolean; } // --------------------------------------------------------------------------- // Space shim (RCLI pathing compat) // --------------------------------------------------------------------------- export interface SpaceShimGlobalInfo { initialCwd: string; cwd: string; } import { KeystoneIbGib_V1 } from "@ibgib/core-gib/dist/keystone/keystone-types.mjs"; // --------------------------------------------------------------------------- // Identity (optional) // --------------------------------------------------------------------------- export interface IbGibIdentityContext { resolved: boolean; authenticated: boolean; domainIdentity?: KeystoneIbGib_V1; syncDelegateIdentity?: KeystoneIbGib_V1; } // --------------------------------------------------------------------------- // GlobalThis state // --------------------------------------------------------------------------- export interface IbGibGlobalThis_Common extends IbGibGlobalThisInfo { bootstrapStarted?: boolean; bootstrapPromise?: Promise; chronologysComponent?: any; } export interface IbGibGlobalThis_IbGibApp extends IbGibGlobalThis_Common { version?: string; spaceShim: { [spaceId: string]: SpaceShimGlobalInfo }; verbose?: boolean; fnDefaultGetAPIKey: () => Promise; initialCommentIbGib?: IbGib_V1; initialCommentIbGibProxy?: LiveProxyIbGib; identity?: IbGibIdentityContext | null; } // --------------------------------------------------------------------------- // App-specific globalThis // --------------------------------------------------------------------------- export interface IbGibGlobalThis_SpaceGib extends IbGibGlobalThis_IbGibApp { spaceGibShellSvc?: any; // TODO: add app-specific singleton references here, e.g.: // currentModuleAddr?: string; }