@cellarnode/ui 0.201.1 → 0.203.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.
Files changed (159) hide show
  1. package/dist/agent/composer.d.ts +6 -1
  2. package/dist/agent/composer.d.ts.map +1 -1
  3. package/dist/agent/composer.js +43 -9
  4. package/dist/agent/composer.js.map +1 -1
  5. package/dist/agent/conversation.d.ts +20 -2
  6. package/dist/agent/conversation.d.ts.map +1 -1
  7. package/dist/agent/conversation.js +39 -5
  8. package/dist/agent/conversation.js.map +1 -1
  9. package/dist/agent/copy.d.ts +7 -0
  10. package/dist/agent/copy.d.ts.map +1 -1
  11. package/dist/agent/copy.js +9 -0
  12. package/dist/agent/copy.js.map +1 -1
  13. package/dist/agent/fixtures.d.ts +34 -0
  14. package/dist/agent/fixtures.d.ts.map +1 -1
  15. package/dist/agent/fixtures.js +83 -0
  16. package/dist/agent/fixtures.js.map +1 -1
  17. package/dist/agent/index.d.ts +18 -1
  18. package/dist/agent/index.d.ts.map +1 -1
  19. package/dist/agent/index.js +18 -1
  20. package/dist/agent/index.js.map +1 -1
  21. package/dist/agent/markdown.d.ts +64 -0
  22. package/dist/agent/markdown.d.ts.map +1 -0
  23. package/dist/agent/markdown.js +338 -0
  24. package/dist/agent/markdown.js.map +1 -0
  25. package/dist/agent/masked-value.d.ts +1 -0
  26. package/dist/agent/masked-value.d.ts.map +1 -1
  27. package/dist/agent/masked-value.js +4 -1
  28. package/dist/agent/masked-value.js.map +1 -1
  29. package/dist/agent/message.d.ts +26 -6
  30. package/dist/agent/message.d.ts.map +1 -1
  31. package/dist/agent/message.js +47 -11
  32. package/dist/agent/message.js.map +1 -1
  33. package/dist/agent/panel-frame.js +1 -1
  34. package/dist/agent/panel-frame.js.map +1 -1
  35. package/dist/agent/role-cards/card-kit.d.ts +111 -0
  36. package/dist/agent/role-cards/card-kit.d.ts.map +1 -0
  37. package/dist/agent/role-cards/card-kit.js +68 -0
  38. package/dist/agent/role-cards/card-kit.js.map +1 -0
  39. package/dist/agent/role-cards/data-table-card.d.ts +80 -0
  40. package/dist/agent/role-cards/data-table-card.d.ts.map +1 -0
  41. package/dist/agent/role-cards/data-table-card.js +214 -0
  42. package/dist/agent/role-cards/data-table-card.js.map +1 -0
  43. package/dist/agent/role-cards/fixtures.d.ts +124 -0
  44. package/dist/agent/role-cards/fixtures.d.ts.map +1 -0
  45. package/dist/agent/role-cards/fixtures.js +401 -0
  46. package/dist/agent/role-cards/fixtures.js.map +1 -0
  47. package/dist/agent/role-cards/host-contract.d.ts +214 -0
  48. package/dist/agent/role-cards/host-contract.d.ts.map +1 -0
  49. package/dist/agent/role-cards/host-contract.js +348 -0
  50. package/dist/agent/role-cards/host-contract.js.map +1 -0
  51. package/dist/agent/role-cards/inspector-drawer.d.ts +42 -0
  52. package/dist/agent/role-cards/inspector-drawer.d.ts.map +1 -0
  53. package/dist/agent/role-cards/inspector-drawer.js +68 -0
  54. package/dist/agent/role-cards/inspector-drawer.js.map +1 -0
  55. package/dist/agent/role-cards/inspector-fixtures.d.ts +84 -0
  56. package/dist/agent/role-cards/inspector-fixtures.d.ts.map +1 -0
  57. package/dist/agent/role-cards/inspector-fixtures.js +162 -0
  58. package/dist/agent/role-cards/inspector-fixtures.js.map +1 -0
  59. package/dist/agent/role-cards/inspector-record.d.ts +109 -0
  60. package/dist/agent/role-cards/inspector-record.d.ts.map +1 -0
  61. package/dist/agent/role-cards/inspector-record.js +346 -0
  62. package/dist/agent/role-cards/inspector-record.js.map +1 -0
  63. package/dist/agent/role-cards/inspector-view.d.ts +137 -0
  64. package/dist/agent/role-cards/inspector-view.d.ts.map +1 -0
  65. package/dist/agent/role-cards/inspector-view.js +261 -0
  66. package/dist/agent/role-cards/inspector-view.js.map +1 -0
  67. package/dist/agent/role-cards/match-card.d.ts +21 -0
  68. package/dist/agent/role-cards/match-card.d.ts.map +1 -0
  69. package/dist/agent/role-cards/match-card.js +30 -0
  70. package/dist/agent/role-cards/match-card.js.map +1 -0
  71. package/dist/agent/role-cards/offer-card.d.ts +27 -0
  72. package/dist/agent/role-cards/offer-card.d.ts.map +1 -0
  73. package/dist/agent/role-cards/offer-card.js +68 -0
  74. package/dist/agent/role-cards/offer-card.js.map +1 -0
  75. package/dist/agent/role-cards/opportunity-card.d.ts +26 -0
  76. package/dist/agent/role-cards/opportunity-card.d.ts.map +1 -0
  77. package/dist/agent/role-cards/opportunity-card.js +50 -0
  78. package/dist/agent/role-cards/opportunity-card.js.map +1 -0
  79. package/dist/agent/role-cards/product-card.d.ts +32 -0
  80. package/dist/agent/role-cards/product-card.d.ts.map +1 -0
  81. package/dist/agent/role-cards/product-card.js +50 -0
  82. package/dist/agent/role-cards/product-card.js.map +1 -0
  83. package/dist/agent/role-cards/proposal-diff.d.ts +38 -0
  84. package/dist/agent/role-cards/proposal-diff.d.ts.map +1 -0
  85. package/dist/agent/role-cards/proposal-diff.js +74 -0
  86. package/dist/agent/role-cards/proposal-diff.js.map +1 -0
  87. package/dist/agent/role-cards/registry.d.ts +43 -0
  88. package/dist/agent/role-cards/registry.d.ts.map +1 -0
  89. package/dist/agent/role-cards/registry.js +46 -0
  90. package/dist/agent/role-cards/registry.js.map +1 -0
  91. package/dist/agent/role-cards/score-meter.d.ts +12 -0
  92. package/dist/agent/role-cards/score-meter.d.ts.map +1 -0
  93. package/dist/agent/role-cards/score-meter.js +17 -0
  94. package/dist/agent/role-cards/score-meter.js.map +1 -0
  95. package/dist/agent/role-cards/surface-links.d.ts +54 -0
  96. package/dist/agent/role-cards/surface-links.d.ts.map +1 -0
  97. package/dist/agent/role-cards/surface-links.js +149 -0
  98. package/dist/agent/role-cards/surface-links.js.map +1 -0
  99. package/dist/agent/role-cards/text-safety.d.ts +27 -0
  100. package/dist/agent/role-cards/text-safety.d.ts.map +1 -0
  101. package/dist/agent/role-cards/text-safety.js +77 -0
  102. package/dist/agent/role-cards/text-safety.js.map +1 -0
  103. package/dist/agent/schema.d.ts +10 -0
  104. package/dist/agent/schema.d.ts.map +1 -1
  105. package/dist/agent/schema.js +31 -3
  106. package/dist/agent/schema.js.map +1 -1
  107. package/dist/agent/states.d.ts +1 -0
  108. package/dist/agent/states.d.ts.map +1 -1
  109. package/dist/agent/states.js +1 -1
  110. package/dist/agent/states.js.map +1 -1
  111. package/dist/agent/thinking.d.ts +13 -4
  112. package/dist/agent/thinking.d.ts.map +1 -1
  113. package/dist/agent/thinking.js +15 -6
  114. package/dist/agent/thinking.js.map +1 -1
  115. package/dist/agent/thread-list.d.ts +45 -2
  116. package/dist/agent/thread-list.d.ts.map +1 -1
  117. package/dist/agent/thread-list.js +175 -8
  118. package/dist/agent/thread-list.js.map +1 -1
  119. package/dist/agent/thread-title.d.ts +46 -0
  120. package/dist/agent/thread-title.d.ts.map +1 -0
  121. package/dist/agent/thread-title.js +99 -0
  122. package/dist/agent/thread-title.js.map +1 -0
  123. package/dist/agent/tool-activity-model.d.ts +136 -0
  124. package/dist/agent/tool-activity-model.d.ts.map +1 -0
  125. package/dist/agent/tool-activity-model.js +288 -0
  126. package/dist/agent/tool-activity-model.js.map +1 -0
  127. package/dist/agent/tool-activity.d.ts +61 -0
  128. package/dist/agent/tool-activity.d.ts.map +1 -0
  129. package/dist/agent/tool-activity.js +199 -0
  130. package/dist/agent/tool-activity.js.map +1 -0
  131. package/dist/agent/tool-call-card.d.ts +11 -1
  132. package/dist/agent/tool-call-card.d.ts.map +1 -1
  133. package/dist/agent/tool-call-card.js +19 -4
  134. package/dist/agent/tool-call-card.js.map +1 -1
  135. package/dist/agent/ui.js +1 -1
  136. package/dist/agent/ui.js.map +1 -1
  137. package/dist/agent/use-motion.d.ts +15 -0
  138. package/dist/agent/use-motion.d.ts.map +1 -0
  139. package/dist/agent/use-motion.js +52 -0
  140. package/dist/agent/use-motion.js.map +1 -0
  141. package/dist/chat/use-stick-to-bottom.d.ts +5 -0
  142. package/dist/chat/use-stick-to-bottom.d.ts.map +1 -1
  143. package/dist/chat/use-stick-to-bottom.js +11 -1
  144. package/dist/chat/use-stick-to-bottom.js.map +1 -1
  145. package/dist/components/sheet.d.ts +3 -1
  146. package/dist/components/sheet.d.ts.map +1 -1
  147. package/dist/components/sheet.js +2 -2
  148. package/dist/components/sheet.js.map +1 -1
  149. package/dist/portfolio-import/import-job-panels.d.ts +6 -0
  150. package/dist/portfolio-import/import-job-panels.d.ts.map +1 -1
  151. package/dist/portfolio-import/import-job-panels.js +11 -4
  152. package/dist/portfolio-import/import-job-panels.js.map +1 -1
  153. package/dist/portfolio-import/job-error-copy.d.ts +62 -0
  154. package/dist/portfolio-import/job-error-copy.d.ts.map +1 -0
  155. package/dist/portfolio-import/job-error-copy.js +78 -0
  156. package/dist/portfolio-import/job-error-copy.js.map +1 -0
  157. package/dist/realtime/organisation-events/schemas.d.ts +2 -2
  158. package/package.json +4 -1
  159. package/src/theme/tokens.css +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector-record.js","sourceRoot":"","sources":["../../../src/agent/role-cards/inspector-record.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ import { type ReactNode } from "react";
