aimeat 1.20.2 → 1.20.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.
Files changed (89) hide show
  1. package/README.md +1 -1
  2. package/dist/locales/en.json +60 -0
  3. package/dist/locales/fi.json +60 -0
  4. package/dist/public/css/views/agents-detail.css +4 -0
  5. package/dist/public/css/views/profile.css +9 -0
  6. package/dist/public/css/views/public-workspace-viewer.css +23 -3
  7. package/dist/public/js/services/organisms.js +79 -3
  8. package/dist/public/views/profile/agents-tab.js +1 -1
  9. package/dist/public/views/profile/organisms-tab.js +355 -3
  10. package/dist/public/views/public-workspace-viewer.js +74 -11
  11. package/dist/src/cli/connect/auth.js +1 -1
  12. package/dist/src/cli/connect/auth.js.map +1 -1
  13. package/dist/src/cli/connect/config.d.ts +1 -1
  14. package/dist/src/cli/connect/config.d.ts.map +1 -1
  15. package/dist/src/cli/connect/mcp/server.d.ts.map +1 -1
  16. package/dist/src/cli/connect/mcp/server.js +5 -1
  17. package/dist/src/cli/connect/mcp/server.js.map +1 -1
  18. package/dist/src/cli/connect/mcp/tools/agent-management.js +1 -1
  19. package/dist/src/cli/connect/mcp/tools/agent-management.js.map +1 -1
  20. package/dist/src/cli/connect/mcp/tools/index.d.ts.map +1 -1
  21. package/dist/src/cli/connect/mcp/tools/index.js +2 -0
  22. package/dist/src/cli/connect/mcp/tools/index.js.map +1 -1
  23. package/dist/src/cli/connect/mcp/tools/organisms.d.ts.map +1 -1
  24. package/dist/src/cli/connect/mcp/tools/organisms.js +57 -0
  25. package/dist/src/cli/connect/mcp/tools/organisms.js.map +1 -1
  26. package/dist/src/cli/connect/mcp/tools/schedules.d.ts +15 -0
  27. package/dist/src/cli/connect/mcp/tools/schedules.d.ts.map +1 -0
  28. package/dist/src/cli/connect/mcp/tools/schedules.js +66 -0
  29. package/dist/src/cli/connect/mcp/tools/schedules.js.map +1 -0
  30. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  31. package/dist/src/cli/connect/tool-call.js +81 -2
  32. package/dist/src/cli/connect/tool-call.js.map +1 -1
  33. package/dist/src/cli/init-wizard.d.ts.map +1 -1
  34. package/dist/src/cli/init-wizard.js +11 -3
  35. package/dist/src/cli/init-wizard.js.map +1 -1
  36. package/dist/src/generated/api-types.d.ts +540 -0
  37. package/dist/src/generated/api-types.d.ts.map +1 -1
  38. package/dist/src/index.js +1 -1
  39. package/dist/src/mcp/agent-management.d.ts.map +1 -1
  40. package/dist/src/mcp/agent-management.js +4 -3
  41. package/dist/src/mcp/agent-management.js.map +1 -1
  42. package/dist/src/mcp/annotations.d.ts.map +1 -1
  43. package/dist/src/mcp/annotations.js +6 -0
  44. package/dist/src/mcp/annotations.js.map +1 -1
  45. package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
  46. package/dist/src/mcp/catalog/definitions.js +67 -2
  47. package/dist/src/mcp/catalog/definitions.js.map +1 -1
  48. package/dist/src/mcp/catalog/scopes.d.ts +3 -2
  49. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  50. package/dist/src/mcp/catalog/scopes.js +4 -2
  51. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  52. package/dist/src/mcp/catalog/surfaces.js +6 -6
  53. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  54. package/dist/src/mcp/organisms.d.ts.map +1 -1
  55. package/dist/src/mcp/organisms.js +145 -0
  56. package/dist/src/mcp/organisms.js.map +1 -1
  57. package/dist/src/models/agent-onboarding-schemas.d.ts +8 -1
  58. package/dist/src/models/agent-onboarding-schemas.d.ts.map +1 -1
  59. package/dist/src/models/agent-onboarding-schemas.js +30 -1
  60. package/dist/src/models/agent-onboarding-schemas.js.map +1 -1
  61. package/dist/src/models/schemas.d.ts +1 -0
  62. package/dist/src/models/schemas.d.ts.map +1 -1
  63. package/dist/src/models/schemas.js +1 -1
  64. package/dist/src/models/schemas.js.map +1 -1
  65. package/dist/src/routes/agents.d.ts.map +1 -1
  66. package/dist/src/routes/agents.js +4 -3
  67. package/dist/src/routes/agents.js.map +1 -1
  68. package/dist/src/routes/organisms.d.ts +3 -0
  69. package/dist/src/routes/organisms.d.ts.map +1 -1
  70. package/dist/src/routes/organisms.js +475 -0
  71. package/dist/src/routes/organisms.js.map +1 -1
  72. package/dist/src/services/handbooks/admin.d.ts +1 -1
  73. package/dist/src/services/handbooks/admin.d.ts.map +1 -1
  74. package/dist/src/services/handbooks/admin.js +1 -1
  75. package/dist/src/services/organism-comments.d.ts +30 -0
  76. package/dist/src/services/organism-comments.d.ts.map +1 -0
  77. package/dist/src/services/organism-comments.js +74 -0
  78. package/dist/src/services/organism-comments.js.map +1 -0
  79. package/dist/src/services/organism-search.d.ts +27 -0
  80. package/dist/src/services/organism-search.d.ts.map +1 -0
  81. package/dist/src/services/organism-search.js +84 -0
  82. package/dist/src/services/organism-search.js.map +1 -0
  83. package/dist/src/storage/interface.d.ts +13 -4
  84. package/dist/src/storage/interface.d.ts.map +1 -1
  85. package/dist/src/storage/interface.js.map +1 -1
  86. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  87. package/dist/src/storage/providers/sqlite/schema.js +1 -1
  88. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  89. package/package.json +1 -1
