@opencxh/domain 1.193.0 → 1.194.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.
@@ -36,7 +36,12 @@ export interface AIMessage {
36
36
  externalId?: string;
37
37
  /** Tools the assistant invoked while producing this message (final, persisted trace). */
38
38
  toolTrace?: ToolTraceEntry[];
39
+ /** The reader's verdict on an assistant turn. The only quality signal a run has. */
40
+ feedback?: AIMessageFeedback;
41
+ /** Memory items that reached the prompt for this turn (0 = nothing remembered). */
42
+ memoryHits?: number;
39
43
  }
44
+ export type AIMessageFeedback = "up" | "down";
40
45
  /**
41
46
  * Profile-driven ask payload. The selected profile is the source of truth, so
42
47
  * the client sends only `profileId`; the server resolves account/model/
@@ -473,6 +473,11 @@ export interface PlaybookRun {
473
473
  /** Who set this run in motion. See {@link StartedBy}. */
474
474
  startedBy: StartedBy;
475
475
  approvedBy?: string | null;
476
+ /**
477
+ * Who rejected the proposal. Its own field: a rejection used to land in `approvedBy`, so the
478
+ * "Goedgekeurd" metric counted every rejection as an approval.
479
+ */
480
+ rejectedBy?: string | null;
476
481
  result?: {
477
482
  ok: boolean;
478
483
  error?: string;
@@ -203,6 +203,17 @@ export interface WorkItem {
203
203
  /** Set as soon as the status moves to category `done`, cleared when it comes back. */
204
204
  closedAt?: number;
205
205
  estimateSeconds?: number;
206
+ /**
207
+ * Keys of the still-open items this one is `blocked_by`. **A read-time projection**, never
208
+ * stored: the list and get routes derive it from the link table so a row can show a
209
+ * blocked badge without a links call per item. Ignored on write.
210
+ */
211
+ blockedBy?: string[];
212
+ /**
213
+ * When the **reading user** parked this item (`POST /:id/remind`). Same projection rule as
214
+ * `blockedBy`, and personal: two colleagues see different values on the same row.
215
+ */
216
+ parkedUntil?: number;
206
217
  /** Default for hours booked on this; the time entry may differ. */
207
218
  billable?: boolean;
208
219
  source: WorkItemSource;
@@ -50,6 +50,12 @@ export interface AssistNudge extends AssistRanked {
50
50
  * Handed {@link AssistCardProps}. Absent = the queue falls back to `text` plus a button to `url`.
51
51
  */
52
52
  resource?: string;
53
+ /**
54
+ * The body carries a send action that Cmd/Ctrl+Enter fires from its composer. Declared by the
55
+ * source, not inferred from `resource`: the queue used to key this on one app's component name,
56
+ * so every other source got a keyboard map with a hole in it.
57
+ */
58
+ primaryAction?: boolean;
53
59
  }
54
60
  /** What a nudge's federated body receives. */
55
61
  export interface AssistCardProps {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencxh/domain",
3
- "version": "1.193.0",
3
+ "version": "1.194.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",