@stablebaseline/sdk 0.1.0 → 0.2.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/index.d.cts +1792 -25
- package/dist/index.d.ts +1792 -25
- package/openapi.json +2136 -231
- package/package.json +6 -4
- package/src/types.generated.ts +1792 -25
package/dist/index.d.ts
CHANGED
|
@@ -134,7 +134,7 @@ interface paths {
|
|
|
134
134
|
put?: never;
|
|
135
135
|
/**
|
|
136
136
|
* listAssignablePrincipals
|
|
137
|
-
* @description Server-side searchable, paginated list of USERS and TEAMS that can be assigned as the owner of an improvement/task in a project. Returns two arrays — `users` (with user_id, display_name, email, avatar_url, has_explicit_permission) and `teams` (with team_id, name, member_count, has_explicit_permission). Sources: project-level grants + workspace members + organization members + members of teams granted access. Use BEFORE updateImprovement/updateTask when you need
|
|
137
|
+
* @description Server-side searchable, paginated list of USERS and TEAMS that can be assigned as the owner of an improvement/task in a project — and the canonical source for resolving a person's user_id when @-mentioning them in a document. Returns two arrays — `users` (with user_id, display_name, email, avatar_url, has_explicit_permission) and `teams` (with team_id, name, member_count, has_explicit_permission). Sources: project-level grants + workspace members + organization members + members of teams granted access. Use BEFORE: (1) updateImprovement/updateTask when you need an `owner_id` (kind='user') or `owner_team_id` (kind='team'); (2) inserting a `<!-- REFERENCE: {"type":"user","id":"…","label":"…"} -->` mention in document content via createDocument / editDocument / findAndReplaceTextInDocument. Supports `q` for ILIKE search on names/emails (users) or team names. Pass `kind='user'` or `kind='team'` to scope to a single section, or 'all' (default) for both. Pagination via limit (1-100, default 20) + offset.
|
|
138
138
|
*/
|
|
139
139
|
post: operations["listAssignablePrincipals"];
|
|
140
140
|
delete?: never;
|
|
@@ -323,6 +323,26 @@ interface paths {
|
|
|
323
323
|
patch?: never;
|
|
324
324
|
trace?: never;
|
|
325
325
|
};
|
|
326
|
+
"/tools/reorderFolders": {
|
|
327
|
+
parameters: {
|
|
328
|
+
query?: never;
|
|
329
|
+
header?: never;
|
|
330
|
+
path?: never;
|
|
331
|
+
cookie?: never;
|
|
332
|
+
};
|
|
333
|
+
get?: never;
|
|
334
|
+
put?: never;
|
|
335
|
+
/**
|
|
336
|
+
* reorderFolders
|
|
337
|
+
* @description Batch-reorder folders within a parent (or project root) by setting sibling positions. Pass [{folderId, position}, ...] where position is a non-negative integer; usually you renumber siblings sequentially as 0, 1, 2…. To MOVE a folder to a different parent and set its position there, use updateFolder({parentId, position}) instead.
|
|
338
|
+
*/
|
|
339
|
+
post: operations["reorderFolders"];
|
|
340
|
+
delete?: never;
|
|
341
|
+
options?: never;
|
|
342
|
+
head?: never;
|
|
343
|
+
patch?: never;
|
|
344
|
+
trace?: never;
|
|
345
|
+
};
|
|
326
346
|
"/tools/listDocuments": {
|
|
327
347
|
parameters: {
|
|
328
348
|
query?: never;
|
|
@@ -414,7 +434,7 @@ interface paths {
|
|
|
414
434
|
put?: never;
|
|
415
435
|
/**
|
|
416
436
|
* createDocument
|
|
417
|
-
* @description Create a document from CDMD markdown. Call getCdmdLanguageGuide first if unfamiliar with syntax. Do not include DIAGRAM/IMAGE markers — insert them after with dedicated tools.
|
|
437
|
+
* @description Create a document from CDMD markdown. Call getCdmdLanguageGuide first if unfamiliar with syntax. Do not include DIAGRAM/IMAGE markers — insert them after with dedicated tools. Supports @-mentioning people: embed `<!-- REFERENCE: {"type":"user","id":"<user_uuid>","label":"Name"} -->` to notify a teammate. Use listAssignablePrincipals to look up the user_id from a name; mentions of users outside the project are silently dropped.
|
|
418
438
|
*/
|
|
419
439
|
post: operations["createDocument"];
|
|
420
440
|
delete?: never;
|
|
@@ -434,7 +454,7 @@ interface paths {
|
|
|
434
454
|
put?: never;
|
|
435
455
|
/**
|
|
436
456
|
* editDocument
|
|
437
|
-
* @description Edit a document with line-based patches. Call getDocument first for line numbers and versionTimestamp. Call getCdmdLanguageGuide if unfamiliar with CDMD syntax. Do not edit DIAGRAM/IMAGE markers manually — use dedicated diagram/image tools.
|
|
457
|
+
* @description Edit a document with line-based patches. Call getDocument first for line numbers and versionTimestamp. Call getCdmdLanguageGuide if unfamiliar with CDMD syntax. Do not edit DIAGRAM/IMAGE markers manually — use dedicated diagram/image tools. To @-mention a person in your patch, insert `<!-- REFERENCE: {"type":"user","id":"<user_uuid>","label":"Name"} -->`; look up the user_id via listAssignablePrincipals. Mentioned users are notified automatically.
|
|
438
458
|
*/
|
|
439
459
|
post: operations["editDocument"];
|
|
440
460
|
delete?: never;
|
|
@@ -454,7 +474,7 @@ interface paths {
|
|
|
454
474
|
put?: never;
|
|
455
475
|
/**
|
|
456
476
|
* findAndReplaceTextInDocument
|
|
457
|
-
* @description Find and replace text in a document. Searches for all occurrences and replaces them. Case-sensitive by default. Diagrams/images are automatically protected — only document text is affected.
|
|
477
|
+
* @description Find and replace text in a document. Searches for all occurrences and replaces them. Case-sensitive by default. Diagrams/images are automatically protected — only document text is affected. Note: when the `replace` value contains a `<!-- REFERENCE: {...} -->` marker (e.g. inserting a user mention), it round-trips losslessly through the editor and triggers notifications if it adds a new user mention.
|
|
458
478
|
*/
|
|
459
479
|
post: operations["findAndReplaceTextInDocument"];
|
|
460
480
|
delete?: never;
|
|
@@ -494,7 +514,7 @@ interface paths {
|
|
|
494
514
|
put?: never;
|
|
495
515
|
/**
|
|
496
516
|
* insertDiagramInDocument
|
|
497
|
-
* @description Insert a new diagram into a document. Call listDiagramTypes to find your type, then getDiagramTypeGuide for DSL syntax before writing diagramCode.
|
|
517
|
+
* @description Insert a new diagram into a document. Call listDiagramTypes to find your type, then getDiagramTypeGuide for DSL syntax before writing diagramCode. Always set prompt + nlDescription to describe what the diagram shows (they are its saved description) and keep them accurate. After inserting, VERIFY the render — set returnImage:true (or call getDiagramImage) to actually SEE it — and if it is wrong or ugly, correct it with updateDiagramInDocument (provide the full updated diagramCode).
|
|
498
518
|
*/
|
|
499
519
|
post: operations["insertDiagramInDocument"];
|
|
500
520
|
delete?: never;
|
|
@@ -514,7 +534,7 @@ interface paths {
|
|
|
514
534
|
put?: never;
|
|
515
535
|
/**
|
|
516
536
|
* updateDiagramInDocument
|
|
517
|
-
* @description Update a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax. Requires documentVersionTimestamp from getDocument. IMPORTANT: To change what the diagram visually shows, you MUST provide diagramCode with the full updated DSL source. The prompt and nlDescription fields are metadata only and do NOT change the rendered diagram.
|
|
537
|
+
* @description Update a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax. Requires documentVersionTimestamp from getDocument. IMPORTANT: To change what the diagram visually shows, you MUST provide diagramCode with the full updated DSL source. The prompt and nlDescription fields are metadata only and do NOT change the rendered diagram. After updating, re-render with getDiagramImage to confirm it now looks right (iterate if not), and keep prompt/nlDescription in step with what the diagram now shows.
|
|
518
538
|
*/
|
|
519
539
|
post: operations["updateDiagramInDocument"];
|
|
520
540
|
delete?: never;
|
|
@@ -563,6 +583,306 @@ interface paths {
|
|
|
563
583
|
patch?: never;
|
|
564
584
|
trace?: never;
|
|
565
585
|
};
|
|
586
|
+
"/tools/getWhiteboardGuide": {
|
|
587
|
+
parameters: {
|
|
588
|
+
query?: never;
|
|
589
|
+
header?: never;
|
|
590
|
+
path?: never;
|
|
591
|
+
cookie?: never;
|
|
592
|
+
};
|
|
593
|
+
get?: never;
|
|
594
|
+
put?: never;
|
|
595
|
+
/**
|
|
596
|
+
* getWhiteboardGuide
|
|
597
|
+
* @description Get the Stable Baseline whiteboarding guide (Markdown): when to use stencils vs architecture icons vs code/BPMN diagrams vs plain shapes vs real images vs frames/presentations, how to lay out and verify a board, and how to edit a large board safely (patch by id, never replace). Call before authoring a non-trivial whiteboard.
|
|
598
|
+
*/
|
|
599
|
+
post: operations["getWhiteboardGuide"];
|
|
600
|
+
delete?: never;
|
|
601
|
+
options?: never;
|
|
602
|
+
head?: never;
|
|
603
|
+
patch?: never;
|
|
604
|
+
trace?: never;
|
|
605
|
+
};
|
|
606
|
+
"/tools/createWhiteboard": {
|
|
607
|
+
parameters: {
|
|
608
|
+
query?: never;
|
|
609
|
+
header?: never;
|
|
610
|
+
path?: never;
|
|
611
|
+
cookie?: never;
|
|
612
|
+
};
|
|
613
|
+
get?: never;
|
|
614
|
+
put?: never;
|
|
615
|
+
/**
|
|
616
|
+
* createWhiteboard
|
|
617
|
+
* @description Create a whiteboard — an infinite Excalidraw canvas. A whiteboard is a hidden document (it won't appear in listDocuments) that hosts a single freeform canvas, and opens in the immersive whiteboard editor in the app. Returns documentId + diagramId. Author shapes afterwards with addWhiteboardElements (high-level specs) or updateWhiteboardScene. For anything beyond a blank board, call getWhiteboardGuide first to plan the layout (stencils vs architecture icons vs code/BPMN diagrams vs plain shapes), and render with getWhiteboardImage to verify as you go.
|
|
618
|
+
*/
|
|
619
|
+
post: operations["createWhiteboard"];
|
|
620
|
+
delete?: never;
|
|
621
|
+
options?: never;
|
|
622
|
+
head?: never;
|
|
623
|
+
patch?: never;
|
|
624
|
+
trace?: never;
|
|
625
|
+
};
|
|
626
|
+
"/tools/listWhiteboards": {
|
|
627
|
+
parameters: {
|
|
628
|
+
query?: never;
|
|
629
|
+
header?: never;
|
|
630
|
+
path?: never;
|
|
631
|
+
cookie?: never;
|
|
632
|
+
};
|
|
633
|
+
get?: never;
|
|
634
|
+
put?: never;
|
|
635
|
+
/**
|
|
636
|
+
* listWhiteboards
|
|
637
|
+
* @description List the whiteboards in a project (hidden whiteboard-kind documents). Returns documentId, diagramId, title and timestamps for each.
|
|
638
|
+
*/
|
|
639
|
+
post: operations["listWhiteboards"];
|
|
640
|
+
delete?: never;
|
|
641
|
+
options?: never;
|
|
642
|
+
head?: never;
|
|
643
|
+
patch?: never;
|
|
644
|
+
trace?: never;
|
|
645
|
+
};
|
|
646
|
+
"/tools/getWhiteboard": {
|
|
647
|
+
parameters: {
|
|
648
|
+
query?: never;
|
|
649
|
+
header?: never;
|
|
650
|
+
path?: never;
|
|
651
|
+
cookie?: never;
|
|
652
|
+
};
|
|
653
|
+
get?: never;
|
|
654
|
+
put?: never;
|
|
655
|
+
/**
|
|
656
|
+
* getWhiteboard
|
|
657
|
+
* @description Read a whiteboard: its metadata plus a summary of the canvas (element count, element types, and text labels on the board). Pass includeElements=true to also return the full Excalidraw scene ({elements, appState, files}) — needed if you intend to modify it and send it back via updateWhiteboardScene. FOR BEST RESULTS, also call getWhiteboardImage to render the board to an image and actually SEE it: the visual layout (positions, spacing, overlaps, colours, how shapes connect) is far easier to understand from the rendered picture than from the element list, so view it first to truly understand the board and to propose or verify edits accurately.
|
|
658
|
+
*/
|
|
659
|
+
post: operations["getWhiteboard"];
|
|
660
|
+
delete?: never;
|
|
661
|
+
options?: never;
|
|
662
|
+
head?: never;
|
|
663
|
+
patch?: never;
|
|
664
|
+
trace?: never;
|
|
665
|
+
};
|
|
666
|
+
"/tools/updateWhiteboardScene": {
|
|
667
|
+
parameters: {
|
|
668
|
+
query?: never;
|
|
669
|
+
header?: never;
|
|
670
|
+
path?: never;
|
|
671
|
+
cookie?: never;
|
|
672
|
+
};
|
|
673
|
+
get?: never;
|
|
674
|
+
put?: never;
|
|
675
|
+
/**
|
|
676
|
+
* updateWhiteboardScene
|
|
677
|
+
* @description Edit elements on a whiteboard's canvas WITHOUT dropping the rest of the scene. A board may hold many diagrams/elements, so prefer surgical edits: mode='patch' (DEFAULT) shallow-merges each incoming object into the existing element with the same `id` (send just {id, backgroundColor:'blue'} to recolour one box, or {id, x, y} to move one) and appends any elements whose id is new/absent — everything else is left untouched. `deleteIds` removes specific elements by id. mode='append' only adds. mode='replace' overwrites the ENTIRE scene (use ONLY when intentionally rewriting the whole board). To author NEW shapes/connectors from a high-level spec, prefer addWhiteboardElements. Optional appState/files are merged in. PROCESS: for a non-trivial edit call getWhiteboardGuide FIRST; after editing, ALWAYS call getWhiteboardImage to confirm the board still looks right (layout, labels, overlaps), and patch again if it doesn't.
|
|
678
|
+
*/
|
|
679
|
+
post: operations["updateWhiteboardScene"];
|
|
680
|
+
delete?: never;
|
|
681
|
+
options?: never;
|
|
682
|
+
head?: never;
|
|
683
|
+
patch?: never;
|
|
684
|
+
trace?: never;
|
|
685
|
+
};
|
|
686
|
+
"/tools/addWhiteboardElements": {
|
|
687
|
+
parameters: {
|
|
688
|
+
query?: never;
|
|
689
|
+
header?: never;
|
|
690
|
+
path?: never;
|
|
691
|
+
cookie?: never;
|
|
692
|
+
};
|
|
693
|
+
get?: never;
|
|
694
|
+
put?: never;
|
|
695
|
+
/**
|
|
696
|
+
* addWhiteboardElements
|
|
697
|
+
* @description Author shapes onto a whiteboard from high-level specs (you do NOT need the full Excalidraw element schema). Appends to the canvas. Expressive enough to reproduce real Excalidraw templates (sticky-note brainstorm grids, sketchy mind maps, flowcharts). Each spec: { type: 'rectangle'|'ellipse'|'diamond'|'sticky'|'text'|'arrow'|'line'|'frame'|'image'|'stencil', id?, x, y, width, height, text? (STRONGLY PREFER setting a shape's label via its own `text` — it becomes a centered, auto-WRAPPED bound label fitted to the shape; do NOT drop a separate type:'text' element on top of a shape as its label. Standalone type:'text' is for free-floating titles/notes and now also wraps to its width; Yes/No label on an arrow — emojis are fine, e.g. 'Risks ⚠️'), fontSize?, fontFamily? (1=hand-drawn default, 2=normal, 3=code), textAlign?, backgroundColor? (name 'blue'/'green'/'yellow'/'pink'/'violet'/'orange'/'teal'/… or hex), strokeColor?, fillStyle? ('solid'|'hachure'|'cross-hatch'), strokeStyle? ('solid'|'dashed'|'dotted' — use 'dashed' for grid/category borders), strokeWidth? (1 thin/2 bold/4 extra), roughness? (0 clean, 1 default, 2 very sketchy/hand-drawn — use 2 for organic mind maps), roundness? (number type or null for sharp), opacity?, name? (frame title), frameId? (put a shape inside a frame), start?:{id}, end?:{id} (connect arrows/lines to shapes by id — connectors AUTO-CLIP to the shape edges, never overrun to the centre, AUTO-ROUTE around any shapes in between so a decision's No/loop-back branch never cuts straight through the boxes between source and target, and bound text auto-wraps + centres), routing? ('straight' default | 'elbow' for clean right-angle flowchart/org-chart connectors | 'curved'), startArrowhead?/endArrowhead? (arrowheads are SOLID filled triangles by default — just OMIT them. Pass null for a plain mind-map spoke with no head. Do NOT pass 'arrow': that is Excalidraw's open 'V' and is auto-upgraded to a solid triangle anyway), points? ([[0,0],[dx,dy]] relative, only for manual geometry — almost never needed; binding by id is better), props? (escape hatch: any other Excalidraw field) }. ARCHITECTURE ICONS: to place a software-architecture icon (AWS/Azure/GCP/Docker/Kubernetes/databases/etc.), first call listArchitectureIcons to find one, then add a spec { type:'image', iconPath:'<relative_url e.g. dev/docker.svg>', x, y, width:96, height:96, text?:'<caption shown below>' } — the icon is stored as a URL reference (never base64). Use imageUrl instead of iconPath for any other public image. Combine icons with labelled boxes + elbow arrows for clean architecture diagrams. LIBRARY STENCILS: for hand-drawn, on-brand elements (sticky notes, scrum/kanban columns, flowchart symbols, UML/ER, BPMN, org-chart nodes, wireframe widgets, stick figures), FIRST call listWhiteboardStencils to find one, then add { type:'stencil', stencilKey:'<key from listWhiteboardStencils>', x, y } (or { type:'stencil', stencil:'<name e.g. yellow sticky note>', pack?:'<pack>', x, y } to fuzzy-match by name). STRONGLY prefer these over plain rectangles whenever the user asks for sticky notes, kanban/scrum/story boards, flowcharts, wireframes/mockups, org charts, etc. FRAMES: a frame is a NON-DESTRUCTIVE, ANY-SIZE container. To enclose shapes that ALREADY exist, add ONE type:'frame' sized to cover them (Excalidraw auto-captures elements inside a frame's bounds) or set those shapes' frameId — never recreate or delete-and-redraw content just to frame it. If a frame doesn't fully cover its content, just RESIZE the frame (patch its width/height). Deleting a frame (deleteIds:[frameId]) leaves all its contents intact on the canvas — it only removes the frame border + title. PRESENTATION/SLIDES: when the user wants a presentation or slide deck, create type:'frame' slides sized width:1280,height:720 (16:9), laid out LEFT-TO-RIGHT at the same y (x: 0, then 1440, 2880, 4320, …), each with a `name` (the slide title). Put every slide's shapes/text/images INSIDE its frame by setting their frameId to that frame's id (give the frame an id and reference it). Slides play in order (left-to-right, then top-to-bottom) in the board's Present mode and export to PPTX, so one frame = one slide. FLOWCHART recipe: rectangles (roundness null for sharp process boxes), diamonds for decisions, arrows with routing:'elbow' and Yes/No as the arrow's text. Use type 'sticky' for solid-fill notes; type 'line' with no arrowheads + roughness:2 for sketchy mind-map spokes. Give shapes ids and reference them from connectors. Connectors may also bind to shapes ALREADY on the board by their id (get them via getWhiteboard includeElements:true) — you do NOT need to resend existing shapes; the server reads the live scene to bind the arrow and route it around the other boxes. Great for brainstorms, mind maps, flowcharts, org charts, SWOT, retros. PROCESS: for any non-trivial board call getWhiteboardGuide FIRST to plan it; then after adding, ALWAYS call getWhiteboardImage to SEE the result and check layout, labels, spacing, overlaps and how shapes connect — if anything looks off, fix it with updateWhiteboardScene (patch by id) and render again, iterating until it looks right.
|
|
698
|
+
*/
|
|
699
|
+
post: operations["addWhiteboardElements"];
|
|
700
|
+
delete?: never;
|
|
701
|
+
options?: never;
|
|
702
|
+
head?: never;
|
|
703
|
+
patch?: never;
|
|
704
|
+
trace?: never;
|
|
705
|
+
};
|
|
706
|
+
"/tools/insertWhiteboardImage": {
|
|
707
|
+
parameters: {
|
|
708
|
+
query?: never;
|
|
709
|
+
header?: never;
|
|
710
|
+
path?: never;
|
|
711
|
+
cookie?: never;
|
|
712
|
+
};
|
|
713
|
+
get?: never;
|
|
714
|
+
put?: never;
|
|
715
|
+
/**
|
|
716
|
+
* insertWhiteboardImage
|
|
717
|
+
* @description Insert a real IMAGE (photo, screenshot, logo, picture) into a whiteboard — the storage-backed equivalent of insertImageInDocument. Provide the image as imageUrl (fetched and re-hosted), imageBase64, or imageBinary; for large files call createImageUploadSession(documentId) first then pass the returned assetUrl as imageUrl. The bytes are stored in the document-images bucket and the scene only holds a reference (never base64), exactly like pasted images. Options: caption (a text label placed + grouped beneath the image), width/height in px to RESIZE (if only one is given the other follows a 4:3 ratio; ~360px wide if neither), and placement via x/y (top-left) OR align ('left'|'center'|'right', positioned just below existing content) — omit both to auto-place to the right of the current content. After inserting, call getWhiteboardImage to verify. To move or resize the image later, patch its element via updateWhiteboardScene (mode:'patch' with {id, x, y, width, height}). For curated software-architecture ICONS (AWS/Docker/etc.) use addWhiteboardElements with an {type:'image', iconPath} spec instead.
|
|
718
|
+
*/
|
|
719
|
+
post: operations["insertWhiteboardImage"];
|
|
720
|
+
delete?: never;
|
|
721
|
+
options?: never;
|
|
722
|
+
head?: never;
|
|
723
|
+
patch?: never;
|
|
724
|
+
trace?: never;
|
|
725
|
+
};
|
|
726
|
+
"/tools/insertWhiteboardDiagram": {
|
|
727
|
+
parameters: {
|
|
728
|
+
query?: never;
|
|
729
|
+
header?: never;
|
|
730
|
+
path?: never;
|
|
731
|
+
cookie?: never;
|
|
732
|
+
};
|
|
733
|
+
get?: never;
|
|
734
|
+
put?: never;
|
|
735
|
+
/**
|
|
736
|
+
* insertWhiteboardDiagram
|
|
737
|
+
* @description Insert a real DIAGRAM (BPMN, Diagrams-as-Code / any DSL: mermaid, d2, plantuml, graphviz, …) into a whiteboard as an editable SB diagram element. Provide documentId, diagramType (call listDiagramTypes / getDiagramTypeGuide), and source (the DSL). The diagram is rendered to an image stored like a pasted image, and its editable source is kept in a sidecar so it stays a live, re-openable diagram on the board (double-click on the canvas opens the BPMN / code / AI editor). Options: caption (label beneath it), width/height to size it, and x/y or align ('left'|'center'|'right') to place it (defaults to the right of existing content). After inserting, call getWhiteboardImage to see it and verify it rendered correctly (fix the source and re-insert if it is wrong). For a plain picture (not a diagram) use insertWhiteboardImage; to generate a diagram image WITHOUT inserting use renderDiagram.
|
|
738
|
+
*/
|
|
739
|
+
post: operations["insertWhiteboardDiagram"];
|
|
740
|
+
delete?: never;
|
|
741
|
+
options?: never;
|
|
742
|
+
head?: never;
|
|
743
|
+
patch?: never;
|
|
744
|
+
trace?: never;
|
|
745
|
+
};
|
|
746
|
+
"/tools/listWhiteboardStencils": {
|
|
747
|
+
parameters: {
|
|
748
|
+
query?: never;
|
|
749
|
+
header?: never;
|
|
750
|
+
path?: never;
|
|
751
|
+
cookie?: never;
|
|
752
|
+
};
|
|
753
|
+
get?: never;
|
|
754
|
+
put?: never;
|
|
755
|
+
/**
|
|
756
|
+
* listWhiteboardStencils
|
|
757
|
+
* @description Search the built-in library of STRUCTURAL whiteboard stencils — ready-made, hand-drawn multi-element graphics: sticky notes (post-it), scrum-board columns, flowchart symbols, UML/ER, BPMN, org-chart nodes, gantt, lo-fi/UX wireframe widgets, charts, and stick figures. Returns matching stencils each with a `key`, name, pack and category, plus the full pack/category lists. Place one via addWhiteboardElements({type:'stencil', stencilKey:'<key>', x, y}). These look far richer and more on-brand than plain rectangles — use them when the user asks for sticky notes, kanban/scrum boards, flowcharts, wireframes, mockups, etc. SEARCH TIPS: prefer BROAD single words ('sticky', 'decision', 'actor', 'phone', 'process') — multi-word exact phrases often miss. If an exact query matches nothing the result is auto-broadened to close candidates (broadened:true is set); you can also pass pack/category to browse. When ANY returned stencil reasonably fits, PLACE it instead of drawing a plain rectangle — do not abandon stencils just because your first phrase returned 0. The library does NOT contain free-form 'cloud' / 'hat' / 'thought-bubble' shapes; approximate those with the closest stencil (e.g. a sticky note or a simple shape) or fall back to a plain shape only when nothing fits. For cloud/architecture ICONS (AWS/Azure/GCP/Docker/Kubernetes/databases) use listArchitectureIcons instead.
|
|
758
|
+
*/
|
|
759
|
+
post: operations["listWhiteboardStencils"];
|
|
760
|
+
delete?: never;
|
|
761
|
+
options?: never;
|
|
762
|
+
head?: never;
|
|
763
|
+
patch?: never;
|
|
764
|
+
trace?: never;
|
|
765
|
+
};
|
|
766
|
+
"/tools/getWhiteboardImage": {
|
|
767
|
+
parameters: {
|
|
768
|
+
query?: never;
|
|
769
|
+
header?: never;
|
|
770
|
+
path?: never;
|
|
771
|
+
cookie?: never;
|
|
772
|
+
};
|
|
773
|
+
get?: never;
|
|
774
|
+
put?: never;
|
|
775
|
+
/**
|
|
776
|
+
* getWhiteboardImage
|
|
777
|
+
* @description Render a whiteboard to an IMAGE so you can SEE it and confirm your edits look right, then iterate — like taking a screenshot. Returns the rendered board as a viewable PNG (default) attached to the result. Pass elementIds to render only specific shapes (e.g. to inspect one section/slide), format:'svg' for vector markup instead of a raster, or background to set the canvas colour. Call this after addWhiteboardElements/updateWhiteboardScene to check layout, overlaps, labels and alignment before continuing.
|
|
778
|
+
*/
|
|
779
|
+
post: operations["getWhiteboardImage"];
|
|
780
|
+
delete?: never;
|
|
781
|
+
options?: never;
|
|
782
|
+
head?: never;
|
|
783
|
+
patch?: never;
|
|
784
|
+
trace?: never;
|
|
785
|
+
};
|
|
786
|
+
"/tools/deleteWhiteboard": {
|
|
787
|
+
parameters: {
|
|
788
|
+
query?: never;
|
|
789
|
+
header?: never;
|
|
790
|
+
path?: never;
|
|
791
|
+
cookie?: never;
|
|
792
|
+
};
|
|
793
|
+
get?: never;
|
|
794
|
+
put?: never;
|
|
795
|
+
/**
|
|
796
|
+
* deleteWhiteboard
|
|
797
|
+
* @description Delete a whiteboard (the host document and its canvas).
|
|
798
|
+
*/
|
|
799
|
+
post: operations["deleteWhiteboard"];
|
|
800
|
+
delete?: never;
|
|
801
|
+
options?: never;
|
|
802
|
+
head?: never;
|
|
803
|
+
patch?: never;
|
|
804
|
+
trace?: never;
|
|
805
|
+
};
|
|
806
|
+
"/tools/renderDiagram": {
|
|
807
|
+
parameters: {
|
|
808
|
+
query?: never;
|
|
809
|
+
header?: never;
|
|
810
|
+
path?: never;
|
|
811
|
+
cookie?: never;
|
|
812
|
+
};
|
|
813
|
+
get?: never;
|
|
814
|
+
put?: never;
|
|
815
|
+
/**
|
|
816
|
+
* renderDiagram
|
|
817
|
+
* @description Generate a diagram from its DSL/code and get the IMAGE back — WITHOUT inserting it into any document or whiteboard. For acting as a pure diagram generator. Provide diagramType (e.g. 'mermaid', 'd2', 'plantuml', 'graphviz', 'bpmn', 'vegalite'; call listDiagramTypes for the full set) and source (the diagram code). Choose format 'png' (default), 'jpeg', or 'svg'; for raster choose scale 1/2/3 for 1x/2x/3x; optional background (png only). Returns a TEMPORARY signed imageUrl that expires in 1 hour (then auto-deleted), and for png/jpeg the image inline so you can see it. To render a diagram that already lives in a document/whiteboard use getDiagramImage; to persist a new one use insertDiagramInDocument or insertWhiteboardDiagram.
|
|
818
|
+
*/
|
|
819
|
+
post: operations["renderDiagram"];
|
|
820
|
+
delete?: never;
|
|
821
|
+
options?: never;
|
|
822
|
+
head?: never;
|
|
823
|
+
patch?: never;
|
|
824
|
+
trace?: never;
|
|
825
|
+
};
|
|
826
|
+
"/tools/getDiagramImage": {
|
|
827
|
+
parameters: {
|
|
828
|
+
query?: never;
|
|
829
|
+
header?: never;
|
|
830
|
+
path?: never;
|
|
831
|
+
cookie?: never;
|
|
832
|
+
};
|
|
833
|
+
get?: never;
|
|
834
|
+
put?: never;
|
|
835
|
+
/**
|
|
836
|
+
* getDiagramImage
|
|
837
|
+
* @description Render a diagram that ALREADY exists in a document to an IMAGE (svg/png/jpeg @1x/2x/3x) and return it — a temporary signed URL (expires in 1 hour) plus, for png/jpeg, the image inline so you can see it. Pass the diagramId (from getDocument's DIAGRAM markers or getDiagramInDocument). Reuses the diagram's cached server render when available (pixel-identical to the editor). Use renderDiagram instead to generate from raw DSL without an existing diagram.
|
|
838
|
+
*/
|
|
839
|
+
post: operations["getDiagramImage"];
|
|
840
|
+
delete?: never;
|
|
841
|
+
options?: never;
|
|
842
|
+
head?: never;
|
|
843
|
+
patch?: never;
|
|
844
|
+
trace?: never;
|
|
845
|
+
};
|
|
846
|
+
"/tools/rebuildPlatformCatalogEmbeddings": {
|
|
847
|
+
parameters: {
|
|
848
|
+
query?: never;
|
|
849
|
+
header?: never;
|
|
850
|
+
path?: never;
|
|
851
|
+
cookie?: never;
|
|
852
|
+
};
|
|
853
|
+
get?: never;
|
|
854
|
+
put?: never;
|
|
855
|
+
/**
|
|
856
|
+
* rebuildPlatformCatalogEmbeddings
|
|
857
|
+
* @description Internal maintenance (requires write). Syncs gte-small (384-dim) vector embeddings for the MCP tool, whiteboard stencil, and architecture icon catalogs into platform_catalog_embeddings, so searchTools, listWhiteboardStencils, and listArchitectureIcons can do semantic search. Incremental: scans every catalog, diffs by content hash, and re-embeds ONLY changed rows (cheap no-op when nothing changed). This normally runs automatically every hour (the platform-catalog-sync cron), so manual calls are rarely needed — use it to force an immediate sync after changing tools/stencils/icons. Embeds up to ~120 changed rows per call; if more changed, call again until allDone is true. Not part of normal authoring flows.
|
|
858
|
+
*/
|
|
859
|
+
post: operations["rebuildPlatformCatalogEmbeddings"];
|
|
860
|
+
delete?: never;
|
|
861
|
+
options?: never;
|
|
862
|
+
head?: never;
|
|
863
|
+
patch?: never;
|
|
864
|
+
trace?: never;
|
|
865
|
+
};
|
|
866
|
+
"/tools/reorderDocuments": {
|
|
867
|
+
parameters: {
|
|
868
|
+
query?: never;
|
|
869
|
+
header?: never;
|
|
870
|
+
path?: never;
|
|
871
|
+
cookie?: never;
|
|
872
|
+
};
|
|
873
|
+
get?: never;
|
|
874
|
+
put?: never;
|
|
875
|
+
/**
|
|
876
|
+
* reorderDocuments
|
|
877
|
+
* @description Batch-reorder documents within a folder (or project root) by setting sibling positions. Pass [{documentId, position}, ...] where position is a non-negative integer; usually you renumber siblings sequentially as 0, 1, 2…. Position-only update — does not bump version or create a snapshot. To MOVE a document to a different folder, use editDocument({folderId, position}) instead.
|
|
878
|
+
*/
|
|
879
|
+
post: operations["reorderDocuments"];
|
|
880
|
+
delete?: never;
|
|
881
|
+
options?: never;
|
|
882
|
+
head?: never;
|
|
883
|
+
patch?: never;
|
|
884
|
+
trace?: never;
|
|
885
|
+
};
|
|
566
886
|
"/tools/listDocumentVersions": {
|
|
567
887
|
parameters: {
|
|
568
888
|
query?: never;
|
|
@@ -1971,7 +2291,7 @@ interface paths {
|
|
|
1971
2291
|
put?: never;
|
|
1972
2292
|
/**
|
|
1973
2293
|
* getSubscription
|
|
1974
|
-
* @description Read the subscription state for an organisation. Returns tier, status, current billing period, seat count, member count, cancellation flag, trial end. Stripe IDs are stripped. Pair with listPaymentMethods/listInvoices for the full billing dashboard.
|
|
2294
|
+
* @description Read the subscription state for an organisation. Returns tier, status, current billing period, seat count, member count, cancellation flag, trial end. Stripe IDs are stripped. Pair with listPaymentMethods/listInvoices for the full billing dashboard. Use when the user asks 'what plan am I on', 'how many seats do I have', 'when does my subscription renew', or to check current billing status.
|
|
1975
2295
|
*/
|
|
1976
2296
|
post: operations["getSubscription"];
|
|
1977
2297
|
delete?: never;
|
|
@@ -2111,7 +2431,7 @@ interface paths {
|
|
|
2111
2431
|
put?: never;
|
|
2112
2432
|
/**
|
|
2113
2433
|
* listResourcePermissions
|
|
2114
|
-
* @description List explicit permission grants on a resource (workspace/project/folder/document/improvement/plan), including principal type (user|team), level (none|read|write|admin), and 3-state overrides for documents/improvements/plans. Read-only.
|
|
2434
|
+
* @description List explicit permission grants on a resource (workspace/project/folder/document/improvement/plan), including principal type (user|team), level (none|read|write|admin), and 3-state overrides for documents/improvements/plans. Read-only. Use when the user asks 'who can see this', 'who has access', 'what permissions are set on this', or to audit existing access on a resource.
|
|
2115
2435
|
*/
|
|
2116
2436
|
post: operations["listResourcePermissions"];
|
|
2117
2437
|
delete?: never;
|
|
@@ -2131,7 +2451,7 @@ interface paths {
|
|
|
2131
2451
|
put?: never;
|
|
2132
2452
|
/**
|
|
2133
2453
|
* getEffectivePermission
|
|
2134
|
-
* @description Compute a user's effective permission level on a resource (taking team grants, inheritance, and 3-state overrides into account) and the source. Asking about another user requires can_manage_perms on the org.
|
|
2454
|
+
* @description Compute a user's effective permission level on a resource (taking team grants, inheritance, and 3-state overrides into account) and the source. Asking about another user requires can_manage_perms on the org. Use when the user asks 'can X access this', 'what level of access does X have', 'why can X see this', or to debug an unexpected permission outcome.
|
|
2135
2455
|
*/
|
|
2136
2456
|
post: operations["getEffectivePermission"];
|
|
2137
2457
|
delete?: never;
|
|
@@ -2351,7 +2671,7 @@ interface paths {
|
|
|
2351
2671
|
put?: never;
|
|
2352
2672
|
/**
|
|
2353
2673
|
* inviteMember
|
|
2354
|
-
* @description Invite a person by email to the credential's organisation. Auth: org id must match the credential AND credential must hold can_manage_members. Rate limit 10/h. Returns invitation_id, expiry, and a seat-billing-impact summary. Email-existence is opaque: the response shape never reveals whether the email is already a member, already invited, or new.
|
|
2674
|
+
* @description Invite a person by email to the credential's organisation. Auth: org id must match the credential AND credential must hold can_manage_members. Rate limit 10/h. Returns invitation_id, expiry, and a seat-billing-impact summary. Email-existence is opaque: the response shape never reveals whether the email is already a member, already invited, or new. Use when the user asks to invite a teammate, friend, colleague, or new user to their organisation, or to onboard someone.
|
|
2355
2675
|
*/
|
|
2356
2676
|
post: operations["inviteMember"];
|
|
2357
2677
|
delete?: never;
|
|
@@ -2371,7 +2691,7 @@ interface paths {
|
|
|
2371
2691
|
put?: never;
|
|
2372
2692
|
/**
|
|
2373
2693
|
* cancelInvitation
|
|
2374
|
-
* @description Cancel a pending invitation by id. Sets status='revoked'. Server resolves the organisation_id from the invitation row; the credential must match that org AND hold can_manage_members. Idempotent. Rate limit 30/min.
|
|
2694
|
+
* @description Cancel a pending invitation by id. Sets status='revoked'. Server resolves the organisation_id from the invitation row; the credential must match that org AND hold can_manage_members. Idempotent. Rate limit 30/min. Use when the user asks to cancel, revoke, or undo a pending invitation — for example to correct a typo'd email address before re-inviting.
|
|
2375
2695
|
*/
|
|
2376
2696
|
post: operations["cancelInvitation"];
|
|
2377
2697
|
delete?: never;
|
|
@@ -2391,7 +2711,7 @@ interface paths {
|
|
|
2391
2711
|
put?: never;
|
|
2392
2712
|
/**
|
|
2393
2713
|
* resendInvitation
|
|
2394
|
-
* @description Resend a pending invitation: extends expires_at by 7 days and re-triggers the invitation email. Server resolves the organisation_id from the invitation row. Rate limit 6/h per invitation_id.
|
|
2714
|
+
* @description Resend a pending invitation: extends expires_at by 7 days and re-triggers the invitation email. Server resolves the organisation_id from the invitation row. Rate limit 6/h per invitation_id. Use when the user asks to resend, re-send, or re-trigger an invitation email — typically because the recipient lost it or the original expired.
|
|
2395
2715
|
*/
|
|
2396
2716
|
post: operations["resendInvitation"];
|
|
2397
2717
|
delete?: never;
|
|
@@ -2411,7 +2731,7 @@ interface paths {
|
|
|
2411
2731
|
put?: never;
|
|
2412
2732
|
/**
|
|
2413
2733
|
* updateMemberRole
|
|
2414
|
-
* @description Update an organisation member's role (admin or member). Owners cannot be changed via this tool. Refuses self-promotion. Rate limit 30/min.
|
|
2734
|
+
* @description Update an organisation member's role (admin or member). Owners cannot be changed via this tool. Refuses self-promotion. Rate limit 30/min. Use when the user asks to promote someone to admin, demote an admin to member, or change a teammate's role.
|
|
2415
2735
|
*/
|
|
2416
2736
|
post: operations["updateMemberRole"];
|
|
2417
2737
|
delete?: never;
|
|
@@ -2431,7 +2751,7 @@ interface paths {
|
|
|
2431
2751
|
put?: never;
|
|
2432
2752
|
/**
|
|
2433
2753
|
* setMemberActive
|
|
2434
|
-
* @description Soft-deactivate or reactivate an organisation member. Refuses self-deactivation, last-admin/owner deactivation, and deactivation of an owner. Rate limit 30/min.
|
|
2754
|
+
* @description Soft-deactivate or reactivate an organisation member. Refuses self-deactivation, last-admin/owner deactivation, and deactivation of an owner. Rate limit 30/min. Use when the user asks to deactivate, suspend, freeze, reactivate, or unfreeze a member without fully removing them.
|
|
2435
2755
|
*/
|
|
2436
2756
|
post: operations["setMemberActive"];
|
|
2437
2757
|
delete?: never;
|
|
@@ -2451,7 +2771,7 @@ interface paths {
|
|
|
2451
2771
|
put?: never;
|
|
2452
2772
|
/**
|
|
2453
2773
|
* removeMember
|
|
2454
|
-
* @description Hard-remove a member from an organisation, cascading to workspace and team memberships and resource permissions. Refuses self-removal and last-owner removal. Stripe seat downgrade is NOT performed here — pair with a Phase 6 billing tool. Rate limit 5/min.
|
|
2774
|
+
* @description Hard-remove a member from an organisation, cascading to workspace and team memberships and resource permissions. Refuses self-removal and last-owner removal. Stripe seat downgrade is NOT performed here — pair with a Phase 6 billing tool. Rate limit 5/min. Use when the user asks to remove, kick out, fire, offboard, or fully terminate a member's access to the organisation.
|
|
2455
2775
|
*/
|
|
2456
2776
|
post: operations["removeMember"];
|
|
2457
2777
|
delete?: never;
|
|
@@ -2711,7 +3031,7 @@ interface paths {
|
|
|
2711
3031
|
put?: never;
|
|
2712
3032
|
/**
|
|
2713
3033
|
* upsertResourcePermission
|
|
2714
|
-
* @description Insert or update a resource_permissions row for a user OR team on a workspace/project/folder/document/improvement/plan. Refuses self-escalation. Rate limit 30/min.
|
|
3034
|
+
* @description Insert or update a resource_permissions row for a user OR team on a workspace/project/folder/document/improvement/plan. Refuses self-escalation. Rate limit 30/min. Use when the user asks to give access to, share with, grant access, add a permission, make accessible, or invite someone to a specific workspace/project/folder/document — i.e. resource-level access (not org-level membership; that's inviteMember).
|
|
2715
3035
|
*/
|
|
2716
3036
|
post: operations["upsertResourcePermission"];
|
|
2717
3037
|
delete?: never;
|
|
@@ -2751,7 +3071,7 @@ interface paths {
|
|
|
2751
3071
|
put?: never;
|
|
2752
3072
|
/**
|
|
2753
3073
|
* deleteResourcePermission
|
|
2754
|
-
* @description Delete a resource_permissions row. Refuses if the row is the LAST admin grant on the resource. Rate limit 30/min.
|
|
3074
|
+
* @description Delete a resource_permissions row. Refuses if the row is the LAST admin grant on the resource. Rate limit 30/min. Use when the user asks to revoke access, remove access, take away access, unshare, or delete a permission grant on a specific resource.
|
|
2755
3075
|
*/
|
|
2756
3076
|
post: operations["deleteResourcePermission"];
|
|
2757
3077
|
delete?: never;
|
|
@@ -2791,7 +3111,7 @@ interface paths {
|
|
|
2791
3111
|
put?: never;
|
|
2792
3112
|
/**
|
|
2793
3113
|
* previewSubscriptionChange
|
|
2794
|
-
* @description Preview a subscription tier or seat change. Returns confirmation_token (10-min TTL) plus proration and next-invoice math. Cross-tier upgrades from Free return requires_checkout=true; the apply step creates a hosted Stripe Checkout session. Rate limit 30/h.
|
|
3114
|
+
* @description Preview a subscription tier or seat change. Returns confirmation_token (10-min TTL) plus proration and next-invoice math. Cross-tier upgrades from Free return requires_checkout=true; the apply step creates a hosted Stripe Checkout session. Rate limit 30/h. Use when the user asks to upgrade their plan (free→pro), downgrade, add seats, increase seats, or change subscription tier — ALWAYS call this preview first, then applySubscriptionChange with the returned token after the user confirms.
|
|
2795
3115
|
*/
|
|
2796
3116
|
post: operations["previewSubscriptionChange"];
|
|
2797
3117
|
delete?: never;
|
|
@@ -2811,7 +3131,7 @@ interface paths {
|
|
|
2811
3131
|
put?: never;
|
|
2812
3132
|
/**
|
|
2813
3133
|
* applySubscriptionChange
|
|
2814
|
-
* @description Apply a previously previewed subscription change. Same-tier seat changes update Stripe in place; cross-tier upgrades from Free return a hosted Checkout URL. Refuses target=free (use cancelSubscription) and target=enterprise (sales-led). Rate limit 5/h.
|
|
3134
|
+
* @description Apply a previously previewed subscription change. Same-tier seat changes update Stripe in place; cross-tier upgrades from Free return a hosted Checkout URL. Refuses target=free (use cancelSubscription) and target=enterprise (sales-led). Rate limit 5/h. Use only AFTER previewSubscriptionChange and after the user confirms the preview's pricing — never call apply without the user seeing the preview first.
|
|
2815
3135
|
*/
|
|
2816
3136
|
post: operations["applySubscriptionChange"];
|
|
2817
3137
|
delete?: never;
|
|
@@ -2831,7 +3151,7 @@ interface paths {
|
|
|
2831
3151
|
put?: never;
|
|
2832
3152
|
/**
|
|
2833
3153
|
* previewSubscriptionCancellation
|
|
2834
|
-
* @description Preview the consequences of cancelling. Returns confirmation_token plus summary {remaining_credits, prepaid_days, prepaid_value_aud, feature_loss[], at_risk_seats}. Soft cancel only. Rate limit 30/h.
|
|
3154
|
+
* @description Preview the consequences of cancelling. Returns confirmation_token plus summary {remaining_credits, prepaid_days, prepaid_value_aud, feature_loss[], at_risk_seats}. Soft cancel only. Rate limit 30/h. Use when the user asks to cancel, end, or stop their subscription — ALWAYS call this first to show the cost of cancelling before passing the token to cancelSubscription.
|
|
2835
3155
|
*/
|
|
2836
3156
|
post: operations["previewSubscriptionCancellation"];
|
|
2837
3157
|
delete?: never;
|
|
@@ -2851,7 +3171,7 @@ interface paths {
|
|
|
2851
3171
|
put?: never;
|
|
2852
3172
|
/**
|
|
2853
3173
|
* cancelSubscription
|
|
2854
|
-
* @description Apply a previewed soft cancellation (cancel_at_period_end=true). Customer keeps full access until period end. Rate limit 5/h.
|
|
3174
|
+
* @description Apply a previewed soft cancellation (cancel_at_period_end=true). Customer keeps full access until period end. Rate limit 5/h. Use only AFTER previewSubscriptionCancellation and after the user confirms — never cancel without showing the preview first.
|
|
2855
3175
|
*/
|
|
2856
3176
|
post: operations["cancelSubscription"];
|
|
2857
3177
|
delete?: never;
|
|
@@ -2871,7 +3191,7 @@ interface paths {
|
|
|
2871
3191
|
put?: never;
|
|
2872
3192
|
/**
|
|
2873
3193
|
* quoteCreditPackage
|
|
2874
|
-
* @description Quote a credit-package purchase (first half of the human-in-the-loop ritual). Returns quote_token (10-min TTL) plus package + total_aud. Caller must invoke purchaseCreditPackage(quote_token) within the TTL.
|
|
3194
|
+
* @description Quote a credit-package purchase (first half of the human-in-the-loop ritual). Returns quote_token (10-min TTL) plus package + total_aud. Caller must invoke purchaseCreditPackage(quote_token) within the TTL. Use when the user asks to buy credits, purchase credits, top up credits, or add more credits — ALWAYS call this first then purchaseCreditPackage after the user confirms.
|
|
2875
3195
|
*/
|
|
2876
3196
|
post: operations["quoteCreditPackage"];
|
|
2877
3197
|
delete?: never;
|
|
@@ -2891,7 +3211,7 @@ interface paths {
|
|
|
2891
3211
|
put?: never;
|
|
2892
3212
|
/**
|
|
2893
3213
|
* purchaseCreditPackage
|
|
2894
|
-
* @description Apply a credit-package quote by creating a hosted Stripe Checkout session. Returns checkout_url + session_id. Refuses if catalogued price has drifted. Rate limit 5/h.
|
|
3214
|
+
* @description Apply a credit-package quote by creating a hosted Stripe Checkout session. Returns checkout_url + session_id. Refuses if catalogued price has drifted. Rate limit 5/h. Use only AFTER quoteCreditPackage and after the user confirms — never start a checkout without the quote step first.
|
|
2895
3215
|
*/
|
|
2896
3216
|
post: operations["purchaseCreditPackage"];
|
|
2897
3217
|
delete?: never;
|
|
@@ -2911,7 +3231,7 @@ interface paths {
|
|
|
2911
3231
|
put?: never;
|
|
2912
3232
|
/**
|
|
2913
3233
|
* reactivateSubscription
|
|
2914
|
-
* @description Reactivate a subscription that was scheduled to cancel at period end (clears cancel_at_period_end). Rate limit 5/h.
|
|
3234
|
+
* @description Reactivate a subscription that was scheduled to cancel at period end (clears cancel_at_period_end). Rate limit 5/h. Use when the user asks to reactivate, uncancel, restore, or keep their subscription after they previously cancelled but before the period ends.
|
|
2915
3235
|
*/
|
|
2916
3236
|
post: operations["reactivateSubscription"];
|
|
2917
3237
|
delete?: never;
|
|
@@ -4704,6 +5024,92 @@ interface operations {
|
|
|
4704
5024
|
};
|
|
4705
5025
|
};
|
|
4706
5026
|
};
|
|
5027
|
+
reorderFolders: {
|
|
5028
|
+
parameters: {
|
|
5029
|
+
query?: never;
|
|
5030
|
+
header?: never;
|
|
5031
|
+
path?: never;
|
|
5032
|
+
cookie?: never;
|
|
5033
|
+
};
|
|
5034
|
+
requestBody?: {
|
|
5035
|
+
content: {
|
|
5036
|
+
"application/json": {
|
|
5037
|
+
/** @description List of folder position updates. All folders must belong to the same project. */
|
|
5038
|
+
items: {
|
|
5039
|
+
folderId: string;
|
|
5040
|
+
position: number;
|
|
5041
|
+
}[];
|
|
5042
|
+
};
|
|
5043
|
+
};
|
|
5044
|
+
};
|
|
5045
|
+
responses: {
|
|
5046
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
5047
|
+
200: {
|
|
5048
|
+
headers: {
|
|
5049
|
+
[name: string]: unknown;
|
|
5050
|
+
};
|
|
5051
|
+
content: {
|
|
5052
|
+
"application/json": {
|
|
5053
|
+
[key: string]: unknown;
|
|
5054
|
+
};
|
|
5055
|
+
};
|
|
5056
|
+
};
|
|
5057
|
+
/** @description Validation error. */
|
|
5058
|
+
400: {
|
|
5059
|
+
headers: {
|
|
5060
|
+
[name: string]: unknown;
|
|
5061
|
+
};
|
|
5062
|
+
content: {
|
|
5063
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5064
|
+
};
|
|
5065
|
+
};
|
|
5066
|
+
/** @description Missing or invalid credentials. */
|
|
5067
|
+
401: {
|
|
5068
|
+
headers: {
|
|
5069
|
+
[name: string]: unknown;
|
|
5070
|
+
};
|
|
5071
|
+
content: {
|
|
5072
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5073
|
+
};
|
|
5074
|
+
};
|
|
5075
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
5076
|
+
403: {
|
|
5077
|
+
headers: {
|
|
5078
|
+
[name: string]: unknown;
|
|
5079
|
+
};
|
|
5080
|
+
content: {
|
|
5081
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5082
|
+
};
|
|
5083
|
+
};
|
|
5084
|
+
/** @description Resource not found. */
|
|
5085
|
+
404: {
|
|
5086
|
+
headers: {
|
|
5087
|
+
[name: string]: unknown;
|
|
5088
|
+
};
|
|
5089
|
+
content: {
|
|
5090
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5091
|
+
};
|
|
5092
|
+
};
|
|
5093
|
+
/** @description Body did not match the tool's input schema. */
|
|
5094
|
+
422: {
|
|
5095
|
+
headers: {
|
|
5096
|
+
[name: string]: unknown;
|
|
5097
|
+
};
|
|
5098
|
+
content: {
|
|
5099
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5100
|
+
};
|
|
5101
|
+
};
|
|
5102
|
+
/** @description Server error. */
|
|
5103
|
+
500: {
|
|
5104
|
+
headers: {
|
|
5105
|
+
[name: string]: unknown;
|
|
5106
|
+
};
|
|
5107
|
+
content: {
|
|
5108
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5109
|
+
};
|
|
5110
|
+
};
|
|
5111
|
+
};
|
|
5112
|
+
};
|
|
4707
5113
|
listDocuments: {
|
|
4708
5114
|
parameters: {
|
|
4709
5115
|
query?: never;
|
|
@@ -5096,6 +5502,8 @@ interface operations {
|
|
|
5096
5502
|
folderId?: string;
|
|
5097
5503
|
title?: string;
|
|
5098
5504
|
cdmd: string;
|
|
5505
|
+
/** @description Sort position within the parent folder (or project root if no folderId). When omitted, the document is appended at the end. */
|
|
5506
|
+
position?: number;
|
|
5099
5507
|
/** @description Version history summary. */
|
|
5100
5508
|
changeSummary?: string;
|
|
5101
5509
|
};
|
|
@@ -5184,11 +5592,13 @@ interface operations {
|
|
|
5184
5592
|
title?: string;
|
|
5185
5593
|
/** @description Move to this folder. */
|
|
5186
5594
|
folderId?: string;
|
|
5595
|
+
/** @description Sort position within the parent folder. Use to reposition a single document. For batch sibling reorder, use reorderDocuments. */
|
|
5596
|
+
position?: number;
|
|
5187
5597
|
/** @description Version timestamp from getDocument() for optimistic locking. */
|
|
5188
5598
|
versionTimestamp: number;
|
|
5189
5599
|
/** @description Version history summary. */
|
|
5190
5600
|
changeSummary?: string;
|
|
5191
|
-
/** @description Line-based patches. Can be empty if only updating title or
|
|
5601
|
+
/** @description Line-based patches. Can be empty if only updating title, folderId, or position. */
|
|
5192
5602
|
patches?: {
|
|
5193
5603
|
/** @description 1-based start line. */
|
|
5194
5604
|
startLine: number;
|
|
@@ -5480,6 +5890,20 @@ interface operations {
|
|
|
5480
5890
|
[key: string]: string;
|
|
5481
5891
|
};
|
|
5482
5892
|
};
|
|
5893
|
+
/** @description If true, also render the inserted diagram and return it as an image inline (one-call insert-and-get-image). Defaults false. */
|
|
5894
|
+
returnImage?: boolean;
|
|
5895
|
+
/**
|
|
5896
|
+
* @description Image format when returnImage:true (default png).
|
|
5897
|
+
* @enum {string}
|
|
5898
|
+
*/
|
|
5899
|
+
imageFormat?: "png" | "jpeg" | "svg";
|
|
5900
|
+
/**
|
|
5901
|
+
* @description Raster resolution 1x/2x/3x when returnImage:true (default 2).
|
|
5902
|
+
* @enum {number}
|
|
5903
|
+
*/
|
|
5904
|
+
imageScale?: 1 | 2 | 3;
|
|
5905
|
+
/** @description Background for the returned png/jpeg (e.g. '#ffffff' or 'transparent'). */
|
|
5906
|
+
imageBackground?: string;
|
|
5483
5907
|
};
|
|
5484
5908
|
};
|
|
5485
5909
|
};
|
|
@@ -5821,6 +6245,1349 @@ interface operations {
|
|
|
5821
6245
|
};
|
|
5822
6246
|
};
|
|
5823
6247
|
};
|
|
6248
|
+
getWhiteboardGuide: {
|
|
6249
|
+
parameters: {
|
|
6250
|
+
query?: never;
|
|
6251
|
+
header?: never;
|
|
6252
|
+
path?: never;
|
|
6253
|
+
cookie?: never;
|
|
6254
|
+
};
|
|
6255
|
+
requestBody?: {
|
|
6256
|
+
content: {
|
|
6257
|
+
"application/json": Record<string, never>;
|
|
6258
|
+
};
|
|
6259
|
+
};
|
|
6260
|
+
responses: {
|
|
6261
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6262
|
+
200: {
|
|
6263
|
+
headers: {
|
|
6264
|
+
[name: string]: unknown;
|
|
6265
|
+
};
|
|
6266
|
+
content: {
|
|
6267
|
+
"application/json": {
|
|
6268
|
+
[key: string]: unknown;
|
|
6269
|
+
};
|
|
6270
|
+
};
|
|
6271
|
+
};
|
|
6272
|
+
/** @description Validation error. */
|
|
6273
|
+
400: {
|
|
6274
|
+
headers: {
|
|
6275
|
+
[name: string]: unknown;
|
|
6276
|
+
};
|
|
6277
|
+
content: {
|
|
6278
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6279
|
+
};
|
|
6280
|
+
};
|
|
6281
|
+
/** @description Missing or invalid credentials. */
|
|
6282
|
+
401: {
|
|
6283
|
+
headers: {
|
|
6284
|
+
[name: string]: unknown;
|
|
6285
|
+
};
|
|
6286
|
+
content: {
|
|
6287
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6288
|
+
};
|
|
6289
|
+
};
|
|
6290
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6291
|
+
403: {
|
|
6292
|
+
headers: {
|
|
6293
|
+
[name: string]: unknown;
|
|
6294
|
+
};
|
|
6295
|
+
content: {
|
|
6296
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6297
|
+
};
|
|
6298
|
+
};
|
|
6299
|
+
/** @description Resource not found. */
|
|
6300
|
+
404: {
|
|
6301
|
+
headers: {
|
|
6302
|
+
[name: string]: unknown;
|
|
6303
|
+
};
|
|
6304
|
+
content: {
|
|
6305
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6306
|
+
};
|
|
6307
|
+
};
|
|
6308
|
+
/** @description Body did not match the tool's input schema. */
|
|
6309
|
+
422: {
|
|
6310
|
+
headers: {
|
|
6311
|
+
[name: string]: unknown;
|
|
6312
|
+
};
|
|
6313
|
+
content: {
|
|
6314
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6315
|
+
};
|
|
6316
|
+
};
|
|
6317
|
+
/** @description Server error. */
|
|
6318
|
+
500: {
|
|
6319
|
+
headers: {
|
|
6320
|
+
[name: string]: unknown;
|
|
6321
|
+
};
|
|
6322
|
+
content: {
|
|
6323
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6324
|
+
};
|
|
6325
|
+
};
|
|
6326
|
+
};
|
|
6327
|
+
};
|
|
6328
|
+
createWhiteboard: {
|
|
6329
|
+
parameters: {
|
|
6330
|
+
query?: never;
|
|
6331
|
+
header?: never;
|
|
6332
|
+
path?: never;
|
|
6333
|
+
cookie?: never;
|
|
6334
|
+
};
|
|
6335
|
+
requestBody?: {
|
|
6336
|
+
content: {
|
|
6337
|
+
"application/json": {
|
|
6338
|
+
projectId: string;
|
|
6339
|
+
/** @description Whiteboard title. Defaults to 'Untitled whiteboard'. */
|
|
6340
|
+
title?: string;
|
|
6341
|
+
/** @description Optional folder to file the whiteboard under. */
|
|
6342
|
+
folderId?: string;
|
|
6343
|
+
};
|
|
6344
|
+
};
|
|
6345
|
+
};
|
|
6346
|
+
responses: {
|
|
6347
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6348
|
+
200: {
|
|
6349
|
+
headers: {
|
|
6350
|
+
[name: string]: unknown;
|
|
6351
|
+
};
|
|
6352
|
+
content: {
|
|
6353
|
+
"application/json": {
|
|
6354
|
+
[key: string]: unknown;
|
|
6355
|
+
};
|
|
6356
|
+
};
|
|
6357
|
+
};
|
|
6358
|
+
/** @description Validation error. */
|
|
6359
|
+
400: {
|
|
6360
|
+
headers: {
|
|
6361
|
+
[name: string]: unknown;
|
|
6362
|
+
};
|
|
6363
|
+
content: {
|
|
6364
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6365
|
+
};
|
|
6366
|
+
};
|
|
6367
|
+
/** @description Missing or invalid credentials. */
|
|
6368
|
+
401: {
|
|
6369
|
+
headers: {
|
|
6370
|
+
[name: string]: unknown;
|
|
6371
|
+
};
|
|
6372
|
+
content: {
|
|
6373
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6374
|
+
};
|
|
6375
|
+
};
|
|
6376
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6377
|
+
403: {
|
|
6378
|
+
headers: {
|
|
6379
|
+
[name: string]: unknown;
|
|
6380
|
+
};
|
|
6381
|
+
content: {
|
|
6382
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6383
|
+
};
|
|
6384
|
+
};
|
|
6385
|
+
/** @description Resource not found. */
|
|
6386
|
+
404: {
|
|
6387
|
+
headers: {
|
|
6388
|
+
[name: string]: unknown;
|
|
6389
|
+
};
|
|
6390
|
+
content: {
|
|
6391
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6392
|
+
};
|
|
6393
|
+
};
|
|
6394
|
+
/** @description Body did not match the tool's input schema. */
|
|
6395
|
+
422: {
|
|
6396
|
+
headers: {
|
|
6397
|
+
[name: string]: unknown;
|
|
6398
|
+
};
|
|
6399
|
+
content: {
|
|
6400
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6401
|
+
};
|
|
6402
|
+
};
|
|
6403
|
+
/** @description Server error. */
|
|
6404
|
+
500: {
|
|
6405
|
+
headers: {
|
|
6406
|
+
[name: string]: unknown;
|
|
6407
|
+
};
|
|
6408
|
+
content: {
|
|
6409
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6410
|
+
};
|
|
6411
|
+
};
|
|
6412
|
+
};
|
|
6413
|
+
};
|
|
6414
|
+
listWhiteboards: {
|
|
6415
|
+
parameters: {
|
|
6416
|
+
query?: never;
|
|
6417
|
+
header?: never;
|
|
6418
|
+
path?: never;
|
|
6419
|
+
cookie?: never;
|
|
6420
|
+
};
|
|
6421
|
+
requestBody?: {
|
|
6422
|
+
content: {
|
|
6423
|
+
"application/json": {
|
|
6424
|
+
projectId: string;
|
|
6425
|
+
};
|
|
6426
|
+
};
|
|
6427
|
+
};
|
|
6428
|
+
responses: {
|
|
6429
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6430
|
+
200: {
|
|
6431
|
+
headers: {
|
|
6432
|
+
[name: string]: unknown;
|
|
6433
|
+
};
|
|
6434
|
+
content: {
|
|
6435
|
+
"application/json": {
|
|
6436
|
+
[key: string]: unknown;
|
|
6437
|
+
};
|
|
6438
|
+
};
|
|
6439
|
+
};
|
|
6440
|
+
/** @description Validation error. */
|
|
6441
|
+
400: {
|
|
6442
|
+
headers: {
|
|
6443
|
+
[name: string]: unknown;
|
|
6444
|
+
};
|
|
6445
|
+
content: {
|
|
6446
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6447
|
+
};
|
|
6448
|
+
};
|
|
6449
|
+
/** @description Missing or invalid credentials. */
|
|
6450
|
+
401: {
|
|
6451
|
+
headers: {
|
|
6452
|
+
[name: string]: unknown;
|
|
6453
|
+
};
|
|
6454
|
+
content: {
|
|
6455
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6456
|
+
};
|
|
6457
|
+
};
|
|
6458
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6459
|
+
403: {
|
|
6460
|
+
headers: {
|
|
6461
|
+
[name: string]: unknown;
|
|
6462
|
+
};
|
|
6463
|
+
content: {
|
|
6464
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6465
|
+
};
|
|
6466
|
+
};
|
|
6467
|
+
/** @description Resource not found. */
|
|
6468
|
+
404: {
|
|
6469
|
+
headers: {
|
|
6470
|
+
[name: string]: unknown;
|
|
6471
|
+
};
|
|
6472
|
+
content: {
|
|
6473
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6474
|
+
};
|
|
6475
|
+
};
|
|
6476
|
+
/** @description Body did not match the tool's input schema. */
|
|
6477
|
+
422: {
|
|
6478
|
+
headers: {
|
|
6479
|
+
[name: string]: unknown;
|
|
6480
|
+
};
|
|
6481
|
+
content: {
|
|
6482
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6483
|
+
};
|
|
6484
|
+
};
|
|
6485
|
+
/** @description Server error. */
|
|
6486
|
+
500: {
|
|
6487
|
+
headers: {
|
|
6488
|
+
[name: string]: unknown;
|
|
6489
|
+
};
|
|
6490
|
+
content: {
|
|
6491
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6492
|
+
};
|
|
6493
|
+
};
|
|
6494
|
+
};
|
|
6495
|
+
};
|
|
6496
|
+
getWhiteboard: {
|
|
6497
|
+
parameters: {
|
|
6498
|
+
query?: never;
|
|
6499
|
+
header?: never;
|
|
6500
|
+
path?: never;
|
|
6501
|
+
cookie?: never;
|
|
6502
|
+
};
|
|
6503
|
+
requestBody?: {
|
|
6504
|
+
content: {
|
|
6505
|
+
"application/json": {
|
|
6506
|
+
documentId: string;
|
|
6507
|
+
/** @description When true, returns the full Excalidraw scene so it can be modified and written back. */
|
|
6508
|
+
includeElements?: boolean;
|
|
6509
|
+
};
|
|
6510
|
+
};
|
|
6511
|
+
};
|
|
6512
|
+
responses: {
|
|
6513
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6514
|
+
200: {
|
|
6515
|
+
headers: {
|
|
6516
|
+
[name: string]: unknown;
|
|
6517
|
+
};
|
|
6518
|
+
content: {
|
|
6519
|
+
"application/json": {
|
|
6520
|
+
[key: string]: unknown;
|
|
6521
|
+
};
|
|
6522
|
+
};
|
|
6523
|
+
};
|
|
6524
|
+
/** @description Validation error. */
|
|
6525
|
+
400: {
|
|
6526
|
+
headers: {
|
|
6527
|
+
[name: string]: unknown;
|
|
6528
|
+
};
|
|
6529
|
+
content: {
|
|
6530
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6531
|
+
};
|
|
6532
|
+
};
|
|
6533
|
+
/** @description Missing or invalid credentials. */
|
|
6534
|
+
401: {
|
|
6535
|
+
headers: {
|
|
6536
|
+
[name: string]: unknown;
|
|
6537
|
+
};
|
|
6538
|
+
content: {
|
|
6539
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6540
|
+
};
|
|
6541
|
+
};
|
|
6542
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6543
|
+
403: {
|
|
6544
|
+
headers: {
|
|
6545
|
+
[name: string]: unknown;
|
|
6546
|
+
};
|
|
6547
|
+
content: {
|
|
6548
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6549
|
+
};
|
|
6550
|
+
};
|
|
6551
|
+
/** @description Resource not found. */
|
|
6552
|
+
404: {
|
|
6553
|
+
headers: {
|
|
6554
|
+
[name: string]: unknown;
|
|
6555
|
+
};
|
|
6556
|
+
content: {
|
|
6557
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6558
|
+
};
|
|
6559
|
+
};
|
|
6560
|
+
/** @description Body did not match the tool's input schema. */
|
|
6561
|
+
422: {
|
|
6562
|
+
headers: {
|
|
6563
|
+
[name: string]: unknown;
|
|
6564
|
+
};
|
|
6565
|
+
content: {
|
|
6566
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6567
|
+
};
|
|
6568
|
+
};
|
|
6569
|
+
/** @description Server error. */
|
|
6570
|
+
500: {
|
|
6571
|
+
headers: {
|
|
6572
|
+
[name: string]: unknown;
|
|
6573
|
+
};
|
|
6574
|
+
content: {
|
|
6575
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6576
|
+
};
|
|
6577
|
+
};
|
|
6578
|
+
};
|
|
6579
|
+
};
|
|
6580
|
+
updateWhiteboardScene: {
|
|
6581
|
+
parameters: {
|
|
6582
|
+
query?: never;
|
|
6583
|
+
header?: never;
|
|
6584
|
+
path?: never;
|
|
6585
|
+
cookie?: never;
|
|
6586
|
+
};
|
|
6587
|
+
requestBody?: {
|
|
6588
|
+
content: {
|
|
6589
|
+
"application/json": {
|
|
6590
|
+
documentId: string;
|
|
6591
|
+
/** @description Elements to write. For mode 'patch', each may be a partial { id, ...changedFields } merged into the matching element by id; full Excalidraw elements for 'replace'/'append' (or new ids in 'patch'). */
|
|
6592
|
+
elements?: Record<string, never>[];
|
|
6593
|
+
/**
|
|
6594
|
+
* @description patch (DEFAULT — merge by id, keep the rest), append (add only), or replace (overwrite the whole scene).
|
|
6595
|
+
* @enum {string}
|
|
6596
|
+
*/
|
|
6597
|
+
mode?: "patch" | "append" | "replace";
|
|
6598
|
+
/** @description Element ids to remove from the scene. */
|
|
6599
|
+
deleteIds?: string[];
|
|
6600
|
+
/** @description Optional Excalidraw appState fields to merge (e.g. viewBackgroundColor). */
|
|
6601
|
+
appState?: Record<string, never>;
|
|
6602
|
+
/** @description Optional Excalidraw BinaryFiles map (for embedded images), merged in. */
|
|
6603
|
+
files?: Record<string, never>;
|
|
6604
|
+
};
|
|
6605
|
+
};
|
|
6606
|
+
};
|
|
6607
|
+
responses: {
|
|
6608
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6609
|
+
200: {
|
|
6610
|
+
headers: {
|
|
6611
|
+
[name: string]: unknown;
|
|
6612
|
+
};
|
|
6613
|
+
content: {
|
|
6614
|
+
"application/json": {
|
|
6615
|
+
[key: string]: unknown;
|
|
6616
|
+
};
|
|
6617
|
+
};
|
|
6618
|
+
};
|
|
6619
|
+
/** @description Validation error. */
|
|
6620
|
+
400: {
|
|
6621
|
+
headers: {
|
|
6622
|
+
[name: string]: unknown;
|
|
6623
|
+
};
|
|
6624
|
+
content: {
|
|
6625
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6626
|
+
};
|
|
6627
|
+
};
|
|
6628
|
+
/** @description Missing or invalid credentials. */
|
|
6629
|
+
401: {
|
|
6630
|
+
headers: {
|
|
6631
|
+
[name: string]: unknown;
|
|
6632
|
+
};
|
|
6633
|
+
content: {
|
|
6634
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6635
|
+
};
|
|
6636
|
+
};
|
|
6637
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6638
|
+
403: {
|
|
6639
|
+
headers: {
|
|
6640
|
+
[name: string]: unknown;
|
|
6641
|
+
};
|
|
6642
|
+
content: {
|
|
6643
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6644
|
+
};
|
|
6645
|
+
};
|
|
6646
|
+
/** @description Resource not found. */
|
|
6647
|
+
404: {
|
|
6648
|
+
headers: {
|
|
6649
|
+
[name: string]: unknown;
|
|
6650
|
+
};
|
|
6651
|
+
content: {
|
|
6652
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6653
|
+
};
|
|
6654
|
+
};
|
|
6655
|
+
/** @description Body did not match the tool's input schema. */
|
|
6656
|
+
422: {
|
|
6657
|
+
headers: {
|
|
6658
|
+
[name: string]: unknown;
|
|
6659
|
+
};
|
|
6660
|
+
content: {
|
|
6661
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6662
|
+
};
|
|
6663
|
+
};
|
|
6664
|
+
/** @description Server error. */
|
|
6665
|
+
500: {
|
|
6666
|
+
headers: {
|
|
6667
|
+
[name: string]: unknown;
|
|
6668
|
+
};
|
|
6669
|
+
content: {
|
|
6670
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6671
|
+
};
|
|
6672
|
+
};
|
|
6673
|
+
};
|
|
6674
|
+
};
|
|
6675
|
+
addWhiteboardElements: {
|
|
6676
|
+
parameters: {
|
|
6677
|
+
query?: never;
|
|
6678
|
+
header?: never;
|
|
6679
|
+
path?: never;
|
|
6680
|
+
cookie?: never;
|
|
6681
|
+
};
|
|
6682
|
+
requestBody?: {
|
|
6683
|
+
content: {
|
|
6684
|
+
"application/json": {
|
|
6685
|
+
documentId: string;
|
|
6686
|
+
/** @description Non-empty array of shape specs to append. */
|
|
6687
|
+
shapes: Record<string, never>[];
|
|
6688
|
+
};
|
|
6689
|
+
};
|
|
6690
|
+
};
|
|
6691
|
+
responses: {
|
|
6692
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6693
|
+
200: {
|
|
6694
|
+
headers: {
|
|
6695
|
+
[name: string]: unknown;
|
|
6696
|
+
};
|
|
6697
|
+
content: {
|
|
6698
|
+
"application/json": {
|
|
6699
|
+
[key: string]: unknown;
|
|
6700
|
+
};
|
|
6701
|
+
};
|
|
6702
|
+
};
|
|
6703
|
+
/** @description Validation error. */
|
|
6704
|
+
400: {
|
|
6705
|
+
headers: {
|
|
6706
|
+
[name: string]: unknown;
|
|
6707
|
+
};
|
|
6708
|
+
content: {
|
|
6709
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6710
|
+
};
|
|
6711
|
+
};
|
|
6712
|
+
/** @description Missing or invalid credentials. */
|
|
6713
|
+
401: {
|
|
6714
|
+
headers: {
|
|
6715
|
+
[name: string]: unknown;
|
|
6716
|
+
};
|
|
6717
|
+
content: {
|
|
6718
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6719
|
+
};
|
|
6720
|
+
};
|
|
6721
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6722
|
+
403: {
|
|
6723
|
+
headers: {
|
|
6724
|
+
[name: string]: unknown;
|
|
6725
|
+
};
|
|
6726
|
+
content: {
|
|
6727
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6728
|
+
};
|
|
6729
|
+
};
|
|
6730
|
+
/** @description Resource not found. */
|
|
6731
|
+
404: {
|
|
6732
|
+
headers: {
|
|
6733
|
+
[name: string]: unknown;
|
|
6734
|
+
};
|
|
6735
|
+
content: {
|
|
6736
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6737
|
+
};
|
|
6738
|
+
};
|
|
6739
|
+
/** @description Body did not match the tool's input schema. */
|
|
6740
|
+
422: {
|
|
6741
|
+
headers: {
|
|
6742
|
+
[name: string]: unknown;
|
|
6743
|
+
};
|
|
6744
|
+
content: {
|
|
6745
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6746
|
+
};
|
|
6747
|
+
};
|
|
6748
|
+
/** @description Server error. */
|
|
6749
|
+
500: {
|
|
6750
|
+
headers: {
|
|
6751
|
+
[name: string]: unknown;
|
|
6752
|
+
};
|
|
6753
|
+
content: {
|
|
6754
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6755
|
+
};
|
|
6756
|
+
};
|
|
6757
|
+
};
|
|
6758
|
+
};
|
|
6759
|
+
insertWhiteboardImage: {
|
|
6760
|
+
parameters: {
|
|
6761
|
+
query?: never;
|
|
6762
|
+
header?: never;
|
|
6763
|
+
path?: never;
|
|
6764
|
+
cookie?: never;
|
|
6765
|
+
};
|
|
6766
|
+
requestBody?: {
|
|
6767
|
+
content: {
|
|
6768
|
+
"application/json": {
|
|
6769
|
+
/** @description The whiteboard's documentId. */
|
|
6770
|
+
documentId: string;
|
|
6771
|
+
/** @description URL to fetch the image from, or an assetUrl returned by createImageUploadSession. */
|
|
6772
|
+
imageUrl?: string;
|
|
6773
|
+
/** @description Base64-encoded image bytes (a data: URL prefix is allowed). Best for small images. */
|
|
6774
|
+
imageBase64?: string;
|
|
6775
|
+
/** @description Raw image bytes as an array of 0-255 values (alternative to imageBase64). */
|
|
6776
|
+
imageBinary?: number[];
|
|
6777
|
+
/** @description Optional caption shown as a text label grouped beneath the image. */
|
|
6778
|
+
caption?: string;
|
|
6779
|
+
/** @description Display width in px (resize). Defaults to ~360. */
|
|
6780
|
+
width?: number;
|
|
6781
|
+
/** @description Display height in px. Derived from width at 4:3 if omitted. */
|
|
6782
|
+
height?: number;
|
|
6783
|
+
/** @description Top-left x on the canvas. Omit to auto-place. */
|
|
6784
|
+
x?: number;
|
|
6785
|
+
/** @description Top-left y on the canvas. Omit to auto-place. */
|
|
6786
|
+
y?: number;
|
|
6787
|
+
/**
|
|
6788
|
+
* @description Horizontal alignment relative to existing content (placed below it). Ignored if x/y are provided.
|
|
6789
|
+
* @enum {string}
|
|
6790
|
+
*/
|
|
6791
|
+
align?: "left" | "center" | "right";
|
|
6792
|
+
/** @description Optional original filename (for storage + type hinting). */
|
|
6793
|
+
fileName?: string;
|
|
6794
|
+
};
|
|
6795
|
+
};
|
|
6796
|
+
};
|
|
6797
|
+
responses: {
|
|
6798
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6799
|
+
200: {
|
|
6800
|
+
headers: {
|
|
6801
|
+
[name: string]: unknown;
|
|
6802
|
+
};
|
|
6803
|
+
content: {
|
|
6804
|
+
"application/json": {
|
|
6805
|
+
[key: string]: unknown;
|
|
6806
|
+
};
|
|
6807
|
+
};
|
|
6808
|
+
};
|
|
6809
|
+
/** @description Validation error. */
|
|
6810
|
+
400: {
|
|
6811
|
+
headers: {
|
|
6812
|
+
[name: string]: unknown;
|
|
6813
|
+
};
|
|
6814
|
+
content: {
|
|
6815
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6816
|
+
};
|
|
6817
|
+
};
|
|
6818
|
+
/** @description Missing or invalid credentials. */
|
|
6819
|
+
401: {
|
|
6820
|
+
headers: {
|
|
6821
|
+
[name: string]: unknown;
|
|
6822
|
+
};
|
|
6823
|
+
content: {
|
|
6824
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6825
|
+
};
|
|
6826
|
+
};
|
|
6827
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6828
|
+
403: {
|
|
6829
|
+
headers: {
|
|
6830
|
+
[name: string]: unknown;
|
|
6831
|
+
};
|
|
6832
|
+
content: {
|
|
6833
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6834
|
+
};
|
|
6835
|
+
};
|
|
6836
|
+
/** @description Resource not found. */
|
|
6837
|
+
404: {
|
|
6838
|
+
headers: {
|
|
6839
|
+
[name: string]: unknown;
|
|
6840
|
+
};
|
|
6841
|
+
content: {
|
|
6842
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6843
|
+
};
|
|
6844
|
+
};
|
|
6845
|
+
/** @description Body did not match the tool's input schema. */
|
|
6846
|
+
422: {
|
|
6847
|
+
headers: {
|
|
6848
|
+
[name: string]: unknown;
|
|
6849
|
+
};
|
|
6850
|
+
content: {
|
|
6851
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6852
|
+
};
|
|
6853
|
+
};
|
|
6854
|
+
/** @description Server error. */
|
|
6855
|
+
500: {
|
|
6856
|
+
headers: {
|
|
6857
|
+
[name: string]: unknown;
|
|
6858
|
+
};
|
|
6859
|
+
content: {
|
|
6860
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6861
|
+
};
|
|
6862
|
+
};
|
|
6863
|
+
};
|
|
6864
|
+
};
|
|
6865
|
+
insertWhiteboardDiagram: {
|
|
6866
|
+
parameters: {
|
|
6867
|
+
query?: never;
|
|
6868
|
+
header?: never;
|
|
6869
|
+
path?: never;
|
|
6870
|
+
cookie?: never;
|
|
6871
|
+
};
|
|
6872
|
+
requestBody?: {
|
|
6873
|
+
content: {
|
|
6874
|
+
"application/json": {
|
|
6875
|
+
/** @description The whiteboard's documentId. */
|
|
6876
|
+
documentId: string;
|
|
6877
|
+
/** @description Diagram language, e.g. 'bpmn', 'mermaid', 'd2', 'plantuml', 'graphviz'. See listDiagramTypes. */
|
|
6878
|
+
diagramType: string;
|
|
6879
|
+
/** @description The diagram DSL / code. */
|
|
6880
|
+
source: string;
|
|
6881
|
+
/** @description Optional caption shown beneath the diagram. */
|
|
6882
|
+
caption?: string;
|
|
6883
|
+
/** @description Display width in px (aspect ratio preserved). Defaults to a capped natural size. */
|
|
6884
|
+
width?: number;
|
|
6885
|
+
/** @description Display height in px (defaults from width + aspect). */
|
|
6886
|
+
height?: number;
|
|
6887
|
+
/** @description Top-left x on the canvas. Omit to auto-place. */
|
|
6888
|
+
x?: number;
|
|
6889
|
+
/** @description Top-left y on the canvas. Omit to auto-place. */
|
|
6890
|
+
y?: number;
|
|
6891
|
+
/**
|
|
6892
|
+
* @description Horizontal alignment relative to existing content (placed below it). Ignored if x/y given.
|
|
6893
|
+
* @enum {string}
|
|
6894
|
+
*/
|
|
6895
|
+
align?: "left" | "center" | "right";
|
|
6896
|
+
};
|
|
6897
|
+
};
|
|
6898
|
+
};
|
|
6899
|
+
responses: {
|
|
6900
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6901
|
+
200: {
|
|
6902
|
+
headers: {
|
|
6903
|
+
[name: string]: unknown;
|
|
6904
|
+
};
|
|
6905
|
+
content: {
|
|
6906
|
+
"application/json": {
|
|
6907
|
+
[key: string]: unknown;
|
|
6908
|
+
};
|
|
6909
|
+
};
|
|
6910
|
+
};
|
|
6911
|
+
/** @description Validation error. */
|
|
6912
|
+
400: {
|
|
6913
|
+
headers: {
|
|
6914
|
+
[name: string]: unknown;
|
|
6915
|
+
};
|
|
6916
|
+
content: {
|
|
6917
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6918
|
+
};
|
|
6919
|
+
};
|
|
6920
|
+
/** @description Missing or invalid credentials. */
|
|
6921
|
+
401: {
|
|
6922
|
+
headers: {
|
|
6923
|
+
[name: string]: unknown;
|
|
6924
|
+
};
|
|
6925
|
+
content: {
|
|
6926
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6927
|
+
};
|
|
6928
|
+
};
|
|
6929
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6930
|
+
403: {
|
|
6931
|
+
headers: {
|
|
6932
|
+
[name: string]: unknown;
|
|
6933
|
+
};
|
|
6934
|
+
content: {
|
|
6935
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6936
|
+
};
|
|
6937
|
+
};
|
|
6938
|
+
/** @description Resource not found. */
|
|
6939
|
+
404: {
|
|
6940
|
+
headers: {
|
|
6941
|
+
[name: string]: unknown;
|
|
6942
|
+
};
|
|
6943
|
+
content: {
|
|
6944
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6945
|
+
};
|
|
6946
|
+
};
|
|
6947
|
+
/** @description Body did not match the tool's input schema. */
|
|
6948
|
+
422: {
|
|
6949
|
+
headers: {
|
|
6950
|
+
[name: string]: unknown;
|
|
6951
|
+
};
|
|
6952
|
+
content: {
|
|
6953
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6954
|
+
};
|
|
6955
|
+
};
|
|
6956
|
+
/** @description Server error. */
|
|
6957
|
+
500: {
|
|
6958
|
+
headers: {
|
|
6959
|
+
[name: string]: unknown;
|
|
6960
|
+
};
|
|
6961
|
+
content: {
|
|
6962
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6963
|
+
};
|
|
6964
|
+
};
|
|
6965
|
+
};
|
|
6966
|
+
};
|
|
6967
|
+
listWhiteboardStencils: {
|
|
6968
|
+
parameters: {
|
|
6969
|
+
query?: never;
|
|
6970
|
+
header?: never;
|
|
6971
|
+
path?: never;
|
|
6972
|
+
cookie?: never;
|
|
6973
|
+
};
|
|
6974
|
+
requestBody?: {
|
|
6975
|
+
content: {
|
|
6976
|
+
"application/json": {
|
|
6977
|
+
/** @description Free-text search across name + pack + category (e.g. 'sticky note', 'decision', 'database table', 'phone frame', 'actor'). */
|
|
6978
|
+
query?: string;
|
|
6979
|
+
/** @description Restrict to one pack, e.g. 'Sticky Notes', 'Flowchart', 'BPMN', 'UML & ER', 'Scrum Board', 'Lo-Fi Wireframes', 'Org Chart'. */
|
|
6980
|
+
pack?: string;
|
|
6981
|
+
/** @description Filter by category: 'Notes & Planning', 'Diagramming', 'UI & Wireframing', 'Data & Charts', 'People & Fun'. */
|
|
6982
|
+
category?: string;
|
|
6983
|
+
/** @description Max results (default 60, max 200). */
|
|
6984
|
+
limit?: number;
|
|
6985
|
+
};
|
|
6986
|
+
};
|
|
6987
|
+
};
|
|
6988
|
+
responses: {
|
|
6989
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6990
|
+
200: {
|
|
6991
|
+
headers: {
|
|
6992
|
+
[name: string]: unknown;
|
|
6993
|
+
};
|
|
6994
|
+
content: {
|
|
6995
|
+
"application/json": {
|
|
6996
|
+
[key: string]: unknown;
|
|
6997
|
+
};
|
|
6998
|
+
};
|
|
6999
|
+
};
|
|
7000
|
+
/** @description Validation error. */
|
|
7001
|
+
400: {
|
|
7002
|
+
headers: {
|
|
7003
|
+
[name: string]: unknown;
|
|
7004
|
+
};
|
|
7005
|
+
content: {
|
|
7006
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7007
|
+
};
|
|
7008
|
+
};
|
|
7009
|
+
/** @description Missing or invalid credentials. */
|
|
7010
|
+
401: {
|
|
7011
|
+
headers: {
|
|
7012
|
+
[name: string]: unknown;
|
|
7013
|
+
};
|
|
7014
|
+
content: {
|
|
7015
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7016
|
+
};
|
|
7017
|
+
};
|
|
7018
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7019
|
+
403: {
|
|
7020
|
+
headers: {
|
|
7021
|
+
[name: string]: unknown;
|
|
7022
|
+
};
|
|
7023
|
+
content: {
|
|
7024
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7025
|
+
};
|
|
7026
|
+
};
|
|
7027
|
+
/** @description Resource not found. */
|
|
7028
|
+
404: {
|
|
7029
|
+
headers: {
|
|
7030
|
+
[name: string]: unknown;
|
|
7031
|
+
};
|
|
7032
|
+
content: {
|
|
7033
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7034
|
+
};
|
|
7035
|
+
};
|
|
7036
|
+
/** @description Body did not match the tool's input schema. */
|
|
7037
|
+
422: {
|
|
7038
|
+
headers: {
|
|
7039
|
+
[name: string]: unknown;
|
|
7040
|
+
};
|
|
7041
|
+
content: {
|
|
7042
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7043
|
+
};
|
|
7044
|
+
};
|
|
7045
|
+
/** @description Server error. */
|
|
7046
|
+
500: {
|
|
7047
|
+
headers: {
|
|
7048
|
+
[name: string]: unknown;
|
|
7049
|
+
};
|
|
7050
|
+
content: {
|
|
7051
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7052
|
+
};
|
|
7053
|
+
};
|
|
7054
|
+
};
|
|
7055
|
+
};
|
|
7056
|
+
getWhiteboardImage: {
|
|
7057
|
+
parameters: {
|
|
7058
|
+
query?: never;
|
|
7059
|
+
header?: never;
|
|
7060
|
+
path?: never;
|
|
7061
|
+
cookie?: never;
|
|
7062
|
+
};
|
|
7063
|
+
requestBody?: {
|
|
7064
|
+
content: {
|
|
7065
|
+
"application/json": {
|
|
7066
|
+
/** @description The whiteboard's documentId. */
|
|
7067
|
+
documentId: string;
|
|
7068
|
+
/**
|
|
7069
|
+
* @description png (default — a viewable raster) or svg (vector markup).
|
|
7070
|
+
* @enum {string}
|
|
7071
|
+
*/
|
|
7072
|
+
format?: "png" | "svg";
|
|
7073
|
+
/** @description Render only these element ids (plus their bound labels + group peers) instead of the whole board. */
|
|
7074
|
+
elementIds?: string[];
|
|
7075
|
+
/** @description Canvas background colour (default white), e.g. '#ffffff' or 'transparent'. */
|
|
7076
|
+
background?: string;
|
|
7077
|
+
};
|
|
7078
|
+
};
|
|
7079
|
+
};
|
|
7080
|
+
responses: {
|
|
7081
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
7082
|
+
200: {
|
|
7083
|
+
headers: {
|
|
7084
|
+
[name: string]: unknown;
|
|
7085
|
+
};
|
|
7086
|
+
content: {
|
|
7087
|
+
"application/json": {
|
|
7088
|
+
[key: string]: unknown;
|
|
7089
|
+
};
|
|
7090
|
+
};
|
|
7091
|
+
};
|
|
7092
|
+
/** @description Validation error. */
|
|
7093
|
+
400: {
|
|
7094
|
+
headers: {
|
|
7095
|
+
[name: string]: unknown;
|
|
7096
|
+
};
|
|
7097
|
+
content: {
|
|
7098
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7099
|
+
};
|
|
7100
|
+
};
|
|
7101
|
+
/** @description Missing or invalid credentials. */
|
|
7102
|
+
401: {
|
|
7103
|
+
headers: {
|
|
7104
|
+
[name: string]: unknown;
|
|
7105
|
+
};
|
|
7106
|
+
content: {
|
|
7107
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7108
|
+
};
|
|
7109
|
+
};
|
|
7110
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7111
|
+
403: {
|
|
7112
|
+
headers: {
|
|
7113
|
+
[name: string]: unknown;
|
|
7114
|
+
};
|
|
7115
|
+
content: {
|
|
7116
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7117
|
+
};
|
|
7118
|
+
};
|
|
7119
|
+
/** @description Resource not found. */
|
|
7120
|
+
404: {
|
|
7121
|
+
headers: {
|
|
7122
|
+
[name: string]: unknown;
|
|
7123
|
+
};
|
|
7124
|
+
content: {
|
|
7125
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7126
|
+
};
|
|
7127
|
+
};
|
|
7128
|
+
/** @description Body did not match the tool's input schema. */
|
|
7129
|
+
422: {
|
|
7130
|
+
headers: {
|
|
7131
|
+
[name: string]: unknown;
|
|
7132
|
+
};
|
|
7133
|
+
content: {
|
|
7134
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7135
|
+
};
|
|
7136
|
+
};
|
|
7137
|
+
/** @description Server error. */
|
|
7138
|
+
500: {
|
|
7139
|
+
headers: {
|
|
7140
|
+
[name: string]: unknown;
|
|
7141
|
+
};
|
|
7142
|
+
content: {
|
|
7143
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7144
|
+
};
|
|
7145
|
+
};
|
|
7146
|
+
};
|
|
7147
|
+
};
|
|
7148
|
+
deleteWhiteboard: {
|
|
7149
|
+
parameters: {
|
|
7150
|
+
query?: never;
|
|
7151
|
+
header?: never;
|
|
7152
|
+
path?: never;
|
|
7153
|
+
cookie?: never;
|
|
7154
|
+
};
|
|
7155
|
+
requestBody?: {
|
|
7156
|
+
content: {
|
|
7157
|
+
"application/json": {
|
|
7158
|
+
documentId: string;
|
|
7159
|
+
};
|
|
7160
|
+
};
|
|
7161
|
+
};
|
|
7162
|
+
responses: {
|
|
7163
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
7164
|
+
200: {
|
|
7165
|
+
headers: {
|
|
7166
|
+
[name: string]: unknown;
|
|
7167
|
+
};
|
|
7168
|
+
content: {
|
|
7169
|
+
"application/json": {
|
|
7170
|
+
[key: string]: unknown;
|
|
7171
|
+
};
|
|
7172
|
+
};
|
|
7173
|
+
};
|
|
7174
|
+
/** @description Validation error. */
|
|
7175
|
+
400: {
|
|
7176
|
+
headers: {
|
|
7177
|
+
[name: string]: unknown;
|
|
7178
|
+
};
|
|
7179
|
+
content: {
|
|
7180
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7181
|
+
};
|
|
7182
|
+
};
|
|
7183
|
+
/** @description Missing or invalid credentials. */
|
|
7184
|
+
401: {
|
|
7185
|
+
headers: {
|
|
7186
|
+
[name: string]: unknown;
|
|
7187
|
+
};
|
|
7188
|
+
content: {
|
|
7189
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7190
|
+
};
|
|
7191
|
+
};
|
|
7192
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7193
|
+
403: {
|
|
7194
|
+
headers: {
|
|
7195
|
+
[name: string]: unknown;
|
|
7196
|
+
};
|
|
7197
|
+
content: {
|
|
7198
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7199
|
+
};
|
|
7200
|
+
};
|
|
7201
|
+
/** @description Resource not found. */
|
|
7202
|
+
404: {
|
|
7203
|
+
headers: {
|
|
7204
|
+
[name: string]: unknown;
|
|
7205
|
+
};
|
|
7206
|
+
content: {
|
|
7207
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7208
|
+
};
|
|
7209
|
+
};
|
|
7210
|
+
/** @description Body did not match the tool's input schema. */
|
|
7211
|
+
422: {
|
|
7212
|
+
headers: {
|
|
7213
|
+
[name: string]: unknown;
|
|
7214
|
+
};
|
|
7215
|
+
content: {
|
|
7216
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7217
|
+
};
|
|
7218
|
+
};
|
|
7219
|
+
/** @description Server error. */
|
|
7220
|
+
500: {
|
|
7221
|
+
headers: {
|
|
7222
|
+
[name: string]: unknown;
|
|
7223
|
+
};
|
|
7224
|
+
content: {
|
|
7225
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7226
|
+
};
|
|
7227
|
+
};
|
|
7228
|
+
};
|
|
7229
|
+
};
|
|
7230
|
+
renderDiagram: {
|
|
7231
|
+
parameters: {
|
|
7232
|
+
query?: never;
|
|
7233
|
+
header?: never;
|
|
7234
|
+
path?: never;
|
|
7235
|
+
cookie?: never;
|
|
7236
|
+
};
|
|
7237
|
+
requestBody?: {
|
|
7238
|
+
content: {
|
|
7239
|
+
"application/json": {
|
|
7240
|
+
/** @description Diagram language, e.g. 'mermaid', 'd2', 'plantuml', 'graphviz', 'bpmn', 'vegalite'. See listDiagramTypes. */
|
|
7241
|
+
diagramType: string;
|
|
7242
|
+
/** @description The diagram DSL / code to render. */
|
|
7243
|
+
source: string;
|
|
7244
|
+
/**
|
|
7245
|
+
* @description png (default) or jpeg = raster; svg = vector.
|
|
7246
|
+
* @enum {string}
|
|
7247
|
+
*/
|
|
7248
|
+
format?: "png" | "jpeg" | "svg";
|
|
7249
|
+
/**
|
|
7250
|
+
* @description Raster resolution multiplier 1x/2x/3x (default 2). Ignored for svg.
|
|
7251
|
+
* @enum {number}
|
|
7252
|
+
*/
|
|
7253
|
+
scale?: 1 | 2 | 3;
|
|
7254
|
+
/** @description Background for png/jpeg, e.g. '#ffffff' or 'transparent' (png only). */
|
|
7255
|
+
background?: string;
|
|
7256
|
+
};
|
|
7257
|
+
};
|
|
7258
|
+
};
|
|
7259
|
+
responses: {
|
|
7260
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
7261
|
+
200: {
|
|
7262
|
+
headers: {
|
|
7263
|
+
[name: string]: unknown;
|
|
7264
|
+
};
|
|
7265
|
+
content: {
|
|
7266
|
+
"application/json": {
|
|
7267
|
+
[key: string]: unknown;
|
|
7268
|
+
};
|
|
7269
|
+
};
|
|
7270
|
+
};
|
|
7271
|
+
/** @description Validation error. */
|
|
7272
|
+
400: {
|
|
7273
|
+
headers: {
|
|
7274
|
+
[name: string]: unknown;
|
|
7275
|
+
};
|
|
7276
|
+
content: {
|
|
7277
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7278
|
+
};
|
|
7279
|
+
};
|
|
7280
|
+
/** @description Missing or invalid credentials. */
|
|
7281
|
+
401: {
|
|
7282
|
+
headers: {
|
|
7283
|
+
[name: string]: unknown;
|
|
7284
|
+
};
|
|
7285
|
+
content: {
|
|
7286
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7287
|
+
};
|
|
7288
|
+
};
|
|
7289
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7290
|
+
403: {
|
|
7291
|
+
headers: {
|
|
7292
|
+
[name: string]: unknown;
|
|
7293
|
+
};
|
|
7294
|
+
content: {
|
|
7295
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7296
|
+
};
|
|
7297
|
+
};
|
|
7298
|
+
/** @description Resource not found. */
|
|
7299
|
+
404: {
|
|
7300
|
+
headers: {
|
|
7301
|
+
[name: string]: unknown;
|
|
7302
|
+
};
|
|
7303
|
+
content: {
|
|
7304
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7305
|
+
};
|
|
7306
|
+
};
|
|
7307
|
+
/** @description Body did not match the tool's input schema. */
|
|
7308
|
+
422: {
|
|
7309
|
+
headers: {
|
|
7310
|
+
[name: string]: unknown;
|
|
7311
|
+
};
|
|
7312
|
+
content: {
|
|
7313
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7314
|
+
};
|
|
7315
|
+
};
|
|
7316
|
+
/** @description Server error. */
|
|
7317
|
+
500: {
|
|
7318
|
+
headers: {
|
|
7319
|
+
[name: string]: unknown;
|
|
7320
|
+
};
|
|
7321
|
+
content: {
|
|
7322
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7323
|
+
};
|
|
7324
|
+
};
|
|
7325
|
+
};
|
|
7326
|
+
};
|
|
7327
|
+
getDiagramImage: {
|
|
7328
|
+
parameters: {
|
|
7329
|
+
query?: never;
|
|
7330
|
+
header?: never;
|
|
7331
|
+
path?: never;
|
|
7332
|
+
cookie?: never;
|
|
7333
|
+
};
|
|
7334
|
+
requestBody?: {
|
|
7335
|
+
content: {
|
|
7336
|
+
"application/json": {
|
|
7337
|
+
/** @description The diagram's id (from getDocument markers / getDiagramInDocument). */
|
|
7338
|
+
diagramId: string;
|
|
7339
|
+
/**
|
|
7340
|
+
* @description png (default) or jpeg = raster; svg = vector.
|
|
7341
|
+
* @enum {string}
|
|
7342
|
+
*/
|
|
7343
|
+
format?: "png" | "jpeg" | "svg";
|
|
7344
|
+
/**
|
|
7345
|
+
* @description Raster resolution multiplier 1x/2x/3x (default 2). Ignored for svg.
|
|
7346
|
+
* @enum {number}
|
|
7347
|
+
*/
|
|
7348
|
+
scale?: 1 | 2 | 3;
|
|
7349
|
+
/** @description Background for png/jpeg, e.g. '#ffffff' or 'transparent' (png only). */
|
|
7350
|
+
background?: string;
|
|
7351
|
+
};
|
|
7352
|
+
};
|
|
7353
|
+
};
|
|
7354
|
+
responses: {
|
|
7355
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
7356
|
+
200: {
|
|
7357
|
+
headers: {
|
|
7358
|
+
[name: string]: unknown;
|
|
7359
|
+
};
|
|
7360
|
+
content: {
|
|
7361
|
+
"application/json": {
|
|
7362
|
+
[key: string]: unknown;
|
|
7363
|
+
};
|
|
7364
|
+
};
|
|
7365
|
+
};
|
|
7366
|
+
/** @description Validation error. */
|
|
7367
|
+
400: {
|
|
7368
|
+
headers: {
|
|
7369
|
+
[name: string]: unknown;
|
|
7370
|
+
};
|
|
7371
|
+
content: {
|
|
7372
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7373
|
+
};
|
|
7374
|
+
};
|
|
7375
|
+
/** @description Missing or invalid credentials. */
|
|
7376
|
+
401: {
|
|
7377
|
+
headers: {
|
|
7378
|
+
[name: string]: unknown;
|
|
7379
|
+
};
|
|
7380
|
+
content: {
|
|
7381
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7382
|
+
};
|
|
7383
|
+
};
|
|
7384
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7385
|
+
403: {
|
|
7386
|
+
headers: {
|
|
7387
|
+
[name: string]: unknown;
|
|
7388
|
+
};
|
|
7389
|
+
content: {
|
|
7390
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7391
|
+
};
|
|
7392
|
+
};
|
|
7393
|
+
/** @description Resource not found. */
|
|
7394
|
+
404: {
|
|
7395
|
+
headers: {
|
|
7396
|
+
[name: string]: unknown;
|
|
7397
|
+
};
|
|
7398
|
+
content: {
|
|
7399
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7400
|
+
};
|
|
7401
|
+
};
|
|
7402
|
+
/** @description Body did not match the tool's input schema. */
|
|
7403
|
+
422: {
|
|
7404
|
+
headers: {
|
|
7405
|
+
[name: string]: unknown;
|
|
7406
|
+
};
|
|
7407
|
+
content: {
|
|
7408
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7409
|
+
};
|
|
7410
|
+
};
|
|
7411
|
+
/** @description Server error. */
|
|
7412
|
+
500: {
|
|
7413
|
+
headers: {
|
|
7414
|
+
[name: string]: unknown;
|
|
7415
|
+
};
|
|
7416
|
+
content: {
|
|
7417
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7418
|
+
};
|
|
7419
|
+
};
|
|
7420
|
+
};
|
|
7421
|
+
};
|
|
7422
|
+
rebuildPlatformCatalogEmbeddings: {
|
|
7423
|
+
parameters: {
|
|
7424
|
+
query?: never;
|
|
7425
|
+
header?: never;
|
|
7426
|
+
path?: never;
|
|
7427
|
+
cookie?: never;
|
|
7428
|
+
};
|
|
7429
|
+
requestBody?: {
|
|
7430
|
+
content: {
|
|
7431
|
+
"application/json": {
|
|
7432
|
+
/** @description Which catalogs to sync. Defaults to all three (tool, stencil, icon). */
|
|
7433
|
+
types?: ("tool" | "stencil" | "icon")[];
|
|
7434
|
+
};
|
|
7435
|
+
};
|
|
7436
|
+
};
|
|
7437
|
+
responses: {
|
|
7438
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
7439
|
+
200: {
|
|
7440
|
+
headers: {
|
|
7441
|
+
[name: string]: unknown;
|
|
7442
|
+
};
|
|
7443
|
+
content: {
|
|
7444
|
+
"application/json": {
|
|
7445
|
+
[key: string]: unknown;
|
|
7446
|
+
};
|
|
7447
|
+
};
|
|
7448
|
+
};
|
|
7449
|
+
/** @description Validation error. */
|
|
7450
|
+
400: {
|
|
7451
|
+
headers: {
|
|
7452
|
+
[name: string]: unknown;
|
|
7453
|
+
};
|
|
7454
|
+
content: {
|
|
7455
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7456
|
+
};
|
|
7457
|
+
};
|
|
7458
|
+
/** @description Missing or invalid credentials. */
|
|
7459
|
+
401: {
|
|
7460
|
+
headers: {
|
|
7461
|
+
[name: string]: unknown;
|
|
7462
|
+
};
|
|
7463
|
+
content: {
|
|
7464
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7465
|
+
};
|
|
7466
|
+
};
|
|
7467
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7468
|
+
403: {
|
|
7469
|
+
headers: {
|
|
7470
|
+
[name: string]: unknown;
|
|
7471
|
+
};
|
|
7472
|
+
content: {
|
|
7473
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7474
|
+
};
|
|
7475
|
+
};
|
|
7476
|
+
/** @description Resource not found. */
|
|
7477
|
+
404: {
|
|
7478
|
+
headers: {
|
|
7479
|
+
[name: string]: unknown;
|
|
7480
|
+
};
|
|
7481
|
+
content: {
|
|
7482
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7483
|
+
};
|
|
7484
|
+
};
|
|
7485
|
+
/** @description Body did not match the tool's input schema. */
|
|
7486
|
+
422: {
|
|
7487
|
+
headers: {
|
|
7488
|
+
[name: string]: unknown;
|
|
7489
|
+
};
|
|
7490
|
+
content: {
|
|
7491
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7492
|
+
};
|
|
7493
|
+
};
|
|
7494
|
+
/** @description Server error. */
|
|
7495
|
+
500: {
|
|
7496
|
+
headers: {
|
|
7497
|
+
[name: string]: unknown;
|
|
7498
|
+
};
|
|
7499
|
+
content: {
|
|
7500
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7501
|
+
};
|
|
7502
|
+
};
|
|
7503
|
+
};
|
|
7504
|
+
};
|
|
7505
|
+
reorderDocuments: {
|
|
7506
|
+
parameters: {
|
|
7507
|
+
query?: never;
|
|
7508
|
+
header?: never;
|
|
7509
|
+
path?: never;
|
|
7510
|
+
cookie?: never;
|
|
7511
|
+
};
|
|
7512
|
+
requestBody?: {
|
|
7513
|
+
content: {
|
|
7514
|
+
"application/json": {
|
|
7515
|
+
/** @description List of document position updates. All documents must belong to the same project. */
|
|
7516
|
+
items: {
|
|
7517
|
+
documentId: string;
|
|
7518
|
+
position: number;
|
|
7519
|
+
}[];
|
|
7520
|
+
};
|
|
7521
|
+
};
|
|
7522
|
+
};
|
|
7523
|
+
responses: {
|
|
7524
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
7525
|
+
200: {
|
|
7526
|
+
headers: {
|
|
7527
|
+
[name: string]: unknown;
|
|
7528
|
+
};
|
|
7529
|
+
content: {
|
|
7530
|
+
"application/json": {
|
|
7531
|
+
[key: string]: unknown;
|
|
7532
|
+
};
|
|
7533
|
+
};
|
|
7534
|
+
};
|
|
7535
|
+
/** @description Validation error. */
|
|
7536
|
+
400: {
|
|
7537
|
+
headers: {
|
|
7538
|
+
[name: string]: unknown;
|
|
7539
|
+
};
|
|
7540
|
+
content: {
|
|
7541
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7542
|
+
};
|
|
7543
|
+
};
|
|
7544
|
+
/** @description Missing or invalid credentials. */
|
|
7545
|
+
401: {
|
|
7546
|
+
headers: {
|
|
7547
|
+
[name: string]: unknown;
|
|
7548
|
+
};
|
|
7549
|
+
content: {
|
|
7550
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7551
|
+
};
|
|
7552
|
+
};
|
|
7553
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
7554
|
+
403: {
|
|
7555
|
+
headers: {
|
|
7556
|
+
[name: string]: unknown;
|
|
7557
|
+
};
|
|
7558
|
+
content: {
|
|
7559
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7560
|
+
};
|
|
7561
|
+
};
|
|
7562
|
+
/** @description Resource not found. */
|
|
7563
|
+
404: {
|
|
7564
|
+
headers: {
|
|
7565
|
+
[name: string]: unknown;
|
|
7566
|
+
};
|
|
7567
|
+
content: {
|
|
7568
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7569
|
+
};
|
|
7570
|
+
};
|
|
7571
|
+
/** @description Body did not match the tool's input schema. */
|
|
7572
|
+
422: {
|
|
7573
|
+
headers: {
|
|
7574
|
+
[name: string]: unknown;
|
|
7575
|
+
};
|
|
7576
|
+
content: {
|
|
7577
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7578
|
+
};
|
|
7579
|
+
};
|
|
7580
|
+
/** @description Server error. */
|
|
7581
|
+
500: {
|
|
7582
|
+
headers: {
|
|
7583
|
+
[name: string]: unknown;
|
|
7584
|
+
};
|
|
7585
|
+
content: {
|
|
7586
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7587
|
+
};
|
|
7588
|
+
};
|
|
7589
|
+
};
|
|
7590
|
+
};
|
|
5824
7591
|
listDocumentVersions: {
|
|
5825
7592
|
parameters: {
|
|
5826
7593
|
query?: never;
|