@@ -81,6 +81,259 @@ import { dt, fmtBytes } from '/js/format.js';
81
81
  import { Markdown, slugifyHeading } from '/components/Markdown.js';
82
82
  import { Mermaid } from '/components/Mermaid.js';
83
83
 
84
+ /**
85
+ * Content search inside an organism — case-insensitive substring over the records + documents of
86
+ * every workspace the member can read. Backend: GET /v1/organisms/:id/search. Rendered in the
87
+ * expanded card for members; opening a hit takes the user to that workspace.
88
+ */
89
+ function OrgSearch({ orgId, onOpenWorkspace }) {
90
+ const [q, setQ] = useState('');
91
+ const [results, setResults] = useState(null);
92
+ const [busy, setBusy] = useState(false);
93
+
94
+ const doSearch = async () => {
95
+ const query = q.trim();
96
+ if (query.length < 2) return;
97
+ setBusy(true);
98
+ try {
99
+ const r = await orgService.searchOrganism(orgId, query);
100
+ setResults(r?.data?.results || []);
101
+ } catch { setResults([]); }
102
+ finally { setBusy(false); }
103
+ };
104
+
105
+ return html`
106
+ <div class="card-detail">
107
+ <div class="section-title">${t('organisms.searchContent') || 'Search content'}</div>
108
+ <div class="flex-row-wrap">
109
+ <input class="input-field input-sm" placeholder=${t('organisms.searchPlaceholder') || 'Find records & documents…'} value=${q}
110
+ onInput=${(e) => setQ(e.target.value)} onKeyDown=${(e) => { if (e.key === 'Enter') doSearch(); }} />
111
+ <button class="btn-outline btn-sm" disabled=${busy || q.trim().length < 2} onClick=${doSearch}>${t('organisms.search') || 'Search'}</button>
112
+ </div>
113
+ ${results !== null && results.length === 0 ? html`<div class="section-desc">${t('organisms.searchNoResults') || 'No matches.'}</div>` : null}
114
+ ${(results || []).map(r => html`
115
+ <div class="pj-access-row card-clickable" key=${r.ws + '/' + r.space + '/' + r.id} role="button" onClick=${() => onOpenWorkspace?.(r.ws)}>
116
+ <span>
117
+ <b>${escHtml(r.title)}</b>
118
+ <span class="pj-mini"> — ${escHtml(r.wsName || r.ws)} · ${escHtml(r.space)}</span>
119
+ <div class="pj-mini">${escHtml(r.snippet)}</div>
120
+ </span>
121
+ </div>
122
+ `)}
123
+ </div>
124
+ `;
125
+ }
126
+
127
+ /**
128
+ * Banner listing the caller's pending organism invitations (status `invited`) across all
129
+ * organisms, with Accept / Decline. Invited organisms are not in the member's active list, so
130
+ * this is how an invitee discovers them. Backend: GET /v1/organisms/invitations/mine.
131
+ */
132
+ function IncomingInvitations({ showToast, onChanged }) {
133
+ const [invites, setInvites] = useState([]);
134
+ const [busy, setBusy] = useState(false);
135
+ const load = useCallback(async () => {
136
+ const r = await orgService.listMyInvitations().catch(() => null);
137
+ setInvites(r?.data?.invitations || []);
138
+ }, []);
139
+ useEffect(() => { load(); }, [load]);
140
+ const liveRef = useRef(load); liveRef.current = load;
141
+ useEffect(() => {
142
+ const h = () => liveRef.current();
143
+ window.addEventListener('aimeat-live-update', h);
144
+ return () => window.removeEventListener('aimeat-live-update', h);
145
+ }, []);
146
+ const act = async (id, accept) => {
147
+ setBusy(true);
148
+ try {
149
+ const r = accept ? await orgService.acceptInvitation(id) : await orgService.declineInvitation(id);
150
+ if (r?.ok === false) showToast(r?.error?.message || (t('organisms.inviteActionFailed') || 'Failed'));
151
+ else showToast(accept ? (t('organisms.invitationAccepted') || 'Joined') : (t('organisms.invitationDeclined') || 'Declined'));
152
+ await load(); onChanged?.();
153
+ } catch (e) { showToast((e && e.message) || (t('organisms.inviteActionFailed') || 'Failed')); }
154
+ finally { setBusy(false); }
155
+ };
156
+ if (!invites.length) return null;
157
+ return html`
158
+ <div class="card">
159
+ <div class="section-title">${t('organisms.youAreInvited') || 'You’re invited'}</div>
160
+ ${invites.map(({ membership, organism }) => html`
161
+ <div class="pj-access-row" key=${organism.id}>
162
+ <span><b>${escHtml(organism.name)}</b>${membership.invitedBy ? html` <span class="pj-mini">— ${(t('organisms.invitedByLabel') || 'invited by {who}').replace('{who}', escHtml(membership.invitedBy))}</span>` : null}</span>
163
+ <span class="flex-row-wrap">
164
+ <button class="btn-success btn-sm" disabled=${busy} onClick=${() => act(organism.id, true)}>${t('organisms.acceptInvite') || 'Accept'}</button>
165
+ <button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => act(organism.id, false)}>${t('organisms.declineInvite') || 'Decline'}</button>
166
+ </span>
167
+ </div>
168
+ `)}
169
+ </div>
170
+ `;
171
+ }
172
+
173
+ /**
174
+ * Organism member panel. For creator/admin (`canManage`) it is a full manager: approve/reject
175
+ * join requests, invite by name, remove/block members, lift bans, transfer ownership (creator
176
+ * only), and attach/detach agents. For a regular member it renders a read-only roster + agent
177
+ * list (#6). Backend: /:id/{join-requests,invitations,members,transfer,agents}. Refreshes the
178
+ * parent list via onChanged so member counts stay current.
179
+ */
180
+ function OrgMemberManager({ org, ghii, canManage, isCreator, showToast, confirm, onChanged }) {
181
+ const orgId = org.id;
182
+ const [requests, setRequests] = useState(null);
183
+ const [members, setMembers] = useState(null);
184
+ const [banned, setBanned] = useState([]);
185
+ const [invitations, setInvitations] = useState([]);
186
+ const [inviteName, setInviteName] = useState('');
187
+ const [agentName, setAgentName] = useState('');
188
+ const [busy, setBusy] = useState(false);
189
+
190
+ const load = useCallback(async () => {
191
+ const tasks = [orgService.listMembers(orgId).catch(() => null)];
192
+ if (canManage) {
193
+ tasks.push(
194
+ orgService.listJoinRequests(orgId).catch(() => null),
195
+ orgService.listMembers(orgId, 'banned').catch(() => null),
196
+ orgService.listInvitations(orgId).catch(() => null),
197
+ );
198
+ }
199
+ const [mb, rq, bn, inv] = await Promise.all(tasks);
200
+ setMembers(mb?.data?.members || []);
201
+ if (canManage) {
202
+ setRequests(rq?.data?.join_requests || []);
203
+ setBanned(bn?.data?.members || []);
204
+ setInvitations(inv?.data?.invitations || []);
205
+ }
206
+ }, [orgId, canManage]);
207
+
208
+ useEffect(() => { load(); }, [load]);
209
+ const liveRef = useRef(load); liveRef.current = load;
210
+ useEffect(() => {
211
+ const handler = () => liveRef.current();
212
+ window.addEventListener('aimeat-live-update', handler);
213
+ return () => window.removeEventListener('aimeat-live-update', handler);
214
+ }, []);
215
+
216
+ const run = async (fn, okMsg, failKey) => {
217
+ setBusy(true);
218
+ try {
219
+ const r = await fn();
220
+ if (r?.ok === false) showToast(r?.error?.message || (t(failKey) || 'Failed'));
221
+ else if (okMsg) showToast(okMsg);
222
+ await load(); onChanged?.();
223
+ } catch (e) { showToast((e && e.message) || (t(failKey) || 'Failed')); }
224
+ finally { setBusy(false); }
225
+ };
226
+
227
+ const review = (rid, decision) => run(
228
+ () => orgService.reviewJoinRequest(orgId, rid, decision),
229
+ decision === 'approved' ? (t('organisms.joinApproved') || 'Request approved') : (t('organisms.joinRejected') || 'Request declined'),
230
+ 'organisms.reviewFailed');
231
+
232
+ const invite = () => {
233
+ const name = inviteName.trim();
234
+ if (!name) return;
235
+ setInviteName('');
236
+ run(() => orgService.inviteMember(orgId, name), (t('organisms.invitationSent') || 'Invitation sent'), 'organisms.inviteFailed');
237
+ };
238
+
239
+ const remove = (memberGhii, ban) => confirm(
240
+ (ban ? (t('organisms.confirmBlockMember') || 'Block {member} and remove them from this organism?') : (t('organisms.confirmRemoveMember') || 'Revoke {member}’s access to this organism?')).replace('{member}', memberGhii),
241
+ () => run(() => orgService.removeMember(orgId, memberGhii, ban), ban ? (t('organisms.memberBlocked') || 'Member blocked') : (t('organisms.memberRemoved') || 'Member removed'), 'organisms.removeFailed'),
242
+ { danger: true });
243
+
244
+ const unban = (memberGhii) => run(() => orgService.unbanMember(orgId, memberGhii), (t('organisms.banLifted') || 'Block lifted'), 'organisms.removeFailed');
245
+
246
+ const transfer = (toGhii) => confirm(
247
+ (t('organisms.confirmTransfer') || 'Make {member} the creator? You will become an admin.').replace('{member}', toGhii),
248
+ () => run(() => orgService.transferOwnership(orgId, toGhii), (t('organisms.ownershipTransferred') || 'Ownership transferred'), 'organisms.transferFailed'),
249
+ { danger: true });
250
+
251
+ const attachAgent = () => {
252
+ const g = agentName.trim();
253
+ if (!g) return;
254
+ setAgentName('');
255
+ run(() => orgService.attachAgent(orgId, g), (t('organisms.agentAttached') || 'Agent attached'), 'organisms.agentFailed');
256
+ };
257
+ const detachAgent = (g) => run(() => orgService.detachAgent(orgId, g), (t('organisms.agentDetached') || 'Agent detached'), 'organisms.agentFailed');
258
+
259
+ const pending = (requests || []).filter(r => r.status === 'pending');
260
+ const agents = org.agentGaiis || [];
261
+
262
+ return html`
263
+ <div class="card-detail">
264
+ <div class="section-title">${canManage ? (t('organisms.manageMembers') || 'Manage members') : (t('organisms.membersRoster') || 'Members')}</div>
265
+ ${canManage ? html`<div class="section-desc">${t('organisms.manageMembersDesc') || 'Invite, approve, block and revoke member access.'}</div>` : null}
266
+
267
+ ${canManage ? html`
268
+ <div class="detail-label">${t('organisms.inviteMember') || 'Invite a member'}</div>
269
+ <div class="flex-row-wrap">
270
+ <input class="input-field input-sm" placeholder=${t('organisms.inviteePlaceholder') || 'owner name'} value=${inviteName}
271
+ onInput=${(e) => setInviteName(e.target.value)} onKeyDown=${(e) => { if (e.key === 'Enter') invite(); }} />
272
+ <button class="btn-primary btn-sm" disabled=${busy || !inviteName.trim()} onClick=${invite}>${t('organisms.invite') || 'Invite'}</button>
273
+ </div>
274
+ ${invitations.length > 0 ? html`
275
+ <div class="section-desc">${t('organisms.outstandingInvites') || 'Awaiting acceptance'}: ${invitations.map(m => escHtml(m.ghii)).join(', ')}</div>
276
+ ` : null}
277
+
278
+ <div class="detail-label">${t('organisms.pendingRequests') || 'Pending join requests'}</div>
279
+ ${requests === null
280
+ ? html`<div class="section-desc">…</div>`
281
+ : pending.length === 0
282
+ ? html`<div class="section-desc">${t('organisms.noPendingRequests') || 'No pending requests.'}</div>`
283
+ : pending.map(r => html`
284
+ <div class="pj-access-row" key=${r.id}>
285
+ <span>${escHtml(r.ghii)}${r.message ? html` <span class="pj-mini">— ${escHtml(r.message)}</span>` : null}</span>
286
+ <span class="flex-row-wrap">
287
+ <button class="btn-success btn-sm" disabled=${busy} onClick=${() => review(r.id, 'approved')}>${t('organisms.approve') || 'Approve'}</button>
288
+ <button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => review(r.id, 'rejected')}>${t('organisms.reject') || 'Reject'}</button>
289
+ </span>
290
+ </div>
291
+ `)}
292
+ ` : null}
293
+
294
+ <div class="detail-label">${t('organisms.members') || 'Members'}</div>
295
+ ${(members || []).map(m => html`
296
+ <div class="pj-access-row" key=${m.ghii}>
297
+ <span>${escHtml(m.ghii)} <span class="badge ${m.role === 'creator' ? 'badge-success' : 'badge-info'} pj-mini">${escHtml(m.role || 'member')}</span></span>
298
+ ${canManage && m.role !== 'creator' && m.ghii !== ghii ? html`
299
+ <span class="flex-row-wrap">
300
+ ${isCreator ? html`<button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => transfer(m.ghii)}>${t('organisms.makeCreator') || 'Make creator'}</button>` : null}
301
+ <button class="btn-outline btn-sm" disabled=${busy} onClick=${() => remove(m.ghii, false)}>${t('organisms.remove') || 'Remove'}</button>
302
+ <button class="btn-danger btn-sm" disabled=${busy} onClick=${() => remove(m.ghii, true)}>${t('organisms.block') || 'Block'}</button>
303
+ </span>
304
+ ` : null}
305
+ </div>
306
+ `)}
307
+
308
+ ${canManage && banned.length > 0 ? html`
309
+ <div class="detail-label">${t('organisms.blockedMembers') || 'Blocked'}</div>
310
+ ${banned.map(m => html`
311
+ <div class="pj-access-row" key=${'ban-' + m.ghii}>
312
+ <span>${escHtml(m.ghii)}</span>
313
+ <button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => unban(m.ghii)}>${t('organisms.unblock') || 'Unblock'}</button>
314
+ </div>
315
+ `)}
316
+ ` : null}
317
+
318
+ <div class="detail-label">${t('organisms.attachedAgents') || 'Attached agents'}</div>
319
+ ${agents.length === 0 ? html`<div class="section-desc">${t('organisms.noAgents') || 'No agents attached.'}</div>` : null}
320
+ ${agents.map(g => html`
321
+ <div class="pj-access-row" key=${'ag-' + g}>
322
+ <span class="mono">${escHtml(g)}</span>
323
+ ${(canManage || g.includes('#' + ghii + '@'))
324
+ ? html`<button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => detachAgent(g)}>${t('organisms.detach') || 'Detach'}</button>`
325
+ : null}
326
+ </div>
327
+ `)}
328
+ <div class="flex-row-wrap">
329
+ <input class="input-field input-sm" placeholder=${t('organisms.agentGaiiPlaceholder') || 'agent#you@node'} value=${agentName}
330
+ onInput=${(e) => setAgentName(e.target.value)} onKeyDown=${(e) => { if (e.key === 'Enter') attachAgent(); }} />
331
+ <button class="btn-outline btn-sm" disabled=${busy || !agentName.trim()} onClick=${attachAgent}>${t('organisms.attachAgent') || 'Attach agent'}</button>
332
+ </div>
333
+ </div>
334
+ `;
335
+ }
336
+
84
337
  export default function OrganismsTab({ session, showToast, onStats }) {
85
338
  const { confirm, ConfirmUI } = useConfirm();
86
339
  const [myOrganisms, setMyOrganisms] = useState(null);
@@ -416,6 +669,19 @@ export default function OrganismsTab({ session, showToast, onStats }) {
416
669
  </button>
417
670
  ` : null}
418
671
  </div>
672
+
673
+ ${(canEdit || isMember) ? html`<${OrgSearch}
674
+ orgId=${org.id}
675
+ onOpenWorkspace=${(ws) => { setOpenWs(ws); setOpenId(org.id); }} />` : null}
676
+
677
+ ${(canEdit || isMember) ? html`<${OrgMemberManager}
678
+ org=${org}
679
+ ghii=${ghii}
680
+ canManage=${canEdit}
681
+ isCreator=${isCreator}
682
+ showToast=${showToast}
683
+ confirm=${confirm}
684
+ onChanged=${loadData} />` : null}
419
685
  </div>
420
686
  `}
421
687
 
@@ -492,6 +758,9 @@ export default function OrganismsTab({ session, showToast, onStats }) {
492
758
  `}
493
759
  </div>
494
760
 
761
+ <!-- Incoming invitations -->
762
+ <${IncomingInvitations} showToast=${showToast} onChanged=${loadData} />
763
+
495
764
  <!-- My Organisms -->
496
765
  <input type="file" accept=".zip,application/zip" ref=${orgFileRef} style="display:none" onChange=${(e) => { const f = e.target.files && e.target.files[0]; e.target.value = ''; doImportOrg(f); }} />
497
766
  <div class="pj-ws-topbar">
@@ -915,6 +1184,88 @@ function ParticipantsPanel({ orgId, wsId }) {
915
1184
  </div>`;
916
1185
  }
917
1186
 
1187
+ /**
1188
+ * Comment thread on one workspace object (record or document). Targeted by orgId+ws+space+instanceId.
1189
+ * Members read + add comments; an author (or org admin) deletes. Supports an optional quote anchor
1190
+ * (comment on a specific passage) and threaded replies (parentId). Backend: /v1/organisms/:id/comments.
1191
+ * Agents use the same endpoints via aimeat_workspace_comment(s).
1192
+ */
1193
+ function WorkspaceComments({ orgId, ws, space, instanceId, showToast }) {
1194
+ const [comments, setComments] = useState(null);
1195
+ const [body, setBody] = useState('');
1196
+ const [anchorQuote, setAnchorQuote] = useState('');
1197
+ const [replyTo, setReplyTo] = useState(null); // { id, body } of the comment being replied to
1198
+ const [busy, setBusy] = useState(false);
1199
+ const me = (() => { try { return window.AIMEAT?.auth?.getSession?.() || {}; } catch { return {}; } })();
1200
+ const mine = (author) => author && (author === me.gaii || author === me.ghii);
1201
+
1202
+ const load = useCallback(async () => {
1203
+ if (!ws || !space || !instanceId) return;
1204
+ const r = await orgService.listComments(orgId, ws, space, instanceId).catch(() => null);
1205
+ setComments(r?.data?.comments || []);
1206
+ }, [orgId, ws, space, instanceId]);
1207
+ useEffect(() => { load(); }, [load]);
1208
+ const liveRef = useRef(load); liveRef.current = load;
1209
+ useEffect(() => {
1210
+ const h = () => liveRef.current();
1211
+ window.addEventListener('aimeat-live-update', h);
1212
+ return () => window.removeEventListener('aimeat-live-update', h);
1213
+ }, []);
1214
+
1215
+ const submit = async () => {
1216
+ const text = body.trim();
1217
+ if (!text) return;
1218
+ setBusy(true);
1219
+ try {
1220
+ const anchor = anchorQuote.trim() ? { quote: anchorQuote.trim() } : undefined;
1221
+ const r = await orgService.addComment(orgId, { ws, space, instanceId, body: text, anchor, parentId: replyTo?.id });
1222
+ if (r?.ok === false) showToast(r?.error?.message || (t('organisms.commentFailed') || 'Could not post comment'));
1223
+ else { setBody(''); setAnchorQuote(''); setReplyTo(null); await load(); }
1224
+ } catch (e) { showToast((e && e.message) || (t('organisms.commentFailed') || 'Could not post comment')); }
1225
+ finally { setBusy(false); }
1226
+ };
1227
+ const remove = async (c) => {
1228
+ setBusy(true);
1229
+ try {
1230
+ const r = await orgService.deleteComment(orgId, c.id, ws, space, instanceId);
1231
+ if (r?.ok === false) showToast(r?.error?.message || (t('organisms.commentDeleteFailed') || 'Could not delete'));
1232
+ else await load();
1233
+ } catch (e) { showToast((e && e.message) || (t('organisms.commentDeleteFailed') || 'Could not delete')); }
1234
+ finally { setBusy(false); }
1235
+ };
1236
+
1237
+ const list = comments || [];
1238
+ return html`
1239
+ <div class="pj-comments">
1240
+ <div class="detail-label">${(t('organisms.commentsHeading') || 'Comments') + (list.length ? ` (${list.length})` : '')}</div>
1241
+ ${comments === null ? html`<div class="section-desc">…</div>` : null}
1242
+ ${comments !== null && list.length === 0 ? html`<div class="section-desc">${t('organisms.noComments') || 'No comments yet.'}</div>` : null}
1243
+ ${list.map(c => html`
1244
+ <div class="pj-comment ${c.parentId ? 'pj-comment-reply' : ''}" key=${c.id}>
1245
+ <div class="pj-comment-head">
1246
+ <b>${escHtml(c.author || '?')}</b>
1247
+ ${c.parentId ? html`<span class="pj-mini"> · ${t('organisms.inReply') || 'reply'}</span>` : null}
1248
+ ${c.anchor?.quote ? html`<span class="pj-mini"> · “${escHtml(String(c.anchor.quote).slice(0, 80))}”</span>` : null}
1249
+ ${c.anchor?.section ? html`<span class="pj-mini"> · §${escHtml(c.anchor.section)}</span>` : null}
1250
+ <span class="pj-mini"> · ${c.createdAt ? dt(c.createdAt) : ''}</span>
1251
+ </div>
1252
+ <div class="pj-comment-body">${escHtml(c.body || '')}</div>
1253
+ <div class="pj-comment-actions">
1254
+ <button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => setReplyTo({ id: c.id, body: c.body })}>${t('organisms.reply') || 'Reply'}</button>
1255
+ ${mine(c.author) ? html`<button class="btn-ghost btn-sm" disabled=${busy} onClick=${() => remove(c)}>${t('organisms.delete') || 'Delete'}</button>` : null}
1256
+ </div>
1257
+ </div>
1258
+ `)}
1259
+ <div class="pj-comment-compose">
1260
+ ${replyTo ? html`<div class="pj-mini">${t('organisms.replyingTo') || 'Replying to'}: “${escHtml(String(replyTo.body || '').slice(0, 60))}” <button class="btn-ghost btn-sm" onClick=${() => setReplyTo(null)}>${t('organisms.cancel') || 'Cancel'}</button></div>` : null}
1261
+ <input class="input-field input-sm" placeholder=${t('organisms.anchorQuotePlaceholder') || 'Optional: quote a passage to anchor the comment'} value=${anchorQuote} onInput=${(e) => setAnchorQuote(e.target.value)} />
1262
+ <textarea class="input-field input-sm" rows="2" placeholder=${t('organisms.commentPlaceholder') || 'Add a comment…'} value=${body} onInput=${(e) => setBody(e.target.value)}></textarea>
1263
+ <button class="btn-primary btn-sm" disabled=${busy || !body.trim()} onClick=${submit}>${t('organisms.postComment') || 'Comment'}</button>
1264
+ </div>
1265
+ </div>
1266
+ `;
1267
+ }
1268
+
918
1269
  function Workspace({ org, wsId, showToast, onBack }) {
919
1270
  const orgId = org.id;
920
1271
  // Pop a document out into its own window (served by doc-solo.js) so several can sit side by side,
@@ -1481,7 +1832,8 @@ function Workspace({ org, wsId, showToast, onBack }) {
1481
1832
  const target = docs.find(d => (d.title || '').toLowerCase() === title.toLowerCase());
1482
1833
  if (target) { setActiveDoc({ type: ot.name, mode: 'view', page: target }); scrollToAnchor(); }
1483
1834
  else showToast((t('organisms.docNotFound') || 'No document titled “{title}”').replace('{title}', title));
1484
- }} />`;
1835
+ }} />
1836
+ <${WorkspaceComments} orgId=${orgId} ws=${wsId} space=${ot.name} instanceId=${livePage.id} showToast=${showToast} />`;
1485
1837
  })()}
