@pellux/goodvibes-agent 1.4.2 → 1.4.4
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 +20 -0
- package/dist/package/main.js +126 -261
- package/package.json +1 -1
- package/release/release-notes.md +7 -7
- package/src/input/agent-workspace-categories.ts +36 -164
- package/src/input/agent-workspace-host-category.ts +0 -24
- package/src/renderer/agent-workspace.ts +8 -12
- package/src/version.ts +1 -1
package/dist/package/main.js
CHANGED
|
@@ -450372,6 +450372,23 @@ function createSchema2(db) {
|
|
|
450372
450372
|
`);
|
|
450373
450373
|
db.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_schedules_job_id ON knowledge_schedules(job_id)`);
|
|
450374
450374
|
}
|
|
450375
|
+
function getKnowledgeSchemaStatements() {
|
|
450376
|
+
const statements = [];
|
|
450377
|
+
createSchema2({
|
|
450378
|
+
run(sql) {
|
|
450379
|
+
const normalized = sql.trim();
|
|
450380
|
+
if (normalized.length > 0)
|
|
450381
|
+
statements.push(normalized);
|
|
450382
|
+
}
|
|
450383
|
+
});
|
|
450384
|
+
return statements;
|
|
450385
|
+
}
|
|
450386
|
+
function renderKnowledgeSchemaSql() {
|
|
450387
|
+
return `${getKnowledgeSchemaStatements().map((statement) => statement.endsWith(";") ? statement : `${statement};`).join(`
|
|
450388
|
+
|
|
450389
|
+
`)}
|
|
450390
|
+
`;
|
|
450391
|
+
}
|
|
450375
450392
|
function rowObject(columns, values2) {
|
|
450376
450393
|
return Object.fromEntries(columns.map((column, index) => [column, values2[index]]));
|
|
450377
450394
|
}
|
|
@@ -763654,6 +763671,9 @@ var init_ingest = __esm(() => {
|
|
|
763654
763671
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/knowledge/browser-history/index.js
|
|
763655
763672
|
var init_browser_history = __esm(() => {
|
|
763656
763673
|
init_ingest();
|
|
763674
|
+
init_discover();
|
|
763675
|
+
init_readers();
|
|
763676
|
+
init_paths2();
|
|
763657
763677
|
});
|
|
763658
763678
|
|
|
763659
763679
|
// node_modules/graphql/jsutils/devAssert.mjs
|
|
@@ -781293,6 +781313,7 @@ var init_semantic = __esm(() => {
|
|
|
781293
781313
|
init_llm();
|
|
781294
781314
|
init_gap_repair();
|
|
781295
781315
|
init_service4();
|
|
781316
|
+
init_self_improvement();
|
|
781296
781317
|
});
|
|
781297
781318
|
|
|
781298
781319
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/knowledge/home-graph/helpers.js
|
|
@@ -785261,8 +785282,40 @@ var init_map_view = __esm(() => {
|
|
|
785261
785282
|
});
|
|
785262
785283
|
|
|
785263
785284
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/knowledge/home-graph/types.js
|
|
785264
|
-
var HOME_GRAPH_CAPABILITIES;
|
|
785285
|
+
var HOME_GRAPH_NODE_KINDS, HOME_GRAPH_RELATIONS, HOME_GRAPH_CAPABILITIES;
|
|
785265
785286
|
var init_types15 = __esm(() => {
|
|
785287
|
+
HOME_GRAPH_NODE_KINDS = [
|
|
785288
|
+
"ha_home",
|
|
785289
|
+
"ha_entity",
|
|
785290
|
+
"ha_device",
|
|
785291
|
+
"ha_area",
|
|
785292
|
+
"ha_automation",
|
|
785293
|
+
"ha_script",
|
|
785294
|
+
"ha_scene",
|
|
785295
|
+
"ha_label",
|
|
785296
|
+
"ha_integration",
|
|
785297
|
+
"ha_room",
|
|
785298
|
+
"ha_device_passport",
|
|
785299
|
+
"ha_maintenance_item",
|
|
785300
|
+
"ha_troubleshooting_case",
|
|
785301
|
+
"ha_purchase",
|
|
785302
|
+
"ha_network_node"
|
|
785303
|
+
];
|
|
785304
|
+
HOME_GRAPH_RELATIONS = [
|
|
785305
|
+
"controls",
|
|
785306
|
+
"located_in",
|
|
785307
|
+
"belongs_to_device",
|
|
785308
|
+
"has_manual",
|
|
785309
|
+
"has_receipt",
|
|
785310
|
+
"has_warranty",
|
|
785311
|
+
"has_issue",
|
|
785312
|
+
"fixed_by",
|
|
785313
|
+
"uses_battery",
|
|
785314
|
+
"connected_via",
|
|
785315
|
+
"part_of_network",
|
|
785316
|
+
"mentioned_by",
|
|
785317
|
+
"source_for"
|
|
785318
|
+
];
|
|
785266
785319
|
HOME_GRAPH_CAPABILITIES = [
|
|
785267
785320
|
"knowledge-space-isolation",
|
|
785268
785321
|
"snapshot-sync",
|
|
@@ -786669,6 +786722,7 @@ var init_service5 = __esm(() => {
|
|
|
786669
786722
|
var init_home_graph = __esm(() => {
|
|
786670
786723
|
init_service5();
|
|
786671
786724
|
init_extension();
|
|
786725
|
+
init_types15();
|
|
786672
786726
|
});
|
|
786673
786727
|
|
|
786674
786728
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/knowledge/store-refinement.js
|
|
@@ -788996,10 +789050,14 @@ var init_service6 = __esm(() => {
|
|
|
788996
789050
|
var init_project_planning = __esm(() => {
|
|
788997
789051
|
init_service6();
|
|
788998
789052
|
init_helpers3();
|
|
789053
|
+
init_readiness();
|
|
788999
789054
|
});
|
|
789000
789055
|
|
|
789001
789056
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/knowledge/persistence.js
|
|
789002
|
-
var init_persistence = () => {
|
|
789057
|
+
var init_persistence = __esm(() => {
|
|
789058
|
+
init_store_schema();
|
|
789059
|
+
init_store_load();
|
|
789060
|
+
});
|
|
789003
789061
|
|
|
789004
789062
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/knowledge/projections.js
|
|
789005
789063
|
class KnowledgeProjectionService {
|
|
@@ -792507,21 +792565,21 @@ var init_service7 = __esm(() => {
|
|
|
792507
792565
|
var exports_knowledge = {};
|
|
792508
792566
|
__export(exports_knowledge, {
|
|
792509
792567
|
withKnowledgeSpace: () => withKnowledgeSpace,
|
|
792510
|
-
uniqKnowledgeValues: () =>
|
|
792511
|
-
stabilizeKnowledgeText: () =>
|
|
792512
|
-
runKnowledgeSemanticSelfImprovement: () =>
|
|
792568
|
+
uniqKnowledgeValues: () => uniq2,
|
|
792569
|
+
stabilizeKnowledgeText: () => stableText,
|
|
792570
|
+
runKnowledgeSemanticSelfImprovement: () => runKnowledgeSemanticSelfImprovement,
|
|
792513
792571
|
resolveProjectPlanningSpace: () => resolveProjectPlanningSpace,
|
|
792514
|
-
resolveKnowledgeDbPathFromControlPlaneDir: () =>
|
|
792572
|
+
resolveKnowledgeDbPathFromControlPlaneDir: () => resolveKnowledgeDbPathFromControlPlaneDir,
|
|
792515
792573
|
renderPacket: () => renderPacket,
|
|
792516
792574
|
renderKnowledgeSchemaSql: () => renderKnowledgeSchemaSql,
|
|
792517
792575
|
renderKnowledgeMap: () => renderKnowledgeMap,
|
|
792518
792576
|
readKnowledgeSearchText: () => readKnowledgeSearchText,
|
|
792519
|
-
readBrowserKnowledgeProfile: () =>
|
|
792577
|
+
readBrowserKnowledgeProfile: () => readBrowserKnowledgeProfile,
|
|
792520
792578
|
projectPlanningSourceId: () => projectPlanningSourceId,
|
|
792521
792579
|
projectPlanningProjectIdFromPath: () => projectPlanningProjectIdFromPath,
|
|
792522
792580
|
projectPlanningCanonicalUri: () => projectPlanningCanonicalUri,
|
|
792523
792581
|
projectKnowledgeSpaceId: () => projectKnowledgeSpaceId,
|
|
792524
|
-
parseKnowledgeJsonValue: () =>
|
|
792582
|
+
parseKnowledgeJsonValue: () => parseJsonValue,
|
|
792525
792583
|
normalizeProjectId: () => normalizeProjectId,
|
|
792526
792584
|
normalizeKnowledgeSpaceId: () => normalizeKnowledgeSpaceId,
|
|
792527
792585
|
normalizeHomeAssistantInstallationId: () => normalizeHomeAssistantInstallationId,
|
|
@@ -792529,12 +792587,12 @@ __export(exports_knowledge, {
|
|
|
792529
792587
|
materializeGeneratedKnowledgeProjection: () => materializeGeneratedKnowledgeProjection,
|
|
792530
792588
|
looksLikeRawPdfPayload: () => looksLikeRawPdfPayload,
|
|
792531
792589
|
looksBinaryLikeText: () => looksBinaryLikeText,
|
|
792532
|
-
loadKnowledgeStoreSnapshot: () =>
|
|
792590
|
+
loadKnowledgeStoreSnapshot: () => loadKnowledgeStoreSnapshot,
|
|
792533
792591
|
listGeneratedKnowledgePages: () => listGeneratedKnowledgePages,
|
|
792534
|
-
listBrowserKinds: () =>
|
|
792592
|
+
listBrowserKinds: () => listBrowserKinds,
|
|
792535
792593
|
knowledgeSpaceMetadata: () => knowledgeSpaceMetadata,
|
|
792536
792594
|
knowledgePageSourceWeight: () => knowledgePageSourceWeight,
|
|
792537
|
-
knowledgeNowMs: () =>
|
|
792595
|
+
knowledgeNowMs: () => nowMs,
|
|
792538
792596
|
knowledgeExtractionNeedsRefresh: () => knowledgeExtractionNeedsRefresh,
|
|
792539
792597
|
isUsefulKnowledgePageSourceCandidate: () => isUsefulKnowledgePageSourceCandidate,
|
|
792540
792598
|
isUsefulKnowledgePageSource: () => isUsefulKnowledgePageSource,
|
|
@@ -792554,12 +792612,12 @@ __export(exports_knowledge, {
|
|
|
792554
792612
|
generatedKnowledgeSourceId: () => generatedKnowledgeSourceId,
|
|
792555
792613
|
generatedKnowledgeCanonicalUri: () => generatedKnowledgeCanonicalUri,
|
|
792556
792614
|
extractKnowledgeArtifact: () => extractKnowledgeArtifact,
|
|
792557
|
-
evaluateProjectPlanningReadiness: () =>
|
|
792558
|
-
discoverBrowserKnowledgeProfiles: () =>
|
|
792615
|
+
evaluateProjectPlanningReadiness: () => evaluateProjectPlanningReadiness,
|
|
792616
|
+
discoverBrowserKnowledgeProfiles: () => discoverBrowserKnowledgeProfiles,
|
|
792559
792617
|
createWebKnowledgeGapRepairer: () => createWebKnowledgeGapRepairer,
|
|
792560
792618
|
createProviderBackedKnowledgeSemanticLlm: () => createProviderBackedKnowledgeSemanticLlm,
|
|
792561
792619
|
createMemoryApi: () => createMemoryApi,
|
|
792562
|
-
createKnowledgeSchema: () =>
|
|
792620
|
+
createKnowledgeSchema: () => createSchema2,
|
|
792563
792621
|
createKnowledgeApi: () => createKnowledgeApi,
|
|
792564
792622
|
createDefaultKnowledgeConnectorRegistry: () => createDefaultKnowledgeConnectorRegistry,
|
|
792565
792623
|
compareKnowledgePageSources: () => compareKnowledgePageSources,
|
|
@@ -794998,7 +795056,7 @@ var init_delivery_manager = __esm(() => {
|
|
|
794998
795056
|
});
|
|
794999
795057
|
|
|
795000
795058
|
// node_modules/@pellux/goodvibes-sdk/dist/platform/automation/scheduler-capacity.js
|
|
795001
|
-
function computeSchedulerCapacity(slotsTotal, runs,
|
|
795059
|
+
function computeSchedulerCapacity(slotsTotal, runs, nowMs2 = Date.now()) {
|
|
795002
795060
|
let slotsInUse = 0;
|
|
795003
795061
|
const queuedRuns = [];
|
|
795004
795062
|
for (const run7 of runs) {
|
|
@@ -795008,7 +795066,7 @@ function computeSchedulerCapacity(slotsTotal, runs, nowMs3 = Date.now()) {
|
|
|
795008
795066
|
queuedRuns.push(run7);
|
|
795009
795067
|
}
|
|
795010
795068
|
const queueDepth = queuedRuns.length;
|
|
795011
|
-
const oldestQueuedAgeMs = queueDepth > 0 ?
|
|
795069
|
+
const oldestQueuedAgeMs = queueDepth > 0 ? nowMs2 - Math.min(...queuedRuns.map((r6) => r6.queuedAt)) : null;
|
|
795012
795070
|
return { slotsTotal, slotsInUse, queueDepth, oldestQueuedAgeMs };
|
|
795013
795071
|
}
|
|
795014
795072
|
|
|
@@ -817034,7 +817092,7 @@ var createStyledCell = (char, overrides = {}) => ({
|
|
|
817034
817092
|
// src/version.ts
|
|
817035
817093
|
import { readFileSync } from "fs";
|
|
817036
817094
|
import { join } from "path";
|
|
817037
|
-
var _version = "1.4.
|
|
817095
|
+
var _version = "1.4.4";
|
|
817038
817096
|
try {
|
|
817039
817097
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, "..", "package.json"), "utf-8"));
|
|
817040
817098
|
_version = typeof pkg.version === "string" ? pkg.version : _version;
|
|
@@ -839547,7 +839605,7 @@ var WORK_PLAN_STATUSES = [
|
|
|
839547
839605
|
"failed",
|
|
839548
839606
|
"cancelled"
|
|
839549
839607
|
];
|
|
839550
|
-
function
|
|
839608
|
+
function nowMs2() {
|
|
839551
839609
|
return Date.now();
|
|
839552
839610
|
}
|
|
839553
839611
|
function isObject4(value) {
|
|
@@ -839653,7 +839711,7 @@ class WorkPlanStore {
|
|
|
839653
839711
|
if (!normalizedTitle)
|
|
839654
839712
|
throw new Error("Work plan item title is required.");
|
|
839655
839713
|
const plan = this.readPlan();
|
|
839656
|
-
const time4 =
|
|
839714
|
+
const time4 = nowMs2();
|
|
839657
839715
|
const item = {
|
|
839658
839716
|
id: createItemId(),
|
|
839659
839717
|
title: normalizedTitle,
|
|
@@ -839677,7 +839735,7 @@ class WorkPlanStore {
|
|
|
839677
839735
|
updateItem(idOrPrefix, patch2) {
|
|
839678
839736
|
const plan = this.readPlan();
|
|
839679
839737
|
const item = this.resolveItem(plan, idOrPrefix);
|
|
839680
|
-
const time4 =
|
|
839738
|
+
const time4 = nowMs2();
|
|
839681
839739
|
const nextStatus = patch2.status ?? item.status;
|
|
839682
839740
|
const next = this.pruneItem({
|
|
839683
839741
|
...item,
|
|
@@ -839710,7 +839768,7 @@ class WorkPlanStore {
|
|
|
839710
839768
|
removeItem(idOrPrefix) {
|
|
839711
839769
|
const plan = this.readPlan();
|
|
839712
839770
|
const item = this.resolveItem(plan, idOrPrefix);
|
|
839713
|
-
const time4 =
|
|
839771
|
+
const time4 = nowMs2();
|
|
839714
839772
|
const remaining = plan.items.filter((candidate) => candidate.id !== item.id);
|
|
839715
839773
|
this.writePlan({
|
|
839716
839774
|
...plan,
|
|
@@ -839730,7 +839788,7 @@ class WorkPlanStore {
|
|
|
839730
839788
|
...plan,
|
|
839731
839789
|
items: remaining,
|
|
839732
839790
|
activeItemId: remaining[0]?.id,
|
|
839733
|
-
updatedAt:
|
|
839791
|
+
updatedAt: nowMs2()
|
|
839734
839792
|
});
|
|
839735
839793
|
return removed;
|
|
839736
839794
|
}
|
|
@@ -839769,7 +839827,7 @@ class WorkPlanStore {
|
|
|
839769
839827
|
const parsed = JSON.parse(raw);
|
|
839770
839828
|
if (!isObject4(parsed))
|
|
839771
839829
|
return this.createEmptyPlan();
|
|
839772
|
-
const time4 =
|
|
839830
|
+
const time4 = nowMs2();
|
|
839773
839831
|
const createdAt = typeof parsed.createdAt === "number" ? parsed.createdAt : time4;
|
|
839774
839832
|
const updatedAt = typeof parsed.updatedAt === "number" ? parsed.updatedAt : createdAt;
|
|
839775
839833
|
const items = Array.isArray(parsed.items) ? parsed.items.map((item) => normalizeItem(item, createdAt)).filter((item) => item !== null) : [];
|
|
@@ -839788,7 +839846,7 @@ class WorkPlanStore {
|
|
|
839788
839846
|
};
|
|
839789
839847
|
}
|
|
839790
839848
|
createEmptyPlan() {
|
|
839791
|
-
const time4 =
|
|
839849
|
+
const time4 = nowMs2();
|
|
839792
839850
|
return {
|
|
839793
839851
|
id: createPlanId(this.options.projectId, this.options.projectRoot),
|
|
839794
839852
|
projectId: this.options.projectId,
|
|
@@ -870089,13 +870147,13 @@ init_state3();
|
|
|
870089
870147
|
|
|
870090
870148
|
// src/input/commands/recall-shared.ts
|
|
870091
870149
|
var VALID_CLASSES = ["decision", "constraint", "incident", "pattern", "fact", "risk", "runbook", "architecture", "ownership"];
|
|
870092
|
-
var
|
|
870150
|
+
var VALID_SCOPES2 = ["session", "project", "team"];
|
|
870093
870151
|
var VALID_REVIEW_STATES = ["fresh", "reviewed", "stale", "contradicted"];
|
|
870094
870152
|
function isValidClass(s4) {
|
|
870095
870153
|
return VALID_CLASSES.includes(s4);
|
|
870096
870154
|
}
|
|
870097
870155
|
function isValidScope(s4) {
|
|
870098
|
-
return
|
|
870156
|
+
return VALID_SCOPES2.includes(s4);
|
|
870099
870157
|
}
|
|
870100
870158
|
function isValidReviewState(s4) {
|
|
870101
870159
|
return VALID_REVIEW_STATES.includes(s4);
|
|
@@ -870138,7 +870196,7 @@ function handleRecallSearch(args2, context) {
|
|
|
870138
870196
|
if (isValidScope(scope))
|
|
870139
870197
|
filter.scope = scope;
|
|
870140
870198
|
else {
|
|
870141
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
870199
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES2.join(", ")}.`);
|
|
870142
870200
|
return;
|
|
870143
870201
|
}
|
|
870144
870202
|
}
|
|
@@ -870313,7 +870371,7 @@ function handleRecallList(args2, context) {
|
|
|
870313
870371
|
if (scopeIdx !== -1 && args2[scopeIdx + 1]) {
|
|
870314
870372
|
const scope = args2[scopeIdx + 1];
|
|
870315
870373
|
if (!isValidScope(scope)) {
|
|
870316
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
870374
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES2.join(", ")}.`);
|
|
870317
870375
|
return;
|
|
870318
870376
|
}
|
|
870319
870377
|
filter.scope = scope;
|
|
@@ -870363,7 +870421,7 @@ async function handleRecallAdd(args2, context) {
|
|
|
870363
870421
|
const tags = tagsRaw ? tagsRaw.split(",").map((token) => token.trim()).filter(Boolean) : [];
|
|
870364
870422
|
const scope = scopeRaw && isValidScope(scopeRaw) ? scopeRaw : "project";
|
|
870365
870423
|
if (scopeRaw && !isValidScope(scopeRaw)) {
|
|
870366
|
-
context.print(`[memory] Invalid scope "${scopeRaw}". Valid values ${
|
|
870424
|
+
context.print(`[memory] Invalid scope "${scopeRaw}". Valid values ${VALID_SCOPES2.join(", ")}.`);
|
|
870367
870425
|
return;
|
|
870368
870426
|
}
|
|
870369
870427
|
const provenance = [];
|
|
@@ -870497,7 +870555,7 @@ function handleRecallExport(args2, context) {
|
|
|
870497
870555
|
if (scopeIdx !== -1 && commandArgs[scopeIdx + 1]) {
|
|
870498
870556
|
const scope = commandArgs[scopeIdx + 1];
|
|
870499
870557
|
if (!isValidScope(scope)) {
|
|
870500
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
870558
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES2.join(", ")}.`);
|
|
870501
870559
|
return;
|
|
870502
870560
|
}
|
|
870503
870561
|
filter.scope = scope;
|
|
@@ -870576,7 +870634,7 @@ function handleRecallHandoffExport(args2, context) {
|
|
|
870576
870634
|
const scopeIdx = commandArgs.indexOf("--scope");
|
|
870577
870635
|
const scopeRaw = scopeIdx !== -1 ? commandArgs[scopeIdx + 1] : "team";
|
|
870578
870636
|
if (!scopeRaw || !isValidScope(scopeRaw)) {
|
|
870579
|
-
context.print(`[memory] Unknown scope "${scopeRaw ?? ""}". Valid values ${
|
|
870637
|
+
context.print(`[memory] Unknown scope "${scopeRaw ?? ""}". Valid values ${VALID_SCOPES2.join(", ")}.`);
|
|
870580
870638
|
return;
|
|
870581
870639
|
}
|
|
870582
870640
|
const bundle = memory.exportBundle({ scope: scopeRaw });
|
|
@@ -870692,7 +870750,7 @@ function handleRecallPromote(args2, context) {
|
|
|
870692
870750
|
const id = parsed.rest[0];
|
|
870693
870751
|
const scope = parsed.rest[1];
|
|
870694
870752
|
if (!id || !scope || !isValidScope(scope)) {
|
|
870695
|
-
context.print(`[memory] Usage: /memory promote <id> <${
|
|
870753
|
+
context.print(`[memory] Usage: /memory promote <id> <${VALID_SCOPES2.join("|")}> --yes`);
|
|
870696
870754
|
return;
|
|
870697
870755
|
}
|
|
870698
870756
|
if (!parsed.yes) {
|
|
@@ -883725,7 +883783,7 @@ import { mkdirSync as mkdirSync74, readFileSync as readFileSync97, writeFileSync
|
|
|
883725
883783
|
import { dirname as dirname74, resolve as resolve43 } from "path";
|
|
883726
883784
|
init_state3();
|
|
883727
883785
|
var VALID_CLASSES2 = ["decision", "constraint", "incident", "pattern", "fact", "risk", "runbook", "architecture", "ownership"];
|
|
883728
|
-
var
|
|
883786
|
+
var VALID_SCOPES4 = ["session", "project", "team"];
|
|
883729
883787
|
var VALID_REVIEW_STATES3 = ["fresh", "reviewed", "stale", "contradicted"];
|
|
883730
883788
|
var VALID_PROVENANCE_KINDS = ["session", "turn", "task", "event", "file"];
|
|
883731
883789
|
var VALUE_OPTIONS = new Set([
|
|
@@ -883825,7 +883883,7 @@ function isMemoryClass2(value) {
|
|
|
883825
883883
|
return VALID_CLASSES2.includes(value);
|
|
883826
883884
|
}
|
|
883827
883885
|
function isMemoryScope2(value) {
|
|
883828
|
-
return
|
|
883886
|
+
return VALID_SCOPES4.includes(value);
|
|
883829
883887
|
}
|
|
883830
883888
|
function isReviewState(value) {
|
|
883831
883889
|
return VALID_REVIEW_STATES3.includes(value);
|
|
@@ -883840,7 +883898,7 @@ function requireClass(value) {
|
|
|
883840
883898
|
}
|
|
883841
883899
|
function requireScope(value) {
|
|
883842
883900
|
if (!value || !isMemoryScope2(value))
|
|
883843
|
-
throw new Error(`Invalid memory scope "${value ?? ""}". Valid values ${
|
|
883901
|
+
throw new Error(`Invalid memory scope "${value ?? ""}". Valid values ${VALID_SCOPES4.join(", ")}`);
|
|
883844
883902
|
return value;
|
|
883845
883903
|
}
|
|
883846
883904
|
function optionalScope(value) {
|
|
@@ -904886,51 +904944,27 @@ var AGENT_WORKSPACE_HOST_CATEGORY = {
|
|
|
904886
904944
|
summary: "Connected-host health, tasks, sessions, channels, and automation.",
|
|
904887
904945
|
detail: "Use this workspace to inspect the GoodVibes host surfaces that Agent can see: system health, remote routes, host tasks, sessions, channels, schedules, knowledge, media, MCP, provider auth, support bundles, and telemetry/config posture.",
|
|
904888
904946
|
actions: [
|
|
904889
|
-
{ id: "host-overview", label: "Host overview", detail: "Review connected-host, provider, settings, continuity, and Agent health without starting or mutating host work.", command: "/health review", kind: "command", safety: "read-only" },
|
|
904890
|
-
{ id: "host-services", label: "Host services", detail: "Inspect connected-host service readiness, credentials, and integration issues without changing them.", command: "/health host", kind: "command", safety: "read-only" },
|
|
904891
|
-
{ id: "host-setup", label: "Setup review", detail: "Inspect setup issues that affect connected-host and Agent runtime readiness.", command: "/health setup", kind: "command", safety: "read-only" },
|
|
904892
|
-
{ id: "host-remote", label: "Remote routes", detail: "Inspect remote build-host route health and recovery signals without starting build work.", command: "/health remote", kind: "command", safety: "read-only" },
|
|
904893
|
-
{ id: "host-maintenance", label: "Session maintenance", detail: "Review continuity, compaction, and current-session maintenance posture.", command: "/health maintenance", kind: "command", safety: "read-only" },
|
|
904894
|
-
{ id: "host-continuity", label: "Continuity", detail: "Inspect last-session pointer, recovery-file posture, and return-context state.", command: "/health continuity", kind: "command", safety: "read-only" },
|
|
904895
|
-
{ id: "host-tasks", label: "Host tasks", detail: "Inspect connected-host task state without creating, retrying, or mutating tasks.", command: "/tasks list", kind: "command", safety: "read-only" },
|
|
904896
904947
|
{ id: "host-task-filter", label: "Filter host tasks", detail: "Open a status/type form for read-only connected-host task filtering.", editorKind: "task-list-filter", kind: "editor", safety: "read-only" },
|
|
904897
904948
|
{ id: "host-task-show", label: "Inspect host task", detail: "Open a task-id form for read-only connected-host task metadata.", editorKind: "task-show", kind: "editor", safety: "read-only" },
|
|
904898
904949
|
{ id: "host-task-output", label: "Show task output", detail: "Open a task-id form for read-only connected-host task output.", editorKind: "task-output", kind: "editor", safety: "read-only" },
|
|
904899
|
-
{ id: "host-sessions", label: "Host session routes", detail: "Browse saved Agent sessions and return-context posture exposed through the runtime session surface.", command: "/session list", kind: "command", safety: "read-only" },
|
|
904900
904950
|
{ id: "host-session-graph", label: "Session graph", detail: "Open a read-only form for cross-session graph inspection; graph mutation remains blocked in Agent.", editorKind: "session-graph", kind: "editor", safety: "read-only" },
|
|
904901
|
-
{ id: "host-channels-status", label: "Channel status", detail: "Inspect connected channel runtime status from the host without mutating delivery state.", command: "/channels status", kind: "command", safety: "read-only" },
|
|
904902
|
-
{ id: "host-channel-accounts", label: "Channel accounts", detail: "Inspect connected channel accounts without printing secret values or sending messages.", command: "/channels accounts", kind: "command", safety: "read-only" },
|
|
904903
|
-
{ id: "host-channel-policies", label: "Channel policies", detail: "Inspect channel delivery policy posture without changing routing.", command: "/channels policies", kind: "command", safety: "read-only" },
|
|
904904
904951
|
{ id: "host-channels", label: "Open Channels", detail: "Jump to the channel setup and delivery workspace.", targetCategoryId: "channels", kind: "workspace", safety: "safe" },
|
|
904905
904952
|
{ id: "host-automation", label: "Open Automation", detail: "Jump to connected schedules, reminders, receipts, and explicit run controls.", targetCategoryId: "automation", kind: "workspace", safety: "safe" },
|
|
904906
|
-
{ id: "host-schedules", label: "Schedule status", detail: "Inspect schedules and run history without running or mutating them.", command: "/schedule list", kind: "command", safety: "read-only" },
|
|
904907
|
-
{ id: "host-schedule-reconcile", label: "Reconcile schedules", detail: "Compare local promotion receipts with live connected schedules.", command: "/schedule reconcile", kind: "command", safety: "read-only" },
|
|
904908
|
-
{ id: "host-knowledge", label: "Knowledge route", detail: "Inspect isolated Agent Knowledge route readiness and source counts.", command: "/knowledge status", kind: "command", safety: "read-only" },
|
|
904909
904953
|
{ id: "host-knowledge-open", label: "Open Knowledge", detail: "Jump to Agent Knowledge source, graph, review, and ingest controls.", targetCategoryId: "knowledge", kind: "workspace", safety: "safe" },
|
|
904910
|
-
{ id: "host-media", label: "Media providers", detail: "Inspect configured media providers before generating media with confirmation.", command: "/media providers", kind: "command", safety: "read-only" },
|
|
904911
904954
|
{ id: "host-media-open", label: "Open Voice and Media", detail: "Jump to voice, TTS, image input, media provider, and browser-tool setup actions.", targetCategoryId: "voice-media", kind: "workspace", safety: "safe" },
|
|
904912
|
-
{ id: "host-mcp-health", label: "MCP health", detail: "Inspect MCP lifecycle issues without changing trust posture or approving tool-definition review.", command: "/health mcp", kind: "command", safety: "read-only" },
|
|
904913
|
-
{ id: "host-mcp-review", label: "MCP review", detail: "Inspect MCP server connection, trust, role, and review posture.", command: "/mcp review", kind: "command", safety: "read-only" },
|
|
904914
904955
|
{ id: "host-tools-open", label: "Open Tools and MCP", detail: "Jump to MCP server setup, tool inventory, secrets, and security review.", targetCategoryId: "tools", kind: "workspace", safety: "safe" },
|
|
904915
|
-
{ id: "host-provider-accounts", label: "Provider accounts", detail: "Review provider account routes, subscription windows, and billing-path safety.", command: "/accounts review", kind: "command", safety: "read-only" },
|
|
904916
904956
|
{ id: "host-provider-detail", label: "Provider detail", detail: "Open a provider-id form for account and provider configuration review.", editorKind: "provider-inspect", kind: "editor", safety: "read-only" },
|
|
904917
904957
|
{ id: "host-provider-routes", label: "Provider routes", detail: "Open a provider-id form for account, subscription, and route inspection.", editorKind: "provider-routes", kind: "editor", safety: "read-only" },
|
|
904918
904958
|
{ id: "host-provider-repair", label: "Provider repair guidance", detail: "Open a provider-id form for read-only provider repair guidance.", editorKind: "provider-account-repair", kind: "editor", safety: "read-only" },
|
|
904919
|
-
{ id: "host-auth-owner", label: "Connected-host auth owner", detail: "Show connected-host auth ownership, local companion-token posture, and the confirmed Agent setup route that can create or repair its own operator token without printing it.", command: "/auth local", kind: "command", safety: "read-only" },
|
|
904920
|
-
{ id: "host-auth-review", label: "Provider auth review", detail: "Review provider auth posture without printing token values.", command: "/auth review", kind: "command", safety: "read-only" },
|
|
904921
904959
|
{ id: "host-auth-detail", label: "Provider auth detail", detail: "Open a provider-id form for read-only provider auth inspection.", editorKind: "auth-show", kind: "editor", safety: "read-only" },
|
|
904922
904960
|
{ id: "host-auth-repair", label: "Provider auth repair", detail: "Open a provider-id form for provider auth repair guidance.", editorKind: "auth-repair", kind: "editor", safety: "read-only" },
|
|
904923
904961
|
{ id: "host-auth-bundle-export", label: "Export auth bundle", detail: "Open a confirmed form that exports a redacted provider auth review bundle.", editorKind: "auth-bundle-export", kind: "editor", safety: "safe" },
|
|
904924
904962
|
{ id: "host-auth-bundle-inspect", label: "Inspect auth bundle", detail: "Open a form that inspects a provider auth review bundle before sharing or import.", editorKind: "auth-bundle-inspect", kind: "editor", safety: "read-only" },
|
|
904925
904963
|
{ id: "host-subscription-bundle-export", label: "Export subscription bundle", detail: "Open a confirmed form that exports redacted provider subscription state for review.", editorKind: "subscription-bundle-export", kind: "editor", safety: "safe" },
|
|
904926
904964
|
{ id: "host-subscription-bundle-inspect", label: "Inspect subscription bundle", detail: "Open a form that inspects provider subscription state before sharing.", editorKind: "subscription-bundle-inspect", kind: "editor", safety: "read-only" },
|
|
904927
|
-
{ id: "host-security", label: "Security review", detail: "Inspect token posture, MCP attack paths, policy lint, plugin risk, and incident pressure.", command: "/security review", kind: "command", safety: "read-only" },
|
|
904928
|
-
{ id: "host-trust", label: "Trust review", detail: "Review permission, secret, plugin, and MCP trust posture without exporting bundles or changing trust.", command: "/trust review", kind: "command", safety: "read-only" },
|
|
904929
904965
|
{ id: "host-support-bundle-export", label: "Export support bundle", detail: "Export a redacted Agent support bundle from the Host page.", editorKind: "support-bundle-export", kind: "editor", safety: "safe" },
|
|
904930
904966
|
{ id: "host-support-bundle-inspect", label: "Inspect support bundle", detail: "Inspect a support bundle before import or sharing.", editorKind: "support-bundle-inspect", kind: "editor", safety: "read-only" },
|
|
904931
904967
|
{ id: "host-support-bundle-import", label: "Import support bundle", detail: "Import reviewed, non-redacted config values from a support bundle.", editorKind: "support-bundle-import", kind: "editor", safety: "safe" },
|
|
904932
|
-
{ id: "host-telemetry", label: "Telemetry settings", detail: "Open telemetry payload policy settings for connected-host and Agent observability review.", command: "/config telemetry", kind: "command", safety: "safe" },
|
|
904933
|
-
{ id: "host-config", label: "Control-plane settings", detail: "Open configuration controls for service, channels, tools, automation, provider, and storage posture.", command: "/config", kind: "command", safety: "safe" },
|
|
904934
904968
|
{ id: "host-safety", label: "Host mutation policy", detail: "Agent may inspect connected-host surfaces and run explicit confirmed actions, but does not silently create tasks, send channel messages, mutate auth, or start automation.", kind: "guidance", safety: "blocked" }
|
|
904935
904969
|
]
|
|
904936
904970
|
};
|
|
@@ -905085,7 +905119,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905085
905119
|
detail: "Use this as the primary Agent workspace: start with the user task, then open only the lane that matches the work.",
|
|
905086
905120
|
actions: [
|
|
905087
905121
|
{ id: "chat", label: "Continue assistant chat", detail: "Return to the main composer and type a normal message. Agent work stays serial in the main conversation.", kind: "guidance", safety: "safe" },
|
|
905088
|
-
{ id: "brief", label: "Operator briefing", detail: "Show a concise Agent status and next-actions briefing without mutating the connected host.", command: "/brief", kind: "command", safety: "read-only" },
|
|
905089
905122
|
{ id: "assistant-setup-lane", label: "Get the assistant working", detail: "Open setup posture for first-run blockers, GoodVibes settings import, account, model, tools, channels, voice, local context, and finish.", targetCategoryId: "setup", kind: "workspace", safety: "safe" },
|
|
905090
905123
|
{ id: "assistant-model-lane", label: "Talk and choose models", detail: 'Open model routing for provider choice, local model cookbook, helper/tool routes, reasoning, cache, and provider failure hints; model inspection uses models action:"status|local|providers".', targetCategoryId: "account-model", kind: "workspace", safety: "safe" },
|
|
905091
905124
|
{ id: "assistant-browser-cockpit", label: "Open browser cockpit", detail: "Open the connected GoodVibes browser cockpit/PWA when the web route is configured, or inspect web setup posture when it is not.", kind: "guidance", safety: "safe" },
|
|
@@ -905094,17 +905127,8 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905094
905127
|
{ id: "assistant-research-docs-lane", label: "Research and write", detail: "Open the writing surface for document drafts, source-backed reports, artifacts, exports, and blind model comparison.", targetCategoryId: "documents", kind: "workspace", safety: "safe" },
|
|
905095
905128
|
{ id: "assistant-background-lane", label: "Supervise background work", detail: "Open work supervision for plans, visible queues, approvals, automation, schedules, log tails, and cancel/recovery routes.", targetCategoryId: "work", kind: "workspace", safety: "read-only" },
|
|
905096
905129
|
{ id: "assistant-safety-lane", label: "Stay safe and recover", detail: "Open tool and MCP trust review; support bundles, execution history, and file recovery stay reachable from diagnostics.", targetCategoryId: "tools", kind: "workspace", safety: "read-only" },
|
|
905097
|
-
{ id: "model", label: "Choose model", detail: "Open the model/provider workspace for the Agent chat route.", command: "/model", kind: "command", safety: "safe" },
|
|
905098
|
-
{ id: "model-refresh", label: "Refresh model catalog", detail: "Refresh locally cached provider model lists without changing the selected route.", command: "/refresh-models", kind: "command", safety: "safe" },
|
|
905099
|
-
{ id: "mode-show", label: "Interaction mode", detail: "Review Agent interaction noise level and per-domain verbosity.", command: "/mode show", kind: "command", safety: "read-only" },
|
|
905100
905130
|
{ id: "mode-preset", label: "Set interaction mode", detail: "Open a confirmed form for quiet, balanced, or operator interaction mode.", editorKind: "mode-preset", kind: "editor", safety: "safe" },
|
|
905101
|
-
{ id: "learned-behavior-home", label: "Capture learned behavior", detail: "Save a reviewed lesson, workflow, or operating style as a local skill, routine, or persona.", editorKind: "learned-behavior", kind: "editor", safety: "safe" }
|
|
905102
|
-
{ id: "health", label: "Review health", detail: "Show local health and connected-host status without starting or mutating anything.", command: "/health review", kind: "command", safety: "read-only" },
|
|
905103
|
-
{ id: "doctor", label: "Doctor diagnostics", detail: "Run the same Agent doctor diagnostics from the TUI home workspace instead of relying on the CLI.", command: "/doctor", kind: "command", safety: "read-only" },
|
|
905104
|
-
{ id: "compat", label: "Host compatibility", detail: "Inspect connected-host compatibility and isolated Agent Knowledge route readiness from the TUI.", command: "/compat", kind: "command", safety: "read-only" },
|
|
905105
|
-
{ id: "help", label: "Browse commands", detail: "Open registry-driven command help.", command: "/help", kind: "command", safety: "safe" },
|
|
905106
|
-
{ id: "welcome", label: "Welcome and setup guide", detail: "Open the Agent setup guide from the workspace.", command: "/welcome", kind: "command", safety: "safe" },
|
|
905107
|
-
{ id: "quit", label: "Quit Agent", detail: "Exit the TUI and restore terminal state.", command: "/quit", kind: "command", safety: "safe" }
|
|
905131
|
+
{ id: "learned-behavior-home", label: "Capture learned behavior", detail: "Save a reviewed lesson, workflow, or operating style as a local skill, routine, or persona.", editorKind: "learned-behavior", kind: "editor", safety: "safe" }
|
|
905108
905132
|
]
|
|
905109
905133
|
},
|
|
905110
905134
|
{
|
|
@@ -905114,48 +905138,40 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905114
905138
|
summary: "Import preferences, sign in, and choose the main model.",
|
|
905115
905139
|
detail: "Start here on a fresh install. Every row either saves state, opens the shared model picker, or opens a confirmed in-modal form.",
|
|
905116
905140
|
actions: [
|
|
905117
|
-
{ id: "
|
|
905118
|
-
{ id: "
|
|
905119
|
-
{ id: "setup-checkpoint-mark-current", label: "Save setup checkpoint", detail: "Save the current setup wizard step as the Agent-owned resume point for the next launch.", setupCheckpointOperation: "mark-current", kind: "setup-checkpoint", safety: "safe" },
|
|
905120
|
-
{ id: "setup-checkpoint-clear", label: "Clear setup checkpoint", detail: "Clear the saved setup wizard resume point after setup is complete or no longer useful.", setupCheckpointOperation: "clear", kind: "setup-checkpoint", safety: "safe" },
|
|
905121
|
-
{ id: "subscription-login-start", label: "Start subscription login", detail: "Start one provider sign-in flow, save pending state, and return here.", editorKind: "subscription-login-start", kind: "editor", safety: "safe" },
|
|
905122
|
-
{ id: "subscription-login-finish", label: "Finish subscription login", detail: "Exchange a code or redirect URL and save the provider subscription session.", editorKind: "subscription-login-finish", kind: "editor", safety: "safe" },
|
|
905141
|
+
{ id: "subscription-login-start", label: "Sign in to a provider", detail: "Start one provider sign-in flow, save pending state, and return here.", editorKind: "subscription-login-start", kind: "editor", safety: "safe" },
|
|
905142
|
+
{ id: "subscription-login-finish", label: "Finish provider sign-in", detail: "Exchange a code or redirect URL and save the provider subscription session.", editorKind: "subscription-login-finish", kind: "editor", safety: "safe" },
|
|
905123
905143
|
{ id: "setup-provider-model", label: "Choose main model", detail: "Open the shared provider/model picker for normal assistant turns.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "main", safety: "safe" },
|
|
905144
|
+
{ id: "import-goodvibes-tui-settings", label: "Import GoodVibes settings", detail: "Import compatible shared GoodVibes display, provider, subscription, behavior, permission, TTS, channel, helper, tool, release, and automation values into Agent-owned state.", kind: "settings-import", safety: "safe" },
|
|
905124
905145
|
settingAction({ id: "setup-reasoning-effort", label: "Reasoning effort", detail: "Cycle reasoning level when the selected model supports it.", key: "provider.reasoningEffort" }),
|
|
905125
|
-
{ id: "
|
|
905126
|
-
{ id: "
|
|
905127
|
-
{ id: "
|
|
905128
|
-
|
|
905129
|
-
settingAction({ id: "setup-
|
|
905146
|
+
settingAction({ id: "setup-save-history", label: "Save history", detail: "Toggle local conversation history persistence.", key: "behavior.saveHistory" }),
|
|
905147
|
+
{ id: "subscription-logout", label: "Sign out of a provider", detail: "Remove one stored or pending provider subscription session after confirmation.", editorKind: "subscription-logout", kind: "editor", safety: "safe" },
|
|
905148
|
+
{ id: "provider-add", label: "Add a custom provider", detail: "Add one OpenAI-compatible provider for Agent model routing.", editorKind: "provider-add", kind: "editor", safety: "safe" },
|
|
905149
|
+
{ id: "secret-set-provider", label: "Store a credential", detail: "Store a provider or channel credential through the Agent secret manager.", editorKind: "secret-set", kind: "editor", safety: "safe" },
|
|
905150
|
+
settingAction({ id: "setup-secret-policy", label: "Secret storage policy", detail: "Choose how strongly Agent prefers secure secret storage.", key: "storage.secretPolicy" }),
|
|
905151
|
+
{ id: "setup-checkpoint-show", label: "Show saved resume point", detail: "Inspect the saved setup wizard resume point without writing setup state.", setupCheckpointOperation: "show", kind: "setup-checkpoint", safety: "read-only" },
|
|
905152
|
+
{ id: "setup-checkpoint-mark-current", label: "Save resume point", detail: "Save the current setup wizard step as the Agent-owned resume point for the next launch.", setupCheckpointOperation: "mark-current", kind: "setup-checkpoint", safety: "safe" },
|
|
905153
|
+
{ id: "setup-checkpoint-clear", label: "Clear saved resume point", detail: "Clear the saved setup wizard resume point after setup is complete or no longer useful.", setupCheckpointOperation: "clear", kind: "setup-checkpoint", safety: "safe" }
|
|
905130
905154
|
]
|
|
905131
905155
|
},
|
|
905132
905156
|
{
|
|
905133
905157
|
id: "account-model",
|
|
905134
905158
|
group: "ONBOARDING",
|
|
905135
905159
|
label: "Model Routing",
|
|
905136
|
-
summary: "
|
|
905137
|
-
detail: "Use this after sign-in.
|
|
905160
|
+
summary: "Pick the chat model. Helper, tool, and spoken-turn routes are optional.",
|
|
905161
|
+
detail: "Use this after sign-in. Most users only need the top row; the rest are advanced.",
|
|
905138
905162
|
actions: [
|
|
905139
905163
|
{ id: "provider-use", label: "Choose provider and model", detail: "Open the shared provider/model picker for the main chat route.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "main", safety: "safe" },
|
|
905140
|
-
{ id: "provider-remove", label: "Remove custom provider", detail: "Remove one custom provider config after confirmation.", editorKind: "provider-remove", kind: "editor", safety: "safe" },
|
|
905141
|
-
{ id: "account-main-model", label: "Choose main model", detail: "Open the shared model picker for normal assistant turns.", kind: "model-picker", modelPickerFlow: "model", modelPickerTarget: "main", safety: "safe" },
|
|
905142
|
-
{ id: "account-route-readiness", label: "Inspect route readiness", detail: 'Review chat, helper, tool, and spoken-turn routes with models action:"status" for readiness scores, missing signals, pinned state, and safe setting keys without changing selection.', kind: "guidance", safety: "read-only" },
|
|
905143
|
-
{ id: "account-local-model-cookbook", label: "Local model cookbook", detail: 'Review local model recommendations, setup/download guidance, benchmark action routes, and local endpoint candidates with models action:"local".', kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "main", safety: "safe" },
|
|
905144
|
-
{ id: "account-local-server-health", label: "Check local servers", detail: 'Run a confirmed read-only model-list smoke check with models action:"smoke" for detected or default local endpoints before refresh, benchmark, provider add, or route change.', kind: "guidance", safety: "read-only" },
|
|
905145
|
-
{ id: "account-run-local-model-benchmark", label: "Run local benchmark", detail: "Run the confirmed local-route benchmark through blind comparison, save latency/task-fit evidence, and keep model changes separate.", editorKind: "local-model-benchmark", kind: "editor", safety: "safe" },
|
|
905146
|
-
{ id: "account-local-benchmark-evidence", label: "Review benchmark evidence", detail: 'Inspect saved local model comparisons, revealed judgments, analytics routes, and next actions through models action:"local" before any default-route change.', kind: "guidance", safety: "read-only" },
|
|
905147
905164
|
settingAction({ id: "account-reasoning", label: "Reasoning effort", detail: "Cycle the reasoning effort used when supported.", key: "provider.reasoningEffort" }),
|
|
905148
905165
|
settingAction({ id: "account-embedding", label: "Embedding provider", detail: "Set the embedding provider for memory and retrieval.", key: "provider.embeddingProvider" }),
|
|
905149
|
-
settingAction({ id: "account-system-prompt", label: "System prompt file", detail: "Set an optional local system prompt file path.", key: "provider.systemPromptFile" }),
|
|
905150
|
-
settingAction({ id: "account-helper-enabled", label: "Enable helper model", detail: "Toggle dedicated helper routing for background utility work.", key: "helper.enabled" }),
|
|
905151
|
-
{ id: "account-helper-provider", label: "Choose helper provider/model", detail: "Open the shared provider/model picker for helper routing.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "helper", visibleWhenSettingKey: "helper.enabled", visibleWhenSettingValue: true, safety: "safe" },
|
|
905152
|
-
{ id: "account-helper-model", label: "Choose helper model", detail: "Open the shared model picker for helper routing.", kind: "model-picker", modelPickerFlow: "model", modelPickerTarget: "helper", visibleWhenSettingKey: "helper.enabled", visibleWhenSettingValue: true, safety: "safe" },
|
|
905153
|
-
settingAction({ id: "account-tool-llm-enabled", label: "Enable tool LLM", detail: "Toggle a dedicated tool LLM for internal operations.", key: "tools.llmEnabled" }),
|
|
905154
|
-
{ id: "account-tool-provider", label: "Choose tool provider/model", detail: "Open the shared provider/model picker for dedicated tool LLM calls.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "tool", visibleWhenSettingKey: "tools.llmEnabled", visibleWhenSettingValue: true, safety: "safe" },
|
|
905155
|
-
{ id: "account-tool-model", label: "Choose tool model", detail: "Open the shared model picker for dedicated tool LLM calls.", kind: "model-picker", modelPickerFlow: "model", modelPickerTarget: "tool", visibleWhenSettingKey: "tools.llmEnabled", visibleWhenSettingValue: true, safety: "safe" },
|
|
905156
|
-
{ id: "account-tts-llm-provider", label: "Choose spoken-turn provider/model", detail: "Open the shared provider/model picker for spoken-response turns.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "tts", safety: "safe" },
|
|
905157
|
-
{ id: "account-tts-llm-model", label: "Choose spoken-turn model", detail: "Open the shared model picker for spoken-response turns.", kind: "model-picker", modelPickerFlow: "model", modelPickerTarget: "tts", safety: "safe" },
|
|
905158
905166
|
settingAction({ id: "account-provider-fallback-hint", label: "Provider failure hints", detail: "Toggle alternative model suggestions when the current provider fails non-transiently.", key: "behavior.suggestAlternativeOnProviderFail" }),
|
|
905167
|
+
settingAction({ id: "account-helper-enabled", label: "Use a dedicated helper model", detail: "Toggle a separate route for background utility work like summaries and titling.", key: "helper.enabled" }),
|
|
905168
|
+
{ id: "account-helper-provider", label: "Choose helper model", detail: "Pick the provider and model for helper routing.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "helper", visibleWhenSettingKey: "helper.enabled", visibleWhenSettingValue: true, safety: "safe" },
|
|
905169
|
+
settingAction({ id: "account-tool-llm-enabled", label: "Use a dedicated tool model", detail: "Toggle a separate route for internal tool calls.", key: "tools.llmEnabled" }),
|
|
905170
|
+
{ id: "account-tool-provider", label: "Choose tool model", detail: "Pick the provider and model for dedicated tool calls.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "tool", visibleWhenSettingKey: "tools.llmEnabled", visibleWhenSettingValue: true, safety: "safe" },
|
|
905171
|
+
{ id: "account-tts-llm-provider", label: "Choose spoken-turn model", detail: "Pick the provider and model for spoken-response turns.", kind: "model-picker", modelPickerFlow: "providerModel", modelPickerTarget: "tts", safety: "safe" },
|
|
905172
|
+
settingAction({ id: "account-system-prompt", label: "Custom system prompt file", detail: "Optional local file used as the system prompt for every assistant turn.", key: "provider.systemPromptFile" }),
|
|
905173
|
+
{ id: "provider-remove", label: "Remove a custom provider", detail: "Remove one custom provider config after confirmation.", editorKind: "provider-remove", kind: "editor", safety: "safe" },
|
|
905174
|
+
{ id: "account-run-local-model-benchmark", label: "Run a local model benchmark", detail: "Run the confirmed local-route benchmark through blind comparison, save latency/task-fit evidence, and keep model changes separate.", editorKind: "local-model-benchmark", kind: "editor", safety: "safe" },
|
|
905159
905175
|
settingAction({ id: "account-cache-enabled", label: "Prompt cache", detail: "Toggle prompt caching for eligible providers.", key: "cache.enabled" }),
|
|
905160
905176
|
settingAction({ id: "account-cache-ttl", label: "Cache TTL", detail: "Cycle ephemeral or persistent cache TTL for stable content.", key: "cache.stableTtl", visibleWhenKey: "cache.enabled", visibleWhenValue: true }),
|
|
905161
905177
|
settingAction({ id: "account-cache-monitor", label: "Cache hit-rate monitor", detail: "Toggle cache hit-rate monitoring.", key: "cache.monitorHitRate", visibleWhenKey: "cache.enabled", visibleWhenValue: true }),
|
|
@@ -905183,31 +905199,21 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905183
905199
|
id: "tools-permissions",
|
|
905184
905200
|
group: "ONBOARDING",
|
|
905185
905201
|
label: "Tools & Permissions",
|
|
905186
|
-
summary: "Set approval policy
|
|
905187
|
-
detail: "
|
|
905202
|
+
summary: "Set approval policy and core file/shell/network permissions.",
|
|
905203
|
+
detail: "Most users only need Permission mode and Auto-approve. The rest stay at safe defaults unless you change them.",
|
|
905188
905204
|
actions: [
|
|
905189
905205
|
settingAction({ id: "permissions-mode", label: "Permission mode", detail: "Cycle prompt, allow-all, or custom permission mode.", key: "permissions.mode" }),
|
|
905190
905206
|
settingAction({ id: "permissions-auto-approve", label: "Auto-approve tools", detail: "Toggle automatic approval for all tool permission requests.", key: "behavior.autoApprove" }),
|
|
905191
905207
|
settingAction({ id: "permissions-read", label: "File reads", detail: "Cycle allow, prompt, or deny for file read operations.", key: "permissions.tools.read" }),
|
|
905192
|
-
settingAction({ id: "permissions-find", label: "File search", detail: "Cycle allow, prompt, or deny for file and directory search operations.", key: "permissions.tools.find" }),
|
|
905193
905208
|
settingAction({ id: "permissions-write", label: "File writes", detail: "Cycle allow, prompt, or deny for file write operations.", key: "permissions.tools.write" }),
|
|
905194
905209
|
settingAction({ id: "permissions-edit", label: "File edits", detail: "Cycle allow, prompt, or deny for edit and patch operations.", key: "permissions.tools.edit" }),
|
|
905195
905210
|
settingAction({ id: "permissions-exec", label: "Shell commands", detail: "Cycle allow, prompt, or deny for shell execution.", key: "permissions.tools.exec" }),
|
|
905196
905211
|
settingAction({ id: "permissions-fetch", label: "Network fetches", detail: "Cycle allow, prompt, or deny for outbound fetch requests.", key: "permissions.tools.fetch" }),
|
|
905197
|
-
|
|
905198
|
-
|
|
905199
|
-
|
|
905200
|
-
settingAction({ id: "permissions-registry", label: "Registry reads", detail: "Cycle allow, prompt, or deny for tool and skill registry queries.", key: "permissions.tools.registry" }),
|
|
905201
|
-
settingAction({ id: "permissions-mcp", label: "MCP tools", detail: "Cycle allow, prompt, or deny for external MCP tool calls.", key: "permissions.tools.mcp" }),
|
|
905202
|
-
settingAction({ id: "permissions-agent", label: "Agent delegation", detail: "Cycle allow, prompt, or deny for subagent and delegation operations.", key: "permissions.tools.agent" }),
|
|
905203
|
-
settingAction({ id: "permissions-workflow", label: "Workflow automation", detail: "Cycle allow, prompt, or deny for multi-step workflow automation.", key: "permissions.tools.workflow" }),
|
|
905204
|
-
settingAction({ id: "permissions-delegate", label: "Unknown tools", detail: "Cycle allow, prompt, or deny for unknown or unregistered tools.", key: "permissions.tools.delegate" }),
|
|
905205
|
-
{ id: "onboarding-mcp-server", label: "Add MCP server", detail: "Add or update one MCP server with command, args, role, trust, env refs, paths, and hosts.", editorKind: "mcp-server", kind: "editor", safety: "safe" },
|
|
905206
|
-
{ id: "onboarding-secret-link", label: "Link secret reference", detail: "Link one config key to a goodvibes secret reference.", editorKind: "secret-link", kind: "editor", safety: "safe" },
|
|
905207
|
-
{ id: "onboarding-secret-test", label: "Test secret reference", detail: "Check one stored secret reference without printing the value.", editorKind: "secret-test", kind: "editor", safety: "safe" },
|
|
905212
|
+
{ id: "onboarding-mcp-server", label: "Add an MCP server", detail: "Add or update one MCP server with command, args, role, trust, env refs, paths, and hosts.", editorKind: "mcp-server", kind: "editor", safety: "safe" },
|
|
905213
|
+
{ id: "onboarding-secret-link", label: "Link a secret reference", detail: "Link one config key to a goodvibes secret reference.", editorKind: "secret-link", kind: "editor", safety: "safe" },
|
|
905214
|
+
{ id: "onboarding-secret-test", label: "Test a secret reference", detail: "Check one stored secret reference without printing the value.", editorKind: "secret-test", kind: "editor", safety: "safe" },
|
|
905208
905215
|
settingAction({ id: "tools-auto-heal", label: "Tool auto-heal", detail: "Toggle automatic syntax repair for precision write and edit operations.", key: "tools.autoHeal" }),
|
|
905209
905216
|
settingAction({ id: "tools-token-budget", label: "Tool token budget", detail: "Set the default token budget for precision read operations.", key: "tools.defaultTokenBudget" }),
|
|
905210
|
-
settingAction({ id: "tools-hooks-file", label: "Hooks file", detail: "Set the hook configuration file name relative to host data.", key: "tools.hooksFile" }),
|
|
905211
905217
|
settingAction({ id: "storage-artifact-limit", label: "Artifact storage limit", detail: "Set the maximum artifact size for file, URL, multipart, and raw upload ingest.", key: "storage.artifacts.maxBytes" }),
|
|
905212
905218
|
settingAction({ id: "telemetry-raw-prompts", label: "Raw prompt telemetry", detail: "Toggle raw prompt and response telemetry; leave off unless debugging locally.", key: "telemetry.includeRawPrompts" })
|
|
905213
905219
|
]
|
|
@@ -905247,7 +905253,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905247
905253
|
{ id: "personal-ops-calendar", label: "Calendar workflows", detail: "Calendar agenda and conflict checks use workflow cards with reviewed connector routes; reminders stay on confirmed schedules.", kind: "guidance", safety: "safe" },
|
|
905248
905254
|
{ id: "personal-ops-notes", label: "Scratchpad notes", detail: "Open Agent-local notes for source triage, decisions, and handoff context.", targetCategoryId: "notes", kind: "workspace", safety: "safe" },
|
|
905249
905255
|
{ id: "personal-ops-note-create", label: "Create note", detail: "Capture temporary context as an Agent-local scratchpad note.", editorKind: "note", kind: "editor", safety: "safe" },
|
|
905250
|
-
{ id: "personal-ops-host-tasks", label: "Host tasks", detail: "Inspect connected-host task state without creating, retrying, or mutating tasks.", command: "/tasks list", kind: "command", safety: "read-only" },
|
|
905251
905256
|
{ id: "personal-ops-reminder", label: "Create reminder", detail: "Create one connected reminder schedule with real timing, optional delivery target, and explicit confirmation.", editorKind: "reminder-schedule", kind: "editor", safety: "safe" },
|
|
905252
905257
|
{ id: "personal-ops-routines", label: "Routine library", detail: "Open repeatable workflows and schedule-promotion readiness.", targetCategoryId: "routines", kind: "workspace", safety: "safe" },
|
|
905253
905258
|
{ id: "personal-ops-schedules", label: "Schedules", detail: "Inspect connected schedules and promotion receipts from the automation area.", targetCategoryId: "automation", kind: "workspace", safety: "safe" },
|
|
@@ -905315,18 +905320,15 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905315
905320
|
{ id: "document-export-artifact-package", label: "Export artifact package", detail: "Open a confirmed form that copies selected saved artifacts into a workspace package directory or ZIP archive with a redacted manifest.", editorKind: "artifact-export-package", kind: "editor", safety: "safe" },
|
|
905316
905321
|
{ id: "document-draft-chat", label: "Draft in conversation", detail: "Draft or revise a document in the main conversation, then export or save the resulting artifact through the visible export routes.", kind: "guidance", safety: "safe" },
|
|
905317
905322
|
{ id: "document-attach-image", label: "Attach image", detail: "Open an in-workspace image attachment form for a local image path and optional document prompt.", editorKind: "image-input", kind: "editor", safety: "safe" },
|
|
905318
|
-
{ id: "document-paste", label: "Paste clipboard", detail: "Insert clipboard text or image into the current prompt through the TUI paste route.", command: "/paste", kind: "command", safety: "safe" },
|
|
905319
905323
|
{ id: "document-ingest-file", label: "Ingest file source", detail: "Open a confirmed form that imports one reviewed local file into isolated Agent Knowledge for document work.", editorKind: "knowledge-file", kind: "editor", safety: "safe" },
|
|
905320
905324
|
{ id: "document-ingest-url-list", label: "Import URL list", detail: "Open a confirmed form that imports a reviewed URL list into isolated Agent Knowledge.", editorKind: "knowledge-urls", kind: "editor", safety: "safe" },
|
|
905321
905325
|
{ id: "document-export-conversation", label: "Export current conversation", detail: "Open a confirmed form that exports the current Agent conversation to a workspace file.", editorKind: "conversation-export", kind: "editor", safety: "safe" },
|
|
905322
905326
|
{ id: "document-export-session", label: "Export saved session", detail: "Open a form that exports one saved Agent session transcript as markdown or text.", editorKind: "session-export-saved", kind: "editor", safety: "read-only" },
|
|
905323
|
-
{ id: "document-sources", label: "Agent Knowledge sources", detail: "List source-backed records already ingested into the isolated Agent Knowledge segment.", command: "/knowledge list --kind sources", kind: "command", safety: "read-only" },
|
|
905324
905327
|
{ id: "document-show-source", label: "Show source or node", detail: "Open an in-workspace form that shows one Agent Knowledge source, node, or issue by id.", editorKind: "knowledge-get", kind: "editor", safety: "read-only" },
|
|
905325
905328
|
{ id: "document-artifacts", label: "Artifact workspace", detail: "Open the existing artifact workspace for attachments, source ingest, generated media, and artifact safety policy.", targetCategoryId: "artifacts", kind: "workspace", safety: "safe" },
|
|
905326
905329
|
{ id: "document-browse-artifacts", label: "Browse artifacts", detail: "Search saved uploads, exports, generated media, source artifacts, and comparison artifacts from one read-only browser.", editorKind: "artifact-browser", kind: "editor", safety: "read-only" },
|
|
905327
905330
|
{ id: "document-show-artifact", label: "Show artifact", detail: "Inspect one saved artifact by id with redacted metadata and bounded text preview when possible.", editorKind: "artifact-show", kind: "editor", safety: "read-only" },
|
|
905328
905331
|
{ id: "document-promote-artifact", label: "Promote artifact to Knowledge", detail: "Open a confirmed form that ingests one saved artifact into isolated Agent Knowledge.", editorKind: "artifact-promote-knowledge", kind: "editor", safety: "safe" },
|
|
905329
|
-
{ id: "document-media-providers", label: "Media providers", detail: "Inspect configured media provider readiness without generating artifacts.", command: "/media providers", kind: "command", safety: "read-only" },
|
|
905330
905332
|
{ id: "document-generate-media", label: "Generate media artifact", detail: "Open a confirmed prompt form that generates image or video artifacts through configured media providers.", editorKind: "media-generate", kind: "editor", safety: "safe" },
|
|
905331
905333
|
{ id: "document-model-routing", label: "Model routing", detail: "Open provider/model route controls before any manual model comparison or route change.", targetCategoryId: "account-model", kind: "workspace", safety: "safe" },
|
|
905332
905334
|
{ id: "document-run-compare", label: "Run blind compare", detail: "Open a confirmed form that runs the same prompt or saved text artifact across two to four selectable models, hides candidate identities, and saves a review artifact.", editorKind: "model-compare", kind: "editor", safety: "safe" },
|
|
@@ -905355,16 +905357,13 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905355
905357
|
{ id: "artifact-insert-document", label: "Insert in document draft", detail: "Open a confirmed form that inserts a saved artifact into an Agent-owned markdown draft as a new version.", editorKind: "document-insert-artifact", kind: "editor", safety: "safe" },
|
|
905356
905358
|
{ id: "artifact-attach-document", label: "Attach to document draft", detail: "Open a confirmed form that links a saved artifact to a document draft without rewriting the body.", editorKind: "document-attach-artifact", kind: "editor", safety: "safe" },
|
|
905357
905359
|
{ id: "artifact-attach-image", label: "Attach image to prompt", detail: "Open an in-workspace image attachment form for a local image path and optional prompt.", editorKind: "image-input", kind: "editor", safety: "safe" },
|
|
905358
|
-
{ id: "artifact-paste", label: "Paste clipboard", detail: "Insert clipboard text or image into the current prompt through the TUI paste route.", command: "/paste", kind: "command", safety: "safe" },
|
|
905359
905360
|
{ id: "artifact-export-conversation", label: "Export current conversation", detail: "Open a confirmed form that exports the current Agent conversation to a workspace file.", editorKind: "conversation-export", kind: "editor", safety: "safe" },
|
|
905360
905361
|
{ id: "artifact-session-export", label: "Export saved session", detail: "Open a form that exports one saved Agent session transcript as markdown or text.", editorKind: "session-export-saved", kind: "editor", safety: "read-only" },
|
|
905361
905362
|
{ id: "artifact-ingest-file", label: "Ingest file into Agent Knowledge", detail: "Open a confirmed form that imports one local file into the isolated Agent Knowledge segment.", editorKind: "knowledge-file", kind: "editor", safety: "safe" },
|
|
905362
905363
|
{ id: "artifact-ingest-url-list", label: "Import URL list", detail: "Open a confirmed form that imports a local URL list into Agent Knowledge.", editorKind: "knowledge-urls", kind: "editor", safety: "safe" },
|
|
905363
905364
|
{ id: "artifact-import-bookmarks", label: "Import bookmarks", detail: "Open a confirmed form that imports a browser bookmark export into Agent Knowledge.", editorKind: "knowledge-bookmarks", kind: "editor", safety: "safe" },
|
|
905364
905365
|
{ id: "artifact-browser-history", label: "Import browser history", detail: "Open a confirmed form that imports local browser history/bookmarks into Agent Knowledge.", editorKind: "knowledge-browser-history", kind: "editor", safety: "safe" },
|
|
905365
|
-
{ id: "artifact-source-library", label: "Agent Knowledge sources", detail: "List source-backed records already ingested into the isolated Agent Knowledge segment.", command: "/knowledge list --kind sources", kind: "command", safety: "read-only" },
|
|
905366
905366
|
{ id: "artifact-show-source", label: "Show source or node", detail: "Open an in-workspace form that shows one Agent Knowledge source, node, or issue by id.", editorKind: "knowledge-get", kind: "editor", safety: "read-only" },
|
|
905367
|
-
{ id: "artifact-media-providers", label: "Media providers", detail: "Inspect configured media provider readiness without generating artifacts.", command: "/media providers", kind: "command", safety: "read-only" },
|
|
905368
905367
|
{ id: "artifact-generate-media", label: "Generate image or video", detail: "Open a confirmed prompt form that generates image or video artifacts through configured media providers.", editorKind: "media-generate", kind: "editor", safety: "safe" },
|
|
905369
905368
|
{ id: "artifact-review-compare", label: "Review blind compare", detail: "Open a read-only saved comparison review, side-by-side evidence view, or reviewer handoff diff for model comparison artifacts.", editorKind: "model-compare-review", kind: "editor", safety: "read-only" },
|
|
905370
905369
|
{ id: "artifact-diff-handoffs", label: "Diff reviewer handoffs", detail: "Open a read-only split-pane form that compares two saved reviewer handoff artifacts with section jump focus.", editorKind: "model-compare-handoff-diff", kind: "editor", safety: "read-only" },
|
|
@@ -905383,41 +905382,17 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905383
905382
|
detail: "Use this workspace for the main TUI conversation: context review, compaction, prompt helpers, transcript navigation, session continuity, title, export, undo, redo, and retry.",
|
|
905384
905383
|
actions: [
|
|
905385
905384
|
{ id: "conversation-return", label: "Return to composer", detail: "Close the workspace and keep working in the main Agent conversation.", kind: "guidance", safety: "safe" },
|
|
905386
|
-
{ id: "conversation-context", label: "Context usage", detail: "Inspect context-window usage, token pressure, and message breakdown.", command: "/context", kind: "command", safety: "read-only" },
|
|
905387
905385
|
{ id: "conversation-context-refs", label: "Context references", detail: "Type @file, @folder, or @https://... in the composer to add bounded context to the main Agent turn. Use !@file only when you want raw file injection.", kind: "guidance", safety: "safe" },
|
|
905388
|
-
{ id: "conversation-compact", label: "Compact conversation", detail: "Summarize the current conversation to free context while preserving useful working state.", command: "/compact", kind: "command", safety: "safe" },
|
|
905389
|
-
{ id: "conversation-title", label: "Show conversation title", detail: "Show the current conversation title. Use title-edit actions from saved session forms for naming workflows.", command: "/title", kind: "command", safety: "read-only" },
|
|
905390
905386
|
{ id: "conversation-save", label: "Save current session", detail: "Open a confirmed form that saves the current Agent session under a local name.", editorKind: "session-save", kind: "editor", safety: "safe" },
|
|
905391
|
-
{ id: "conversation-save-command", label: "Save session command", detail: "Save the current Agent session through the direct slash command.", command: "/save", kind: "command", safety: "safe" },
|
|
905392
905387
|
{ id: "conversation-load", label: "Load saved session", detail: "Open a confirmed form that loads one saved Agent session into the current conversation.", editorKind: "session-load", kind: "editor", safety: "safe" },
|
|
905393
|
-
{ id: "conversation-sessions", label: "Browse saved sessions", detail: "Browse saved Agent sessions without leaving the TUI.", command: "/sessions", kind: "command", safety: "read-only" },
|
|
905394
905388
|
{ id: "conversation-session-info", label: "Inspect saved session", detail: "Open a read-only form that prints saved-session metadata.", editorKind: "session-info", kind: "editor", safety: "read-only" },
|
|
905395
905389
|
{ id: "conversation-session-search", label: "Search saved sessions", detail: "Open a form that searches saved Agent sessions.", editorKind: "session-search", kind: "editor", safety: "read-only" },
|
|
905396
905390
|
{ id: "conversation-session-export", label: "Export saved session", detail: "Open a form that prints one saved-session transcript as markdown or text.", editorKind: "session-export-saved", kind: "editor", safety: "read-only" },
|
|
905397
905391
|
{ id: "conversation-session-delete", label: "Delete saved session", detail: "Open a confirmed form before deleting one saved Agent session.", editorKind: "session-delete", kind: "editor", safety: "safe" },
|
|
905398
905392
|
{ id: "conversation-export-current", label: "Export current conversation", detail: "Open a confirmed form that exports the current Agent conversation to a workspace file.", editorKind: "conversation-export", kind: "editor", safety: "safe" },
|
|
905399
|
-
{ id: "conversation-controls-review", label: "Review transcript", detail: "Inspect current transcript structure without changing the conversation.", command: "/conversation review", kind: "command", safety: "read-only" },
|
|
905400
905393
|
{ id: "conversation-controls-find", label: "Find transcript text", detail: "Open a search form for the current Agent transcript.", editorKind: "conversation-find", kind: "editor", safety: "read-only" },
|
|
905401
|
-
{ id: "conversation-controls-next-event", label: "Next transcript event", detail: "Jump to the next indexed transcript event.", command: "/conversation next", kind: "command", safety: "read-only" },
|
|
905402
|
-
{ id: "conversation-controls-prev-event", label: "Previous transcript event", detail: "Jump to the previous indexed transcript event.", command: "/conversation prev", kind: "command", safety: "read-only" },
|
|
905403
|
-
{ id: "conversation-bookmarks", label: "Bookmarks", detail: "List bookmarked transcript blocks.", command: "/bookmarks", kind: "command", safety: "read-only" },
|
|
905404
|
-
{ id: "conversation-paste", label: "Paste clipboard", detail: "Insert clipboard text or image into the prompt through the TUI paste route.", command: "/paste", kind: "command", safety: "safe" },
|
|
905405
905394
|
{ id: "conversation-image", label: "Attach image", detail: "Open an in-workspace image form for attaching a real image path and optional prompt.", editorKind: "image-input", kind: "editor", safety: "safe" },
|
|
905406
|
-
{ id: "conversation-
|
|
905407
|
-
{ id: "conversation-tts", label: "Speak a prompt", detail: "Open an in-workspace prompt form for spoken assistant replies through configured live TTS.", editorKind: "tts-prompt", kind: "editor", safety: "safe" },
|
|
905408
|
-
{ id: "conversation-tts-command", label: "TTS command", detail: "Submit or stop a spoken-response prompt using the direct slash command.", command: "/tts", kind: "command", safety: "safe" },
|
|
905409
|
-
{ id: "conversation-undo", label: "Undo last turn", detail: "Remove the last conversation turn from the current transcript.", command: "/undo", kind: "command", safety: "safe" },
|
|
905410
|
-
{ id: "conversation-redo", label: "Redo turn", detail: "Restore the last undone conversation turn.", command: "/redo", kind: "command", safety: "safe" },
|
|
905411
|
-
{ id: "conversation-retry", label: "Retry last message", detail: "Re-send the last user message in the main Agent conversation.", command: "/retry", kind: "command", safety: "safe" },
|
|
905412
|
-
{ id: "conversation-clear", label: "Clear display", detail: "Clear the visible transcript display while keeping model context.", command: "/clear", kind: "command", safety: "safe" },
|
|
905413
|
-
{ id: "conversation-reset", label: "Reset conversation", detail: "Clear display and model context for a fresh conversation.", command: "/reset", kind: "command", safety: "safe" },
|
|
905414
|
-
{ id: "conversation-expand", label: "Expand transcript blocks", detail: "Expand collapsed thinking, tool, code, or all transcript blocks.", command: "/expand", kind: "command", safety: "safe" },
|
|
905415
|
-
{ id: "conversation-collapse", label: "Collapse transcript blocks", detail: "Collapse thinking, tool, code, or all transcript blocks to reduce visual noise.", command: "/collapse", kind: "command", safety: "safe" },
|
|
905416
|
-
{ id: "conversation-next-error", label: "Next error", detail: "Jump to the next error-like transcript message.", command: "/next-error", kind: "command", safety: "read-only" },
|
|
905417
|
-
{ id: "conversation-prev-error", label: "Previous error", detail: "Jump to the previous error-like transcript message.", command: "/prev-error", kind: "command", safety: "read-only" },
|
|
905418
|
-
{ id: "conversation-shortcuts", label: "Keyboard shortcuts", detail: "Open the keyboard shortcuts reference.", command: "/shortcuts", kind: "command", safety: "read-only" },
|
|
905419
|
-
{ id: "conversation-keybindings", label: "Keybindings", detail: "List current keyboard bindings and their config path.", command: "/keybindings", kind: "command", safety: "read-only" },
|
|
905420
|
-
{ id: "conversation-command-browser", label: "Command browser", detail: "Open registry-driven command browsing inside the TUI.", command: "/commands", kind: "command", safety: "read-only" }
|
|
905395
|
+
{ id: "conversation-tts", label: "Speak a prompt", detail: "Open an in-workspace prompt form for spoken assistant replies through configured live TTS.", editorKind: "tts-prompt", kind: "editor", safety: "safe" }
|
|
905421
905396
|
]
|
|
905422
905397
|
},
|
|
905423
905398
|
{
|
|
@@ -905428,26 +905403,15 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905428
905403
|
detail: "Agent uses connected channel accounts. Pairing, account inspection, and readiness checks are visible here; inbound delivery and public channel exposure stay policy-gated.",
|
|
905429
905404
|
actions: [
|
|
905430
905405
|
{ id: "channel-setup-path", label: "Setup path", detail: "Use this workspace as the channel setup guide: pair companion, inspect readiness, check accounts/policies/status, review one channel, then add delivery targets only through confirmed forms.", kind: "guidance", safety: "safe" },
|
|
905431
|
-
{ id: "pair", label: "Pair companion", detail: "Open the QR pairing view for companion app setup.", command: "/pair", kind: "command", safety: "safe" },
|
|
905432
|
-
{ id: "channel-guide", label: "Channel setup guide", detail: "Show the ordered per-channel setup guide with setup schema, policy, live status, and explicit test-send steps.", command: "/channels guide", kind: "command", safety: "read-only" },
|
|
905433
|
-
{ id: "channel-readiness", label: "Channel readiness", detail: "Show the read-only readiness matrix.", command: "/channels", kind: "command", safety: "read-only" },
|
|
905434
|
-
{ id: "channel-attention", label: "Needs attention", detail: "Show enabled channels that still need setup or a delivery target.", command: "/channels attention", kind: "command", safety: "read-only" },
|
|
905435
|
-
{ id: "channel-triage", label: "Channel triage", detail: "Inspect setup blockers, delivery retry candidates, visible surface messages, route bindings, and redacted Agent receipts without sending messages.", command: "/channels triage", kind: "command", safety: "read-only" },
|
|
905436
|
-
{ id: "channel-accounts", label: "Channel accounts", detail: "Inspect connected channel accounts without printing secret values or sending messages.", command: "/channels accounts", kind: "command", safety: "read-only" },
|
|
905437
|
-
{ id: "channel-policies", label: "Channel policies", detail: "Inspect channel delivery policy posture without changing routing.", command: "/channels policies", kind: "command", safety: "read-only" },
|
|
905438
|
-
{ id: "channel-status", label: "Live channel status", detail: "Inspect channel runtime status from the connected host without mutating state.", command: "/channels status", kind: "command", safety: "read-only" },
|
|
905439
|
-
{ id: "channel-deliveries", label: "Delivery receipts", detail: "Inspect recent confirmed channel sends with message bodies and secret-bearing target values redacted.", command: "/channels deliveries", kind: "command", safety: "read-only" },
|
|
905440
905406
|
{ id: "channel-show", label: "Show channel detail", detail: "Open a channel-id form for read-only readiness details.", editorKind: "channel-show", kind: "editor", safety: "read-only" },
|
|
905441
905407
|
{ id: "channel-doctor", label: "Run channel doctor", detail: "Open a channel-id form for read-only route diagnostics.", editorKind: "channel-doctor", kind: "editor", safety: "read-only" },
|
|
905442
905408
|
{ id: "channel-setup", label: "Setup guidance", detail: "Open a channel-id form for read-only setup guidance.", editorKind: "channel-setup", kind: "editor", safety: "read-only" },
|
|
905443
|
-
{ id: "notification-routes", label: "Notification routes", detail: "Inspect configured webhook notification URLs without sending a test message.", command: "/notify list", kind: "command", safety: "read-only" },
|
|
905444
905409
|
{ id: "notification-send", label: "Send notification", detail: "Open a confirmed form that sends one plain-text message to configured Agent notification webhook targets.", editorKind: "notify-send", kind: "editor", safety: "safe" },
|
|
905445
905410
|
{ id: "channel-send", label: "Send channel message", detail: "Open a confirmed form that sends one message through a configured delivery target.", editorKind: "channel-send", kind: "editor", safety: "safe" },
|
|
905446
905411
|
{ id: "notification-add-webhook", label: "Add webhook target", detail: "Open a confirmed form that adds one webhook notification target for explicit reminder and routine delivery.", editorKind: "notify-webhook", kind: "editor", safety: "safe" },
|
|
905447
905412
|
{ id: "notification-remove-webhook", label: "Remove webhook target", detail: "Open a confirmed form that removes one exact webhook notification target from Agent delivery.", editorKind: "notify-webhook-remove", kind: "editor", safety: "safe" },
|
|
905448
905413
|
{ id: "notification-clear-webhooks", label: "Clear webhook targets", detail: "Open a confirmed form before removing every configured webhook notification target.", editorKind: "notify-webhook-clear", kind: "editor", safety: "safe" },
|
|
905449
905414
|
{ id: "notification-test-webhooks", label: "Test webhook targets", detail: "Open a confirmed form that sends one notification test to configured webhook targets only after typed confirmation.", editorKind: "notify-webhook-test", kind: "editor", safety: "safe" },
|
|
905450
|
-
{ id: "setup-review", label: "Health review", detail: "Review setup posture without changing inbound delivery or mutating channel state.", command: "/health review", kind: "command", safety: "read-only" },
|
|
905451
905415
|
{ id: "channel-safety", label: "Delivery safety", detail: "External messages, channel DMs, and public delivery targets require explicit user action and Agent policy. Agent will not silently send or expose channels from this workspace.", kind: "guidance", safety: "blocked" }
|
|
905452
905416
|
]
|
|
905453
905417
|
},
|
|
@@ -905458,27 +905422,15 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905458
905422
|
summary: "MCP server setup, trust review, and tool inventory.",
|
|
905459
905423
|
detail: "Configure and inspect task tools from the Agent TUI. Adding or changing tools requires typed confirmation; normal chat still chooses tools serially in the main conversation.",
|
|
905460
905424
|
actions: [
|
|
905461
|
-
{ id: "mcp-workspace", label: "Open MCP workspace", detail: "Open the fullscreen MCP server and tool workspace with live server status, tool list, config paths, and confirmed add/remove/reload actions.", command: "/mcp", kind: "command", safety: "safe" },
|
|
905462
|
-
{ id: "mcp-review", label: "MCP review", detail: "Inspect MCP server connection, trust, role, and quarantine posture.", command: "/mcp review", kind: "command", safety: "read-only" },
|
|
905463
|
-
{ id: "mcp-tools", label: "Tool inventory", detail: "List available MCP tools grouped by server.", command: "/mcp tools", kind: "command", safety: "read-only" },
|
|
905464
905425
|
{ id: "mcp-tools-server", label: "Server tool inventory", detail: "Open a server-name form for read-only MCP tool inventory from one server.", editorKind: "mcp-tools-server", kind: "editor", safety: "read-only" },
|
|
905465
|
-
{ id: "mcp-config", label: "Config locations", detail: "Show effective MCP config locations and source scopes without mutating them.", command: "/mcp config", kind: "command", safety: "read-only" },
|
|
905466
905426
|
{ id: "mcp-add-server", label: "Add MCP server", detail: "Open a confirmed form that adds or updates one MCP server config with scope, role, trust, env refs, paths, and hosts.", editorKind: "mcp-server", kind: "editor", safety: "safe" },
|
|
905467
|
-
{ id: "mcp-auth-review", label: "Auth review", detail: "Show MCP auth and quarantine attention without approving or changing trust.", command: "/mcp auth-review", kind: "command", safety: "read-only" },
|
|
905468
905427
|
{ id: "mcp-repair", label: "Repair guidance", detail: "Open a server-name form for read-only MCP repair guidance and next steps.", editorKind: "mcp-repair", kind: "editor", safety: "read-only" },
|
|
905469
|
-
{ id: "secret-providers", label: "Secret providers", detail: "List supported external secret reference providers without printing secret values.", command: "/secrets providers", kind: "command", safety: "read-only" },
|
|
905470
|
-
{ id: "secret-list", label: "Stored secrets", detail: "List stored secret keys and refs without printing secret values.", command: "/secrets list", kind: "command", safety: "read-only" },
|
|
905471
905428
|
{ id: "secret-set", label: "Store secret value", detail: "Open a masked, confirmed form that stores one secret value through the Agent secret manager.", editorKind: "secret-set", kind: "editor", safety: "safe" },
|
|
905472
905429
|
{ id: "secret-link", label: "Link secret ref", detail: "Open a confirmed form that links one key to a goodvibes://secrets/... external reference.", editorKind: "secret-link", kind: "editor", safety: "safe" },
|
|
905473
905430
|
{ id: "secret-test", label: "Test secret ref", detail: "Open a confirmed form that tests one secret reference while printing only redacted status.", editorKind: "secret-test", kind: "editor", safety: "safe" },
|
|
905474
905431
|
{ id: "secret-delete", label: "Delete secret", detail: "Open a confirmed form that deletes one stored secret key from the selected scope and storage mode.", editorKind: "secret-delete", kind: "editor", safety: "safe" },
|
|
905475
|
-
{ id: "trust-review", label: "Trust review", detail: "Review permission, secret, plugin, and MCP trust posture without exporting bundles or changing trust.", command: "/trust review", kind: "command", safety: "read-only" },
|
|
905476
905432
|
{ id: "trust-bundle-export", label: "Export trust bundle", detail: "Open a confirmed form that exports a redacted trust review bundle.", editorKind: "trust-bundle-export", kind: "editor", safety: "safe" },
|
|
905477
905433
|
{ id: "trust-bundle-inspect", label: "Inspect trust bundle", detail: "Open a form that inspects a trust review bundle before setup review.", editorKind: "trust-bundle-inspect", kind: "editor", safety: "read-only" },
|
|
905478
|
-
{ id: "security-review", label: "Security review", detail: "Inspect token posture, MCP attack paths, policy lint, and plugin risk without mutating security state.", command: "/security review", kind: "command", safety: "read-only" },
|
|
905479
|
-
{ id: "security-attack-paths", label: "MCP attack paths", detail: "Inspect MCP attack-path findings without changing trust or quarantine state.", command: "/security attack-paths", kind: "command", safety: "read-only" },
|
|
905480
|
-
{ id: "security-tokens", label: "Token audit", detail: "Inspect registered API token scope and rotation posture without printing token values.", command: "/security tokens", kind: "command", safety: "read-only" },
|
|
905481
|
-
{ id: "mcp-settings", label: "Settings workspace", detail: "Open settings at the MCP section for deeper review, including allow-all decisions.", command: "/settings mcp", kind: "command", safety: "safe" },
|
|
905482
905434
|
{ id: "mcp-safety", label: "Tool safety", detail: "Agent may inspect and add reviewed MCP servers by explicit command, but will not silently install packages, change trust, or expose tools from ordinary chat.", kind: "guidance", safety: "blocked" }
|
|
905483
905435
|
]
|
|
905484
905436
|
},
|
|
@@ -905489,28 +905441,18 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905489
905441
|
summary: "Agent Knowledge and source-backed lookup.",
|
|
905490
905442
|
detail: "Agent knowledge calls use the isolated Agent Knowledge route family only. Default knowledge and non-Agent knowledge segments are not the Agent knowledge environment.",
|
|
905491
905443
|
actions: [
|
|
905492
|
-
{ id: "knowledge-status", label: "Knowledge status", detail: "Inspect Agent knowledge readiness and counts.", command: "/knowledge status", kind: "command", safety: "read-only" },
|
|
905493
905444
|
{ id: "knowledge-search", label: "Search Agent knowledge", detail: "Open an in-workspace search form for the isolated Agent Knowledge index.", editorKind: "knowledge-search", kind: "editor", safety: "read-only" },
|
|
905494
905445
|
{ id: "knowledge-ingest-url", label: "Ingest URL", detail: "Open an in-workspace form that ingests a real URL into Agent Knowledge only after typed confirmation.", editorKind: "knowledge-url", kind: "editor", safety: "safe" },
|
|
905495
905446
|
{ id: "knowledge-import-urls", label: "Import URL list", detail: "Open an in-workspace form that imports a local URL list into Agent Knowledge only after typed confirmation.", editorKind: "knowledge-urls", kind: "editor", safety: "safe" },
|
|
905496
905447
|
{ id: "knowledge-ingest-file", label: "Ingest file", detail: "Open an in-workspace form that imports a local file into Agent Knowledge only after typed confirmation.", editorKind: "knowledge-file", kind: "editor", safety: "safe" },
|
|
905497
905448
|
{ id: "knowledge-import-bookmarks", label: "Import bookmarks", detail: "Open an in-workspace form that imports a browser bookmark export into Agent Knowledge after typed confirmation.", editorKind: "knowledge-bookmarks", kind: "editor", safety: "safe" },
|
|
905498
905449
|
{ id: "knowledge-import-browser-history", label: "Import browser history", detail: "Open an in-workspace form that imports local browser history/bookmarks into Agent Knowledge after typed confirmation.", editorKind: "knowledge-browser-history", kind: "editor", safety: "safe" },
|
|
905499
|
-
{ id: "knowledge-connectors", label: "Connector inventory", detail: "List Agent Knowledge connectors and readiness without ingesting anything.", command: "/knowledge connectors", kind: "command", safety: "read-only" },
|
|
905500
905450
|
{ id: "knowledge-connector-show", label: "Connector detail", detail: "Open an in-workspace form that shows one Agent Knowledge connector by id.", editorKind: "knowledge-connector-show", kind: "editor", safety: "read-only" },
|
|
905501
905451
|
{ id: "knowledge-connector-doctor", label: "Connector doctor", detail: "Open an in-workspace form that runs a read-only readiness doctor for one Agent Knowledge connector.", editorKind: "knowledge-connector-doctor", kind: "editor", safety: "read-only" },
|
|
905502
905452
|
{ id: "knowledge-ingest-connector", label: "Ingest connector input", detail: "Open an in-workspace form for explicit connector input after checking connector readiness.", editorKind: "knowledge-connector-ingest", kind: "editor", safety: "safe" },
|
|
905503
|
-
{ id: "knowledge-review-queue", label: "Review queue", detail: "Inspect source, item, and issue review work before accepting, rejecting, or resolving anything.", command: "/knowledge queue", kind: "command", safety: "read-only" },
|
|
905504
|
-
{ id: "knowledge-sources", label: "Source library", detail: "List source-backed records already ingested into the isolated Agent Knowledge segment.", command: "/knowledge list --kind sources", kind: "command", safety: "read-only" },
|
|
905505
|
-
{ id: "knowledge-nodes", label: "Node library", detail: "List indexed Agent Knowledge nodes without querying default knowledge.", command: "/knowledge list --kind nodes", kind: "command", safety: "read-only" },
|
|
905506
|
-
{ id: "knowledge-issues", label: "Issue library", detail: "List Agent Knowledge issues from the isolated Agent segment without changing review state.", command: "/knowledge list --kind issues", kind: "command", safety: "read-only" },
|
|
905507
905453
|
{ id: "knowledge-get", label: "Show item", detail: "Open an in-workspace form that shows one Agent Knowledge source, node, or issue by id.", editorKind: "knowledge-get", kind: "editor", safety: "read-only" },
|
|
905508
905454
|
{ id: "knowledge-map", label: "Knowledge map", detail: "Open an in-workspace form that summarizes the isolated Agent Knowledge graph map.", editorKind: "knowledge-map", kind: "editor", safety: "read-only" },
|
|
905509
905455
|
{ id: "knowledge-review-issue", label: "Review issue", detail: "Open a confirmed form that accepts, rejects, resolves, reopens, edits, or forgets one Agent Knowledge issue.", editorKind: "knowledge-review-issue", kind: "editor", safety: "safe" },
|
|
905510
|
-
{ id: "knowledge-candidates", label: "Consolidation candidates", detail: "Inspect Agent Knowledge consolidation candidates without running a consolidation job.", command: "/knowledge candidates", kind: "command", safety: "read-only" },
|
|
905511
|
-
{ id: "knowledge-lint", label: "Knowledge lint", detail: "Inspect Agent Knowledge lint findings.", command: "/knowledge lint", kind: "command", safety: "read-only" },
|
|
905512
|
-
{ id: "knowledge-reports", label: "Knowledge reports", detail: "Inspect recent Agent Knowledge reports without mutating knowledge.", command: "/knowledge reports", kind: "command", safety: "read-only" },
|
|
905513
|
-
{ id: "knowledge-schedules", label: "Knowledge schedules", detail: "Inspect Agent Knowledge report schedules without changing schedules.", command: "/knowledge schedules", kind: "command", safety: "read-only" },
|
|
905514
905456
|
{ id: "knowledge-packet", label: "Build prompt packet", detail: "Open an in-workspace form that builds a compact Agent Knowledge prompt packet for a task.", editorKind: "knowledge-packet", kind: "editor", safety: "read-only" },
|
|
905515
905457
|
{ id: "knowledge-explain", label: "Explain selection", detail: "Open an in-workspace form that explains which Agent Knowledge context would be selected.", editorKind: "knowledge-explain", kind: "editor", safety: "read-only" },
|
|
905516
905458
|
{ id: "knowledge-consolidate", label: "Consolidate knowledge", detail: "Open a confirmed form that runs isolated Agent Knowledge consolidation.", editorKind: "knowledge-consolidate", kind: "editor", safety: "safe" },
|
|
@@ -905528,20 +905470,12 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905528
905470
|
{ id: "voice-workflow-posture", label: "Voice workflows", detail: 'Inspect push-to-talk, voice memo transcription, spoken responses, and wake-word readiness with device action:"voice".', kind: "guidance", safety: "read-only" },
|
|
905529
905471
|
{ id: "device-capability-map", label: "Device capability map", detail: 'Inspect pairing, mobile command routing, browser/PWA, notifications, browser/desktop control, and certified camera/location readiness with device action:"status" without claiming uncertified contracts.', kind: "guidance", safety: "read-only" },
|
|
905530
905472
|
{ id: "browser-cockpit-readiness", label: "Browser/PWA readiness", detail: 'Inspect the connected browser cockpit/PWA route, certified workspace category coverage, mobile controls, and first-run receipt evidence with computer action:"browser" before opening a browser.', kind: "guidance", safety: "read-only" },
|
|
905531
|
-
{ id: "tts-config", label: "Configure live TTS", detail: "Open the settings workspace at the TTS group.", command: "/config tts", kind: "command", safety: "safe" },
|
|
905532
|
-
{ id: "tts-provider", label: "Choose TTS provider", detail: "Open provider/model routing for spoken responses through the settings flow.", command: "/config tts.provider", kind: "command", safety: "safe" },
|
|
905533
|
-
{ id: "voice-review", label: "Voice review", detail: "Inspect local voice posture before enabling spoken interaction.", command: "/voice review", kind: "command", safety: "read-only" },
|
|
905534
905473
|
{ id: "voice-enable", label: "Enable voice", detail: "Open a confirmed form that enables local voice interaction.", editorKind: "voice-enable", kind: "editor", safety: "safe" },
|
|
905535
905474
|
{ id: "voice-disable", label: "Disable voice", detail: "Open a confirmed form that disables local voice interaction.", editorKind: "voice-disable", kind: "editor", safety: "safe" },
|
|
905536
905475
|
{ id: "voice-bundle-export", label: "Export voice bundle", detail: "Open a confirmed form that exports voice setup state for review.", editorKind: "voice-bundle-export", kind: "editor", safety: "safe" },
|
|
905537
905476
|
{ id: "voice-bundle-inspect", label: "Inspect voice bundle", detail: "Open a form that inspects voice setup state before review.", editorKind: "voice-bundle-inspect", kind: "editor", safety: "read-only" },
|
|
905538
905477
|
{ id: "tts-speak", label: "Speak a prompt", detail: "Open an in-workspace prompt form for spoken assistant replies through configured live TTS.", editorKind: "tts-prompt", kind: "editor", safety: "safe" },
|
|
905539
|
-
{ id: "tts-command", label: "TTS command", detail: "Submit a prompt for spoken playback or stop current playback from the TUI.", command: "/tts", kind: "command", safety: "safe" },
|
|
905540
905478
|
{ id: "image-attach", label: "Attach image input", detail: "Open an in-workspace image form for attaching a real image path and optional prompt.", editorKind: "image-input", kind: "editor", safety: "safe" },
|
|
905541
|
-
{ id: "image-command", label: "Attach image command", detail: "Attach an image file to the next message from the TUI command router.", command: "/image", kind: "command", safety: "safe" },
|
|
905542
|
-
{ id: "media-providers", label: "Media providers", detail: "Inspect configured media provider readiness without generating artifacts.", command: "/media providers", kind: "command", safety: "read-only" },
|
|
905543
|
-
{ id: "browser-tools", label: "Browser tools", detail: "Inspect browser/tool server readiness without starting inbound endpoints or mutating connected-host state.", command: "/mcp servers", kind: "command", safety: "read-only" },
|
|
905544
|
-
{ id: "voice-media-mcp-tools", label: "MCP tool inventory", detail: "List available MCP tools, including browser and automation roles, without changing server trust or setup.", command: "/mcp tools", kind: "command", safety: "read-only" },
|
|
905545
905479
|
{ id: "media-generate", label: "Generate media", detail: "Open a confirmed prompt form that generates image or video artifacts through configured media providers.", editorKind: "media-generate", kind: "editor", safety: "safe" },
|
|
905546
905480
|
{ id: "browser-research", label: "Research the web", detail: "Submit a read-only web research request to the main Agent conversation.", editorKind: "web-research", kind: "editor", safety: "read-only" },
|
|
905547
905481
|
{ id: "browser-url", label: "Inspect URL", detail: "Submit one URL inspection request to the main Agent conversation without ingesting it.", editorKind: "web-fetch", kind: "editor", safety: "read-only" }
|
|
@@ -905554,9 +905488,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905554
905488
|
summary: "Isolated Agent homes, starter templates, and setup bundles.",
|
|
905555
905489
|
detail: "Agent profiles isolate Agent state. Named homes and starter templates let one install behave like separate assistants for household, research, travel, operations, or personal workflows.",
|
|
905556
905490
|
actions: [
|
|
905557
|
-
{ id: "runtime-profile-guide", label: "Starter authoring guide", detail: "Open the Agent-local starter authoring flow inside the Agent TUI.", command: "/agent-profile guide", kind: "command", safety: "safe" },
|
|
905558
|
-
{ id: "runtime-profile-templates", label: "Browse starter templates", detail: "List built-in and Agent-local starter templates with persona, skill, routine, and source details.", command: "/agent-profile templates", kind: "command", safety: "read-only" },
|
|
905559
|
-
{ id: "runtime-profile-list", label: "List Agent profiles", detail: "List isolated Agent profile homes under this Agent home.", command: "/agent-profile list", kind: "command", safety: "read-only" },
|
|
905560
905491
|
{ id: "runtime-profile-show", label: "Show Agent profile", detail: "Open a profile-name form that shows one isolated Agent profile home and starter metadata.", editorKind: "profile-show", kind: "editor", safety: "read-only" },
|
|
905561
905492
|
{ id: "runtime-profile-template-show", label: "Preview starter", detail: "Open an in-workspace form that previews one built-in or local starter template by id.", editorKind: "profile-template-show", kind: "editor", safety: "read-only" },
|
|
905562
905493
|
{ id: "runtime-profile-template-export", label: "Export starter template", detail: "Open an in-workspace form that exports a starter template JSON file for review and customization.", editorKind: "profile-template-export", kind: "editor", safety: "safe" },
|
|
@@ -905577,11 +905508,9 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905577
905508
|
summary: "Local assistant memory, notes, routines, skills, and reusable behavior.",
|
|
905578
905509
|
detail: "Memory, notes, routines, skills, and personas stay Agent-local until stable shared registry contracts exist. Secrets must not be stored as memory or notes.",
|
|
905579
905510
|
actions: [
|
|
905580
|
-
{ id: "memory-list", label: "List memory", detail: "Print the full Agent-owned memory list.", command: "/memory list", kind: "command", safety: "read-only" },
|
|
905581
905511
|
{ id: "memory-posture", label: "Memory posture", detail: 'Inspect Agent-local memory, prompt-active recall, vector health, embedding providers, and external-memory provider gaps with memory action:"status".', kind: "guidance", safety: "read-only" },
|
|
905582
905512
|
{ id: "memory-search", label: "Search memory", detail: "Open an in-workspace Agent-local memory search form. This never queries default knowledge or other product routes.", editorKind: "memory-search", kind: "editor", safety: "read-only" },
|
|
905583
905513
|
{ id: "memory-get", label: "Show memory by id", detail: "Open an in-workspace form that prints one Agent-local memory record with provenance and links.", editorKind: "memory-get", kind: "editor", safety: "read-only" },
|
|
905584
|
-
{ id: "memory-queue", label: "Review queue", detail: "Print the Agent-local memory review queue.", command: "/memory queue", kind: "command", safety: "read-only" },
|
|
905585
905514
|
{ id: "memory-learning-curator", label: "Learning curator", detail: "Inspect ranked local memory, note, persona, skill, bundle, routine, duplicate-consolidation, completed-work, completed-research, and saved-session candidates with review, setup, stale, proposal, capture, diff, and rollback routes.", kind: "guidance", safety: "read-only" },
|
|
905586
905515
|
{ id: "memory-prompt-plan", label: "Prompt plan", detail: "Explain which reviewed memories and setup-ready behaviors can guide the assistant now, what is suppressed, and which scored review routes should run before prompt context expands.", kind: "guidance", safety: "read-only" },
|
|
905587
905516
|
{ id: "memory-explain", label: "Explain selection", detail: "Preview which reviewed Agent-local memories would be selected for a task.", editorKind: "memory-explain", kind: "editor", safety: "read-only" },
|
|
@@ -905602,8 +905531,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905602
905531
|
{ id: "memory-handoff-export", label: "Export handoff bundle", detail: "Open a confirmed form that exports a scoped Agent-local memory handoff bundle.", editorKind: "memory-handoff-export", kind: "editor", safety: "safe" },
|
|
905603
905532
|
{ id: "memory-handoff-inspect", label: "Inspect handoff bundle", detail: "Open a form that inspects a memory handoff bundle before import.", editorKind: "memory-handoff-inspect", kind: "editor", safety: "read-only" },
|
|
905604
905533
|
{ id: "memory-handoff-import", label: "Import handoff bundle", detail: "Open a confirmed form that imports a reviewed handoff bundle into Agent-local memory.", editorKind: "memory-handoff-import", kind: "editor", safety: "safe" },
|
|
905605
|
-
{ id: "memory-vector-status", label: "Vector status", detail: "Inspect the Agent-local memory vector index status.", command: "/memory vector status", kind: "command", safety: "read-only" },
|
|
905606
|
-
{ id: "memory-vector-doctor", label: "Vector doctor", detail: "Inspect Agent-local memory vector index health.", command: "/memory vector doctor", kind: "command", safety: "read-only" },
|
|
905607
905534
|
{ id: "memory-vector-rebuild", label: "Rebuild vector index", detail: "Open a confirmed form that rebuilds the Agent-local memory vector index.", editorKind: "memory-vector-rebuild", kind: "editor", safety: "safe" },
|
|
905608
905535
|
{ id: "personas", label: "Persona library", detail: "Open the local persona workspace for active role selection and review.", targetCategoryId: "personas", kind: "workspace", safety: "safe" },
|
|
905609
905536
|
{ id: "skills", label: "Local skill library", detail: "Open the local skill workspace for reusable procedures and review.", targetCategoryId: "skills", kind: "workspace", safety: "safe" },
|
|
@@ -905640,15 +905567,8 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905640
905567
|
summary: "VIBE.md personality and local behavior profiles for the main assistant.",
|
|
905641
905568
|
detail: "VIBE.md is the friendly personality file for the serial Agent. Personas remain local behavior profiles, not separate Agent identities.",
|
|
905642
905569
|
actions: [
|
|
905643
|
-
{ id: "vibe-status", label: "VIBE.md status", detail: "Show project/global VIBE.md files that will shape later main-conversation turns, including blocked files.", command: "/vibe status", kind: "command", safety: "read-only" },
|
|
905644
|
-
{ id: "vibe-init-project", label: "Create project VIBE.md", detail: "Preview creation of a project VIBE.md personality file in the current workspace.", command: "/vibe init", kind: "command", safety: "read-only" },
|
|
905645
|
-
{ id: "vibe-init-global", label: "Create global VIBE.md", detail: "Preview creation of a global Agent VIBE.md personality file under the Agent home.", command: "/vibe init --global", kind: "command", safety: "read-only" },
|
|
905646
|
-
{ id: "vibe-import-persona", label: "Import VIBE as persona", detail: "Preview importing VIBE.md into the reviewed local persona library for explicit activation/review workflows.", command: "/vibe import-persona project", kind: "command", safety: "read-only" },
|
|
905647
|
-
{ id: "personas-list", label: "List personas", detail: "Print the full local persona library.", command: "/personas list", kind: "command", safety: "read-only" },
|
|
905648
|
-
{ id: "personas-active", label: "Show active persona", detail: "Inspect the active local persona applied to new turns.", command: "/personas active", kind: "command", safety: "read-only" },
|
|
905649
905570
|
{ id: "personas-search", label: "Search personas", detail: "Open a search form for the local persona library.", editorKind: "persona-search", kind: "editor", safety: "read-only" },
|
|
905650
905571
|
{ id: "personas-show", label: "Show persona", detail: "Open a persona-id form for read-only local persona detail.", editorKind: "persona-show", kind: "editor", safety: "read-only" },
|
|
905651
|
-
{ id: "personas-discover", label: "Discover persona files", detail: "Scan project and global Agent persona folders for persona markdown without importing it.", command: "/personas discover", kind: "command", safety: "read-only" },
|
|
905652
905572
|
{ id: "personas-import-discovered", label: "Import discovered persona", detail: "Open an in-workspace form that imports one reviewed persona markdown file into the Agent-local persona registry after typed confirmation.", editorKind: "persona-discovery-import", kind: "editor", safety: "safe" },
|
|
905653
905573
|
{ id: "personas-prev", label: "Previous persona", detail: "Move the local persona selection up without changing active state.", localKind: "persona", selectionDelta: -1, kind: "local-selection", safety: "safe" },
|
|
905654
905574
|
{ id: "personas-next", label: "Next persona", detail: "Move the local persona selection down without changing active state.", localKind: "persona", selectionDelta: 1, kind: "local-selection", safety: "safe" },
|
|
@@ -905667,15 +905587,9 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905667
905587
|
summary: "Reusable local procedures with setup readiness.",
|
|
905668
905588
|
detail: "Skills are local, reviewable procedures with optional env/command requirements. Enabled skills inform the main conversation; secret-looking content is rejected.",
|
|
905669
905589
|
actions: [
|
|
905670
|
-
{ id: "skills-list", label: "List skills", detail: "Print the full Agent-local skill library.", command: "/skills list", kind: "command", safety: "read-only" },
|
|
905671
|
-
{ id: "skills-enabled", label: "Enabled skills", detail: "Show only skills currently injected into Agent guidance.", command: "/skills enabled", kind: "command", safety: "read-only" },
|
|
905672
|
-
{ id: "skills-attention", label: "Needs setup", detail: "Show local skills whose env or command requirements are not ready.", command: "/skills attention", kind: "command", safety: "read-only" },
|
|
905673
905590
|
{ id: "skills-search", label: "Search skills", detail: "Open a search form for Agent-local skills.", editorKind: "skill-search", kind: "editor", safety: "read-only" },
|
|
905674
905591
|
{ id: "skills-show", label: "Show skill", detail: "Open a skill-id form for read-only local skill detail.", editorKind: "skill-show", kind: "editor", safety: "read-only" },
|
|
905675
|
-
{ id: "skills-discover", label: "Discover skill files", detail: "Scan project and global Agent skill folders for SKILL.md or .md skills without importing them.", command: "/skills discover", kind: "command", safety: "read-only" },
|
|
905676
905592
|
{ id: "skills-import-discovered", label: "Import discovered skill", detail: "Open an in-workspace form that imports one reviewed discovered skill file into the Agent-local skill registry after typed confirmation.", editorKind: "skill-discovery-import", kind: "editor", safety: "safe" },
|
|
905677
|
-
{ id: "skills-bundles", label: "Skill bundles", detail: "List reviewable groups of local skills that can be enabled together.", command: "/skills bundle list", kind: "command", safety: "read-only" },
|
|
905678
|
-
{ id: "skills-bundle-attention", label: "Bundle setup gaps", detail: "Show skill bundles whose member skills have missing env or command requirements.", command: "/skills bundle attention", kind: "command", safety: "read-only" },
|
|
905679
905593
|
{ id: "skills-create-bundle", label: "Create bundle", detail: "Open an in-workspace form that creates a named skill bundle from existing local skill ids.", editorKind: "skill-bundle", kind: "editor", safety: "safe" },
|
|
905680
905594
|
{ id: "skills-search-bundle", label: "Search bundles", detail: "Open an in-workspace form that searches Agent-local skill bundles.", editorKind: "skill-bundle-search", kind: "editor", safety: "read-only" },
|
|
905681
905595
|
{ id: "skills-show-bundle", label: "Show bundle", detail: "Open an in-workspace form that shows one Agent-local skill bundle by id.", editorKind: "skill-bundle-show", kind: "editor", safety: "read-only" },
|
|
@@ -905704,12 +905618,8 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905704
905618
|
actions: [
|
|
905705
905619
|
{ id: "routines-setup-path", label: "Routine setup path", detail: "Create or import a routine, resolve setup gaps, review it, then start it in the main conversation or promote it explicitly to a connected schedule.", kind: "guidance", safety: "safe" },
|
|
905706
905620
|
{ id: "routines-next-action", label: "Next routine action", detail: "Use the detail pane to choose the next useful routine step from local readiness, review state, and promotion receipts.", kind: "guidance", safety: "safe" },
|
|
905707
|
-
{ id: "routines-list", label: "List routines", detail: "Print the full Agent-local routine library.", command: "/routines list", kind: "command", safety: "read-only" },
|
|
905708
|
-
{ id: "routines-enabled", label: "Enabled routines", detail: "Show routines available for direct use.", command: "/routines enabled", kind: "command", safety: "read-only" },
|
|
905709
|
-
{ id: "routines-attention", label: "Needs setup", detail: "Show local routines whose env or command requirements are not ready.", command: "/routines attention", kind: "command", safety: "read-only" },
|
|
905710
905621
|
{ id: "routines-search", label: "Search routines", detail: "Open a search form for Agent-local routines.", editorKind: "routine-search", kind: "editor", safety: "read-only" },
|
|
905711
905622
|
{ id: "routines-show", label: "Show routine", detail: "Open a routine-id form for read-only local routine detail.", editorKind: "routine-show", kind: "editor", safety: "read-only" },
|
|
905712
|
-
{ id: "routines-discover", label: "Discover routine files", detail: "Scan project and global Agent routine folders for routine markdown without importing it.", command: "/routines discover", kind: "command", safety: "read-only" },
|
|
905713
905623
|
{ id: "routines-import-discovered", label: "Import discovered routine", detail: "Open an in-workspace form that imports one reviewed routine markdown file into the Agent-local routine registry after typed confirmation.", editorKind: "routine-discovery-import", kind: "editor", safety: "safe" },
|
|
905714
905624
|
{ id: "routines-prev", label: "Previous routine", detail: "Move the local routine selection up without changing enabled state.", localKind: "routine", selectionDelta: -1, kind: "local-selection", safety: "safe" },
|
|
905715
905625
|
{ id: "routines-next", label: "Next routine", detail: "Move the local routine selection down without changing enabled state.", localKind: "routine", selectionDelta: 1, kind: "local-selection", safety: "safe" },
|
|
@@ -905721,7 +905631,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905721
905631
|
{ id: "routines-review", label: "Review selected", detail: "Mark the selected local routine reviewed after inspecting it.", localKind: "routine", localOperation: "routine-review", kind: "local-operation", safety: "safe" },
|
|
905722
905632
|
{ id: "routines-delete", label: "Delete selected", detail: "Open a confirmation form before deleting the selected Agent-local routine.", localKind: "routine", localOperation: "routine-delete", kind: "local-operation", safety: "safe" },
|
|
905723
905633
|
{ id: "routines-promote", label: "Promote to schedule", detail: "Open an in-workspace form that creates one connected schedule from the selected routine with real timing and confirmation.", editorKind: "routine-schedule", kind: "editor", safety: "safe" },
|
|
905724
|
-
{ id: "routines-receipts", label: "Promotion receipts", detail: "Inspect local redacted routine schedule promotion receipts.", command: "/routines receipts", kind: "command", safety: "read-only" },
|
|
905725
905634
|
{ id: "routines-receipt", label: "Show promotion receipt", detail: "Open a receipt-id form for read-only routine promotion receipt detail.", editorKind: "routine-receipt", kind: "editor", safety: "read-only" }
|
|
905726
905635
|
]
|
|
905727
905636
|
},
|
|
@@ -905736,12 +905645,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905736
905645
|
{ id: "work-background-processes", label: "Background processes", detail: 'Inspect tracked local background processes, bounded output tails, visible monitor routes, and lifecycle controls with execution action:"processes".', kind: "guidance", safety: "read-only" },
|
|
905737
905646
|
{ id: "work-process-capabilities", label: "Process capabilities", detail: "Inspect process parity for start/list/poll/wait/log/kill/write, PTY, and sudo before choosing a local execution route.", kind: "guidance", safety: "read-only" },
|
|
905738
905647
|
{ id: "conversation-export", label: "Export conversation", detail: "Open a confirmed form that exports the current Agent conversation to a workspace file.", editorKind: "conversation-export", kind: "editor", safety: "safe" },
|
|
905739
|
-
{ id: "conversation-review", label: "Review transcript", detail: "Inspect current transcript structure without changing the conversation.", command: "/conversation review", kind: "command", safety: "read-only" },
|
|
905740
|
-
{ id: "conversation-composer", label: "Composer posture", detail: "Inspect current composer mode, pending approval posture, and context warning state.", command: "/conversation composer", kind: "command", safety: "read-only" },
|
|
905741
|
-
{ id: "conversation-hotspots", label: "Transcript hotspots", detail: "Show transcript event hotspots from the Agent workspace.", command: "/conversation hotspots", kind: "command", safety: "read-only" },
|
|
905742
|
-
{ id: "conversation-next-event", label: "Next event", detail: "Jump to the next indexed transcript event from the Agent workspace.", command: "/conversation next", kind: "command", safety: "read-only" },
|
|
905743
|
-
{ id: "conversation-prev-event", label: "Previous event", detail: "Jump to the previous indexed transcript event from the Agent workspace.", command: "/conversation prev", kind: "command", safety: "read-only" },
|
|
905744
|
-
{ id: "conversation-restore", label: "Restore review", detail: "Inspect restore-relevant transcript events before resuming or loading sessions.", command: "/conversation restore", kind: "command", safety: "read-only" },
|
|
905745
905648
|
{ id: "conversation-events", label: "Transcript events", detail: "Open an event-kind form for read-only transcript event inspection.", editorKind: "conversation-events", kind: "editor", safety: "read-only" },
|
|
905746
905649
|
{ id: "conversation-groups", label: "Transcript groups", detail: "Open an event-kind form for read-only transcript group inspection.", editorKind: "conversation-groups", kind: "editor", safety: "read-only" },
|
|
905747
905650
|
{ id: "conversation-find", label: "Find transcript text", detail: "Open a search form for the current Agent transcript.", editorKind: "conversation-find", kind: "editor", safety: "read-only" },
|
|
@@ -905755,12 +905658,9 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905755
905658
|
{ id: "session-export-saved", label: "Export saved session", detail: "Open a form that prints one saved-session transcript as markdown or text.", editorKind: "session-export-saved", kind: "editor", safety: "read-only" },
|
|
905756
905659
|
{ id: "session-search", label: "Search saved sessions", detail: "Open a form that searches saved Agent sessions.", editorKind: "session-search", kind: "editor", safety: "read-only" },
|
|
905757
905660
|
{ id: "session-delete", label: "Delete saved session", detail: "Open a confirmed form before deleting one saved Agent session.", editorKind: "session-delete", kind: "editor", safety: "safe" },
|
|
905758
|
-
{ id: "tasks-list", label: "Host tasks", detail: "Inspect connected-host task state without creating, retrying, or mutating tasks.", command: "/tasks list", kind: "command", safety: "read-only" },
|
|
905759
905661
|
{ id: "tasks-filter", label: "Filter host tasks", detail: "Open a status/kind form for read-only connected-host task filtering.", editorKind: "task-list-filter", kind: "editor", safety: "read-only" },
|
|
905760
905662
|
{ id: "task-show", label: "Inspect host task", detail: "Open a task-id form for read-only connected-host task metadata.", editorKind: "task-show", kind: "editor", safety: "read-only" },
|
|
905761
905663
|
{ id: "task-output", label: "Show task output", detail: "Open a task-id form for read-only connected-host task output.", editorKind: "task-output", kind: "editor", safety: "read-only" },
|
|
905762
|
-
{ id: "sessions-list", label: "Saved sessions", detail: "Browse saved Agent sessions without leaving the TUI.", command: "/sessions", kind: "command", safety: "read-only" },
|
|
905763
|
-
{ id: "approvals", label: "Review approvals", detail: "Print the approval matrix without approving or denying requests.", command: "/approval matrix", kind: "command", safety: "read-only" },
|
|
905764
905664
|
{ id: "approval-review", label: "Review approval class", detail: "Open an approval-kind form for read-only review of one approval class.", editorKind: "approval-review", kind: "editor", safety: "read-only" },
|
|
905765
905665
|
{ id: "approval-approve", label: "Approve request", detail: "Open a confirmed form for approving one pending connected-host approval request by id.", editorKind: "approval-approve", kind: "editor", safety: "safe" },
|
|
905766
905666
|
{ id: "approval-deny", label: "Deny request", detail: "Open a confirmed form for denying one pending connected-host approval request by id.", editorKind: "approval-deny", kind: "editor", safety: "safe" },
|
|
@@ -905779,7 +905679,6 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905779
905679
|
{ id: "schedule-autonomy-queue", label: "Autonomy queue", detail: "Inspect visible reminder, routine promotion, connected schedule, automation run, and cancellation routes.", kind: "guidance", safety: "read-only" },
|
|
905780
905680
|
{ id: "schedule-next-action", label: "Next schedule action", detail: "Use the detail pane to choose whether to create a reminder, prepare a routine, promote a routine, or reconcile existing receipts.", kind: "guidance", safety: "safe" },
|
|
905781
905681
|
{ id: "schedule-reminder", label: "Create reminder", detail: "Open an in-workspace form that creates one connected reminder schedule with real timing, optional delivery target, and explicit confirmation.", editorKind: "reminder-schedule", kind: "editor", safety: "safe" },
|
|
905782
|
-
{ id: "schedule-list", label: "List schedules", detail: "Inspect configured jobs and history without running or mutating them.", command: "/schedule list", kind: "command", safety: "read-only" },
|
|
905783
905682
|
{ id: "schedule-edit", label: "Edit schedule", detail: "Open a confirmed form that edits one connected schedule name, cadence, or prompt by id.", editorKind: "schedule-edit", kind: "editor", safety: "safe" },
|
|
905784
905683
|
{ id: "automation-job-run", label: "Run job now", detail: "Open a confirmed form that runs one connected-host automation job by id.", editorKind: "automation-job-run", kind: "editor", safety: "safe" },
|
|
905785
905684
|
{ id: "automation-job-pause", label: "Pause job", detail: "Open a confirmed form that pauses one connected-host automation job by id.", editorKind: "automation-job-pause", kind: "editor", safety: "safe" },
|
|
@@ -905788,12 +905687,9 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905788
905687
|
{ id: "automation-run-retry", label: "Retry run", detail: "Open a confirmed form that retries one connected-host automation run by id.", editorKind: "automation-run-retry", kind: "editor", safety: "safe" },
|
|
905789
905688
|
{ id: "schedule-run", label: "Run schedule now", detail: "Open a confirmed form that triggers one connected-host schedule by id.", editorKind: "schedule-run", kind: "editor", safety: "safe" },
|
|
905790
905689
|
{ id: "schedule-promote-routine", label: "Promote routine", detail: "Open an in-workspace form that creates one connected schedule from an Agent-local routine with real timing, optional delivery target, and explicit confirmation.", editorKind: "routine-schedule", kind: "editor", safety: "safe" },
|
|
905791
|
-
{ id: "schedule-receipts", label: "Promotion receipts", detail: "Review local redacted receipt history for routine-to-schedule promotion attempts.", command: "/schedule receipts", kind: "command", safety: "read-only" },
|
|
905792
905690
|
{ id: "schedule-receipt", label: "Show receipt", detail: "Open a receipt-id form for read-only schedule receipt detail.", editorKind: "schedule-receipt", kind: "editor", safety: "read-only" },
|
|
905793
|
-
{ id: "schedule-reconcile", label: "Reconcile schedules", detail: "Compare local promotion receipts with live connected schedules using schedules.list.", command: "/schedule reconcile", kind: "command", safety: "read-only" },
|
|
905794
905691
|
{ id: "schedule-delivery-targets", label: "Delivery targets", detail: "Open Channels to pair companion surfaces, inspect route readiness, and add explicit notification targets before reminder delivery.", targetCategoryId: "channels", kind: "workspace", safety: "safe" },
|
|
905795
905692
|
{ id: "schedule-policy", label: "Local scheduler blocked", detail: "Local schedule creation remains blocked. Connected edit, run, enable, disable, and delete actions use explicit confirmed forms only.", kind: "guidance", safety: "blocked" },
|
|
905796
|
-
{ id: "health-services", label: "Host status", detail: "Inspect connected-host readiness without starting, stopping, or restarting anything.", command: "/health review", kind: "command", safety: "read-only" },
|
|
905797
905693
|
{ id: "health-repair", label: "Health repair guidance", detail: "Open a domain form for read-only health repair guidance.", editorKind: "health-repair", kind: "editor", safety: "read-only" }
|
|
905798
905694
|
]
|
|
905799
905695
|
},
|
|
@@ -905806,8 +905702,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
905806
905702
|
actions: [
|
|
905807
905703
|
{ id: "delegate-guidance", label: "Delegation rule", detail: "For build/fix/review work, delegate only when isolation, remote execution, parallelism, separate worktrees, a TUI workflow, or explicit review improves the user outcome.", kind: "guidance", safety: "delegates" },
|
|
905808
905704
|
{ id: "delegate-task", label: "Delegate build task", detail: "Open a confirmed form that sends one explicit build/fix/review task and handoff brief to GoodVibes TUI/shared-session routes.", editorKind: "delegate-task", kind: "editor", safety: "delegates" },
|
|
905809
|
-
{ id: "review-command", label: "Review delegation command", detail: "Use the confirmed delegation form only when the user explicitly asks for code review/build execution. Include the actual task text, preserve the full original ask, and request delegated review only when asked.", kind: "guidance", safety: "delegates" }
|
|
905810
|
-
{ id: "delegation-status", label: "Delegation status", detail: "Inspect build-delegation receipts and shared-session status without starting coding work.", command: "/delegate status", kind: "command", safety: "read-only" }
|
|
905705
|
+
{ id: "review-command", label: "Review delegation command", detail: "Use the confirmed delegation form only when the user explicitly asks for code review/build execution. Include the actual task text, preserve the full original ask, and request delegated review only when asked.", kind: "guidance", safety: "delegates" }
|
|
905811
905706
|
]
|
|
905812
905707
|
},
|
|
905813
905708
|
{
|
|
@@ -951587,29 +951482,6 @@ function buildLeftRows2(workspace, height) {
|
|
|
951587
951482
|
visibleRows.push({ text: "", kind: "empty" });
|
|
951588
951483
|
return visibleRows.slice(0, height);
|
|
951589
951484
|
}
|
|
951590
|
-
function actionCommand(action2) {
|
|
951591
|
-
if (action2.kind === "workspace")
|
|
951592
|
-
return "open area";
|
|
951593
|
-
if (action2.kind === "editor")
|
|
951594
|
-
return action2.editorKind ? `edit ${action2.editorKind}` : "edit form";
|
|
951595
|
-
if (action2.kind === "setting")
|
|
951596
|
-
return action2.settingKey ? `setting ${action2.settingKey}` : "setting";
|
|
951597
|
-
if (action2.kind === "settings-import")
|
|
951598
|
-
return "import GoodVibes settings";
|
|
951599
|
-
if (action2.kind === "setup-checkpoint")
|
|
951600
|
-
return action2.setupCheckpointOperation ? `setup checkpoint ${action2.setupCheckpointOperation}` : "setup checkpoint";
|
|
951601
|
-
if (action2.kind === "model-picker")
|
|
951602
|
-
return action2.modelPickerFlow === "model" ? "model picker" : "provider/model picker";
|
|
951603
|
-
if (action2.kind === "settings-modal")
|
|
951604
|
-
return action2.settingsTarget ? `settings ${action2.settingsTarget}` : "settings";
|
|
951605
|
-
if (action2.kind === "local-selection")
|
|
951606
|
-
return action2.selectionDelta && action2.selectionDelta < 0 ? "select previous" : "select next";
|
|
951607
|
-
if (action2.kind === "local-operation")
|
|
951608
|
-
return action2.localOperation ?? "(local action)";
|
|
951609
|
-
if (action2.kind === "onboarding-complete")
|
|
951610
|
-
return "apply and close";
|
|
951611
|
-
return action2.command ?? "(guidance)";
|
|
951612
|
-
}
|
|
951613
951485
|
function isOnboardingCategory(category) {
|
|
951614
951486
|
return category.group === "ONBOARDING";
|
|
951615
951487
|
}
|
|
@@ -951628,19 +951500,12 @@ function onboardingActionColumns(workspace, action2) {
|
|
|
951628
951500
|
};
|
|
951629
951501
|
}
|
|
951630
951502
|
function actionChange(workspace, category, action2) {
|
|
951631
|
-
return
|
|
951503
|
+
return onboardingActionColumns(workspace, action2).setting;
|
|
951632
951504
|
}
|
|
951633
951505
|
function actionMetaLine(workspace, category, action2) {
|
|
951634
|
-
const onboarding = isOnboardingCategory(category);
|
|
951635
|
-
if (onboarding) {
|
|
951636
|
-
return {
|
|
951637
|
-
text: `About: ${compactText4(action2.detail, 100)}`,
|
|
951638
|
-
fg: action2.safety === "blocked" ? FULLSCREEN_PALETTE.warn : FULLSCREEN_PALETTE.muted
|
|
951639
|
-
};
|
|
951640
|
-
}
|
|
951641
951506
|
return {
|
|
951642
|
-
text: `
|
|
951643
|
-
fg: action2.safety === "blocked" ? FULLSCREEN_PALETTE.warn :
|
|
951507
|
+
text: `About: ${compactText4(action2.detail, 100)}`,
|
|
951508
|
+
fg: action2.safety === "blocked" ? FULLSCREEN_PALETTE.warn : FULLSCREEN_PALETTE.muted
|
|
951644
951509
|
};
|
|
951645
951510
|
}
|
|
951646
951511
|
function shouldRenderOnboardingSettingsTable(actions) {
|
|
@@ -951767,7 +951632,7 @@ function buildActionRows(workspace, width, height) {
|
|
|
951767
951632
|
return buildEditorRows(workspace.localEditor, width, height);
|
|
951768
951633
|
const category = workspace.selectedActionCategory;
|
|
951769
951634
|
const onboarding = isOnboardingCategory(category);
|
|
951770
|
-
const settingTable =
|
|
951635
|
+
const settingTable = !workspace.actionSearchActive && shouldRenderOnboardingSettingsTable(workspace.actions);
|
|
951771
951636
|
const rows = [];
|
|
951772
951637
|
const valueWidth = settingTable ? Math.min(22, Math.max(10, Math.floor(width * 0.18))) : 0;
|
|
951773
951638
|
const labelWidth = settingTable ? Math.max(18, width - valueWidth * 2 - 6) : Math.min(34, Math.max(18, Math.floor(width * 0.38)));
|