@stablebaseline/sdk 0.4.2 → 0.4.3
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 +669 -22
- package/dist/index.d.ts +669 -22
- package/openapi.json +857 -28
- package/package.json +2 -2
- package/src/types.generated.ts +669 -22
package/src/types.generated.ts
CHANGED
|
@@ -375,7 +375,7 @@ export interface paths {
|
|
|
375
375
|
put?: never;
|
|
376
376
|
/**
|
|
377
377
|
* listDocuments
|
|
378
|
-
* @description List documents in a project, workspace, or folder.
|
|
378
|
+
* @description List AND grep documents in a project, workspace, or folder. `query` does a full-content search across each document's body (not just the title) and returns the matching lines — like grep across your docs. Each returned document includes `contentMatches: [{line, text, context?}]` and `matchCount`; the `text` is anchor-ready (paste it straight into editDocument's oldText). Use isRegex:true for regular-expression search (e.g. "TODO\(.*\)", "ACME-\d+"), caseSensitive for exact case, and contextLines for surrounding lines (grep -C). versionTimestamp is returned per document so you can edit straight from the results without a getDocument round-trip. Also supports date filtering.
|
|
379
379
|
*/
|
|
380
380
|
post: operations["listDocuments"];
|
|
381
381
|
delete?: never;
|
|
@@ -475,7 +475,7 @@ export interface paths {
|
|
|
475
475
|
put?: never;
|
|
476
476
|
/**
|
|
477
477
|
* editDocument
|
|
478
|
-
* @description Edit a document: the PREFERRED tool for small targeted changes. Two patch dialects — do NOT mix them in one call. (1) ANCHOR patches {oldText, newText, before?, after?} — RECOMMENDED: replace an exact snippet of existing text with new text. oldText must match the document byte-for-byte AND be unique; if it occurs more than once, add `before`/`after` (
|
|
478
|
+
* @description Edit a document: the PREFERRED tool for small targeted changes. Two patch dialects — do NOT mix them in one call. (1) ANCHOR patches {oldText, newText, before?, after?} — RECOMMENDED: replace an exact snippet of existing text with new text. oldText must match the document byte-for-byte AND be unique; if it occurs more than once, either expand oldText until it is unique, or add `before`/`after` (the EXACT text immediately before/after the match) to disambiguate. A no-match returns nearby context; an ambiguous match returns the occurrence count. Anchors do NOT drift, so you don't need fresh line numbers and they survive concurrent edits. Use newText:"" to delete. (2) LINE patches {startLine, endLine, replacement} — 1-based and INCLUSIVE: call getDocument first for line numbers; replace line 5 with {startLine:5,endLine:5}; INSERT before line N (deleting nothing) with {startLine:N,endLine:N-1}; append to an L-line document with {startLine:L+1,endLine:L}. Line numbers are ABSOLUTE and GO STALE after ANY edit — re-call getDocument before further line patches; out-of-range patches are rejected with the current line count. versionTimestamp from getDocument is required for optimistic locking, EXCEPT when dryRun:true. Set dryRun:true to apply the patches and get the resulting text back WITHOUT saving (verify before committing — kills retry loops). Do not edit or delete DIAGRAM/IMAGE marker lines (rejected with guidance) — use dedicated diagram/image tools. To @-mention a person, insert `<!-- REFERENCE: {"type":"user","id":"<user_uuid>","label":"Name"} -->`; look up the user_id via listAssignablePrincipals. Mentioned users are notified automatically.
|
|
479
479
|
*/
|
|
480
480
|
post: operations["editDocument"];
|
|
481
481
|
delete?: never;
|
|
@@ -635,7 +635,7 @@ export interface paths {
|
|
|
635
635
|
put?: never;
|
|
636
636
|
/**
|
|
637
637
|
* designWhiteboard
|
|
638
|
-
* @description Design a complete, visually polished whiteboard from a natural-language goal using the PREMIUM multi-agent pipeline (the same one the in-app assistant uses): it browses the stencil/icon library, composes the board, renders it, critiques the rendered image, and refines — far better than hand-placing shapes. COST + APPROVAL: this costs 50 credits per board and requires the user's explicit approval. Call it FIRST without `confirm` to get the exact cost + the workspace credit balance; show that to the user and only call again with `confirm: true` once they agree. If they decline (or lack credits), build the board directly with the standard whiteboard tools (addWhiteboardElements / insertWhiteboardDiagram / listWhiteboardStencils) at no extra charge. It runs in the BACKGROUND and returns immediately with a sessionId; the board fills in over 1-3 minutes. The 50 credits are refunded automatically if the design fails on our side.
|
|
638
|
+
* @description Design a complete, visually polished whiteboard from a natural-language goal using the PREMIUM multi-agent pipeline (the same one the in-app assistant uses): it browses the stencil/icon library, composes the board, renders it, critiques the rendered image, and refines — far better than hand-placing shapes. COST + APPROVAL: this costs 50 credits per board and requires the user's explicit approval. Call it FIRST without `confirm` to get the exact cost + the workspace credit balance; show that to the user and only call again with `confirm: true` once they agree. If they decline (or lack credits), build the board directly with the standard whiteboard tools (addWhiteboardElements / insertWhiteboardDiagram / listWhiteboardStencils) at no extra charge. It runs in the BACKGROUND and returns immediately with a sessionId; the board fills in over 1-3 minutes. The 50 credits are refunded automatically if the design fails on our side. Optional `designProfile: 'branded-executive'` instead builds an ON-BRAND, fully-editable McKinsey-style SLIDE DECK themed by the org's brand kit (palette/fonts) — use it when the user wants polished branded business slides; it builds in-process and the board is ready on return. Optional `designProfile: 'illustrated'` instead builds an editable-illustration board: pick it for illustrated, image-based, picture-style, richly-drawn or educational explainer boards (e.g. illustrate photosynthesis, an illustrated diagram of the water cycle, a textbook-style visual). It generates a rich text-free vector illustration and overlays real, editable text labels with leader lines on top. It is gated per organisation; if it is not enabled the call returns a clear message, so fall back to the standard design. Optional `designProfile: 'image'` instead builds a single, polished, on-brand IMAGE board with all the text baked into the picture (no editable shapes): pick 'image' when the user wants a single finished image, poster or infographic they will refine by AI mask edits rather than by moving editable shapes. It is also gated per organisation; if it is not enabled the call returns a clear message.
|
|
639
639
|
*/
|
|
640
640
|
post: operations["designWhiteboard"];
|
|
641
641
|
delete?: never;
|
|
@@ -644,6 +644,46 @@ export interface paths {
|
|
|
644
644
|
patch?: never;
|
|
645
645
|
trace?: never;
|
|
646
646
|
};
|
|
647
|
+
"/tools/designComponent": {
|
|
648
|
+
parameters: {
|
|
649
|
+
query?: never;
|
|
650
|
+
header?: never;
|
|
651
|
+
path?: never;
|
|
652
|
+
cookie?: never;
|
|
653
|
+
};
|
|
654
|
+
get?: never;
|
|
655
|
+
put?: never;
|
|
656
|
+
/**
|
|
657
|
+
* designComponent
|
|
658
|
+
* @description Design ONE reusable, on-brand SLIDE COMPONENT and add it to the org's component library so every future branded deck (designWhiteboard designProfile:'branded-executive') can use it. This is the self-improving design loop: an agent AUTHORS the component as a declarative template (a gradient/shadow/curve SVG skin + a native editable PPTX shape + reflowing bound-text slots), RENDERS it, a vision critic COMPARES the render to your brief and lists gaps, and it FIXES + re-renders until polished — then validates and stores it. Use it to grow the deck component catalogue beyond the built-ins (e.g. a 'kpi.delta' stat with an up/down arrow, a 'quote.card', a 'logo.strip'). Browse-first: if a component with this `key` already exists it is reused (pass force:true to redesign). Provide example `sampleSlots` so it can lay out real content, and a `projectId` for the small preview board it builds. Returns the stored component, the per-round critique trail, and the preview board id. It uses a few AI calls + renders (no flat credit charge); the new component is then free to reuse forever.
|
|
659
|
+
*/
|
|
660
|
+
post: operations["designComponent"];
|
|
661
|
+
delete?: never;
|
|
662
|
+
options?: never;
|
|
663
|
+
head?: never;
|
|
664
|
+
patch?: never;
|
|
665
|
+
trace?: never;
|
|
666
|
+
};
|
|
667
|
+
"/tools/editWhiteboardImageRegion": {
|
|
668
|
+
parameters: {
|
|
669
|
+
query?: never;
|
|
670
|
+
header?: never;
|
|
671
|
+
path?: never;
|
|
672
|
+
cookie?: never;
|
|
673
|
+
};
|
|
674
|
+
get?: never;
|
|
675
|
+
put?: never;
|
|
676
|
+
/**
|
|
677
|
+
* editWhiteboardImageRegion
|
|
678
|
+
* @description Mask-edit (inpaint) one region of an image element on a whiteboard. Given the target image element id and a paint MASK (a PNG where WHITE marks the area to regenerate and BLACK is kept), it regenerates only the masked region using the prompt and replaces the image IN PLACE (same position + size). This is mainly used by the in-app image-board mask editor for boards designed with designProfile:'image'. It costs a small flat credit charge (refunded automatically if the edit fails on our side). It is gated per organisation behind the same 'whiteboard_design_image' feature as the image design profile; if that is not enabled the call returns a clear message.
|
|
679
|
+
*/
|
|
680
|
+
post: operations["editWhiteboardImageRegion"];
|
|
681
|
+
delete?: never;
|
|
682
|
+
options?: never;
|
|
683
|
+
head?: never;
|
|
684
|
+
patch?: never;
|
|
685
|
+
trace?: never;
|
|
686
|
+
};
|
|
647
687
|
"/tools/createWhiteboard": {
|
|
648
688
|
parameters: {
|
|
649
689
|
query?: never;
|
|
@@ -1215,7 +1255,7 @@ export interface paths {
|
|
|
1215
1255
|
put?: never;
|
|
1216
1256
|
/**
|
|
1217
1257
|
* listImprovements
|
|
1218
|
-
* @description List improvements in a project. Supports filtering by status, type, priority
|
|
1258
|
+
* @description List AND grep improvements in a project. `query` searches the title, friendlyId and problem statement, not just the title (substring by default; set isRegex:true for a regular expression, caseSensitive:true for exact case). Supports filtering by status, type, priority. For ranked semantic + text search use searchImprovements.
|
|
1219
1259
|
*/
|
|
1220
1260
|
post: operations["listImprovements"];
|
|
1221
1261
|
delete?: never;
|
|
@@ -1495,7 +1535,11 @@ export interface paths {
|
|
|
1495
1535
|
put?: never;
|
|
1496
1536
|
/**
|
|
1497
1537
|
* searchImprovements
|
|
1498
|
-
* @description
|
|
1538
|
+
* @description Locate any artefact (document / whiteboard / diagram / plan / task / improvement / compliance) by name or friendly id — AND ranked semantic search over improvements.
|
|
1539
|
+
*
|
|
1540
|
+
* • CROSS-ARTEFACT FINDER MODE (pass `types`): matches title + friendly id (e.g. "DOC-123", "WBD-9", "PLN-4", "TAS-7", "IMP-2") + description across every artefact type. Returns a typed navigable list ({ artefacts: [{ result_type, id, friendly_id, title, snippet, document_id, project_id, href }] }). This is the tool to use to find an artefact by its name or id — NOT kg_search (which retrieves knowledge from inside content). Pass types:["document","whiteboard","plan","task","improvement","compliance"] (or a subset) to search those types; an empty or all-inclusive list searches everything.
|
|
1541
|
+
*
|
|
1542
|
+
* • IMPROVEMENT SEMANTIC MODE (omit `types`): hybrid full-text + vector search over improvements only. Returns ranked { improvements }.
|
|
1499
1543
|
*/
|
|
1500
1544
|
post: operations["searchImprovements"];
|
|
1501
1545
|
delete?: never;
|
|
@@ -1515,7 +1559,7 @@ export interface paths {
|
|
|
1515
1559
|
put?: never;
|
|
1516
1560
|
/**
|
|
1517
1561
|
* listPlans
|
|
1518
|
-
* @description List plans in a project. Supports filtering by status
|
|
1562
|
+
* @description List AND grep plans in a project. `query` searches the title, friendlyId and description, not just the title (substring by default; set isRegex:true for a regular expression, caseSensitive:true for exact case). Supports filtering by status and priority.
|
|
1519
1563
|
*/
|
|
1520
1564
|
post: operations["listPlans"];
|
|
1521
1565
|
delete?: never;
|
|
@@ -1815,7 +1859,7 @@ export interface paths {
|
|
|
1815
1859
|
put?: never;
|
|
1816
1860
|
/**
|
|
1817
1861
|
* listTasks
|
|
1818
|
-
* @description List tasks in a plan. Supports filtering by status, priority
|
|
1862
|
+
* @description List AND grep tasks in a plan. `query` searches the title, friendlyId and description, not just the title (substring by default; set isRegex:true for a regular expression, caseSensitive:true for exact case). Supports filtering by status, priority and phaseId.
|
|
1819
1863
|
*/
|
|
1820
1864
|
post: operations["listTasks"];
|
|
1821
1865
|
delete?: never;
|
|
@@ -2075,7 +2119,9 @@ export interface paths {
|
|
|
2075
2119
|
put?: never;
|
|
2076
2120
|
/**
|
|
2077
2121
|
* kg_search
|
|
2078
|
-
* @description Unified Knowledge Graph retrieval.
|
|
2122
|
+
* @description Unified Knowledge Graph KNOWLEDGE retrieval — facts, themes and relationships from INSIDE document CONTENT. This is NOT an artefact finder: do NOT use it to locate a document / whiteboard / diagram / plan / task / improvement by its TITLE or friendly id (e.g. "DOC-123", "find the GTM plan"). For locating an artefact by name or id use listDocuments / listWhiteboards / listPlans / listTasks / searchImprovements (they match title + friendly id). Use kg_search only to ANSWER A QUESTION from the knowledge contained in the artefacts.
|
|
2123
|
+
*
|
|
2124
|
+
* PICK THE MODE THAT FITS THE QUERY:
|
|
2079
2125
|
*
|
|
2080
2126
|
* • mode='local' (default) — for SPECIFIC factual questions ("what does §15 say about deposits?", "who is the Chief Counsel?"). FTS+vector RRF over individual document chunks. Returns precise excerpts with citations.
|
|
2081
2127
|
*
|
|
@@ -3621,6 +3667,66 @@ export interface paths {
|
|
|
3621
3667
|
patch?: never;
|
|
3622
3668
|
trace?: never;
|
|
3623
3669
|
};
|
|
3670
|
+
"/tools/createBrandKit": {
|
|
3671
|
+
parameters: {
|
|
3672
|
+
query?: never;
|
|
3673
|
+
header?: never;
|
|
3674
|
+
path?: never;
|
|
3675
|
+
cookie?: never;
|
|
3676
|
+
};
|
|
3677
|
+
get?: never;
|
|
3678
|
+
put?: never;
|
|
3679
|
+
/**
|
|
3680
|
+
* createBrandKit
|
|
3681
|
+
* @description Create a per-org BRAND KIT (palette/fonts/logo) that themes branded-executive slides and document exports. Build it from one of: a `logoUrl` (AUTO-EXTRACT palette/fonts via the vision model), an `officeUrl` (an existing .pptx/.docx — extracts theme colours, fonts, logo, watermark + embedded font files), or explicit `tokens`. Auth: can_admin_org. Tiered: free 0, pro 1, enterprise unlimited. Optionally set it as the default at a scope in one call.
|
|
3682
|
+
*/
|
|
3683
|
+
post: operations["createBrandKit"];
|
|
3684
|
+
delete?: never;
|
|
3685
|
+
options?: never;
|
|
3686
|
+
head?: never;
|
|
3687
|
+
patch?: never;
|
|
3688
|
+
trace?: never;
|
|
3689
|
+
};
|
|
3690
|
+
"/tools/listBrandKits": {
|
|
3691
|
+
parameters: {
|
|
3692
|
+
query?: never;
|
|
3693
|
+
header?: never;
|
|
3694
|
+
path?: never;
|
|
3695
|
+
cookie?: never;
|
|
3696
|
+
};
|
|
3697
|
+
get?: never;
|
|
3698
|
+
put?: never;
|
|
3699
|
+
/**
|
|
3700
|
+
* listBrandKits
|
|
3701
|
+
* @description List an organisation's BRAND KITS (palette/fonts/logo), newest first. Use a returned `id` as brandKitId for a design call or setDefaultBrandKit. Auth: can_admin_org.
|
|
3702
|
+
*/
|
|
3703
|
+
post: operations["listBrandKits"];
|
|
3704
|
+
delete?: never;
|
|
3705
|
+
options?: never;
|
|
3706
|
+
head?: never;
|
|
3707
|
+
patch?: never;
|
|
3708
|
+
trace?: never;
|
|
3709
|
+
};
|
|
3710
|
+
"/tools/setDefaultBrandKit": {
|
|
3711
|
+
parameters: {
|
|
3712
|
+
query?: never;
|
|
3713
|
+
header?: never;
|
|
3714
|
+
path?: never;
|
|
3715
|
+
cookie?: never;
|
|
3716
|
+
};
|
|
3717
|
+
get?: never;
|
|
3718
|
+
put?: never;
|
|
3719
|
+
/**
|
|
3720
|
+
* setDefaultBrandKit
|
|
3721
|
+
* @description Set or clear the default BRAND KIT at a scope: organization, workspace, or project. Defaults cascade most-specific-first (a per-board/document override beats project beats workspace beats organization). Pass brandKitId:null to clear. Auth: org owner/admin.
|
|
3722
|
+
*/
|
|
3723
|
+
post: operations["setDefaultBrandKit"];
|
|
3724
|
+
delete?: never;
|
|
3725
|
+
options?: never;
|
|
3726
|
+
head?: never;
|
|
3727
|
+
patch?: never;
|
|
3728
|
+
trace?: never;
|
|
3729
|
+
};
|
|
3624
3730
|
"/tools/updateOrgFeatureFlags": {
|
|
3625
3731
|
parameters: {
|
|
3626
3732
|
query?: never;
|
|
@@ -5309,7 +5415,16 @@ export interface operations {
|
|
|
5309
5415
|
projectId?: string;
|
|
5310
5416
|
workspaceId?: string;
|
|
5311
5417
|
folderId?: string;
|
|
5418
|
+
/** @description Search text. Matched against title, friendlyId AND full document content. Returns the matching lines per document (grep). Case-insensitive unless caseSensitive:true; treated as a regex if isRegex:true. */
|
|
5312
5419
|
query?: string;
|
|
5420
|
+
/** @description Treat `query` as a JavaScript regular expression (grep -E). Default false (literal substring). Regex search requires a project/workspace/folder scope and scans a bounded window of documents. */
|
|
5421
|
+
isRegex?: boolean;
|
|
5422
|
+
/** @description Case-sensitive matching. Default false. */
|
|
5423
|
+
caseSensitive?: boolean;
|
|
5424
|
+
/** @description Lines of surrounding context to include with each match (grep -C). 0-5, default 0. */
|
|
5425
|
+
contextLines?: number;
|
|
5426
|
+
/** @description Cap on matching lines returned per document. 1-20, default 5. */
|
|
5427
|
+
maxMatchesPerDocument?: number;
|
|
5313
5428
|
limit?: number;
|
|
5314
5429
|
offset?: number;
|
|
5315
5430
|
/** @description ISO 8601 date filter (from). */
|
|
@@ -5318,7 +5433,7 @@ export interface operations {
|
|
|
5318
5433
|
toDate?: string;
|
|
5319
5434
|
/** @description Date field to filter. Default: updated_at. */
|
|
5320
5435
|
dateField?: string;
|
|
5321
|
-
/** @description Field projection. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, href. */
|
|
5436
|
+
/** @description Field projection for the document metadata. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, href. (contentMatches/matchCount are always included when query is set.) */
|
|
5322
5437
|
fields?: string[];
|
|
5323
5438
|
};
|
|
5324
5439
|
};
|
|
@@ -6546,6 +6661,209 @@ export interface operations {
|
|
|
6546
6661
|
projectId?: string;
|
|
6547
6662
|
/** @description Set true ONLY after the user has approved the 50-credit cost. Leave unset/false on the first call to receive the cost quote + balance. */
|
|
6548
6663
|
confirm?: boolean;
|
|
6664
|
+
/**
|
|
6665
|
+
* @description Optional. 'standard' (default) = the general multi-agent design. 'agentic' = an AI-chat-style agentic slide composer that drives the whiteboard tools and self-corrects from renders, composing ONE polished slide. 'agentic-deck' = the same agentic composer run over a planned storyline, building a multi-slide deck (each slide on its own frame, tiled left to right). 'branded-executive' = an on-brand, McKinsey-style editable SLIDE DECK themed by the org's brand kit (pair with brandKitId, or omit for the org default). 'illustrated' = an editable-illustration board: a rich text-free vector illustration with real editable text labels and leader lines placed on top. 'image' = a single polished, on-brand IMAGE board with all the text baked into the picture (no editable shapes), which the user then refines with AI mask edits. 'illustrated' and 'image' are each gated per organisation; if not enabled the call returns a clear message.
|
|
6666
|
+
* @enum {string}
|
|
6667
|
+
*/
|
|
6668
|
+
designProfile?: "standard" | "branded-executive" | "illustrated" | "image" | "agentic" | "agentic-deck";
|
|
6669
|
+
/** @description Optional brand kit id (from listBrandKits) to theme a branded-executive deck. If omitted, the org's built-in default is used. */
|
|
6670
|
+
brandKitId?: string;
|
|
6671
|
+
};
|
|
6672
|
+
};
|
|
6673
|
+
};
|
|
6674
|
+
responses: {
|
|
6675
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6676
|
+
200: {
|
|
6677
|
+
headers: {
|
|
6678
|
+
[name: string]: unknown;
|
|
6679
|
+
};
|
|
6680
|
+
content: {
|
|
6681
|
+
"application/json": {
|
|
6682
|
+
[key: string]: unknown;
|
|
6683
|
+
};
|
|
6684
|
+
};
|
|
6685
|
+
};
|
|
6686
|
+
/** @description Validation error. */
|
|
6687
|
+
400: {
|
|
6688
|
+
headers: {
|
|
6689
|
+
[name: string]: unknown;
|
|
6690
|
+
};
|
|
6691
|
+
content: {
|
|
6692
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6693
|
+
};
|
|
6694
|
+
};
|
|
6695
|
+
/** @description Missing or invalid credentials. */
|
|
6696
|
+
401: {
|
|
6697
|
+
headers: {
|
|
6698
|
+
[name: string]: unknown;
|
|
6699
|
+
};
|
|
6700
|
+
content: {
|
|
6701
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6702
|
+
};
|
|
6703
|
+
};
|
|
6704
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6705
|
+
403: {
|
|
6706
|
+
headers: {
|
|
6707
|
+
[name: string]: unknown;
|
|
6708
|
+
};
|
|
6709
|
+
content: {
|
|
6710
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6711
|
+
};
|
|
6712
|
+
};
|
|
6713
|
+
/** @description Resource not found. */
|
|
6714
|
+
404: {
|
|
6715
|
+
headers: {
|
|
6716
|
+
[name: string]: unknown;
|
|
6717
|
+
};
|
|
6718
|
+
content: {
|
|
6719
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6720
|
+
};
|
|
6721
|
+
};
|
|
6722
|
+
/** @description Body did not match the tool's input schema. */
|
|
6723
|
+
422: {
|
|
6724
|
+
headers: {
|
|
6725
|
+
[name: string]: unknown;
|
|
6726
|
+
};
|
|
6727
|
+
content: {
|
|
6728
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6729
|
+
};
|
|
6730
|
+
};
|
|
6731
|
+
/** @description Server error. */
|
|
6732
|
+
500: {
|
|
6733
|
+
headers: {
|
|
6734
|
+
[name: string]: unknown;
|
|
6735
|
+
};
|
|
6736
|
+
content: {
|
|
6737
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6738
|
+
};
|
|
6739
|
+
};
|
|
6740
|
+
};
|
|
6741
|
+
};
|
|
6742
|
+
designComponent: {
|
|
6743
|
+
parameters: {
|
|
6744
|
+
query?: never;
|
|
6745
|
+
header?: never;
|
|
6746
|
+
path?: never;
|
|
6747
|
+
cookie?: never;
|
|
6748
|
+
};
|
|
6749
|
+
requestBody?: {
|
|
6750
|
+
content: {
|
|
6751
|
+
"application/json": {
|
|
6752
|
+
/** @description The component key, lowercase dotted, e.g. 'kpi.delta'. This is how decks reference it; reused if it already exists. */
|
|
6753
|
+
key: string;
|
|
6754
|
+
/** @description A short human title, e.g. 'KPI with delta arrow'. */
|
|
6755
|
+
title: string;
|
|
6756
|
+
/** @description What the component IS, WHEN to use it, and what it should LOOK like (the richer the better — this drives both the designer and the critic). */
|
|
6757
|
+
description: string;
|
|
6758
|
+
/** @description Project to create the small preview board in (where the render iterations are shown). */
|
|
6759
|
+
projectId: string;
|
|
6760
|
+
/** @description Example slot content to render with, e.g. { value: '47%', label: 'Revenue growth', delta: '+12 pts' }. The slot keys become the component's editable fields. */
|
|
6761
|
+
sampleSlots: {
|
|
6762
|
+
[key: string]: unknown;
|
|
6763
|
+
};
|
|
6764
|
+
/** @description Optional width in grid columns (2-12, default 4). */
|
|
6765
|
+
boxCols?: number;
|
|
6766
|
+
/** @description Optional height in grid rows (2-12, default 5). */
|
|
6767
|
+
boxRows?: number;
|
|
6768
|
+
/** @description Optional catalogue category (e.g. 'data', 'narrative', 'comparison'). */
|
|
6769
|
+
category?: string;
|
|
6770
|
+
/** @description Optional search tags. */
|
|
6771
|
+
tags?: string[];
|
|
6772
|
+
/** @description Optional URL of a reference image the component should match; the critic compares the render to it. */
|
|
6773
|
+
referenceImageUrl?: string;
|
|
6774
|
+
/** @description Redesign even if a component with this key already exists (default false = reuse). */
|
|
6775
|
+
force?: boolean;
|
|
6776
|
+
};
|
|
6777
|
+
};
|
|
6778
|
+
};
|
|
6779
|
+
responses: {
|
|
6780
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6781
|
+
200: {
|
|
6782
|
+
headers: {
|
|
6783
|
+
[name: string]: unknown;
|
|
6784
|
+
};
|
|
6785
|
+
content: {
|
|
6786
|
+
"application/json": {
|
|
6787
|
+
[key: string]: unknown;
|
|
6788
|
+
};
|
|
6789
|
+
};
|
|
6790
|
+
};
|
|
6791
|
+
/** @description Validation error. */
|
|
6792
|
+
400: {
|
|
6793
|
+
headers: {
|
|
6794
|
+
[name: string]: unknown;
|
|
6795
|
+
};
|
|
6796
|
+
content: {
|
|
6797
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6798
|
+
};
|
|
6799
|
+
};
|
|
6800
|
+
/** @description Missing or invalid credentials. */
|
|
6801
|
+
401: {
|
|
6802
|
+
headers: {
|
|
6803
|
+
[name: string]: unknown;
|
|
6804
|
+
};
|
|
6805
|
+
content: {
|
|
6806
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6807
|
+
};
|
|
6808
|
+
};
|
|
6809
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6810
|
+
403: {
|
|
6811
|
+
headers: {
|
|
6812
|
+
[name: string]: unknown;
|
|
6813
|
+
};
|
|
6814
|
+
content: {
|
|
6815
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6816
|
+
};
|
|
6817
|
+
};
|
|
6818
|
+
/** @description Resource not found. */
|
|
6819
|
+
404: {
|
|
6820
|
+
headers: {
|
|
6821
|
+
[name: string]: unknown;
|
|
6822
|
+
};
|
|
6823
|
+
content: {
|
|
6824
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6825
|
+
};
|
|
6826
|
+
};
|
|
6827
|
+
/** @description Body did not match the tool's input schema. */
|
|
6828
|
+
422: {
|
|
6829
|
+
headers: {
|
|
6830
|
+
[name: string]: unknown;
|
|
6831
|
+
};
|
|
6832
|
+
content: {
|
|
6833
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6834
|
+
};
|
|
6835
|
+
};
|
|
6836
|
+
/** @description Server error. */
|
|
6837
|
+
500: {
|
|
6838
|
+
headers: {
|
|
6839
|
+
[name: string]: unknown;
|
|
6840
|
+
};
|
|
6841
|
+
content: {
|
|
6842
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6843
|
+
};
|
|
6844
|
+
};
|
|
6845
|
+
};
|
|
6846
|
+
};
|
|
6847
|
+
editWhiteboardImageRegion: {
|
|
6848
|
+
parameters: {
|
|
6849
|
+
query?: never;
|
|
6850
|
+
header?: never;
|
|
6851
|
+
path?: never;
|
|
6852
|
+
cookie?: never;
|
|
6853
|
+
};
|
|
6854
|
+
requestBody?: {
|
|
6855
|
+
content: {
|
|
6856
|
+
"application/json": {
|
|
6857
|
+
/** @description The whiteboard document that holds the image element. */
|
|
6858
|
+
documentId: string;
|
|
6859
|
+
/** @description The id of the image element on the board to edit (from getWhiteboard includeElements=true). */
|
|
6860
|
+
elementId: string;
|
|
6861
|
+
/** @description A PNG mask (base64, with or without a data: prefix) the same shape as the image. WHITE pixels are regenerated; BLACK pixels are preserved. */
|
|
6862
|
+
maskBase64: string;
|
|
6863
|
+
/** @description What to put in the masked area, in plain language (e.g. 'replace the car with a red bicycle'). */
|
|
6864
|
+
prompt: string;
|
|
6865
|
+
/** @description Optional 0..1 — how far the regenerated area may diverge from the original. Ignored by FLUX Fill (which balances via the prompt); leave unset unless using a non-Fill inpaint model. */
|
|
6866
|
+
strength?: number;
|
|
6549
6867
|
};
|
|
6550
6868
|
};
|
|
6551
6869
|
};
|
|
@@ -6982,10 +7300,10 @@ export interface operations {
|
|
|
6982
7300
|
/** @description Non-empty array of shape specs to append. Prefer stencils / sticky notes / architecture icons over raw rectangles wherever a standard form fits (see the `type` enum below and the tool description). */
|
|
6983
7301
|
shapes: ({
|
|
6984
7302
|
/**
|
|
6985
|
-
* @description Element kind. 'sticky' = a first-class sticky/post-it note (solid fill + auto-fitting bound label; set text + backgroundColor) — use this for sticky notes, NOT a stencil. 'stencil' = a hand-drawn library graphic from listWhiteboardStencils, of kind 'symbol' (one atomic labelled node — flowchart box, BPMN task, org node: set `id` + `text` + width/height, text auto-fits, connect arrows via start/end {id}) or 'template' (a multi-element layout — Alerts, Forms, Tables, Charts: place whole, then customise its returned children by id; do NOT set a single `text`). Set `stencil` (fuzzy name, one call) or `stencilKey` (exact). 'image' with `iconPath` = a software-architecture icon from listArchitectureIcons. Reserve rectangle/ellipse/diamond for when no standard form fits.
|
|
7303
|
+
* @description Element kind. 'sticky' = a first-class sticky/post-it note (solid fill + auto-fitting bound label; set text + backgroundColor) — use this for sticky notes, NOT a stencil. 'stencil' = a hand-drawn library graphic from listWhiteboardStencils, of kind 'symbol' (one atomic labelled node — flowchart box, BPMN task, org node: set `id` + `text` + width/height, text auto-fits, connect arrows via start/end {id}) or 'template' (a multi-element layout — Alerts, Forms, Tables, Charts: place whole, then customise its returned children by id; do NOT set a single `text`). Set `stencil` (fuzzy name, one call) or `stencilKey` (exact). 'image' with `iconPath` = a software-architecture icon from listArchitectureIcons. 'chart' = a NATIVE, fully-editable data chart (column/bar/line/area/pie/donut/scatter/sparkline/combo/stackedColumn/groupedColumn/radar/gauge) built from real Excalidraw shapes — bars/lines/wedges plus axes, gridlines and a legend — for ANY data, metric, KPI, trend, comparison or breakdown: set chartType + series (+ categories + options). ALWAYS prefer a 'chart' over hand-drawing bars/lines or a wireframe 'chart' stencil. 'table' = a NATIVE, fully-editable GRID (real rectangles + bound, word-wrapped cells, auto-sized columns + rows, a header band, optional zebra striping / per-column colours) for ANY tabular data, list or matrix — set columns + rows (+ options). ALWAYS prefer a 'table' over hand-drawing a grid of boxes. Reserve rectangle/ellipse/diamond for when no standard form fits.
|
|
6986
7304
|
* @enum {string}
|
|
6987
7305
|
*/
|
|
6988
|
-
type: "rectangle" | "ellipse" | "diamond" | "sticky" | "text" | "arrow" | "line" | "freedraw" | "doodle" | "frame" | "image" | "stencil";
|
|
7306
|
+
type: "rectangle" | "ellipse" | "diamond" | "sticky" | "text" | "arrow" | "line" | "freedraw" | "doodle" | "frame" | "image" | "stencil" | "chart" | "table";
|
|
6989
7307
|
/** @description For type:'stencil' — fuzzy-match a library stencil by name in ONE call, no prior listWhiteboardStencils needed (e.g. 'decision', 'actor', 'phone frame', 'kanban column'). NOTE: there is no sticky-note stencil — use type:'sticky' for sticky/post-it notes. */
|
|
6990
7308
|
stencil?: string;
|
|
6991
7309
|
/** @description For type:'stencil' — exact stencil key from listWhiteboardStencils (takes precedence over `stencil`). */
|
|
@@ -7012,16 +7330,53 @@ export interface operations {
|
|
|
7012
7330
|
height?: number;
|
|
7013
7331
|
/** @description For type:'stencil' — uniform scale factor for the whole stencil (alternative to width/height). */
|
|
7014
7332
|
scale?: number;
|
|
7015
|
-
/** @description Label/caption.
|
|
7333
|
+
/** @description Label/caption. To label a shape, set `text` on the SHAPE itself — it becomes a BOUND label that the server word-wraps with real font metrics, auto-fits, and positions (centred by default) INSIDE the shape. Never drop a separate type:'text' element on top of a shape, and never hand-compute a label's x/y/width — the server does the geometry (like the editor does when you type into a shape). On a type:'sticky' it's the note text; on a type:'stencil' of kind 'symbol' it fills + re-fits its single label (IGNORED for 'template' stencils — customise their children by id instead). Use a standalone type:'text' only for free-floating text that belongs to no shape. */
|
|
7016
7334
|
text?: string;
|
|
7017
7335
|
/** @description Auto-shrink the bound label's font size so the text always fits inside the shape — no overflow (default true). Set false to keep your exact fontSize even if it spills. */
|
|
7018
7336
|
fitText?: boolean;
|
|
7337
|
+
/** @description Text size in px. Establish HIERARCHY: titles ~28-40, section headings ~22-28, body/labels ~16-20. Applies to a standalone text, a shape's bound label, a sticky, or an icon caption. Bound labels still auto-shrink to fit unless fitText:false. */
|
|
7338
|
+
fontSize?: number;
|
|
7339
|
+
/** @description Font style: 'hand-drawn' (sketchy Excalidraw look, the default), 'sans' (clean/professional — use for business, dashboards, formal diagrams), or 'code' (monospace). Pass this to control the look instead of leaving everything hand-drawn. */
|
|
7340
|
+
fontFamily?: string;
|
|
7341
|
+
/** @description TEXT colour (for text/labels) or line/border colour (for shapes, arrows, lines, doodles): a name ('blue'/'green'/'red'/'orange'/'violet'/'teal'/…) or a hex value. Use a brand or theme colour for titles/emphasis; default is near-black. */
|
|
7342
|
+
strokeColor?: string;
|
|
7343
|
+
/**
|
|
7344
|
+
* @description Horizontal alignment of the text within its box — the equivalent of the toolbar's align buttons. Bound labels default to 'center'.
|
|
7345
|
+
* @enum {string}
|
|
7346
|
+
*/
|
|
7347
|
+
textAlign?: "left" | "center" | "right";
|
|
7348
|
+
/**
|
|
7349
|
+
* @description Vertical alignment of a bound label inside its shape (toolbar parity). Defaults to 'middle' (centred).
|
|
7350
|
+
* @enum {string}
|
|
7351
|
+
*/
|
|
7352
|
+
verticalAlign?: "top" | "middle" | "bottom";
|
|
7019
7353
|
/** @description Fill colour: a name ('blue'/'green'/'yellow'/'pink'/'violet'/'orange'/'teal'/…) or a hex value. */
|
|
7020
7354
|
backgroundColor?: string;
|
|
7021
7355
|
/** @description For arrows/lines: { id } of the source shape (auto-clips to the edge + auto-routes around shapes in between). */
|
|
7022
7356
|
start?: Record<string, never>;
|
|
7023
7357
|
/** @description For arrows/lines: { id } of the target shape. */
|
|
7024
7358
|
end?: Record<string, never>;
|
|
7359
|
+
/** @description For type:'chart' — the chart's title, drawn at the top of the chart. */
|
|
7360
|
+
title?: string;
|
|
7361
|
+
/**
|
|
7362
|
+
* @description For type:'chart' — the chart family. column=vertical bars (default), bar=horizontal bars, line/area=trends, pie/donut=parts-of-whole, scatter=points, sparkline=tiny inline trend (no axes/legend), combo=bars+line (dual axis via a series with axis:'right'), stackedColumn/groupedColumn=multi-series, radar, gauge.
|
|
7363
|
+
* @enum {string}
|
|
7364
|
+
*/
|
|
7365
|
+
chartType?: "column" | "bar" | "line" | "area" | "pie" | "donut" | "scatter" | "sparkline" | "combo" | "stackedColumn" | "groupedColumn" | "radar" | "gauge";
|
|
7366
|
+
/** @description For type:'chart' — x-axis category labels, e.g. ['Jan','Feb','Mar','Apr']. */
|
|
7367
|
+
categories?: string[];
|
|
7368
|
+
/** @description For type:'chart' — one or more data series. Each: { name:string, data:number[], type?:'bar'|'line'|'area' (per-series, for combo), color?:string (hex), axis?:'left'|'right' (dual axis), markers?:boolean (line point markers) }. For pie/donut use ONE series whose data maps to categories. */
|
|
7369
|
+
series?: {
|
|
7370
|
+
[key: string]: unknown;
|
|
7371
|
+
}[];
|
|
7372
|
+
/** @description For type:'chart' — { legend?:boolean|'top'|'bottom'|'right', gridlines?:boolean|'x'|'y'|'both'|'none', dataLabels?:boolean, yAxis?:boolean, xAxis?:boolean, yMin?:number, yMax?:number, smooth?:boolean, valueFormat?:'%'|'$'|'k', palette?:string[] (hex), donutHole?:number }. For type:'table' — { headerFill?:string (hex), headerTextColor?:string, zebra?:boolean, rowFill?:string, altRowFill?:string, columnColors?:string[] (per-column hex), fontSize?:number, headerFontSize?:number, borderColor?:string, align?:'left'|'center'|'right' }. */
|
|
7373
|
+
options?: {
|
|
7374
|
+
[key: string]: unknown;
|
|
7375
|
+
};
|
|
7376
|
+
/** @description For type:'table' — column headers: string[] (e.g. ['Task','Owner','Status']) or [{ header:string, width?:number, align?:'left'|'center'|'right' }]. */
|
|
7377
|
+
columns?: (string | Record<string, never>)[];
|
|
7378
|
+
/** @description For type:'table' — data rows; each row is an array of cell values (string|number) aligned to columns, e.g. [['T-1','Sam','Done'],['T-2','Lee','WIP']]. */
|
|
7379
|
+
rows?: (string | number)[][];
|
|
7025
7380
|
} & {
|
|
7026
7381
|
[key: string]: unknown;
|
|
7027
7382
|
})[];
|
|
@@ -9263,8 +9618,12 @@ export interface operations {
|
|
|
9263
9618
|
scanRunId?: string;
|
|
9264
9619
|
/** @description Filter by framework (e.g. soc2, iso27001). */
|
|
9265
9620
|
frameworkKey?: string;
|
|
9266
|
-
/** @description
|
|
9621
|
+
/** @description Grep across title, friendlyId and problem_statement. Substring by default; a regular expression when isRegex:true; case-insensitive unless caseSensitive:true. */
|
|
9267
9622
|
query?: string;
|
|
9623
|
+
/** @description Treat query as a regular expression (grep -E), e.g. "ACME-\d+". Default false (literal substring). */
|
|
9624
|
+
isRegex?: boolean;
|
|
9625
|
+
/** @description Case-sensitive matching. Default false. */
|
|
9626
|
+
caseSensitive?: boolean;
|
|
9268
9627
|
/** @description Sort field. Default: position. */
|
|
9269
9628
|
sortField?: string;
|
|
9270
9629
|
/** @description Sort ascending. Default: true. */
|
|
@@ -10625,14 +10984,18 @@ export interface operations {
|
|
|
10625
10984
|
requestBody?: {
|
|
10626
10985
|
content: {
|
|
10627
10986
|
"application/json": {
|
|
10628
|
-
/** @description Search query. */
|
|
10987
|
+
/** @description Search query — a name fragment or a friendly id. */
|
|
10629
10988
|
query: string;
|
|
10989
|
+
/** @description Switches on the cross-artefact finder. Artefact types to search (subset of document, whiteboard, improvement, task, plan, compliance). Empty / all = every type. Omit entirely for the improvements-only semantic search. */
|
|
10990
|
+
types?: ("document" | "whiteboard" | "improvement" | "task" | "plan" | "compliance")[];
|
|
10630
10991
|
/** @description Limit to a project. */
|
|
10631
10992
|
projectId?: string;
|
|
10632
10993
|
/** @description Limit to a workspace. */
|
|
10633
10994
|
workspaceId?: string;
|
|
10634
|
-
/** @description Max results (default 20, max 50). */
|
|
10995
|
+
/** @description Max results (default 20 semantic / 30 cross-artefact, max 50). */
|
|
10635
10996
|
limit?: number;
|
|
10997
|
+
/** @description Pagination offset (cross-artefact mode). */
|
|
10998
|
+
offset?: number;
|
|
10636
10999
|
};
|
|
10637
11000
|
};
|
|
10638
11001
|
};
|
|
@@ -10719,8 +11082,12 @@ export interface operations {
|
|
|
10719
11082
|
status?: string;
|
|
10720
11083
|
/** @description Filter: low, medium, high, critical. */
|
|
10721
11084
|
priority?: string;
|
|
10722
|
-
/** @description
|
|
11085
|
+
/** @description Grep across title, friendlyId and description. Substring by default; a regular expression when isRegex:true; case-insensitive unless caseSensitive:true. */
|
|
10723
11086
|
query?: string;
|
|
11087
|
+
/** @description Treat query as a regular expression (grep -E), e.g. "ACME-\d+". Default false (literal substring). */
|
|
11088
|
+
isRegex?: boolean;
|
|
11089
|
+
/** @description Case-sensitive matching. Default false. */
|
|
11090
|
+
caseSensitive?: boolean;
|
|
10724
11091
|
/** @description Sort field. Default: created_at. */
|
|
10725
11092
|
sortField?: string;
|
|
10726
11093
|
/** @description Sort ascending. Default: false. */
|
|
@@ -12101,8 +12468,12 @@ export interface operations {
|
|
|
12101
12468
|
priority?: string;
|
|
12102
12469
|
/** @description Filter by phase. */
|
|
12103
12470
|
phaseId?: string;
|
|
12104
|
-
/** @description
|
|
12471
|
+
/** @description Grep across title, friendlyId and description. Substring by default; a regular expression when isRegex:true; case-insensitive unless caseSensitive:true. */
|
|
12105
12472
|
query?: string;
|
|
12473
|
+
/** @description Treat query as a regular expression (grep -E), e.g. "ACME-\d+". Default false (literal substring). */
|
|
12474
|
+
isRegex?: boolean;
|
|
12475
|
+
/** @description Case-sensitive matching. Default false. */
|
|
12476
|
+
caseSensitive?: boolean;
|
|
12106
12477
|
/** @description Sort field. Default: position. */
|
|
12107
12478
|
sortField?: string;
|
|
12108
12479
|
/** @description Sort ascending. Default: true. */
|
|
@@ -19798,6 +20169,277 @@ export interface operations {
|
|
|
19798
20169
|
};
|
|
19799
20170
|
};
|
|
19800
20171
|
};
|
|
20172
|
+
createBrandKit: {
|
|
20173
|
+
parameters: {
|
|
20174
|
+
query?: never;
|
|
20175
|
+
header?: never;
|
|
20176
|
+
path?: never;
|
|
20177
|
+
cookie?: never;
|
|
20178
|
+
};
|
|
20179
|
+
requestBody?: {
|
|
20180
|
+
content: {
|
|
20181
|
+
"application/json": {
|
|
20182
|
+
/** @description Org that owns the kit. */
|
|
20183
|
+
organizationId: string;
|
|
20184
|
+
/** @description Display name (e.g. the brand/company name). */
|
|
20185
|
+
name: string;
|
|
20186
|
+
/** @description Image URL of the logo to extract palette/fonts from (PNG/JPG/SVG). Omit if passing officeUrl or tokens. */
|
|
20187
|
+
logoUrl?: string;
|
|
20188
|
+
/** @description URL of an existing .pptx or .docx to extract the brand from (theme colours + fonts + logo + watermark + embedded fonts). Max 25MB. Omit if passing logoUrl or tokens. */
|
|
20189
|
+
officeUrl?: string;
|
|
20190
|
+
/** @description Explicit DTCG brand tokens { color:{brand:{primary,primaryText,ink,bg,surface,muted,border,positive,warning,negative}}, font:{heading,body} }. Omit to extract from logoUrl/officeUrl. */
|
|
20191
|
+
tokens?: {
|
|
20192
|
+
[key: string]: unknown;
|
|
20193
|
+
};
|
|
20194
|
+
/** @description Optional extra guidance for the extractor (e.g. 'use the teal, not the grey'). */
|
|
20195
|
+
guidance?: string;
|
|
20196
|
+
/**
|
|
20197
|
+
* @description Optionally set the new kit as default at this scope.
|
|
20198
|
+
* @enum {string}
|
|
20199
|
+
*/
|
|
20200
|
+
setDefaultScope?: "organization" | "workspace" | "project";
|
|
20201
|
+
/** @description Workspace/project id when setDefaultScope is workspace/project. */
|
|
20202
|
+
setDefaultScopeId?: string;
|
|
20203
|
+
};
|
|
20204
|
+
};
|
|
20205
|
+
};
|
|
20206
|
+
responses: {
|
|
20207
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
20208
|
+
200: {
|
|
20209
|
+
headers: {
|
|
20210
|
+
[name: string]: unknown;
|
|
20211
|
+
};
|
|
20212
|
+
content: {
|
|
20213
|
+
"application/json": {
|
|
20214
|
+
[key: string]: unknown;
|
|
20215
|
+
};
|
|
20216
|
+
};
|
|
20217
|
+
};
|
|
20218
|
+
/** @description Validation error. */
|
|
20219
|
+
400: {
|
|
20220
|
+
headers: {
|
|
20221
|
+
[name: string]: unknown;
|
|
20222
|
+
};
|
|
20223
|
+
content: {
|
|
20224
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20225
|
+
};
|
|
20226
|
+
};
|
|
20227
|
+
/** @description Missing or invalid credentials. */
|
|
20228
|
+
401: {
|
|
20229
|
+
headers: {
|
|
20230
|
+
[name: string]: unknown;
|
|
20231
|
+
};
|
|
20232
|
+
content: {
|
|
20233
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20234
|
+
};
|
|
20235
|
+
};
|
|
20236
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
20237
|
+
403: {
|
|
20238
|
+
headers: {
|
|
20239
|
+
[name: string]: unknown;
|
|
20240
|
+
};
|
|
20241
|
+
content: {
|
|
20242
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20243
|
+
};
|
|
20244
|
+
};
|
|
20245
|
+
/** @description Resource not found. */
|
|
20246
|
+
404: {
|
|
20247
|
+
headers: {
|
|
20248
|
+
[name: string]: unknown;
|
|
20249
|
+
};
|
|
20250
|
+
content: {
|
|
20251
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20252
|
+
};
|
|
20253
|
+
};
|
|
20254
|
+
/** @description Body did not match the tool's input schema. */
|
|
20255
|
+
422: {
|
|
20256
|
+
headers: {
|
|
20257
|
+
[name: string]: unknown;
|
|
20258
|
+
};
|
|
20259
|
+
content: {
|
|
20260
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20261
|
+
};
|
|
20262
|
+
};
|
|
20263
|
+
/** @description Server error. */
|
|
20264
|
+
500: {
|
|
20265
|
+
headers: {
|
|
20266
|
+
[name: string]: unknown;
|
|
20267
|
+
};
|
|
20268
|
+
content: {
|
|
20269
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20270
|
+
};
|
|
20271
|
+
};
|
|
20272
|
+
};
|
|
20273
|
+
};
|
|
20274
|
+
listBrandKits: {
|
|
20275
|
+
parameters: {
|
|
20276
|
+
query?: never;
|
|
20277
|
+
header?: never;
|
|
20278
|
+
path?: never;
|
|
20279
|
+
cookie?: never;
|
|
20280
|
+
};
|
|
20281
|
+
requestBody?: {
|
|
20282
|
+
content: {
|
|
20283
|
+
"application/json": {
|
|
20284
|
+
organizationId: string;
|
|
20285
|
+
};
|
|
20286
|
+
};
|
|
20287
|
+
};
|
|
20288
|
+
responses: {
|
|
20289
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
20290
|
+
200: {
|
|
20291
|
+
headers: {
|
|
20292
|
+
[name: string]: unknown;
|
|
20293
|
+
};
|
|
20294
|
+
content: {
|
|
20295
|
+
"application/json": {
|
|
20296
|
+
[key: string]: unknown;
|
|
20297
|
+
};
|
|
20298
|
+
};
|
|
20299
|
+
};
|
|
20300
|
+
/** @description Validation error. */
|
|
20301
|
+
400: {
|
|
20302
|
+
headers: {
|
|
20303
|
+
[name: string]: unknown;
|
|
20304
|
+
};
|
|
20305
|
+
content: {
|
|
20306
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20307
|
+
};
|
|
20308
|
+
};
|
|
20309
|
+
/** @description Missing or invalid credentials. */
|
|
20310
|
+
401: {
|
|
20311
|
+
headers: {
|
|
20312
|
+
[name: string]: unknown;
|
|
20313
|
+
};
|
|
20314
|
+
content: {
|
|
20315
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20316
|
+
};
|
|
20317
|
+
};
|
|
20318
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
20319
|
+
403: {
|
|
20320
|
+
headers: {
|
|
20321
|
+
[name: string]: unknown;
|
|
20322
|
+
};
|
|
20323
|
+
content: {
|
|
20324
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20325
|
+
};
|
|
20326
|
+
};
|
|
20327
|
+
/** @description Resource not found. */
|
|
20328
|
+
404: {
|
|
20329
|
+
headers: {
|
|
20330
|
+
[name: string]: unknown;
|
|
20331
|
+
};
|
|
20332
|
+
content: {
|
|
20333
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20334
|
+
};
|
|
20335
|
+
};
|
|
20336
|
+
/** @description Body did not match the tool's input schema. */
|
|
20337
|
+
422: {
|
|
20338
|
+
headers: {
|
|
20339
|
+
[name: string]: unknown;
|
|
20340
|
+
};
|
|
20341
|
+
content: {
|
|
20342
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20343
|
+
};
|
|
20344
|
+
};
|
|
20345
|
+
/** @description Server error. */
|
|
20346
|
+
500: {
|
|
20347
|
+
headers: {
|
|
20348
|
+
[name: string]: unknown;
|
|
20349
|
+
};
|
|
20350
|
+
content: {
|
|
20351
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20352
|
+
};
|
|
20353
|
+
};
|
|
20354
|
+
};
|
|
20355
|
+
};
|
|
20356
|
+
setDefaultBrandKit: {
|
|
20357
|
+
parameters: {
|
|
20358
|
+
query?: never;
|
|
20359
|
+
header?: never;
|
|
20360
|
+
path?: never;
|
|
20361
|
+
cookie?: never;
|
|
20362
|
+
};
|
|
20363
|
+
requestBody?: {
|
|
20364
|
+
content: {
|
|
20365
|
+
"application/json": {
|
|
20366
|
+
/** @enum {string} */
|
|
20367
|
+
scope: "organization" | "workspace" | "project";
|
|
20368
|
+
/** @description The org/workspace/project id for the chosen scope. */
|
|
20369
|
+
scopeId: string;
|
|
20370
|
+
/** @description Brand kit to make default, or null to clear. */
|
|
20371
|
+
brandKitId?: string | null;
|
|
20372
|
+
};
|
|
20373
|
+
};
|
|
20374
|
+
};
|
|
20375
|
+
responses: {
|
|
20376
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
20377
|
+
200: {
|
|
20378
|
+
headers: {
|
|
20379
|
+
[name: string]: unknown;
|
|
20380
|
+
};
|
|
20381
|
+
content: {
|
|
20382
|
+
"application/json": {
|
|
20383
|
+
[key: string]: unknown;
|
|
20384
|
+
};
|
|
20385
|
+
};
|
|
20386
|
+
};
|
|
20387
|
+
/** @description Validation error. */
|
|
20388
|
+
400: {
|
|
20389
|
+
headers: {
|
|
20390
|
+
[name: string]: unknown;
|
|
20391
|
+
};
|
|
20392
|
+
content: {
|
|
20393
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20394
|
+
};
|
|
20395
|
+
};
|
|
20396
|
+
/** @description Missing or invalid credentials. */
|
|
20397
|
+
401: {
|
|
20398
|
+
headers: {
|
|
20399
|
+
[name: string]: unknown;
|
|
20400
|
+
};
|
|
20401
|
+
content: {
|
|
20402
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20403
|
+
};
|
|
20404
|
+
};
|
|
20405
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
20406
|
+
403: {
|
|
20407
|
+
headers: {
|
|
20408
|
+
[name: string]: unknown;
|
|
20409
|
+
};
|
|
20410
|
+
content: {
|
|
20411
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20412
|
+
};
|
|
20413
|
+
};
|
|
20414
|
+
/** @description Resource not found. */
|
|
20415
|
+
404: {
|
|
20416
|
+
headers: {
|
|
20417
|
+
[name: string]: unknown;
|
|
20418
|
+
};
|
|
20419
|
+
content: {
|
|
20420
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20421
|
+
};
|
|
20422
|
+
};
|
|
20423
|
+
/** @description Body did not match the tool's input schema. */
|
|
20424
|
+
422: {
|
|
20425
|
+
headers: {
|
|
20426
|
+
[name: string]: unknown;
|
|
20427
|
+
};
|
|
20428
|
+
content: {
|
|
20429
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20430
|
+
};
|
|
20431
|
+
};
|
|
20432
|
+
/** @description Server error. */
|
|
20433
|
+
500: {
|
|
20434
|
+
headers: {
|
|
20435
|
+
[name: string]: unknown;
|
|
20436
|
+
};
|
|
20437
|
+
content: {
|
|
20438
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20439
|
+
};
|
|
20440
|
+
};
|
|
20441
|
+
};
|
|
20442
|
+
};
|
|
19801
20443
|
updateOrgFeatureFlags: {
|
|
19802
20444
|
parameters: {
|
|
19803
20445
|
query?: never;
|
|
@@ -19910,11 +20552,16 @@ export interface operations {
|
|
|
19910
20552
|
/** @description Defaults to 'default' */
|
|
19911
20553
|
view_name?: string;
|
|
19912
20554
|
is_default?: boolean;
|
|
19913
|
-
|
|
19914
|
-
|
|
19915
|
-
|
|
19916
|
-
|
|
19917
|
-
|
|
20555
|
+
/** @description Visible column ids (string[]) when an array. */
|
|
20556
|
+
visible_columns?: Record<string, never> | string[] | null;
|
|
20557
|
+
/** @description Column widths — a { colId: px } map, or a number[] when an array. */
|
|
20558
|
+
column_widths?: Record<string, never> | number[] | null;
|
|
20559
|
+
/** @description Ordered column ids (string[]) when an array. */
|
|
20560
|
+
column_order?: Record<string, never> | string[] | null;
|
|
20561
|
+
/** @description Sort rules — array of { id, desc } when an array. */
|
|
20562
|
+
sort_config?: Record<string, never> | Record<string, never>[] | null;
|
|
20563
|
+
/** @description Filter state — usually a { pageSize, tab, filters } object. */
|
|
20564
|
+
filter_config?: Record<string, never> | Record<string, never>[] | null;
|
|
19918
20565
|
}[];
|
|
19919
20566
|
};
|
|
19920
20567
|
};
|