1486
1838
  </div>
1487
1839
  </div>
@@ -1676,7 +2028,7 @@ function Workspace({ org, wsId, showToast, onBack }) {
1676
2028
  <button class="btn-primary btn-sm" onClick=${() => publish(ot, d.id)} disabled=${busy}>${t('organisms.publish') || 'Publish'}</button>
1677
2029
  <button class="pj-icon-btn" title=${t('organisms.delete') || 'Delete'} disabled=${busy} onClick=${() => removeObject(ot.namespace, d.id, String(d[PRIMARY_FIELD[ot.name] || 'title'] || d.id))}>🗑</button>
1678
2030
  </div>
1679
- ${expandedRec[ot.name + ':' + d.id] ? html`<div class="pj-rec-fields">${recordFields(d)}</div>` : null}
2031
+ ${expandedRec[ot.name + ':' + d.id] ? html`<div class="pj-rec-fields">${recordFields(d)}</div><${WorkspaceComments} orgId=${orgId} ws=${wsId} space=${ot.name} instanceId=${d.id} showToast=${showToast} />` : null}
1680
2032
  </div>
1681
2033
  `)}
1682
2034
 
@@ -1689,7 +2041,7 @@ function Workspace({ org, wsId, showToast, onBack }) {
1689
2041
  ${o.status ? html`<span class="badge badge-info">${escHtml(o.status)}</span>` : null}
1690
2042
  <button class="pj-icon-btn" title=${t('organisms.delete') || 'Delete'} disabled=${busy} onClick=${() => removeObject(ot.namespace, o.id, String(o[PRIMARY_FIELD[ot.name] || 'title'] || o.id))}>🗑</button>
1691
2043
  </div>
1692
- ${expandedRec[ot.name + ':' + o.id] ? html`<div class="pj-rec-fields">${recordFields(o)}</div>` : null}
2044
+ ${expandedRec[ot.name + ':' + o.id] ? html`<div class="pj-rec-fields">${recordFields(o)}</div><${WorkspaceComments} orgId=${orgId} ws=${wsId} space=${ot.name} instanceId=${o.id} showToast=${showToast} />` : null}
1693
2045
  </div>
1694
2046
  `)
