@opencxh/domain 1.250.0 → 1.252.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/platform/ai-tools.d.ts +11 -0
- package/dist/platform/ui.d.ts +38 -0
- package/package.json +1 -1
|
@@ -176,6 +176,17 @@ export interface AiToolDescriptor extends AiTool {
|
|
|
176
176
|
* decides the suggest downgrade on this.
|
|
177
177
|
*/
|
|
178
178
|
effect?: "internal" | "outward";
|
|
179
|
+
/**
|
|
180
|
+
* What this tool leaves behind for a human to finish. `"draft"` = it prepares something the
|
|
181
|
+
* user reviews and sends (a reply draft), which is exactly the deliverable of an
|
|
182
|
+
* `AssistantMode: "draft"` turn.
|
|
183
|
+
*
|
|
184
|
+
* Declaring it is what lets that mode keep the drafting tool and drop every other write
|
|
185
|
+
* *without naming any tool*: `effect: "internal"` is too wide — an internal note, an
|
|
186
|
+
* attribute and a work item are all internal, and a model asked to "write something" picks
|
|
187
|
+
* whichever one its description matched. See `tools/mode.ts` in the ai app.
|
|
188
|
+
*/
|
|
189
|
+
produces?: "draft";
|
|
179
190
|
}
|
|
180
191
|
/**
|
|
181
192
|
* Body of `POST /provider/ai-tools/invoke`. Replaces five inline structural types (the caller in
|
package/dist/platform/ui.d.ts
CHANGED
|
@@ -116,6 +116,44 @@ export interface SettingsPageConfig {
|
|
|
116
116
|
*/
|
|
117
117
|
scopes?: SettingsScope[];
|
|
118
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* One kind of connection on the Verbindingen page: the filter chip, and the form that
|
|
121
|
+
* opens when a row of that kind is clicked or created.
|
|
122
|
+
*
|
|
123
|
+
* Every connection is a `ManagedAccount` row, so one list can show them all. What one
|
|
124
|
+
* list cannot know is which app edits a row: the app whose provider issued the
|
|
125
|
+
* credential is not always the app that owns the form (an S3 bucket comes from
|
|
126
|
+
* `apps/s3`, which has no frontend — `apps/storage` draws it). So the owning UI
|
|
127
|
+
* declares which provider apps it speaks for, rather than the list guessing per
|
|
128
|
+
* provider and breaking at provider N+1.
|
|
129
|
+
*/
|
|
130
|
+
export interface AccountKindConfig {
|
|
131
|
+
id: string;
|
|
132
|
+
/** Chip label — a translation key in the declaring app's namespace. */
|
|
133
|
+
displayName: string;
|
|
134
|
+
icon?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Provider-app segments (`atob(providerId)` up to the colon) whose rows are this
|
|
137
|
+
* kind. **Empty claims the remainder**: the kind that owns the list itself declares
|
|
138
|
+
* no providers and takes every row nobody else claimed, so a new provider app shows
|
|
139
|
+
* up as a row on day one instead of disappearing.
|
|
140
|
+
*/
|
|
141
|
+
providerApps: string[];
|
|
142
|
+
/**
|
|
143
|
+
* Federated resource that renders one row, as `{app}:{Component}`. Receives
|
|
144
|
+
* `{ id, onBack }`; `id` is `"create"` for a new one. Absent = the list draws its
|
|
145
|
+
* own detail, which is what the remainder kind wants: a communication account has
|
|
146
|
+
* capabilities, channels and signatures hanging off it that a stub form cannot show.
|
|
147
|
+
*/
|
|
148
|
+
detail?: string;
|
|
149
|
+
/**
|
|
150
|
+
* Leave the kind out of the "new connection" menu. For rows that can only arrive
|
|
151
|
+
* through an OAuth hand-off, where a blank form would be a dead end.
|
|
152
|
+
*/
|
|
153
|
+
createDisabled?: boolean;
|
|
154
|
+
/** Sorting hint for the chip row and the new-connection menu. */
|
|
155
|
+
order?: number;
|
|
156
|
+
}
|
|
119
157
|
export interface ToastConfig {
|
|
120
158
|
id: string;
|
|
121
159
|
title?: string;
|