aimeat 1.34.0 → 1.35.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 +52 -4
- package/dist/locales/fi.json +52 -4
- package/dist/public/css/views/secretary.css +52 -0
- package/dist/public/js/i18n.js +9 -0
- package/dist/public/js/services/secretary-helpers.js +8 -4
- package/dist/public/js/services/secretary-policy.js +28 -3
- package/dist/public/views/profile/agents/agent-card.js +6 -4
- package/dist/public/views/profile/agents/tab-integration.js +5 -2
- package/dist/public/views/secretary/cards.js +46 -15
- package/dist/public/views/secretary/dashboard.js +68 -2
- package/dist/public/views/secretary.js +208 -40
- package/dist/src/cli/connect/mcp/tools/organisms.d.ts +2 -0
- package/dist/src/cli/connect/mcp/tools/organisms.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/organisms.js +9 -1
- package/dist/src/cli/connect/mcp/tools/organisms.js.map +1 -1
- package/dist/src/cli/connect/onboarding-prompt.d.ts +3 -0
- package/dist/src/cli/connect/onboarding-prompt.d.ts.map +1 -1
- package/dist/src/cli/connect/onboarding-prompt.js +10 -3
- package/dist/src/cli/connect/onboarding-prompt.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +309 -2
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/mcp/agent-onboarding.d.ts +4 -0
- package/dist/src/mcp/agent-onboarding.d.ts.map +1 -1
- package/dist/src/mcp/agent-onboarding.js +28 -2
- package/dist/src/mcp/agent-onboarding.js.map +1 -1
- package/dist/src/models/agent-onboarding-schemas.d.ts +47 -0
- package/dist/src/models/agent-onboarding-schemas.d.ts.map +1 -1
- package/dist/src/models/agent-onboarding-schemas.js +117 -0
- package/dist/src/models/agent-onboarding-schemas.js.map +1 -1
- package/dist/src/routes/agent-onboarding.d.ts +5 -0
- package/dist/src/routes/agent-onboarding.d.ts.map +1 -1
- package/dist/src/routes/agent-onboarding.js +21 -2
- package/dist/src/routes/agent-onboarding.js.map +1 -1
- package/dist/src/routes/secretary.d.ts +7 -2
- package/dist/src/routes/secretary.d.ts.map +1 -1
- package/dist/src/routes/secretary.js +119 -28
- package/dist/src/routes/secretary.js.map +1 -1
- package/dist/src/services/onboarding-guide.d.ts +53 -0
- package/dist/src/services/onboarding-guide.d.ts.map +1 -0
- package/dist/src/services/onboarding-guide.js +81 -0
- package/dist/src/services/onboarding-guide.js.map +1 -0
- package/dist/src/services/scheduler.d.ts +9 -0
- package/dist/src/services/scheduler.d.ts.map +1 -1
- package/dist/src/services/scheduler.js +48 -23
- package/dist/src/services/scheduler.js.map +1 -1
- package/dist/src/services/secretary-workbrief.d.ts +144 -0
- package/dist/src/services/secretary-workbrief.d.ts.map +1 -0
- package/dist/src/services/secretary-workbrief.js +315 -0
- package/dist/src/services/secretary-workbrief.js.map +1 -0
- package/dist/src/services/secretary-worktier.d.ts +118 -0
- package/dist/src/services/secretary-worktier.d.ts.map +1 -0
- package/dist/src/services/secretary-worktier.js +157 -0
- package/dist/src/services/secretary-worktier.js.map +1 -0
- package/dist/src/services/skill-bundle/generator.d.ts +3 -0
- package/dist/src/services/skill-bundle/generator.d.ts.map +1 -1
- package/dist/src/services/skill-bundle/generator.js +19 -0
- package/dist/src/services/skill-bundle/generator.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,9 +7,13 @@
|
|
|
7
7
|
* collapsible "Manage & setup" disclosure header that tucks the set-up-once config cards away.
|
|
8
8
|
* The view (views/secretary.js) owns all state/handlers and passes them in; the config cards
|
|
9
9
|
* themselves still live in ./cards.js / ./cards-reach.js. Redesign: docs/internal/2026-06-25-secretary-view-redesign.md.
|
|
10
|
-
* @structure quickActionRow · dashStatus · standPanel · actionItemsCard · routinesCard · quickActionsManager · manageHeader (one render function each)
|
|
11
|
-
* @usage import { quickActionRow, dashStatus, standPanel, actionItemsCard, routinesCard, quickActionsManager, manageHeader } from '/views/secretary/dashboard.js';
|
|
10
|
+
* @structure quickActionRow · dashStatus · standPanel · briefTrayCard · actionItemsCard · routinesCard · quickActionsManager · manageHeader (one render function each)
|
|
11
|
+
* @usage import { quickActionRow, dashStatus, standPanel, briefTrayCard, actionItemsCard, routinesCard, quickActionsManager, manageHeader } from '/views/secretary/dashboard.js';
|
|
12
12
|
* @version-history
|
|
13
|
+
* v0.10.0 — 2026-07-01 — Light-vs-heavy seam: briefTrayCard — the Work Brief tray. The cheap Secretary
|
|
14
|
+
* detects structural gaps and proposes grounded briefs; this renders each with "Open in Claude Desktop"
|
|
15
|
+
* (CopyButton with an MCP preface + the brief) and "Send to a connected Builder" (lane b dispatch), so
|
|
16
|
+
* heavy work goes to a big AI via MCP and never gets cheap-authored here.
|
|
13
17
|
* v0.9.0 — 2026-06-28 — strategyCard: optional steering frame (vision/mission/principles/risks +
|
|
14
18
|
* current→target + ordered milestone gates with status/focus/reorder/goal-linking + AI re-plan).
|
|
15
19
|
* v0.8.0 — 2026-06-28 — secretaryDangerCard: a guarded "Reset Secretary" control (type RESET to wipe
|
|
@@ -33,6 +37,7 @@ import htm from 'htm';
|
|
|
33
37
|
const html = htm.bind(h);
|
|
34
38
|
import { t } from '/js/i18n.js';
|
|
35
39
|
import { Markdown } from '/components/Markdown.js';
|
|
40
|
+
import { CopyButton } from '/components/CopyButton.js';
|
|
36
41
|
|
|
37
42
|
/** Core (+ later dynamic) quick actions: a button row above the chat. `items` are descriptors
|
|
38
43
|
* `{ key, label, title?, primary?, disabled?, hidden?, onClick }` so B3 can extend with dynamic actions. */
|
|
@@ -106,6 +111,67 @@ export function standPanel(p) {
|
|
|
106
111
|
</section>`;
|
|
107
112
|
}
|
|
108
113
|
|
|
114
|
+
/** Compose the paste a Builder receives in Claude Desktop: a connect-first preface + the full brief.
|
|
115
|
+
* The preface tells the assistant to connect via the appdev MCP if it isn't already, so pasting into a
|
|
116
|
+
* Claude Desktop that has NOT been wired to the node still leads somewhere instead of silently failing. */
|
|
117
|
+
function heavyWorkPrompt(b) {
|
|
118
|
+
return `I'd like you to carry out a work brief on my AIMEAT node using the appdev MCP tools (the aimeat_* tools).
|
|
119
|
+
|
|
120
|
+
FIRST — make sure you can reach my node: if you are not already connected to my AIMEAT node via the appdev MCP, connect now. In the AIMEAT app open Profile → Agents → "Connect a New Agent" for the exact device-authorization steps (or read the node's /llms.txt). You need the aimeat_* tools available before you can do any of the work below.
|
|
121
|
+
|
|
122
|
+
THEN — carry out the brief end-to-end with those tools: build/fill via aimeat_workspace_* / aimeat_organism_*, ground everything in the real sources listed, and never invent facts. If a records space has no real data, leave it empty rather than make something up.
|
|
123
|
+
|
|
124
|
+
${b.brief || ''}`;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/** One Work Brief row: objective + ws + a markdown preview + the two heavy-work lanes (Open in Claude
|
|
128
|
+
* Desktop / Send to a connected Builder) + Done. The seam made physical — the cheap Secretary proposed
|
|
129
|
+
* this; a Builder (a big AI via MCP) executes it. */
|
|
130
|
+
function briefRow(b, p) {
|
|
131
|
+
const builders = p.builders || [];
|
|
132
|
+
const dispatched = b.status === 'dispatched';
|
|
133
|
+
return html`
|
|
134
|
+
<div class="sec-brief" key=${b.id}>
|
|
135
|
+
<div class="sec-brief-top">
|
|
136
|
+
<span class="sec-brief-badge ${dispatched ? 'is-dispatched' : ''}">${dispatched ? t('secretary.brief.dispatchedBadge') : t('secretary.brief.heavyBadge')}</span>
|
|
137
|
+
<span class="sec-brief-obj">${b.objective}</span>
|
|
138
|
+
${b.wsName ? html`<span class="sec-hint sec-brief-ws">${b.wsName}</span>` : null}
|
|
139
|
+
</div>
|
|
140
|
+
<details class="sec-brief-detail">
|
|
141
|
+
<summary>${t('secretary.brief.preview')}</summary>
|
|
142
|
+
<div class="sec-brief-md"><${Markdown} text=${b.brief || ''} /></div>
|
|
143
|
+
</details>
|
|
144
|
+
${dispatched ? html`<div class="sec-hint sec-brief-wait">${t('secretary.brief.dispatchedNote')}</div>` : null}
|
|
145
|
+
<div class="sec-brief-actions">
|
|
146
|
+
<${CopyButton} text=${heavyWorkPrompt(b)} className="btn-primary btn-sm" label=${t('secretary.brief.openClaude')} />
|
|
147
|
+
${builders.length ? html`
|
|
148
|
+
<select class="sec-select" disabled=${dispatched || p.dispatching === b.id}
|
|
149
|
+
onChange=${(e) => { const v = e.target.value; e.target.value = ''; if (v) p.onDispatch(b.id, v); }}>
|
|
150
|
+
<option value="">${dispatched ? t('secretary.brief.waiting') : t('secretary.brief.sendBuilder')}</option>
|
|
151
|
+
${builders.map((a) => html`<option value=${a.gaii} key=${a.gaii}>${a.name}</option>`)}
|
|
152
|
+
</select>` : html`<span class="sec-hint">${t('secretary.brief.noBuilder')}</span>`}
|
|
153
|
+
<button class="btn-ghost btn-sm" onClick=${() => p.onResolve(b.id)}>${t('secretary.brief.done')}</button>
|
|
154
|
+
</div>
|
|
155
|
+
</div>`;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/** The Work Brief tray: heavy work the Secretary detected and prepared for a Builder. Null when empty
|
|
159
|
+
* (no gaps → nothing to hand off). The clear divide between "watch + propose" (cheap, here) and
|
|
160
|
+
* "build + author" (a big AI via MCP). */
|
|
161
|
+
export function briefTrayCard(p) {
|
|
162
|
+
const briefs = p.briefs || [];
|
|
163
|
+
if (!briefs.length) return null;
|
|
164
|
+
return html`
|
|
165
|
+
<section class="sec-card sec-brief-tray">
|
|
166
|
+
<div class="sec-card-head">
|
|
167
|
+
<h2 class="sec-h2">${t('secretary.brief.startHere')} ${t('secretary.brief.title')} <span class="sec-count">${briefs.length}</span></h2>
|
|
168
|
+
<span class="sec-hint">${t('secretary.brief.subtitle')}</span>
|
|
169
|
+
</div>
|
|
170
|
+
<p class="sec-brief-banner">${t('secretary.brief.mcpNote')} <a class="sec-linkbtn" href="/v1/profile">${t('secretary.brief.connectLink')}</a></p>
|
|
171
|
+
${briefs.map((b) => briefRow(b, p))}
|
|
172
|
+
</section>`;
|
|
173
|
+
}
|
|
174
|
+
|
|
109
175
|
/** "What's next" — the Secretary's proposed next actions, each with Do it / Skip; doing one runs it. */
|
|
110
176
|
export function whatsNextPanel(p) {
|
|
111
177
|
const n = p.answer;
|
|
@@ -11,6 +11,31 @@
|
|
|
11
11
|
* @structure SECRETARY_ICON · SecretaryView (default) — state, effects, handlers, layout (cards in ./secretary/cards.js + ./secretary/cards-reach.js + dashboard chrome in ./secretary/dashboard.js)
|
|
12
12
|
* @usage routed at /v1/secretary by spa.html (+ portal.ts spaRoutes).
|
|
13
13
|
* @version-history
|
|
14
|
+
* v0.25.0 — 2026-07-01 — Light-vs-heavy seam: setup no longer cheap-authors content (that hallucinated).
|
|
15
|
+
* applyResult now CREATES the workspace structure and then proposes grounded Work Briefs (POST
|
|
16
|
+
* /v1/secretary/brief) the user hands to a Builder (a connected big AI via the appdev MCP tools). Drops
|
|
17
|
+
* the per-workspace author-now fill loop + the author_content band. The dashboard brief tray (cards)
|
|
18
|
+
* renders the briefs with "Open in Claude Desktop" / "Send to a connected Builder".
|
|
19
|
+
* v0.24.0 — 2026-06-30 — Never-empty + honest fill result. normalizeInlineManifest now GUARANTEES every
|
|
20
|
+
* workspace has a document space (appends a "Muistiinpanot" doc space when the design gave only records
|
|
21
|
+
* spaces) so the setup fill always has a thinking-home, and is genuinely document-first for unspecified
|
|
22
|
+
* spaces. The per-workspace fill loop counts a workspace as filled ONLY on a real 🖊️ authored line (not
|
|
23
|
+
* a ⚠️ summary), retries the HTTP call once (flaky owl-alpha), and the toast names workspaces it
|
|
24
|
+
* couldn't fill instead of a bare count.
|
|
25
|
+
* v0.23.0 — 2026-06-30 — Autonomy chosen up front: "Set up my Secretary" first asks HOW autonomous it
|
|
26
|
+
* should be (Prepare/Draft · Run/Act · Only-when-I-ask/Off), each explained in plain words incl. the
|
|
27
|
+
* AI-credit cost, BEFORE anything runs — so nobody stumbles into Act bands later. The choice sets the
|
|
28
|
+
* new context's author_content band and, for Draft/Act, turns the daily check-in on. Browser-verified.
|
|
29
|
+
* v0.22.0 — 2026-06-30 — Live setup progress: the fill runs ONE workspace at a time (author-now?ws=)
|
|
30
|
+
* and a top-level overlay (survives the hire→dashboard switch) shows "Filling workspace N/total ·
|
|
31
|
+
* <name>" + a progress bar through the whole slow fill, instead of a couple of fleeting toasts.
|
|
32
|
+
* Browser-verified: overlay cycled 1/2 → 2/2 with the bar advancing.
|
|
33
|
+
* v0.21.0 — 2026-06-30 — Deterministic workspace structure (NO AI): genAndApplyManifest normalizes any
|
|
34
|
+
* design-provided inline manifest into a valid one (fixes namespace form + backfills schemaRef/backing/
|
|
35
|
+
* writeRole/mode, rekeys schemas, derives a records schema when missing) and falls back to a plain
|
|
36
|
+
* document space — instead of a flaky per-workspace AI generator call that left some workspaces as
|
|
37
|
+
* "set up when opened". Every workspace now gets its structure reliably, every time. Verified on the
|
|
38
|
+
* dev server: a 6-workspace design (with non-conforming komento.* namespaces) all came out structured.
|
|
14
39
|
* v0.20.0 — 2026-06-30 — Content at handshake: a fresh hire now fills its workspaces with REAL content
|
|
15
40
|
* immediately (POST /v1/secretary/author-now, long timeout) and drops any left empty; the workspace
|
|
16
41
|
* generator runs with skipExamples so no fake "example-N" placeholder records are written.
|
|
@@ -73,12 +98,12 @@ import { t, getLocale } from '/js/i18n.js';
|
|
|
73
98
|
import { api, apiGet, apiPost, apiPut, apiDelete } from '/js/api.js';
|
|
74
99
|
import { useViewCSS } from '/components/useViewCSS.js';
|
|
75
100
|
import { useToast } from '/components/Toast.js';
|
|
76
|
-
import { createOrganism, createWorkspace,
|
|
77
|
-
import { defaultPolicy, mergePolicy } from '/js/services/secretary-policy.js';
|
|
101
|
+
import { createOrganism, createWorkspace, validateGenerated, applyGeneratedWorkspace } from '/js/services/organisms.js';
|
|
102
|
+
import { defaultPolicy, mergePolicy, autonomyPreset } from '/js/services/secretary-policy.js';
|
|
78
103
|
import { buildDesignPrompt, extractJson, snapshotOf, genCtxId, migrateConfig, suggestContextId, computeBudgetInfo, computeReliability, sanitizeQuickActions, normalizeStrategy, MILESTONE_STATUSES, buildStrategyReplanPrompt, linkMilestoneGoals, keepKnownGoalRefs, SECRETARY_AIMEAT_PRIMER } from '/js/services/secretary-helpers.js';
|
|
79
104
|
import { contextSwitcher, hirePanel, chatCard, findCard, noteCard, decisionsCard, brainCard, operatingCard, historyCard, metaCard, whatsNextCard, feedCard, automationCard, goalsCard, decisionLogCard } from '/views/secretary/cards.js';
|
|
80
105
|
import { createResourceCard, knowledgeCard, accessCard, crewCard } from '/views/secretary/cards-reach.js';
|
|
81
|
-
import { quickActionRow, dashStatus, standPanel, whatsNextPanel, actionItemsCard, routinesCard, triggersCard, quickActionsManager, manageHeader, workflowDesignPanel, secretaryDangerCard, strategyCard } from '/views/secretary/dashboard.js';
|
|
106
|
+
import { quickActionRow, dashStatus, standPanel, briefTrayCard, whatsNextPanel, actionItemsCard, routinesCard, triggersCard, quickActionsManager, manageHeader, workflowDesignPanel, secretaryDangerCard, strategyCard } from '/views/secretary/dashboard.js';
|
|
82
107
|
import { fetchWorkflowOffers, designWorkflow, saveDesignedWorkflow, slugifyWorkflowId } from '/views/secretary/workflow-design.js';
|
|
83
108
|
import { useSpecialists, specialistsCard } from '/views/secretary/use-specialists.js';
|
|
84
109
|
import { useIntake } from '/views/secretary/use-intake.js';
|
|
@@ -110,9 +135,15 @@ export default function SecretaryView() {
|
|
|
110
135
|
const [secretary, setSecretary] = useState(undefined); // undefined=loading, null=not provisioned
|
|
111
136
|
const [hasOpenRouterKey, setHasOpenRouterKey] = useState(false); // owner has an OpenRouter key configured
|
|
112
137
|
const [config, setConfig] = useState(null); // { contexts:[...], activeContextId }
|
|
138
|
+
const [briefs, setBriefs] = useState([]); // open Work Briefs (heavy work to hand a Builder)
|
|
139
|
+
const [builders, setBuilders] = useState([]); // connected big-AI agents (not Secretary / specialists)
|
|
140
|
+
const [dispatching, setDispatching] = useState(''); // briefId currently being dispatched
|
|
113
141
|
const [result, setResult] = useState('');
|
|
114
142
|
const [needs, setNeeds] = useState('');
|
|
115
143
|
const [applying, setApplying] = useState(false);
|
|
144
|
+
const [setupStep, setSetupStep] = useState(null); // live setup progress: { phase, done, total, name }
|
|
145
|
+
const [chooseMode, setChooseMode] = useState(false); // showing the "how should it work?" autonomy step
|
|
146
|
+
const [setupMode, setSetupMode] = useState('draft'); // chosen autonomy: 'off' | 'draft' | 'act'
|
|
116
147
|
const [generating, setGenerating] = useState(false);
|
|
117
148
|
const [showHire, setShowHire] = useState(false);
|
|
118
149
|
const [hireMode, setHireMode] = useState('new'); // 'new' (add context) | 'edit' (re-run active)
|
|
@@ -161,17 +192,42 @@ export default function SecretaryView() {
|
|
|
161
192
|
const sec = agents.find((a) => (a.tags || []).includes('system:secretary'))
|
|
162
193
|
|| agents.find((a) => a.name === 'secretary') || null;
|
|
163
194
|
setSecretary(sec);
|
|
195
|
+
// Builders = connected big-AI agents the heavy work is dispatched to — anything that is NOT the
|
|
196
|
+
// Secretary (the watcher) and NOT a node-local specialist. These are visually distinct in the brief tray.
|
|
197
|
+
setBuilders(agents.filter((a) => a && a.name !== 'secretary'
|
|
198
|
+
&& !(a.tags || []).includes('system:secretary') && !(a.tags || []).includes('system:specialist')));
|
|
164
199
|
if (!sec) return;
|
|
165
|
-
const [dir, cfg] = await Promise.all([
|
|
200
|
+
const [dir, cfg, briefResp] = await Promise.all([
|
|
166
201
|
apiGet('/v1/agents/secretary/directives').catch(() => null),
|
|
167
202
|
apiGet('/v1/memory/secretary.config').catch(() => null),
|
|
203
|
+
apiGet('/v1/secretary/briefs').catch(() => null),
|
|
168
204
|
]);
|
|
205
|
+
setBriefs((briefResp && briefResp.data && briefResp.data.briefs) || []);
|
|
169
206
|
const rawCfg = (cfg && cfg.data && cfg.data.value) || null;
|
|
170
207
|
const { config: normalized, changed } = migrateConfig(rawCfg, dir && dir.data);
|
|
171
208
|
if (changed) await apiPost('/v1/memory', { key: 'secretary.config', value: normalized, visibility: 'private' }).catch(() => {});
|
|
172
209
|
setConfig(normalized);
|
|
173
210
|
}, []);
|
|
174
211
|
|
|
212
|
+
// Dispatch a Work Brief to a connected Builder (lane b): queues a task the Builder picks up + runs via
|
|
213
|
+
// the appdev MCP tools. Marks the brief 'dispatched' so the tray reflects "waiting on the Builder".
|
|
214
|
+
const dispatchBrief = useCallback(async (briefId, agentGaii) => {
|
|
215
|
+
if (!briefId || !agentGaii) return;
|
|
216
|
+
setDispatching(briefId);
|
|
217
|
+
try {
|
|
218
|
+
const r = await apiPost(`/v1/secretary/brief/${encodeURIComponent(briefId)}/dispatch`, { targetAgent: agentGaii }).catch(() => null);
|
|
219
|
+
if (r && r.data) { showToast(t('secretary.brief.dispatched')); load(); }
|
|
220
|
+
else showToast(t('secretary.brief.dispatchFailed'), true);
|
|
221
|
+
} finally { setDispatching(''); }
|
|
222
|
+
}, [load, showToast]);
|
|
223
|
+
|
|
224
|
+
// Resolve a Work Brief (the owner handled it themselves, or it's no longer relevant). Marks it 'done'.
|
|
225
|
+
const resolveBrief = useCallback(async (briefId) => {
|
|
226
|
+
if (!briefId) return;
|
|
227
|
+
await apiPost(`/v1/secretary/brief/${encodeURIComponent(briefId)}/done`, {}).catch(() => null);
|
|
228
|
+
load();
|
|
229
|
+
}, [load]);
|
|
230
|
+
|
|
175
231
|
useEffect(() => { load(); }, [load]);
|
|
176
232
|
|
|
177
233
|
// Re-fetch config on server-reported changes: the autonomous tick writes pending decisions + the
|
|
@@ -282,9 +338,14 @@ export default function SecretaryView() {
|
|
|
282
338
|
return ids;
|
|
283
339
|
}, []);
|
|
284
340
|
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
341
|
+
// ── Deterministic workspace structure (NO AI) ──
|
|
342
|
+
// The design JSON's inline manifests routinely fail the workspace validator (wrong namespace form, or
|
|
343
|
+
// missing schemaRef/backing/writeRole), which used to push EACH workspace into a flaky per-workspace AI
|
|
344
|
+
// generator call — owl-alpha failing some of those left workspaces as "set up when opened". Instead we
|
|
345
|
+
// NORMALIZE any inline manifest into a valid one ourselves, and fall back to a plain document space.
|
|
346
|
+
// Zero AI calls → every workspace gets its structure reliably, every time.
|
|
347
|
+
const WS_TYPE_MAP = { text: 'string', number: 'number', date: 'string', select: 'string', boolean: 'boolean', reference: 'string' };
|
|
348
|
+
const wsSlug = (s) => String(s || '').trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '') || 'tila';
|
|
288
349
|
const backfillEnvelope = (mf, wsId, name) => {
|
|
289
350
|
if (!mf) return;
|
|
290
351
|
mf.manifestVersion = mf.manifestVersion || '1.0';
|
|
@@ -293,25 +354,76 @@ export default function SecretaryView() {
|
|
|
293
354
|
mf.kind = mf.kind || 'project';
|
|
294
355
|
mf.status = ['active', 'paused', 'done', 'archived'].includes(mf.status) ? mf.status : 'active';
|
|
295
356
|
};
|
|
357
|
+
// Make ANY inline manifest valid: backfill the envelope + each objectType's required fields, normalize
|
|
358
|
+
// the namespace to the required shared.* form (rekeying its schema), and derive a schema for a records
|
|
359
|
+
// type that lacks one. Mutates `manifest`; may add keys to `schemas`.
|
|
360
|
+
const normalizeInlineManifest = (manifest, schemas, wsId, name) => {
|
|
361
|
+
backfillEnvelope(manifest, wsId, name);
|
|
362
|
+
const ots = Array.isArray(manifest.objectTypes) ? manifest.objectTypes : [];
|
|
363
|
+
manifest.objectTypes = ots.filter(Boolean).map((ot, i) => {
|
|
364
|
+
const o = { ...ot };
|
|
365
|
+
o.name = String(o.name || ('tila' + (i + 1))).trim() || ('tila' + (i + 1));
|
|
366
|
+
let ns = String(o.namespace || ('shared.' + wsSlug(o.name)));
|
|
367
|
+
if (!/^(meta|shared|member)\./.test(ns)) {
|
|
368
|
+
const tail = ns.includes('.') ? ns.slice(ns.indexOf('.') + 1) : ns;
|
|
369
|
+
const newNs = 'shared.' + (wsSlug(tail) || wsSlug(o.name));
|
|
370
|
+
if (schemas[o.namespace] && !schemas[newNs]) { schemas[newNs] = schemas[o.namespace]; delete schemas[o.namespace]; }
|
|
371
|
+
ns = newNs;
|
|
372
|
+
}
|
|
373
|
+
o.namespace = ns;
|
|
374
|
+
o.backing = o.backing === 'tasks' ? 'tasks' : 'memory';
|
|
375
|
+
o.writeRole = ['owner', 'admin', 'member'].includes(o.writeRole) ? o.writeRole : 'member';
|
|
376
|
+
o.cardinality = o.cardinality === 'one' ? 'one' : 'many';
|
|
377
|
+
o.versioned = o.versioned !== false;
|
|
378
|
+
o.schemaRef = o.schemaRef || ('schema:' + wsSlug(o.name) + '@1');
|
|
379
|
+
// Document-first: keep an explicit mode as the design gave it; for an UNSPECIFIED space default to a
|
|
380
|
+
// DOCUMENT (flexible information — the common case) unless the design clearly describes a record list
|
|
381
|
+
// (real fields, or a schema already supplied for it). A records space is for same-shaped, list-like
|
|
382
|
+
// data (actions/tasks/bugs/a pipeline/a tracker) only.
|
|
383
|
+
if (o.mode !== 'document' && o.mode !== 'records') {
|
|
384
|
+
o.mode = ((Array.isArray(o.fields) && o.fields.length) || schemas[ns]) ? 'records' : 'document';
|
|
385
|
+
}
|
|
386
|
+
if (o.mode !== 'document' && o.backing === 'memory' && !schemas[ns]) {
|
|
387
|
+
const props = {}; (o.fields || []).forEach((f) => { if (f && f.name) props[f.name] = { type: WS_TYPE_MAP[f.type] || 'string' }; });
|
|
388
|
+
if (!props.id) props.id = { type: 'string' };
|
|
389
|
+
schemas[ns] = { type: 'object', properties: props, required: ['id'] };
|
|
390
|
+
}
|
|
391
|
+
return o;
|
|
392
|
+
});
|
|
393
|
+
// Never-empty guarantee: every workspace needs at least one DOCUMENT space — a free-markdown "thinking
|
|
394
|
+
// home" the setup fill can always author grounded content into, even when the design gave only records
|
|
395
|
+
// spaces (records are real-data-only and legitimately start empty). Append a default document space when
|
|
396
|
+
// the design provided none. Additive + idempotent: only when no document space exists.
|
|
397
|
+
if (!manifest.objectTypes.some((o) => o.mode === 'document')) {
|
|
398
|
+
let dns = 'shared.muistiinpanot';
|
|
399
|
+
if (manifest.objectTypes.some((o) => o.namespace === dns)) dns = 'shared.muistiinpanot-' + wsSlug(name);
|
|
400
|
+
manifest.objectTypes.push({ name: 'Muistiinpanot', namespace: dns, backing: 'memory', writeRole: 'member', cardinality: 'many', versioned: true, schemaRef: 'schema:doc@1', mode: 'document' });
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
// A plain document space (free markdown) — the deterministic fallback so a workspace with no usable
|
|
404
|
+
// manifest still gets a valid structure at setup, without any AI call.
|
|
405
|
+
const docSpaceManifest = (wsId, name) => ({
|
|
406
|
+
manifest: { manifestVersion: '1.0', id: wsId, name, kind: 'notes', status: 'active',
|
|
407
|
+
objectTypes: [{ name: 'Dokumentit', namespace: 'shared.dokumentit', backing: 'memory', writeRole: 'member', cardinality: 'many', versioned: true, schemaRef: 'schema:doc@1', mode: 'document' }] },
|
|
408
|
+
schemas: {},
|
|
409
|
+
});
|
|
296
410
|
const genAndApplyManifest = useCallback(async (orgId, wsId, ws) => {
|
|
297
|
-
const name = String(ws.name || '').trim();
|
|
411
|
+
const name = String(ws.name || '').trim() || 'Työtila';
|
|
298
412
|
try {
|
|
299
|
-
// skipExamples: the Secretary fills workspaces with REAL content at setup (author-now),
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
413
|
+
// skipExamples: the Secretary fills workspaces with REAL content at setup (author-now), never fakes.
|
|
414
|
+
if (ws.manifest && typeof ws.manifest === 'object') {
|
|
415
|
+
const schemas = { ...(ws.schemas || {}) };
|
|
416
|
+
const manifest = JSON.parse(JSON.stringify(ws.manifest));
|
|
417
|
+
normalizeInlineManifest(manifest, schemas, wsId, name);
|
|
418
|
+
const provided = { manifest, schemas };
|
|
305
419
|
if (!validateGenerated(provided).length) { await applyGeneratedWorkspace(orgId, wsId, provided, { skipExamples: true }); return; }
|
|
306
420
|
}
|
|
307
|
-
//
|
|
308
|
-
|
|
309
|
-
backfillEnvelope(generated && generated.manifest, wsId, name);
|
|
310
|
-
if (generated && !validateGenerated(generated).length) await applyGeneratedWorkspace(orgId, wsId, generated, { skipExamples: true });
|
|
421
|
+
// No usable inline manifest → a plain document space, applied deterministically (no AI).
|
|
422
|
+
await applyGeneratedWorkspace(orgId, wsId, docSpaceManifest(wsId, name), { skipExamples: true });
|
|
311
423
|
} catch { /* leave it manifest-less; the owner can set it up manually */ }
|
|
312
424
|
}, []);
|
|
313
425
|
|
|
314
|
-
const applyResult = useCallback(async () => {
|
|
426
|
+
const applyResult = useCallback(async (mode = 'off') => {
|
|
315
427
|
setApplying(true);
|
|
316
428
|
try {
|
|
317
429
|
const json = extractJson(result);
|
|
@@ -326,6 +438,8 @@ export default function SecretaryView() {
|
|
|
326
438
|
}
|
|
327
439
|
const newBrain = { purpose: b.purpose, rules };
|
|
328
440
|
const isNew = hireMode === 'new' || !active;
|
|
441
|
+
setSetupStep({ phase: 'structure' }); // live progress: building the space + workspaces
|
|
442
|
+
let fillTargets = []; // [{ id, name }] of new workspaces to fill one at a time
|
|
329
443
|
|
|
330
444
|
let next;
|
|
331
445
|
if (isNew) {
|
|
@@ -347,6 +461,7 @@ export default function SecretaryView() {
|
|
|
347
461
|
}
|
|
348
462
|
// Design + apply each workspace's manifest in parallel so they come out usable, not empty shells.
|
|
349
463
|
await Promise.all(created.map((c) => genAndApplyManifest(orgId, c.wsId, c.ws)));
|
|
464
|
+
fillTargets = created.map((c) => ({ id: c.wsId, name: String((c.ws && c.ws.name) || '').trim() || c.wsId }));
|
|
350
465
|
}
|
|
351
466
|
// B3: seed the brain-proposed quick actions — active on hire (run verbs are dropped by the sanitizer).
|
|
352
467
|
const quickActions = sanitizeQuickActions(json.quickActions, 'brain', 'active');
|
|
@@ -357,7 +472,10 @@ export default function SecretaryView() {
|
|
|
357
472
|
// the owner ticking the linked goals by hand after setup.
|
|
358
473
|
const goalIds = await seedGoals(json.goals, ctxId, org.name);
|
|
359
474
|
const strategy = linkMilestoneGoals(normalizeStrategy(json.strategy), goalIds);
|
|
360
|
-
|
|
475
|
+
// Autonomy chosen in the setup step controls only how active the DAILY tick is (it watches, briefs,
|
|
476
|
+
// and proposes Work Briefs — it never authors content itself, so there is no "fill" band any more).
|
|
477
|
+
const policy = defaultPolicy();
|
|
478
|
+
const ctx = { id: ctxId, name: org.name, brain: newBrain, organismId: orgId || null, organismName: org.name, workspaces: wsSummary, policy, brainHistory: [], quickActions, strategy };
|
|
361
479
|
next = { contexts: [...contexts, ctx], activeContextId: ctx.id };
|
|
362
480
|
} else {
|
|
363
481
|
// Re-run on the active context (reshape): update its brain, snapshot the old one, KEEP its
|
|
@@ -391,31 +509,44 @@ export default function SecretaryView() {
|
|
|
391
509
|
await persistConfig(next);
|
|
392
510
|
await syncDirectives(newBrain);
|
|
393
511
|
window.dispatchEvent(new CustomEvent('aimeat-live-update')); // refresh goals/learning + cards
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
//
|
|
397
|
-
//
|
|
398
|
-
//
|
|
399
|
-
if (isNew) {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
512
|
+
// The Secretary NO LONGER authors content one-shot at handshake (the cheap model hallucinated and went
|
|
513
|
+
// "onto the Builders' turf"). Instead it now proposes grounded Work Briefs for the new (empty)
|
|
514
|
+
// workspaces — heavy work a Builder (a connected big AI via the appdev MCP tools) executes. Fast +
|
|
515
|
+
// deterministic (no slow model call); the dashboard's brief tray then offers "Open in Claude Desktop"
|
|
516
|
+
// / "Send to a connected Builder". Only on a fresh hire, so it never touches existing content.
|
|
517
|
+
if (isNew && fillTargets.length) {
|
|
518
|
+
setSetupStep({ phase: 'fill', done: 0, total: fillTargets.length, name: fillTargets[0].name });
|
|
519
|
+
const r = await api('/v1/secretary/brief', { method: 'POST', body: '{}', timeoutMs: 120000, retries: 1 }).catch(() => null);
|
|
520
|
+
const proposed = (r && r.data && typeof r.data.proposed === 'number') ? r.data.proposed : 0;
|
|
521
|
+
setSetupStep({ phase: 'done', done: fillTargets.length, total: fillTargets.length });
|
|
522
|
+
window.dispatchEvent(new CustomEvent('aimeat-live-update')); // briefs show up in the tray live
|
|
523
|
+
showToast(proposed ? `${t('secretary.briefsReady')} (${proposed})` : t('secretary.hireDone'));
|
|
524
|
+
} else {
|
|
525
|
+
showToast(t('secretary.hireDone'));
|
|
526
|
+
}
|
|
527
|
+
// If the owner chose an autonomous mode, turn the daily check-in ON for them — so it actually keeps
|
|
528
|
+
// working on its own (the band alone does nothing without a schedule). 'off' stays fully manual.
|
|
529
|
+
if (isNew && mode !== 'off') {
|
|
530
|
+
await apiPost('/v1/schedules', { kind: 'secretary', cron: '0 8 * * *', display_name: t('secretary.auto.scheduleName') }).catch(() => {});
|
|
411
531
|
}
|
|
532
|
+
setResult(''); setNeeds(''); setShowHire(false);
|
|
412
533
|
} catch (e) {
|
|
413
534
|
showToast(`${t('secretary.hireError')}: ${e.message}`, true);
|
|
414
535
|
} finally {
|
|
415
|
-
setApplying(false);
|
|
536
|
+
setApplying(false); setSetupStep(null);
|
|
416
537
|
}
|
|
417
538
|
}, [result, hireMode, active, contexts, config, persistConfig, syncDirectives, seedGoals, genAndApplyManifest, showToast]);
|
|
418
539
|
|
|
540
|
+
// "Set up my Secretary" no longer runs immediately — it first asks (one step, up front) HOW autonomous
|
|
541
|
+
// the owner wants it, explained in plain words, so nobody stumbles into Act bands later. The chosen mode
|
|
542
|
+
// is passed to applyResult. Only for a brand-new hire; re-running an existing context keeps its policy.
|
|
543
|
+
const startSetup = useCallback(() => {
|
|
544
|
+
if (!result.trim()) return;
|
|
545
|
+
try { extractJson(result); } catch { showToast(t('secretary.hireBadShape'), true); return; }
|
|
546
|
+
if (hireMode === 'new' || !active) { setSetupMode('draft'); setChooseMode(true); } else { applyResult('off'); }
|
|
547
|
+
}, [result, hireMode, active, applyResult, showToast]);
|
|
548
|
+
const confirmSetup = useCallback(() => { setChooseMode(false); applyResult(setupMode); }, [applyResult, setupMode]);
|
|
549
|
+
|
|
419
550
|
// C2 — direct brain editor: edit the active context's purpose + rules in place (no AI re-run).
|
|
420
551
|
const startBrainEdit = useCallback(() => {
|
|
421
552
|
if (!active) return;
|
|
@@ -811,6 +942,9 @@ ${SECRETARY_AIMEAT_PRIMER}`;
|
|
|
811
942
|
persistConfig({ ...config, contexts: contexts.map((c) => (c.id === active.id ? updated : c)) });
|
|
812
943
|
};
|
|
813
944
|
const setBand = (capId, band) => updateActivePolicy({ bands: { ...policy.bands, [capId]: band } });
|
|
945
|
+
// One autonomy toggle: 'suggest' (surface only) | 'assist' (handle the small stuff). Sets the band preset
|
|
946
|
+
// underneath, so the band machinery + parity tests are unchanged — the toggle is just the simple surface.
|
|
947
|
+
const setAutonomy = (level) => updateActivePolicy({ bands: autonomyPreset(level) });
|
|
814
948
|
const toggleStop = () => updateActivePolicy({ stopSpending: !policy.stopSpending });
|
|
815
949
|
const setBudget = (v) => updateActivePolicy({ dailyMorselBudget: v === '' ? null : Math.max(0, Math.floor(Number(v) || 0)) });
|
|
816
950
|
|
|
@@ -898,7 +1032,7 @@ ${SECRETARY_AIMEAT_PRIMER}`;
|
|
|
898
1032
|
? html`<div class="sec-empty">${hasOpenRouterKey ? t('secretary.provisioning') : t('secretary.notReady')}</div>`
|
|
899
1033
|
: html`
|
|
900
1034
|
${hired ? contextSwitcher({ contexts, activeId, switchContext, openAdd }) : null}
|
|
901
|
-
${showHirePanel ? hirePanel({ firstEver, hireMode, owner, current: hireMode === 'edit' ? active : null, needs, setNeeds, result, setResult, applying, generating, generateInApp, applyResult, onCancel: cancelHire }) : null}
|
|
1035
|
+
${showHirePanel ? hirePanel({ firstEver, hireMode, owner, current: hireMode === 'edit' ? active : null, needs, setNeeds, result, setResult, applying, setupStep, generating, generateInApp, applyResult: startSetup, onCancel: cancelHire }) : null}
|
|
902
1036
|
${hired && !showHire && active ? html`
|
|
903
1037
|
${/* Quick-action row (core verbs; dynamic actions arrive in B3) */ ''}
|
|
904
1038
|
${quickActionRow({ items: [
|
|
@@ -917,6 +1051,9 @@ ${SECRETARY_AIMEAT_PRIMER}`;
|
|
|
917
1051
|
${/* Today — full-width status band, always on top */ ''}
|
|
918
1052
|
${dashStatus({ reliability, budgetInfo, schedule: auto.schedule, lastScan, stale, onReconcile: reconcile, scanning })}
|
|
919
1053
|
|
|
1054
|
+
${/* Heavy work to hand off — the Work Brief tray (the light-vs-heavy seam made physical). */ ''}
|
|
1055
|
+
${briefTrayCard({ briefs, builders, dispatching, onDispatch: dispatchBrief, onResolve: resolveBrief })}
|
|
1056
|
+
|
|
920
1057
|
${/* Customizable two-column dashboard (pin to column / reorder / hide per card; persisted). */ ''}
|
|
921
1058
|
${(() => {
|
|
922
1059
|
const nodes = {
|
|
@@ -966,7 +1103,7 @@ ${SECRETARY_AIMEAT_PRIMER}`;
|
|
|
966
1103
|
crewSummary: crew.agents && crew.agents.length ? `${crew.agents.length} ${t('secretary.dash.crewAgents')}` : '' })}
|
|
967
1104
|
${manageOpen ? html`
|
|
968
1105
|
${brainCard({ brain, active, openEdit, brainDraft, setBrainDraft, startBrainEdit, saveBrain, cancelBrainEdit, savingBrain })}
|
|
969
|
-
${operatingCard({ policy, toggleStop, setBudget, setBand })}
|
|
1106
|
+
${operatingCard({ policy, toggleStop, setBudget, setBand, setAutonomy })}
|
|
970
1107
|
${!strategy ? html`<section class="sec-card">
|
|
971
1108
|
<h2 class="sec-h2">${t('secretary.strat.title')}</h2>
|
|
972
1109
|
<p class="sec-hint">${t('secretary.strat.enableHint')}</p>
|
|
@@ -987,6 +1124,37 @@ ${SECRETARY_AIMEAT_PRIMER}`;
|
|
|
987
1124
|
` : null}
|
|
988
1125
|
` : null}`}
|
|
989
1126
|
${calEvent ? html`<${CalendarEventDialog} event=${calEvent} onClose=${() => setCalEvent(null)} triggers=${{ update: trig.updateTrigger, togglePause: trig.togglePause, remove: trig.removeTrigger }} workflows=${trig.workflows} specialists=${spec.list} routines=${{ setCadence: next.setRoutineCadence, setStatus: next.setRoutineStatus }} tick=${{ toggle: auto.toggleTick, run: auto.runTick }} feed=${{ remove: auto.deleteFeedItem }} />` : null}
|
|
1127
|
+
${chooseMode ? html`
|
|
1128
|
+
<div class="sec-setup-overlay" onClick=${(e) => { if (e.target === e.currentTarget) setChooseMode(false); }}>
|
|
1129
|
+
<div class="sec-setup-box sec-mode-box">
|
|
1130
|
+
<h3 class="sec-h2">${t('secretary.mode.title')}</h3>
|
|
1131
|
+
<p class="sec-desc">${t('secretary.mode.intro')}</p>
|
|
1132
|
+
${[['draft', t('secretary.mode.draftTitle'), t('secretary.mode.draftDesc')], ['act', t('secretary.mode.actTitle'), t('secretary.mode.actDesc')], ['off', t('secretary.mode.offTitle'), t('secretary.mode.offDesc')]].map(([val, title, desc]) => html`
|
|
1133
|
+
<label class=${'sec-mode-opt' + (setupMode === val ? ' sec-mode-opt--on' : '')}>
|
|
1134
|
+
<input type="radio" name="setupmode" checked=${setupMode === val} onChange=${() => setSetupMode(val)} />
|
|
1135
|
+
<span><span class="sec-mode-opt-t">${title}</span><span class="sec-desc">${desc}</span></span>
|
|
1136
|
+
</label>`)}
|
|
1137
|
+
<p class="sec-hint">${t('secretary.mode.changeLater')}</p>
|
|
1138
|
+
<div class="sec-actions">
|
|
1139
|
+
<button class="btn-ghost btn-sm" onClick=${() => setChooseMode(false)}>${t('secretary.cancel')}</button>
|
|
1140
|
+
<button class="btn-primary" onClick=${confirmSetup}>${t('secretary.apply')}</button>
|
|
1141
|
+
</div>
|
|
1142
|
+
</div>
|
|
1143
|
+
</div>` : null}
|
|
1144
|
+
${applying && setupStep ? (() => {
|
|
1145
|
+
// Top-level setup-progress overlay — stays visible across the hire→dashboard switch (persistConfig
|
|
1146
|
+
// makes the Secretary "exist" before the slow fill, so a panel-local progress view would unmount).
|
|
1147
|
+
const s = setupStep, pct = s.total ? Math.round(((s.done || 0) / s.total) * 100) : null;
|
|
1148
|
+
const msg = s.phase === 'fill'
|
|
1149
|
+
? `${t('secretary.stepFilling')} ${(s.done || 0) + 1}/${s.total}${s.name ? ' · ' + s.name : ''}`
|
|
1150
|
+
: (s.phase === 'done' ? t('secretary.stepDone') : t('secretary.stepStructure'));
|
|
1151
|
+
return html`<div class="sec-setup-overlay"><div class="sec-setup-box">
|
|
1152
|
+
<h3 class="sec-h2">${t('secretary.settingUpTitle')}</h3>
|
|
1153
|
+
<div class="sec-setup-row"><span class="sec-spin"></span><span>${msg}</span></div>
|
|
1154
|
+
${pct != null ? html`<div class="sec-progress-bar"><div class="sec-progress-fill" style=${`width:${pct}%`}></div></div>` : null}
|
|
1155
|
+
<p class="sec-desc">${t('secretary.settingUpHint')}</p>
|
|
1156
|
+
</div></div>`;
|
|
1157
|
+
})() : null}
|
|
990
1158
|
<${ToastContainer} />
|
|
991
1159
|
</div>`;
|
|
992
1160
|
}
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* v1.3.0 -- 2026-06-10 -- organism_list also fetches ?member={owner} and merges (was public-only:
|
|
12
12
|
* an agent's join answered ALREADY_MEMBER while the list omitted its own private organisms — the
|
|
13
13
|
* agent could not find its home). Mirrors the server-MCP tool; rows carry is_member.
|
|
14
|
+
* v1.4.0 -- 2026-06-30 -- MCP drift fix: add `archived` enum (exclude/include/only) to
|
|
15
|
+
* organism_search to match the server MCP surface; maps to the REST ?archived/?includeArchived flags.
|
|
14
16
|
*/
|
|
15
17
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
16
18
|
import type { AgentRegistry } from '../../agent-registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/organisms.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"organisms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/organisms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAsLpF"}
|
|
@@ -145,10 +145,18 @@ export function registerOrganismsTools(mcp, registry) {
|
|
|
145
145
|
organism_id: z.string().describe('Organism identifier'),
|
|
146
146
|
q: z.string().describe('Search text (min 2 characters)'),
|
|
147
147
|
ws: z.string().optional().describe('Optional: limit to a single workspace id'),
|
|
148
|
-
|
|
148
|
+
archived: z.enum(['exclude', 'include', 'only']).optional().describe('Archive scope: exclude (default), only (archive search), or include (both)'),
|
|
149
|
+
}, annotationsFor('aimeat_organism_search'), async ({ organism_id, q, ws, archived }) => {
|
|
149
150
|
const params = new URLSearchParams({ q });
|
|
150
151
|
if (ws)
|
|
151
152
|
params.set('ws', ws);
|
|
153
|
+
// The REST route reads archive scope from two flags: ?archived=only (archive
|
|
154
|
+
// search) and ?includeArchived=true (both). Map the enum to those; 'exclude'
|
|
155
|
+
// (the default) sends neither.
|
|
156
|
+
if (archived === 'only')
|
|
157
|
+
params.set('archived', 'only');
|
|
158
|
+
else if (archived === 'include')
|
|
159
|
+
params.set('includeArchived', 'true');
|
|
152
160
|
const resp = await client.get(`/v1/organisms/${encodeURIComponent(organism_id)}/search?${params.toString()}`);
|
|
153
161
|
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }], ...(resp.ok === false ? { isError: true } : {}) };
|
|
154
162
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisms.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/organisms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"organisms.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/organisms.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
* them here -- not in the consumers.
|
|
8
8
|
* @version-history
|
|
9
9
|
* v1.0.0 -- 2026-05-28 -- Initial extraction from auth.ts/skill-bundle.ts duplication.
|
|
10
|
+
* v1.1.0 -- 2026-06-30 -- Add anti-fabrication rule (only five aimeat_onboarding_* tools exist;
|
|
11
|
+
* drive other steps via each step's howTo.tool from aimeat_onboarding_status;
|
|
12
|
+
* stop at summary.completable).
|
|
10
13
|
*/
|
|
11
14
|
/** Canonical Hello Integration MCP tool sequence, in execution order. */
|
|
12
15
|
export declare const HELLO_INTEGRATION_TOOL_SEQUENCE: ReadonlyArray<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-prompt.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/onboarding-prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"onboarding-prompt.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/onboarding-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,yEAAyE;AACzE,eAAO,MAAM,+BAA+B,EAAE,aAAa,CAAC,MAAM,CAgBjE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,CA2BxD"}
|