1695
2047
  }
@@ -4,15 +4,20 @@
4
4
  * Reads the no-auth endpoint GET /v1/organisms/:id/workspace/public/documents?ws=… (which serves
5
5
  * only PUBLISHED docs the workspace's meta.share marks public) and renders each page's markdown with
6
6
  * the safe Markdown component. A table-of-contents lists the shared pages; [[Wiki links]] jump
7
- * between them. "Print / Save as PDF" uses the browser's native print (a print stylesheet hides the
8
- * chrome) — there is no server-side PDF. Deep-link a single page with &type=…&id=….
7
+ * between them. The whole-space view renders EVERY shared page stacked in one continuous document
8
+ * (the TOC scroll-spies + scrolls), so "Print / Save as PDF" captures all pages in one go — there is
9
+ * no server-side PDF. A single page can still be deep-linked (and isolated) with &type=…&id=….
10
+ * "Copy AI link" copies the no-auth Markdown-bundle API URL (?format=md) so an agent can read the
11
+ * raw content directly; drop &format=md for the JSON form.
9
12
  * @structure PublicWorkspaceViewer (default export)
10
13
  * @usage route /v1/publicworkspaceviewer?org=<id>&ws=<ws>[&type=<space>&id=<docId>]
11
14
  * @version-history
12
15
  * v1.0.0 — 2026-06-09 — Initial: slice 2 of the workspace public-sharing plan.
