@alfadocs/ui-kit 0.73.0 → 0.75.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/_chunks/actions-cell-renderer-DLrcSTK_.js +1546 -0
- package/dist/_chunks/{ai-prompt-input-DFm58UjY.js → ai-prompt-input-DziJCGLe.js} +2 -2
- package/dist/_chunks/{audio-recorder-CjAY0GAc.js → audio-recorder-Cc3KuL9y.js} +2 -2
- package/dist/_chunks/{bishop-score-Bs6t6Zv1.js → bishop-score-DDW5-gb9.js} +2 -2
- package/dist/_chunks/{booking-CWnZhZ5g.js → booking-B1Qkcl3c.js} +2 -2
- package/dist/_chunks/{care-plan-card-CfIP3Vc1.js → care-plan-card-BrwhyIJI.js} +2 -2
- package/dist/_chunks/{care-plan-entry-card-CRbS-G00.js → care-plan-entry-card-DWEdCQM3.js} +2 -2
- package/dist/_chunks/data-table-tabs-BEUXiRlu.js +710 -0
- package/dist/_chunks/document-preview-CGSM_au9.js +181 -0
- package/dist/_chunks/{document-scanner-BE6Jz4Ob.js → document-scanner-B6h1Ir56.js} +2 -2
- package/dist/_chunks/{field-value-DCXJXKab.js → field-value-DHG6gEKS.js} +2 -2
- package/dist/_chunks/file-Cwe9VC1A.js +40 -0
- package/dist/_chunks/file-manager-UF8dkQF1.js +1776 -0
- package/dist/_chunks/{file-upload-B2SXhRiN.js → file-upload-DENvuhfs.js} +98 -129
- package/dist/_chunks/{gestational-age-calculator-C9Dfis4I.js → gestational-age-calculator-BpYw-WF-.js} +2 -2
- package/dist/_chunks/{header-settings-CRQDCYgr.js → header-settings-4cwQzeFc.js} +2 -2
- package/dist/_chunks/{icon-picker-BePK27S-.js → icon-picker-CM9ubkew.js} +2 -2
- package/dist/_chunks/link-cell-renderer-BQGUs45d.js +711 -0
- package/dist/_chunks/{locale-picker-Cbfqc0_N.js → locale-picker-GNF3lo8K.js} +2 -2
- package/dist/_chunks/{marketplace-app-shell-Dm6S-hun.js → marketplace-app-shell-D_1tF4La.js} +3 -3
- package/dist/_chunks/{muscle-scheme-B9MIkuj0.js → muscle-scheme-CFBE2dme.js} +6 -14
- package/dist/_chunks/{notes-panel-B_8-Mebz.js → notes-panel-Cvdp818a.js} +2 -2
- package/dist/_chunks/{optical-prescription-BQ75_kf6.js → optical-prescription-BEjYQjiO.js} +2 -2
- package/dist/_chunks/{patient-details-JkOI3Ijd.js → patient-details-DP4wKyq4.js} +3 -3
- package/dist/_chunks/{patient-summary-card-CQOLMH3E.js → patient-summary-card-D6kgdTNn.js} +2 -2
- package/dist/_chunks/{patient-table-B_mOe-ZT.js → patient-table-DweKjiXg.js} +122 -118
- package/dist/_chunks/periodontal-chart-D8hOFmde.js +1173 -0
- package/dist/_chunks/periodontal-diagnosis-cco40xTa.js +345 -0
- package/dist/_chunks/periodontal-risk-chart-bUGkMwDg.js +334 -0
- package/dist/_chunks/{popover-DGTKfLWh.js → popover-Cc0a69sw.js} +31 -28
- package/dist/_chunks/{pregnancy-dating-IsDVfqJX.js → pregnancy-dating-msMl_6wz.js} +2 -2
- package/dist/_chunks/{radiograph-panel.agent-e488ooH8.js → radiograph-panel.agent-CxF9pVxd.js} +2 -2
- package/dist/_chunks/{rich-text-editor-CgA2bYwi.js → rich-text-editor-CCWjNkbx.js} +186 -177
- package/dist/_chunks/{select-BmCbJMJS.js → select-BW5ecXlX.js} +13 -13
- package/dist/_chunks/{sidebar-CtU35PIX.js → sidebar-C0PbwJBc.js} +357 -320
- package/dist/_chunks/signature-request-C-mskXwi.js +318 -0
- package/dist/_chunks/{tabs-DVQ941Sj.js → tabs-CVTukWRD.js} +2 -2
- package/dist/_chunks/{tasks-panel-LCK5ZXvU.js → tasks-panel-CjGAhIN8.js} +2 -2
- package/dist/_chunks/tooth-data-BwuoKFf4.js +660 -0
- package/dist/_chunks/tooth-scheme-BzJ6rcte.js +1483 -0
- package/dist/_chunks/{unit-converter-3uL_tMCm.js → unit-converter-CSLWFDQh.js} +2 -2
- package/dist/agent-catalog.json +1282 -213
- package/dist/agent-i18n/en.json +84 -5
- package/dist/components/_shared/entity-card/entity-card.d.ts +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/anamnesis-card/anamnesis-card.d.ts +1 -1
- package/dist/components/appointment-card/appointment-card.d.ts +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/card/card.d.ts +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/clinical-note-card/clinical-note-card.d.ts +1 -1
- package/dist/components/contact-profile-card/contact-profile-card.d.ts +1 -1
- package/dist/components/data-table/index.js +35 -34
- package/dist/components/data-table/toolbar.d.ts +1 -1
- package/dist/components/data-table-tabs/data-table-tabs.agent.d.ts +4 -0
- package/dist/components/data-table-tabs/data-table-tabs.d.ts +93 -0
- package/dist/components/data-table-tabs/index.d.ts +5 -0
- package/dist/components/data-table-tabs/index.js +8 -0
- package/dist/components/data-table-tabs/use-data-table-filter-tabs.d.ts +63 -0
- package/dist/components/document-preview/document-preview.agent.d.ts +4 -0
- package/dist/components/document-preview/document-preview.d.ts +41 -0
- package/dist/components/document-preview/index.d.ts +4 -0
- package/dist/components/document-preview/index.js +6 -0
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/file-manager/dialogs.d.ts +48 -0
- package/dist/components/file-manager/file-manager.agent.d.ts +4 -0
- package/dist/components/file-manager/file-manager.d.ts +82 -0
- package/dist/components/file-manager/folder-tree.d.ts +12 -0
- package/dist/components/file-manager/index.d.ts +5 -0
- package/dist/components/file-manager/index.js +6 -0
- package/dist/components/file-manager/list-view.d.ts +49 -0
- package/dist/components/file-manager/toolbar.d.ts +15 -0
- package/dist/components/file-manager/types.d.ts +167 -0
- package/dist/components/file-manager/utils.d.ts +34 -0
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/icon-picker/index.js +1 -1
- package/dist/components/index.d.ts +7 -0
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/message-card/message-card.d.ts +1 -1
- package/dist/components/muscle-scheme/index.js +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notification-card/notification-card.d.ts +1 -1
- package/dist/components/operator-hero/operator-hero.d.ts +1 -1
- package/dist/components/optical-prescription/index.js +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-summary-card/patient-summary-card.d.ts +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/payment-card/payment-card.d.ts +1 -1
- package/dist/components/payment-card/payment-request-card.d.ts +1 -1
- package/dist/components/periodontal-chart/index.d.ts +6 -0
- package/dist/components/periodontal-chart/index.js +22 -0
- package/dist/components/periodontal-chart/periodontal-chart-data.d.ts +119 -0
- package/dist/components/periodontal-chart/periodontal-chart.agent.d.ts +4 -0
- package/dist/components/periodontal-chart/periodontal-chart.d.ts +69 -0
- package/dist/components/periodontal-chart-card/periodontal-chart-card.d.ts +1 -1
- package/dist/components/periodontal-diagnosis/index.d.ts +6 -0
- package/dist/components/periodontal-diagnosis/index.js +13 -0
- package/dist/components/periodontal-diagnosis/periodontal-diagnosis-data.d.ts +30 -0
- package/dist/components/periodontal-diagnosis/periodontal-diagnosis.agent.d.ts +4 -0
- package/dist/components/periodontal-diagnosis/periodontal-diagnosis.d.ts +44 -0
- package/dist/components/periodontal-risk-chart/index.d.ts +6 -0
- package/dist/components/periodontal-risk-chart/index.js +9 -0
- package/dist/components/periodontal-risk-chart/periodontal-risk-chart.agent.d.ts +4 -0
- package/dist/components/periodontal-risk-chart/periodontal-risk-chart.d.ts +28 -0
- package/dist/components/periodontal-risk-chart/periodontal-risk-data.d.ts +47 -0
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/popover.d.ts +1 -0
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/product-hub-tray/product-hub-panel.d.ts +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sidebar/sidebar.d.ts +9 -0
- package/dist/components/skeleton-scheme/index.js +5 -13
- package/dist/components/stat/stat.d.ts +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tasks-panel/index.js +1 -1
- package/dist/components/tooth-scheme/index.js +29 -28
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +320 -0
- package/dist/i18n/locales/ar.js +320 -0
- package/dist/i18n/locales/de.d.ts +320 -0
- package/dist/i18n/locales/de.js +320 -0
- package/dist/i18n/locales/el.d.ts +320 -0
- package/dist/i18n/locales/el.js +320 -0
- package/dist/i18n/locales/en.d.ts +320 -0
- package/dist/i18n/locales/en.js +320 -0
- package/dist/i18n/locales/es.d.ts +320 -0
- package/dist/i18n/locales/es.js +320 -0
- package/dist/i18n/locales/fr.d.ts +320 -0
- package/dist/i18n/locales/fr.js +320 -0
- package/dist/i18n/locales/hi.d.ts +320 -0
- package/dist/i18n/locales/hi.js +320 -0
- package/dist/i18n/locales/it.d.ts +320 -0
- package/dist/i18n/locales/it.js +320 -0
- package/dist/i18n/locales/ja.d.ts +320 -0
- package/dist/i18n/locales/ja.js +320 -0
- package/dist/i18n/locales/nl.d.ts +320 -0
- package/dist/i18n/locales/nl.js +320 -0
- package/dist/i18n/locales/pl.d.ts +320 -0
- package/dist/i18n/locales/pl.js +320 -0
- package/dist/i18n/locales/pt.d.ts +320 -0
- package/dist/i18n/locales/pt.js +320 -0
- package/dist/i18n/locales/ro.d.ts +320 -0
- package/dist/i18n/locales/ro.js +320 -0
- package/dist/i18n/locales/ru.d.ts +320 -0
- package/dist/i18n/locales/ru.js +320 -0
- package/dist/i18n/locales/sq.d.ts +320 -0
- package/dist/i18n/locales/sq.js +320 -0
- package/dist/i18n/locales/sv.d.ts +320 -0
- package/dist/i18n/locales/sv.js +320 -0
- package/dist/i18n/locales/tr.d.ts +320 -0
- package/dist/i18n/locales/tr.js +320 -0
- package/dist/i18n/locales/zh.d.ts +320 -0
- package/dist/i18n/locales/zh.js +320 -0
- package/dist/index.js +832 -782
- package/dist/locales/ar.json +320 -0
- package/dist/locales/de.json +320 -0
- package/dist/locales/el.json +320 -0
- package/dist/locales/en.json +320 -0
- package/dist/locales/es.json +320 -0
- package/dist/locales/fr.json +320 -0
- package/dist/locales/hi.json +320 -0
- package/dist/locales/it.json +320 -0
- package/dist/locales/ja.json +320 -0
- package/dist/locales/nl.json +320 -0
- package/dist/locales/pl.json +320 -0
- package/dist/locales/pt.json +320 -0
- package/dist/locales/ro.json +320 -0
- package/dist/locales/ru.json +320 -0
- package/dist/locales/sq.json +320 -0
- package/dist/locales/sv.json +320 -0
- package/dist/locales/tr.json +320 -0
- package/dist/locales/zh.json +320 -0
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/signature-request/index.d.ts +3 -0
- package/dist/patterns/signature-request/index.js +5 -0
- package/dist/patterns/signature-request/signature-request.d.ts +81 -0
- package/dist/tokens.css +1 -1
- package/package.json +29 -1
- package/dist/_chunks/columns-2-8lq4-b8e.js +0 -15
- package/dist/_chunks/link-cell-renderer-CLI7sBkX.js +0 -2210
- package/dist/_chunks/tooth-scheme-CX49GycY.js +0 -2133
package/dist/agent-catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"packageVersion": "0.
|
|
3
|
+
"packageVersion": "0.75.0",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "component",
|
|
@@ -3048,6 +3048,156 @@
|
|
|
3048
3048
|
}
|
|
3049
3049
|
}
|
|
3050
3050
|
},
|
|
3051
|
+
{
|
|
3052
|
+
"kind": "component",
|
|
3053
|
+
"id": "data-table-tabs",
|
|
3054
|
+
"capabilities": [
|
|
3055
|
+
"select_single",
|
|
3056
|
+
"view_change"
|
|
3057
|
+
],
|
|
3058
|
+
"state": [
|
|
3059
|
+
{
|
|
3060
|
+
"name": "activeTabId",
|
|
3061
|
+
"type": "string | null",
|
|
3062
|
+
"description": "Id of the currently-active saved-filter tab.",
|
|
3063
|
+
"descriptionKey": "ui.agent.dataTableTabs.state.activeTabId"
|
|
3064
|
+
},
|
|
3065
|
+
{
|
|
3066
|
+
"name": "tabs",
|
|
3067
|
+
"type": "Array<{ id, label }>",
|
|
3068
|
+
"description": "The saved-filter tabs, in strip order (ids + labels).",
|
|
3069
|
+
"descriptionKey": "ui.agent.dataTableTabs.state.tabs"
|
|
3070
|
+
}
|
|
3071
|
+
],
|
|
3072
|
+
"actions": [
|
|
3073
|
+
{
|
|
3074
|
+
"name": "select_tab",
|
|
3075
|
+
"safety": "read",
|
|
3076
|
+
"argsType": "{ id: string }",
|
|
3077
|
+
"argsSchema": {
|
|
3078
|
+
"type": "object",
|
|
3079
|
+
"properties": {
|
|
3080
|
+
"id": {
|
|
3081
|
+
"type": "string",
|
|
3082
|
+
"description": "Tab id to activate."
|
|
3083
|
+
}
|
|
3084
|
+
},
|
|
3085
|
+
"required": [
|
|
3086
|
+
"id"
|
|
3087
|
+
]
|
|
3088
|
+
},
|
|
3089
|
+
"idempotent": true,
|
|
3090
|
+
"description": "Activate a saved-filter tab: snapshots the outgoing tab, applies the incoming filter model to the table.",
|
|
3091
|
+
"descriptionKey": "ui.agent.dataTableTabs.actions.selectTab"
|
|
3092
|
+
},
|
|
3093
|
+
{
|
|
3094
|
+
"name": "get_tabs",
|
|
3095
|
+
"safety": "read",
|
|
3096
|
+
"returns": "Array<{ id: string, label: string }>",
|
|
3097
|
+
"returnsSchema": {
|
|
3098
|
+
"type": "array",
|
|
3099
|
+
"items": {
|
|
3100
|
+
"type": "object",
|
|
3101
|
+
"properties": {
|
|
3102
|
+
"id": {
|
|
3103
|
+
"type": "string"
|
|
3104
|
+
},
|
|
3105
|
+
"label": {
|
|
3106
|
+
"type": "string"
|
|
3107
|
+
}
|
|
3108
|
+
},
|
|
3109
|
+
"required": [
|
|
3110
|
+
"id",
|
|
3111
|
+
"label"
|
|
3112
|
+
]
|
|
3113
|
+
}
|
|
3114
|
+
},
|
|
3115
|
+
"idempotent": true,
|
|
3116
|
+
"description": "Return the saved-filter tabs (ids + labels) in order.",
|
|
3117
|
+
"descriptionKey": "ui.agent.dataTableTabs.actions.getTabs"
|
|
3118
|
+
},
|
|
3119
|
+
{
|
|
3120
|
+
"name": "add_tab",
|
|
3121
|
+
"safety": "write",
|
|
3122
|
+
"argsType": "{ label?: string }",
|
|
3123
|
+
"argsSchema": {
|
|
3124
|
+
"type": "object",
|
|
3125
|
+
"properties": {
|
|
3126
|
+
"label": {
|
|
3127
|
+
"type": "string",
|
|
3128
|
+
"description": "Display name for the new tab. Defaults to a numbered name."
|
|
3129
|
+
}
|
|
3130
|
+
},
|
|
3131
|
+
"required": []
|
|
3132
|
+
},
|
|
3133
|
+
"returns": "string",
|
|
3134
|
+
"returnsSchema": {
|
|
3135
|
+
"type": "string"
|
|
3136
|
+
},
|
|
3137
|
+
"idempotent": false,
|
|
3138
|
+
"description": "Add a new tab capturing the table's current filter model, and activate it. Returns the new tab id.",
|
|
3139
|
+
"descriptionKey": "ui.agent.dataTableTabs.actions.addTab"
|
|
3140
|
+
},
|
|
3141
|
+
{
|
|
3142
|
+
"name": "rename_tab",
|
|
3143
|
+
"safety": "write",
|
|
3144
|
+
"argsType": "{ id: string, label: string }",
|
|
3145
|
+
"argsSchema": {
|
|
3146
|
+
"type": "object",
|
|
3147
|
+
"properties": {
|
|
3148
|
+
"id": {
|
|
3149
|
+
"type": "string",
|
|
3150
|
+
"description": "Tab id to rename."
|
|
3151
|
+
},
|
|
3152
|
+
"label": {
|
|
3153
|
+
"type": "string",
|
|
3154
|
+
"description": "New display name."
|
|
3155
|
+
}
|
|
3156
|
+
},
|
|
3157
|
+
"required": [
|
|
3158
|
+
"id",
|
|
3159
|
+
"label"
|
|
3160
|
+
]
|
|
3161
|
+
},
|
|
3162
|
+
"idempotent": true,
|
|
3163
|
+
"description": "Rename a saved-filter tab. No-op on locked tabs and empty labels.",
|
|
3164
|
+
"descriptionKey": "ui.agent.dataTableTabs.actions.renameTab"
|
|
3165
|
+
},
|
|
3166
|
+
{
|
|
3167
|
+
"name": "remove_tab",
|
|
3168
|
+
"safety": "destructive",
|
|
3169
|
+
"argsType": "{ id: string }",
|
|
3170
|
+
"argsSchema": {
|
|
3171
|
+
"type": "object",
|
|
3172
|
+
"properties": {
|
|
3173
|
+
"id": {
|
|
3174
|
+
"type": "string",
|
|
3175
|
+
"description": "Tab id to remove."
|
|
3176
|
+
}
|
|
3177
|
+
},
|
|
3178
|
+
"required": [
|
|
3179
|
+
"id"
|
|
3180
|
+
]
|
|
3181
|
+
},
|
|
3182
|
+
"idempotent": true,
|
|
3183
|
+
"description": "Remove a saved-filter tab (its saved filter is lost). No-op on locked tabs and the last remaining tab.",
|
|
3184
|
+
"descriptionKey": "ui.agent.dataTableTabs.actions.removeTab"
|
|
3185
|
+
}
|
|
3186
|
+
],
|
|
3187
|
+
"domHooks": {
|
|
3188
|
+
"root": {
|
|
3189
|
+
"attr": "data-component",
|
|
3190
|
+
"value": "data-table-tabs"
|
|
3191
|
+
},
|
|
3192
|
+
"instanceId": {
|
|
3193
|
+
"attr": "data-component-id",
|
|
3194
|
+
"sourceProp": "id"
|
|
3195
|
+
},
|
|
3196
|
+
"item": {
|
|
3197
|
+
"attr": "data-tab-id"
|
|
3198
|
+
}
|
|
3199
|
+
}
|
|
3200
|
+
},
|
|
3051
3201
|
{
|
|
3052
3202
|
"kind": "component",
|
|
3053
3203
|
"id": "date-picker",
|
|
@@ -3444,6 +3594,47 @@
|
|
|
3444
3594
|
}
|
|
3445
3595
|
}
|
|
3446
3596
|
},
|
|
3597
|
+
{
|
|
3598
|
+
"kind": "component",
|
|
3599
|
+
"id": "document-preview",
|
|
3600
|
+
"capabilities": [],
|
|
3601
|
+
"state": [
|
|
3602
|
+
{
|
|
3603
|
+
"name": "kind",
|
|
3604
|
+
"type": "'pdf' | 'image' | 'metadata' | 'empty'",
|
|
3605
|
+
"description": "Which render branch is active: pdf, image, metadata (no inline preview), or empty (no document). Structural — never the document name.",
|
|
3606
|
+
"descriptionKey": "ui.agent.documentPreview.state.kind"
|
|
3607
|
+
}
|
|
3608
|
+
],
|
|
3609
|
+
"actions": [
|
|
3610
|
+
{
|
|
3611
|
+
"name": "get_name",
|
|
3612
|
+
"safety": "phi",
|
|
3613
|
+
"returns": "string | undefined",
|
|
3614
|
+
"returnsSchema": {
|
|
3615
|
+
"type": [
|
|
3616
|
+
"string",
|
|
3617
|
+
"null"
|
|
3618
|
+
]
|
|
3619
|
+
},
|
|
3620
|
+
"idempotent": true,
|
|
3621
|
+
"description": "Read the display name of the previewed document. May identify a patient (PHI).",
|
|
3622
|
+
"descriptionKey": "ui.agent.documentPreview.actions.getName"
|
|
3623
|
+
}
|
|
3624
|
+
],
|
|
3625
|
+
"domHooks": {
|
|
3626
|
+
"root": {
|
|
3627
|
+
"attr": "data-component",
|
|
3628
|
+
"value": "document-preview",
|
|
3629
|
+
"description": "Marks the DocumentPreview region."
|
|
3630
|
+
},
|
|
3631
|
+
"instanceId": {
|
|
3632
|
+
"attr": "data-component-id",
|
|
3633
|
+
"sourceProp": "id",
|
|
3634
|
+
"description": "Sourced from the id prop."
|
|
3635
|
+
}
|
|
3636
|
+
}
|
|
3637
|
+
},
|
|
3447
3638
|
{
|
|
3448
3639
|
"kind": "component",
|
|
3449
3640
|
"id": "document-scanner",
|
|
@@ -4237,125 +4428,404 @@
|
|
|
4237
4428
|
},
|
|
4238
4429
|
{
|
|
4239
4430
|
"kind": "component",
|
|
4240
|
-
"id": "file-
|
|
4431
|
+
"id": "file-manager",
|
|
4241
4432
|
"capabilities": [
|
|
4242
|
-
"
|
|
4433
|
+
"select_multiple",
|
|
4434
|
+
"navigate",
|
|
4435
|
+
"filter",
|
|
4436
|
+
"open"
|
|
4243
4437
|
],
|
|
4244
4438
|
"state": [
|
|
4245
4439
|
{
|
|
4246
|
-
"name": "
|
|
4247
|
-
"type": "
|
|
4248
|
-
"description": "
|
|
4249
|
-
"descriptionKey": "ui.agent.
|
|
4440
|
+
"name": "selection",
|
|
4441
|
+
"type": "string[]",
|
|
4442
|
+
"description": "Item ids of the currently-selected files and folders.",
|
|
4443
|
+
"descriptionKey": "ui.agent.fileManager.state.selection"
|
|
4444
|
+
},
|
|
4445
|
+
{
|
|
4446
|
+
"name": "currentFolder",
|
|
4447
|
+
"type": "string | null",
|
|
4448
|
+
"description": "Id of the folder being viewed, or null for the root.",
|
|
4449
|
+
"descriptionKey": "ui.agent.fileManager.state.currentFolder"
|
|
4450
|
+
},
|
|
4451
|
+
{
|
|
4452
|
+
"name": "typeFilter",
|
|
4453
|
+
"type": "string[]",
|
|
4454
|
+
"description": "Active document-type filter applied to the open folder (empty = no filter).",
|
|
4455
|
+
"descriptionKey": "ui.agent.fileManager.state.typeFilter"
|
|
4456
|
+
},
|
|
4457
|
+
{
|
|
4458
|
+
"name": "items",
|
|
4459
|
+
"type": "Array<{ id, kind, parentId, size, updatedAt, documentType, signatureStatus }>",
|
|
4460
|
+
"description": "Structural metadata for every item — ids, kinds, sizes, dates, document types, signature states. Names are PHI and never included; read them via get_item_names.",
|
|
4461
|
+
"descriptionKey": "ui.agent.fileManager.state.items"
|
|
4462
|
+
},
|
|
4463
|
+
{
|
|
4464
|
+
"name": "activeAction",
|
|
4465
|
+
"type": "'none' | 'create-folder' | 'rename' | 'delete' | 'move'",
|
|
4466
|
+
"description": "The single in-flight action dialog. Only one action can be active at a time.",
|
|
4467
|
+
"descriptionKey": "ui.agent.fileManager.state.activeAction"
|
|
4250
4468
|
}
|
|
4251
4469
|
],
|
|
4252
4470
|
"actions": [
|
|
4253
4471
|
{
|
|
4254
|
-
"name": "
|
|
4255
|
-
"safety": "
|
|
4256
|
-
"argsType": "{
|
|
4472
|
+
"name": "select_items",
|
|
4473
|
+
"safety": "read",
|
|
4474
|
+
"argsType": "{ ids: string[] }",
|
|
4257
4475
|
"argsSchema": {
|
|
4258
4476
|
"type": "object",
|
|
4259
4477
|
"properties": {
|
|
4260
|
-
"
|
|
4261
|
-
"type": "
|
|
4262
|
-
"
|
|
4478
|
+
"ids": {
|
|
4479
|
+
"type": "array",
|
|
4480
|
+
"items": {
|
|
4481
|
+
"type": "string"
|
|
4482
|
+
},
|
|
4483
|
+
"description": "Item ids to select (replaces the current selection)."
|
|
4263
4484
|
}
|
|
4264
4485
|
},
|
|
4265
4486
|
"required": [
|
|
4266
|
-
"
|
|
4487
|
+
"ids"
|
|
4267
4488
|
]
|
|
4268
4489
|
},
|
|
4269
4490
|
"idempotent": true,
|
|
4270
4491
|
"examples": [
|
|
4271
4492
|
{
|
|
4272
4493
|
"args": {
|
|
4273
|
-
"
|
|
4494
|
+
"ids": [
|
|
4495
|
+
"doc-1",
|
|
4496
|
+
"doc-2"
|
|
4497
|
+
]
|
|
4274
4498
|
},
|
|
4275
|
-
"note": "
|
|
4499
|
+
"note": "Select two items."
|
|
4276
4500
|
}
|
|
4277
4501
|
],
|
|
4278
|
-
"description": "
|
|
4279
|
-
"descriptionKey": "ui.agent.
|
|
4502
|
+
"description": "Replace the current selection with the given item ids.",
|
|
4503
|
+
"descriptionKey": "ui.agent.fileManager.actions.selectItems"
|
|
4280
4504
|
},
|
|
4281
4505
|
{
|
|
4282
|
-
"name": "
|
|
4283
|
-
"safety": "
|
|
4506
|
+
"name": "clear_selection",
|
|
4507
|
+
"safety": "read",
|
|
4284
4508
|
"idempotent": true,
|
|
4285
|
-
"description": "
|
|
4286
|
-
"descriptionKey": "ui.agent.
|
|
4287
|
-
}
|
|
4288
|
-
],
|
|
4289
|
-
"domHooks": {
|
|
4290
|
-
"root": {
|
|
4291
|
-
"attr": "data-component",
|
|
4292
|
-
"value": "file-upload"
|
|
4293
|
-
},
|
|
4294
|
-
"instanceId": {
|
|
4295
|
-
"attr": "data-component-id",
|
|
4296
|
-
"sourceProp": "id",
|
|
4297
|
-
"description": "Sourced from the id prop."
|
|
4298
|
-
},
|
|
4299
|
-
"item": {
|
|
4300
|
-
"attr": "data-file-id",
|
|
4301
|
-
"description": "Each tracked file emits its id as data-file-id."
|
|
4302
|
-
}
|
|
4303
|
-
}
|
|
4304
|
-
},
|
|
4305
|
-
{
|
|
4306
|
-
"kind": "component",
|
|
4307
|
-
"id": "finished-terminal",
|
|
4308
|
-
"capabilities": [],
|
|
4309
|
-
"state": [],
|
|
4310
|
-
"actions": [],
|
|
4311
|
-
"domHooks": {
|
|
4312
|
-
"root": {
|
|
4313
|
-
"attr": "data-component",
|
|
4314
|
-
"value": "finished-terminal",
|
|
4315
|
-
"description": "Marks the element as a kit FinishedTerminal."
|
|
4316
|
-
}
|
|
4317
|
-
}
|
|
4318
|
-
},
|
|
4319
|
-
{
|
|
4320
|
-
"kind": "component",
|
|
4321
|
-
"id": "fiscal-code-input",
|
|
4322
|
-
"capabilities": [
|
|
4323
|
-
"set_value"
|
|
4324
|
-
],
|
|
4325
|
-
"state": [
|
|
4326
|
-
{
|
|
4327
|
-
"name": "value",
|
|
4328
|
-
"type": "string",
|
|
4329
|
-
"description": "Current codice fiscale, normalised (uppercased, 0–16 [A-Z0-9] characters).",
|
|
4330
|
-
"descriptionKey": "ui.agent.fiscalCodeInput.state.value"
|
|
4509
|
+
"description": "Deselect every item.",
|
|
4510
|
+
"descriptionKey": "ui.agent.fileManager.actions.clearSelection"
|
|
4331
4511
|
},
|
|
4332
4512
|
{
|
|
4333
|
-
"name": "
|
|
4334
|
-
"
|
|
4335
|
-
"
|
|
4336
|
-
"descriptionKey": "ui.agent.fiscalCodeInput.state.isValid"
|
|
4337
|
-
}
|
|
4338
|
-
],
|
|
4339
|
-
"actions": [
|
|
4340
|
-
{
|
|
4341
|
-
"name": "set_value",
|
|
4342
|
-
"safety": "write",
|
|
4343
|
-
"argsType": "{ value: string }",
|
|
4513
|
+
"name": "navigate",
|
|
4514
|
+
"safety": "read",
|
|
4515
|
+
"argsType": "{ folderId: string | null }",
|
|
4344
4516
|
"argsSchema": {
|
|
4345
4517
|
"type": "object",
|
|
4346
4518
|
"properties": {
|
|
4347
|
-
"
|
|
4348
|
-
"type":
|
|
4519
|
+
"folderId": {
|
|
4520
|
+
"type": [
|
|
4521
|
+
"string",
|
|
4522
|
+
"null"
|
|
4523
|
+
],
|
|
4524
|
+
"description": "Folder id to open, or null for the root."
|
|
4349
4525
|
}
|
|
4350
4526
|
},
|
|
4351
4527
|
"required": [
|
|
4352
|
-
"
|
|
4528
|
+
"folderId"
|
|
4353
4529
|
]
|
|
4354
4530
|
},
|
|
4355
4531
|
"idempotent": true,
|
|
4356
|
-
"
|
|
4357
|
-
|
|
4358
|
-
|
|
4532
|
+
"description": "Open the given folder (null for the root). Clears the current selection.",
|
|
4533
|
+
"descriptionKey": "ui.agent.fileManager.actions.navigate"
|
|
4534
|
+
},
|
|
4535
|
+
{
|
|
4536
|
+
"name": "set_type_filter",
|
|
4537
|
+
"safety": "read",
|
|
4538
|
+
"argsType": "{ documentTypes: string[] }",
|
|
4539
|
+
"argsSchema": {
|
|
4540
|
+
"type": "object",
|
|
4541
|
+
"properties": {
|
|
4542
|
+
"documentTypes": {
|
|
4543
|
+
"type": "array",
|
|
4544
|
+
"items": {
|
|
4545
|
+
"type": "string"
|
|
4546
|
+
},
|
|
4547
|
+
"description": "Document-type values to keep. Empty array clears the filter."
|
|
4548
|
+
}
|
|
4549
|
+
},
|
|
4550
|
+
"required": [
|
|
4551
|
+
"documentTypes"
|
|
4552
|
+
]
|
|
4553
|
+
},
|
|
4554
|
+
"idempotent": true,
|
|
4555
|
+
"description": "Filter the open folder to the given document types (empty clears the filter).",
|
|
4556
|
+
"descriptionKey": "ui.agent.fileManager.actions.setTypeFilter"
|
|
4557
|
+
},
|
|
4558
|
+
{
|
|
4559
|
+
"name": "open_item",
|
|
4560
|
+
"safety": "read",
|
|
4561
|
+
"argsType": "{ id: string }",
|
|
4562
|
+
"argsSchema": {
|
|
4563
|
+
"type": "object",
|
|
4564
|
+
"properties": {
|
|
4565
|
+
"id": {
|
|
4566
|
+
"type": "string",
|
|
4567
|
+
"description": "Item id — folders navigate, files open via the host."
|
|
4568
|
+
}
|
|
4569
|
+
},
|
|
4570
|
+
"required": [
|
|
4571
|
+
"id"
|
|
4572
|
+
]
|
|
4573
|
+
},
|
|
4574
|
+
"openWorld": true,
|
|
4575
|
+
"description": "Open an item: folders navigate into the folder, files resolve through the host preview callback.",
|
|
4576
|
+
"descriptionKey": "ui.agent.fileManager.actions.openItem"
|
|
4577
|
+
},
|
|
4578
|
+
{
|
|
4579
|
+
"name": "list_items",
|
|
4580
|
+
"safety": "read",
|
|
4581
|
+
"argsType": "{ folderId?: string | null }",
|
|
4582
|
+
"argsSchema": {
|
|
4583
|
+
"type": "object",
|
|
4584
|
+
"properties": {
|
|
4585
|
+
"folderId": {
|
|
4586
|
+
"type": [
|
|
4587
|
+
"string",
|
|
4588
|
+
"null"
|
|
4589
|
+
],
|
|
4590
|
+
"description": "Folder whose children to list (null = root). Omit for every item."
|
|
4591
|
+
}
|
|
4592
|
+
}
|
|
4593
|
+
},
|
|
4594
|
+
"returns": "Array<{ id, kind, parentId, size, updatedAt }>",
|
|
4595
|
+
"returnsSchema": {
|
|
4596
|
+
"type": "array",
|
|
4597
|
+
"items": {
|
|
4598
|
+
"type": "object",
|
|
4599
|
+
"properties": {
|
|
4600
|
+
"id": {
|
|
4601
|
+
"type": "string"
|
|
4602
|
+
},
|
|
4603
|
+
"kind": {
|
|
4604
|
+
"enum": [
|
|
4605
|
+
"file",
|
|
4606
|
+
"folder"
|
|
4607
|
+
]
|
|
4608
|
+
},
|
|
4609
|
+
"parentId": {
|
|
4610
|
+
"type": [
|
|
4611
|
+
"string",
|
|
4612
|
+
"null"
|
|
4613
|
+
],
|
|
4614
|
+
"description": "Parent folder id, null at the root."
|
|
4615
|
+
},
|
|
4616
|
+
"size": {
|
|
4617
|
+
"type": "number",
|
|
4618
|
+
"description": "Bytes — files only."
|
|
4619
|
+
},
|
|
4620
|
+
"updatedAt": {
|
|
4621
|
+
"type": "string",
|
|
4622
|
+
"description": "ISO 8601 timestamp."
|
|
4623
|
+
},
|
|
4624
|
+
"documentType": {
|
|
4625
|
+
"type": "string",
|
|
4626
|
+
"description": "Document-type category (non-identifying)."
|
|
4627
|
+
},
|
|
4628
|
+
"signatureStatus": {
|
|
4629
|
+
"enum": [
|
|
4630
|
+
"none",
|
|
4631
|
+
"pending",
|
|
4632
|
+
"signed"
|
|
4633
|
+
],
|
|
4634
|
+
"description": "Signature workflow state."
|
|
4635
|
+
}
|
|
4636
|
+
},
|
|
4637
|
+
"required": [
|
|
4638
|
+
"id",
|
|
4639
|
+
"kind",
|
|
4640
|
+
"parentId"
|
|
4641
|
+
]
|
|
4642
|
+
}
|
|
4643
|
+
},
|
|
4644
|
+
"idempotent": true,
|
|
4645
|
+
"description": "List structural metadata (ids, kinds, sizes, dates — never names) for a folder or the whole tree.",
|
|
4646
|
+
"descriptionKey": "ui.agent.fileManager.actions.listItems"
|
|
4647
|
+
},
|
|
4648
|
+
{
|
|
4649
|
+
"name": "get_item_names",
|
|
4650
|
+
"safety": "phi",
|
|
4651
|
+
"argsType": "{ ids: string[] }",
|
|
4652
|
+
"argsSchema": {
|
|
4653
|
+
"type": "object",
|
|
4654
|
+
"properties": {
|
|
4655
|
+
"ids": {
|
|
4656
|
+
"type": "array",
|
|
4657
|
+
"items": {
|
|
4658
|
+
"type": "string"
|
|
4659
|
+
},
|
|
4660
|
+
"description": "Item ids whose display names to read."
|
|
4661
|
+
}
|
|
4662
|
+
},
|
|
4663
|
+
"required": [
|
|
4664
|
+
"ids"
|
|
4665
|
+
]
|
|
4666
|
+
},
|
|
4667
|
+
"returns": "Array<{ id: string; name: string }>",
|
|
4668
|
+
"returnsSchema": {
|
|
4669
|
+
"type": "array",
|
|
4670
|
+
"items": {
|
|
4671
|
+
"type": "object",
|
|
4672
|
+
"properties": {
|
|
4673
|
+
"id": {
|
|
4674
|
+
"type": "string"
|
|
4675
|
+
},
|
|
4676
|
+
"name": {
|
|
4677
|
+
"type": "string"
|
|
4678
|
+
}
|
|
4679
|
+
},
|
|
4680
|
+
"required": [
|
|
4681
|
+
"id",
|
|
4682
|
+
"name"
|
|
4683
|
+
]
|
|
4684
|
+
}
|
|
4685
|
+
},
|
|
4686
|
+
"idempotent": true,
|
|
4687
|
+
"description": "Read the display names for the given item ids. Names may identify patients (PHI).",
|
|
4688
|
+
"descriptionKey": "ui.agent.fileManager.actions.getItemNames"
|
|
4689
|
+
}
|
|
4690
|
+
],
|
|
4691
|
+
"domHooks": {
|
|
4692
|
+
"root": {
|
|
4693
|
+
"attr": "data-component",
|
|
4694
|
+
"value": "file-manager",
|
|
4695
|
+
"description": "Marks the FileManager region."
|
|
4696
|
+
},
|
|
4697
|
+
"instanceId": {
|
|
4698
|
+
"attr": "data-component-id",
|
|
4699
|
+
"sourceProp": "id",
|
|
4700
|
+
"description": "Sourced from the id prop."
|
|
4701
|
+
},
|
|
4702
|
+
"item": {
|
|
4703
|
+
"attr": "data-item-id",
|
|
4704
|
+
"description": "Grid cards and folder-tree nodes carry the item id as data-item-id (ids only — never names). List-view rows are AG Grid rows inside the composed DataTable and carry its native row-id attribute keyed to the same ids."
|
|
4705
|
+
}
|
|
4706
|
+
}
|
|
4707
|
+
},
|
|
4708
|
+
{
|
|
4709
|
+
"kind": "component",
|
|
4710
|
+
"id": "file-upload",
|
|
4711
|
+
"capabilities": [
|
|
4712
|
+
"dismiss"
|
|
4713
|
+
],
|
|
4714
|
+
"state": [
|
|
4715
|
+
{
|
|
4716
|
+
"name": "files",
|
|
4717
|
+
"type": "Array<{ id, name, size, status }>",
|
|
4718
|
+
"description": "Files currently tracked by the uploader. Identifiers and metadata only — never file content.",
|
|
4719
|
+
"descriptionKey": "ui.agent.fileUpload.state.files"
|
|
4720
|
+
}
|
|
4721
|
+
],
|
|
4722
|
+
"actions": [
|
|
4723
|
+
{
|
|
4724
|
+
"name": "remove_file",
|
|
4725
|
+
"safety": "destructive",
|
|
4726
|
+
"argsType": "{ id: string }",
|
|
4727
|
+
"argsSchema": {
|
|
4728
|
+
"type": "object",
|
|
4729
|
+
"properties": {
|
|
4730
|
+
"id": {
|
|
4731
|
+
"type": "string",
|
|
4732
|
+
"description": "Id of the tracked file to remove (data-file-id)."
|
|
4733
|
+
}
|
|
4734
|
+
},
|
|
4735
|
+
"required": [
|
|
4736
|
+
"id"
|
|
4737
|
+
]
|
|
4738
|
+
},
|
|
4739
|
+
"idempotent": true,
|
|
4740
|
+
"examples": [
|
|
4741
|
+
{
|
|
4742
|
+
"args": {
|
|
4743
|
+
"id": "file-1"
|
|
4744
|
+
},
|
|
4745
|
+
"note": "Remove the first tracked file."
|
|
4746
|
+
}
|
|
4747
|
+
],
|
|
4748
|
+
"description": "Remove the file with the given id from the upload list.",
|
|
4749
|
+
"descriptionKey": "ui.agent.fileUpload.actions.removeFile"
|
|
4750
|
+
},
|
|
4751
|
+
{
|
|
4752
|
+
"name": "clear",
|
|
4753
|
+
"safety": "destructive",
|
|
4754
|
+
"idempotent": true,
|
|
4755
|
+
"description": "Remove all files from the upload list.",
|
|
4756
|
+
"descriptionKey": "ui.agent.fileUpload.actions.clear"
|
|
4757
|
+
}
|
|
4758
|
+
],
|
|
4759
|
+
"domHooks": {
|
|
4760
|
+
"root": {
|
|
4761
|
+
"attr": "data-component",
|
|
4762
|
+
"value": "file-upload"
|
|
4763
|
+
},
|
|
4764
|
+
"instanceId": {
|
|
4765
|
+
"attr": "data-component-id",
|
|
4766
|
+
"sourceProp": "id",
|
|
4767
|
+
"description": "Sourced from the id prop."
|
|
4768
|
+
},
|
|
4769
|
+
"item": {
|
|
4770
|
+
"attr": "data-file-id",
|
|
4771
|
+
"description": "Each tracked file emits its id as data-file-id."
|
|
4772
|
+
}
|
|
4773
|
+
}
|
|
4774
|
+
},
|
|
4775
|
+
{
|
|
4776
|
+
"kind": "component",
|
|
4777
|
+
"id": "finished-terminal",
|
|
4778
|
+
"capabilities": [],
|
|
4779
|
+
"state": [],
|
|
4780
|
+
"actions": [],
|
|
4781
|
+
"domHooks": {
|
|
4782
|
+
"root": {
|
|
4783
|
+
"attr": "data-component",
|
|
4784
|
+
"value": "finished-terminal",
|
|
4785
|
+
"description": "Marks the element as a kit FinishedTerminal."
|
|
4786
|
+
}
|
|
4787
|
+
}
|
|
4788
|
+
},
|
|
4789
|
+
{
|
|
4790
|
+
"kind": "component",
|
|
4791
|
+
"id": "fiscal-code-input",
|
|
4792
|
+
"capabilities": [
|
|
4793
|
+
"set_value"
|
|
4794
|
+
],
|
|
4795
|
+
"state": [
|
|
4796
|
+
{
|
|
4797
|
+
"name": "value",
|
|
4798
|
+
"type": "string",
|
|
4799
|
+
"description": "Current codice fiscale, normalised (uppercased, 0–16 [A-Z0-9] characters).",
|
|
4800
|
+
"descriptionKey": "ui.agent.fiscalCodeInput.state.value"
|
|
4801
|
+
},
|
|
4802
|
+
{
|
|
4803
|
+
"name": "isValid",
|
|
4804
|
+
"type": "boolean",
|
|
4805
|
+
"description": "Whether the value is 16 structurally-sound characters with a matching control character.",
|
|
4806
|
+
"descriptionKey": "ui.agent.fiscalCodeInput.state.isValid"
|
|
4807
|
+
}
|
|
4808
|
+
],
|
|
4809
|
+
"actions": [
|
|
4810
|
+
{
|
|
4811
|
+
"name": "set_value",
|
|
4812
|
+
"safety": "write",
|
|
4813
|
+
"argsType": "{ value: string }",
|
|
4814
|
+
"argsSchema": {
|
|
4815
|
+
"type": "object",
|
|
4816
|
+
"properties": {
|
|
4817
|
+
"value": {
|
|
4818
|
+
"type": "string"
|
|
4819
|
+
}
|
|
4820
|
+
},
|
|
4821
|
+
"required": [
|
|
4822
|
+
"value"
|
|
4823
|
+
]
|
|
4824
|
+
},
|
|
4825
|
+
"idempotent": true,
|
|
4826
|
+
"examples": [
|
|
4827
|
+
{
|
|
4828
|
+
"args": {
|
|
4359
4829
|
"value": "RSSMRA85T10A562S"
|
|
4360
4830
|
},
|
|
4361
4831
|
"note": "A complete, structurally-sound codice fiscale."
|
|
@@ -7091,187 +7561,771 @@
|
|
|
7091
7561
|
"state": [],
|
|
7092
7562
|
"actions": [
|
|
7093
7563
|
{
|
|
7094
|
-
"name": "submit",
|
|
7095
|
-
"safety": "destructive",
|
|
7096
|
-
"returns": "Promise<void>",
|
|
7097
|
-
"openWorld": true,
|
|
7098
|
-
"errors": [
|
|
7099
|
-
"Validation failed (incomplete or invalid card details).",
|
|
7100
|
-
"Payment was declined by the processor.",
|
|
7101
|
-
"Network or processor error during the charge."
|
|
7102
|
-
],
|
|
7103
|
-
"description": "Submit the payment. Charges the configured payment method — irreversible.",
|
|
7104
|
-
"descriptionKey": "ui.agent.paymentForm.actions.submit"
|
|
7564
|
+
"name": "submit",
|
|
7565
|
+
"safety": "destructive",
|
|
7566
|
+
"returns": "Promise<void>",
|
|
7567
|
+
"openWorld": true,
|
|
7568
|
+
"errors": [
|
|
7569
|
+
"Validation failed (incomplete or invalid card details).",
|
|
7570
|
+
"Payment was declined by the processor.",
|
|
7571
|
+
"Network or processor error during the charge."
|
|
7572
|
+
],
|
|
7573
|
+
"description": "Submit the payment. Charges the configured payment method — irreversible.",
|
|
7574
|
+
"descriptionKey": "ui.agent.paymentForm.actions.submit"
|
|
7575
|
+
},
|
|
7576
|
+
{
|
|
7577
|
+
"name": "reset",
|
|
7578
|
+
"safety": "destructive",
|
|
7579
|
+
"idempotent": true,
|
|
7580
|
+
"description": "Reset the form to its initial state. Loses any in-progress input.",
|
|
7581
|
+
"descriptionKey": "ui.agent.paymentForm.actions.reset"
|
|
7582
|
+
}
|
|
7583
|
+
],
|
|
7584
|
+
"domHooks": {
|
|
7585
|
+
"root": {
|
|
7586
|
+
"attr": "data-component",
|
|
7587
|
+
"value": "payment-form"
|
|
7588
|
+
},
|
|
7589
|
+
"instanceId": {
|
|
7590
|
+
"attr": "data-component-id",
|
|
7591
|
+
"sourceProp": "id",
|
|
7592
|
+
"description": "Sourced from the id prop."
|
|
7593
|
+
}
|
|
7594
|
+
}
|
|
7595
|
+
},
|
|
7596
|
+
{
|
|
7597
|
+
"kind": "component",
|
|
7598
|
+
"id": "payment-request-card",
|
|
7599
|
+
"capabilities": [],
|
|
7600
|
+
"state": [
|
|
7601
|
+
{
|
|
7602
|
+
"name": "status",
|
|
7603
|
+
"type": "'new' | 'authorization_requested' | 'authorized' | 'paid' | 'failed' | 'cancelled'",
|
|
7604
|
+
"description": "Current lifecycle status of the payment request. Structural state only.",
|
|
7605
|
+
"descriptionKey": "ui.agent.paymentRequestCard.state.status"
|
|
7606
|
+
}
|
|
7607
|
+
],
|
|
7608
|
+
"actions": [],
|
|
7609
|
+
"domHooks": {
|
|
7610
|
+
"root": {
|
|
7611
|
+
"attr": "data-component",
|
|
7612
|
+
"value": "payment-request-card",
|
|
7613
|
+
"description": "Marks the PaymentRequestCard root region."
|
|
7614
|
+
},
|
|
7615
|
+
"instanceId": {
|
|
7616
|
+
"attr": "data-component-id",
|
|
7617
|
+
"sourceProp": "id",
|
|
7618
|
+
"description": "Sourced from the id prop. Addresses a specific request card."
|
|
7619
|
+
}
|
|
7620
|
+
}
|
|
7621
|
+
},
|
|
7622
|
+
{
|
|
7623
|
+
"kind": "component",
|
|
7624
|
+
"id": "pdf-viewer",
|
|
7625
|
+
"capabilities": [
|
|
7626
|
+
"paginate",
|
|
7627
|
+
"set_value",
|
|
7628
|
+
"filter"
|
|
7629
|
+
],
|
|
7630
|
+
"state": [],
|
|
7631
|
+
"actions": [
|
|
7632
|
+
{
|
|
7633
|
+
"name": "go_to_page",
|
|
7634
|
+
"safety": "read",
|
|
7635
|
+
"argsType": "{ page: number }",
|
|
7636
|
+
"argsSchema": {
|
|
7637
|
+
"type": "object",
|
|
7638
|
+
"properties": {
|
|
7639
|
+
"page": {
|
|
7640
|
+
"type": "integer",
|
|
7641
|
+
"minimum": 1,
|
|
7642
|
+
"description": "1-indexed target page."
|
|
7643
|
+
}
|
|
7644
|
+
},
|
|
7645
|
+
"required": [
|
|
7646
|
+
"page"
|
|
7647
|
+
]
|
|
7648
|
+
},
|
|
7649
|
+
"idempotent": true,
|
|
7650
|
+
"errors": [
|
|
7651
|
+
"Page is out of range for the loaded document."
|
|
7652
|
+
],
|
|
7653
|
+
"examples": [
|
|
7654
|
+
{
|
|
7655
|
+
"args": {
|
|
7656
|
+
"page": 2
|
|
7657
|
+
}
|
|
7658
|
+
}
|
|
7659
|
+
],
|
|
7660
|
+
"description": "Navigate to a specific 1-indexed page.",
|
|
7661
|
+
"descriptionKey": "ui.agent.pdfViewer.actions.goToPage"
|
|
7662
|
+
},
|
|
7663
|
+
{
|
|
7664
|
+
"name": "set_zoom",
|
|
7665
|
+
"safety": "read",
|
|
7666
|
+
"argsType": "{ zoom: PDFZoomPreset }",
|
|
7667
|
+
"argsSchema": {
|
|
7668
|
+
"type": "object",
|
|
7669
|
+
"properties": {
|
|
7670
|
+
"zoom": {
|
|
7671
|
+
"description": "Either a named preset ('fit-width' | 'fit-page' | 'actual-size') or a numeric scale factor (e.g. 1.5).",
|
|
7672
|
+
"oneOf": [
|
|
7673
|
+
{
|
|
7674
|
+
"enum": [
|
|
7675
|
+
"fit-width",
|
|
7676
|
+
"fit-page",
|
|
7677
|
+
"actual-size"
|
|
7678
|
+
]
|
|
7679
|
+
},
|
|
7680
|
+
{
|
|
7681
|
+
"type": "number",
|
|
7682
|
+
"exclusiveMinimum": 0
|
|
7683
|
+
}
|
|
7684
|
+
]
|
|
7685
|
+
}
|
|
7686
|
+
},
|
|
7687
|
+
"required": [
|
|
7688
|
+
"zoom"
|
|
7689
|
+
]
|
|
7690
|
+
},
|
|
7691
|
+
"idempotent": true,
|
|
7692
|
+
"examples": [
|
|
7693
|
+
{
|
|
7694
|
+
"args": {
|
|
7695
|
+
"zoom": "fit-width"
|
|
7696
|
+
}
|
|
7697
|
+
},
|
|
7698
|
+
{
|
|
7699
|
+
"args": {
|
|
7700
|
+
"zoom": 1.5
|
|
7701
|
+
}
|
|
7702
|
+
}
|
|
7703
|
+
],
|
|
7704
|
+
"description": "Apply a zoom preset or numeric scale factor.",
|
|
7705
|
+
"descriptionKey": "ui.agent.pdfViewer.actions.setZoom"
|
|
7706
|
+
},
|
|
7707
|
+
{
|
|
7708
|
+
"name": "search",
|
|
7709
|
+
"safety": "read",
|
|
7710
|
+
"argsType": "{ query: string }",
|
|
7711
|
+
"argsSchema": {
|
|
7712
|
+
"type": "object",
|
|
7713
|
+
"properties": {
|
|
7714
|
+
"query": {
|
|
7715
|
+
"type": "string",
|
|
7716
|
+
"description": "Text to find and highlight in the loaded document."
|
|
7717
|
+
}
|
|
7718
|
+
},
|
|
7719
|
+
"required": [
|
|
7720
|
+
"query"
|
|
7721
|
+
]
|
|
7722
|
+
},
|
|
7723
|
+
"idempotent": true,
|
|
7724
|
+
"examples": [
|
|
7725
|
+
{
|
|
7726
|
+
"args": {
|
|
7727
|
+
"query": "consent"
|
|
7728
|
+
}
|
|
7729
|
+
}
|
|
7730
|
+
],
|
|
7731
|
+
"description": "Search the document for the given query and highlight matches.",
|
|
7732
|
+
"descriptionKey": "ui.agent.pdfViewer.actions.search"
|
|
7733
|
+
},
|
|
7734
|
+
{
|
|
7735
|
+
"name": "print",
|
|
7736
|
+
"safety": "read",
|
|
7737
|
+
"description": "Open the browser print dialog for the document.",
|
|
7738
|
+
"descriptionKey": "ui.agent.pdfViewer.actions.print"
|
|
7739
|
+
}
|
|
7740
|
+
],
|
|
7741
|
+
"domHooks": {
|
|
7742
|
+
"root": {
|
|
7743
|
+
"attr": "data-component",
|
|
7744
|
+
"value": "pdf-viewer"
|
|
7745
|
+
},
|
|
7746
|
+
"instanceId": {
|
|
7747
|
+
"attr": "data-component-id",
|
|
7748
|
+
"sourceProp": "id",
|
|
7749
|
+
"description": "Sourced from the id prop."
|
|
7750
|
+
}
|
|
7751
|
+
}
|
|
7752
|
+
},
|
|
7753
|
+
{
|
|
7754
|
+
"kind": "component",
|
|
7755
|
+
"id": "periodontal-chart",
|
|
7756
|
+
"capabilities": [
|
|
7757
|
+
"pick",
|
|
7758
|
+
"set_value",
|
|
7759
|
+
"edit_inline"
|
|
7760
|
+
],
|
|
7761
|
+
"state": [
|
|
7762
|
+
{
|
|
7763
|
+
"name": "indices",
|
|
7764
|
+
"type": "object",
|
|
7765
|
+
"description": "Derived whole-mouth indices: mean probing depth, mean attachment level, plaque %, bleeding %, scored-site and deep-pocket counts. Aggregates only — no per-site or patient data.",
|
|
7766
|
+
"descriptionKey": "ui.agent.periodontalChart.state.indices"
|
|
7767
|
+
},
|
|
7768
|
+
{
|
|
7769
|
+
"name": "missingTeeth",
|
|
7770
|
+
"type": "string[]",
|
|
7771
|
+
"description": "FDI ids of every tooth flagged as missing.",
|
|
7772
|
+
"descriptionKey": "ui.agent.periodontalChart.state.missingTeeth"
|
|
7773
|
+
},
|
|
7774
|
+
{
|
|
7775
|
+
"name": "chartedTeeth",
|
|
7776
|
+
"type": "string[]",
|
|
7777
|
+
"description": "FDI ids of teeth carrying at least one probing reading or flag. Identifiers only — never patient identity or the free-text note.",
|
|
7778
|
+
"descriptionKey": "ui.agent.periodontalChart.state.chartedTeeth"
|
|
7779
|
+
}
|
|
7780
|
+
],
|
|
7781
|
+
"actions": [
|
|
7782
|
+
{
|
|
7783
|
+
"name": "focus_site",
|
|
7784
|
+
"safety": "read",
|
|
7785
|
+
"argsType": "{ fdi: string; site: PeriodontalSiteId; field: \"pocketDepthMm\" | \"recessionMm\" }",
|
|
7786
|
+
"argsSchema": {
|
|
7787
|
+
"type": "object",
|
|
7788
|
+
"properties": {
|
|
7789
|
+
"fdi": {
|
|
7790
|
+
"type": "string",
|
|
7791
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
7792
|
+
},
|
|
7793
|
+
"site": {
|
|
7794
|
+
"enum": [
|
|
7795
|
+
"db",
|
|
7796
|
+
"b",
|
|
7797
|
+
"mb",
|
|
7798
|
+
"dl",
|
|
7799
|
+
"l",
|
|
7800
|
+
"ml"
|
|
7801
|
+
],
|
|
7802
|
+
"description": "Probing site: (m/d)b = mesio-/disto-/mid buccal, (m/d)l = mesio-/disto-/mid lingual."
|
|
7803
|
+
},
|
|
7804
|
+
"field": {
|
|
7805
|
+
"enum": [
|
|
7806
|
+
"pocketDepthMm",
|
|
7807
|
+
"recessionMm"
|
|
7808
|
+
]
|
|
7809
|
+
}
|
|
7810
|
+
},
|
|
7811
|
+
"required": [
|
|
7812
|
+
"fdi",
|
|
7813
|
+
"site",
|
|
7814
|
+
"field"
|
|
7815
|
+
]
|
|
7816
|
+
},
|
|
7817
|
+
"idempotent": true,
|
|
7818
|
+
"description": "Move focus to a specific probing-measurement input.",
|
|
7819
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.focusSite"
|
|
7820
|
+
},
|
|
7821
|
+
{
|
|
7822
|
+
"name": "get_tooth",
|
|
7823
|
+
"safety": "read",
|
|
7824
|
+
"argsType": "{ fdi: string }",
|
|
7825
|
+
"argsSchema": {
|
|
7826
|
+
"type": "object",
|
|
7827
|
+
"properties": {
|
|
7828
|
+
"fdi": {
|
|
7829
|
+
"type": "string",
|
|
7830
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
7831
|
+
}
|
|
7832
|
+
},
|
|
7833
|
+
"required": [
|
|
7834
|
+
"fdi"
|
|
7835
|
+
]
|
|
7836
|
+
},
|
|
7837
|
+
"returns": "object | null",
|
|
7838
|
+
"returnsSchema": {
|
|
7839
|
+
"type": [
|
|
7840
|
+
"object",
|
|
7841
|
+
"null"
|
|
7842
|
+
]
|
|
7843
|
+
},
|
|
7844
|
+
"idempotent": true,
|
|
7845
|
+
"description": "Read one tooth’s structural readings (sites, flags, mobility, furcation). The free-text note is never returned.",
|
|
7846
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.getTooth"
|
|
7847
|
+
},
|
|
7848
|
+
{
|
|
7849
|
+
"name": "get_indices",
|
|
7850
|
+
"safety": "read",
|
|
7851
|
+
"argsType": "{}",
|
|
7852
|
+
"argsSchema": {
|
|
7853
|
+
"type": "object",
|
|
7854
|
+
"properties": {}
|
|
7855
|
+
},
|
|
7856
|
+
"returns": "PeriodontalIndices",
|
|
7857
|
+
"returnsSchema": {
|
|
7858
|
+
"type": "object",
|
|
7859
|
+
"properties": {
|
|
7860
|
+
"meanPocketDepthMm": {
|
|
7861
|
+
"type": [
|
|
7862
|
+
"number",
|
|
7863
|
+
"null"
|
|
7864
|
+
]
|
|
7865
|
+
},
|
|
7866
|
+
"meanAttachmentLevelMm": {
|
|
7867
|
+
"type": [
|
|
7868
|
+
"number",
|
|
7869
|
+
"null"
|
|
7870
|
+
]
|
|
7871
|
+
},
|
|
7872
|
+
"plaquePercent": {
|
|
7873
|
+
"type": [
|
|
7874
|
+
"number",
|
|
7875
|
+
"null"
|
|
7876
|
+
]
|
|
7877
|
+
},
|
|
7878
|
+
"bleedingPercent": {
|
|
7879
|
+
"type": [
|
|
7880
|
+
"number",
|
|
7881
|
+
"null"
|
|
7882
|
+
]
|
|
7883
|
+
},
|
|
7884
|
+
"scoredSiteCount": {
|
|
7885
|
+
"type": "number"
|
|
7886
|
+
},
|
|
7887
|
+
"deepPocketCount": {
|
|
7888
|
+
"type": "number"
|
|
7889
|
+
}
|
|
7890
|
+
}
|
|
7891
|
+
},
|
|
7892
|
+
"idempotent": true,
|
|
7893
|
+
"description": "Read the derived whole-mouth summary indices.",
|
|
7894
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.getIndices"
|
|
7895
|
+
},
|
|
7896
|
+
{
|
|
7897
|
+
"name": "set_depth",
|
|
7898
|
+
"safety": "write",
|
|
7899
|
+
"argsType": "{ fdi: string; site: PeriodontalSiteId; mm: number }",
|
|
7900
|
+
"argsSchema": {
|
|
7901
|
+
"type": "object",
|
|
7902
|
+
"properties": {
|
|
7903
|
+
"fdi": {
|
|
7904
|
+
"type": "string",
|
|
7905
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
7906
|
+
},
|
|
7907
|
+
"site": {
|
|
7908
|
+
"enum": [
|
|
7909
|
+
"db",
|
|
7910
|
+
"b",
|
|
7911
|
+
"mb",
|
|
7912
|
+
"dl",
|
|
7913
|
+
"l",
|
|
7914
|
+
"ml"
|
|
7915
|
+
],
|
|
7916
|
+
"description": "Probing site: (m/d)b = mesio-/disto-/mid buccal, (m/d)l = mesio-/disto-/mid lingual."
|
|
7917
|
+
},
|
|
7918
|
+
"mm": {
|
|
7919
|
+
"type": "integer",
|
|
7920
|
+
"description": "Whole millimetres — perio probing is recorded in integer mm."
|
|
7921
|
+
}
|
|
7922
|
+
},
|
|
7923
|
+
"required": [
|
|
7924
|
+
"fdi",
|
|
7925
|
+
"site",
|
|
7926
|
+
"mm"
|
|
7927
|
+
]
|
|
7928
|
+
},
|
|
7929
|
+
"idempotent": true,
|
|
7930
|
+
"description": "Record the probing pocket depth (mm) at a site.",
|
|
7931
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.setDepth"
|
|
7932
|
+
},
|
|
7933
|
+
{
|
|
7934
|
+
"name": "set_recession",
|
|
7935
|
+
"safety": "write",
|
|
7936
|
+
"argsType": "{ fdi: string; site: PeriodontalSiteId; mm: number }",
|
|
7937
|
+
"argsSchema": {
|
|
7938
|
+
"type": "object",
|
|
7939
|
+
"properties": {
|
|
7940
|
+
"fdi": {
|
|
7941
|
+
"type": "string",
|
|
7942
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
7943
|
+
},
|
|
7944
|
+
"site": {
|
|
7945
|
+
"enum": [
|
|
7946
|
+
"db",
|
|
7947
|
+
"b",
|
|
7948
|
+
"mb",
|
|
7949
|
+
"dl",
|
|
7950
|
+
"l",
|
|
7951
|
+
"ml"
|
|
7952
|
+
],
|
|
7953
|
+
"description": "Probing site: (m/d)b = mesio-/disto-/mid buccal, (m/d)l = mesio-/disto-/mid lingual."
|
|
7954
|
+
},
|
|
7955
|
+
"mm": {
|
|
7956
|
+
"type": "integer",
|
|
7957
|
+
"description": "Whole millimetres — perio probing is recorded in integer mm."
|
|
7958
|
+
}
|
|
7959
|
+
},
|
|
7960
|
+
"required": [
|
|
7961
|
+
"fdi",
|
|
7962
|
+
"site",
|
|
7963
|
+
"mm"
|
|
7964
|
+
]
|
|
7965
|
+
},
|
|
7966
|
+
"idempotent": true,
|
|
7967
|
+
"description": "Record the gingival recession (mm) at a site.",
|
|
7968
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.setRecession"
|
|
7969
|
+
},
|
|
7970
|
+
{
|
|
7971
|
+
"name": "toggle_bleeding",
|
|
7972
|
+
"safety": "write",
|
|
7973
|
+
"argsType": "{ fdi: string; site: PeriodontalSiteId; value: boolean }",
|
|
7974
|
+
"argsSchema": {
|
|
7975
|
+
"type": "object",
|
|
7976
|
+
"properties": {
|
|
7977
|
+
"fdi": {
|
|
7978
|
+
"type": "string",
|
|
7979
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
7980
|
+
},
|
|
7981
|
+
"site": {
|
|
7982
|
+
"enum": [
|
|
7983
|
+
"db",
|
|
7984
|
+
"b",
|
|
7985
|
+
"mb",
|
|
7986
|
+
"dl",
|
|
7987
|
+
"l",
|
|
7988
|
+
"ml"
|
|
7989
|
+
],
|
|
7990
|
+
"description": "Probing site: (m/d)b = mesio-/disto-/mid buccal, (m/d)l = mesio-/disto-/mid lingual."
|
|
7991
|
+
},
|
|
7992
|
+
"value": {
|
|
7993
|
+
"type": "boolean"
|
|
7994
|
+
}
|
|
7995
|
+
},
|
|
7996
|
+
"required": [
|
|
7997
|
+
"fdi",
|
|
7998
|
+
"site",
|
|
7999
|
+
"value"
|
|
8000
|
+
]
|
|
8001
|
+
},
|
|
8002
|
+
"idempotent": true,
|
|
8003
|
+
"description": "Set bleeding on probing at a site.",
|
|
8004
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.toggleBleeding"
|
|
8005
|
+
},
|
|
8006
|
+
{
|
|
8007
|
+
"name": "toggle_plaque",
|
|
8008
|
+
"safety": "write",
|
|
8009
|
+
"argsType": "{ fdi: string; site: PeriodontalSiteId; value: boolean }",
|
|
8010
|
+
"argsSchema": {
|
|
8011
|
+
"type": "object",
|
|
8012
|
+
"properties": {
|
|
8013
|
+
"fdi": {
|
|
8014
|
+
"type": "string",
|
|
8015
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
8016
|
+
},
|
|
8017
|
+
"site": {
|
|
8018
|
+
"enum": [
|
|
8019
|
+
"db",
|
|
8020
|
+
"b",
|
|
8021
|
+
"mb",
|
|
8022
|
+
"dl",
|
|
8023
|
+
"l",
|
|
8024
|
+
"ml"
|
|
8025
|
+
],
|
|
8026
|
+
"description": "Probing site: (m/d)b = mesio-/disto-/mid buccal, (m/d)l = mesio-/disto-/mid lingual."
|
|
8027
|
+
},
|
|
8028
|
+
"value": {
|
|
8029
|
+
"type": "boolean"
|
|
8030
|
+
}
|
|
8031
|
+
},
|
|
8032
|
+
"required": [
|
|
8033
|
+
"fdi",
|
|
8034
|
+
"site",
|
|
8035
|
+
"value"
|
|
8036
|
+
]
|
|
8037
|
+
},
|
|
8038
|
+
"idempotent": true,
|
|
8039
|
+
"description": "Set plaque presence at a site.",
|
|
8040
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.togglePlaque"
|
|
8041
|
+
},
|
|
8042
|
+
{
|
|
8043
|
+
"name": "set_mobility",
|
|
8044
|
+
"safety": "write",
|
|
8045
|
+
"argsType": "{ fdi: string; grade: 0 | 1 | 2 | 3 }",
|
|
8046
|
+
"argsSchema": {
|
|
8047
|
+
"type": "object",
|
|
8048
|
+
"properties": {
|
|
8049
|
+
"fdi": {
|
|
8050
|
+
"type": "string",
|
|
8051
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
8052
|
+
},
|
|
8053
|
+
"grade": {
|
|
8054
|
+
"enum": [
|
|
8055
|
+
0,
|
|
8056
|
+
1,
|
|
8057
|
+
2,
|
|
8058
|
+
3
|
|
8059
|
+
]
|
|
8060
|
+
}
|
|
8061
|
+
},
|
|
8062
|
+
"required": [
|
|
8063
|
+
"fdi",
|
|
8064
|
+
"grade"
|
|
8065
|
+
]
|
|
8066
|
+
},
|
|
8067
|
+
"idempotent": true,
|
|
8068
|
+
"description": "Set a tooth’s Miller mobility grade (0–3).",
|
|
8069
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.setMobility"
|
|
8070
|
+
},
|
|
8071
|
+
{
|
|
8072
|
+
"name": "set_missing",
|
|
8073
|
+
"safety": "write",
|
|
8074
|
+
"argsType": "{ fdi: string; value: boolean }",
|
|
8075
|
+
"argsSchema": {
|
|
8076
|
+
"type": "object",
|
|
8077
|
+
"properties": {
|
|
8078
|
+
"fdi": {
|
|
8079
|
+
"type": "string",
|
|
8080
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
8081
|
+
},
|
|
8082
|
+
"value": {
|
|
8083
|
+
"type": "boolean"
|
|
8084
|
+
}
|
|
8085
|
+
},
|
|
8086
|
+
"required": [
|
|
8087
|
+
"fdi",
|
|
8088
|
+
"value"
|
|
8089
|
+
]
|
|
8090
|
+
},
|
|
8091
|
+
"idempotent": true,
|
|
8092
|
+
"description": "Flag a tooth present or absent.",
|
|
8093
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.setMissing"
|
|
7105
8094
|
},
|
|
7106
8095
|
{
|
|
7107
|
-
"name": "
|
|
8096
|
+
"name": "clear_tooth",
|
|
7108
8097
|
"safety": "destructive",
|
|
8098
|
+
"argsType": "{ fdi: string }",
|
|
8099
|
+
"argsSchema": {
|
|
8100
|
+
"type": "object",
|
|
8101
|
+
"properties": {
|
|
8102
|
+
"fdi": {
|
|
8103
|
+
"type": "string",
|
|
8104
|
+
"description": "FDI tooth id ('11'–'48' permanent, '51'–'85' primary)."
|
|
8105
|
+
}
|
|
8106
|
+
},
|
|
8107
|
+
"required": [
|
|
8108
|
+
"fdi"
|
|
8109
|
+
]
|
|
8110
|
+
},
|
|
7109
8111
|
"idempotent": true,
|
|
7110
|
-
"description": "
|
|
7111
|
-
"descriptionKey": "ui.agent.
|
|
8112
|
+
"description": "Clear every reading from a tooth.",
|
|
8113
|
+
"descriptionKey": "ui.agent.periodontalChart.actions.clearTooth"
|
|
7112
8114
|
}
|
|
7113
8115
|
],
|
|
7114
8116
|
"domHooks": {
|
|
7115
8117
|
"root": {
|
|
7116
8118
|
"attr": "data-component",
|
|
7117
|
-
"value": "
|
|
8119
|
+
"value": "periodontal-chart",
|
|
8120
|
+
"description": "Marks the PeriodontalChart root group."
|
|
7118
8121
|
},
|
|
7119
8122
|
"instanceId": {
|
|
7120
8123
|
"attr": "data-component-id",
|
|
7121
8124
|
"sourceProp": "id",
|
|
7122
8125
|
"description": "Sourced from the id prop."
|
|
8126
|
+
},
|
|
8127
|
+
"item": {
|
|
8128
|
+
"attr": "data-fdi",
|
|
8129
|
+
"description": "Each tooth column header carries its FDI id as `data-fdi`. Every measurement input also carries `data-fdi` + `data-site` + `data-field`. The root `data-mode` exposes interactive vs display."
|
|
7123
8130
|
}
|
|
7124
8131
|
}
|
|
7125
8132
|
},
|
|
7126
8133
|
{
|
|
7127
8134
|
"kind": "component",
|
|
7128
|
-
"id": "
|
|
8135
|
+
"id": "periodontal-chart-card",
|
|
7129
8136
|
"capabilities": [],
|
|
7130
8137
|
"state": [
|
|
7131
8138
|
{
|
|
7132
|
-
"name": "
|
|
7133
|
-
"type": "
|
|
7134
|
-
"description": "
|
|
7135
|
-
"descriptionKey": "ui.agent.
|
|
8139
|
+
"name": "toothIds",
|
|
8140
|
+
"type": "string[]",
|
|
8141
|
+
"description": "FDI ids of the teeth currently charted. Tooth identifiers only — no patient identity.",
|
|
8142
|
+
"descriptionKey": "ui.agent.periodontalChartCard.state.toothIds"
|
|
8143
|
+
},
|
|
8144
|
+
{
|
|
8145
|
+
"name": "siteCount",
|
|
8146
|
+
"type": "number",
|
|
8147
|
+
"description": "Total number of probing sites rendered.",
|
|
8148
|
+
"descriptionKey": "ui.agent.periodontalChartCard.state.siteCount"
|
|
8149
|
+
},
|
|
8150
|
+
{
|
|
8151
|
+
"name": "deepPocketCount",
|
|
8152
|
+
"type": "number",
|
|
8153
|
+
"description": "Number of sites with a probing depth at or above the 6mm severe threshold.",
|
|
8154
|
+
"descriptionKey": "ui.agent.periodontalChartCard.state.deepPocketCount"
|
|
7136
8155
|
}
|
|
7137
8156
|
],
|
|
7138
8157
|
"actions": [],
|
|
7139
8158
|
"domHooks": {
|
|
7140
8159
|
"root": {
|
|
7141
8160
|
"attr": "data-component",
|
|
7142
|
-
"value": "
|
|
7143
|
-
"description": "Marks the
|
|
8161
|
+
"value": "periodontal-chart-card",
|
|
8162
|
+
"description": "Marks the PeriodontalChartCard root region."
|
|
7144
8163
|
},
|
|
7145
8164
|
"instanceId": {
|
|
7146
8165
|
"attr": "data-component-id",
|
|
7147
8166
|
"sourceProp": "id",
|
|
7148
|
-
"description": "Sourced from the id prop.
|
|
8167
|
+
"description": "Sourced from the id prop."
|
|
7149
8168
|
}
|
|
7150
8169
|
}
|
|
7151
8170
|
},
|
|
7152
8171
|
{
|
|
7153
8172
|
"kind": "component",
|
|
7154
|
-
"id": "
|
|
8173
|
+
"id": "periodontal-diagnosis",
|
|
7155
8174
|
"capabilities": [
|
|
7156
|
-
"
|
|
7157
|
-
|
|
7158
|
-
|
|
8175
|
+
"set_value"
|
|
8176
|
+
],
|
|
8177
|
+
"state": [
|
|
8178
|
+
{
|
|
8179
|
+
"name": "diagnosis",
|
|
8180
|
+
"type": "object",
|
|
8181
|
+
"description": "Recorded stage (1–4), grade (A–C), extent, and ticked contributing-factor ids. The free-text note is never included.",
|
|
8182
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.state.diagnosis"
|
|
8183
|
+
},
|
|
8184
|
+
{
|
|
8185
|
+
"name": "summary",
|
|
8186
|
+
"type": "string",
|
|
8187
|
+
"description": "The composed, localised diagnosis sentence (e.g. \"Periodontitis — Stage III · Grade B · generalised\").",
|
|
8188
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.state.summary"
|
|
8189
|
+
},
|
|
8190
|
+
{
|
|
8191
|
+
"name": "complete",
|
|
8192
|
+
"type": "boolean",
|
|
8193
|
+
"description": "True once both a stage and a grade are recorded.",
|
|
8194
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.state.complete"
|
|
8195
|
+
}
|
|
7159
8196
|
],
|
|
7160
|
-
"state": [],
|
|
7161
8197
|
"actions": [
|
|
7162
8198
|
{
|
|
7163
|
-
"name": "
|
|
8199
|
+
"name": "get_diagnosis",
|
|
7164
8200
|
"safety": "read",
|
|
7165
|
-
"argsType": "{
|
|
8201
|
+
"argsType": "{}",
|
|
8202
|
+
"argsSchema": {
|
|
8203
|
+
"type": "object",
|
|
8204
|
+
"properties": {}
|
|
8205
|
+
},
|
|
8206
|
+
"returns": "object",
|
|
8207
|
+
"returnsSchema": {
|
|
8208
|
+
"type": "object"
|
|
8209
|
+
},
|
|
8210
|
+
"idempotent": true,
|
|
8211
|
+
"description": "Read the recorded stage / grade / extent / factors. The note is never returned.",
|
|
8212
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.actions.getDiagnosis"
|
|
8213
|
+
},
|
|
8214
|
+
{
|
|
8215
|
+
"name": "set_stage",
|
|
8216
|
+
"safety": "write",
|
|
8217
|
+
"argsType": "{ stage: 1 | 2 | 3 | 4 }",
|
|
7166
8218
|
"argsSchema": {
|
|
7167
8219
|
"type": "object",
|
|
7168
8220
|
"properties": {
|
|
7169
|
-
"
|
|
7170
|
-
"
|
|
7171
|
-
|
|
7172
|
-
|
|
8221
|
+
"stage": {
|
|
8222
|
+
"enum": [
|
|
8223
|
+
1,
|
|
8224
|
+
2,
|
|
8225
|
+
3,
|
|
8226
|
+
4
|
|
8227
|
+
],
|
|
8228
|
+
"description": "Periodontitis stage I–IV, as the integers 1–4."
|
|
7173
8229
|
}
|
|
7174
8230
|
},
|
|
7175
8231
|
"required": [
|
|
7176
|
-
"
|
|
8232
|
+
"stage"
|
|
7177
8233
|
]
|
|
7178
8234
|
},
|
|
7179
8235
|
"idempotent": true,
|
|
7180
|
-
"
|
|
7181
|
-
|
|
7182
|
-
],
|
|
7183
|
-
"examples": [
|
|
7184
|
-
{
|
|
7185
|
-
"args": {
|
|
7186
|
-
"page": 2
|
|
7187
|
-
}
|
|
7188
|
-
}
|
|
7189
|
-
],
|
|
7190
|
-
"description": "Navigate to a specific 1-indexed page.",
|
|
7191
|
-
"descriptionKey": "ui.agent.pdfViewer.actions.goToPage"
|
|
8236
|
+
"description": "Record the periodontitis stage (I–IV).",
|
|
8237
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.actions.setStage"
|
|
7192
8238
|
},
|
|
7193
8239
|
{
|
|
7194
|
-
"name": "
|
|
7195
|
-
"safety": "
|
|
7196
|
-
"argsType": "{
|
|
8240
|
+
"name": "set_grade",
|
|
8241
|
+
"safety": "write",
|
|
8242
|
+
"argsType": "{ grade: 'A' | 'B' | 'C' }",
|
|
7197
8243
|
"argsSchema": {
|
|
7198
8244
|
"type": "object",
|
|
7199
8245
|
"properties": {
|
|
7200
|
-
"
|
|
7201
|
-
"
|
|
7202
|
-
|
|
7203
|
-
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
"actual-size"
|
|
7208
|
-
]
|
|
7209
|
-
},
|
|
7210
|
-
{
|
|
7211
|
-
"type": "number",
|
|
7212
|
-
"exclusiveMinimum": 0
|
|
7213
|
-
}
|
|
7214
|
-
]
|
|
8246
|
+
"grade": {
|
|
8247
|
+
"enum": [
|
|
8248
|
+
"A",
|
|
8249
|
+
"B",
|
|
8250
|
+
"C"
|
|
8251
|
+
],
|
|
8252
|
+
"description": "Periodontitis grade A–C (rate of progression)."
|
|
7215
8253
|
}
|
|
7216
8254
|
},
|
|
7217
8255
|
"required": [
|
|
7218
|
-
"
|
|
8256
|
+
"grade"
|
|
7219
8257
|
]
|
|
7220
8258
|
},
|
|
7221
8259
|
"idempotent": true,
|
|
7222
|
-
"
|
|
7223
|
-
|
|
7224
|
-
|
|
7225
|
-
|
|
8260
|
+
"description": "Record the periodontitis grade (A–C).",
|
|
8261
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.actions.setGrade"
|
|
8262
|
+
},
|
|
8263
|
+
{
|
|
8264
|
+
"name": "set_extent",
|
|
8265
|
+
"safety": "write",
|
|
8266
|
+
"argsType": "{ extent: 'localised' | 'generalised' | 'molarIncisor' }",
|
|
8267
|
+
"argsSchema": {
|
|
8268
|
+
"type": "object",
|
|
8269
|
+
"properties": {
|
|
8270
|
+
"extent": {
|
|
8271
|
+
"enum": [
|
|
8272
|
+
"localised",
|
|
8273
|
+
"generalised",
|
|
8274
|
+
"molarIncisor"
|
|
8275
|
+
],
|
|
8276
|
+
"description": "Distribution: localised (<30%), generalised (≥30%), or molar-incisor."
|
|
7226
8277
|
}
|
|
7227
8278
|
},
|
|
7228
|
-
|
|
7229
|
-
"
|
|
7230
|
-
|
|
7231
|
-
|
|
7232
|
-
|
|
7233
|
-
|
|
7234
|
-
"
|
|
7235
|
-
"descriptionKey": "ui.agent.pdfViewer.actions.setZoom"
|
|
8279
|
+
"required": [
|
|
8280
|
+
"extent"
|
|
8281
|
+
]
|
|
8282
|
+
},
|
|
8283
|
+
"idempotent": true,
|
|
8284
|
+
"description": "Record the distribution / extent.",
|
|
8285
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.actions.setExtent"
|
|
7236
8286
|
},
|
|
7237
8287
|
{
|
|
7238
|
-
"name": "
|
|
7239
|
-
"safety": "
|
|
7240
|
-
"argsType": "{
|
|
8288
|
+
"name": "toggle_factor",
|
|
8289
|
+
"safety": "write",
|
|
8290
|
+
"argsType": "{ id: string; value: boolean }",
|
|
7241
8291
|
"argsSchema": {
|
|
7242
8292
|
"type": "object",
|
|
7243
8293
|
"properties": {
|
|
7244
|
-
"
|
|
8294
|
+
"id": {
|
|
7245
8295
|
"type": "string",
|
|
7246
|
-
"description": "
|
|
8296
|
+
"description": "Contributing-factor id."
|
|
8297
|
+
},
|
|
8298
|
+
"value": {
|
|
8299
|
+
"type": "boolean"
|
|
7247
8300
|
}
|
|
7248
8301
|
},
|
|
7249
8302
|
"required": [
|
|
7250
|
-
"
|
|
8303
|
+
"id",
|
|
8304
|
+
"value"
|
|
7251
8305
|
]
|
|
7252
8306
|
},
|
|
7253
8307
|
"idempotent": true,
|
|
7254
|
-
"
|
|
7255
|
-
|
|
7256
|
-
"args": {
|
|
7257
|
-
"query": "consent"
|
|
7258
|
-
}
|
|
7259
|
-
}
|
|
7260
|
-
],
|
|
7261
|
-
"description": "Search the document for the given query and highlight matches.",
|
|
7262
|
-
"descriptionKey": "ui.agent.pdfViewer.actions.search"
|
|
8308
|
+
"description": "Tick or clear a contributing factor.",
|
|
8309
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.actions.toggleFactor"
|
|
7263
8310
|
},
|
|
7264
8311
|
{
|
|
7265
|
-
"name": "
|
|
7266
|
-
"safety": "
|
|
7267
|
-
"
|
|
7268
|
-
"
|
|
8312
|
+
"name": "clear_diagnosis",
|
|
8313
|
+
"safety": "destructive",
|
|
8314
|
+
"argsType": "{}",
|
|
8315
|
+
"argsSchema": {
|
|
8316
|
+
"type": "object",
|
|
8317
|
+
"properties": {}
|
|
8318
|
+
},
|
|
8319
|
+
"idempotent": true,
|
|
8320
|
+
"description": "Reset the whole diagnosis to empty.",
|
|
8321
|
+
"descriptionKey": "ui.agent.periodontalDiagnosis.actions.clearDiagnosis"
|
|
7269
8322
|
}
|
|
7270
8323
|
],
|
|
7271
8324
|
"domHooks": {
|
|
7272
8325
|
"root": {
|
|
7273
8326
|
"attr": "data-component",
|
|
7274
|
-
"value": "
|
|
8327
|
+
"value": "periodontal-diagnosis",
|
|
8328
|
+
"description": "Marks the PeriodontalDiagnosis root group."
|
|
7275
8329
|
},
|
|
7276
8330
|
"instanceId": {
|
|
7277
8331
|
"attr": "data-component-id",
|
|
@@ -7282,34 +8336,28 @@
|
|
|
7282
8336
|
},
|
|
7283
8337
|
{
|
|
7284
8338
|
"kind": "component",
|
|
7285
|
-
"id": "periodontal-chart
|
|
8339
|
+
"id": "periodontal-risk-chart",
|
|
7286
8340
|
"capabilities": [],
|
|
7287
8341
|
"state": [
|
|
7288
8342
|
{
|
|
7289
|
-
"name": "
|
|
7290
|
-
"type": "string
|
|
7291
|
-
"description": "
|
|
7292
|
-
"descriptionKey": "ui.agent.
|
|
7293
|
-
},
|
|
7294
|
-
{
|
|
7295
|
-
"name": "siteCount",
|
|
7296
|
-
"type": "number",
|
|
7297
|
-
"description": "Total number of probing sites rendered.",
|
|
7298
|
-
"descriptionKey": "ui.agent.periodontalChartCard.state.siteCount"
|
|
8343
|
+
"name": "overall",
|
|
8344
|
+
"type": "string",
|
|
8345
|
+
"description": "Overall periodontal risk verdict — \"low\" | \"moderate\" | \"high\". Aggregate only.",
|
|
8346
|
+
"descriptionKey": "ui.agent.periodontalRiskChart.state.overall"
|
|
7299
8347
|
},
|
|
7300
8348
|
{
|
|
7301
|
-
"name": "
|
|
7302
|
-
"type": "
|
|
7303
|
-
"description": "
|
|
7304
|
-
"descriptionKey": "ui.agent.
|
|
8349
|
+
"name": "factorLevels",
|
|
8350
|
+
"type": "object",
|
|
8351
|
+
"description": "Per-factor risk levels keyed by factor (bleeding, pockets, toothLoss, boneLossAge, smoking, systemic) — each \"low\" | \"moderate\" | \"high\". No raw values.",
|
|
8352
|
+
"descriptionKey": "ui.agent.periodontalRiskChart.state.factorLevels"
|
|
7305
8353
|
}
|
|
7306
8354
|
],
|
|
7307
8355
|
"actions": [],
|
|
7308
8356
|
"domHooks": {
|
|
7309
8357
|
"root": {
|
|
7310
8358
|
"attr": "data-component",
|
|
7311
|
-
"value": "periodontal-chart
|
|
7312
|
-
"description": "Marks the
|
|
8359
|
+
"value": "periodontal-risk-chart",
|
|
8360
|
+
"description": "Marks the PeriodontalRiskChart root region."
|
|
7313
8361
|
},
|
|
7314
8362
|
"instanceId": {
|
|
7315
8363
|
"attr": "data-component-id",
|
|
@@ -14848,15 +15896,18 @@
|
|
|
14848
15896
|
},
|
|
14849
15897
|
{
|
|
14850
15898
|
"component": "select",
|
|
14851
|
-
"as": "
|
|
15899
|
+
"as": "signerPerson",
|
|
15900
|
+
"entity": "signer"
|
|
14852
15901
|
},
|
|
14853
15902
|
{
|
|
14854
|
-
"component": "
|
|
14855
|
-
"as": "
|
|
15903
|
+
"component": "checkbox",
|
|
15904
|
+
"as": "signerChannel",
|
|
15905
|
+
"entity": "signer"
|
|
14856
15906
|
},
|
|
14857
15907
|
{
|
|
14858
15908
|
"component": "switch",
|
|
14859
|
-
"as": "otpWaiver"
|
|
15909
|
+
"as": "otpWaiver",
|
|
15910
|
+
"entity": "signer"
|
|
14860
15911
|
},
|
|
14861
15912
|
{
|
|
14862
15913
|
"component": "alert",
|
|
@@ -14864,15 +15915,33 @@
|
|
|
14864
15915
|
},
|
|
14865
15916
|
{
|
|
14866
15917
|
"component": "alert",
|
|
14867
|
-
"as": "otpWarning"
|
|
15918
|
+
"as": "otpWarning",
|
|
15919
|
+
"entity": "signer"
|
|
15920
|
+
},
|
|
15921
|
+
{
|
|
15922
|
+
"component": "alert",
|
|
15923
|
+
"as": "submissionError"
|
|
14868
15924
|
},
|
|
14869
15925
|
{
|
|
14870
15926
|
"component": "button",
|
|
14871
15927
|
"as": "assignToMe"
|
|
14872
15928
|
},
|
|
15929
|
+
{
|
|
15930
|
+
"component": "button",
|
|
15931
|
+
"as": "addSigner"
|
|
15932
|
+
},
|
|
15933
|
+
{
|
|
15934
|
+
"component": "icon-button",
|
|
15935
|
+
"as": "removeSigner",
|
|
15936
|
+
"entity": "signer"
|
|
15937
|
+
},
|
|
14873
15938
|
{
|
|
14874
15939
|
"component": "button",
|
|
14875
15940
|
"as": "requestSignature"
|
|
15941
|
+
},
|
|
15942
|
+
{
|
|
15943
|
+
"component": "button",
|
|
15944
|
+
"as": "close"
|
|
14876
15945
|
}
|
|
14877
15946
|
],
|
|
14878
15947
|
"workflows": [
|
|
@@ -14890,10 +15959,10 @@
|
|
|
14890
15959
|
"apiActions": []
|
|
14891
15960
|
},
|
|
14892
15961
|
{
|
|
14893
|
-
"name": "
|
|
15962
|
+
"name": "manage_signer_roster",
|
|
14894
15963
|
"safety": "write",
|
|
14895
|
-
"description": "
|
|
14896
|
-
"descriptionKey": "ui.agent.signatureRequest.workflows.
|
|
15964
|
+
"description": "Build the patient-side signer roster: pick who signs in each row (the patient or their configured signee, e.g. a legal guardian), add a second signer up to the cap, or remove a row. People already on the roster are excluded from the other rows.",
|
|
15965
|
+
"descriptionKey": "ui.agent.signatureRequest.workflows.manageSignerRoster",
|
|
14897
15966
|
"uiActions": [
|
|
14898
15967
|
"select.set_value"
|
|
14899
15968
|
],
|
|
@@ -14905,20 +15974,20 @@
|
|
|
14905
15974
|
{
|
|
14906
15975
|
"name": "choose_delivery_channel",
|
|
14907
15976
|
"safety": "write",
|
|
14908
|
-
"description": "Choose how
|
|
15977
|
+
"description": "Choose how each signer's request is delivered via the per-row channel checkboxes (mutually exclusive — checking one channel unchecks the others): SMS, e-mail, WhatsApp, or signing on this device. On-device signers sign sequentially in roster order.",
|
|
14909
15978
|
"descriptionKey": "ui.agent.signatureRequest.workflows.chooseDeliveryChannel",
|
|
14910
15979
|
"uiActions": [
|
|
14911
|
-
"
|
|
15980
|
+
"checkbox.set_checked"
|
|
14912
15981
|
],
|
|
14913
15982
|
"stateReads": [
|
|
14914
|
-
"
|
|
15983
|
+
"checkbox.checked"
|
|
14915
15984
|
],
|
|
14916
15985
|
"apiActions": []
|
|
14917
15986
|
},
|
|
14918
15987
|
{
|
|
14919
15988
|
"name": "waive_otp",
|
|
14920
15989
|
"safety": "write",
|
|
14921
|
-
"description": "Toggle
|
|
15990
|
+
"description": "Toggle a signer's on-device OTP waiver. Waiving OTP lowers the evidentiary value of that signature; the pattern surfaces a warning alert while waived.",
|
|
14922
15991
|
"descriptionKey": "ui.agent.signatureRequest.workflows.waiveOtp",
|
|
14923
15992
|
"uiActions": [
|
|
14924
15993
|
"switch.toggle",
|
|
@@ -14932,14 +16001,14 @@
|
|
|
14932
16001
|
{
|
|
14933
16002
|
"name": "request_signature",
|
|
14934
16003
|
"safety": "phi",
|
|
14935
|
-
"description": "Send the signature request. Notifies
|
|
16004
|
+
"description": "Send the signature request. Notifies every roster signer over their selected channel and hands the submission to the host.",
|
|
14936
16005
|
"descriptionKey": "ui.agent.signatureRequest.workflows.requestSignature",
|
|
14937
16006
|
"uiActions": [
|
|
14938
16007
|
"dialog.close"
|
|
14939
16008
|
],
|
|
14940
16009
|
"stateReads": [
|
|
14941
16010
|
"select.value",
|
|
14942
|
-
"
|
|
16011
|
+
"checkbox.checked",
|
|
14943
16012
|
"switch.checked",
|
|
14944
16013
|
"dialog.isOpen"
|
|
14945
16014
|
],
|
|
@@ -14950,7 +16019,7 @@
|
|
|
14950
16019
|
{
|
|
14951
16020
|
"name": "dismiss",
|
|
14952
16021
|
"safety": "destructive",
|
|
14953
|
-
"description": "Close the modal without sending a signature request. Discards the in-progress
|
|
16022
|
+
"description": "Close the modal without sending a signature request. Discards the in-progress operator, roster, channel, and OTP choices.",
|
|
14954
16023
|
"descriptionKey": "ui.agent.signatureRequest.workflows.dismiss",
|
|
14955
16024
|
"uiActions": [
|
|
14956
16025
|
"dialog.dismiss"
|