@stablebaseline/sdk 0.4.1 → 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 +694 -32
- package/dist/index.d.ts +694 -32
- package/openapi.json +2267 -1397
- package/package.json +2 -2
- package/src/types.generated.ts +694 -32
package/dist/index.d.ts
CHANGED
|
@@ -374,7 +374,7 @@ interface paths {
|
|
|
374
374
|
put?: never;
|
|
375
375
|
/**
|
|
376
376
|
* listDocuments
|
|
377
|
-
* @description List documents in a project, workspace, or folder.
|
|
377
|
+
* @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.
|
|
378
378
|
*/
|
|
379
379
|
post: operations["listDocuments"];
|
|
380
380
|
delete?: never;
|
|
@@ -434,7 +434,7 @@ interface paths {
|
|
|
434
434
|
put?: never;
|
|
435
435
|
/**
|
|
436
436
|
* getDocument
|
|
437
|
-
* @description Read a document's content with line numbers. Returns numbered lines for use with editDocument. Diagrams/images appear as OMITTED markers with metadata (type, diagramId, nlDescription) — use getDiagramInDocument(diagramId) for full DSL code, or dedicated diagram/image tools to manage them.
|
|
437
|
+
* @description Read a document's content with line numbers. Returns numbered lines for use with editDocument. Diagrams/images appear as OMITTED markers with metadata (type, diagramId, nlDescription) — use getDiagramInDocument(diagramId) for full DSL code, or dedicated diagram/image tools to manage them. Pass includeDiagramDsl:true to inline each diagram's DSL and versionTimestamp directly into its DIAGRAM_OMITTED marker (saves a getDiagramInDocument call when you intend to read or edit diagrams).
|
|
438
438
|
*/
|
|
439
439
|
post: operations["getDocument"];
|
|
440
440
|
delete?: never;
|
|
@@ -474,7 +474,7 @@ interface paths {
|
|
|
474
474
|
put?: never;
|
|
475
475
|
/**
|
|
476
476
|
* editDocument
|
|
477
|
-
* @description Edit a document with line-based
|
|
477
|
+
* @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.
|
|
478
478
|
*/
|
|
479
479
|
post: operations["editDocument"];
|
|
480
480
|
delete?: never;
|
|
@@ -494,7 +494,7 @@ interface paths {
|
|
|
494
494
|
put?: never;
|
|
495
495
|
/**
|
|
496
496
|
* findAndReplaceTextInDocument
|
|
497
|
-
* @description Find and replace
|
|
497
|
+
* @description Find and replace EXACT substrings in a document (NOT regex: wildcards and patterns are matched literally). Replaces EVERY occurrence and returns the replacement count; best for renames and repeated phrases. For a single targeted change at a known location, prefer editDocument (line patches with optimistic locking). 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.
|
|
498
498
|
*/
|
|
499
499
|
post: operations["findAndReplaceTextInDocument"];
|
|
500
500
|
delete?: never;
|
|
@@ -554,7 +554,7 @@ interface paths {
|
|
|
554
554
|
put?: never;
|
|
555
555
|
/**
|
|
556
556
|
* updateDiagramInDocument
|
|
557
|
-
* @description Update a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax.
|
|
557
|
+
* @description Update a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax. Provide a version lock: EITHER documentVersionTimestamp (from getDocument — locks the whole document) OR diagramVersionTimestamp (from getDiagramInDocument, or getDocument with includeDiagramDsl:true — locks just THIS diagram, so two agents can edit two different diagrams in the same document concurrently without a conflict). At least one is required; diagramVersionTimestamp is preferred for concurrency. 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.
|
|
558
558
|
*/
|
|
559
559
|
post: operations["updateDiagramInDocument"];
|
|
560
560
|
delete?: never;
|
|
@@ -634,7 +634,7 @@ interface paths {
|
|
|
634
634
|
put?: never;
|
|
635
635
|
/**
|
|
636
636
|
* designWhiteboard
|
|
637
|
-
* @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.
|
|
637
|
+
* @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.
|
|
638
638
|
*/
|
|
639
639
|
post: operations["designWhiteboard"];
|
|
640
640
|
delete?: never;
|
|
@@ -643,6 +643,46 @@ interface paths {
|
|
|
643
643
|
patch?: never;
|
|
644
644
|
trace?: never;
|
|
645
645
|
};
|
|
646
|
+
"/tools/designComponent": {
|
|
647
|
+
parameters: {
|
|
648
|
+
query?: never;
|
|
649
|
+
header?: never;
|
|
650
|
+
path?: never;
|
|
651
|
+
cookie?: never;
|
|
652
|
+
};
|
|
653
|
+
get?: never;
|
|
654
|
+
put?: never;
|
|
655
|
+
/**
|
|
656
|
+
* designComponent
|
|
657
|
+
* @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.
|
|
658
|
+
*/
|
|
659
|
+
post: operations["designComponent"];
|
|
660
|
+
delete?: never;
|
|
661
|
+
options?: never;
|
|
662
|
+
head?: never;
|
|
663
|
+
patch?: never;
|
|
664
|
+
trace?: never;
|
|
665
|
+
};
|
|
666
|
+
"/tools/editWhiteboardImageRegion": {
|
|
667
|
+
parameters: {
|
|
668
|
+
query?: never;
|
|
669
|
+
header?: never;
|
|
670
|
+
path?: never;
|
|
671
|
+
cookie?: never;
|
|
672
|
+
};
|
|
673
|
+
get?: never;
|
|
674
|
+
put?: never;
|
|
675
|
+
/**
|
|
676
|
+
* editWhiteboardImageRegion
|
|
677
|
+
* @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.
|
|
678
|
+
*/
|
|
679
|
+
post: operations["editWhiteboardImageRegion"];
|
|
680
|
+
delete?: never;
|
|
681
|
+
options?: never;
|
|
682
|
+
head?: never;
|
|
683
|
+
patch?: never;
|
|
684
|
+
trace?: never;
|
|
685
|
+
};
|
|
646
686
|
"/tools/createWhiteboard": {
|
|
647
687
|
parameters: {
|
|
648
688
|
query?: never;
|
|
@@ -1214,7 +1254,7 @@ interface paths {
|
|
|
1214
1254
|
put?: never;
|
|
1215
1255
|
/**
|
|
1216
1256
|
* listImprovements
|
|
1217
|
-
* @description List improvements in a project. Supports filtering by status, type, priority
|
|
1257
|
+
* @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.
|
|
1218
1258
|
*/
|
|
1219
1259
|
post: operations["listImprovements"];
|
|
1220
1260
|
delete?: never;
|
|
@@ -1494,7 +1534,11 @@ interface paths {
|
|
|
1494
1534
|
put?: never;
|
|
1495
1535
|
/**
|
|
1496
1536
|
* searchImprovements
|
|
1497
|
-
* @description
|
|
1537
|
+
* @description Locate any artefact (document / whiteboard / diagram / plan / task / improvement / compliance) by name or friendly id — AND ranked semantic search over improvements.
|
|
1538
|
+
*
|
|
1539
|
+
* • 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.
|
|
1540
|
+
*
|
|
1541
|
+
* • IMPROVEMENT SEMANTIC MODE (omit `types`): hybrid full-text + vector search over improvements only. Returns ranked { improvements }.
|
|
1498
1542
|
*/
|
|
1499
1543
|
post: operations["searchImprovements"];
|
|
1500
1544
|
delete?: never;
|
|
@@ -1514,7 +1558,7 @@ interface paths {
|
|
|
1514
1558
|
put?: never;
|
|
1515
1559
|
/**
|
|
1516
1560
|
* listPlans
|
|
1517
|
-
* @description List plans in a project. Supports filtering by status
|
|
1561
|
+
* @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.
|
|
1518
1562
|
*/
|
|
1519
1563
|
post: operations["listPlans"];
|
|
1520
1564
|
delete?: never;
|
|
@@ -1814,7 +1858,7 @@ interface paths {
|
|
|
1814
1858
|
put?: never;
|
|
1815
1859
|
/**
|
|
1816
1860
|
* listTasks
|
|
1817
|
-
* @description List tasks in a plan. Supports filtering by status, priority
|
|
1861
|
+
* @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.
|
|
1818
1862
|
*/
|
|
1819
1863
|
post: operations["listTasks"];
|
|
1820
1864
|
delete?: never;
|
|
@@ -2074,7 +2118,9 @@ interface paths {
|
|
|
2074
2118
|
put?: never;
|
|
2075
2119
|
/**
|
|
2076
2120
|
* kg_search
|
|
2077
|
-
* @description Unified Knowledge Graph retrieval.
|
|
2121
|
+
* @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.
|
|
2122
|
+
*
|
|
2123
|
+
* PICK THE MODE THAT FITS THE QUERY:
|
|
2078
2124
|
*
|
|
2079
2125
|
* • 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.
|
|
2080
2126
|
*
|
|
@@ -3620,6 +3666,66 @@ interface paths {
|
|
|
3620
3666
|
patch?: never;
|
|
3621
3667
|
trace?: never;
|
|
3622
3668
|
};
|
|
3669
|
+
"/tools/createBrandKit": {
|
|
3670
|
+
parameters: {
|
|
3671
|
+
query?: never;
|
|
3672
|
+
header?: never;
|
|
3673
|
+
path?: never;
|
|
3674
|
+
cookie?: never;
|
|
3675
|
+
};
|
|
3676
|
+
get?: never;
|
|
3677
|
+
put?: never;
|
|
3678
|
+
/**
|
|
3679
|
+
* createBrandKit
|
|
3680
|
+
* @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.
|
|
3681
|
+
*/
|
|
3682
|
+
post: operations["createBrandKit"];
|
|
3683
|
+
delete?: never;
|
|
3684
|
+
options?: never;
|
|
3685
|
+
head?: never;
|
|
3686
|
+
patch?: never;
|
|
3687
|
+
trace?: never;
|
|
3688
|
+
};
|
|
3689
|
+
"/tools/listBrandKits": {
|
|
3690
|
+
parameters: {
|
|
3691
|
+
query?: never;
|
|
3692
|
+
header?: never;
|
|
3693
|
+
path?: never;
|
|
3694
|
+
cookie?: never;
|
|
3695
|
+
};
|
|
3696
|
+
get?: never;
|
|
3697
|
+
put?: never;
|
|
3698
|
+
/**
|
|
3699
|
+
* listBrandKits
|
|
3700
|
+
* @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.
|
|
3701
|
+
*/
|
|
3702
|
+
post: operations["listBrandKits"];
|
|
3703
|
+
delete?: never;
|
|
3704
|
+
options?: never;
|
|
3705
|
+
head?: never;
|
|
3706
|
+
patch?: never;
|
|
3707
|
+
trace?: never;
|
|
3708
|
+
};
|
|
3709
|
+
"/tools/setDefaultBrandKit": {
|
|
3710
|
+
parameters: {
|
|
3711
|
+
query?: never;
|
|
3712
|
+
header?: never;
|
|
3713
|
+
path?: never;
|
|
3714
|
+
cookie?: never;
|
|
3715
|
+
};
|
|
3716
|
+
get?: never;
|
|
3717
|
+
put?: never;
|
|
3718
|
+
/**
|
|
3719
|
+
* setDefaultBrandKit
|
|
3720
|
+
* @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.
|
|
3721
|
+
*/
|
|
3722
|
+
post: operations["setDefaultBrandKit"];
|
|
3723
|
+
delete?: never;
|
|
3724
|
+
options?: never;
|
|
3725
|
+
head?: never;
|
|
3726
|
+
patch?: never;
|
|
3727
|
+
trace?: never;
|
|
3728
|
+
};
|
|
3623
3729
|
"/tools/updateOrgFeatureFlags": {
|
|
3624
3730
|
parameters: {
|
|
3625
3731
|
query?: never;
|
|
@@ -5308,7 +5414,16 @@ interface operations {
|
|
|
5308
5414
|
projectId?: string;
|
|
5309
5415
|
workspaceId?: string;
|
|
5310
5416
|
folderId?: string;
|
|
5417
|
+
/** @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. */
|
|
5311
5418
|
query?: string;
|
|
5419
|
+
/** @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. */
|
|
5420
|
+
isRegex?: boolean;
|
|
5421
|
+
/** @description Case-sensitive matching. Default false. */
|
|
5422
|
+
caseSensitive?: boolean;
|
|
5423
|
+
/** @description Lines of surrounding context to include with each match (grep -C). 0-5, default 0. */
|
|
5424
|
+
contextLines?: number;
|
|
5425
|
+
/** @description Cap on matching lines returned per document. 1-20, default 5. */
|
|
5426
|
+
maxMatchesPerDocument?: number;
|
|
5312
5427
|
limit?: number;
|
|
5313
5428
|
offset?: number;
|
|
5314
5429
|
/** @description ISO 8601 date filter (from). */
|
|
@@ -5317,7 +5432,7 @@ interface operations {
|
|
|
5317
5432
|
toDate?: string;
|
|
5318
5433
|
/** @description Date field to filter. Default: updated_at. */
|
|
5319
5434
|
dateField?: string;
|
|
5320
|
-
/** @description Field projection. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, href. */
|
|
5435
|
+
/** @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.) */
|
|
5321
5436
|
fields?: string[];
|
|
5322
5437
|
};
|
|
5323
5438
|
};
|
|
@@ -5598,6 +5713,8 @@ interface operations {
|
|
|
5598
5713
|
offset?: number;
|
|
5599
5714
|
/** @description Max lines to return. Default: 200. */
|
|
5600
5715
|
limit?: number;
|
|
5716
|
+
/** @description If true, inline each diagram's full DSL (as diagramCode) and its versionTimestamp into the DIAGRAM_OMITTED markers, so you can inspect and then edit a diagram (updateDiagramInDocument with diagramVersionTimestamp) without a second read. Default false. Note: large DSL inflates the response. */
|
|
5717
|
+
includeDiagramDsl?: boolean;
|
|
5601
5718
|
/** @description Field projection. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, versionTimestamp. */
|
|
5602
5719
|
fields?: string[];
|
|
5603
5720
|
/** @description Content field projection. Valid fields: offset, limit, totalLines, nextOffset, metadata, text. */
|
|
@@ -5779,19 +5896,30 @@ interface operations {
|
|
|
5779
5896
|
folderId?: string;
|
|
5780
5897
|
/** @description Sort position within the parent folder. Use to reposition a single document. For batch sibling reorder, use reorderDocuments. */
|
|
5781
5898
|
position?: number;
|
|
5782
|
-
/** @description Version timestamp from getDocument() for optimistic locking. */
|
|
5783
|
-
versionTimestamp
|
|
5899
|
+
/** @description Version timestamp from getDocument() for optimistic locking. Required unless dryRun:true. */
|
|
5900
|
+
versionTimestamp?: number;
|
|
5901
|
+
/** @description If true, apply the patches and RETURN the resulting document text without saving — no version bump, no lock required. Use to preview/verify a patch before committing. Default false. */
|
|
5902
|
+
dryRun?: boolean;
|
|
5784
5903
|
/** @description Version history summary. */
|
|
5785
5904
|
changeSummary?: string;
|
|
5786
|
-
/** @description
|
|
5787
|
-
patches?: {
|
|
5905
|
+
/** @description Patches to apply. Use EITHER anchor patches OR line patches, not both in the same call. May be empty if only updating title, folderId, or position. */
|
|
5906
|
+
patches?: ({
|
|
5907
|
+
/** @description Exact existing text to replace. Must match the document byte-for-byte and be unique (or use before/after to disambiguate). */
|
|
5908
|
+
oldText: string;
|
|
5909
|
+
/** @description Replacement text. Empty string to delete the matched text. */
|
|
5910
|
+
newText: string;
|
|
5911
|
+
/** @description Optional. Text that appears immediately before oldText, used to disambiguate when oldText occurs more than once. */
|
|
5912
|
+
before?: string;
|
|
5913
|
+
/** @description Optional. Text that appears immediately after oldText, used to disambiguate. */
|
|
5914
|
+
after?: string;
|
|
5915
|
+
} | {
|
|
5788
5916
|
/** @description 1-based start line. */
|
|
5789
5917
|
startLine: number;
|
|
5790
5918
|
/** @description 1-based end line (inclusive). */
|
|
5791
5919
|
endLine: number;
|
|
5792
5920
|
/** @description Replacement text. Empty string to delete lines. */
|
|
5793
5921
|
replacement: string;
|
|
5794
|
-
}[];
|
|
5922
|
+
})[];
|
|
5795
5923
|
};
|
|
5796
5924
|
};
|
|
5797
5925
|
};
|
|
@@ -6192,8 +6320,10 @@ interface operations {
|
|
|
6192
6320
|
[key: string]: string;
|
|
6193
6321
|
};
|
|
6194
6322
|
};
|
|
6195
|
-
/** @description
|
|
6196
|
-
documentVersionTimestamp
|
|
6323
|
+
/** @description Document-level optimistic lock: versionTimestamp from getDocument(). Locks the whole document. Provide this OR diagramVersionTimestamp (at least one is required). */
|
|
6324
|
+
documentVersionTimestamp?: number;
|
|
6325
|
+
/** @description Diagram-level optimistic lock: versionTimestamp of THIS diagram (from getDiagramInDocument, or getDocument with includeDiagramDsl:true). Pass this instead of documentVersionTimestamp to lock only this diagram, so concurrent edits to OTHER diagrams in the same document don't conflict. Preferred for multi-agent concurrency. The response returns the new diagram.diagramVersionTimestamp for chaining further edits. */
|
|
6326
|
+
diagramVersionTimestamp?: number;
|
|
6197
6327
|
};
|
|
6198
6328
|
};
|
|
6199
6329
|
};
|
|
@@ -6530,6 +6660,209 @@ interface operations {
|
|
|
6530
6660
|
projectId?: string;
|
|
6531
6661
|
/** @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. */
|
|
6532
6662
|
confirm?: boolean;
|
|
6663
|
+
/**
|
|
6664
|
+
* @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.
|
|
6665
|
+
* @enum {string}
|
|
6666
|
+
*/
|
|
6667
|
+
designProfile?: "standard" | "branded-executive" | "illustrated" | "image" | "agentic" | "agentic-deck";
|
|
6668
|
+
/** @description Optional brand kit id (from listBrandKits) to theme a branded-executive deck. If omitted, the org's built-in default is used. */
|
|
6669
|
+
brandKitId?: string;
|
|
6670
|
+
};
|
|
6671
|
+
};
|
|
6672
|
+
};
|
|
6673
|
+
responses: {
|
|
6674
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6675
|
+
200: {
|
|
6676
|
+
headers: {
|
|
6677
|
+
[name: string]: unknown;
|
|
6678
|
+
};
|
|
6679
|
+
content: {
|
|
6680
|
+
"application/json": {
|
|
6681
|
+
[key: string]: unknown;
|
|
6682
|
+
};
|
|
6683
|
+
};
|
|
6684
|
+
};
|
|
6685
|
+
/** @description Validation error. */
|
|
6686
|
+
400: {
|
|
6687
|
+
headers: {
|
|
6688
|
+
[name: string]: unknown;
|
|
6689
|
+
};
|
|
6690
|
+
content: {
|
|
6691
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6692
|
+
};
|
|
6693
|
+
};
|
|
6694
|
+
/** @description Missing or invalid credentials. */
|
|
6695
|
+
401: {
|
|
6696
|
+
headers: {
|
|
6697
|
+
[name: string]: unknown;
|
|
6698
|
+
};
|
|
6699
|
+
content: {
|
|
6700
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6701
|
+
};
|
|
6702
|
+
};
|
|
6703
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6704
|
+
403: {
|
|
6705
|
+
headers: {
|
|
6706
|
+
[name: string]: unknown;
|
|
6707
|
+
};
|
|
6708
|
+
content: {
|
|
6709
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6710
|
+
};
|
|
6711
|
+
};
|
|
6712
|
+
/** @description Resource not found. */
|
|
6713
|
+
404: {
|
|
6714
|
+
headers: {
|
|
6715
|
+
[name: string]: unknown;
|
|
6716
|
+
};
|
|
6717
|
+
content: {
|
|
6718
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6719
|
+
};
|
|
6720
|
+
};
|
|
6721
|
+
/** @description Body did not match the tool's input schema. */
|
|
6722
|
+
422: {
|
|
6723
|
+
headers: {
|
|
6724
|
+
[name: string]: unknown;
|
|
6725
|
+
};
|
|
6726
|
+
content: {
|
|
6727
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6728
|
+
};
|
|
6729
|
+
};
|
|
6730
|
+
/** @description Server error. */
|
|
6731
|
+
500: {
|
|
6732
|
+
headers: {
|
|
6733
|
+
[name: string]: unknown;
|
|
6734
|
+
};
|
|
6735
|
+
content: {
|
|
6736
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6737
|
+
};
|
|
6738
|
+
};
|
|
6739
|
+
};
|
|
6740
|
+
};
|
|
6741
|
+
designComponent: {
|
|
6742
|
+
parameters: {
|
|
6743
|
+
query?: never;
|
|
6744
|
+
header?: never;
|
|
6745
|
+
path?: never;
|
|
6746
|
+
cookie?: never;
|
|
6747
|
+
};
|
|
6748
|
+
requestBody?: {
|
|
6749
|
+
content: {
|
|
6750
|
+
"application/json": {
|
|
6751
|
+
/** @description The component key, lowercase dotted, e.g. 'kpi.delta'. This is how decks reference it; reused if it already exists. */
|
|
6752
|
+
key: string;
|
|
6753
|
+
/** @description A short human title, e.g. 'KPI with delta arrow'. */
|
|
6754
|
+
title: string;
|
|
6755
|
+
/** @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). */
|
|
6756
|
+
description: string;
|
|
6757
|
+
/** @description Project to create the small preview board in (where the render iterations are shown). */
|
|
6758
|
+
projectId: string;
|
|
6759
|
+
/** @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. */
|
|
6760
|
+
sampleSlots: {
|
|
6761
|
+
[key: string]: unknown;
|
|
6762
|
+
};
|
|
6763
|
+
/** @description Optional width in grid columns (2-12, default 4). */
|
|
6764
|
+
boxCols?: number;
|
|
6765
|
+
/** @description Optional height in grid rows (2-12, default 5). */
|
|
6766
|
+
boxRows?: number;
|
|
6767
|
+
/** @description Optional catalogue category (e.g. 'data', 'narrative', 'comparison'). */
|
|
6768
|
+
category?: string;
|
|
6769
|
+
/** @description Optional search tags. */
|
|
6770
|
+
tags?: string[];
|
|
6771
|
+
/** @description Optional URL of a reference image the component should match; the critic compares the render to it. */
|
|
6772
|
+
referenceImageUrl?: string;
|
|
6773
|
+
/** @description Redesign even if a component with this key already exists (default false = reuse). */
|
|
6774
|
+
force?: boolean;
|
|
6775
|
+
};
|
|
6776
|
+
};
|
|
6777
|
+
};
|
|
6778
|
+
responses: {
|
|
6779
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
6780
|
+
200: {
|
|
6781
|
+
headers: {
|
|
6782
|
+
[name: string]: unknown;
|
|
6783
|
+
};
|
|
6784
|
+
content: {
|
|
6785
|
+
"application/json": {
|
|
6786
|
+
[key: string]: unknown;
|
|
6787
|
+
};
|
|
6788
|
+
};
|
|
6789
|
+
};
|
|
6790
|
+
/** @description Validation error. */
|
|
6791
|
+
400: {
|
|
6792
|
+
headers: {
|
|
6793
|
+
[name: string]: unknown;
|
|
6794
|
+
};
|
|
6795
|
+
content: {
|
|
6796
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6797
|
+
};
|
|
6798
|
+
};
|
|
6799
|
+
/** @description Missing or invalid credentials. */
|
|
6800
|
+
401: {
|
|
6801
|
+
headers: {
|
|
6802
|
+
[name: string]: unknown;
|
|
6803
|
+
};
|
|
6804
|
+
content: {
|
|
6805
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6806
|
+
};
|
|
6807
|
+
};
|
|
6808
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
6809
|
+
403: {
|
|
6810
|
+
headers: {
|
|
6811
|
+
[name: string]: unknown;
|
|
6812
|
+
};
|
|
6813
|
+
content: {
|
|
6814
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6815
|
+
};
|
|
6816
|
+
};
|
|
6817
|
+
/** @description Resource not found. */
|
|
6818
|
+
404: {
|
|
6819
|
+
headers: {
|
|
6820
|
+
[name: string]: unknown;
|
|
6821
|
+
};
|
|
6822
|
+
content: {
|
|
6823
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6824
|
+
};
|
|
6825
|
+
};
|
|
6826
|
+
/** @description Body did not match the tool's input schema. */
|
|
6827
|
+
422: {
|
|
6828
|
+
headers: {
|
|
6829
|
+
[name: string]: unknown;
|
|
6830
|
+
};
|
|
6831
|
+
content: {
|
|
6832
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6833
|
+
};
|
|
6834
|
+
};
|
|
6835
|
+
/** @description Server error. */
|
|
6836
|
+
500: {
|
|
6837
|
+
headers: {
|
|
6838
|
+
[name: string]: unknown;
|
|
6839
|
+
};
|
|
6840
|
+
content: {
|
|
6841
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6842
|
+
};
|
|
6843
|
+
};
|
|
6844
|
+
};
|
|
6845
|
+
};
|
|
6846
|
+
editWhiteboardImageRegion: {
|
|
6847
|
+
parameters: {
|
|
6848
|
+
query?: never;
|
|
6849
|
+
header?: never;
|
|
6850
|
+
path?: never;
|
|
6851
|
+
cookie?: never;
|
|
6852
|
+
};
|
|
6853
|
+
requestBody?: {
|
|
6854
|
+
content: {
|
|
6855
|
+
"application/json": {
|
|
6856
|
+
/** @description The whiteboard document that holds the image element. */
|
|
6857
|
+
documentId: string;
|
|
6858
|
+
/** @description The id of the image element on the board to edit (from getWhiteboard includeElements=true). */
|
|
6859
|
+
elementId: string;
|
|
6860
|
+
/** @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. */
|
|
6861
|
+
maskBase64: string;
|
|
6862
|
+
/** @description What to put in the masked area, in plain language (e.g. 'replace the car with a red bicycle'). */
|
|
6863
|
+
prompt: string;
|
|
6864
|
+
/** @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. */
|
|
6865
|
+
strength?: number;
|
|
6533
6866
|
};
|
|
6534
6867
|
};
|
|
6535
6868
|
};
|
|
@@ -6966,10 +7299,10 @@ interface operations {
|
|
|
6966
7299
|
/** @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). */
|
|
6967
7300
|
shapes: ({
|
|
6968
7301
|
/**
|
|
6969
|
-
* @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.
|
|
7302
|
+
* @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.
|
|
6970
7303
|
* @enum {string}
|
|
6971
7304
|
*/
|
|
6972
|
-
type: "rectangle" | "ellipse" | "diamond" | "sticky" | "text" | "arrow" | "line" | "freedraw" | "doodle" | "frame" | "image" | "stencil";
|
|
7305
|
+
type: "rectangle" | "ellipse" | "diamond" | "sticky" | "text" | "arrow" | "line" | "freedraw" | "doodle" | "frame" | "image" | "stencil" | "chart" | "table";
|
|
6973
7306
|
/** @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. */
|
|
6974
7307
|
stencil?: string;
|
|
6975
7308
|
/** @description For type:'stencil' — exact stencil key from listWhiteboardStencils (takes precedence over `stencil`). */
|
|
@@ -6996,16 +7329,53 @@ interface operations {
|
|
|
6996
7329
|
height?: number;
|
|
6997
7330
|
/** @description For type:'stencil' — uniform scale factor for the whole stencil (alternative to width/height). */
|
|
6998
7331
|
scale?: number;
|
|
6999
|
-
/** @description Label/caption.
|
|
7332
|
+
/** @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. */
|
|
7000
7333
|
text?: string;
|
|
7001
7334
|
/** @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. */
|
|
7002
7335
|
fitText?: boolean;
|
|
7336
|
+
/** @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. */
|
|
7337
|
+
fontSize?: number;
|
|
7338
|
+
/** @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. */
|
|
7339
|
+
fontFamily?: string;
|
|
7340
|
+
/** @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. */
|
|
7341
|
+
strokeColor?: string;
|
|
7342
|
+
/**
|
|
7343
|
+
* @description Horizontal alignment of the text within its box — the equivalent of the toolbar's align buttons. Bound labels default to 'center'.
|
|
7344
|
+
* @enum {string}
|
|
7345
|
+
*/
|
|
7346
|
+
textAlign?: "left" | "center" | "right";
|
|
7347
|
+
/**
|
|
7348
|
+
* @description Vertical alignment of a bound label inside its shape (toolbar parity). Defaults to 'middle' (centred).
|
|
7349
|
+
* @enum {string}
|
|
7350
|
+
*/
|
|
7351
|
+
verticalAlign?: "top" | "middle" | "bottom";
|
|
7003
7352
|
/** @description Fill colour: a name ('blue'/'green'/'yellow'/'pink'/'violet'/'orange'/'teal'/…) or a hex value. */
|
|
7004
7353
|
backgroundColor?: string;
|
|
7005
7354
|
/** @description For arrows/lines: { id } of the source shape (auto-clips to the edge + auto-routes around shapes in between). */
|
|
7006
7355
|
start?: Record<string, never>;
|
|
7007
7356
|
/** @description For arrows/lines: { id } of the target shape. */
|
|
7008
7357
|
end?: Record<string, never>;
|
|
7358
|
+
/** @description For type:'chart' — the chart's title, drawn at the top of the chart. */
|
|
7359
|
+
title?: string;
|
|
7360
|
+
/**
|
|
7361
|
+
* @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.
|
|
7362
|
+
* @enum {string}
|
|
7363
|
+
*/
|
|
7364
|
+
chartType?: "column" | "bar" | "line" | "area" | "pie" | "donut" | "scatter" | "sparkline" | "combo" | "stackedColumn" | "groupedColumn" | "radar" | "gauge";
|
|
7365
|
+
/** @description For type:'chart' — x-axis category labels, e.g. ['Jan','Feb','Mar','Apr']. */
|
|
7366
|
+
categories?: string[];
|
|
7367
|
+
/** @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. */
|
|
7368
|
+
series?: {
|
|
7369
|
+
[key: string]: unknown;
|
|
7370
|
+
}[];
|
|
7371
|
+
/** @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' }. */
|
|
7372
|
+
options?: {
|
|
7373
|
+
[key: string]: unknown;
|
|
7374
|
+
};
|
|
7375
|
+
/** @description For type:'table' — column headers: string[] (e.g. ['Task','Owner','Status']) or [{ header:string, width?:number, align?:'left'|'center'|'right' }]. */
|
|
7376
|
+
columns?: (string | Record<string, never>)[];
|
|
7377
|
+
/** @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']]. */
|
|
7378
|
+
rows?: (string | number)[][];
|
|
7009
7379
|
} & {
|
|
7010
7380
|
[key: string]: unknown;
|
|
7011
7381
|
})[];
|
|
@@ -9247,8 +9617,12 @@ interface operations {
|
|
|
9247
9617
|
scanRunId?: string;
|
|
9248
9618
|
/** @description Filter by framework (e.g. soc2, iso27001). */
|
|
9249
9619
|
frameworkKey?: string;
|
|
9250
|
-
/** @description
|
|
9620
|
+
/** @description Grep across title, friendlyId and problem_statement. Substring by default; a regular expression when isRegex:true; case-insensitive unless caseSensitive:true. */
|
|
9251
9621
|
query?: string;
|
|
9622
|
+
/** @description Treat query as a regular expression (grep -E), e.g. "ACME-\d+". Default false (literal substring). */
|
|
9623
|
+
isRegex?: boolean;
|
|
9624
|
+
/** @description Case-sensitive matching. Default false. */
|
|
9625
|
+
caseSensitive?: boolean;
|
|
9252
9626
|
/** @description Sort field. Default: position. */
|
|
9253
9627
|
sortField?: string;
|
|
9254
9628
|
/** @description Sort ascending. Default: true. */
|
|
@@ -10609,14 +10983,18 @@ interface operations {
|
|
|
10609
10983
|
requestBody?: {
|
|
10610
10984
|
content: {
|
|
10611
10985
|
"application/json": {
|
|
10612
|
-
/** @description Search query. */
|
|
10986
|
+
/** @description Search query — a name fragment or a friendly id. */
|
|
10613
10987
|
query: string;
|
|
10988
|
+
/** @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. */
|
|
10989
|
+
types?: ("document" | "whiteboard" | "improvement" | "task" | "plan" | "compliance")[];
|
|
10614
10990
|
/** @description Limit to a project. */
|
|
10615
10991
|
projectId?: string;
|
|
10616
10992
|
/** @description Limit to a workspace. */
|
|
10617
10993
|
workspaceId?: string;
|
|
10618
|
-
/** @description Max results (default 20, max 50). */
|
|
10994
|
+
/** @description Max results (default 20 semantic / 30 cross-artefact, max 50). */
|
|
10619
10995
|
limit?: number;
|
|
10996
|
+
/** @description Pagination offset (cross-artefact mode). */
|
|
10997
|
+
offset?: number;
|
|
10620
10998
|
};
|
|
10621
10999
|
};
|
|
10622
11000
|
};
|
|
@@ -10703,8 +11081,12 @@ interface operations {
|
|
|
10703
11081
|
status?: string;
|
|
10704
11082
|
/** @description Filter: low, medium, high, critical. */
|
|
10705
11083
|
priority?: string;
|
|
10706
|
-
/** @description
|
|
11084
|
+
/** @description Grep across title, friendlyId and description. Substring by default; a regular expression when isRegex:true; case-insensitive unless caseSensitive:true. */
|
|
10707
11085
|
query?: string;
|
|
11086
|
+
/** @description Treat query as a regular expression (grep -E), e.g. "ACME-\d+". Default false (literal substring). */
|
|
11087
|
+
isRegex?: boolean;
|
|
11088
|
+
/** @description Case-sensitive matching. Default false. */
|
|
11089
|
+
caseSensitive?: boolean;
|
|
10708
11090
|
/** @description Sort field. Default: created_at. */
|
|
10709
11091
|
sortField?: string;
|
|
10710
11092
|
/** @description Sort ascending. Default: false. */
|
|
@@ -12085,8 +12467,12 @@ interface operations {
|
|
|
12085
12467
|
priority?: string;
|
|
12086
12468
|
/** @description Filter by phase. */
|
|
12087
12469
|
phaseId?: string;
|
|
12088
|
-
/** @description
|
|
12470
|
+
/** @description Grep across title, friendlyId and description. Substring by default; a regular expression when isRegex:true; case-insensitive unless caseSensitive:true. */
|
|
12089
12471
|
query?: string;
|
|
12472
|
+
/** @description Treat query as a regular expression (grep -E), e.g. "ACME-\d+". Default false (literal substring). */
|
|
12473
|
+
isRegex?: boolean;
|
|
12474
|
+
/** @description Case-sensitive matching. Default false. */
|
|
12475
|
+
caseSensitive?: boolean;
|
|
12090
12476
|
/** @description Sort field. Default: position. */
|
|
12091
12477
|
sortField?: string;
|
|
12092
12478
|
/** @description Sort ascending. Default: true. */
|
|
@@ -19782,6 +20168,277 @@ interface operations {
|
|
|
19782
20168
|
};
|
|
19783
20169
|
};
|
|
19784
20170
|
};
|
|
20171
|
+
createBrandKit: {
|
|
20172
|
+
parameters: {
|
|
20173
|
+
query?: never;
|
|
20174
|
+
header?: never;
|
|
20175
|
+
path?: never;
|
|
20176
|
+
cookie?: never;
|
|
20177
|
+
};
|
|
20178
|
+
requestBody?: {
|
|
20179
|
+
content: {
|
|
20180
|
+
"application/json": {
|
|
20181
|
+
/** @description Org that owns the kit. */
|
|
20182
|
+
organizationId: string;
|
|
20183
|
+
/** @description Display name (e.g. the brand/company name). */
|
|
20184
|
+
name: string;
|
|
20185
|
+
/** @description Image URL of the logo to extract palette/fonts from (PNG/JPG/SVG). Omit if passing officeUrl or tokens. */
|
|
20186
|
+
logoUrl?: string;
|
|
20187
|
+
/** @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. */
|
|
20188
|
+
officeUrl?: string;
|
|
20189
|
+
/** @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. */
|
|
20190
|
+
tokens?: {
|
|
20191
|
+
[key: string]: unknown;
|
|
20192
|
+
};
|
|
20193
|
+
/** @description Optional extra guidance for the extractor (e.g. 'use the teal, not the grey'). */
|
|
20194
|
+
guidance?: string;
|
|
20195
|
+
/**
|
|
20196
|
+
* @description Optionally set the new kit as default at this scope.
|
|
20197
|
+
* @enum {string}
|
|
20198
|
+
*/
|
|
20199
|
+
setDefaultScope?: "organization" | "workspace" | "project";
|
|
20200
|
+
/** @description Workspace/project id when setDefaultScope is workspace/project. */
|
|
20201
|
+
setDefaultScopeId?: string;
|
|
20202
|
+
};
|
|
20203
|
+
};
|
|
20204
|
+
};
|
|
20205
|
+
responses: {
|
|
20206
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
20207
|
+
200: {
|
|
20208
|
+
headers: {
|
|
20209
|
+
[name: string]: unknown;
|
|
20210
|
+
};
|
|
20211
|
+
content: {
|
|
20212
|
+
"application/json": {
|
|
20213
|
+
[key: string]: unknown;
|
|
20214
|
+
};
|
|
20215
|
+
};
|
|
20216
|
+
};
|
|
20217
|
+
/** @description Validation error. */
|
|
20218
|
+
400: {
|
|
20219
|
+
headers: {
|
|
20220
|
+
[name: string]: unknown;
|
|
20221
|
+
};
|
|
20222
|
+
content: {
|
|
20223
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20224
|
+
};
|
|
20225
|
+
};
|
|
20226
|
+
/** @description Missing or invalid credentials. */
|
|
20227
|
+
401: {
|
|
20228
|
+
headers: {
|
|
20229
|
+
[name: string]: unknown;
|
|
20230
|
+
};
|
|
20231
|
+
content: {
|
|
20232
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20233
|
+
};
|
|
20234
|
+
};
|
|
20235
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
20236
|
+
403: {
|
|
20237
|
+
headers: {
|
|
20238
|
+
[name: string]: unknown;
|
|
20239
|
+
};
|
|
20240
|
+
content: {
|
|
20241
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20242
|
+
};
|
|
20243
|
+
};
|
|
20244
|
+
/** @description Resource not found. */
|
|
20245
|
+
404: {
|
|
20246
|
+
headers: {
|
|
20247
|
+
[name: string]: unknown;
|
|
20248
|
+
};
|
|
20249
|
+
content: {
|
|
20250
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20251
|
+
};
|
|
20252
|
+
};
|
|
20253
|
+
/** @description Body did not match the tool's input schema. */
|
|
20254
|
+
422: {
|
|
20255
|
+
headers: {
|
|
20256
|
+
[name: string]: unknown;
|
|
20257
|
+
};
|
|
20258
|
+
content: {
|
|
20259
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20260
|
+
};
|
|
20261
|
+
};
|
|
20262
|
+
/** @description Server error. */
|
|
20263
|
+
500: {
|
|
20264
|
+
headers: {
|
|
20265
|
+
[name: string]: unknown;
|
|
20266
|
+
};
|
|
20267
|
+
content: {
|
|
20268
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20269
|
+
};
|
|
20270
|
+
};
|
|
20271
|
+
};
|
|
20272
|
+
};
|
|
20273
|
+
listBrandKits: {
|
|
20274
|
+
parameters: {
|
|
20275
|
+
query?: never;
|
|
20276
|
+
header?: never;
|
|
20277
|
+
path?: never;
|
|
20278
|
+
cookie?: never;
|
|
20279
|
+
};
|
|
20280
|
+
requestBody?: {
|
|
20281
|
+
content: {
|
|
20282
|
+
"application/json": {
|
|
20283
|
+
organizationId: string;
|
|
20284
|
+
};
|
|
20285
|
+
};
|
|
20286
|
+
};
|
|
20287
|
+
responses: {
|
|
20288
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
20289
|
+
200: {
|
|
20290
|
+
headers: {
|
|
20291
|
+
[name: string]: unknown;
|
|
20292
|
+
};
|
|
20293
|
+
content: {
|
|
20294
|
+
"application/json": {
|
|
20295
|
+
[key: string]: unknown;
|
|
20296
|
+
};
|
|
20297
|
+
};
|
|
20298
|
+
};
|
|
20299
|
+
/** @description Validation error. */
|
|
20300
|
+
400: {
|
|
20301
|
+
headers: {
|
|
20302
|
+
[name: string]: unknown;
|
|
20303
|
+
};
|
|
20304
|
+
content: {
|
|
20305
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20306
|
+
};
|
|
20307
|
+
};
|
|
20308
|
+
/** @description Missing or invalid credentials. */
|
|
20309
|
+
401: {
|
|
20310
|
+
headers: {
|
|
20311
|
+
[name: string]: unknown;
|
|
20312
|
+
};
|
|
20313
|
+
content: {
|
|
20314
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20315
|
+
};
|
|
20316
|
+
};
|
|
20317
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
20318
|
+
403: {
|
|
20319
|
+
headers: {
|
|
20320
|
+
[name: string]: unknown;
|
|
20321
|
+
};
|
|
20322
|
+
content: {
|
|
20323
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20324
|
+
};
|
|
20325
|
+
};
|
|
20326
|
+
/** @description Resource not found. */
|
|
20327
|
+
404: {
|
|
20328
|
+
headers: {
|
|
20329
|
+
[name: string]: unknown;
|
|
20330
|
+
};
|
|
20331
|
+
content: {
|
|
20332
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20333
|
+
};
|
|
20334
|
+
};
|
|
20335
|
+
/** @description Body did not match the tool's input schema. */
|
|
20336
|
+
422: {
|
|
20337
|
+
headers: {
|
|
20338
|
+
[name: string]: unknown;
|
|
20339
|
+
};
|
|
20340
|
+
content: {
|
|
20341
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20342
|
+
};
|
|
20343
|
+
};
|
|
20344
|
+
/** @description Server error. */
|
|
20345
|
+
500: {
|
|
20346
|
+
headers: {
|
|
20347
|
+
[name: string]: unknown;
|
|
20348
|
+
};
|
|
20349
|
+
content: {
|
|
20350
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20351
|
+
};
|
|
20352
|
+
};
|
|
20353
|
+
};
|
|
20354
|
+
};
|
|
20355
|
+
setDefaultBrandKit: {
|
|
20356
|
+
parameters: {
|
|
20357
|
+
query?: never;
|
|
20358
|
+
header?: never;
|
|
20359
|
+
path?: never;
|
|
20360
|
+
cookie?: never;
|
|
20361
|
+
};
|
|
20362
|
+
requestBody?: {
|
|
20363
|
+
content: {
|
|
20364
|
+
"application/json": {
|
|
20365
|
+
/** @enum {string} */
|
|
20366
|
+
scope: "organization" | "workspace" | "project";
|
|
20367
|
+
/** @description The org/workspace/project id for the chosen scope. */
|
|
20368
|
+
scopeId: string;
|
|
20369
|
+
/** @description Brand kit to make default, or null to clear. */
|
|
20370
|
+
brandKitId?: string | null;
|
|
20371
|
+
};
|
|
20372
|
+
};
|
|
20373
|
+
};
|
|
20374
|
+
responses: {
|
|
20375
|
+
/** @description Tool result (shape varies per tool — refer to the tool's docs for the exact return value). */
|
|
20376
|
+
200: {
|
|
20377
|
+
headers: {
|
|
20378
|
+
[name: string]: unknown;
|
|
20379
|
+
};
|
|
20380
|
+
content: {
|
|
20381
|
+
"application/json": {
|
|
20382
|
+
[key: string]: unknown;
|
|
20383
|
+
};
|
|
20384
|
+
};
|
|
20385
|
+
};
|
|
20386
|
+
/** @description Validation error. */
|
|
20387
|
+
400: {
|
|
20388
|
+
headers: {
|
|
20389
|
+
[name: string]: unknown;
|
|
20390
|
+
};
|
|
20391
|
+
content: {
|
|
20392
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20393
|
+
};
|
|
20394
|
+
};
|
|
20395
|
+
/** @description Missing or invalid credentials. */
|
|
20396
|
+
401: {
|
|
20397
|
+
headers: {
|
|
20398
|
+
[name: string]: unknown;
|
|
20399
|
+
};
|
|
20400
|
+
content: {
|
|
20401
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20402
|
+
};
|
|
20403
|
+
};
|
|
20404
|
+
/** @description Authenticated but lacking the required permission or feature flag. */
|
|
20405
|
+
403: {
|
|
20406
|
+
headers: {
|
|
20407
|
+
[name: string]: unknown;
|
|
20408
|
+
};
|
|
20409
|
+
content: {
|
|
20410
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20411
|
+
};
|
|
20412
|
+
};
|
|
20413
|
+
/** @description Resource not found. */
|
|
20414
|
+
404: {
|
|
20415
|
+
headers: {
|
|
20416
|
+
[name: string]: unknown;
|
|
20417
|
+
};
|
|
20418
|
+
content: {
|
|
20419
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20420
|
+
};
|
|
20421
|
+
};
|
|
20422
|
+
/** @description Body did not match the tool's input schema. */
|
|
20423
|
+
422: {
|
|
20424
|
+
headers: {
|
|
20425
|
+
[name: string]: unknown;
|
|
20426
|
+
};
|
|
20427
|
+
content: {
|
|
20428
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20429
|
+
};
|
|
20430
|
+
};
|
|
20431
|
+
/** @description Server error. */
|
|
20432
|
+
500: {
|
|
20433
|
+
headers: {
|
|
20434
|
+
[name: string]: unknown;
|
|
20435
|
+
};
|
|
20436
|
+
content: {
|
|
20437
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20438
|
+
};
|
|
20439
|
+
};
|
|
20440
|
+
};
|
|
20441
|
+
};
|
|
19785
20442
|
updateOrgFeatureFlags: {
|
|
19786
20443
|
parameters: {
|
|
19787
20444
|
query?: never;
|
|
@@ -19894,11 +20551,16 @@ interface operations {
|
|
|
19894
20551
|
/** @description Defaults to 'default' */
|
|
19895
20552
|
view_name?: string;
|
|
19896
20553
|
is_default?: boolean;
|
|
19897
|
-
|
|
19898
|
-
|
|
19899
|
-
|
|
19900
|
-
|
|
19901
|
-
|
|
20554
|
+
/** @description Visible column ids (string[]) when an array. */
|
|
20555
|
+
visible_columns?: Record<string, never> | string[] | null;
|
|
20556
|
+
/** @description Column widths — a { colId: px } map, or a number[] when an array. */
|
|
20557
|
+
column_widths?: Record<string, never> | number[] | null;
|
|
20558
|
+
/** @description Ordered column ids (string[]) when an array. */
|
|
20559
|
+
column_order?: Record<string, never> | string[] | null;
|
|
20560
|
+
/** @description Sort rules — array of { id, desc } when an array. */
|
|
20561
|
+
sort_config?: Record<string, never> | Record<string, never>[] | null;
|
|
20562
|
+
/** @description Filter state — usually a { pageSize, tab, filters } object. */
|
|
20563
|
+
filter_config?: Record<string, never> | Record<string, never>[] | null;
|
|
19902
20564
|
}[];
|
|
19903
20565
|
};
|
|
19904
20566
|
};
|