16
+ * v1.1.0 — 2026-06-09 — Continuous whole-space render (all pages stacked → print captures everything)
17
+ * with scroll-spy TOC; "Copy AI link" button exposing the ?format=md Markdown-bundle API URL.
13
18
  */
14
19
  import { h } from 'preact';
15
- import { useState, useEffect, useCallback } from 'preact/hooks';
20
+ import { useState, useEffect, useCallback, useRef } from 'preact/hooks';
16
21
  import htm from 'htm';
17
22
  import { t } from '/js/i18n.js';
18
23
  import { Markdown } from '/components/Markdown.js';
@@ -21,6 +26,8 @@ import { useViewCSS } from '/components/useViewCSS.js';
21
26
  const html = htm.bind(h);
22
27
 
23
28
  const docKey = (d) => `${d.type}/${d.id}`;
29
+ // A DOM-id-safe anchor for each stacked page so the TOC can scroll to it.
30
+ const anchorId = (d) => `pwv-doc-${docKey(d).replace(/[^a-zA-Z0-9_-]/g, '-')}`;
24
31
 
25
32
  function parseParams() {
26
33
  const p = new URLSearchParams(window.location.search);
@@ -64,18 +71,65 @@ export default function PublicWorkspaceViewer() {
64
71
  return () => document.body.classList.remove('pwv-active');
65
72
  }, []);