2
+ import type { CardAction, CardDetail, CardProposal } from "@cellarnode/agent-cards/zod4";
3
+ import { type MaskedValueCopy } from "../masked-value.js";
4
+ import type { CellValue } from "../schema.js";
5
+ import { type AgentErrorCopy } from "../states.js";
6
+ import { type AgentCardActionsCopy, type AgentRoleCardHostProps } from "./card-kit.js";
7
+ import { type AgentToolCatalog, type DetailKind } from "./host-contract.js";
8
+ import { type AgentInspectorRecordCopy } from "./inspector-record.js";
9
+ export interface AgentInspectorViewCopy extends AgentInspectorRecordCopy {
10
+ /** What the surface is, for a screen reader. */
11
+ description: string;
12
+ /** What the record's kind is called, by `detail.kind`. */
13
+ kinds: Record<DetailKind, string>;
14
+ /** The accessible name of the scrollable body. */
15
+ detailsRegion: string;
16
+ loading: string;
17
+ emptyHeadline: string;
18
+ emptyBody: string;
19
+ missingHeadline: string;
20
+ missingBody: string;
21
+ /** A clicked action the catalog no longer accepts. */
22
+ actionRefused: string;
23
+ matchScore: string;
24
+ declined: string;
25
+ }
26
+ declare const DEFAULT_COPY: AgentInspectorViewCopy;
27
+ export { DEFAULT_COPY as DEFAULT_INSPECTOR_VIEW_COPY };
28
+ /** The error banner says what failed to load (the record), not what failed in the conversation. */
29
+ declare const DEFAULT_ERROR_COPY: AgentErrorCopy;
30
+ export { DEFAULT_ERROR_COPY as DEFAULT_INSPECTOR_ERROR_COPY };
31
+ export type AgentInspectorViewCopyOverride = Partial<Omit<AgentInspectorViewCopy, "kinds">> & {
32
+ /** Merged over the defaults one kind at a time. */
33
+ kinds?: Partial<AgentInspectorViewCopy["kinds"]>;
34
+ /** The error banner's strings (`AgentError`'s copy). */
35
+ errorCopy?: Partial<AgentErrorCopy>;
36
+ /** The action row's strings (`AgentCardActions`' copy). */
37
+ actionsCopy?: Partial<AgentCardActionsCopy>;
38
+ /** The mask pill's strings. */
39
+ maskedCopy?: Partial<MaskedValueCopy>;
40
+ };
41
+ /**
42
+ * The record the card's `detail` names, as the HOST fetched it. The view never fetches: it takes the reduced state, so the host
43
+ * keeps its own cache, auth and retry. `for` is the pointer the record was fetched FOR: a `ready` state for another record than the
44
+ * open card's `detail` (the host switched cards and the fetch has not caught up) shows as loading, never as the wrong record.
45
+ * `record` is whatever the host's authenticated read returned (masked cells included); `null` means the host looked and found nothing.
46
+ */
47
+ export type AgentInspectorRecordState = {
48
+ status: "loading";
49
+ } | {
50
+ status: "error";
51
+ kind?: "generic" | "authExpired" | "unavailable";
52
+ } | {
53
+ status: "ready";
54
+ for: Pick<CardDetail, "kind" | "id">;
55
+ record: unknown;
56
+ };
57
+ /** What the view handed to the host: a confirm plan (`action`), an Apply, Edit before applying or Reject, or a followed link. */
58
+ export type AgentInspectorHandOff = "action" | "apply" | "edit" | "reject" | "link";
59
+ export interface AgentInspectorHeadingParts {
60
+ /** The record's kind ("Offer"); absent when the title already is it. */
61
+ eyebrow?: string;
62
+ /** The record's name, already rendered (masked cells stay masked). */
63
+ title: ReactNode;
64
+ /** What the surface is, for a screen reader. */
65
+ description: string;
66
+ /** The match score and the like, already rendered. */
67
+ aside?: ReactNode;
68
+ }
69
+ type Subject = Pick<CardDetail, "kind" | "id">;
70
+ /**
71
+ * Text that was written by someone else, by record path, per record kind. It renders as quoted text, never as the app's own words
72
+ * (agent-cards README, "Third-party text"). A path counts when it OR any ancestor is listed, so `counterparty` covers
73
+ * `counterparty.name`; a bare name matches at any depth, a longer path is anchored at the root, and `[]` is any list position.
74
+ * `thirdPartyPaths` EXTENDS these.
75
+ */
76
+ export declare const DEFAULT_THIRD_PARTY_PATHS: Readonly<Partial<Record<DetailKind, readonly string[]>>>;
77
+ /** What the view needs from the card, after the same read a card gets (`readRoleCard`). */
78
+ interface InspectorCard {
79
+ detail: CardDetail;
80
+ /** The record THIS card is about; a proposal for any other record is refused at Apply. */
81
+ subject: Subject;
82
+ /** The card's own headline and the record key it stands for; absent when the card carries none. */
83
+ title?: CellValue;
84
+ titleKey: string;
85
+ score?: number;
86
+ declined?: boolean;
87
+ actions?: CardAction[];
88
+ proposal?: CardProposal;
89
+ }
90
+ /**
91
+ * `null` for an unknown type, data that fails the schema, a card whose `detail` disagrees with it, or a card with no `detail`
92
+ * pointer: there is nothing to inspect. Everything else is what `readRoleCard` made safe.
93
+ */
94
+ export declare function readInspectorCard(cardType: string, data: unknown, catalog: AgentToolCatalog | undefined): InspectorCard | null;
95
+ /** The hook the drawer and the view share, so one card is read once per change of its data. */
96
+ export declare function useInspectorCard(cardType: string, data: unknown, catalog: AgentToolCatalog | undefined): InspectorCard | null;
97
+ export interface AgentInspectorViewProps extends Omit<AgentRoleCardHostProps, "onOpenDetail"> {
98
+ /** The card that is being inspected: its `cardType` and the data the agent sent. Read exactly like `renderRoleAgentCard` reads it. */
99
+ cardType: string;
100
+ data: unknown;
101
+ record: AgentInspectorRecordState;
102
+ /** The error state's one action, as `AgentError` defines it: retry for a generic or unavailable error, sign in for an expired session. */
103
+ onErrorAction?: () => void;
104
+ /** Labels for record fields, by dotted path first and by bare key second. Anything else is humanised from the key. */
105
+ fieldLabels?: Readonly<Record<string, string>>;
106
+ /** The same, for one kind of record only; wins over `fieldLabels`. */
107
+ fieldLabelsByKind?: Readonly<Partial<Record<DetailKind, Readonly<Record<string, string>>>>>;
108
+ /** More record paths whose text someone else wrote, on top of `DEFAULT_THIRD_PARTY_PATHS` for the record's kind. */
109
+ thirdPartyPaths?: readonly string[];
110
+ /** Record paths to keep out of the view (internal ids, cost prices). Same matching as `thirdPartyPaths`. */
111
+ hiddenPaths?: readonly string[];
112
+ /** The host's own display text for a value (a date, a currency), or `undefined` for the default. Never called for a masked cell. */
113
+ formatValue?: (path: string, value: CellValue, kind: DetailKind) => string | undefined;
114
+ /** Replace the heading block. The drawer puts its dialog title and description here. */
115
+ heading?: (parts: AgentInspectorHeadingParts) => ReactNode;
116
+ /** Called after the view handed something to the host (a confirm plan, an applied, edited or rejected proposal, a followed link). */
117
+ onHandOff?: (what: AgentInspectorHandOff) => void;
118
+ /**
119
+ * `false` once the surface that holds the view is closing: a hand-off that resolves late (an Apply whose re-fetch finishes after
120
+ * the person closed it) is dropped instead of reaching the host. Default `true`.
121
+ */
122
+ active?: boolean;
123
+ copy?: AgentInspectorViewCopyOverride;
124
+ className?: string;
125
+ }
126
+ /**
127
+ * @internal The inspector (CEL-2487): the full record behind a role card's `detail` pointer, the card's typed `actions[]` and its
128
+ * `proposal`, with no dialog parts, so a drawer (`AgentInspectorDrawer`) or the tier-3 canvas can hold it. It owns the content and
129
+ * the host contract; the surface owns the chrome and what a hand-off does to it (`onHandOff`).
130
+ *
131
+ * Pure props in, events out. It never fetches (the host passes `record`) and never runs a tool. Everything that writes goes through
132
+ * the same host contract as the inline card: `AgentCardActions` hands the host a catalog-built confirm plan, never the model's
133
+ * action; `AgentProposalDiff` re-fetches the record and hands over `planProposalApply`'s result. A refused action stays in the view
134
+ * and says so. Renders nothing for a card it cannot inspect (see `readInspectorCard`).
135
+ */
136
+ export declare function AgentInspectorView({ cardType, data, record, onErrorAction, fieldLabels, fieldLabelsByKind, thirdPartyPaths, hiddenPaths, formatValue, heading, onHandOff, active, copy, className, ...host }: AgentInspectorViewProps): import("react/jsx-runtime").JSX.Element | null;
137
+ //# sourceMappingURL=inspector-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector-view.d.ts","sourceRoot":"","sources":["../../../src/agent/role-cards/inspector-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useMemo, useRef, useState } from "react";
3
+ import { FileSearch } from "lucide-react";
4
+ import { EmptyState } from "../../components/empty-state.js";
5
+ import { Skeleton } from "../../components/skeleton.js";
6
+ import { cn } from "../../lib/utils.js";
7
+ import { fmt, quoteText, useCopy } from "../copy.js";
8
+ import { MaskedValue } from "../masked-value.js";
9
+ import { AgentError, ERROR_COPY } from "../states.js";
10
+ import { focusRing } from "../ui.js";
11
+ import { AgentCardActions, AgentChip, } from "./card-kit.js";
12
+ import { catalogRecordLabel, offeredActions, readRoleCard, } from "./host-contract.js";
13
+ import { AgentInspectorRecord, buildRecordView, compilePathMatcher, DEFAULT_INSPECTOR_RECORD_COPY, humanizeKey, } from "./inspector-record.js";
14
+ import { AgentProposalDiff } from "./proposal-diff.js";
15
+ import { AgentScoreMeter } from "./score-meter.js";
16
+ import { cleanInline } from "./text-safety.js";
17
+ const DEFAULT_COPY = {
18
+ ...DEFAULT_INSPECTOR_RECORD_COPY,
19
+ description: "Full record details and the actions the agent offered.",
20
+ kinds: {
21
+ product: "Product",
22
+ variant: "Product version",
23
+ offer: "Offer",
24
+ opportunity: "Opportunity",
25
+ match: "Match",
26
+ org: "Organisation",
27
+ user: "User",
28
+ label: "Label",
29
+ brand_profile: "Brand profile",
30
+ lab_report: "Lab report",
31
+ extraction_job: "Extraction job",
32
+ },
33
+ detailsRegion: "Record details",
34
+ loading: "Loading the full record",
35
+ emptyHeadline: "Nothing more to show",
36
+ emptyBody: "The record has no further details.",
37
+ missingHeadline: "Record not available",
38
+ missingBody: "It may have been removed, or you may not have access to it.",
39
+ actionRefused: "This action cannot run from here any more. Ask the agent to try again.",
40
+ matchScore: "Match score",
41
+ declined: "Declined",
42
+ };
43
+ export { DEFAULT_COPY as DEFAULT_INSPECTOR_VIEW_COPY };
44
+ /** The error banner says what failed to load (the record), not what failed in the conversation. */
45
+ const DEFAULT_ERROR_COPY = {
46
+ ...ERROR_COPY,
47
+ genericTitle: "Could not load this record",
48
+ genericBody: "The record did not load. Nothing was changed.",
49
+ unavailableTitle: "Records are unavailable",
50
+ unavailableBody: "The service that holds this record is not responding. Try again in a few minutes.",
51
+ };
52
+ export { DEFAULT_ERROR_COPY as DEFAULT_INSPECTOR_ERROR_COPY };
53
+ /**
54
+ * Text that was written by someone else, by record path, per record kind. It renders as quoted text, never as the app's own words
55
+ * (agent-cards README, "Third-party text"). A path counts when it OR any ancestor is listed, so `counterparty` covers
56
+ * `counterparty.name`; a bare name matches at any depth, a longer path is anchored at the root, and `[]` is any list position.
57
+ * `thirdPartyPaths` EXTENDS these.
58
+ */
59
+ export const DEFAULT_THIRD_PARTY_PATHS = {
60
+ // The first names are the agent-cards card fields; the rest are the V2 record DTOs `fetchRecord` returns
61
+ // (offers, opportunities and matching `public-response-schemas.ts`).
62
+ opportunity: [
63
+ "name",
64
+ "description",
65
+ "requirements",
66
+ "buyer",
67
+ "contact",
68
+ "creatorOrgName",
69
+ "tender.instructions",
70
+ "namedCertifications[].rawName",
71
+ ],
72
+ offer: [
73
+ "counterparty",
74
+ "rounds[].note",
75
+ "contact",
76
+ "opportunity",
77
+ "opportunitySnapshot.name",
78
+ "opportunitySnapshot.buyerName",
79
+ "opportunitySnapshot.description",
80
+ "importerOrgName",
81
+ "message",
82
+ "notes",
83
+ ],
84
+ match: [
85
+ "opportunity",
86
+ "market",
87
+ "buyer",
88
+ "title",
89
+ "creatorOrgName",
90
+ "buyerPreferences",
91
+ "marketNotes",
92
+ ],
93
+ };
94
+ /**
95
+ * `null` for an unknown type, data that fails the schema, a card whose `detail` disagrees with it, or a card with no `detail`
96
+ * pointer: there is nothing to inspect. Everything else is what `readRoleCard` made safe.
97
+ */
98
+ export function readInspectorCard(cardType, data, catalog) {
99
+ const read = readRoleCard(cardType, data, catalog);
100
+ const detail = read?.data.detail;
101
+ if (!read || !detail || !read.subject)
102
+ return null;
103
+ const base = {
104
+ detail,
105
+ subject: read.subject,
106
+ actions: read.data.actions,
107
+ proposal: read.data.proposal,
108
+ };
109
+ switch (read.cardType) {
110
+ case "OfferCard": {
111
+ const p = read.data.product;
112
+ return {
113
+ ...base,
114
+ title: p === undefined || p === null || p === "" ? undefined : p,
115
+ titleKey: "product",
116
+ };
117
+ }
118
+ case "MatchCard":
119
+ return {
120
+ ...base,
121
+ title: read.data.label,
122
+ titleKey: "label",
123
+ score: read.data.score,
124
+ declined: read.data.declined,
125
+ };
126
+ case "ProductCard":
127
+ return { ...base, title: read.data.name, titleKey: "name" };
128
+ case "OpportunityCard":
129
+ return { ...base, title: read.data.name, titleKey: "name" };
130
+ }
131
+ }
132
+ /** The hook the drawer and the view share, so one card is read once per change of its data. */
133
+ export function useInspectorCard(cardType, data, catalog) {
134
+ return useMemo(() => readInspectorCard(cardType, data, catalog), [cardType, data, catalog]);
135
+ }
136
+ const NO_PATHS = [];
137
+ function DefaultHeading({ eyebrow, title, description, aside }) {
138
+ return (_jsxs("div", { className: "flex shrink-0 flex-col gap-1 border-b border-border/60 px-4 py-3", children: [eyebrow && _jsx("p", { className: "text-xs/4 text-muted-foreground", children: eyebrow }), _jsx("h2", { className: "text-base/6 font-semibold text-balance break-words", children: title }), _jsx("p", { className: "sr-only", children: description }), aside] }));
139
+ }
140
+ /**
141
+ * @internal The inspector (CEL-2487): the full record behind a role card's `detail` pointer, the card's typed `actions[]` and its
142
+ * `proposal`, with no dialog parts, so a drawer (`AgentInspectorDrawer`) or the tier-3 canvas can hold it. It owns the content and
143
+ * the host contract; the surface owns the chrome and what a hand-off does to it (`onHandOff`).
144
+ *
145
+ * Pure props in, events out. It never fetches (the host passes `record`) and never runs a tool. Everything that writes goes through
146
+ * the same host contract as the inline card: `AgentCardActions` hands the host a catalog-built confirm plan, never the model's
147
+ * action; `AgentProposalDiff` re-fetches the record and hands over `planProposalApply`'s result. A refused action stays in the view
148
+ * and says so. Renders nothing for a card it cannot inspect (see `readInspectorCard`).
149
+ */
150
+ export function AgentInspectorView({ cardType, data, record, onErrorAction, fieldLabels, fieldLabelsByKind, thirdPartyPaths = NO_PATHS, hiddenPaths = NO_PATHS, formatValue, heading, onHandOff, active = true, copy, className, ...host }) {
151
+ const { errorCopy, actionsCopy, maskedCopy, kinds, ...rest } = copy ?? {};
152
+ const c = useCopy(DEFAULT_COPY, { ...rest, kinds: { ...DEFAULT_COPY.kinds, ...kinds } });
153
+ const card = useInspectorCard(cardType, data, host.catalog);
154
+ const id = useId();
155
+ // Local to the open view: it unmounts with its surface, so a refusal never carries over to the next card.
156
+ const [refusedFor, setRefusedFor] = useState(null);
157
+ // Read when a hand-off fires, not when it is built: an Apply that resolves late must see the surface as it is THEN.
158
+ const activeRef = useRef(active);
159
+ useEffect(() => {
160
+ activeRef.current = active;
161
+ }, [active]);
162
+ /** A host hand-off, run only while the view is active (checked when it fires), followed by `onHandOff`. */
163
+ const gate = (fn, what) => fn &&
164
+ ((...args) => {
165
+ if (!activeRef.current)
166
+ return;
167
+ fn(...args);
168
+ onHandOff?.(what);
169
+ });
170
+ const kind = card?.detail.kind;
171
+ // The record this view is about. Everything below the heading is keyed by it, so switching cards (the host re-points the
172
+ // surface) drops the previous card's in-flight Apply and its refusal instead of carrying them over.
173
+ const cardKey = card ? `${card.detail.kind}:${card.detail.id}` : null;
174
+ const refused = refusedFor === cardKey;
175
+ const isThirdParty = useMemo(() => compilePathMatcher([
176
+ ...((kind && DEFAULT_THIRD_PARTY_PATHS[kind]) || []),
177
+ ...thirdPartyPaths,
178
+ ]), [kind, thirdPartyPaths]);
179
+ const isHidden = useMemo(() => compilePathMatcher(hiddenPaths), [hiddenPaths]);
180
+ const labels = useMemo(() => ({ ...fieldLabels, ...(kind ? fieldLabelsByKind?.[kind] : undefined) }), [fieldLabels, fieldLabelsByKind, kind]);
181
+ // A `ready` state for another record than the open card's `detail` is the host's fetch not catching up: show loading, not that record.
182
+ const forThisCard = !!card &&
183
+ record.status === "ready" &&
184
+ record.for.kind === card.detail.kind &&
185
+ record.for.id === card.detail.id;
186
+ const readyRecord = record.status === "ready" && forThisCard ? record.record : undefined;
187
+ const state = record.status === "ready" && !forThisCard ? "loading" : record.status;
188
+ const view = useMemo(() => buildRecordView(readyRecord, {
189
+ focus: card?.detail.focus,
190
+ labels,
191
+ itemLabel: (n) => fmt(c.item, { n }),
192
+ trail: (parent, child) => fmt(c.trail, { parent, child }),
193
+ notShown: c.notShown,
194
+ hidden: isHidden,
195
+ }), [readyRecord, card?.detail.focus, labels, c.item, c.trail, c.notShown, isHidden]);
196
+ if (!card || !kind)
197
+ return null;
198
+ const kindLabel = Object.hasOwn(c.kinds, kind) ? c.kinds[kind] : humanizeKey(kind);
199
+ // Once the record is in, its own name wins over the card's claim; the kind is the title only when neither has one.
200
+ const rec = readyRecord !== null && typeof readyRecord === "object" && !Array.isArray(readyRecord)
201
+ ? readyRecord
202
+ : undefined;
203
+ const recordKey = rec
204
+ ? ["name", "title", "label"].find((k) => typeof rec[k] === "string")
205
+ : undefined;
206
+ // The host's own label for the record (a catalog `recordLabel`) wins over the record's name, and that wins over the card's claim.
207
+ const hostLabel = rec &&
208
+ catalogRecordLabel(host.catalog, kind, rec, [
209
+ card.proposal?.tool,
210
+ ...(card.actions ?? []).map((a) => a.tool),
211
+ ]);
212
+ const recordTitle = hostLabel ?? (rec && recordKey ? cleanInline(rec[recordKey], 120, true) : undefined);
213
+ const ownTitle = recordTitle ?? card.title;
214
+ // Whose words is the title? A key we read it from decides; a host label does not say, so it is quoted when the kind's name or
215
+ // title is someone else's text.
216
+ const titleIsThirdParty = hostLabel
217
+ ? isThirdParty("name") || isThirdParty("title")
218
+ : isThirdParty(recordTitle && recordKey ? recordKey : card.titleKey);
219
+ const title = ownTitle === undefined
220
+ ? kindLabel
221
+ : typeof ownTitle === "string" && titleIsThirdParty
222
+ ? quoteText(ownTitle, c.quote)
223
+ : ownTitle;
224
+ const parts = {
225
+ eyebrow: ownTitle === undefined ? undefined : kindLabel,
226
+ title: _jsx(MaskedValue, { value: title, copy: maskedCopy }),
227
+ description: c.description,
228
+ aside: card.score !== undefined ? (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(AgentScoreMeter, { score: card.score, label: c.matchScore }), card.declined && _jsx(AgentChip, { tone: "neutral", children: c.declined })] })) : undefined,
229
+ };
230
+ const onAction = host.onAction;
231
+ const hasActions = offeredActions(card.actions, host.catalog, {
232
+ canRunTools: !!onAction,
233
+ allowLink: host.allowLink,
234
+ }).length > 0;
235
+ const missing = state === "ready" &&
236
+ (readyRecord === null || typeof readyRecord !== "object" || Array.isArray(readyRecord));
237
+ return (_jsxs("div", { className: cn("flex min-h-0 flex-1 flex-col", className), children: [heading ? heading(parts) : _jsx(DefaultHeading, { ...parts }), _jsxs("div", { role: "region", "aria-label": c.detailsRegion, "aria-busy": state === "loading",
238
+ // Focusable so a keyboard user can scroll a long record; the ring is inset because the region clips its own outline.
239
+ tabIndex: 0, className: cn("@container flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto overscroll-contain px-4 py-4", focusRing, "focus-visible:-outline-offset-2"), children: [card.proposal && (_jsx(AgentProposalDiff, { proposal: card.proposal, catalog: host.catalog, fetchRecord: host.fetchRecord, expected: card.subject, onApply: gate(host.onApplyProposal, "apply"), onEdit: gate(host.onEditProposal, "edit"), onReject: gate(host.onRejectProposal, "reject"), copy: host.proposalCopy })), state === "loading" && (_jsxs("div", { role: "status", className: "flex flex-col gap-3", children: [_jsx("span", { className: "sr-only", children: c.loading }), _jsx(Skeleton, { className: "h-3 w-24" }), _jsx("div", { className: "grid grid-cols-2 gap-x-4 gap-y-3 @sm:grid-cols-3", children: Array.from({ length: 6 }, (_, i) => (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Skeleton, { className: "h-3 w-16" }), _jsx(Skeleton, { className: "h-4 w-24" })] }, i))) })] })), state === "error" && (_jsx(AgentError, { kind: record.status === "error" ? (record.kind ?? "generic") : "generic", onAction: onErrorAction, copy: { ...DEFAULT_ERROR_COPY, ...errorCopy } })), state === "ready" && (missing || view.isEmpty) && (_jsx(EmptyState, { tone: "neutral", icon: _jsx(FileSearch, { "aria-hidden": true, className: "size-5" }), headline: missing ? c.missingHeadline : c.emptyHeadline, description: missing ? c.missingBody : c.emptyBody, entranceMotion: false })), state === "ready" && !missing && !view.isEmpty && (_jsx(AgentInspectorRecord, { view: view, isThirdParty: isThirdParty, formatValue: formatValue && ((path, value) => formatValue(path, value, kind)), copy: c, maskedCopy: maskedCopy, headingId: (name) => `${id}-${name}` }))] }), refused && (_jsx("p", { role: "alert", className: "shrink-0 px-4 pb-2 text-xs/4 font-medium text-(--tone-danger-fg)", children: c.actionRefused })), _jsx("div", { className: cn("shrink-0 px-4 pb-[max(0.75rem,env(safe-area-inset-bottom))]", !hasActions && "hidden"), onClick: (event) => {
240
+ // A link leaves the view: the surface must not stay open over the page it navigated to.
241
+ if (event.button !== 0 ||
242
+ event.metaKey ||
243
+ event.ctrlKey ||
244
+ event.shiftKey ||
245
+ event.altKey)
246
+ return;
247
+ if (event.target instanceof Element && event.target.closest("a[href]"))
248
+ onHandOff?.("link");
249
+ }, children: _jsx(AgentCardActions, { actions: card.actions, catalog: host.catalog, allowLink: host.allowLink, renderLink: host.renderLink, copy: actionsCopy, onAction: onAction &&
250
+ ((result) => {
251
+ if (!activeRef.current)
252
+ return;
253
+ setRefusedFor(null);
254
+ onAction(result);
255
+ onHandOff?.("action");
256
+ }), onActionRefused: (action, reason) => {
257
+ setRefusedFor(cardKey);
258
+ host.onActionRefused?.(action, reason);
259
+ } }) })] }, cardKey));
260
+ }
261
+ //# sourceMappingURL=inspector-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector-view.js","sourceRoot":"","sources":["../../../src/agent/role-cards/inspector-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { MatchCardData } from "@cellarnode/agent-cards/zod4";
2
+ import { type AgentRoleCardHostProps } from "./card-kit.js";
3
+ export interface AgentMatchCardCopy {
4
+ title: string;
5
+ scoreLabel: string;
6
+ product: string;
7
+ opportunity: string;
8
+ volume: string;
9
+ price: string;
10
+ deadline: string;
11
+ declined: string;
12
+ daysLeft: string;
13
+ buyerCountry: string;
14
+ }
15
+ export interface AgentMatchCardProps extends AgentRoleCardHostProps {
16
+ data: MatchCardData;
17
+ copy?: Partial<AgentMatchCardCopy>;
18
+ }
19
+ /** @internal Read card for one match (CEL-2445): the 0 to 5 score, the product against the opportunity, why it fits. */
20
+ export declare function AgentMatchCard({ data, copy, ...host }: AgentMatchCardProps): import("react/jsx-runtime").JSX.Element | null;
21
+ //# sourceMappingURL=match-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-card.d.ts","sourceRoot":"","sources":["../../../src/agent/role-cards/match-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAEL,KAAK,sBAAsB,EAM5B,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAcD,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpC;AAED,wHAAwH;AACxH,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,mBAAmB,kDAuE1E"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { fmt, useCopy } from "../copy.js";
3
+ import { AgentCardExtras, AgentCardFrame, AgentCardLink, AgentChip, AgentField, AgentFieldGrid, } from "./card-kit.js";
4
+ import { detailAgrees } from "./host-contract.js";
5
+ import { AgentScoreMeter } from "./score-meter.js";
6
+ import { MaskedValue } from "../masked-value.js";
7
+ const DEFAULT_COPY = {
8
+ title: "Match",
9
+ scoreLabel: "Match score",
10
+ product: "Your product",
11
+ opportunity: "Opportunity",
12
+ volume: "Volume",
13
+ price: "Price",
14
+ deadline: "Deadline",
15
+ declined: "Declined",
16
+ daysLeft: "{n} days left",
17
+ buyerCountry: "{buyer}, {country}",
18
+ };
19
+ /** @internal Read card for one match (CEL-2445): the 0 to 5 score, the product against the opportunity, why it fits. */
20
+ export function AgentMatchCard({ data, copy, ...host }) {
21
+ const { allowLink, renderLink, maskedCopy } = host;
22
+ const c = useCopy(DEFAULT_COPY, copy);
23
+ // A `detail` that names a different record than the card's own matchId is refused, not reconciled.
24
+ if (!detailAgrees("MatchCard", data))
25
+ return null;
26
+ const opp = data.opportunity;
27
+ const days = data.daysRemaining;
28
+ return (_jsxs(AgentCardFrame, { title: _jsx(AgentCardLink, { path: data.link, allowLink: allowLink, renderLink: renderLink, children: data.label ?? c.title }), badge: data.declined ? _jsx(AgentChip, { tone: "neutral", children: c.declined }) : undefined, children: [_jsxs("div", { className: "flex items-start gap-3", children: [_jsx(AgentScoreMeter, { score: data.score, label: c.scoreLabel }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [data.product && (_jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("span", { className: "text-xs/4 text-muted-foreground", children: c.product }), _jsx("span", { className: "min-w-0 text-sm/5 font-medium break-words", children: _jsx(AgentCardLink, { path: data.product.link, allowLink: allowLink, renderLink: renderLink, children: _jsx(MaskedValue, { value: data.product.name, copy: maskedCopy }) }) })] })), opp && (_jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("span", { className: "text-xs/4 text-muted-foreground", children: c.opportunity }), _jsx("span", { className: "min-w-0 text-sm/5 font-medium break-words", children: _jsx(AgentCardLink, { path: opp.link, allowLink: allowLink, renderLink: renderLink, children: _jsx(MaskedValue, { value: opp.name, copy: maskedCopy }) }) }), (opp.buyer || opp.country) && (_jsx("span", { className: "text-xs/4 text-muted-foreground", children: opp.buyer && opp.country ? (_jsxs(_Fragment, { children: [_jsx(MaskedValue, { value: opp.buyer, copy: maskedCopy }), `, ${opp.country}`] })) : opp.buyer ? (_jsx(MaskedValue, { value: opp.buyer, copy: maskedCopy })) : (opp.country) }))] }))] })] }), data.explanation && _jsx("p", { className: "text-sm/5 text-pretty", children: data.explanation }), _jsxs(AgentFieldGrid, { children: [_jsx(AgentField, { label: c.volume, value: data.volume, maskedCopy: maskedCopy }), _jsx(AgentField, { label: c.price, value: data.price, maskedCopy: maskedCopy }), _jsx(AgentField, { label: c.deadline, value: data.deadline, maskedCopy: maskedCopy })] }), days !== undefined && days !== null && days >= 0 && (_jsx("p", { className: "text-xs/4 text-muted-foreground", children: fmt(c.daysLeft, { n: days }) })), _jsx(AgentCardExtras, { data: data, subject: { kind: "match", id: data.matchId }, host: host })] }));
29
+ }
30
+ //# sourceMappingURL=match-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-card.js","sourceRoot":"","sources":["../../../src/agent/role-cards/match-card.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { OfferCardData } from "@cellarnode/agent-cards/zod4";
2
+ import { type AgentRoleCardHostProps } from "./card-kit.js";
3
+ export interface AgentOfferCardCopy {
4
+ title: string;
5
+ product: string;
6
+ opportunity: string;
7
+ counterparty: string;
8
+ price: string;
9
+ volume: string;
10
+ validThrough: string;
11
+ round: string;
12
+ messages: string;
13
+ attachments: string;
14
+ awaitingYou: string;
15
+ awaitingCounterparty: string;
16
+ openOffer: string;
17
+ /** How text written by the other side is set off: `{text}` is the text. */
18
+ quote: string;
19
+ status: Record<OfferCardData["status"], string>;
20
+ }
21
+ export interface AgentOfferCardProps extends AgentRoleCardHostProps {
22
+ data: OfferCardData;
23
+ copy?: Partial<AgentOfferCardCopy>;
24
+ }
25
+ /** @internal Read card for one offer (CEL-2445): status, product, counterparty, terms, who acts next. */
26
+ export declare function AgentOfferCard({ data, copy, ...host }: AgentOfferCardProps): import("react/jsx-runtime").JSX.Element | null;
27
+ //# sourceMappingURL=offer-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-card.d.ts","sourceRoot":"","sources":["../../../src/agent/role-cards/offer-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAKlE,OAAO,EAEL,KAAK,sBAAsB,EAM5B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;CACjD;AAyCD,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpC;AASD,yGAAyG;AACzG,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,mBAAmB,kDAuD1E"}