@ibgib/web-gib 0.0.27 → 0.0.29
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/dist/AUTO-GENERATED-version.d.mts +1 -1
- package/dist/AUTO-GENERATED-version.mjs +1 -1
- package/dist/app-bootstrap/bootstrap.d.mts +90 -0
- package/dist/app-bootstrap/bootstrap.d.mts.map +1 -0
- package/dist/app-bootstrap/bootstrap.mjs +404 -0
- package/dist/app-bootstrap/bootstrap.mjs.map +1 -0
- package/dist/app-bootstrap/constants.d.mts +54 -0
- package/dist/app-bootstrap/constants.d.mts.map +1 -0
- package/dist/app-bootstrap/constants.mjs +67 -0
- package/dist/app-bootstrap/constants.mjs.map +1 -0
- package/dist/app-bootstrap/helpers.web.d.mts +74 -0
- package/dist/app-bootstrap/helpers.web.d.mts.map +1 -0
- package/dist/app-bootstrap/helpers.web.mjs +210 -0
- package/dist/app-bootstrap/helpers.web.mjs.map +1 -0
- package/dist/app-bootstrap/types.d.mts +163 -0
- package/dist/app-bootstrap/types.d.mts.map +1 -0
- package/dist/app-bootstrap/types.mjs +15 -0
- package/dist/app-bootstrap/types.mjs.map +1 -0
- package/package.json +1 -1
- package/src/AUTO-GENERATED-version.mts +1 -1
- package/src/app-bootstrap/bootstrap.mts +570 -0
- package/src/app-bootstrap/constants.mts +81 -0
- package/src/app-bootstrap/helpers.web.mts +243 -0
- package/src/app-bootstrap/types.mts +190 -0
- package/tools/auto-generated-agent-skills/deprecated-skills.json +14 -0
- package/tools/auto-generated-agent-skills/skills/ibgib-create-app-core/SKILL.md +7 -7
- package/tools/auto-generated-agent-skills/skills/ibgib-create-app-core/templates/types.mts.template +0 -3
- package/tools/copy-agent-skills.js +7 -0
- package/tools/init-agents.js +46 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module bootstrap
|
|
3
|
+
*
|
|
4
|
+
* Shared bootstrap entry point for ibgib-based web apps.
|
|
5
|
+
* Collapses the metaspace, globalThis, and shell-init boilerplate.
|
|
6
|
+
*/
|
|
7
|
+
import { RCLIArgInfo, RCLIParamInfo } from "@ibgib/helper-gib/dist/rcli/rcli-types.mjs";
|
|
8
|
+
import { TransformResult } from "@ibgib/ts-gib/dist/types.mjs";
|
|
9
|
+
import { AppBase_V1 } from "@ibgib/core-gib/dist/witness/app/app-base-v1.mjs";
|
|
10
|
+
import { MetaspaceService } from "@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs";
|
|
11
|
+
import { IbGibSpaceAny } from "@ibgib/core-gib/dist/witness/space/space-base-v1.mjs";
|
|
12
|
+
import { IbGibAmbientContextConfig, IbGibGlobalThis_IbGibApp, IbGibIdentityContext, RequestCommentIbGib_V1 } from "./types.mjs";
|
|
13
|
+
export interface TagConfig {
|
|
14
|
+
text: string;
|
|
15
|
+
icon: string;
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
18
|
+
export interface BootstrapIbGibAppOptions<TApp extends AppBase_V1<any, any, any, any, any, any, any, any>> {
|
|
19
|
+
/** Application context configuration (IndexedDB names, etc.) */
|
|
20
|
+
config: IbGibAmbientContextConfig;
|
|
21
|
+
/** Accessor for the application's typed globalThis slot */
|
|
22
|
+
getGlobalThis: (config?: IbGibAmbientContextConfig) => IbGibGlobalThis_IbGibApp;
|
|
23
|
+
/** The main application witness class */
|
|
24
|
+
AppClass: new (data?: any, rel8ns?: any) => TApp;
|
|
25
|
+
/**
|
|
26
|
+
* Default data used when generating the very first version of this app.
|
|
27
|
+
* Only applied if `fnGetOrCreateApp` is omitted.
|
|
28
|
+
*/
|
|
29
|
+
defaultAppData: any;
|
|
30
|
+
/**
|
|
31
|
+
* Optional. Provide an array of parameters the application supports.
|
|
32
|
+
*/
|
|
33
|
+
paramInfos?: RCLIParamInfo[];
|
|
34
|
+
/**
|
|
35
|
+
* Optional. Provide initial args for bootstrap.
|
|
36
|
+
* Defaults to `['--interactive']`.
|
|
37
|
+
*/
|
|
38
|
+
getOpeningArgs?: () => Promise<string[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Optional. RCLI argument validation hook.
|
|
41
|
+
*/
|
|
42
|
+
validateArgInfos?: (opts: {
|
|
43
|
+
argInfos: RCLIArgInfo[];
|
|
44
|
+
}) => string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Optional. Hook called before initializing the app, but after metaspace is ready.
|
|
47
|
+
* Can be used to check environment, space state, etc.
|
|
48
|
+
*/
|
|
49
|
+
onBeforeCreate?: (metaspace: MetaspaceService, space: IbGibSpaceAny) => Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Optional. Hook called immediately after the application witness is loaded or created.
|
|
52
|
+
* A good place to execute migrations before returning the 'ready' app.
|
|
53
|
+
*/
|
|
54
|
+
onAppLoaded?: (app: TApp, isNew: boolean) => Promise<TApp>;
|
|
55
|
+
/**
|
|
56
|
+
* Nuclear escape hatch. Provide this to replace the entire app get-or-create flow.
|
|
57
|
+
* If provided, `onBeforeCreate`, `onAppLoaded`, and `defaultAppData` are ignored.
|
|
58
|
+
*/
|
|
59
|
+
fnGetOrCreateApp?: (metaspace: MetaspaceService, space: IbGibSpaceAny) => Promise<TApp>;
|
|
60
|
+
/**
|
|
61
|
+
* Optional. Hook called to initialize identity context (e.g., keystone based auth).
|
|
62
|
+
*/
|
|
63
|
+
resolveIdentity?: (metaspace: MetaspaceService) => Promise<IbGibIdentityContext | undefined>;
|
|
64
|
+
/**
|
|
65
|
+
* Optional. The point at which the application logic dictates its readiness to UI components.
|
|
66
|
+
* Typically this executes `getAppShellSvc().onEngineReady()`.
|
|
67
|
+
*/
|
|
68
|
+
onReady?: (app: TApp) => void | Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Tags verified to exist in the global user space at startup.
|
|
71
|
+
*/
|
|
72
|
+
ensureTags?: TagConfig[];
|
|
73
|
+
/**
|
|
74
|
+
* The key prefix used for allocating new spaces (e.g. `test_app_space`).
|
|
75
|
+
*/
|
|
76
|
+
localSpaceNamePrefix?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Optional hook to register AI agent function tracking and deprecations.
|
|
79
|
+
*/
|
|
80
|
+
registerAgentFunctionInfos?: () => void;
|
|
81
|
+
}
|
|
82
|
+
export declare function bootstrapIbGibApp<TApp extends AppBase_V1<any, any, any, any, any, any, any, any>>(opts: BootstrapIbGibAppOptions<TApp>): Promise<void>;
|
|
83
|
+
export declare function createRequestCommentIbGib_Common({ args, interpretedArgInfos, }: {
|
|
84
|
+
args: string[];
|
|
85
|
+
interpretedArgInfos: RCLIArgInfo[];
|
|
86
|
+
}): Promise<TransformResult<RequestCommentIbGib_V1>>;
|
|
87
|
+
export declare function validateParamInfos({ paramInfos }: {
|
|
88
|
+
paramInfos: RCLIParamInfo[];
|
|
89
|
+
}): string[];
|
|
90
|
+
//# sourceMappingURL=bootstrap.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.mts","sourceRoot":"","sources":["../../src/app-bootstrap/bootstrap.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module bootstrap
|
|
3
|
+
*
|
|
4
|
+
* Shared bootstrap entry point for ibgib-based web apps.
|
|
5
|
+
* Collapses the metaspace, globalThis, and shell-init boilerplate.
|
|
6
|
+
*/
|
|
7
|
+
import { clone, extractErrorMsg, getTimestamp, getUUID, pickRandom_Letters, } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
|
|
8
|
+
import { buildArgInfos } from "@ibgib/helper-gib/dist/rcli/rcli-helper.mjs";
|
|
9
|
+
import { getIbAndGib, getIbGibAddr } from "@ibgib/ts-gib/dist/helper.mjs";
|
|
10
|
+
import { Factory_V1 as factory } from "@ibgib/ts-gib/dist/V1/factory.mjs";
|
|
11
|
+
import { Rel8n } from "@ibgib/ts-gib/dist/V1/types.mjs";
|
|
12
|
+
import { getFromSpace } from "@ibgib/core-gib/dist/witness/space/space-helper.mjs";
|
|
13
|
+
import { createNewApp, getAppIb, getInfoFromAppIb } from "@ibgib/core-gib/dist/witness/app/app-helper.mjs";
|
|
14
|
+
import { APP_REL8N_NAME } from '@ibgib/core-gib/dist/witness/app/app-constants.mjs';
|
|
15
|
+
import { TAG_REL8N_NAME } from "@ibgib/core-gib/dist/common/tag/tag-constants.mjs";
|
|
16
|
+
import { SPACE_NAME_REGEXP } from "@ibgib/core-gib/dist/witness/space/space-constants.mjs";
|
|
17
|
+
import { SpecialIbGibType } from "@ibgib/core-gib/dist/common/other/other-types.mjs";
|
|
18
|
+
import { alertUser, promptForSecret, promptForText } from "../helpers.web.mjs";
|
|
19
|
+
import { Metaspace_Webspace } from "../witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs";
|
|
20
|
+
import { LiveProxyIbGib } from "../witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs";
|
|
21
|
+
import { storageGet } from "../storage/storage-helpers.web.mjs";
|
|
22
|
+
import { getIbGibGlobalThis_IbGib } from "../helpers.mjs";
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Main Flow
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
export async function bootstrapIbGibApp(opts) {
|
|
27
|
+
const lc = `[${bootstrapIbGibApp.name}]`;
|
|
28
|
+
const logalot = true; // Use a general log flag or derive from config
|
|
29
|
+
try {
|
|
30
|
+
if (logalot) {
|
|
31
|
+
console.log(`${lc} starting...`);
|
|
32
|
+
}
|
|
33
|
+
const ibGibGlobalThis = opts.getGlobalThis(opts.config);
|
|
34
|
+
if (ibGibGlobalThis.bootstrapStarted) {
|
|
35
|
+
if (ibGibGlobalThis.bootstrapPromise) {
|
|
36
|
+
console.warn(`${lc} already bootstrapping — awaiting that promise.`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw new Error(`(UNEXPECTED) bootstrapStarted but bootstrapPromise is falsy?`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
ibGibGlobalThis.bootstrapStarted = true;
|
|
44
|
+
ibGibGlobalThis.bootstrapPromise = new Promise(async (resolve, reject) => {
|
|
45
|
+
try {
|
|
46
|
+
const args = opts.getOpeningArgs
|
|
47
|
+
? await opts.getOpeningArgs()
|
|
48
|
+
: ['--interactive'];
|
|
49
|
+
const paramInfos = opts.paramInfos ?? [{ name: 'interactive', isFlag: true, argTypeName: 'boolean' }];
|
|
50
|
+
const paramInfosErrors = validateParamInfos({ paramInfos });
|
|
51
|
+
if (paramInfosErrors.length > 0) {
|
|
52
|
+
throw new Error(`(UNEXPECTED) invalid PARAM_INFOS: ${paramInfosErrors.join('|')}`);
|
|
53
|
+
}
|
|
54
|
+
const argInfos = buildArgInfos({ args, paramInfos, logalot });
|
|
55
|
+
if (opts.validateArgInfos) {
|
|
56
|
+
const validationErrors = opts.validateArgInfos({ argInfos });
|
|
57
|
+
if (validationErrors) {
|
|
58
|
+
throw new Error(`Arg validation errors: ${validationErrors}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
await execFromArgs({ opts, args, argInfos, logalot });
|
|
62
|
+
resolve();
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
reject(error);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
await ibGibGlobalThis.bootstrapPromise;
|
|
70
|
+
// Execute onReady securely outside the promise resolution to prevent deadlock
|
|
71
|
+
// when getComponentInstance is used by shell service.
|
|
72
|
+
if (opts.onReady) {
|
|
73
|
+
// Re-fetch the loaded app wrapper dynamically
|
|
74
|
+
const getApp = () => ibGibGlobalThis.appInstance || null;
|
|
75
|
+
await opts.onReady(getApp());
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
if (logalot) {
|
|
84
|
+
console.log(`\n${lc} complete.`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async function execFromArgs({ opts, args, argInfos, logalot, }) {
|
|
89
|
+
const lc = `[${execFromArgs.name}]`;
|
|
90
|
+
try {
|
|
91
|
+
if (logalot) {
|
|
92
|
+
console.log(`${lc} starting...`);
|
|
93
|
+
}
|
|
94
|
+
const metaspace = await initMetaspace({ opts, logalot });
|
|
95
|
+
const ibgibGlobalThis_core = getIbGibGlobalThis_IbGib();
|
|
96
|
+
ibgibGlobalThis_core.metaspace = metaspace;
|
|
97
|
+
const ibgibGlobalThis = opts.getGlobalThis(opts.config);
|
|
98
|
+
ibgibGlobalThis.metaspace = metaspace;
|
|
99
|
+
if (opts.ensureTags) {
|
|
100
|
+
await ensureTagsExist({ metaspace, tags: opts.ensureTags, logalot });
|
|
101
|
+
}
|
|
102
|
+
if (opts.registerAgentFunctionInfos) {
|
|
103
|
+
opts.registerAgentFunctionInfos();
|
|
104
|
+
}
|
|
105
|
+
const resRequestCommentIbGib = await createRequestCommentIbGib_Common({
|
|
106
|
+
args, interpretedArgInfos: argInfos,
|
|
107
|
+
});
|
|
108
|
+
await metaspace.persistTransformResult({ resTransform: resRequestCommentIbGib });
|
|
109
|
+
ibgibGlobalThis.initialCommentIbGib = resRequestCommentIbGib.newIbGib;
|
|
110
|
+
const proxy = new LiveProxyIbGib();
|
|
111
|
+
await proxy.initialized;
|
|
112
|
+
proxy.setWrappedIbGib({ ibGib: resRequestCommentIbGib.newIbGib });
|
|
113
|
+
ibgibGlobalThis.initialCommentIbGibProxy = proxy;
|
|
114
|
+
if (opts.resolveIdentity) {
|
|
115
|
+
ibgibGlobalThis.identity = await opts.resolveIdentity(metaspace);
|
|
116
|
+
}
|
|
117
|
+
await execInteractive({ opts, resRequestCommentIbGib, metaspace, logalot });
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
if (logalot) {
|
|
125
|
+
console.log(`\n${lc} complete.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
async function initMetaspace({ opts, logalot }) {
|
|
130
|
+
const lc = `[${initMetaspace.name}]`;
|
|
131
|
+
try {
|
|
132
|
+
if (logalot) {
|
|
133
|
+
console.log(`${lc} starting...`);
|
|
134
|
+
}
|
|
135
|
+
let metaspace = new Metaspace_Webspace(/*cacheSvc*/ undefined);
|
|
136
|
+
const localSpaceNameKey = opts.localSpaceNamePrefix
|
|
137
|
+
? `${opts.localSpaceNamePrefix}_local_space_name`
|
|
138
|
+
: `local_space_name`;
|
|
139
|
+
const existingLocalSpaceName = await storageGet({
|
|
140
|
+
dbName: opts.config.dbName,
|
|
141
|
+
storeName: opts.config.storeName,
|
|
142
|
+
key: localSpaceNameKey,
|
|
143
|
+
});
|
|
144
|
+
const prefix = opts.localSpaceNamePrefix ?? 'app_space';
|
|
145
|
+
const spaceName = existingLocalSpaceName
|
|
146
|
+
? undefined
|
|
147
|
+
: await generateLocalSpaceName(prefix);
|
|
148
|
+
await metaspace.initialize({
|
|
149
|
+
spaceName,
|
|
150
|
+
metaspaceFactory: undefined,
|
|
151
|
+
getFnAlert: () => ({ title, msg }) => alertUser({ title, msg }),
|
|
152
|
+
getFnPrompt: () => ({ title, msg }) => promptForText({ title, msg, confirm: false }),
|
|
153
|
+
getFnPromptPassword: () => () => promptForSecret({ confirm: true }),
|
|
154
|
+
});
|
|
155
|
+
return metaspace;
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
if (logalot) {
|
|
163
|
+
console.log(`${lc} complete.`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async function generateLocalSpaceName(prefix) {
|
|
168
|
+
const name = prefix + '_' + pickRandom_Letters({ count: 12 });
|
|
169
|
+
if (!SPACE_NAME_REGEXP.test(name)) {
|
|
170
|
+
throw new Error(`(UNEXPECTED) generated space name (${name}) failed regexp`);
|
|
171
|
+
}
|
|
172
|
+
return name;
|
|
173
|
+
}
|
|
174
|
+
async function execInteractive({ opts, resRequestCommentIbGib, metaspace, logalot }) {
|
|
175
|
+
const lc = `[${execInteractive.name}]`;
|
|
176
|
+
try {
|
|
177
|
+
if (logalot) {
|
|
178
|
+
console.log(`${lc} starting...`);
|
|
179
|
+
}
|
|
180
|
+
const localUserSpace = await metaspace.getLocalUserSpace({ lock: false });
|
|
181
|
+
if (!localUserSpace) {
|
|
182
|
+
throw new Error(`(UNEXPECTED) localUserSpace falsy?`);
|
|
183
|
+
}
|
|
184
|
+
const app = opts.fnGetOrCreateApp
|
|
185
|
+
? await opts.fnGetOrCreateApp(metaspace, localUserSpace)
|
|
186
|
+
: await defaultGetOrCreateApp({
|
|
187
|
+
AppClass: opts.AppClass,
|
|
188
|
+
defaultAppData: opts.defaultAppData,
|
|
189
|
+
onBeforeCreate: opts.onBeforeCreate,
|
|
190
|
+
onAppLoaded: opts.onAppLoaded,
|
|
191
|
+
metaspace,
|
|
192
|
+
space: localUserSpace,
|
|
193
|
+
});
|
|
194
|
+
// Track the app so `onReady` can access it cleanly
|
|
195
|
+
const ibgibGlobalThis = opts.getGlobalThis(opts.config);
|
|
196
|
+
ibgibGlobalThis.appInstance = app;
|
|
197
|
+
app.metaspace = metaspace;
|
|
198
|
+
await app.witness(resRequestCommentIbGib.newIbGib);
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
202
|
+
throw error;
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
if (logalot) {
|
|
206
|
+
console.log(`${lc} complete.`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async function defaultGetOrCreateApp({ AppClass, defaultAppData, onBeforeCreate, onAppLoaded, metaspace, space, }) {
|
|
211
|
+
const lc = `[${defaultGetOrCreateApp.name}]`;
|
|
212
|
+
const logalot = true;
|
|
213
|
+
try {
|
|
214
|
+
if (logalot) {
|
|
215
|
+
console.log(`${lc} starting...`);
|
|
216
|
+
}
|
|
217
|
+
let appsIbGib = await metaspace.getSpecialIbGib({
|
|
218
|
+
type: SpecialIbGibType.apps,
|
|
219
|
+
initialize: false, lock: false, space,
|
|
220
|
+
});
|
|
221
|
+
if (!appsIbGib) {
|
|
222
|
+
throw new Error(`(UNEXPECTED) no apps index ibgib`);
|
|
223
|
+
}
|
|
224
|
+
if (!appsIbGib.rel8ns) {
|
|
225
|
+
throw new Error(`(UNEXPECTED) appsIbGib.rel8ns falsy`);
|
|
226
|
+
}
|
|
227
|
+
const appAddrs = (appsIbGib.rel8ns[APP_REL8N_NAME] ?? [])
|
|
228
|
+
.filter(addr => {
|
|
229
|
+
const { ib } = getIbAndGib({ ibGibAddr: addr });
|
|
230
|
+
return getInfoFromAppIb({ appIb: ib }).appClassname === AppClass.name;
|
|
231
|
+
});
|
|
232
|
+
let app;
|
|
233
|
+
let appAddr;
|
|
234
|
+
let isNew = false;
|
|
235
|
+
if (appAddrs.length === 0) {
|
|
236
|
+
isNew = true;
|
|
237
|
+
if (onBeforeCreate) {
|
|
238
|
+
await onBeforeCreate(metaspace, space);
|
|
239
|
+
}
|
|
240
|
+
app = await createAndSaveNewApp({ AppClass, defaultAppData, metaspace, space });
|
|
241
|
+
appAddr = getIbGibAddr({ ibGib: app });
|
|
242
|
+
}
|
|
243
|
+
else if (appAddrs.length === 1) {
|
|
244
|
+
appAddr = appAddrs[0];
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
const list = appAddrs
|
|
248
|
+
.map(a => getIbAndGib({ ibGibAddr: a }).ib)
|
|
249
|
+
.map((ib, idx) => `\n${idx}) ${ib}`);
|
|
250
|
+
let idx;
|
|
251
|
+
let retry = false;
|
|
252
|
+
do {
|
|
253
|
+
const response = await promptForText({
|
|
254
|
+
title: 'Which App?',
|
|
255
|
+
msg: `${retry ? 'huh? ' : ''}Multiple apps found. Which one?${list}`,
|
|
256
|
+
});
|
|
257
|
+
const parsed = Number.parseInt(response);
|
|
258
|
+
retry = Number.isNaN(parsed) || parsed >= appAddrs.length;
|
|
259
|
+
if (!retry) {
|
|
260
|
+
idx = parsed;
|
|
261
|
+
}
|
|
262
|
+
} while (retry);
|
|
263
|
+
appAddr = appAddrs[idx];
|
|
264
|
+
}
|
|
265
|
+
const resGet = await getFromSpace({ addr: appAddr, space });
|
|
266
|
+
if (resGet.success && resGet.ibGibs?.length === 1) {
|
|
267
|
+
app = resGet.ibGibs[0];
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
throw new Error(`Couldn't get app (${appAddr}).`);
|
|
271
|
+
}
|
|
272
|
+
if (!app.witness) {
|
|
273
|
+
const witness = new AppClass(undefined, undefined);
|
|
274
|
+
await witness.loadIbGibDto(app);
|
|
275
|
+
app = witness;
|
|
276
|
+
}
|
|
277
|
+
if (onAppLoaded) {
|
|
278
|
+
app = await onAppLoaded(app, isNew);
|
|
279
|
+
}
|
|
280
|
+
return app;
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
284
|
+
throw error;
|
|
285
|
+
}
|
|
286
|
+
finally {
|
|
287
|
+
if (logalot) {
|
|
288
|
+
console.log(`${lc} complete.`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
async function createAndSaveNewApp({ AppClass, defaultAppData, metaspace, space, }) {
|
|
293
|
+
const lc = `[${createAndSaveNewApp.name}]`;
|
|
294
|
+
const logalot = true;
|
|
295
|
+
try {
|
|
296
|
+
if (logalot) {
|
|
297
|
+
console.log(`${lc} starting...`);
|
|
298
|
+
}
|
|
299
|
+
const fnPromptApp = (() => {
|
|
300
|
+
return async () => {
|
|
301
|
+
const name = `${AppClass.name}_${pickRandom_Letters({ count: 8 })}`;
|
|
302
|
+
const data = clone(defaultAppData);
|
|
303
|
+
data.name = name;
|
|
304
|
+
data.uuid = await getUUID();
|
|
305
|
+
const rel8ns = undefined; // App templates usually have DEFAULT_APP_REL8NS as undefined
|
|
306
|
+
const { classname } = data;
|
|
307
|
+
const ib = getAppIb({ appData: data, classname });
|
|
308
|
+
return await factory.firstGen({
|
|
309
|
+
ib,
|
|
310
|
+
parentIbGib: factory.primitive({ ib: `app ${classname}` }),
|
|
311
|
+
data, rel8ns,
|
|
312
|
+
dna: true,
|
|
313
|
+
linkedRel8ns: [Rel8n.ancestor, Rel8n.past],
|
|
314
|
+
nCounter: true,
|
|
315
|
+
tjp: { timestamp: true },
|
|
316
|
+
});
|
|
317
|
+
};
|
|
318
|
+
})();
|
|
319
|
+
const app = await createNewApp({
|
|
320
|
+
fnPromptApp,
|
|
321
|
+
space,
|
|
322
|
+
ibgibs: metaspace,
|
|
323
|
+
});
|
|
324
|
+
if (!app) {
|
|
325
|
+
throw new Error(`Failed to create app (falsy).`);
|
|
326
|
+
}
|
|
327
|
+
if (app?.data?.classname !== AppClass.name) {
|
|
328
|
+
throw new Error(`(UNEXPECTED) wrong app classname.`);
|
|
329
|
+
}
|
|
330
|
+
return app;
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
334
|
+
throw error;
|
|
335
|
+
}
|
|
336
|
+
finally {
|
|
337
|
+
if (logalot) {
|
|
338
|
+
console.log(`${lc} complete.`);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
async function ensureTagsExist({ metaspace, tags, logalot }) {
|
|
343
|
+
const lc = `[${ensureTagsExist.name}]`;
|
|
344
|
+
try {
|
|
345
|
+
if (logalot) {
|
|
346
|
+
console.log(`${lc} starting...`);
|
|
347
|
+
}
|
|
348
|
+
const tagIbGibs = await metaspace.getSpecialRel8dIbGibs({
|
|
349
|
+
type: "tags", rel8nName: TAG_REL8N_NAME,
|
|
350
|
+
});
|
|
351
|
+
for (const tag of tags) {
|
|
352
|
+
if (!tagIbGibs.some(x => x.data?.text === tag.text)) {
|
|
353
|
+
await metaspace.createTagIbGib({
|
|
354
|
+
text: tag.text,
|
|
355
|
+
icon: tag.icon,
|
|
356
|
+
description: tag.description,
|
|
357
|
+
space: undefined,
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
364
|
+
throw error;
|
|
365
|
+
}
|
|
366
|
+
finally {
|
|
367
|
+
if (logalot) {
|
|
368
|
+
console.log(`${lc} complete.`);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
export async function createRequestCommentIbGib_Common({ args, interpretedArgInfos, }) {
|
|
373
|
+
const text = args.join(' ');
|
|
374
|
+
const data = {
|
|
375
|
+
uuid: await getUUID(),
|
|
376
|
+
text,
|
|
377
|
+
args,
|
|
378
|
+
interpretedArgInfos,
|
|
379
|
+
textTimestamp: getTimestamp(),
|
|
380
|
+
};
|
|
381
|
+
return await factory.firstGen({
|
|
382
|
+
parentIbGib: factory.primitive({ ib: 'comment' }),
|
|
383
|
+
ib: `comment ${text.substring(0, 32).replace(/ /g, '_')}`,
|
|
384
|
+
data,
|
|
385
|
+
dna: true,
|
|
386
|
+
tjp: { uuid: true, timestamp: true },
|
|
387
|
+
nCounter: true,
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
export function validateParamInfos({ paramInfos }) {
|
|
391
|
+
const errors = [];
|
|
392
|
+
const identifiers = [];
|
|
393
|
+
paramInfos.forEach(p => {
|
|
394
|
+
const names = [p.name, ...(p.synonyms ?? [])];
|
|
395
|
+
names.forEach(name => {
|
|
396
|
+
if (identifiers.includes(name.toLowerCase())) {
|
|
397
|
+
errors.push(`Duplicate identifier found: ${name}`);
|
|
398
|
+
}
|
|
399
|
+
identifiers.push(name.toLowerCase());
|
|
400
|
+
});
|
|
401
|
+
});
|
|
402
|
+
return errors;
|
|
403
|
+
}
|
|
404
|
+
//# sourceMappingURL=bootstrap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.mjs","sourceRoot":"","sources":["../../src/app-bootstrap/bootstrap.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants
|
|
3
|
+
*
|
|
4
|
+
* Shared constants for ibgib-based frontend apps.
|
|
5
|
+
*
|
|
6
|
+
* ## what belongs here
|
|
7
|
+
*
|
|
8
|
+
* Only constants that are IDENTICAL across all ibgib apps and have no
|
|
9
|
+
* app-specific variation. Per-app constants (DB name, store name, API key
|
|
10
|
+
* name, APP_CONFIG, GLOBAL_LOG_A_LOT, GLOBAL_TIMER_NAME, space name prefix,
|
|
11
|
+
* etc.) belong in each app's own constants.mts.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Regex for what we consider a valid Gemini API key format.
|
|
15
|
+
* Shared across all apps that use the Gemini AI API.
|
|
16
|
+
*/
|
|
17
|
+
export declare const GEMINI_API_KEY_REGEXP: RegExp;
|
|
18
|
+
/**
|
|
19
|
+
* User-facing help string pointing to the API key config UI.
|
|
20
|
+
* Referenced in error and prompt messages across apps.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CONFIG_OPTION_GEMINI_API_KEY_LOCATION_HELP = "Gemini API Key Config option (\u2699\uFE0F icon in the top right)";
|
|
23
|
+
/**
|
|
24
|
+
* Tag text for the agent tag ibgib.
|
|
25
|
+
* Used in ibgib.data.text for the agent tag.
|
|
26
|
+
*/
|
|
27
|
+
export declare const TAG_AGENT_TEXT = "agent";
|
|
28
|
+
/**
|
|
29
|
+
* Ionicon name for the agent tag.
|
|
30
|
+
* Used in ibgib.data.icon for the agent tag.
|
|
31
|
+
*/
|
|
32
|
+
export declare const TAG_AGENT_ICON = "body-outline";
|
|
33
|
+
/**
|
|
34
|
+
* Human-readable description for the agent tag ibgib.
|
|
35
|
+
* Used in ibgib.data.description for the agent tag.
|
|
36
|
+
*/
|
|
37
|
+
export declare const TAG_AGENT_DESCRIPTION = "This tag tracks the active agents for the current local user space.";
|
|
38
|
+
/**
|
|
39
|
+
* The computed ib value for the agent tag ibgib.
|
|
40
|
+
* Derived from {@link TAG_AGENT_TEXT} via tagTextToIb.
|
|
41
|
+
*/
|
|
42
|
+
export declare const TAG_AGENT_IB: string;
|
|
43
|
+
export declare const DEFAULT_IBGIB_COLOR = "#78f87e88";
|
|
44
|
+
export declare const DEFAULT_IBGIB_TRANSLUCENT = "#78f87e10";
|
|
45
|
+
export declare const DEFAULT_IBGIB_COLOR_CONTRAST = "#ffffff";
|
|
46
|
+
export declare const DEFAULT_TJP_COLOR = "#78f87e88";
|
|
47
|
+
export declare const DEFAULT_TJP_COLOR_TRANSLUCENT = "#78f87e10";
|
|
48
|
+
export declare const DEFAULT_TJP_COLOR_CONTRAST = "#ffffff";
|
|
49
|
+
/**
|
|
50
|
+
* Tag text used when tagging hardcoded/automated prompts.
|
|
51
|
+
* Atow (05/2025) experimenting with tagging hardcoded prompts.
|
|
52
|
+
*/
|
|
53
|
+
export declare const HARDCODED_PROMPT_TAG_TEXT = "AUTOMATED_TEXT";
|
|
54
|
+
//# sourceMappingURL=constants.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/app-bootstrap/constants.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAA4B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,0CAA0C,sEACM,CAAC;AAM9D;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,wEACuC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,YAAY,QAA8B,CAAC;AAMxD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,4BAA4B,YAAY,CAAC;AACtD,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,6BAA6B,cAAc,CAAC;AACzD,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAMpD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants
|
|
3
|
+
*
|
|
4
|
+
* Shared constants for ibgib-based frontend apps.
|
|
5
|
+
*
|
|
6
|
+
* ## what belongs here
|
|
7
|
+
*
|
|
8
|
+
* Only constants that are IDENTICAL across all ibgib apps and have no
|
|
9
|
+
* app-specific variation. Per-app constants (DB name, store name, API key
|
|
10
|
+
* name, APP_CONFIG, GLOBAL_LOG_A_LOT, GLOBAL_TIMER_NAME, space name prefix,
|
|
11
|
+
* etc.) belong in each app's own constants.mts.
|
|
12
|
+
*/
|
|
13
|
+
import { tagTextToIb } from "@ibgib/core-gib/dist/common/other/ibgib-helper.mjs";
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Gemini / AI API key
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
/**
|
|
18
|
+
* Regex for what we consider a valid Gemini API key format.
|
|
19
|
+
* Shared across all apps that use the Gemini AI API.
|
|
20
|
+
*/
|
|
21
|
+
export const GEMINI_API_KEY_REGEXP = /^[a-zA-Z0-9\-_]{32,64}$/;
|
|
22
|
+
/**
|
|
23
|
+
* User-facing help string pointing to the API key config UI.
|
|
24
|
+
* Referenced in error and prompt messages across apps.
|
|
25
|
+
*/
|
|
26
|
+
export const CONFIG_OPTION_GEMINI_API_KEY_LOCATION_HELP = `Gemini API Key Config option (⚙️ icon in the top right)`;
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Agent tag
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
/**
|
|
31
|
+
* Tag text for the agent tag ibgib.
|
|
32
|
+
* Used in ibgib.data.text for the agent tag.
|
|
33
|
+
*/
|
|
34
|
+
export const TAG_AGENT_TEXT = "agent";
|
|
35
|
+
/**
|
|
36
|
+
* Ionicon name for the agent tag.
|
|
37
|
+
* Used in ibgib.data.icon for the agent tag.
|
|
38
|
+
*/
|
|
39
|
+
export const TAG_AGENT_ICON = "body-outline";
|
|
40
|
+
/**
|
|
41
|
+
* Human-readable description for the agent tag ibgib.
|
|
42
|
+
* Used in ibgib.data.description for the agent tag.
|
|
43
|
+
*/
|
|
44
|
+
export const TAG_AGENT_DESCRIPTION = "This tag tracks the active agents for the current local user space.";
|
|
45
|
+
/**
|
|
46
|
+
* The computed ib value for the agent tag ibgib.
|
|
47
|
+
* Derived from {@link TAG_AGENT_TEXT} via tagTextToIb.
|
|
48
|
+
*/
|
|
49
|
+
export const TAG_AGENT_IB = tagTextToIb(TAG_AGENT_TEXT);
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Default ibgib / TJP colors
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
export const DEFAULT_IBGIB_COLOR = '#78f87e88';
|
|
54
|
+
export const DEFAULT_IBGIB_TRANSLUCENT = '#78f87e10';
|
|
55
|
+
export const DEFAULT_IBGIB_COLOR_CONTRAST = '#ffffff';
|
|
56
|
+
export const DEFAULT_TJP_COLOR = '#78f87e88';
|
|
57
|
+
export const DEFAULT_TJP_COLOR_TRANSLUCENT = '#78f87e10';
|
|
58
|
+
export const DEFAULT_TJP_COLOR_CONTRAST = '#ffffff';
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
// Tagging hardcoded prompts
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
/**
|
|
63
|
+
* Tag text used when tagging hardcoded/automated prompts.
|
|
64
|
+
* Atow (05/2025) experimenting with tagging hardcoded prompts.
|
|
65
|
+
*/
|
|
66
|
+
export const HARDCODED_PROMPT_TAG_TEXT = 'AUTOMATED_TEXT';
|
|
67
|
+
//# sourceMappingURL=constants.mjs.map
|