66
73
 
74
+ // A doc is "isolated" (single-page mode) only when the link explicitly deep-links one page via
75
+ // &type=&id=. The plain whole-space link renders EVERY page stacked (continuous document) so the
76
+ // browser print captures all of them at once.
77
+ const isSingle = Array.isArray(docs) && !!type && !!id && docs.some(d => docKey(d) === `${type}/${id}`);
78
+ const visibleDocs = Array.isArray(docs) ? (isSingle ? docs.filter(d => docKey(d) === `${type}/${id}`) : docs) : [];
67
79
  const current = Array.isArray(docs) ? docs.find(d => docKey(d) === selected) : null;
68
80
  useEffect(() => {
69
81
  if (current?.title) document.title = `${current.title} — AIMEAT`;
70
82
  }, [current?.title]);
71
83
 
84
+ // Scroll a page into view and mark it active (TOC click + initial deep-link land).
85
+ const goTo = useCallback((d) => {
86
+ setSelected(docKey(d));
87
+ const el = document.getElementById(anchorId(d));
88
+ if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
89
+ }, []);
90
+
91
+ // On first load of the whole-space view, if a page was deep-linked, scroll to it.
92
+ const didLand = useRef(false);
93
+ useEffect(() => {
94
+ if (didLand.current || isSingle || !Array.isArray(docs) || docs.length === 0) return;
95
+ if (type && id) {
96
+ const hit = docs.find(d => docKey(d) === `${type}/${id}`);
97
+ if (hit) { didLand.current = true; setTimeout(() => goTo(hit), 0); }
98
+ }
99
+ }, [docs, isSingle, type, id, goTo]);
100
+
101
+ // Scroll-spy: highlight the TOC entry for the page currently in view (whole-space mode only).
102
+ useEffect(() => {
103
+ if (isSingle || !Array.isArray(docs) || docs.length === 0) return;
104
+ const obs = new IntersectionObserver((entries) => {
105
+ const top = entries.filter(e => e.isIntersecting).sort((a, b) => a.boundingClientRect.top - b.boundingClientRect.top)[0];
106
+ if (top) setSelected(top.target.dataset.pwvKey);
107
+ }, { rootMargin: '-10% 0px -75% 0px', threshold: 0 });
108
+ docs.forEach(d => { const el = document.getElementById(anchorId(d)); if (el) obs.observe(el); });
109
+ return () => obs.disconnect();
110
+ }, [docs, isSingle]);
111
+
72
112
  // [[Wiki links]] jump to another shared page by (case-insensitive) title.
