@aotui/runtime 1.0.6 → 1.0.9
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/adapters/system-instruction.d.ts +1 -1
- package/dist/adapters/system-instruction.js +20 -238
- package/dist/adapters/system-instruction.js.map +1 -1
- package/dist/engine/app/index.d.ts +1 -1
- package/dist/engine/app/index.js.map +1 -1
- package/dist/engine/app/registry.d.ts +21 -0
- package/dist/engine/app/registry.js +166 -106
- package/dist/engine/app/registry.js.map +1 -1
- package/dist/engine/system/dispatcher.js +3 -3
- package/dist/engine/system/dispatcher.js.map +1 -1
- package/dist/engine/view/snapshot/templates.d.ts +2 -2
- package/dist/engine/view/snapshot/templates.js +0 -2
- package/dist/engine/view/snapshot/templates.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/kernel/index.d.ts +4 -1
- package/dist/kernel/index.js +35 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/worker-runtime/app-kernel/AppKernel.js +6 -6
- package/dist/worker-runtime/app-kernel/AppKernel.js.map +1 -1
- package/dist/worker-runtime/app-kernel/view-registry.js +3 -3
- package/dist/worker-runtime/app-kernel/view-registry.js.map +1 -1
- package/dist/worker-runtime/index.js +24 -24
- package/dist/worker-runtime/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/adapters/openclaw/agent-adapter.d.ts +0 -37
- package/dist/adapters/openclaw/agent-adapter.js +0 -156
- package/dist/adapters/openclaw/agent-adapter.js.map +0 -1
- package/dist/adapters/openclaw/index.d.ts +0 -5
- package/dist/adapters/openclaw/index.js +0 -6
- package/dist/adapters/openclaw/index.js.map +0 -1
- package/dist/adapters/openclaw/kernel-service.d.ts +0 -14
- package/dist/adapters/openclaw/kernel-service.js +0 -52
- package/dist/adapters/openclaw/kernel-service.js.map +0 -1
- package/dist/adapters/openclaw/projector.d.ts +0 -9
- package/dist/adapters/openclaw/projector.js +0 -164
- package/dist/adapters/openclaw/projector.js.map +0 -1
- package/dist/adapters/openclaw/session-desktop-manager.d.ts +0 -29
- package/dist/adapters/openclaw/session-desktop-manager.js +0 -136
- package/dist/adapters/openclaw/session-desktop-manager.js.map +0 -1
- package/dist/adapters/openclaw/types.d.ts +0 -102
- package/dist/adapters/openclaw/types.js +0 -2
- package/dist/adapters/openclaw/types.js.map +0 -1
|
@@ -33,6 +33,7 @@ import * as os from 'os';
|
|
|
33
33
|
*/
|
|
34
34
|
export class AppRegistry {
|
|
35
35
|
apps = new Map();
|
|
36
|
+
entryConfigs = new Map();
|
|
36
37
|
config = createDefaultConfig();
|
|
37
38
|
configPath;
|
|
38
39
|
constructor(options) {
|
|
@@ -47,29 +48,26 @@ export class AppRegistry {
|
|
|
47
48
|
async loadFromConfig() {
|
|
48
49
|
// 读取配置
|
|
49
50
|
this.config = await this.readConfig();
|
|
51
|
+
this.apps.clear();
|
|
52
|
+
this.entryConfigs.clear();
|
|
50
53
|
// 加载每个启用的 App
|
|
51
54
|
for (const [name, entry] of Object.entries(this.config.apps)) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
console.log(`[AppRegistry] Loaded app: ${name}`);
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
console.error(`[AppRegistry] Failed to load app "${name}":`, error);
|
|
72
|
-
}
|
|
55
|
+
await this.loadEntry(name, entry);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 从显式 entries 加载 App,不读取 config.json
|
|
60
|
+
*
|
|
61
|
+
* 适用于 Host-owned capability control plane。
|
|
62
|
+
*/
|
|
63
|
+
async loadFromEntries(entries, options) {
|
|
64
|
+
if (options?.replace !== false) {
|
|
65
|
+
this.apps.clear();
|
|
66
|
+
this.entryConfigs.clear();
|
|
67
|
+
}
|
|
68
|
+
for (const entry of entries) {
|
|
69
|
+
const { name, ...appEntry } = entry;
|
|
70
|
+
await this.loadEntry(name, appEntry);
|
|
73
71
|
}
|
|
74
72
|
}
|
|
75
73
|
/**
|
|
@@ -98,6 +96,7 @@ export class AppRegistry {
|
|
|
98
96
|
originalSource: options?.originalSource,
|
|
99
97
|
distribution: options?.distribution
|
|
100
98
|
};
|
|
99
|
+
this.entryConfigs.set(name, { ...this.config.apps[name] });
|
|
101
100
|
// 添加到内存
|
|
102
101
|
this.apps.set(name, {
|
|
103
102
|
name,
|
|
@@ -130,6 +129,11 @@ export class AppRegistry {
|
|
|
130
129
|
factory,
|
|
131
130
|
source
|
|
132
131
|
});
|
|
132
|
+
this.entryConfigs.set(name, {
|
|
133
|
+
source,
|
|
134
|
+
enabled: true,
|
|
135
|
+
autoStart: true,
|
|
136
|
+
});
|
|
133
137
|
console.log(`[AppRegistry] Registered transient app: ${name} from ${source}`);
|
|
134
138
|
return name;
|
|
135
139
|
}
|
|
@@ -137,14 +141,18 @@ export class AppRegistry {
|
|
|
137
141
|
* 移除 App
|
|
138
142
|
*/
|
|
139
143
|
async remove(name) {
|
|
140
|
-
const entry = this.config.apps[name];
|
|
144
|
+
const entry = this.entryConfigs.get(name) ?? this.config.apps[name];
|
|
141
145
|
if (!entry) {
|
|
142
146
|
throw new AOTUIError('APP_NOT_FOUND', { appId: name });
|
|
143
147
|
}
|
|
144
148
|
await this.cleanupInstalledArtifacts(entry);
|
|
149
|
+
const shouldPersistRemoval = this.config.apps[name] !== undefined;
|
|
145
150
|
delete this.config.apps[name];
|
|
146
151
|
this.apps.delete(name);
|
|
147
|
-
|
|
152
|
+
this.entryConfigs.delete(name);
|
|
153
|
+
if (shouldPersistRemoval) {
|
|
154
|
+
await this.saveConfig();
|
|
155
|
+
}
|
|
148
156
|
console.log(`[AppRegistry] Removed app: ${name}`);
|
|
149
157
|
}
|
|
150
158
|
/**
|
|
@@ -159,6 +167,13 @@ export class AppRegistry {
|
|
|
159
167
|
get(name) {
|
|
160
168
|
return this.apps.get(name);
|
|
161
169
|
}
|
|
170
|
+
getEntry(name) {
|
|
171
|
+
const entry = this.entryConfigs.get(name) ?? this.config.apps[name];
|
|
172
|
+
return entry ? { ...entry } : undefined;
|
|
173
|
+
}
|
|
174
|
+
getEntries() {
|
|
175
|
+
return Object.fromEntries(Array.from(this.entryConfigs.entries()).map(([name, entry]) => [name, { ...entry }]));
|
|
176
|
+
}
|
|
162
177
|
/**
|
|
163
178
|
* 检查 App 是否已安装
|
|
164
179
|
*/
|
|
@@ -169,11 +184,15 @@ export class AppRegistry {
|
|
|
169
184
|
* 启用/禁用 App
|
|
170
185
|
*/
|
|
171
186
|
async setEnabled(name, enabled) {
|
|
172
|
-
|
|
187
|
+
const entry = this.entryConfigs.get(name) ?? this.config.apps[name];
|
|
188
|
+
if (!entry) {
|
|
173
189
|
throw new AOTUIError('APP_NOT_FOUND', { appId: name });
|
|
174
190
|
}
|
|
175
|
-
this.
|
|
176
|
-
|
|
191
|
+
this.entryConfigs.set(name, { ...entry, enabled });
|
|
192
|
+
if (this.config.apps[name]) {
|
|
193
|
+
this.config.apps[name].enabled = enabled;
|
|
194
|
+
await this.saveConfig();
|
|
195
|
+
}
|
|
177
196
|
console.log(`[AppRegistry] ${enabled ? 'Enabled' : 'Disabled'} app: ${name}`);
|
|
178
197
|
}
|
|
179
198
|
/**
|
|
@@ -183,11 +202,15 @@ export class AppRegistry {
|
|
|
183
202
|
* @param autoStart - 是否在 Desktop 创建时自动启动
|
|
184
203
|
*/
|
|
185
204
|
async setAutoStart(name, autoStart) {
|
|
186
|
-
|
|
205
|
+
const entry = this.entryConfigs.get(name);
|
|
206
|
+
if (!entry) {
|
|
187
207
|
throw new AOTUIError('APP_NOT_FOUND', { appId: name });
|
|
188
208
|
}
|
|
189
|
-
this.
|
|
190
|
-
|
|
209
|
+
this.entryConfigs.set(name, { ...entry, autoStart });
|
|
210
|
+
if (this.config.apps[name]) {
|
|
211
|
+
this.config.apps[name].autoStart = autoStart;
|
|
212
|
+
await this.saveConfig();
|
|
213
|
+
}
|
|
191
214
|
console.log(`[AppRegistry] Set autoStart=${autoStart} for: ${name}`);
|
|
192
215
|
}
|
|
193
216
|
/**
|
|
@@ -206,83 +229,18 @@ export class AppRegistry {
|
|
|
206
229
|
?? this.config.runtime?.workerScript;
|
|
207
230
|
// [C1 Fix] defaultWorkerScript is now optional
|
|
208
231
|
// If not provided, Runtime will use its built-in worker-runtime
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
// Worker 模式需要模块路径,从 source 解析
|
|
222
|
-
const modulePath = this.resolveModulePath(app.source);
|
|
223
|
-
if (!modulePath) {
|
|
224
|
-
console.warn(`[AppRegistry] Skipped "${name}": cannot resolve module path from source: ${app.source}`);
|
|
225
|
-
continue;
|
|
226
|
-
}
|
|
227
|
-
// [Option D] 使用 per-app workerScript 或默认值 (可以是 undefined)
|
|
228
|
-
const workerScript = configEntry?.workerScript ?? defaultWorkerScript;
|
|
229
|
-
try {
|
|
230
|
-
// [Fix] Extract promptRole from Factory (KernelConfig or Manifest)
|
|
231
|
-
let promptRole = configEntry?.promptRole;
|
|
232
|
-
if (!promptRole) {
|
|
233
|
-
if (isKernelConfigFactory(app.factory)) {
|
|
234
|
-
promptRole = app.factory.kernelConfig.promptRole;
|
|
235
|
-
}
|
|
236
|
-
else if (app.manifest?.promptRole) {
|
|
237
|
-
promptRole = app.manifest.promptRole;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
const kernelConfig = isKernelConfigFactory(app.factory)
|
|
241
|
-
? app.factory.kernelConfig
|
|
242
|
-
: undefined;
|
|
243
|
-
const whatItIs = configEntry?.whatItIs
|
|
244
|
-
?? kernelConfig?.whatItIs
|
|
245
|
-
?? configEntry?.description
|
|
246
|
-
?? kernelConfig?.description
|
|
247
|
-
?? app.manifest?.whatItIs
|
|
248
|
-
?? app.manifest?.description;
|
|
249
|
-
const whenToUse = configEntry?.whenToUse
|
|
250
|
-
?? kernelConfig?.whenToUse
|
|
251
|
-
?? app.manifest?.whenToUse;
|
|
252
|
-
if (autoStart) {
|
|
253
|
-
// Phase 2: 立即安装并启动
|
|
254
|
-
const appId = await desktop.installDynamicWorkerApp(modulePath, {
|
|
255
|
-
workerScriptPath: workerScript,
|
|
256
|
-
name,
|
|
257
|
-
description: app.manifest?.description,
|
|
258
|
-
whatItIs,
|
|
259
|
-
whenToUse,
|
|
260
|
-
promptRole, // [Fix] Propagate promptRole
|
|
261
|
-
config: dynamicConfig // [RFC-025] Inject dynamic config
|
|
262
|
-
});
|
|
263
|
-
installedIds.push(appId);
|
|
264
|
-
console.log(`[AppRegistry] Installed "${name}" to Desktop ${desktop.id} (Worker mode)`);
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
// Phase 1: 只注册,不启动 (Pending)
|
|
268
|
-
const appId = await desktop.registerPendingApp({
|
|
269
|
-
name,
|
|
270
|
-
description: app.manifest?.description,
|
|
271
|
-
whatItIs,
|
|
272
|
-
whenToUse,
|
|
273
|
-
modulePath,
|
|
274
|
-
workerScriptPath: workerScript,
|
|
275
|
-
promptRole // [Fix] Propagate promptRole
|
|
276
|
-
});
|
|
277
|
-
installedIds.push(appId);
|
|
278
|
-
console.log(`[AppRegistry] Registered "${name}" to Desktop ${desktop.id} (Pending mode)`);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
catch (error) {
|
|
282
|
-
console.error(`[AppRegistry] Failed to install "${name}":`, error);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
return installedIds;
|
|
232
|
+
return this.installEntries(desktop, Array.from(this.apps.keys()), {
|
|
233
|
+
defaultWorkerScript,
|
|
234
|
+
dynamicConfig: options?.dynamicConfig,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
async installSelected(desktop, names, options) {
|
|
238
|
+
const defaultWorkerScript = options?.defaultWorkerScript
|
|
239
|
+
?? this.config.runtime?.workerScript;
|
|
240
|
+
return this.installEntries(desktop, names, {
|
|
241
|
+
defaultWorkerScript,
|
|
242
|
+
dynamicConfig: options?.dynamicConfig,
|
|
243
|
+
});
|
|
286
244
|
}
|
|
287
245
|
/**
|
|
288
246
|
* 解析模块路径
|
|
@@ -388,6 +346,108 @@ export class AppRegistry {
|
|
|
388
346
|
const content = JSON.stringify(this.config, null, 2);
|
|
389
347
|
await fs.writeFile(this.configPath, content, 'utf-8');
|
|
390
348
|
}
|
|
349
|
+
async loadEntry(name, entry) {
|
|
350
|
+
this.entryConfigs.set(name, { ...entry });
|
|
351
|
+
if (!entry.enabled) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
// [Hybrid Model] 跳过 system: 协议 - 系统 App 应通过 local: 或 npm: 安装
|
|
355
|
+
if (entry.source.startsWith('system:')) {
|
|
356
|
+
console.warn(`[AppRegistry] Skipped "${name}": 'system:' protocol is deprecated. ` +
|
|
357
|
+
`Use 'local:' or 'npm:' instead.`);
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
try {
|
|
361
|
+
const factory = await this.loadFactory(entry.source);
|
|
362
|
+
this.apps.set(name, {
|
|
363
|
+
name,
|
|
364
|
+
manifest: factory.manifest,
|
|
365
|
+
factory,
|
|
366
|
+
source: entry.source
|
|
367
|
+
});
|
|
368
|
+
console.log(`[AppRegistry] Loaded app: ${name}`);
|
|
369
|
+
}
|
|
370
|
+
catch (error) {
|
|
371
|
+
console.error(`[AppRegistry] Failed to load app "${name}":`, error);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
async installEntries(desktop, names, options) {
|
|
375
|
+
const installedIds = [];
|
|
376
|
+
for (const name of names) {
|
|
377
|
+
const app = this.apps.get(name);
|
|
378
|
+
if (!app) {
|
|
379
|
+
throw new AOTUIError('APP_NOT_FOUND', { appId: name });
|
|
380
|
+
}
|
|
381
|
+
const configEntry = this.entryConfigs.get(name) ?? this.config.apps[name];
|
|
382
|
+
const dynamicConfig = { ...(options.dynamicConfig ?? {}) };
|
|
383
|
+
if (dynamicConfig.AOTUI_APP_KEY === undefined) {
|
|
384
|
+
dynamicConfig.AOTUI_APP_KEY = name;
|
|
385
|
+
}
|
|
386
|
+
if (dynamicConfig.AOTUI_APP_NAME === undefined) {
|
|
387
|
+
dynamicConfig.AOTUI_APP_NAME = name;
|
|
388
|
+
}
|
|
389
|
+
const autoStart = configEntry?.autoStart ?? true;
|
|
390
|
+
const modulePath = this.resolveModulePath(app.source);
|
|
391
|
+
if (!modulePath) {
|
|
392
|
+
console.warn(`[AppRegistry] Skipped "${name}": cannot resolve module path from source: ${app.source}`);
|
|
393
|
+
continue;
|
|
394
|
+
}
|
|
395
|
+
const workerScript = configEntry?.workerScript ?? options.defaultWorkerScript;
|
|
396
|
+
try {
|
|
397
|
+
let promptRole = configEntry?.promptRole;
|
|
398
|
+
if (!promptRole) {
|
|
399
|
+
if (isKernelConfigFactory(app.factory)) {
|
|
400
|
+
promptRole = app.factory.kernelConfig.promptRole;
|
|
401
|
+
}
|
|
402
|
+
else if (app.manifest?.promptRole) {
|
|
403
|
+
promptRole = app.manifest.promptRole;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
const kernelConfig = isKernelConfigFactory(app.factory)
|
|
407
|
+
? app.factory.kernelConfig
|
|
408
|
+
: undefined;
|
|
409
|
+
const whatItIs = configEntry?.whatItIs
|
|
410
|
+
?? kernelConfig?.whatItIs
|
|
411
|
+
?? configEntry?.description
|
|
412
|
+
?? kernelConfig?.description
|
|
413
|
+
?? app.manifest?.whatItIs
|
|
414
|
+
?? app.manifest?.description;
|
|
415
|
+
const whenToUse = configEntry?.whenToUse
|
|
416
|
+
?? kernelConfig?.whenToUse
|
|
417
|
+
?? app.manifest?.whenToUse;
|
|
418
|
+
if (autoStart) {
|
|
419
|
+
const appId = await desktop.installDynamicWorkerApp(modulePath, {
|
|
420
|
+
workerScriptPath: workerScript,
|
|
421
|
+
name,
|
|
422
|
+
description: app.manifest?.description,
|
|
423
|
+
whatItIs,
|
|
424
|
+
whenToUse,
|
|
425
|
+
promptRole,
|
|
426
|
+
config: dynamicConfig
|
|
427
|
+
});
|
|
428
|
+
installedIds.push(appId);
|
|
429
|
+
console.log(`[AppRegistry] Installed "${name}" to Desktop ${desktop.id} (Worker mode)`);
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
const appId = await desktop.registerPendingApp({
|
|
433
|
+
name,
|
|
434
|
+
description: app.manifest?.description,
|
|
435
|
+
whatItIs,
|
|
436
|
+
whenToUse,
|
|
437
|
+
modulePath,
|
|
438
|
+
workerScriptPath: workerScript,
|
|
439
|
+
promptRole
|
|
440
|
+
});
|
|
441
|
+
installedIds.push(appId);
|
|
442
|
+
console.log(`[AppRegistry] Registered "${name}" to Desktop ${desktop.id} (Pending mode)`);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
catch (error) {
|
|
446
|
+
console.error(`[AppRegistry] Failed to install "${name}":`, error);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
return installedIds;
|
|
450
|
+
}
|
|
391
451
|
async cleanupInstalledArtifacts(entry) {
|
|
392
452
|
if (entry.distribution?.type !== 'npm') {
|
|
393
453
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/engine/app/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/engine/app/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,15 +22,15 @@ export class Dispatcher {
|
|
|
22
22
|
// 构造完整 namespace key: "appId:viewId:refId"
|
|
23
23
|
// 例如: "app_0:view_0:pinned_msgs[0]"
|
|
24
24
|
const fullKey = `${context.appId}:${context.viewId}:${value}`;
|
|
25
|
-
console.log(`[Dispatcher] Attempting to resolve: "${value}" → "${fullKey}"`);
|
|
25
|
+
//console.log(`[Dispatcher] Attempting to resolve: "${value}" → "${fullKey}"`);
|
|
26
26
|
const payload = registry.resolve(snapshotId, fullKey);
|
|
27
27
|
if (payload !== undefined) {
|
|
28
|
-
console.log(`[Dispatcher] ✓ Resolved "${fullKey}" →`, typeof payload, payload);
|
|
28
|
+
//console.log(`[Dispatcher] ✓ Resolved "${fullKey}" →`, typeof payload, payload);
|
|
29
29
|
resolvedArgs[key] = payload;
|
|
30
30
|
continue;
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
console.log(`[Dispatcher] ✗ Failed to resolve "${fullKey}" (not found in registry)`);
|
|
33
|
+
//console.log(`[Dispatcher] ✗ Failed to resolve "${fullKey}" (not found in registry)`);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
resolvedArgs[key] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/engine/system/dispatcher.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,UAAU;IACnB;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAiB,EAAE,SAAoB,EAAE,QAAmB;QACvE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAEzD,0CAA0C;QAC1C,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC7E,2CAA2C;gBAC3C,oCAAoC;gBACpC,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAE9D
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/engine/system/dispatcher.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,UAAU;IACnB;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAiB,EAAE,SAAoB,EAAE,QAAmB;QACvE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAEzD,0CAA0C;QAC1C,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC7E,2CAA2C;gBAC3C,oCAAoC;gBACpC,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAE9D,+EAA+E;gBAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBACxB,iFAAiF;oBACjF,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC5B,SAAS;gBACb,CAAC;qBAAM,CAAC;oBACJ,uFAAuF;gBAC3F,CAAC;YACL,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,yDAAyD;QACzD,iEAAiE;QACjE,OAAO,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE;YAClD,OAAO;YACP,SAAS,EAAE,aAAa;YACxB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,EAAE,UAAU,EAAE;SACvB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* NO dynamic content (Apps, Logs, State) is included.
|
|
19
19
|
* This enables maximum LLM KV Cache hit rate.
|
|
20
20
|
*/
|
|
21
|
-
export declare const SYSTEM_INSTRUCTION_PURE = "# TUI Desktop System Instruction\n\n## Who You Are\n\nYou are the **sole operator** of this TUI (Text-based User Interface) Desktop.\nHuman users communicate with you **through applications** (e.g., Chat app), not directly.\n\n## Why You Exist\n\nThis is a text-based workspace designed for AI Agents to interact with applications and accomplish tasks.\nYou have full control over this Desktop: open/close applications, mount/dismount views, and execute tools.\n\n## How You Work\n\n### Function Calling Convention\n\n- App tools: `{app_id}-{view_id}-{tool_id}`\n- System tools: `system-{tool}`\n\n### Operational Workflow\n\n1. **READ** - Examine the current TUI state (check 'Where You Are' and 'What's Happening')\n2. **DECIDE** - Determine what action to take\n3. **ACT** - Execute tool(s) via Function Call. **Batch independent tools when possible.**\n4. **CHECK** - Review the result in 'What Just Happened'\n5. **LOOP or WAIT** - Continue or end the response without calling any tool\n\n### Parallel Tool Execution\n\nYou CAN call **multiple tools in a single response** when:\n\n1. **Independent Tasks** - Tools don't depend on each other's results\n - \u2705 `send_message` + `update_topic` (independent)\n - \u2705 Multiple `pin_message` for different items\n - \u2705 `open_app` for multiple apps simultaneously\n\n2. **Batch Operations** - Same tool on multiple targets\n - \u2705 Pin 3 different messages at once\n - \u2705 Close multiple apps at once\n\nYou SHOULD execute **sequentially** (one tool per response) when:\n\n- Tool B needs the result from Tool A\n- You're unsure about the state after Tool A\n- The operation involves creating then using a resource\n\n**Examples:**\n\n<example>\n[User: \"Pin the last 2 messages and update the topic summary\"]\nAgent: Call BOTH 'pin_message' (x2) AND 'update_topic' in ONE response\n</example>\n\n<example>\n[User: \"Create a todo and then mark it done\"]\nAgent: First call 'create_todo', WAIT for result, then call 'mark_done'\n</example>\n\n### System Tools\n\n| Tool | When to Use |\n|-----------|-------------|\n| `system-open_app` | Need an app that's not currently open |\n| `system-close_app` | Done with an app, free context space |\n
|
|
21
|
+
export declare const SYSTEM_INSTRUCTION_PURE = "# TUI Desktop System Instruction\n\n## Who You Are\n\nYou are the **sole operator** of this TUI (Text-based User Interface) Desktop.\nHuman users communicate with you **through applications** (e.g., Chat app), not directly.\n\n## Why You Exist\n\nThis is a text-based workspace designed for AI Agents to interact with applications and accomplish tasks.\nYou have full control over this Desktop: open/close applications, mount/dismount views, and execute tools.\n\n## How You Work\n\n### Function Calling Convention\n\n- App tools: `{app_id}-{view_id}-{tool_id}`\n- System tools: `system-{tool}`\n\n### Operational Workflow\n\n1. **READ** - Examine the current TUI state (check 'Where You Are' and 'What's Happening')\n2. **DECIDE** - Determine what action to take\n3. **ACT** - Execute tool(s) via Function Call. **Batch independent tools when possible.**\n4. **CHECK** - Review the result in 'What Just Happened'\n5. **LOOP or WAIT** - Continue or end the response without calling any tool\n\n### Parallel Tool Execution\n\nYou CAN call **multiple tools in a single response** when:\n\n1. **Independent Tasks** - Tools don't depend on each other's results\n - \u2705 `send_message` + `update_topic` (independent)\n - \u2705 Multiple `pin_message` for different items\n - \u2705 `open_app` for multiple apps simultaneously\n\n2. **Batch Operations** - Same tool on multiple targets\n - \u2705 Pin 3 different messages at once\n - \u2705 Close multiple apps at once\n\nYou SHOULD execute **sequentially** (one tool per response) when:\n\n- Tool B needs the result from Tool A\n- You're unsure about the state after Tool A\n- The operation involves creating then using a resource\n\n**Examples:**\n\n<example>\n[User: \"Pin the last 2 messages and update the topic summary\"]\nAgent: Call BOTH 'pin_message' (x2) AND 'update_topic' in ONE response\n</example>\n\n<example>\n[User: \"Create a todo and then mark it done\"]\nAgent: First call 'create_todo', WAIT for result, then call 'mark_done'\n</example>\n\n### System Tools\n\n| Tool | When to Use |\n|-----------|-------------|\n| `system-open_app` | Need an app that's not currently open |\n| `system-close_app` | Done with an app, free context space |\n\n### Tone and Style\n\n- Be concise and task-focused. Minimize text output.\n- Never explain what you're about to do - just do it.\n- Never summarize what you just did - move to the next task or wait.\n\n### Proactiveness Rules\n\n- Be **reactive, not proactive**. Wait for signals before acting.\n- When there's nothing to do \u2192 end the response without calling any tool.\n- Never invent tasks. If the TUI shows no pending work, wait.\n\nIMPORTANT: Always read the current TUI state before taking any action. Never assume state from memory.\nIMPORTANT: When you have nothing to do, do not call any tool.\n";
|
|
22
22
|
/**
|
|
23
23
|
* System Instruction for LLM Agent @opencode
|
|
24
24
|
*
|
|
@@ -27,7 +27,7 @@ export declare const SYSTEM_INSTRUCTION_PURE = "# TUI Desktop System Instruction
|
|
|
27
27
|
* This is the first thing the Agent sees in every snapshot.
|
|
28
28
|
* It establishes the Agent's role and available operations.
|
|
29
29
|
*/
|
|
30
|
-
export declare const SYSTEM_INSTRUCTION = "# TUI Desktop System Instruction\n\nYou are the **sole operator** of this TUI (Text-based User Interface) Desktop.\nThis is a text-based workspace designed for AI Agents to interact with applications and accomplish tasks.\n\nHuman users communicate with you **through applications** (e.g., Chat app), not directly.\nYou have full control over this Desktop: open/close applications, mount/dismount views, and execute operations.\n\nIMPORTANT: Always read the current TUI state before taking any action. Never assume state from memory.\nIMPORTANT: Each operation you execute is atomic. Check the result before proceeding to the next action.\nIMPORTANT: When you have nothing to do, do not call any tool. Never guess or hallucinate tasks.\n\n## Help & Guidance\n\nIf the user asks about system capabilities or how to use the Desktop:\n\n- Refer them to the **Installed Applications** section in 'desktop' to see available apps\n- Each application's View contains an **Application Instruction** section explaining its purpose\n- For technical issues, the user should contact system administrators\n\n## Tone and Style\n\nYou operate a TUI Desktop. Your \"speech\" is minimal - **actions speak louder than words**.\n\n**Core Principles:**\n\n- Be concise and task-focused. Minimize text output.\n- When communicating with users (via Chat app), be helpful but brief.\n- Never explain what you're about to do - just do it.\n- Never summarize what you just did - move to the next task or wait.\n\nIMPORTANT: Your output is logged and consumes tokens. Keep responses short unless the user explicitly asks for detail.\nIMPORTANT: After completing an operation, either continue to the next task or end the response. Do NOT output status updates.\n\n**Examples of appropriate behavior:**\n\n<example>\n[User sends \"Hi\" via Chat app]\nAgent action: Call 'app_0-view_0-send_message' with '{ \"content\": \"Hello! How can I help you today?\" }'\n</example>\n\n<example>\n[User asks \"What time is it?\"]\nAgent action: Call 'send_message' with '{ \"content\": \"I don't have access to real-time clock. Is there something else I can help with?\" }'\n</example>\n\n<example>\n[No new messages, no pending tasks]\nAgent action: End the response without calling any tool\n</example>\n\n<example>\n[TUI shows an error in Last Operation Results]\nAgent action: Check error code, decide recovery strategy, retry or inform user\n</example>\n\n<example>\n[User asks to pin an important message]\nAgent action: Call 'pin_message' with '{ \"message\": \"recent_msgs[0]\" }'\n</example>\n\n## Proactiveness\n\nYou should be **reactive, not proactive**. Wait for signals before acting. \n\n**Guidelines:**\n\n1. When the user sends a message \u2192 respond appropriately.\n2. When a task is in progress \u2192 continue until complete, then wait.\n3. When there's nothing to do \u2192 end the response without calling any tool.\n4. Never invent tasks. If the TUI shows no pending work, wait.\n5. Never perform actions \"just in case\" or \"to be helpful\".\n6. Never continuously repeat actions.\n\n**The Wait Rule:**\nAfter each operation, ask yourself: \"Is there more work I need to do NOW?\"\n\n- YES \u2192 Execute the next operation\n- NO \u2192 End the response without calling any tool\n\n## Understanding Applications\n\nEach application has its own purpose and operations. Before using an app:\n\n1. **Read the Application Instruction** - Each view has an instruction section explaining:\n - What the app is for\n - When to use it\n - Available operations and their parameters\n\n2. **Check the Application View Tree** - See what views are mounted and what's available\n\n3. **Understand Operation Parameters** - Each operation lists required and optional parameters\n\n**Key Conventions:**\n\n- Never assume an operation exists without seeing it in the current TUI state\n- Never assume parameter values - use data from the TUI (e.g., 'recent_msgs[0]' references)\n- App data is accessed via semantic references like 'pinned_msgs[2]', not by guessing IDs\n\n## Operational Workflow\n\nFollow this loop for all tasks:\n\n**1. READ** - Examine the current TUI state\n\n- Check 'desktop' for installed apps and system logs\n- Check each 'application' for views and operation logs\n- Check each 'view' for content and available operations\n\n**2. DECIDE** - Determine what action to take\n\n- What is the user asking for?\n- Which app/view/operation is appropriate?\n- What parameters are needed?\n\n**3. ACT** - Execute tool(s) via Function Call. **Batch independent tools when possible.**\n\n- System commands: 'system-{tool}'\n- App tools: '{app_id}-{view_id}-{tool}'\n\n**4. CHECK** - Review the result in \"Last Operation Results\"\n\n- \u2705 Success \u2192 Continue or wait\n- \u274C Failed \u2192 Handle error (retry, inform user, or escalate)\n\n**5. LOOP or WAIT**\n\n- More work to do? \u2192 Go to step 1\n- Nothing to do? \u2192 End the response without calling any tool\n\nIMPORTANT: Always check operation results. Failed operations need attention.\nIMPORTANT: Never skip the WAIT step. An idle agent should be waiting, not outputting text.\n\n## Operation Policy\n\n**Parallel Tool Execution:**\n\n- You CAN call **multiple tools in a single response** when they are independent\n- Execute sequentially when Tool B depends on Tool A's result\n- Each tool executes atomically; check results before proceeding\n\n**Referencing Data:**\n\n- Use semantic paths like 'recent_msgs[0]' to reference list items\n- Never hardcode IDs or guess values\n- If you need data not visible, mount the relevant view first\n\n**System Operations:**\n\n| Operation | Parameters | When to Use |\n|-----------|------------|-------------|\n| 'system-open_app' | '{ application: \"app_id\" }' | Need an app that's not currently open |\n| 'system-close_app' | '{ application: \"app_id\" }' | Done with an app, free context space |\n
|
|
30
|
+
export declare const SYSTEM_INSTRUCTION = "# TUI Desktop System Instruction\n\nYou are the **sole operator** of this TUI (Text-based User Interface) Desktop.\nThis is a text-based workspace designed for AI Agents to interact with applications and accomplish tasks.\n\nHuman users communicate with you **through applications** (e.g., Chat app), not directly.\nYou have full control over this Desktop: open/close applications, mount/dismount views, and execute operations.\n\nIMPORTANT: Always read the current TUI state before taking any action. Never assume state from memory.\nIMPORTANT: Each operation you execute is atomic. Check the result before proceeding to the next action.\nIMPORTANT: When you have nothing to do, do not call any tool. Never guess or hallucinate tasks.\n\n## Help & Guidance\n\nIf the user asks about system capabilities or how to use the Desktop:\n\n- Refer them to the **Installed Applications** section in 'desktop' to see available apps\n- Each application's View contains an **Application Instruction** section explaining its purpose\n- For technical issues, the user should contact system administrators\n\n## Tone and Style\n\nYou operate a TUI Desktop. Your \"speech\" is minimal - **actions speak louder than words**.\n\n**Core Principles:**\n\n- Be concise and task-focused. Minimize text output.\n- When communicating with users (via Chat app), be helpful but brief.\n- Never explain what you're about to do - just do it.\n- Never summarize what you just did - move to the next task or wait.\n\nIMPORTANT: Your output is logged and consumes tokens. Keep responses short unless the user explicitly asks for detail.\nIMPORTANT: After completing an operation, either continue to the next task or end the response. Do NOT output status updates.\n\n**Examples of appropriate behavior:**\n\n<example>\n[User sends \"Hi\" via Chat app]\nAgent action: Call 'app_0-view_0-send_message' with '{ \"content\": \"Hello! How can I help you today?\" }'\n</example>\n\n<example>\n[User asks \"What time is it?\"]\nAgent action: Call 'send_message' with '{ \"content\": \"I don't have access to real-time clock. Is there something else I can help with?\" }'\n</example>\n\n<example>\n[No new messages, no pending tasks]\nAgent action: End the response without calling any tool\n</example>\n\n<example>\n[TUI shows an error in Last Operation Results]\nAgent action: Check error code, decide recovery strategy, retry or inform user\n</example>\n\n<example>\n[User asks to pin an important message]\nAgent action: Call 'pin_message' with '{ \"message\": \"recent_msgs[0]\" }'\n</example>\n\n## Proactiveness\n\nYou should be **reactive, not proactive**. Wait for signals before acting. \n\n**Guidelines:**\n\n1. When the user sends a message \u2192 respond appropriately.\n2. When a task is in progress \u2192 continue until complete, then wait.\n3. When there's nothing to do \u2192 end the response without calling any tool.\n4. Never invent tasks. If the TUI shows no pending work, wait.\n5. Never perform actions \"just in case\" or \"to be helpful\".\n6. Never continuously repeat actions.\n\n**The Wait Rule:**\nAfter each operation, ask yourself: \"Is there more work I need to do NOW?\"\n\n- YES \u2192 Execute the next operation\n- NO \u2192 End the response without calling any tool\n\n## Understanding Applications\n\nEach application has its own purpose and operations. Before using an app:\n\n1. **Read the Application Instruction** - Each view has an instruction section explaining:\n - What the app is for\n - When to use it\n - Available operations and their parameters\n\n2. **Check the Application View Tree** - See what views are mounted and what's available\n\n3. **Understand Operation Parameters** - Each operation lists required and optional parameters\n\n**Key Conventions:**\n\n- Never assume an operation exists without seeing it in the current TUI state\n- Never assume parameter values - use data from the TUI (e.g., 'recent_msgs[0]' references)\n- App data is accessed via semantic references like 'pinned_msgs[2]', not by guessing IDs\n\n## Operational Workflow\n\nFollow this loop for all tasks:\n\n**1. READ** - Examine the current TUI state\n\n- Check 'desktop' for installed apps and system logs\n- Check each 'application' for views and operation logs\n- Check each 'view' for content and available operations\n\n**2. DECIDE** - Determine what action to take\n\n- What is the user asking for?\n- Which app/view/operation is appropriate?\n- What parameters are needed?\n\n**3. ACT** - Execute tool(s) via Function Call. **Batch independent tools when possible.**\n\n- System commands: 'system-{tool}'\n- App tools: '{app_id}-{view_id}-{tool}'\n\n**4. CHECK** - Review the result in \"Last Operation Results\"\n\n- \u2705 Success \u2192 Continue or wait\n- \u274C Failed \u2192 Handle error (retry, inform user, or escalate)\n\n**5. LOOP or WAIT**\n\n- More work to do? \u2192 Go to step 1\n- Nothing to do? \u2192 End the response without calling any tool\n\nIMPORTANT: Always check operation results. Failed operations need attention.\nIMPORTANT: Never skip the WAIT step. An idle agent should be waiting, not outputting text.\n\n## Operation Policy\n\n**Parallel Tool Execution:**\n\n- You CAN call **multiple tools in a single response** when they are independent\n- Execute sequentially when Tool B depends on Tool A's result\n- Each tool executes atomically; check results before proceeding\n\n**Referencing Data:**\n\n- Use semantic paths like 'recent_msgs[0]' to reference list items\n- Never hardcode IDs or guess values\n- If you need data not visible, mount the relevant view first\n\n**System Operations:**\n\n| Operation | Parameters | When to Use |\n|-----------|------------|-------------|\n| 'system-open_app' | '{ application: \"app_id\" }' | Need an app that's not currently open |\n| 'system-close_app' | '{ application: \"app_id\" }' | Done with an app, free context space |\n\n# TUI Structure Reference\n\n**Desktop Structure:**\n\nThe content enclosed within the **DESKTOP** XML tag is the TUI Desktop, it includes\n ## System Instruction (this section)\n ## Installed Applications (list of apps with status)\n ## System Logs (recent system events)\n\nThe content enclosed within the **APPLICATION** XML tag is the TUI Desktop, it includes multiple **VIEW**s and application info.\n\nThe content enclosed within the **VIEW** XML tag is the a view node of the TUI Application.\n\n**Function Call Format:**\n\n``` json\n{\n \"name\": \"app_0-view_0-send_message\",\n \"arguments\": {\n \"content\": \"Your message here\"\n }\n}\n```\n\n**Common Errors and Recovery:**\n\n- 'E_UNKNOWN_OPERATION': Check if the operation exists in current view\n- 'E_INVALID_ARGS': Check parameter requirements in the operation definition\n- 'INDEX_OUT_OF_RANGE': The referenced item doesn't exist, check list length\n- 'E_NOT_FOUND': The referenced app/view/link doesn't exist";
|
|
31
31
|
/**
|
|
32
32
|
* Format timestamp to ISO-like readable string
|
|
33
33
|
*
|
|
@@ -82,7 +82,6 @@ Agent: First call 'create_todo', WAIT for result, then call 'mark_done'
|
|
|
82
82
|
|-----------|-------------|
|
|
83
83
|
| \`system-open_app\` | Need an app that's not currently open |
|
|
84
84
|
| \`system-close_app\` | Done with an app, free context space |
|
|
85
|
-
| \`system-dismount_view\` | Remove a specific view to reduce clutter |
|
|
86
85
|
|
|
87
86
|
### Tone and Style
|
|
88
87
|
|
|
@@ -260,7 +259,6 @@ IMPORTANT: Never skip the WAIT step. An idle agent should be waiting, not output
|
|
|
260
259
|
|-----------|------------|-------------|
|
|
261
260
|
| 'system-open_app' | '{ application: "app_id" }' | Need an app that's not currently open |
|
|
262
261
|
| 'system-close_app' | '{ application: "app_id" }' | Done with an app, free context space |
|
|
263
|
-
| 'system-dismount_view' | '{ app_id: "id", view_id: "id" }' | Remove a specific view |
|
|
264
262
|
|
|
265
263
|
# TUI Structure Reference
|
|
266
264
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/engine/view/snapshot/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/engine/view/snapshot/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EtC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DAuL0B,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiE;IAC/F,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;QACjC,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC/B,KAAK,SAAS,CAAC,CAAC,OAAO,yBAAyB,CAAC;QACjD,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC;QACrC,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,CAAC;QACrC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;IACzB,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export * from './spi/index.js';
|
|
|
31
31
|
export * from './kernel/index.js';
|
|
32
32
|
export * from './adapters/bridge/index.js';
|
|
33
33
|
export { AppRegistry } from './engine/app/index.js';
|
|
34
|
-
export type { LoadedApp, AppRegistryOptions, TUIConfig, AppConfigEntry } from './engine/app/index.js';
|
|
34
|
+
export type { LoadedApp, AppRegistryEntry, AppRegistryOptions, TUIConfig, AppConfigEntry } from './engine/app/index.js';
|
|
35
35
|
export { createSystemOperationRegistry } from './engine/system/operations/index.js';
|
|
36
36
|
export { DEFAULT_APP_CATALOG, type CatalogAppEntry, type CatalogData } from './cli/default-catalog.js';
|
|
37
37
|
export { searchCatalog, isCatalogData, type CatalogSearchResult } from './cli/catalog.js';
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IKernel, Operation, OperationResult, DesktopID, SnapshotID, CachedSnapshot, IDesktop, IRegistry, DesktopState, ISystemOperationRegistry, IDesktopManager, ITransformer, IDispatcher, IRuntimeContext, // New
|
|
2
2
|
ReinitializeDesktopAppsOptions, ReinitializeDesktopAppsResult } from '../spi/index.js';
|
|
3
|
+
import type { Tool } from '../spi/core/tool-call.js';
|
|
3
4
|
/**
|
|
4
5
|
* Kernel - The core orchestrator of the AOTUI Runtime.
|
|
5
6
|
*
|
|
@@ -26,8 +27,10 @@ export declare class Kernel implements IKernel {
|
|
|
26
27
|
private transformer;
|
|
27
28
|
private dispatcher;
|
|
28
29
|
private systemOps;
|
|
30
|
+
private static readonly EXTERNAL_SYSTEM_TOOL_NAMES;
|
|
29
31
|
constructor(desktopManager: IDesktopManager, snapshotRegistry: IRegistry, transformer: ITransformer, dispatcher: IDispatcher, systemOps: ISystemOperationRegistry);
|
|
30
|
-
getSystemToolDefinitions():
|
|
32
|
+
getSystemToolDefinitions(): Tool[];
|
|
33
|
+
private buildSystemToolIndexMap;
|
|
31
34
|
/**
|
|
32
35
|
* Creates a new Desktop instance with a clean state.
|
|
33
36
|
* The Desktop is immediately registered and ready for app installation.
|