aimeat 1.22.0 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/locales/en.json +2 -0
- package/dist/locales/fi.json +2 -0
- package/dist/public/css/views/profile.css +54 -51
- package/dist/public/js/services/organisms.js +23 -11
- package/dist/public/views/profile/organisms-tab.js +27 -4
- package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/local-server.js +44 -1
- package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.d.ts +4 -0
- package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.js +22 -3
- package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
- package/dist/src/mcp/catalog/definitions.js +1 -1
- package/dist/src/mcp/catalog/definitions.js.map +1 -1
- package/dist/src/mcp/workspaces.d.ts +4 -0
- package/dist/src/mcp/workspaces.d.ts.map +1 -1
- package/dist/src/mcp/workspaces.js +24 -4
- package/dist/src/mcp/workspaces.js.map +1 -1
- package/dist/src/routes/organisms.d.ts +4 -0
- package/dist/src/routes/organisms.d.ts.map +1 -1
- package/dist/src/routes/organisms.js +6 -2
- package/dist/src/routes/organisms.js.map +1 -1
- package/dist/src/services/manifest-schema.d.ts +21 -4
- package/dist/src/services/manifest-schema.d.ts.map +1 -1
- package/dist/src/services/manifest-schema.js +30 -7
- package/dist/src/services/manifest-schema.js.map +1 -1
- package/dist/src/services/workspace-meta.d.ts +22 -0
- package/dist/src/services/workspace-meta.d.ts.map +1 -1
- package/dist/src/services/workspace-meta.js +34 -6
- package/dist/src/services/workspace-meta.js.map +1 -1
- package/package.json +1 -1
package/dist/locales/en.json
CHANGED
|
@@ -5673,6 +5673,8 @@
|
|
|
5673
5673
|
"rejected": "Rejected",
|
|
5674
5674
|
"decisions": "Recent decisions",
|
|
5675
5675
|
"noneYet": "none yet",
|
|
5676
|
+
"spaceTasksBacked": "This space points at the task system — its items are tasks, not workspace records. Manage them in the Tasks views.",
|
|
5677
|
+
"spaceBackingUnsupported": "This space's backing is not supported, so its content is not shown here. Edit the workspace (manifest) and set this space's backing to \"memory\" to restore it — files and knowledge packages attach via Sources or document images instead.",
|
|
5676
5678
|
"onePerLine": "one per line",
|
|
5677
5679
|
"docs": "docs",
|
|
5678
5680
|
"newPage": "New document",
|
package/dist/locales/fi.json
CHANGED
|
@@ -5673,6 +5673,8 @@
|
|
|
5673
5673
|
"rejected": "Hylätty",
|
|
5674
5674
|
"decisions": "Viimeisimmät päätökset",
|
|
5675
5675
|
"noneYet": "ei vielä mitään",
|
|
5676
|
+
"spaceTasksBacked": "Tämä tila osoittaa tehtäväjärjestelmään — sen sisältö on tehtäviä, ei työtilan tietueita. Hallitse niitä Tehtävät-näkymissä.",
|
|
5677
|
+
"spaceBackingUnsupported": "Tämän tilan backing-arvoa ei tueta, joten sen sisältöä ei näytetä tässä. Muokkaa työtilaa (manifestia) ja vaihda tilan backing-arvoksi \"memory\" palauttaaksesi sen — tiedostot ja tietopaketit liitetään Lähteiden tai dokumenttien kuvien kautta.",
|
|
5676
5678
|
"onePerLine": "yksi per rivi",
|
|
5677
5679
|
"docs": "dokumentit",
|
|
5678
5680
|
"newPage": "Uusi dokumentti",
|
|
@@ -2066,6 +2066,9 @@
|
|
|
2066
2066
|
/* Lift the add-actions off the panel background so they read as buttons. */
|
|
2067
2067
|
.pj-section-head .btn-outline, .pj-section-head .btn-ghost { background: var(--card); box-shadow: var(--shadow-sm); }
|
|
2068
2068
|
.pj-section-head .btn-outline:hover, .pj-section-head .btn-ghost:hover { background: var(--bg-surface); border-color: var(--text-muted); }
|
|
2069
|
+
/* A declared space whose data does not live in workspace records (backing 'tasks', or a legacy
|
|
2070
|
+
unsupported backing) — shown as a notice instead of silently dropped from the view. */
|
|
2071
|
+
.pj-space-notice { font-size: 0.88rem; color: var(--muted); padding: 0.2rem 0 0.3rem; }
|
|
2069
2072
|
.pj-draft-form { margin: 0.4rem 0; }
|
|
2070
2073
|
.pj-drafts { display: flex; flex-direction: column; gap: 0.3rem; margin-bottom: 0.3rem; }
|
|
2071
2074
|
.pj-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0; }
|
|
@@ -2327,55 +2330,55 @@
|
|
|
2327
2330
|
.md-wikilink:hover { border-bottom-style: solid; }
|
|
2328
2331
|
.md-img { max-width: 100%; height: auto; border-radius: 6px; }
|
|
2329
2332
|
@media (max-width: 640px) { .pj-docspace { flex-direction: column; } .pj-doc-index { flex: none; width: 100%; } }
|
|
2330
|
-
|
|
2331
|
-
/* ───────────────── Organisms list renew (phase 1) ─────────────────
|
|
2332
|
-
* Compact list rows + kebab menu + organism home page. All colors via theme tokens. */
|
|
2333
|
-
|
|
2334
|
-
/* Topbar action cluster (sort select + Import + Create) */
|
|
2335
|
-
.pj-org-topbar-actions { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
|
|
2336
|
-
.pj-org-sort { width: auto; }
|
|
2337
|
-
|
|
2338
|
-
/* Compact rows */
|
|
2339
|
-
.pj-org-list { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 0.75rem; }
|
|
2340
|
-
.pj-org-row { display: flex; align-items: center; flex-wrap: wrap; gap: 0.65rem; border: 1px solid var(--border); border-radius: 10px; background: var(--card); padding: 0.5rem 0.65rem; box-shadow: var(--shadow-sm); }
|
|
2341
|
-
.pj-org-row[draggable="true"] { cursor: grab; }
|
|
2342
|
-
.pj-org-row.pj-org-drag-over { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
|
|
2343
|
-
.pj-org-avatar { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; background: var(--bg-dim); color: var(--text-dim); border: 1px solid var(--border); flex: none; user-select: none; }
|
|
2344
|
-
.pj-org-avatar-lg { width: 46px; height: 46px; font-size: 1.05rem; border-radius: 11px; }
|
|
2345
|
-
.pj-org-main { flex: 1; min-width: 220px; cursor: pointer; }
|
|
2346
|
-
.pj-org-titlerow { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; min-width: 0; }
|
|
2347
|
-
.pj-org-name { font-weight: 600; font-size: 0.95rem; color: var(--text); }
|
|
2348
|
-
.pj-org-lock { font-size: 0.75rem; }
|
|
2349
|
-
.pj-org-desc { font-size: 0.78rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 48ch; }
|
|
2350
|
-
.pj-org-stats { display: flex; align-items: center; gap: 0.8rem; font-size: 0.78rem; color: var(--muted); flex: none; }
|
|
2351
|
-
.pj-org-stat { display: inline-flex; align-items: center; gap: 0.25rem; white-space: nowrap; }
|
|
2352
|
-
.pj-org-openbtn { flex: none; white-space: nowrap; }
|
|
2353
|
-
.pj-org-detail { flex-basis: 100%; border-top: 1px solid var(--border); margin-top: 0.35rem; padding-top: 0.5rem; cursor: default; }
|
|
2354
|
-
.pj-org-hint { font-size: 0.74rem; color: var(--muted); margin: -0.35rem 0 0.75rem; }
|
|
2355
|
-
|
|
2356
|
-
/* Kebab ("…") menu */
|
|
2357
|
-
.pj-menu { position: relative; flex: none; }
|
|
2358
|
-
.pj-menu-btn { font-size: 1.05rem; padding: 0.2rem 0.35rem; border-radius: 6px; }
|
|
2359
|
-
.pj-menu-btn:hover { background: var(--bg-surface); }
|
|
2360
|
-
.pj-menu-pop { position: absolute; right: 0; top: calc(100% + 4px); background: var(--card); border: 1px solid var(--border); border-radius: 8px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; min-width: 170px; z-index: 30; padding: 0.25rem; }
|
|
2361
|
-
.pj-menu-item { text-align: left; background: none; border: none; padding: 0.45rem 0.6rem; font-size: 0.83rem; color: var(--text); cursor: pointer; border-radius: 6px; white-space: nowrap; }
|
|
2362
|
-
.pj-menu-item:hover { background: var(--bg-surface); }
|
|
2363
|
-
.pj-menu-item-danger { color: var(--danger-fg); }
|
|
2364
|
-
|
|
2365
|
-
/* Organism home page */
|
|
2366
|
-
.pj-org-breadcrumb { font-size: 0.8rem; color: var(--muted); margin-bottom: 0.6rem; display: flex; align-items: center; gap: 0.35rem; }
|
|
2367
|
-
.pj-org-crumb-link { background: none; border: none; padding: 0; font-size: inherit; color: var(--accent); cursor: pointer; }
|
|
2368
|
-
.pj-org-crumb-link:hover { text-decoration: underline; }
|
|
2369
|
-
.pj-org-home-head { display: flex; align-items: flex-start; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
|
|
2370
|
-
.pj-org-home-title { flex: 1; min-width: 220px; }
|
|
2371
|
-
.pj-org-home-name { font-weight: 700; font-size: 1.25rem; color: var(--text); }
|
|
2372
|
-
.pj-org-home-desc { margin-top: 0.15rem; }
|
|
2373
|
-
.pj-org-home-actions { display: flex; gap: 0.4rem; flex: none; align-items: flex-start; }
|
|
2374
|
-
.pj-org-btn-active { border-color: var(--accent); color: var(--accent); }
|
|
2375
|
-
.pj-org-settings { margin-bottom: 0.75rem; }
|
|
2376
|
-
.pj-org-tabs { display: flex; gap: 1.1rem; border-bottom: 1px solid var(--border); margin: 0.6rem 0 1rem; flex-wrap: wrap; }
|
|
2377
|
-
.pj-org-tab { background: none; border: none; padding: 0.45rem 0.1rem; font-size: 0.88rem; color: var(--text-dim); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
|
|
2378
|
-
.pj-org-tab:hover { color: var(--text); }
|
|
2379
|
-
.pj-org-tab.active { color: var(--text); border-bottom-color: var(--accent); font-weight: 600; }
|
|
2380
|
-
.pj-org-tab-count { color: var(--muted); font-size: 0.75rem; margin-left: 0.3rem; }
|
|
2333
|
+
|
|
2334
|
+
/* ───────────────── Organisms list renew (phase 1) ─────────────────
|
|
2335
|
+
* Compact list rows + kebab menu + organism home page. All colors via theme tokens. */
|
|
2336
|
+
|
|
2337
|
+
/* Topbar action cluster (sort select + Import + Create) */
|
|
2338
|
+
.pj-org-topbar-actions { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
|
|
2339
|
+
.pj-org-sort { width: auto; }
|
|
2340
|
+
|
|
2341
|
+
/* Compact rows */
|
|
2342
|
+
.pj-org-list { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 0.75rem; }
|
|
2343
|
+
.pj-org-row { display: flex; align-items: center; flex-wrap: wrap; gap: 0.65rem; border: 1px solid var(--border); border-radius: 10px; background: var(--card); padding: 0.5rem 0.65rem; box-shadow: var(--shadow-sm); }
|
|
2344
|
+
.pj-org-row[draggable="true"] { cursor: grab; }
|
|
2345
|
+
.pj-org-row.pj-org-drag-over { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
|
|
2346
|
+
.pj-org-avatar { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; background: var(--bg-dim); color: var(--text-dim); border: 1px solid var(--border); flex: none; user-select: none; }
|
|
2347
|
+
.pj-org-avatar-lg { width: 46px; height: 46px; font-size: 1.05rem; border-radius: 11px; }
|
|
2348
|
+
.pj-org-main { flex: 1; min-width: 220px; cursor: pointer; }
|
|
2349
|
+
.pj-org-titlerow { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; min-width: 0; }
|
|
2350
|
+
.pj-org-name { font-weight: 600; font-size: 0.95rem; color: var(--text); }
|
|
2351
|
+
.pj-org-lock { font-size: 0.75rem; }
|
|
2352
|
+
.pj-org-desc { font-size: 0.78rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 48ch; }
|
|
2353
|
+
.pj-org-stats { display: flex; align-items: center; gap: 0.8rem; font-size: 0.78rem; color: var(--muted); flex: none; }
|
|
2354
|
+
.pj-org-stat { display: inline-flex; align-items: center; gap: 0.25rem; white-space: nowrap; }
|
|
2355
|
+
.pj-org-openbtn { flex: none; white-space: nowrap; }
|
|
2356
|
+
.pj-org-detail { flex-basis: 100%; border-top: 1px solid var(--border); margin-top: 0.35rem; padding-top: 0.5rem; cursor: default; }
|
|
2357
|
+
.pj-org-hint { font-size: 0.74rem; color: var(--muted); margin: -0.35rem 0 0.75rem; }
|
|
2358
|
+
|
|
2359
|
+
/* Kebab ("…") menu */
|
|
2360
|
+
.pj-menu { position: relative; flex: none; }
|
|
2361
|
+
.pj-menu-btn { font-size: 1.05rem; padding: 0.2rem 0.35rem; border-radius: 6px; }
|
|
2362
|
+
.pj-menu-btn:hover { background: var(--bg-surface); }
|
|
2363
|
+
.pj-menu-pop { position: absolute; right: 0; top: calc(100% + 4px); background: var(--card); border: 1px solid var(--border); border-radius: 8px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; min-width: 170px; z-index: 30; padding: 0.25rem; }
|
|
2364
|
+
.pj-menu-item { text-align: left; background: none; border: none; padding: 0.45rem 0.6rem; font-size: 0.83rem; color: var(--text); cursor: pointer; border-radius: 6px; white-space: nowrap; }
|
|
2365
|
+
.pj-menu-item:hover { background: var(--bg-surface); }
|
|
2366
|
+
.pj-menu-item-danger { color: var(--danger-fg); }
|
|
2367
|
+
|
|
2368
|
+
/* Organism home page */
|
|
2369
|
+
.pj-org-breadcrumb { font-size: 0.8rem; color: var(--muted); margin-bottom: 0.6rem; display: flex; align-items: center; gap: 0.35rem; }
|
|
2370
|
+
.pj-org-crumb-link { background: none; border: none; padding: 0; font-size: inherit; color: var(--accent); cursor: pointer; }
|
|
2371
|
+
.pj-org-crumb-link:hover { text-decoration: underline; }
|
|
2372
|
+
.pj-org-home-head { display: flex; align-items: flex-start; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
|
|
2373
|
+
.pj-org-home-title { flex: 1; min-width: 220px; }
|
|
2374
|
+
.pj-org-home-name { font-weight: 700; font-size: 1.25rem; color: var(--text); }
|
|
2375
|
+
.pj-org-home-desc { margin-top: 0.15rem; }
|
|
2376
|
+
.pj-org-home-actions { display: flex; gap: 0.4rem; flex: none; align-items: flex-start; }
|
|
2377
|
+
.pj-org-btn-active { border-color: var(--accent); color: var(--accent); }
|
|
2378
|
+
.pj-org-settings { margin-bottom: 0.75rem; }
|
|
2379
|
+
.pj-org-tabs { display: flex; gap: 1.1rem; border-bottom: 1px solid var(--border); margin: 0.6rem 0 1rem; flex-wrap: wrap; }
|
|
2380
|
+
.pj-org-tab { background: none; border: none; padding: 0.45rem 0.1rem; font-size: 0.88rem; color: var(--text-dim); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
|
|
2381
|
+
.pj-org-tab:hover { color: var(--text); }
|
|
2382
|
+
.pj-org-tab.active { color: var(--text); border-bottom-color: var(--accent); font-weight: 600; }
|
|
2383
|
+
.pj-org-tab-count { color: var(--muted); font-size: 0.75rem; margin-left: 0.3rem; }
|
|
2381
2384
|
.pj-org-boardrow { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
|
|
@@ -6,6 +6,16 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { api, apiGet, apiPost, apiPut, apiPatch, apiDelete } from '/js/api.js';
|
|
8
8
|
|
|
9
|
+
/** Does this space's data live in workspace memory keys (records/documents the workspace view can
|
|
10
|
+
* show)? Missing backing counts as memory. Mirrors the server's isMemoryBackedSpace — THE one
|
|
11
|
+
* frontend predicate; hand-rolled per-view variants of this check are how published content once
|
|
12
|
+
* went invisible. backing:'tasks' points at the task system; other values are legacy/unsupported. */
|
|
13
|
+
export const isMemorySpace = (ot) => !ot?.backing || ot.backing === 'memory';
|
|
14
|
+
|
|
15
|
+
/** Is this space a document space? Old manifests declared kind:'document' without a mode — honour
|
|
16
|
+
* the intent (mirrors the server's normalizeObjectTypes inference). */
|
|
17
|
+
export const isDocSpace = (ot) => ot?.mode === 'document' || (!ot?.mode && ot?.kind === 'document');
|
|
18
|
+
|
|
9
19
|
/** List organisms. */
|
|
10
20
|
export async function listOrganisms(opts = {}) {
|
|
11
21
|
const params = new URLSearchParams();
|
|
@@ -342,7 +352,9 @@ export function validateGenerated(generated) {
|
|
|
342
352
|
if (!['active', 'paused', 'done', 'archived'].includes(m.status)) errors.push('manifest.status must be one of: active, paused, done, archived');
|
|
343
353
|
const ots = Array.isArray(m.objectTypes) ? m.objectTypes : [];
|
|
344
354
|
if (ots.length === 0) errors.push('manifest.objectTypes must have at least one entry');
|
|
345
|
-
|
|
355
|
+
// 'storage'/'knowledge' are NOT valid backings: files and knowledge packages attach via workspace
|
|
356
|
+
// Sources or document images, never as a backed space (the server gate rejects them too).
|
|
357
|
+
const backings = ['memory', 'tasks'];
|
|
346
358
|
const roles = ['owner', 'admin', 'member'];
|
|
347
359
|
for (const ot of ots) {
|
|
348
360
|
const n = (ot && ot.name) || '(unnamed)';
|
|
@@ -595,8 +607,8 @@ export async function buildOrganismOverviewMermaid(orgId) {
|
|
|
595
607
|
for (const w of wsList) {
|
|
596
608
|
const ws = await getWorkspace(orgId, w.id).catch(() => null);
|
|
597
609
|
const sources = await getWorkspaceSources(orgId, w.id).catch(() => []);
|
|
598
|
-
const types = (ws?.manifest?.objectTypes || []).filter(
|
|
599
|
-
.map(o => `${o.name} (${o
|
|
610
|
+
const types = (ws?.manifest?.objectTypes || []).filter(isMemorySpace)
|
|
611
|
+
.map(o => `${o.name} (${isDocSpace(o) ? 'doc' : 'rec'})`);
|
|
600
612
|
const knowledge = sources.filter(s => s.type === 'knowledge').map(s => s.label || s.packageId);
|
|
601
613
|
wsData.push({ name: w.name || w.id, types, knowledge });
|
|
602
614
|
}
|
|
@@ -653,9 +665,9 @@ export async function buildOrganismOverviewMermaid(orgId) {
|
|
|
653
665
|
/** Chart 2 — the edit→publish lifecycle this workspace's manifest defines (deterministic). Records
|
|
654
666
|
* are schema-validated; the publish gate + the manifest's policy.alwaysGate add a review step. */
|
|
655
667
|
export function buildEditFlowMermaid(manifest, gateOn) {
|
|
656
|
-
const types = (manifest?.objectTypes || []).filter(
|
|
657
|
-
const recTypes = types.filter(o => o
|
|
658
|
-
const docTypes = types.filter(
|
|
668
|
+
const types = (manifest?.objectTypes || []).filter(isMemorySpace);
|
|
669
|
+
const recTypes = types.filter(o => !isDocSpace(o)).map(o => o.name);
|
|
670
|
+
const docTypes = types.filter(isDocSpace).map(o => o.name);
|
|
659
671
|
const alwaysGate = (manifest?.policy && manifest.policy.alwaysGate) || [];
|
|
660
672
|
|
|
661
673
|
const L = ['flowchart LR'];
|
|
@@ -684,7 +696,7 @@ export function buildEditFlowMermaid(manifest, gateOn) {
|
|
|
684
696
|
|
|
685
697
|
/** Format one objectType's full schema for the prompt's STRUCTURE block. */
|
|
686
698
|
function describeType(ot, schema) {
|
|
687
|
-
if (ot
|
|
699
|
+
if (isDocSpace(ot)) {
|
|
688
700
|
return `• ${ot.name} (document) — namespace "${ot.namespace}". Free-form markdown pages { id, title, markdown }, organised into sections (read organism.{id}.w.{ws}.meta.sections.${ot.name}).`;
|
|
689
701
|
}
|
|
690
702
|
const props = (schema && schema.properties) || {};
|
|
@@ -705,11 +717,11 @@ export async function buildAccessPrompt(orgId, orgName, wsId, ws, variant = 'hum
|
|
|
705
717
|
const nodeUrl = window.location.origin;
|
|
706
718
|
const m = ws?.manifest || {};
|
|
707
719
|
const wsName = m.name || wsId;
|
|
708
|
-
const types = (m.objectTypes || []).filter(
|
|
720
|
+
const types = (m.objectTypes || []).filter(isMemorySpace);
|
|
709
721
|
const described = [];
|
|
710
722
|
for (const ot of types) {
|
|
711
723
|
// records is the default mode (mode may be undefined) — fetch the schema unless it's a document.
|
|
712
|
-
const schema = ot
|
|
724
|
+
const schema = !isDocSpace(ot) ? await getObjectSchema(orgId, wsId, ot.namespace).catch(() => null) : null;
|
|
713
725
|
described.push(describeType(ot, schema));
|
|
714
726
|
}
|
|
715
727
|
const structure = described.join('\n') || '(no spaces declared yet)';
|
|
@@ -802,10 +814,10 @@ export async function buildContractAgentPrompt(orgId, orgName, wsId, ws) {
|
|
|
802
814
|
const nodeUrl = window.location.origin;
|
|
803
815
|
const m = ws?.manifest || {};
|
|
804
816
|
const wsName = m.name || wsId;
|
|
805
|
-
const types = (m.objectTypes || []).filter(
|
|
817
|
+
const types = (m.objectTypes || []).filter(isMemorySpace);
|
|
806
818
|
const described = [];
|
|
807
819
|
for (const ot of types) {
|
|
808
|
-
const schema = ot
|
|
820
|
+
const schema = !isDocSpace(ot) ? await getObjectSchema(orgId, wsId, ot.namespace).catch(() => null) : null;
|
|
809
821
|
described.push(describeType(ot, schema));
|
|
810
822
|
}
|
|
811
823
|
const structure = described.join('\n') || '(no spaces declared yet)';
|
|
@@ -69,6 +69,10 @@
|
|
|
69
69
|
* Nothing removed: every former card action has a new home (list "…" menu, home header, or a tab).
|
|
70
70
|
* v1.16.0 — 2026-06-10 — Row button "Open workspace" → "Open"; new 📁 workspace-count stat next to
|
|
71
71
|
* the members counter (lazy discoverWorkspaces per own org) so empty organisms are obvious.
|
|
72
|
+
* v1.17.0 — 2026-06-10 — No space silently vanishes: non-memory-backed spaces (backing 'tasks', or
|
|
73
|
+
* a legacy unsupported value like 'knowledge') render as a notice card instead of being filtered
|
|
74
|
+
* out — published content disappearing without a trace is how the invisible-documents bug hid for
|
|
75
|
+
* a month. Missing backing counts as memory; kind:'document' without mode renders as a doc space.
|
|
72
76
|
*/
|
|
73
77
|
import { h } from 'preact';
|
|
74
78
|
import { useState, useEffect, useCallback, useRef, useMemo } from 'preact/hooks';
|
|
@@ -1944,13 +1948,20 @@ function Workspace({ org, wsId, showToast, onBack }) {
|
|
|
1944
1948
|
`;
|
|
1945
1949
|
}
|
|
1946
1950
|
|
|
1947
|
-
|
|
1951
|
+
// Memory-backed spaces render normally (missing backing counts as memory — the shared service
|
|
1952
|
+
// predicate mirrors the server's). Every OTHER declared space still renders, as a notice card — a
|
|
1953
|
+
// space the manifest declares must never silently vanish from the view (that's how published
|
|
1954
|
+
// documents once became unfindable: writes succeeded, every list surface skipped the space).
|
|
1955
|
+
const allTypes = ws.manifest?.objectTypes || [];
|
|
1956
|
+
const types = allTypes.filter(orgService.isMemorySpace);
|
|
1957
|
+
const otherTypes = allTypes.filter(ot => !orgService.isMemorySpace(ot));
|
|
1958
|
+
const isDocSpace = orgService.isDocSpace;
|
|
1948
1959
|
const draftsFor = (name) => (ws.drafts && ws.drafts[name]) || [];
|
|
1949
1960
|
const objectsFor = (name) => (ws.objects && ws.objects[name]) || [];
|
|
1950
1961
|
|
|
1951
1962
|
// ── Public sharing (meta.share) — what published document-space pages anyone can read via the
|
|
1952
1963
|
// no-login viewer. Independent of the access roles. Lazy-loaded the first time the panel opens. ──
|
|
1953
|
-
const docTypes = types.filter(
|
|
1964
|
+
const docTypes = types.filter(isDocSpace);
|
|
1954
1965
|
const loadShare = async () => {
|
|
1955
1966
|
setShareBusy(true);
|
|
1956
1967
|
try { setShare(await orgService.getWorkspaceShare(orgId, wsId)); } finally { setShareBusy(false); }
|
|
@@ -2181,7 +2192,7 @@ function Workspace({ org, wsId, showToast, onBack }) {
|
|
|
2181
2192
|
<div class="card-h3">${t('organisms.spaces') || 'Spaces'}</div>
|
|
2182
2193
|
${(ws.manifest?.objectTypes || []).map(ot => html`
|
|
2183
2194
|
<div class="pj-doc-row" key=${'sp' + ot.name}>
|
|
2184
|
-
<span class="pj-space-name">${escHtml(ot.name)}<span class="pj-doc-tag">${ot
|
|
2195
|
+
<span class="pj-space-name">${escHtml(ot.name)}<span class="pj-doc-tag">${isDocSpace(ot) ? (t('organisms.docs') || 'docs') : (t('organisms.recordsMode') || 'records')}</span></span>
|
|
2185
2196
|
<button class="btn-ghost btn-sm" onClick=${() => removeSpaceHandler(ot.name)} disabled=${busy}>${t('organisms.remove') || 'Remove'}</button>
|
|
2186
2197
|
</div>
|
|
2187
2198
|
`)}
|
|
@@ -2243,7 +2254,7 @@ function Workspace({ org, wsId, showToast, onBack }) {
|
|
|
2243
2254
|
|
|
2244
2255
|
${types.length > 0 ? html`<div class="pj-divider"></div>` : null}
|
|
2245
2256
|
|
|
2246
|
-
${types.map(ot => ot
|
|
2257
|
+
${types.map(ot => isDocSpace(ot) ? renderDocSpace(ot) : html`
|
|
2247
2258
|
<div class="pj-section" key=${ot.name}>
|
|
2248
2259
|
<div class="pj-section-head">
|
|
2249
2260
|
<span class="pj-section-title">${escHtml(ot.name)}</span>
|
|
@@ -2284,6 +2295,18 @@ function Workspace({ org, wsId, showToast, onBack }) {
|
|
|
2284
2295
|
</div>
|
|
2285
2296
|
`)}
|
|
2286
2297
|
|
|
2298
|
+
${otherTypes.map(ot => html`
|
|
2299
|
+
<div class="pj-section" key=${ot.name}>
|
|
2300
|
+
<div class="pj-section-head">
|
|
2301
|
+
<span class="pj-section-title">${escHtml(ot.name)}</span>
|
|
2302
|
+
<span class="badge badge-warn">${escHtml(String(ot.backing))}</span>
|
|
2303
|
+
</div>
|
|
2304
|
+
<div class="pj-space-notice">${ot.backing === 'tasks'
|
|
2305
|
+
? (t('organisms.spaceTasksBacked') || 'This space points at the task system — its items are tasks, not workspace records. Manage them in the Tasks views.')
|
|
2306
|
+
: (t('organisms.spaceBackingUnsupported') || 'This space’s backing is not supported, so its content is not shown here. Edit the workspace (manifest) and set this space’s backing to "memory" to restore it — files and knowledge packages attach via Sources or document images instead.')}</div>
|
|
2307
|
+
</div>
|
|
2308
|
+
`)}
|
|
2309
|
+
|
|
2287
2310
|
<${SourcesPanel} orgId=${orgId} wsId=${wsId} showToast=${showToast} />
|
|
2288
2311
|
|
|
2289
2312
|
${(ws.decisions || []).length > 0 && html`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/local-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/local-server.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AAM3E,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;CAChD;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAqFD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,SAAS,CAAC;CAC3B;AAQD,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsS5E"}
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
* - `GET /local/tasks/next?wait=ms[&agent=name]` — long-poll fed by the
|
|
14
14
|
* tunnel's `deliver`/`backlog` frames: realtime task delivery for
|
|
15
15
|
* synchronous clients, no upstream polling.
|
|
16
|
+
* - `POST /local/call/:tool` — deterministic shell-callable tool dispatch
|
|
17
|
+
* (same registry as `aimeat connect call`) routed over the agent's
|
|
18
|
+
* tunnel-backed client; one loopback POST, no subprocess / fresh TLS.
|
|
16
19
|
* - `GET /local/status`, `POST /local/shutdown` — introspection + clean stop.
|
|
17
20
|
* Writes the discovery file `<AIMEAT_HOME>/serve.json` (schema_version, port,
|
|
18
21
|
* pid, agents, started_at) atomically on start, removes it on clean exit, and
|
|
@@ -33,6 +36,9 @@
|
|
|
33
36
|
* @version-history
|
|
34
37
|
* v1.0.0 — 2026-06-10 — Phase 4: initial loopback daemon (local MCP + REST
|
|
35
38
|
* proxy + long-poll push surface + discovery file + degraded fallback).
|
|
39
|
+
* v1.1.0 — 2026-06-10 — Add `POST /local/call/:tool` — deterministic
|
|
40
|
+
* shell-callable tool dispatch over the tunnel (kills `connect call`
|
|
41
|
+
* subprocess + per-call TLS churn for plain-Python crews).
|
|
36
42
|
*/
|
|
37
43
|
import express from 'express';
|
|
38
44
|
import { randomBytes } from 'node:crypto';
|
|
@@ -45,6 +51,7 @@ import { getConfigDir } from '../config.js';
|
|
|
45
51
|
import { wakeAgent } from './wakeup.js';
|
|
46
52
|
import { startPollerForAgent, legacyWakeAdapter } from './poller.js';
|
|
47
53
|
import { launchTaskRunner, isRunner } from '../task-runner.js';
|
|
54
|
+
import { CONNECT_CLI_TOOLS } from '../tool-call.js';
|
|
48
55
|
export const SERVE_DISCOVERY_SCHEMA_VERSION = 1;
|
|
49
56
|
export function serveDiscoveryPath() {
|
|
50
57
|
return join(getConfigDir(), 'serve.json');
|
|
@@ -281,6 +288,42 @@ export async function runServeDaemon(opts) {
|
|
|
281
288
|
data: { agent: entry.agent, owner: entry.owner, via: item.via, received_at: item.receivedAt, task: item.task },
|
|
282
289
|
});
|
|
283
290
|
});
|
|
291
|
+
// ── Tool-call surface: deterministic shell-callable tool dispatch over the
|
|
292
|
+
// tunnel. Same handler registry as `aimeat connect call`, but routed through
|
|
293
|
+
// the agent's tunnel-backed client — one loopback POST, no per-call subprocess
|
|
294
|
+
// and no fresh TLS per call. Body = the tool's JSON input (as `connect call
|
|
295
|
+
// --json`); response = the AIMEAT envelope (callers check `ok`). Agent picked
|
|
296
|
+
// by `X-Aimeat-Agent` / `?agent=` (defaults to the registry primary).
|
|
297
|
+
app.post('/local/call/:tool', async (req, res) => {
|
|
298
|
+
let entry;
|
|
299
|
+
try {
|
|
300
|
+
entry = resolveAgent(req);
|
|
301
|
+
}
|
|
302
|
+
catch (err) {
|
|
303
|
+
res.status(400).json({ ok: false, error: { code: 'UNKNOWN_AGENT', message: err.message } });
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
const toolName = req.params.tool;
|
|
307
|
+
const tool = CONNECT_CLI_TOOLS.find(t => t.name === toolName);
|
|
308
|
+
if (!tool) {
|
|
309
|
+
res.status(404).json({ ok: false, error: { code: 'UNKNOWN_TOOL', message: `Unknown shell-callable tool: ${toolName}` } });
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
const input = (req.body && typeof req.body === 'object' && !Array.isArray(req.body))
|
|
313
|
+
? req.body
|
|
314
|
+
: {};
|
|
315
|
+
try {
|
|
316
|
+
const response = await tool.handler({
|
|
317
|
+
client: entry.client, // tunnel-backed in tunnel mode, direct fetch when degraded
|
|
318
|
+
config: { node_url: entry.config.node_url, agent: entry.agent, owner: entry.owner },
|
|
319
|
+
agentPath: encodeURIComponent(entry.agent),
|
|
320
|
+
}, input);
|
|
321
|
+
res.status(response.ok ? 200 : 400).json(response);
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
res.status(400).json({ ok: false, error: { code: 'TOOL_CALL_ERROR', message: err.message } });
|
|
325
|
+
}
|
|
326
|
+
});
|
|
284
327
|
app.get('/local/status', (_req, res) => {
|
|
285
328
|
res.json({
|
|
286
329
|
ok: true,
|
|
@@ -404,7 +447,7 @@ export async function runServeDaemon(opts) {
|
|
|
404
447
|
const summary = registry.list()
|
|
405
448
|
.map(e => `${e.agent}@${e.owner} [${channels.get(e.agent).transportMode}]`)
|
|
406
449
|
.join(', ');
|
|
407
|
-
console.error(`AIMEAT serve daemon listening on http://127.0.0.1:${port} (MCP: /v1/mcp, proxy: /v1/*, push: /local/tasks/next)`);
|
|
450
|
+
console.error(`AIMEAT serve daemon listening on http://127.0.0.1:${port} (MCP: /v1/mcp, proxy: /v1/*, tool-call: /local/call/:tool, push: /local/tasks/next)`);
|
|
408
451
|
console.error(`[serve] discovery: ${discoveryFile}`);
|
|
409
452
|
console.error(`[serve] ${registry.size()} agent(s): ${summary} — ${tunnelCount} over tunnel`);
|
|
410
453
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/local-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/local-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* the server and the v2 surface allowlists (appdev/agent/service).
|
|
9
9
|
* @version-history
|
|
10
10
|
* v1.0.0 -- 2026-06-08 -- Initial: 5 workspace tools as REST wrappers for the connector.
|
|
11
|
+
* v1.1.0 -- 2026-06-10 -- Backing gate (the invisible-documents bug happened through THIS path):
|
|
12
|
+
* _create normalizes objectTypes (rejects backing 'storage'/'knowledge', infers mode:'document'
|
|
13
|
+
* from kind:'document'); _write refuses non-memory spaces and honours kind:'document' on old
|
|
14
|
+
* manifests instead of silently falling into records mode.
|
|
11
15
|
*/
|
|
12
16
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
13
17
|
import type { AgentRegistry } from '../../agent-registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/workspaces.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/workspaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAuPpF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { annotationsFor } from '../../../../mcp/annotations.js';
|
|
3
3
|
import { descriptionFor } from '../../../../mcp/catalog/shape.js';
|
|
4
|
+
import { normalizeObjectTypes, isMemoryBackedSpace, WorkspaceMetaError } from '../../../../services/workspace-meta.js';
|
|
4
5
|
export function registerWorkspaceTools(mcp, registry) {
|
|
5
6
|
const { client } = registry.resolve();
|
|
6
7
|
const root = (orgId, ws) => `organism.${orgId}.w.${ws}`;
|
|
@@ -56,10 +57,18 @@ export function registerWorkspaceTools(mcp, registry) {
|
|
|
56
57
|
section: z.string().optional().describe('Document spaces only: section id/name to file the document under.'),
|
|
57
58
|
}, annotationsFor('aimeat_workspace_write'), async ({ organism_id, ws, space, value, id, section }) => {
|
|
58
59
|
const wsResp = await client.get(`/v1/organisms/${encodeURIComponent(organism_id)}/workspace?ws=${encodeURIComponent(ws)}`);
|
|
59
|
-
const ot = (wsResp.data?.manifest?.objectTypes ?? []).find(o => o.name === space);
|
|
60
|
+
const ot = (wsResp.data?.manifest?.objectTypes ?? []).find(o => o.name === space || o.namespace === space);
|
|
60
61
|
if (!ot || !ot.namespace)
|
|
61
62
|
return text({ error: `No space named "${space}" in this workspace.` }, true);
|
|
62
|
-
|
|
63
|
+
// A non-memory space's data does not live in workspace records — writing here would store
|
|
64
|
+
// memory keys no read surface ever lists (the invisible-documents bug). Refuse loudly.
|
|
65
|
+
if (!isMemoryBackedSpace(ot)) {
|
|
66
|
+
return text({ error: ot.backing === 'tasks'
|
|
67
|
+
? `Space "${ot.name}" is backed by the task system (backing:'tasks') — create tasks with the task tools, not workspace writes.`
|
|
68
|
+
: `Space "${ot.name}" has backing '${ot.backing}', which workspace writes do not support. Update the space to backing:'memory' (aimeat_workspace_update); files and knowledge packages attach via workspace Sources or embedded document images.` }, true);
|
|
69
|
+
}
|
|
70
|
+
// Old manifests declared documents as kind:'document' without a mode — honour the intent.
|
|
71
|
+
const isDoc = ot.mode === 'document' || (!ot.mode && ot.kind === 'document');
|
|
63
72
|
const v0 = parseObj(value);
|
|
64
73
|
let instanceId = (id && String(id).trim()) || (v0 && typeof v0 === 'object' && !Array.isArray(v0) ? String(v0.id ?? '').trim() : '');
|
|
65
74
|
if (!instanceId && isDoc)
|
|
@@ -81,7 +90,7 @@ export function registerWorkspaceTools(mcp, registry) {
|
|
|
81
90
|
await client.post('/v1/memory', { key: secKey, value: { sections }, visibility: 'private' });
|
|
82
91
|
}
|
|
83
92
|
}
|
|
84
|
-
return text({ written: key, id: instanceId, space, mode:
|
|
93
|
+
return text({ written: key, id: instanceId, space, mode: isDoc ? 'document' : 'records', section: section ?? null });
|
|
85
94
|
});
|
|
86
95
|
mcp.tool('aimeat_workspace_publish', descriptionFor('aimeat_workspace_publish'), { organism_id: z.string(), ws: z.string(), namespace: z.string(), id: z.string() }, annotationsFor('aimeat_workspace_publish'), async ({ organism_id, ws, namespace, id }) => {
|
|
87
96
|
const resp = await client.post(`/v1/organisms/${encodeURIComponent(organism_id)}/publish`, { ws, namespace, id });
|
|
@@ -173,6 +182,16 @@ export function registerWorkspaceTools(mcp, registry) {
|
|
|
173
182
|
if (!man || typeof man !== 'object' || !Array.isArray(man.objectTypes)) {
|
|
174
183
|
return text({ error: 'manifest must be an object with an objectTypes array.' }, true);
|
|
175
184
|
}
|
|
185
|
+
// Gate: reject unsupported backings + infer mode from kind BEFORE anything is written, so a
|
|
186
|
+
// misdeclared space fails the very first call instead of becoming invisible data.
|
|
187
|
+
try {
|
|
188
|
+
man.objectTypes = normalizeObjectTypes(man.objectTypes);
|
|
189
|
+
}
|
|
190
|
+
catch (e) {
|
|
191
|
+
if (e instanceof WorkspaceMetaError)
|
|
192
|
+
return text({ error: e.message }, true);
|
|
193
|
+
throw e;
|
|
194
|
+
}
|
|
176
195
|
const schemaMap = (parseObj(schemas) ?? {});
|
|
177
196
|
const wsId = 'ws-' + Date.now().toString(36) + Math.random().toString(36).slice(2, 5);
|
|
178
197
|
const base = root(organism_id, wsId);
|