73
113
  const onWikiLink = useCallback((title) => {
74
114
  if (!Array.isArray(docs)) return;
75
115
  const want = String(title).split('#')[0].trim().toLowerCase();
76
116
  const hit = docs.find(d => String(d.title).trim().toLowerCase() === want);
77
- if (hit) setSelected(docKey(hit));
78
- }, [docs]);
117
+ if (hit) goTo(hit);
118
+ }, [docs, goTo]);
119
+
120
+ // The no-auth Markdown-bundle API URL — paste it to an AI agent to read the raw content directly.
121
+ // Single-page link when isolated, whole-space bundle otherwise; drop &format=md for the JSON form.
122
+ const aiLink = isSingle
123
+ ? `${window.location.origin}/v1/organisms/${encodeURIComponent(org)}/workspace/public/document?ws=${encodeURIComponent(ws)}&type=${encodeURIComponent(type)}&id=${encodeURIComponent(id)}&format=md`
124
+ : `${window.location.origin}/v1/organisms/${encodeURIComponent(org)}/workspace/public/documents?ws=${encodeURIComponent(ws)}&format=md`;
125
+ const [copied, setCopied] = useState(false);
126
+ const copyAiLink = useCallback(async () => {
127
+ try {
128
+ await navigator.clipboard.writeText(aiLink);
129
+ setCopied(true);
130
+ setTimeout(() => setCopied(false), 1800);
131
+ } catch { /* clipboard unavailable — ignore */ }
132
+ }, [aiLink]);
79
133
 
80
134
  if (docs === undefined) {
81
135
  return html`<div class="pwv-container"><div class="pwv-state">${t('pwv.loading') || 'Loading…'}</div></div>`;
@@ -105,7 +159,7 @@ export default function PublicWorkspaceViewer() {
105
159
  ${docs.map(d => html`
106
160
  <button
107
161
  class="pwv-toc-item ${docKey(d) === selected ? 'pwv-active' : ''}"
108
- onClick=${() => setSelected(docKey(d))}
162
+ onClick=${() => goTo(d)}
109
163
  >${d.title || d.id}</button>
110
164
  `)}
111
165
  </nav>
@@ -114,12 +168,21 @@ export default function PublicWorkspaceViewer() {
114
168
  <main class="pwv-main">
115
169
  <div class="pwv-bar">
116
170
  <span class="pwv-badge">${t('pwv.publicBadge') || 'Public document'}</span>
117
- <button class="btn-outline btn-sm pwv-print" onClick=${() => window.print()}>
118
- ${t('pwv.print') || 'Print / Save as PDF'}
119
- </button>
171
+ <div class="pwv-bar-actions">
172
+ <button class="btn-outline btn-sm pwv-action" onClick=${copyAiLink}>
173
+ ${copied ? (t('pwv.copied') || 'Copied!') : (t('pwv.copyAiLink') || 'Copy AI link (Markdown)')}
174
+ </button>
175
+ <button class="btn-outline btn-sm pwv-action" onClick=${() => window.print()}>
176
+ ${t('pwv.print') || 'Print / Save as PDF'}
177
+ </button>
178
+ </div>
120
179
  </div>
121
- ${current
122
- ? html`<article class="pwv-doc"><${Markdown} text=${current.markdown || ''} onWikiLink=${onWikiLink} /></article>`
180
+ ${visibleDocs.length > 0
181
+ ? visibleDocs.map(d => html`
182
+ <article class="pwv-doc" id=${anchorId(d)} data-pwv-key=${docKey(d)}>
183
+ <${Markdown} text=${d.markdown || ''} onWikiLink=${onWikiLink} />
184
+ </article>
185
+ `)
123
186
  : html`<div class="pwv-state">${t('pwv.selectDocument') || 'Select a document.'}</div>`
124
187
  }
125
188
  </main>
@@ -27,7 +27,7 @@ import { storeToken, getToken, listAllTokens } from './keychain.js';
27
27
  import { saveConfig, savePerAgentConfig, loadPerAgentConfig } from './config.js';
28
28
  import { downloadSkillBundle, readSkillBundleGuide } from './skill-bundle.js';
29
29
  import { buildAgentOnboardingInstruction } from './onboarding-prompt.js';
30
- const VALID_MODES = ['autonomous', 'interactive', 'task-runner', 'coordinator'];
30
+ const VALID_MODES = ['autonomous', 'interactive', 'task-runner', 'coordinator', 'workstation'];
31
31
  const DEFAULT_NODE_URL = 'https://aimeat.io';
32
32
  const DEFAULT_AGENT_NAME = 'assistant';
33
33
  function normalizeNodeUrl(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/cli/connect/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAKzE,MAAM,WAAW,GAA6B,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAyB1G,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAEvC,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC;WACjB,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;WACtC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,iBAAiB,EAAE,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;KACrG,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,gBAAwB;IACrD,OAAO;;;;;;;;;;;EAWP,gBAAgB;;;;;;;;;;;;0DAYwC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,MAAoB,EACpB,SAAiB,EACjB,OAAkC,EAClC,IAA+B,EAC/B,IAA+B;IAE/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,OAAO,CAAC,4CAA4C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,oBAAoB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,WAAoB,EAAE,OAAuB;IACnE,IAAI,WAAW,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,OAAO;QACL,KAAK,CAAC,OAAe,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,OAAgB,IAAI,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;QAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;QAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;QAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;QAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;QAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;QAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5G,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEhC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,6GAA6G,CAAC,CAAC;QACpH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,OAAQ,CAAC,IAAI,CAAC;QACnD,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,CAAC,KAAK;YACZ,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,8DAA8D,CAAC;QAC9G,CAAC;KACF,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACvF,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAsB,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,uHAAuH,CAAC,CAAC;QAC9H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,OAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACxF,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACrF,MAAM,KAAK,GAAI,UAAqB,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,gHAAgH,CAAC,CAAC;QACvH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW;QAC3C,CAAC,CAAC,MAAM,OAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;QACpH,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,CAAC,CAAC;IAC3D,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACrF,MAAM,SAAS,GAAI,UAAqB,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,8GAA8G,CAAC,CAAC;QACrH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,0CAA0C,SAAS,uDAAuD,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,IAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAiB,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,IAAiB,CAAC;IAChC,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpF,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,CAAC,oCAAoC,CAAC,CAAC;gBAC9C,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3D,4EAA4E;gBAC5E,6EAA6E;gBAC7E,6EAA6E;gBAC7E,yEAAyE;gBACzE,mDAAmD;gBACnD,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACvD,IAAI,gBAAgB,EAAE,CAAC;wBACrB,kBAAkB,CAAC,SAAS,EAAE,EAAE,GAAG,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC7D,IAAI,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;wBACrD,IAAI,CAAC,wFAAwF,CAAC,CAAC;oBACjG,CAAC;gBACH,CAAC;gBACD,MAAM,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1E,KAAK,CAAC,qBAAqB,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAE9C,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC1D,UAAU,EAAE,SAAS;YACrB,KAAK;YACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACxC,IAAI,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACxC,IAAI,CAAE,QAAQ,CAAC,KAA6B,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAKzB,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,QAAQ,CAAC,gBAAgB,cAAc,CAAC,CAAC;IAEtD,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,IAAI,SAAS,GAA+B,IAAI,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACtD,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,UAAU,EAAE,8CAA8C;aAC3D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC1B,IAAI,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,SAAS,GAAG,QAAQ,CAAC;YACrB,MAAM;QACR,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC1B,MAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,KAAK,CAAC;QAClC,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAChC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,KAAK,uBAAuB,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,EAAE,iBAAiB,IAAI,gFAAgF,CAAC,CAAC;YACxH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEpB,6EAA6E;IAC7E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,YAAY,GAAG,MAAM,aAAa,EAAE,CAAC;IAC3C,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC7F,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1G,MAAM,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO,CAAC,wBAAwB,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC;IAEvD,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACvD,kBAAkB,CAAC,SAAS,EAAE;QAC5B,KAAK,EAAE,SAAS;QAChB,KAAK;QACL,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,YAAY;QAClD,IAAI,EAAE,IAAI,IAAI,gBAAgB,EAAE,IAAI;QACpC,aAAa,EAAE,gBAAgB,EAAE,aAAa;QAC9C,IAAI,EAAE,gBAAgB,EAAE,IAAI;QAC5B,MAAM,EAAE,gBAAgB,EAAE,MAAM;KACjC,CAAC,CAAC;IAEH,gEAAgE;IAChE,8EAA8E;IAC9E,sDAAsD;IACtD,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;QACtC,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE1E,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,oKAAoK,CAAC,CAAC;QAC3K,IAAI,CAAC,gEAAgE,SAAS,cAAc,CAAC,CAAC;QAC9F,IAAI,CAAC,wFAAwF,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/cli/connect/auth.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export interface AimeatPerAgentConfig {
36
36
  * configures the local connector to actually spawn a subprocess. Both are
37
37
  * needed for a working task-runner agent.
38
38
  */
39
- mode?: 'autonomous' | 'interactive' | 'task-runner' | 'coordinator';
39
+ mode?: 'autonomous' | 'interactive' | 'task-runner' | 'coordinator' | 'workstation';
40
40
  /** Optional: poll interval in seconds (default: 30). */
41
41
  poll_interval?: number;
42
42
  /** Optional: per-agent wake adapter (overrides global). See SECURITY note. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/config.ts"],"names":[],"mappings":"AAmCA,wBAAgB,YAAY,IAAI,MAAM,CAAuB;AAI7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAKd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;CAChF;AAED,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAIvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAG5D;AAID,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;IACpE,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,yGAAyG;IACzG,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQ7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAIpF;AAID,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAyB5D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQhG"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/config.ts"],"names":[],"mappings":"AAmCA,wBAAgB,YAAY,IAAI,MAAM,CAAuB;AAI7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAKd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;CAChF;AAED,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAIvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAG5D;AAID,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;IACpF,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,yGAAyG;IACzG,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQ7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAIpF;AAID,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAyB5D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/server.ts"],"names":[],"mappings":"AAqCA,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D3E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/server.ts"],"names":[],"mappings":"AAqCA,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D3E"}