@coffer-org/web 1.6.0 → 1.7.1

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 (108) hide show
  1. package/dist/assets/ExtendReasonInfo-2xj7V0H2.js +1 -0
  2. package/dist/assets/{GeoMap-Gfe3Mxlk.js → GeoMap-BMxOWl2s.js} +1 -1
  3. package/dist/assets/MarkdownEditor-CTLTW3oD.js +1060 -0
  4. package/dist/assets/{NewRecordView-DqJNxHM0.js → NewRecordView-pYJnrERV.js} +1 -1
  5. package/dist/assets/{NoMac-D7iyE4U0.js → NoMac-Bs6G_u9v.js} +1 -1
  6. package/dist/assets/{PageBody-CvuReTKD.js → PageBody-QzKQtJfF.js} +1 -1
  7. package/dist/assets/{PluginSettingsPage-BiBoejjn.js → PluginSettingsPage-mnOY76PP.js} +1 -1
  8. package/dist/assets/{ScanSummary-BtTfSAGX.js → ScanSummary-CaSVAMkI.js} +1 -1
  9. package/dist/assets/{SettingsForm-D9kBgf6H.js → SettingsForm-CWhHJOJt.js} +1 -1
  10. package/dist/assets/SettingsPage-DV2d5wUU.js +2 -0
  11. package/dist/assets/Toolbar-S4-Gmm9L.js +3 -0
  12. package/dist/assets/{api-j5etRnzW.js → api-V98HaFMa.js} +1 -1
  13. package/dist/assets/{auth-context-zE-2rDEl.js → auth-context-BlvZgasO.js} +1 -1
  14. package/dist/assets/button-VZuZjj-j.js +5 -0
  15. package/dist/assets/{chunk-KS7C4IRE-B1_Zk64s.js → chunk-KS7C4IRE-dy2r3JTy.js} +1 -1
  16. package/dist/assets/{data-size-DGgafqIa.js → data-size-DCGcE2iT.js} +1 -1
  17. package/dist/assets/{dist-nHZzrtBn.js → dist-BNXMEKVs.js} +1 -1
  18. package/dist/assets/{dist-D0lzj0II.js → dist-BNur_jh6.js} +1 -1
  19. package/dist/assets/{dist-B02SqOKT.js → dist-ByXt-qy32.js} +1 -1
  20. package/dist/assets/{dist-0L0REEL4.js → dist-CFdrMgLX.js} +1 -1
  21. package/dist/assets/dist-CJvyz0jt.js +1 -0
  22. package/dist/assets/dist-CZA4BBQN.js +11 -0
  23. package/dist/assets/dist-Cnq8rabN.js +23 -0
  24. package/dist/assets/dist-DIdoc5C5.js +1 -0
  25. package/dist/assets/{dist-C9iafu0r.js → dist-DfIinXjG.js} +1 -1
  26. package/dist/assets/{dist-BRl6D2sz.js → dist-DgQ7xbd_.js} +1 -1
  27. package/dist/assets/{dist-B3teaDxf.js → dist-DjjCJQor.js} +1 -1
  28. package/dist/assets/dist-Dn87YmtR.js +1 -0
  29. package/dist/assets/dist-mtKKRYXL.js +9 -0
  30. package/dist/assets/{dist-mpdotBBM.js → dist-rZsvLEhc.js} +1 -1
  31. package/dist/assets/{dist-DnLPZbvG.js → dist-tEJ-k59b.js} +1 -1
  32. package/dist/assets/esm-Cmdu3PQ5.js +1 -0
  33. package/dist/assets/esm-DGg7gyTi.js +24 -0
  34. package/dist/assets/{extend-DrbW8fXY.js → extend-DDZLGxKJ.js} +1 -1
  35. package/dist/assets/field-frame-CESVVP3h.js +1 -0
  36. package/dist/assets/fields-B4fdbc1_.js +64 -0
  37. package/dist/assets/{index-D5IQ3-ik.js → index-DeSFnSeF.js} +62 -87
  38. package/dist/assets/index.dom-CA5INa_J.js +1 -0
  39. package/dist/assets/json-DfDguq5e.js +41 -0
  40. package/dist/assets/{jsx-dev-runtime-CSfA-jUb.js → jsx-dev-runtime-DeBf9dJw.js} +1 -1
  41. package/dist/assets/{jsx-runtime-JUshM5qe.js → jsx-runtime-DhzTdv_T.js} +1 -1
  42. package/dist/assets/lib-Bt_xGT1S.js +1 -0
  43. package/dist/assets/lib-DUUz5X6c.js +1 -0
  44. package/dist/assets/objectWithoutPropertiesLoose-DBYSo7QU.js +1 -0
  45. package/dist/assets/{react-n93t21jb.js → react-BKp0oIqV.js} +1 -1
  46. package/dist/assets/shared-Dn2tWEOY.js +1 -0
  47. package/dist/assets/{shelf-iRNXQLvo.js → shelf-e7xL1R3N.js} +1 -1
  48. package/dist/assets/{src-Ds0SdDJ_.js → src-BB5pAQoq.js} +1 -1
  49. package/dist/assets/src-BBTJclQ3.js +1 -0
  50. package/dist/assets/{src-DrOECW8l.js → src-BEw_wZX0.js} +1 -1
  51. package/dist/assets/{src-Dh23dKOF.js → src-BKpM04ou.js} +1 -1
  52. package/dist/assets/{src-DBWRsAkM.js → src-BNqZqACY.js} +1 -1
  53. package/dist/assets/src-BYe9NBzz.js +1 -0
  54. package/dist/assets/{src-Coppd4mf.js → src-BylCqt8_.js} +1 -1
  55. package/dist/assets/src-CB26t1uZ.js +1 -0
  56. package/dist/assets/{src-CVrkkuph.js → src-CQcwtQ4u.js} +1 -1
  57. package/dist/assets/{src-C76fLvMo.js → src-CSLTj9M0.js} +1 -1
  58. package/dist/assets/{src-DEDH6rgD.js → src-CVMB8d9V.js} +1 -1
  59. package/dist/assets/{src-AaMeWnPg.js → src-CW-yI1QF.js} +1 -1
  60. package/dist/assets/{src-CwtznTUh.js → src-Cldq12DB.js} +1 -1
  61. package/dist/assets/{src-YSzd3JaE.js → src-Cq7iaGwG.js} +1 -1
  62. package/dist/assets/src-CrIOZO6Q.js +1 -0
  63. package/dist/assets/{src-BBa4IgZu.js → src-D6YMn8QE.js} +1 -1
  64. package/dist/assets/{src-BxsItvRt.js → src-DlE7vhyV.js} +1 -1
  65. package/dist/assets/{src-Cp_tlXaj2.js → src-Dm6EOjlD2.js} +1 -1
  66. package/dist/assets/{src-kp91nAOQ.js → src-EnowVU3i.js} +1 -1
  67. package/dist/assets/{src-DdtX_tOa.js → src-R62BabNC.js} +1 -1
  68. package/dist/assets/{src-BkfNNzHS.js → src-iQwVT5tJ.js} +1 -1
  69. package/dist/assets/{src-P7xgnaCz.js → src-juXm-tHq.js} +1 -1
  70. package/dist/assets/{src-BfR4XKOl.js → src-w4NORKjp.js} +2 -2
  71. package/dist/assets/{ui-uxAWrOIV.js → ui-6KU4Adjx.js} +2 -2
  72. package/dist/index.html +21 -24
  73. package/dist-vendor/i18next.js +1 -1
  74. package/dist-vendor/jsx-runtime.js +1 -1
  75. package/dist-vendor/react-dom.js +3 -3
  76. package/dist-vendor/{react-CdP73OPv.js → react-yLkyEioL.js} +2 -2
  77. package/dist-vendor/react.js +1 -1
  78. package/dist-vendor/web-sdk.js +224 -210
  79. package/package.json +5 -6
  80. package/dist/assets/ExtendReasonInfo-C9TZgX6o.js +0 -1
  81. package/dist/assets/MarkdownEditor-BRFu6dnQ.js +0 -1057
  82. package/dist/assets/SettingsPage-CSzqxAX9.js +0 -2
  83. package/dist/assets/Toolbar-DFtG8IB3.js +0 -2
  84. package/dist/assets/button-Dlm2GmQs.js +0 -5
  85. package/dist/assets/development-ChLInqDF.js +0 -1
  86. package/dist/assets/dist-CdqdWApy.js +0 -1
  87. package/dist/assets/dist-DCRaLcSL.js +0 -11
  88. package/dist/assets/dist-DKL_233B.js +0 -1
  89. package/dist/assets/dist-DdxaiEI9.js +0 -23
  90. package/dist/assets/dist-DkJnaE0X.js +0 -1
  91. package/dist/assets/dist-TJOGNsUr.js +0 -9
  92. package/dist/assets/dist-qu79xOH5.js +0 -1
  93. package/dist/assets/esm-BNZSV1P6.js +0 -24
  94. package/dist/assets/esm-DCMdnC8o.js +0 -1
  95. package/dist/assets/field-frame-9VMMov4O.js +0 -1
  96. package/dist/assets/fields-CQxZPdka.js +0 -64
  97. package/dist/assets/json-2IEVhd4i.js +0 -41
  98. package/dist/assets/lib-Co4B8qAy.js +0 -1
  99. package/dist/assets/lib-DqTnDi2O.js +0 -1
  100. package/dist/assets/micromark-extension-gfm-Cu0AwUgc.js +0 -2
  101. package/dist/assets/purify.es-sLXpNpJ5.js +0 -3
  102. package/dist/assets/shared-D0511v9d.js +0 -1
  103. package/dist/assets/src-BGSRFSIw.js +0 -1
  104. package/dist/assets/src-BZoeScha.js +0 -1
  105. package/dist/assets/src-CSK1-7o-.js +0 -1
  106. package/dist/assets/src-GOwr0Acm.js +0 -1
  107. /package/dist/assets/{dist-CJsxDt1W2.js → dist-CJsxDt1W.js} +0 -0
  108. /package/dist/assets/{dist-CUwIxyXc2.js → dist-CUwIxyXc.js} +0 -0
@@ -0,0 +1 @@
1
+ import{t as e}from"./color-names-CKKZbleV.js";import{D as t,O as n,b as r,i,k as a,v as o,y as s}from"./fields-B4fdbc1_.js";import{t as c}from"./countries-BSm8PNWW.js";import{n as l}from"./plugin-q1oOYqt7.js";import{t as u}from"./settings-Dfvzj6n2.js";var d=l({id:`core`,version:`1.0.0`,dependsOn:[],settings:u({label:`core.settings.label`,fields:[i.string({key:`publicUrl`,label:`core.settings.publicUrl`,rules:{pattern:`^https?://[^/\\s]+/?$`,messageKey:`core.settings.publicUrlHint`}}),i.select({key:`language`,label:`core.settings.language`,default:`uk`,options:[{value:`uk`,title:`Українська`},{value:`ru`,title:`Русский`},{value:`en`,title:`English`}]})]}),optionLists:[{name:`countries`,options:c.map(e=>({value:e.code,title:`core.countries.${e.code}`,icon:{kind:`icon`,value:`flag:${e.code}`},subtitle:e.code.toUpperCase()}))},{name:`colors`,options:e.map(e=>({value:e.name,title:`core.colors.${e.name}`,icon:{kind:`swatch`,value:e.hex},subtitle:e.hex}))},{name:`sex`,options:[...s]},{name:`weekdays`,options:[...r]},{name:`languages`,options:o.map(e=>({value:e.code,title:e.name}))},{name:`currencies`,options:t.map(e=>({value:e,title:n(e),subtitle:a(e)}))}]});export{d as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`console`,version:`1.0.0`,dependsOn:[],settings:n({label:`console.settings.label`,icon:`lucide:terminal`,fields:[e.info(`console.settings.intro`),e.divider(),e.info(`console.settings.claude`),e.divider(),e.info(`console.settings.codex`),e.divider(),e.info(`console.settings.skills`)]})});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`console`,version:`1.0.0`,dependsOn:[],settings:n({label:`console.settings.label`,icon:`lucide:terminal`,fields:[e.info(`console.settings.intro`),e.divider(),e.info(`console.settings.claude`),e.divider(),e.info(`console.settings.codex`),e.divider(),e.info(`console.settings.skills`)]})});export{r as default};
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"./src-BB5pAQoq.js";export{e as default,n as fin,t as iban};
@@ -1 +1 @@
1
- import{B as e,C as t,E as n,F as r,I as i,N as a,P as o,R as s,_ as c,i as l,j as u,t as d,w as f,x as p,z as m}from"./fields-CQxZPdka.js";import{i as h}from"./shelf-iRNXQLvo.js";import{t as g}from"./extend-DrbW8fXY.js";import{n as _,r as v}from"./plugin-q1oOYqt7.js";import{t as y}from"./settings-Dfvzj6n2.js";import{i as b,r as x,s as S}from"./data-size-DGgafqIa.js";var C=(r,i)=>e().superRefine((e,a)=>{r.safeParse(t(e)).success||a.addIssue({code:u.custom,message:n(i)})}),w=()=>r().int().min(0).max(255),T=()=>r().int().min(0).max(65535),E=m([w(),w(),w(),w()]),D=m([T(),T(),T(),T(),T(),T(),T(),T()]),O=i({v:o(4),a:E}),k=i({v:o(6),a:D}),A=a(`v`,[O,k]);function j(e){let t=p(e),n=t.required??!1,r=C(A,`ip_structure`);return c(t,d({kind:`ip`,label:t.label??``,required:n,prim:`ip`,column:`text`,hints:{},zod:f(r,n)},t.multiple??!1))}var M=/^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;function N(e){let t=p(e),r=t.required??!1,i=s().regex(M,{message:n(`pattern`,{messageKey:`core.presets.mac`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{mask:`macAddress`},zod:f(i,r)},t.multiple??!1))}var P=/^[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?(\.[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)*$/;function F(e){let t=p(e),r=t.required??!1,i=s().regex(P,{message:n(`pattern`,{messageKey:`core.presets.hostname`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:f(i,r)},t.multiple??!1))}var I=/^\d{15}$/;function L(e){let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=e.charCodeAt(r)-48;n&&(i*=2,i>9&&(i-=9)),t+=i,n=!n}return t%10==0}function R(e){let t=p(e),r=t.required??!1,i=s().regex(I,{message:n(`pattern`,{messageKey:`core.presets.imei`})}).refine(L,{message:n(`pattern`,{messageKey:`core.presets.imei`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:f(i,r)},t.multiple??!1))}var z=a(`v`,[O.extend({p:r().int().min(0).max(32)}),k.extend({p:r().int().min(0).max(128)})]);function B(e){let t=p(e),n=t.required??!1,r=C(z,`cidr_structure`);return c(t,d({kind:`cidr`,label:t.label??``,required:n,prim:`cidr`,column:`text`,hints:{},zod:f(r,n)},t.multiple??!1))}var V=h({shelf:`network`,library:`devices`,label:`devices.network.label`,icon:`lucide:globe`,claude:`A network segment. subnet — CIDR. gateway — the gateway. domain — the segment's DNS suffix (e.g. lan → host FQDN = hostname.lan).`,views:{table:[`subnet`,`gateway`,`dnsPrimary`]},fields:[l.title({key:`name`,label:`core.fields.name`}),l.text({key:`description`,label:`devices.network.fields.description`,rules:{max:1e3}}),l.int({key:`vlan`,label:`devices.network.fields.vlan`,rules:{min:1,max:4094}}),F({key:`domain`,label:`devices.network.fields.domain`}),B({key:`subnet`,label:`devices.network.fields.subnet`}),j({key:`gateway`,label:`devices.network.fields.gateway`}),j({key:`dnsPrimary`,label:`devices.network.fields.dnsPrimary`}),j({key:`dnsFallback`,label:`devices.network.fields.dnsFallback`}),j({key:`poolStart`,label:`devices.network.fields.poolStart`}),j({key:`poolEnd`,label:`devices.network.fields.poolEnd`})]}),H=[`access`,`infra`,`monitoring`,`database`,`automation`,`network`,`media`,`lighting`,`files`,`downloads`,`finance`,`calendars`,`web`,`devices`,`other`].map(e=>({value:e,title:`devices.service.cat.${e}`})),U=[{value:`http`,title:`devices.accessTypes.http`},{value:`https`,title:`devices.accessTypes.https`},{value:`ssh`,title:`devices.accessTypes.ssh`},{value:`mysql`,title:`devices.accessTypes.mysql`},{value:`mqtt`,title:`devices.accessTypes.mqtt`},{value:`ws`,title:`devices.accessTypes.ws`},{value:`dns`,title:`devices.accessTypes.dns`},{value:`other`,title:`devices.accessTypes.other`}],W=h({shelf:`service`,library:`devices`,label:`devices.service_catalog.label`,icon:`lucide:layers`,claude:`Catalog of network service types. name — human-readable name (custom, not translated). code — slug (auto-link key from the scanner). category — tag slugs (multi; SERVICE_CATEGORIES as hints). description_mode — description source: 'key' (i18n key in the description field) or 'own' (free text in the description_text field). SERVICE_META defaults → 'key' + devices.service.desc.<code>; user records are usually 'own'.`,views:{table:[`code`,`category`]},fields:[l.title({key:`name`,label:`core.fields.name`}),l.string({key:`code`,label:`devices.service.code`,rules:{max:60}}),l.select({key:`category`,label:`devices.service.category`,options:[...H],multiple:!0}),l.select({key:`description_mode`,label:`devices.service.description_mode`,options:[{value:`key`,title:`devices.service.description_mode_key`},{value:`own`,title:`devices.service.description_mode_own`}],default:`key`}),l.i18n({key:`description`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`key`}}}}),l.text({key:`description_text`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`own`}}}})]}),G=g({id:`device_info`,label:`devices.device_info.label`,icon:`lucide:monitor`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`device`},claude:`Network and technical specs of a device. hostname — FQDN on the LAN. addresses[] — network addresses (ip/mac, multi-NIC). group — human-friendly. services[] — inline services (type/title/links[]/secrets[]). disks_usage[] — disk usage (SSH).`,fields:[l.sheet({fields:[[l.string({key:`hostname`,label:`devices.device_info.fields.hostname`,rules:{max:120}}),l.select({key:`group`,label:`devices.device_info.fields.group`,options:`device-groups`})],[l.string({key:`vendor`,label:`devices.device_info.fields.vendor`,rules:{max:80}}),l.string({key:`model`,label:`devices.device_info.fields.model`,rules:{max:120}})],[l.string({key:`os`,label:`devices.device_info.fields.os`,rules:{max:100}}),l.string({key:`kernel`,label:`devices.device_info.fields.kernel`,rules:{max:100}}),l.string({key:`arch`,label:`devices.device_info.fields.arch`,rules:{max:30}})],[l.string({key:`cpu`,label:`devices.device_info.fields.cpu`,rules:{max:150}}),l.string({key:`gpu`,label:`devices.device_info.fields.gpu`,rules:{max:150}}),S({key:`ram`,label:`devices.device_info.fields.ram`})]]}),l.table({key:`addresses`,label:`devices.device_info.fields.addresses`,fields:[j({key:`ip`,label:`devices.device_info.fields.ip`}),N({key:`mac`,label:`devices.device_info.fields.mac`})]}),l.group({key:`disks_usage`,label:`devices.device_info.fields.disks_usage`,multiple:!0,fields:[l.string({key:`mount`,label:`devices.device_info.disk.mount`,rules:{max:80}}),x({key:`size`,label:`devices.device_info.disk.size`,system:`binary`,unit:`GiB`}),x({key:`used`,label:`devices.device_info.disk.used`,system:`binary`,unit:`GiB`}),x({key:`free`,label:`devices.device_info.disk.free`,system:`binary`,unit:`GiB`})]}),l.keyed({key:`services`,label:`devices.device_info.fields.services`,by:l.relation({key:`service`,label:`devices.service.type`,options:{library:`devices`,shelf:`service`}}),fields:[l.smallText({key:`description`,label:`devices.service.description`,rules:{max:500}}),l.boolean({key:`hide`,label:`devices.service.hide`}),l.table({key:`links`,label:`devices.service.links`,fields:[l.url({key:`url`,label:`devices.service.url`}),l.select({key:`access`,label:`devices.service.access`,options:`access-types`}),l.select({key:`visibility`,label:`devices.service.visibility`,options:`visibility-types`})]}),l.keyValue({key:`secrets`,label:`devices.service.secrets`,option:l.password({}),multiple:!0,view:{keyLabel:`devices.service.secretName`,valueLabel:`devices.service.secretValue`}})]})]}),K={ssh_config_path:`~/.ssh/config`,pihole_conf_path:``,syncthing_ini_path:`~/.config/syncthingtray.ini`,gtk_bookmarks_path:`~/.config/gtk-3.0/bookmarks`,kodi_sources_path:`~/.local/share/kodi/userdata/sources.xml`,krdc_bookmarks_path:`~/.local/share/krdc/bookmarks.xml`,rclone_config_path:`~/.config/rclone/rclone.conf`,remmina_dir:`~/.local/share/remmina`,remoteview_dir:`~/.local/share/remoteview`,delfin_config_path:`~/.config/delfin/config.toml`},q=`docker compose exec pihole pihole reloaddns`,J={ip:j,cidr:B,mac:N,hostname:F,imei:R,dataSize:x,ram:S,diskSize:b},Y=_({id:`devices`,version:`1.0.0`,dependsOn:[`things`],settings:y({label:`devices.settings.label`,icon:`lucide:radar`,fields:[l.info(`devices.settings.scan_info`),l.button({label:`devices.settings.scan_button`,value:`devices.runScan`,icon:`lucide:radar`}),l.info(`devices.settings.secrets_help`),l.info(`devices.settings.sync_targets_info`),l.localFile({key:`ssh_config_path`,label:`devices.settings.ssh_config_path`,default:K.ssh_config_path}),l.localFile({key:`pihole_conf_path`,label:`devices.settings.pihole_conf_path`,default:K.pihole_conf_path}),l.string({key:`pihole_reload_cmd`,label:`devices.settings.pihole_reload_cmd`,default:q}),l.localFile({key:`syncthing_ini_path`,label:`devices.settings.syncthing_ini_path`,default:K.syncthing_ini_path}),l.localFile({key:`gtk_bookmarks_path`,label:`devices.settings.gtk_bookmarks_path`,default:K.gtk_bookmarks_path}),l.localFile({key:`kodi_sources_path`,label:`devices.settings.kodi_sources_path`,default:K.kodi_sources_path}),l.localFile({key:`krdc_bookmarks_path`,label:`devices.settings.krdc_bookmarks_path`,default:K.krdc_bookmarks_path}),l.localFile({key:`rclone_config_path`,label:`devices.settings.rclone_config_path`,default:K.rclone_config_path}),l.localDir({key:`remmina_dir`,label:`devices.settings.remmina_dir`,default:K.remmina_dir}),l.localDir({key:`remoteview_dir`,label:`devices.settings.remoteview_dir`,default:K.remoteview_dir}),l.localFile({key:`delfin_config_path`,label:`devices.settings.delfin_config_path`,default:K.delfin_config_path})]}),libraries:[{meta:v({id:`devices`,label:`devices.library.label`,icon:`lucide:globe`,agent:`Network subnets and the service catalog (network, service).`}),shelves:[V,W]}],extends_:[G],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`device`,title:`devices.device_info.label`}]}],optionLists:[{name:`access-types`,options:[...U]},{name:`visibility-types`,options:[{value:`lan`,title:`devices.visibilityTypes.lan`},{value:`public`,title:`devices.visibilityTypes.public`}]},{name:`device-groups`,options:[{value:`pc`,title:`devices.deviceGroups.pc`},{value:`server`,title:`devices.deviceGroups.server`},{value:`mobile`,title:`devices.deviceGroups.mobile`},{value:`tv`,title:`devices.deviceGroups.tv`},{value:`iot`,title:`devices.deviceGroups.iot`},{value:`network`,title:`devices.deviceGroups.network`},{value:`other`,title:`devices.deviceGroups.other`}]}]});export{R as a,F as i,Y as n,j as o,B as r,N as s,J as t};
1
+ import{B as e,C as t,E as n,F as r,I as i,N as a,P as o,R as s,_ as c,i as l,j as u,t as d,w as f,x as p,z as m}from"./fields-B4fdbc1_.js";import{i as h}from"./shelf-e7xL1R3N.js";import{t as g}from"./extend-DDZLGxKJ.js";import{n as _,r as v}from"./plugin-q1oOYqt7.js";import{t as y}from"./settings-Dfvzj6n2.js";import{i as b,r as x,s as S}from"./data-size-DCGcE2iT.js";var C=(r,i)=>e().superRefine((e,a)=>{r.safeParse(t(e)).success||a.addIssue({code:u.custom,message:n(i)})}),w=()=>r().int().min(0).max(255),T=()=>r().int().min(0).max(65535),E=m([w(),w(),w(),w()]),D=m([T(),T(),T(),T(),T(),T(),T(),T()]),O=i({v:o(4),a:E}),k=i({v:o(6),a:D}),A=a(`v`,[O,k]);function j(e){let t=p(e),n=t.required??!1,r=C(A,`ip_structure`);return c(t,d({kind:`ip`,label:t.label??``,required:n,prim:`ip`,column:`text`,hints:{},zod:f(r,n)},t.multiple??!1))}var M=/^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;function N(e){let t=p(e),r=t.required??!1,i=s().regex(M,{message:n(`pattern`,{messageKey:`core.presets.mac`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{mask:`macAddress`},zod:f(i,r)},t.multiple??!1))}var P=/^[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?(\.[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)*$/;function F(e){let t=p(e),r=t.required??!1,i=s().regex(P,{message:n(`pattern`,{messageKey:`core.presets.hostname`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:f(i,r)},t.multiple??!1))}var I=/^\d{15}$/;function L(e){let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=e.charCodeAt(r)-48;n&&(i*=2,i>9&&(i-=9)),t+=i,n=!n}return t%10==0}function R(e){let t=p(e),r=t.required??!1,i=s().regex(I,{message:n(`pattern`,{messageKey:`core.presets.imei`})}).refine(L,{message:n(`pattern`,{messageKey:`core.presets.imei`})});return c(t,d({kind:`text`,label:t.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:f(i,r)},t.multiple??!1))}var z=a(`v`,[O.extend({p:r().int().min(0).max(32)}),k.extend({p:r().int().min(0).max(128)})]);function B(e){let t=p(e),n=t.required??!1,r=C(z,`cidr_structure`);return c(t,d({kind:`cidr`,label:t.label??``,required:n,prim:`cidr`,column:`text`,hints:{},zod:f(r,n)},t.multiple??!1))}var V=h({shelf:`network`,library:`devices`,label:`devices.network.label`,icon:`lucide:globe`,claude:`A network segment. subnet — CIDR. gateway — the gateway. domain — the segment's DNS suffix (e.g. lan → host FQDN = hostname.lan).`,views:{table:[`subnet`,`gateway`,`dnsPrimary`]},fields:[l.title({key:`name`,label:`core.fields.name`}),l.text({key:`description`,label:`devices.network.fields.description`,rules:{max:1e3}}),l.int({key:`vlan`,label:`devices.network.fields.vlan`,rules:{min:1,max:4094}}),F({key:`domain`,label:`devices.network.fields.domain`}),B({key:`subnet`,label:`devices.network.fields.subnet`}),j({key:`gateway`,label:`devices.network.fields.gateway`}),j({key:`dnsPrimary`,label:`devices.network.fields.dnsPrimary`}),j({key:`dnsFallback`,label:`devices.network.fields.dnsFallback`}),j({key:`poolStart`,label:`devices.network.fields.poolStart`}),j({key:`poolEnd`,label:`devices.network.fields.poolEnd`})]}),H=[`access`,`infra`,`monitoring`,`database`,`automation`,`network`,`media`,`lighting`,`files`,`downloads`,`finance`,`calendars`,`web`,`devices`,`other`].map(e=>({value:e,title:`devices.service.cat.${e}`})),U=[{value:`http`,title:`devices.accessTypes.http`},{value:`https`,title:`devices.accessTypes.https`},{value:`ssh`,title:`devices.accessTypes.ssh`},{value:`mysql`,title:`devices.accessTypes.mysql`},{value:`mqtt`,title:`devices.accessTypes.mqtt`},{value:`ws`,title:`devices.accessTypes.ws`},{value:`dns`,title:`devices.accessTypes.dns`},{value:`other`,title:`devices.accessTypes.other`}],W=h({shelf:`service`,library:`devices`,label:`devices.service_catalog.label`,icon:`lucide:layers`,claude:`Catalog of network service types. name — human-readable name (custom, not translated). code — slug (auto-link key from the scanner). category — tag slugs (multi; SERVICE_CATEGORIES as hints). description_mode — description source: 'key' (i18n key in the description field) or 'own' (free text in the description_text field). SERVICE_META defaults → 'key' + devices.service.desc.<code>; user records are usually 'own'.`,views:{table:[`code`,`category`]},fields:[l.title({key:`name`,label:`core.fields.name`}),l.string({key:`code`,label:`devices.service.code`,rules:{max:60}}),l.select({key:`category`,label:`devices.service.category`,options:[...H],multiple:!0}),l.select({key:`description_mode`,label:`devices.service.description_mode`,options:[{value:`key`,title:`devices.service.description_mode_key`},{value:`own`,title:`devices.service.description_mode_own`}],default:`key`}),l.i18n({key:`description`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`key`}}}}),l.text({key:`description_text`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`own`}}}})]}),G=g({id:`device_info`,label:`devices.device_info.label`,icon:`lucide:monitor`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`device`},claude:`Network and technical specs of a device. hostname — FQDN on the LAN. addresses[] — network addresses (ip/mac, multi-NIC). group — human-friendly. services[] — inline services (type/title/links[]/secrets[]). disks_usage[] — disk usage (SSH).`,fields:[l.sheet({fields:[[l.string({key:`hostname`,label:`devices.device_info.fields.hostname`,rules:{max:120}}),l.select({key:`group`,label:`devices.device_info.fields.group`,options:`device-groups`})],[l.string({key:`vendor`,label:`devices.device_info.fields.vendor`,rules:{max:80}}),l.string({key:`model`,label:`devices.device_info.fields.model`,rules:{max:120}})],[l.string({key:`os`,label:`devices.device_info.fields.os`,rules:{max:100}}),l.string({key:`kernel`,label:`devices.device_info.fields.kernel`,rules:{max:100}}),l.string({key:`arch`,label:`devices.device_info.fields.arch`,rules:{max:30}})],[l.string({key:`cpu`,label:`devices.device_info.fields.cpu`,rules:{max:150}}),l.string({key:`gpu`,label:`devices.device_info.fields.gpu`,rules:{max:150}}),S({key:`ram`,label:`devices.device_info.fields.ram`})]]}),l.table({key:`addresses`,label:`devices.device_info.fields.addresses`,fields:[j({key:`ip`,label:`devices.device_info.fields.ip`}),N({key:`mac`,label:`devices.device_info.fields.mac`})]}),l.group({key:`disks_usage`,label:`devices.device_info.fields.disks_usage`,multiple:!0,fields:[l.string({key:`mount`,label:`devices.device_info.disk.mount`,rules:{max:80}}),x({key:`size`,label:`devices.device_info.disk.size`,system:`binary`,unit:`GiB`}),x({key:`used`,label:`devices.device_info.disk.used`,system:`binary`,unit:`GiB`}),x({key:`free`,label:`devices.device_info.disk.free`,system:`binary`,unit:`GiB`})]}),l.keyed({key:`services`,label:`devices.device_info.fields.services`,by:l.relation({key:`service`,label:`devices.service.type`,options:{library:`devices`,shelf:`service`}}),fields:[l.smallText({key:`description`,label:`devices.service.description`,rules:{max:500}}),l.boolean({key:`hide`,label:`devices.service.hide`}),l.table({key:`links`,label:`devices.service.links`,fields:[l.url({key:`url`,label:`devices.service.url`}),l.select({key:`access`,label:`devices.service.access`,options:`access-types`}),l.select({key:`visibility`,label:`devices.service.visibility`,options:`visibility-types`})]}),l.keyValue({key:`secrets`,label:`devices.service.secrets`,option:l.password({}),multiple:!0,view:{keyLabel:`devices.service.secretName`,valueLabel:`devices.service.secretValue`}})]})]}),K={ssh_config_path:`~/.ssh/config`,pihole_conf_path:``,syncthing_ini_path:`~/.config/syncthingtray.ini`,gtk_bookmarks_path:`~/.config/gtk-3.0/bookmarks`,kodi_sources_path:`~/.local/share/kodi/userdata/sources.xml`,krdc_bookmarks_path:`~/.local/share/krdc/bookmarks.xml`,rclone_config_path:`~/.config/rclone/rclone.conf`,remmina_dir:`~/.local/share/remmina`,remoteview_dir:`~/.local/share/remoteview`,delfin_config_path:`~/.config/delfin/config.toml`},q=`docker compose exec pihole pihole reloaddns`,J={ip:j,cidr:B,mac:N,hostname:F,imei:R,dataSize:x,ram:S,diskSize:b},Y=_({id:`devices`,version:`1.0.0`,dependsOn:[`things`],settings:y({label:`devices.settings.label`,icon:`lucide:radar`,fields:[l.info(`devices.settings.scan_info`),l.button({label:`devices.settings.scan_button`,value:`devices.runScan`,icon:`lucide:radar`}),l.info(`devices.settings.secrets_help`),l.info(`devices.settings.sync_targets_info`),l.localFile({key:`ssh_config_path`,label:`devices.settings.ssh_config_path`,default:K.ssh_config_path}),l.localFile({key:`pihole_conf_path`,label:`devices.settings.pihole_conf_path`,default:K.pihole_conf_path}),l.string({key:`pihole_reload_cmd`,label:`devices.settings.pihole_reload_cmd`,default:q}),l.localFile({key:`syncthing_ini_path`,label:`devices.settings.syncthing_ini_path`,default:K.syncthing_ini_path}),l.localFile({key:`gtk_bookmarks_path`,label:`devices.settings.gtk_bookmarks_path`,default:K.gtk_bookmarks_path}),l.localFile({key:`kodi_sources_path`,label:`devices.settings.kodi_sources_path`,default:K.kodi_sources_path}),l.localFile({key:`krdc_bookmarks_path`,label:`devices.settings.krdc_bookmarks_path`,default:K.krdc_bookmarks_path}),l.localFile({key:`rclone_config_path`,label:`devices.settings.rclone_config_path`,default:K.rclone_config_path}),l.localDir({key:`remmina_dir`,label:`devices.settings.remmina_dir`,default:K.remmina_dir}),l.localDir({key:`remoteview_dir`,label:`devices.settings.remoteview_dir`,default:K.remoteview_dir}),l.localFile({key:`delfin_config_path`,label:`devices.settings.delfin_config_path`,default:K.delfin_config_path})]}),libraries:[{meta:v({id:`devices`,label:`devices.library.label`,icon:`lucide:globe`,agent:`Network subnets and the service catalog (network, service).`}),shelves:[V,W]}],extends_:[G],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`device`,title:`devices.device_info.label`}]}],optionLists:[{name:`access-types`,options:[...U]},{name:`visibility-types`,options:[{value:`lan`,title:`devices.visibilityTypes.lan`},{value:`public`,title:`devices.visibilityTypes.public`}]},{name:`device-groups`,options:[{value:`pc`,title:`devices.deviceGroups.pc`},{value:`server`,title:`devices.deviceGroups.server`},{value:`mobile`,title:`devices.deviceGroups.mobile`},{value:`tv`,title:`devices.deviceGroups.tv`},{value:`iot`,title:`devices.deviceGroups.iot`},{value:`network`,title:`devices.deviceGroups.network`},{value:`other`,title:`devices.deviceGroups.other`}]}]});export{R as a,F as i,Y as n,j as o,B as r,N as s,J as t};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`meter_reading`,library:`home`,label:`home.meter_reading.label`,icon:`lucide:gauge`,claude:`Utility meter readings for a date. name — reading period, e.g. "2026-05".
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`meter_reading`,library:`home`,label:`home.meter_reading.label`,icon:`lucide:gauge`,claude:`Utility meter readings for a date. name — reading period, e.g. "2026-05".
2
2
  date — reading date. cold_water/hot_water — water meter readings (m³).
3
3
  electricity — electricity meter reading (kWh). gas — gas meter reading (m³).
4
4
  Stores RAW cumulative readings, not consumption (the difference is a derived calculation).`,views:{inline:[`date`],table:[`date`,`cold_water`,`hot_water`,`electricity`,`gas`]},fields:[e.date({key:`date`,label:`home.meter_reading.fields.date`,required:!0,rules:{min:`2000-01-01`,max:`today`}}),e.real({key:`cold_water`,label:`home.meter_reading.fields.cold_water`,rules:{min:0}}),e.real({key:`hot_water`,label:`home.meter_reading.fields.hot_water`,rules:{min:0}}),e.real({key:`electricity`,label:`home.meter_reading.fields.electricity`,rules:{min:0}}),e.real({key:`gas`,label:`home.meter_reading.fields.gas`,rules:{min:0}}),e.text({key:`note`,label:`home.meter_reading.fields.note`,rules:{max:500}})]}),a=t({shelf:`room`,library:`home`,label:`home.room.label`,icon:`lucide:door-open`,claude:`A room/space in the apartment. name — name (Bedroom, Kitchen). area — area (m²). This is a reference list of places: a target for relations from material (where a material was used). Does not store the materials themselves.`,views:{inline:[`name`],table:[`name`,`area`]},fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.measured({key:`area`,label:`home.room.fields.area`,options:`area`,rules:{min:0}}),e.text({key:`note`,label:`home.room.fields.note`,rules:{max:500}})]}),o=t({shelf:`material`,library:`home`,label:`home.material.label`,icon:`lucide:paint-roller`,claude:`A material/paint used in renovation. One record = a specific product (e.g. "Dulux Easycare, RAL 9010"). name — name, type — category, brand — manufacturer, color/color_code — color and tint code. rooms — relation to home/room (where used, can be several). price/quantity/store/bought_date/link — purchase data. photo/rating/notes — photos and impressions. Does NOT store a work log/timeline — only a catalog of "what was bought and where it is used".`,views:{inline:[`name`,`color`],table:[`name`,`type`,`color`,`brand`,`rooms`]},fields:[e.group({label:`home.material.group.identity`,fields:[e.string({key:`name`,label:`core.fields.name`,required:!0}),e.select({key:`type`,label:`core.fields.type`,options:[{value:`paint`,title:`home.material.options.type.paint`},{value:`primer`,title:`home.material.options.type.primer`},{value:`lacquer`,title:`home.material.options.type.lacquer`},{value:`enamel`,title:`home.material.options.type.enamel`},{value:`plaster`,title:`home.material.options.type.plaster`},{value:`tile`,title:`home.material.options.type.tile`},{value:`laminate`,title:`home.material.options.type.laminate`},{value:`wallpaper`,title:`home.material.options.type.wallpaper`},{value:`skirting`,title:`home.material.options.type.skirting`},{value:`panel`,title:`home.material.options.type.panel`},{value:`putty`,title:`home.material.options.type.putty`},{value:`glue`,title:`home.material.options.type.glue`},{value:`cement`,title:`home.material.options.type.cement`},{value:`drywall`,title:`home.material.options.type.drywall`},{value:`insulation`,title:`home.material.options.type.insulation`},{value:`fixture`,title:`home.material.options.type.fixture`},{value:`plumbing`,title:`home.material.options.type.plumbing`},{value:`other`,title:`home.material.options.type.other`}]}),e.string({key:`brand`,label:`home.material.fields.brand`,rules:{max:120}}),e.color({key:`color`,label:`home.material.fields.color`}),e.string({key:`color_code`,label:`home.material.fields.color_code`,rules:{max:60}}),e.relation({key:`rooms`,label:`home.material.fields.rooms`,options:{library:`home`,shelf:`room`},multiple:!0})]}),e.group({label:`home.material.group.purchase`,fields:[e.measured({key:`price`,label:`home.material.fields.price`,options:`currency`,rules:{min:0}}),e.measured({key:`quantity`,label:`home.material.fields.quantity`,options:[{value:`l`,label:`core.units.l`},{value:`kg`,label:`core.units.kg`},{value:`m2`,label:`core.units.m2`},{value:`pcs`,label:`core.units.pcs`}],rules:{min:0}}),e.string({key:`store`,label:`home.material.fields.store`,rules:{max:120}}),e.date({key:`bought_date`,label:`home.material.fields.bought_date`,rules:{max:`today`}}),e.url({key:`link`,label:`home.material.fields.link`})]}),e.group({label:`home.material.group.media`,fields:[e.image({key:`photo`,label:`home.material.fields.photo`,multiple:!0}),e.rating({key:`rating`,label:`home.material.fields.rating`,rules:{max:5}}),e.markdown({key:`notes`,label:`home.material.fields.notes`})]})]}),s=n({id:`home`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`home`,label:`home.library.label`,icon:`lucide:house`,agent:`The home itself — renovation materials, utility meter readings, rooms.`}),shelves:[i,a,o]}]});export{s as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{t}from"./extend-DrbW8fXY.js";import{n}from"./plugin-q1oOYqt7.js";var r=n({id:`drone`,version:`1.0.0`,dependsOn:[`things`],extends_:[t({id:`drone`,label:`drone.drone.label`,icon:`tb:drone`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone`},claude:`FPV drone technical characteristics. frame_size — frame size (e.g. 3.5"). motors — motors. firmware — firmware (Betaflight/INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`frame_size`,label:`drone.drone.fields.frame_size`,rules:{max:40}}),e.string({key:`purpose`,label:`drone.drone.fields.purpose`,rules:{max:200}}),e.string({key:`motors`,label:`drone.drone.fields.motors`,rules:{max:150}}),e.string({key:`props`,label:`drone.drone.fields.props`,rules:{max:80}}),e.string({key:`camera`,label:`drone.drone.fields.camera`,rules:{max:100}}),e.string({key:`flight_controller`,label:`drone.drone.fields.flight_controller`,rules:{max:100}}),e.string({key:`vtx`,label:`drone.drone.fields.vtx`,rules:{max:100}}),e.string({key:`gps_module`,label:`drone.drone.fields.gps_module`,rules:{max:100}}),e.string({key:`radio_link`,label:`drone.drone.fields.radio_link`,rules:{max:80}}),e.string({key:`receiver`,label:`drone.drone.fields.receiver`,rules:{max:80}}),e.string({key:`video_system`,label:`drone.drone.fields.video_system`,rules:{max:80}}),e.string({key:`power_module`,label:`drone.drone.fields.power_module`,rules:{max:60}}),e.string({key:`flight_time`,label:`drone.drone.fields.flight_time`,rules:{max:60}}),e.string({key:`firmware`,label:`drone.drone.fields.firmware`,rules:{max:100}}),e.string({key:`firmware_target`,label:`drone.drone.fields.firmware_target`,rules:{max:80}}),e.text({key:`notes`,label:`drone.drone.fields.notes`,rules:{max:2e3}}),e.image({key:`photos`,label:`drone.drone.fields.photos`,multiple:!0})]}),t({id:`drone_battery`,label:`drone.drone_battery.label`,icon:`lucide:battery-full`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_battery`},claude:`FPV drone battery characteristics. cells — number of cells (1S/3S/4S). capacity — capacity in mAh. c_rate — discharge current. auw — all-up weight of the assembly in flight.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`brand`,label:`drone.drone_battery.fields.brand`,rules:{max:80}}),e.string({key:`charger`,label:`drone.drone_battery.fields.charger`,rules:{max:100}}),e.string({key:`cells`,label:`drone.drone_battery.fields.cells`,rules:{max:10}}),e.measured({key:`capacity`,label:`drone.drone_battery.fields.capacity`,options:`energy`}),e.string({key:`c_rate`,label:`drone.drone_battery.fields.c_rate`,rules:{max:20}}),e.string({key:`auw`,label:`drone.drone_battery.fields.auw`,rules:{max:40}})]}),t({id:`drone_vtx`,label:`drone.drone_vtx.label`,icon:`lucide:radio-tower`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_vtx`},claude:`FPV video transmitter characteristics. input_voltage — input voltage. output_power — power levels. protocol — control protocol (IRC Tramp, SmartAudio). channel_count — number of channels.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`input_voltage`,label:`drone.drone_vtx.fields.input_voltage`,rules:{max:40}}),e.string({key:`output_power`,label:`drone.drone_vtx.fields.output_power`,rules:{max:100}}),e.string({key:`protocol`,label:`drone.drone_vtx.fields.protocol`,rules:{max:60}}),e.string({key:`antenna_interface`,label:`drone.drone_vtx.fields.antenna_interface`,rules:{max:40}}),e.int({key:`channel_count`,label:`drone.drone_vtx.fields.channel_count`,rules:{min:0}}),e.string({key:`mounting`,label:`drone.drone_vtx.fields.mounting`,rules:{max:80}}),e.boolean({key:`built_in_microphone`,label:`drone.drone_vtx.fields.built_in_microphone`}),e.json({key:`frequency_groups`,label:`drone.drone_vtx.fields.frequency_groups`}),e.json({key:`output_power_levels`,label:`drone.drone_vtx.fields.output_power_levels`})]}),t({id:`drone_gps`,label:`drone.drone_gps.label`,icon:`lucide:satellite`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_gps_module`},claude:`FPV drone GPS module characteristics. gnss_chip — chipset. compass_chip — magnetometer. satellite_systems — supported satellite systems.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`gnss_chip`,label:`drone.drone_gps.fields.gnss_chip`,rules:{max:80}}),e.string({key:`compass_chip`,label:`drone.drone_gps.fields.compass_chip`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_gps.fields.barometer`}),e.string({key:`interface`,label:`drone.drone_gps.fields.interface`,rules:{max:40}}),e.string({key:`input_voltage`,label:`drone.drone_gps.fields.input_voltage`,rules:{max:40}}),e.int({key:`update_rate_hz`,label:`drone.drone_gps.fields.update_rate_hz`,rules:{min:0}}),e.int({key:`receiving_channels`,label:`drone.drone_gps.fields.receiving_channels`,rules:{min:0}}),e.json({key:`supported_protocols`,label:`drone.drone_gps.fields.supported_protocols`}),e.json({key:`baud_rates`,label:`drone.drone_gps.fields.baud_rates`}),e.json({key:`satellite_systems`,label:`drone.drone_gps.fields.satellite_systems`})]}),t({id:`drone_flight_controller`,label:`drone.drone_flight_controller.label`,icon:`lucide:sliders-horizontal`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_flight_controller`},claude:`FPV drone flight controller characteristics. mcu — processor (STM32F411/F405). gyro — gyroscope. supported_firmware — compatible firmware (Betaflight, INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`mcu`,label:`drone.drone_flight_controller.fields.mcu`,rules:{max:60}}),e.string({key:`gyro`,label:`drone.drone_flight_controller.fields.gyro`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_flight_controller.fields.barometer`}),e.string({key:`osd_chip`,label:`drone.drone_flight_controller.fields.osd_chip`,rules:{max:40}}),e.string({key:`blackbox`,label:`drone.drone_flight_controller.fields.blackbox`,rules:{max:40}}),e.boolean({key:`bluetooth`,label:`drone.drone_flight_controller.fields.bluetooth`}),e.boolean({key:`wifi`,label:`drone.drone_flight_controller.fields.wifi`}),e.boolean({key:`current_sensor_input`,label:`drone.drone_flight_controller.fields.current_sensor_input`}),e.string({key:`power_input`,label:`drone.drone_flight_controller.fields.power_input`,rules:{max:40}}),e.string({key:`constant_current`,label:`drone.drone_flight_controller.fields.constant_current`,rules:{max:20}}),e.string({key:`peak_current`,label:`drone.drone_flight_controller.fields.peak_current`,rules:{max:20}}),e.string({key:`bec_5v`,label:`drone.drone_flight_controller.fields.bec_5v`,rules:{max:20}}),e.string({key:`bec_9v`,label:`drone.drone_flight_controller.fields.bec_9v`,rules:{max:20}}),e.string({key:`mounting`,label:`drone.drone_flight_controller.fields.mounting`,rules:{max:60}}),e.int({key:`uart_count`,label:`drone.drone_flight_controller.fields.uart_count`,rules:{min:0}}),e.json({key:`supported_firmware`,label:`drone.drone_flight_controller.fields.supported_firmware`}),e.string({key:`firmware_target`,label:`drone.drone_flight_controller.fields.firmware_target`,rules:{max:80}}),e.string({key:`build_role`,label:`drone.drone_flight_controller.fields.build_role`,rules:{max:200}})]}),t({id:`drone_goggles`,label:`drone.drone_goggles.label`,icon:`lucide:glasses`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_goggles`},claude:`FPV goggles characteristics. display_size — display diagonal. frequency_bands — supported radio bands. battery_life — runtime on battery.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`display_size`,label:`drone.drone_goggles.fields.display_size`,rules:{max:20}}),e.string({key:`display_resolution`,label:`drone.drone_goggles.fields.display_resolution`,rules:{max:40}}),e.string({key:`display_brightness`,label:`drone.drone_goggles.fields.display_brightness`,rules:{max:30}}),e.string({key:`view_angle`,label:`drone.drone_goggles.fields.view_angle`,rules:{max:20}}),e.string({key:`antenna`,label:`drone.drone_goggles.fields.antenna`,rules:{max:80}}),e.json({key:`frequency_bands`,label:`drone.drone_goggles.fields.frequency_bands`}),e.string({key:`battery`,label:`drone.drone_goggles.fields.battery`,rules:{max:60}}),e.string({key:`battery_life`,label:`drone.drone_goggles.fields.battery_life`,rules:{max:40}}),e.string({key:`charging`,label:`drone.drone_goggles.fields.charging`,rules:{max:60}}),e.json({key:`band_channels`,label:`drone.drone_goggles.fields.band_channels`})]})],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`drone`,title:`drone.drone.label`},{value:`drone_battery`,title:`drone.drone_battery.label`},{value:`drone_vtx`,title:`drone.drone_vtx.label`},{value:`drone_gps_module`,title:`drone.drone_gps.label`},{value:`drone_flight_controller`,title:`drone.drone_flight_controller.label`},{value:`drone_goggles`,title:`drone.drone_goggles.label`},{value:`fpv-controller`,title:`drone.contrib.type.fpv_controller`},{value:`fpv-camera`,title:`drone.contrib.type.fpv_camera`}]}]});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{t}from"./extend-DDZLGxKJ.js";import{n}from"./plugin-q1oOYqt7.js";var r=n({id:`drone`,version:`1.0.0`,dependsOn:[`things`],extends_:[t({id:`drone`,label:`drone.drone.label`,icon:`tb:drone`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone`},claude:`FPV drone technical characteristics. frame_size — frame size (e.g. 3.5"). motors — motors. firmware — firmware (Betaflight/INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`frame_size`,label:`drone.drone.fields.frame_size`,rules:{max:40}}),e.string({key:`purpose`,label:`drone.drone.fields.purpose`,rules:{max:200}}),e.string({key:`motors`,label:`drone.drone.fields.motors`,rules:{max:150}}),e.string({key:`props`,label:`drone.drone.fields.props`,rules:{max:80}}),e.string({key:`camera`,label:`drone.drone.fields.camera`,rules:{max:100}}),e.string({key:`flight_controller`,label:`drone.drone.fields.flight_controller`,rules:{max:100}}),e.string({key:`vtx`,label:`drone.drone.fields.vtx`,rules:{max:100}}),e.string({key:`gps_module`,label:`drone.drone.fields.gps_module`,rules:{max:100}}),e.string({key:`radio_link`,label:`drone.drone.fields.radio_link`,rules:{max:80}}),e.string({key:`receiver`,label:`drone.drone.fields.receiver`,rules:{max:80}}),e.string({key:`video_system`,label:`drone.drone.fields.video_system`,rules:{max:80}}),e.string({key:`power_module`,label:`drone.drone.fields.power_module`,rules:{max:60}}),e.string({key:`flight_time`,label:`drone.drone.fields.flight_time`,rules:{max:60}}),e.string({key:`firmware`,label:`drone.drone.fields.firmware`,rules:{max:100}}),e.string({key:`firmware_target`,label:`drone.drone.fields.firmware_target`,rules:{max:80}}),e.text({key:`notes`,label:`drone.drone.fields.notes`,rules:{max:2e3}}),e.image({key:`photos`,label:`drone.drone.fields.photos`,multiple:!0})]}),t({id:`drone_battery`,label:`drone.drone_battery.label`,icon:`lucide:battery-full`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_battery`},claude:`FPV drone battery characteristics. cells — number of cells (1S/3S/4S). capacity — capacity in mAh. c_rate — discharge current. auw — all-up weight of the assembly in flight.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`brand`,label:`drone.drone_battery.fields.brand`,rules:{max:80}}),e.string({key:`charger`,label:`drone.drone_battery.fields.charger`,rules:{max:100}}),e.string({key:`cells`,label:`drone.drone_battery.fields.cells`,rules:{max:10}}),e.measured({key:`capacity`,label:`drone.drone_battery.fields.capacity`,options:`energy`}),e.string({key:`c_rate`,label:`drone.drone_battery.fields.c_rate`,rules:{max:20}}),e.string({key:`auw`,label:`drone.drone_battery.fields.auw`,rules:{max:40}})]}),t({id:`drone_vtx`,label:`drone.drone_vtx.label`,icon:`lucide:radio-tower`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_vtx`},claude:`FPV video transmitter characteristics. input_voltage — input voltage. output_power — power levels. protocol — control protocol (IRC Tramp, SmartAudio). channel_count — number of channels.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`input_voltage`,label:`drone.drone_vtx.fields.input_voltage`,rules:{max:40}}),e.string({key:`output_power`,label:`drone.drone_vtx.fields.output_power`,rules:{max:100}}),e.string({key:`protocol`,label:`drone.drone_vtx.fields.protocol`,rules:{max:60}}),e.string({key:`antenna_interface`,label:`drone.drone_vtx.fields.antenna_interface`,rules:{max:40}}),e.int({key:`channel_count`,label:`drone.drone_vtx.fields.channel_count`,rules:{min:0}}),e.string({key:`mounting`,label:`drone.drone_vtx.fields.mounting`,rules:{max:80}}),e.boolean({key:`built_in_microphone`,label:`drone.drone_vtx.fields.built_in_microphone`}),e.json({key:`frequency_groups`,label:`drone.drone_vtx.fields.frequency_groups`}),e.json({key:`output_power_levels`,label:`drone.drone_vtx.fields.output_power_levels`})]}),t({id:`drone_gps`,label:`drone.drone_gps.label`,icon:`lucide:satellite`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_gps_module`},claude:`FPV drone GPS module characteristics. gnss_chip — chipset. compass_chip — magnetometer. satellite_systems — supported satellite systems.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`gnss_chip`,label:`drone.drone_gps.fields.gnss_chip`,rules:{max:80}}),e.string({key:`compass_chip`,label:`drone.drone_gps.fields.compass_chip`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_gps.fields.barometer`}),e.string({key:`interface`,label:`drone.drone_gps.fields.interface`,rules:{max:40}}),e.string({key:`input_voltage`,label:`drone.drone_gps.fields.input_voltage`,rules:{max:40}}),e.int({key:`update_rate_hz`,label:`drone.drone_gps.fields.update_rate_hz`,rules:{min:0}}),e.int({key:`receiving_channels`,label:`drone.drone_gps.fields.receiving_channels`,rules:{min:0}}),e.json({key:`supported_protocols`,label:`drone.drone_gps.fields.supported_protocols`}),e.json({key:`baud_rates`,label:`drone.drone_gps.fields.baud_rates`}),e.json({key:`satellite_systems`,label:`drone.drone_gps.fields.satellite_systems`})]}),t({id:`drone_flight_controller`,label:`drone.drone_flight_controller.label`,icon:`lucide:sliders-horizontal`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_flight_controller`},claude:`FPV drone flight controller characteristics. mcu — processor (STM32F411/F405). gyro — gyroscope. supported_firmware — compatible firmware (Betaflight, INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`mcu`,label:`drone.drone_flight_controller.fields.mcu`,rules:{max:60}}),e.string({key:`gyro`,label:`drone.drone_flight_controller.fields.gyro`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_flight_controller.fields.barometer`}),e.string({key:`osd_chip`,label:`drone.drone_flight_controller.fields.osd_chip`,rules:{max:40}}),e.string({key:`blackbox`,label:`drone.drone_flight_controller.fields.blackbox`,rules:{max:40}}),e.boolean({key:`bluetooth`,label:`drone.drone_flight_controller.fields.bluetooth`}),e.boolean({key:`wifi`,label:`drone.drone_flight_controller.fields.wifi`}),e.boolean({key:`current_sensor_input`,label:`drone.drone_flight_controller.fields.current_sensor_input`}),e.string({key:`power_input`,label:`drone.drone_flight_controller.fields.power_input`,rules:{max:40}}),e.string({key:`constant_current`,label:`drone.drone_flight_controller.fields.constant_current`,rules:{max:20}}),e.string({key:`peak_current`,label:`drone.drone_flight_controller.fields.peak_current`,rules:{max:20}}),e.string({key:`bec_5v`,label:`drone.drone_flight_controller.fields.bec_5v`,rules:{max:20}}),e.string({key:`bec_9v`,label:`drone.drone_flight_controller.fields.bec_9v`,rules:{max:20}}),e.string({key:`mounting`,label:`drone.drone_flight_controller.fields.mounting`,rules:{max:60}}),e.int({key:`uart_count`,label:`drone.drone_flight_controller.fields.uart_count`,rules:{min:0}}),e.json({key:`supported_firmware`,label:`drone.drone_flight_controller.fields.supported_firmware`}),e.string({key:`firmware_target`,label:`drone.drone_flight_controller.fields.firmware_target`,rules:{max:80}}),e.string({key:`build_role`,label:`drone.drone_flight_controller.fields.build_role`,rules:{max:200}})]}),t({id:`drone_goggles`,label:`drone.drone_goggles.label`,icon:`lucide:glasses`,attachTo:[{library:`things`,shelf:`item`}],showWhen:{type:`drone_goggles`},claude:`FPV goggles characteristics. display_size — display diagonal. frequency_bands — supported radio bands. battery_life — runtime on battery.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`display_size`,label:`drone.drone_goggles.fields.display_size`,rules:{max:20}}),e.string({key:`display_resolution`,label:`drone.drone_goggles.fields.display_resolution`,rules:{max:40}}),e.string({key:`display_brightness`,label:`drone.drone_goggles.fields.display_brightness`,rules:{max:30}}),e.string({key:`view_angle`,label:`drone.drone_goggles.fields.view_angle`,rules:{max:20}}),e.string({key:`antenna`,label:`drone.drone_goggles.fields.antenna`,rules:{max:80}}),e.json({key:`frequency_bands`,label:`drone.drone_goggles.fields.frequency_bands`}),e.string({key:`battery`,label:`drone.drone_goggles.fields.battery`,rules:{max:60}}),e.string({key:`battery_life`,label:`drone.drone_goggles.fields.battery_life`,rules:{max:40}}),e.string({key:`charging`,label:`drone.drone_goggles.fields.charging`,rules:{max:60}}),e.json({key:`band_channels`,label:`drone.drone_goggles.fields.band_channels`})]})],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`drone`,title:`drone.drone.label`},{value:`drone_battery`,title:`drone.drone_battery.label`},{value:`drone_vtx`,title:`drone.drone_vtx.label`},{value:`drone_gps_module`,title:`drone.drone_gps.label`},{value:`drone_flight_controller`,title:`drone.drone_flight_controller.label`},{value:`drone_goggles`,title:`drone.drone_goggles.label`},{value:`fpv-controller`,title:`drone.contrib.type.fpv_controller`},{value:`fpv-camera`,title:`drone.contrib.type.fpv_camera`}]}]});export{r as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`telegram`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`telegram.settings.label`,fields:[e.int({key:`api_id`,label:`telegram.settings.api_id`}),e.password({key:`api_hash`,label:`telegram.settings.api_hash`}),e.password({key:`bot_token`,label:`telegram.settings.bot_token`}),e.tel({key:`phone`,label:`telegram.settings.phone`})]})});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`telegram`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`telegram.settings.label`,fields:[e.int({key:`api_id`,label:`telegram.settings.api_id`}),e.password({key:`api_hash`,label:`telegram.settings.api_hash`}),e.password({key:`bot_token`,label:`telegram.settings.bot_token`}),e.tel({key:`phone`,label:`telegram.settings.phone`})]})});export{r as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`http`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`http.settings.label`,fields:[e.int({key:`port`,label:`http.settings.port`}),e.password({key:`access_password`,label:`http.settings.access_password`})]})});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`http`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`http.settings.label`,fields:[e.int({key:`port`,label:`http.settings.port`}),e.password({key:`access_password`,label:`http.settings.access_password`})]})});export{r as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`food_item`,library:`kitchen`,label:`kitchen.food_item.label`,icon:`lucide:soup`,views:{table:[`subcategory`,`quantity`,`expires`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`kitchen.food_item.fields.logo`}),e.text({key:`description`,label:`kitchen.food_item.fields.description`,rules:{max:1e3}}),e.string({key:`subcategory`,label:`kitchen.food_item.fields.subcategory`,rules:{max:100}}),e.measured({key:`quantity`,label:`kitchen.food_item.fields.quantity`,options:`cooking`,rules:{min:0}}),e.measured({key:`minQuantity`,label:`kitchen.food_item.fields.minQuantity`,options:`cooking`,rules:{min:0}}),e.reminder({key:`expires`,label:`kitchen.food_item.fields.expires`,rules:{lead:14}}),e.relation({key:`location`,label:`kitchen.food_item.fields.location`,options:{library:`things`,shelf:`storage_location`}}),e.string({key:`brand`,label:`kitchen.food_item.fields.brand`,rules:{max:100}}),e.tags({key:`tags`,label:`kitchen.food_item.fields.tags`})]}),a=t({shelf:`food_recipe`,library:`kitchen`,label:`kitchen.food_recipe.label`,icon:`lucide:clipboard-list`,views:{table:[`category`,`description`,`prep_time`,`cook_time`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`images`,label:`kitchen.food_recipe.fields.images`,multiple:!0}),e.text({key:`description`,label:`kitchen.food_recipe.fields.description`,rules:{max:500}}),e.int({key:`servings`,label:`kitchen.food_recipe.fields.servings`,rules:{min:1,max:100}}),e.select({key:`difficulty`,label:`kitchen.food_recipe.fields.difficulty`,options:[{value:`easy`,title:`kitchen.food_recipe.options.difficulty.easy`},{value:`medium`,title:`kitchen.food_recipe.options.difficulty.medium`},{value:`hard`,title:`kitchen.food_recipe.options.difficulty.hard`}]}),e.select({key:`category`,label:`kitchen.food_recipe.fields.category`,multiple:!0,options:[{value:`first`,title:`kitchen.food_recipe.options.category.first`},{value:`main`,title:`kitchen.food_recipe.options.category.main`},{value:`salad`,title:`kitchen.food_recipe.options.category.salad`},{value:`appetizer`,title:`kitchen.food_recipe.options.category.appetizer`},{value:`side`,title:`kitchen.food_recipe.options.category.side`},{value:`dessert`,title:`kitchen.food_recipe.options.category.dessert`},{value:`drink`,title:`kitchen.food_recipe.options.category.drink`},{value:`sauce`,title:`kitchen.food_recipe.options.category.sauce`}]}),e.tags({key:`tags`,label:`kitchen.food_recipe.fields.tags`}),e.duration({key:`prep_time`,label:`kitchen.food_recipe.fields.prep_time`}),e.duration({key:`cook_time`,label:`kitchen.food_recipe.fields.cook_time`}),e.table({key:`ingredients`,label:`kitchen.food_recipe.fields.ingredients`,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`kitchen.food_recipe.ingredient.product`,options:{library:`kitchen`,shelf:`food_item`}}),e.real({key:`amount`,label:`kitchen.food_recipe.ingredient.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`kitchen.food_recipe.ingredient.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.markdown({key:`steps`,label:`kitchen.food_recipe.fields.steps`,rules:{max:5e3}}),e.text({key:`comment`,label:`kitchen.food_recipe.fields.comment`,rules:{max:1e3}})]}),o=n({id:`kitchen`,version:`1.0.0`,dependsOn:[`things`],libraries:[{meta:r({id:`kitchen`,label:`kitchen.library.label`,icon:`lucide:cooking-pot`,agent:`Food inventory and recipes — what is in stock, what is expiring, what can be cooked.`}),shelves:[i,a]}]});export{o as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`food_item`,library:`kitchen`,label:`kitchen.food_item.label`,icon:`lucide:soup`,views:{table:[`subcategory`,`quantity`,`expires`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`kitchen.food_item.fields.logo`}),e.text({key:`description`,label:`kitchen.food_item.fields.description`,rules:{max:1e3}}),e.string({key:`subcategory`,label:`kitchen.food_item.fields.subcategory`,rules:{max:100}}),e.measured({key:`quantity`,label:`kitchen.food_item.fields.quantity`,options:`cooking`,rules:{min:0}}),e.measured({key:`minQuantity`,label:`kitchen.food_item.fields.minQuantity`,options:`cooking`,rules:{min:0}}),e.reminder({key:`expires`,label:`kitchen.food_item.fields.expires`,rules:{lead:14}}),e.relation({key:`location`,label:`kitchen.food_item.fields.location`,options:{library:`things`,shelf:`storage_location`}}),e.string({key:`brand`,label:`kitchen.food_item.fields.brand`,rules:{max:100}}),e.tags({key:`tags`,label:`kitchen.food_item.fields.tags`})]}),a=t({shelf:`food_recipe`,library:`kitchen`,label:`kitchen.food_recipe.label`,icon:`lucide:clipboard-list`,views:{table:[`category`,`description`,`prep_time`,`cook_time`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`images`,label:`kitchen.food_recipe.fields.images`,multiple:!0}),e.text({key:`description`,label:`kitchen.food_recipe.fields.description`,rules:{max:500}}),e.int({key:`servings`,label:`kitchen.food_recipe.fields.servings`,rules:{min:1,max:100}}),e.select({key:`difficulty`,label:`kitchen.food_recipe.fields.difficulty`,options:[{value:`easy`,title:`kitchen.food_recipe.options.difficulty.easy`},{value:`medium`,title:`kitchen.food_recipe.options.difficulty.medium`},{value:`hard`,title:`kitchen.food_recipe.options.difficulty.hard`}]}),e.select({key:`category`,label:`kitchen.food_recipe.fields.category`,multiple:!0,options:[{value:`first`,title:`kitchen.food_recipe.options.category.first`},{value:`main`,title:`kitchen.food_recipe.options.category.main`},{value:`salad`,title:`kitchen.food_recipe.options.category.salad`},{value:`appetizer`,title:`kitchen.food_recipe.options.category.appetizer`},{value:`side`,title:`kitchen.food_recipe.options.category.side`},{value:`dessert`,title:`kitchen.food_recipe.options.category.dessert`},{value:`drink`,title:`kitchen.food_recipe.options.category.drink`},{value:`sauce`,title:`kitchen.food_recipe.options.category.sauce`}]}),e.tags({key:`tags`,label:`kitchen.food_recipe.fields.tags`}),e.duration({key:`prep_time`,label:`kitchen.food_recipe.fields.prep_time`}),e.duration({key:`cook_time`,label:`kitchen.food_recipe.fields.cook_time`}),e.table({key:`ingredients`,label:`kitchen.food_recipe.fields.ingredients`,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`kitchen.food_recipe.ingredient.product`,options:{library:`kitchen`,shelf:`food_item`}}),e.real({key:`amount`,label:`kitchen.food_recipe.ingredient.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`kitchen.food_recipe.ingredient.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.markdown({key:`steps`,label:`kitchen.food_recipe.fields.steps`,rules:{max:5e3}}),e.text({key:`comment`,label:`kitchen.food_recipe.fields.comment`,rules:{max:1e3}})]}),o=n({id:`kitchen`,version:`1.0.0`,dependsOn:[`things`],libraries:[{meta:r({id:`kitchen`,label:`kitchen.library.label`,icon:`lucide:cooking-pot`,agent:`Food inventory and recipes — what is in stock, what is expiring, what can be cooked.`}),shelves:[i,a]}],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`kitchenware`,title:`kitchen.contrib.type.kitchenware`}]}]});export{o as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`item`,library:`things`,label:`things.item.label`,icon:`lucide:package`,claude:`A physical item. name — the title. type — an optional classifier (extends can add types, e.g. device).`,views:{table:[`type`,`brand`,`model`,`location`],groupBy:[`type`,`paymentStatus`,`condition`,`owner`,`location`,`store`,`brand`,`model`,`color`,`material`,`madeIn`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`things.item.fields.logo`}),e.text({key:`description`,label:`things.item.fields.description`,rules:{max:1e3}}),e.string({key:`brand`,label:`things.item.fields.brand`,rules:{max:100}}),e.string({key:`model`,label:`things.item.fields.model`,rules:{max:100}}),e.int({key:`quantity`,label:`things.item.fields.quantity`,rules:{min:0}}),e.relation({key:`owner`,label:`things.item.fields.owner`,options:{library:`people`,shelf:`person`}}),e.relation({key:`location`,label:`things.item.fields.location`,options:{library:`things`,shelf:`storage_location`}}),e.string({key:`color`,label:`things.item.fields.color`,rules:{max:120}}),e.string({key:`material`,label:`things.item.fields.material`,rules:{max:80}}),e.string({key:`madeIn`,label:`things.item.fields.madeIn`,rules:{max:60}}),e.weight({key:`weight`,label:`things.item.fields.weight`}),e.dimensions({key:`dimensions`,label:`things.item.fields.dimensions`}),e.string({key:`serialNumber`,label:`things.item.fields.serialNumber`,rules:{max:80}}),e.date({key:`purchaseDate`,label:`things.item.fields.purchaseDate`}),e.money({key:`purchasePrice`,label:`things.item.fields.purchasePrice`,rules:{defaultCurrency:`UAH`}}),e.select({key:`paymentStatus`,label:`things.item.fields.paymentStatus`,options:[{value:`bought`,title:`things.item.options.paymentStatus.bought`},{value:`installment`,title:`things.item.options.paymentStatus.installment`},{value:`credit`,title:`things.item.options.paymentStatus.credit`}]}),e.group({label:`things.item.groups.purchase`,fields:[e.string({key:`store`,label:`things.item.fields.store`,rules:{max:100}}),e.url({key:`link`,label:`things.item.fields.link`}),e.string({key:`orderNumber`,label:`things.item.fields.orderNumber`,rules:{max:100}}),e.image({key:`receipt`,label:`things.item.fields.receipt`})]}),e.select({key:`condition`,label:`things.item.fields.condition`,options:[{value:`new`,title:`things.item.options.condition.new`},{value:`good`,title:`things.item.options.condition.good`},{value:`fair`,title:`things.item.options.condition.fair`},{value:`poor`,title:`things.item.options.condition.poor`}]}),e.reminder({key:`warrantyExpires`,label:`things.item.fields.warrantyExpires`,rules:{lead:30}}),e.document({key:`manual`,label:`things.item.fields.manual`}),e.image({key:`photos`,label:`things.item.fields.photos`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,options:[{value:`clothing`,title:`things.item.options.type.clothing`},{value:`bag`,title:`things.item.options.type.bag`},{value:`cable`,title:`things.item.options.type.cable`},{value:`tool`,title:`things.item.options.type.tool`},{value:`furniture`,title:`things.item.options.type.furniture`},{value:`appliance`,title:`things.item.options.type.appliance`},{value:`household`,title:`things.item.options.type.household`},{value:`consumable`,title:`things.item.options.type.consumable`},{value:`personal_care`,title:`things.item.options.type.personal_care`},{value:`sports`,title:`things.item.options.type.sports`},{value:`hobby`,title:`things.item.options.type.hobby`},{value:`hardware`,title:`things.item.options.type.hardware`},{value:`decor`,title:`things.item.options.type.decor`},{value:`stationery`,title:`things.item.options.type.stationery`},{value:`document`,title:`things.item.options.type.document`},{value:`other`,title:`things.item.options.type.other`}]}),e.tags({key:`tags`,label:`things.item.fields.tags`})]}),a=t({shelf:`storage_location`,library:`things`,label:`things.storage_location.label`,icon:`lucide:map-pin`,claude:`A storage location for items. name — what we call the place. path — hierarchy levels in order (room, furniture, shelf, container), free-form.`,views:{table:[`path`]},fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.string({key:`path`,label:`things.storage_location.fields.path`,multiple:!0,rules:{max:120}})]}),o=n({id:`things`,version:`1.0.0`,dependsOn:[`people`],libraries:[{meta:r({id:`things`,label:`things.library.label`,icon:`lucide:package`,agent:`Belongings and where they are stored (item, storage_location). Also hosts network hosts (device_info) and drone builds.`}),shelves:[i,a]}]});export{o as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{n,r}from"./plugin-q1oOYqt7.js";import{t as i}from"./settings-Dfvzj6n2.js";var a=t({shelf:`title`,library:`media`,label:`media.title.label`,icon:`lucide:clapperboard`,claude:`A movie or series in the watchlist. name — the title. kind — movie/series. status — viewing intent (want=added to the list, not in Jellyfin yet / unwatched=in Jellyfin, not watched / watching / watched / dropped). in_library, jellyfin_id and source are mirrored from Jellyfin — do not edit manually when source=jellyfin (sync will overwrite).`,views:{table:[`kind`,`status`,`year`,`imdb_rating`],groupBy:[`kind`,`status`,`genres`,`year`,`source`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.poster({key:`poster`,label:`media.title.fields.poster`}),e.text({key:`overview`,label:`media.title.fields.overview`,rules:{max:2e3}}),e.select({key:`kind`,label:`media.title.fields.kind`,options:[{value:`movie`,title:`media.title.options.kind.movie`},{value:`series`,title:`media.title.options.kind.series`}]}),e.int({key:`year`,label:`media.title.fields.year`}),e.tags({key:`genres`,label:`media.title.fields.genres`}),e.duration({key:`runtime`,label:`media.title.fields.runtime`}),e.string({key:`tmdb_id`,label:`media.title.fields.tmdb_id`,rules:{max:32}}),e.string({key:`imdb_id`,label:`media.title.fields.imdb_id`,rules:{max:32}}),e.real({key:`tmdb_rating`,label:`media.title.fields.tmdb_rating`}),e.real({key:`imdb_rating`,label:`media.title.fields.imdb_rating`}),e.select({key:`status`,label:`media.title.fields.status`,options:[{value:`want`,title:`media.title.options.status.want`},{value:`unwatched`,title:`media.title.options.status.unwatched`},{value:`watching`,title:`media.title.options.status.watching`},{value:`watched`,title:`media.title.options.status.watched`},{value:`dropped`,title:`media.title.options.status.dropped`}]}),e.date({key:`watched_date`,label:`media.title.fields.watched_date`}),e.int({key:`seasons`,label:`media.title.fields.seasons`,rules:{min:0}}),e.int({key:`episodes`,label:`media.title.fields.episodes`,rules:{min:0}}),e.boolean({key:`in_library`,label:`media.title.fields.in_library`}),e.link({key:`jellyfin_id`,label:`media.title.fields.jellyfin_id`,rules:{max:300}}),e.select({key:`source`,label:`media.title.fields.source`,default:`manual`,options:[{value:`manual`,title:`media.title.options.source.manual`},{value:`jellyfin`,title:`media.title.options.source.jellyfin`},{value:`agent`,title:`media.title.options.source.agent`}]}),e.url({key:`link`,label:`media.title.fields.link`})]}),o=n({id:`media`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`media`,label:`media.library.label`,icon:`lucide:clapperboard`,agent:`Movies and series watchlist (title) — tracked against a Jellyfin library.`}),shelves:[a]}],settings:i({label:`media.settings.label`,fields:[e.password({key:`tmdb_key`,label:`media.settings.tmdb_key`,required:!0}),e.password({key:`omdb_key`,label:`media.settings.omdb_key`}),e.string({key:`jellyfin_url`,label:`media.settings.jellyfin_url`}),e.password({key:`jellyfin_token`,label:`media.settings.jellyfin_token`}),e.string({key:`jellyfin_user_id`,label:`media.settings.jellyfin_user_id`}),e.button({label:`media.settings.test_button`,value:`media.testJellyfin`,icon:`lucide:wifi`}),e.button({label:`media.settings.sync_button`,value:`media.syncJellyfin`,icon:`lucide:refresh-cw`})]})});export{o as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{n,r}from"./plugin-q1oOYqt7.js";import{t as i}from"./settings-Dfvzj6n2.js";var a=t({shelf:`title`,library:`media`,label:`media.title.label`,icon:`lucide:clapperboard`,claude:`A movie or series in the watchlist. name — the title. kind — movie/series. status — viewing intent (want=added to the list, not in Jellyfin yet / unwatched=in Jellyfin, not watched / watching / watched / dropped). in_library, jellyfin_id and source are mirrored from Jellyfin — do not edit manually when source=jellyfin (sync will overwrite).`,views:{table:[`kind`,`status`,`year`,`imdb_rating`],groupBy:[`kind`,`status`,`genres`,`year`,`source`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.poster({key:`poster`,label:`media.title.fields.poster`}),e.text({key:`overview`,label:`media.title.fields.overview`,rules:{max:2e3}}),e.select({key:`kind`,label:`media.title.fields.kind`,options:[{value:`movie`,title:`media.title.options.kind.movie`},{value:`series`,title:`media.title.options.kind.series`}]}),e.int({key:`year`,label:`media.title.fields.year`}),e.tags({key:`genres`,label:`media.title.fields.genres`}),e.duration({key:`runtime`,label:`media.title.fields.runtime`}),e.string({key:`tmdb_id`,label:`media.title.fields.tmdb_id`,rules:{max:32}}),e.string({key:`imdb_id`,label:`media.title.fields.imdb_id`,rules:{max:32}}),e.real({key:`tmdb_rating`,label:`media.title.fields.tmdb_rating`}),e.real({key:`imdb_rating`,label:`media.title.fields.imdb_rating`}),e.select({key:`status`,label:`media.title.fields.status`,options:[{value:`want`,title:`media.title.options.status.want`},{value:`unwatched`,title:`media.title.options.status.unwatched`},{value:`watching`,title:`media.title.options.status.watching`},{value:`watched`,title:`media.title.options.status.watched`},{value:`dropped`,title:`media.title.options.status.dropped`}]}),e.date({key:`watched_date`,label:`media.title.fields.watched_date`}),e.int({key:`seasons`,label:`media.title.fields.seasons`,rules:{min:0}}),e.int({key:`episodes`,label:`media.title.fields.episodes`,rules:{min:0}}),e.boolean({key:`in_library`,label:`media.title.fields.in_library`}),e.link({key:`jellyfin_id`,label:`media.title.fields.jellyfin_id`,rules:{max:300}}),e.select({key:`source`,label:`media.title.fields.source`,default:`manual`,options:[{value:`manual`,title:`media.title.options.source.manual`},{value:`jellyfin`,title:`media.title.options.source.jellyfin`},{value:`agent`,title:`media.title.options.source.agent`}]}),e.url({key:`link`,label:`media.title.fields.link`})]}),o=n({id:`media`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`media`,label:`media.library.label`,icon:`lucide:clapperboard`,agent:`Movies and series watchlist (title) — tracked against a Jellyfin library.`}),shelves:[a]}],settings:i({label:`media.settings.label`,fields:[e.password({key:`tmdb_key`,label:`media.settings.tmdb_key`,required:!0}),e.password({key:`omdb_key`,label:`media.settings.omdb_key`}),e.string({key:`jellyfin_url`,label:`media.settings.jellyfin_url`}),e.password({key:`jellyfin_token`,label:`media.settings.jellyfin_token`}),e.string({key:`jellyfin_user_id`,label:`media.settings.jellyfin_user_id`}),e.button({label:`media.settings.test_button`,value:`media.testJellyfin`,icon:`lucide:wifi`}),e.button({label:`media.settings.sync_button`,value:`media.syncJellyfin`,icon:`lucide:refresh-cw`})]})});export{o as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`trip`,library:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{table:[`destination`,`date_from`,`date_to`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.text({key:`description`,label:`travel.trip.fields.description`,rules:{max:2e3}}),e.string({key:`destination`,label:`travel.trip.fields.destination`,rules:{max:200}}),e.date({key:`date_from`,label:`travel.trip.fields.date_from`}),e.date({key:`date_to`,label:`travel.trip.fields.date_to`}),e.select({key:`status`,label:`travel.trip.fields.status`,options:[{value:`planned`,title:`travel.trip.options.status.planned`},{value:`active`,title:`travel.trip.options.status.active`},{value:`completed`,title:`travel.trip.options.status.completed`},{value:`cancelled`,title:`travel.trip.options.status.cancelled`}]}),e.relation({key:`participants`,label:`travel.trip.fields.participants`,options:{library:`people`,shelf:`person`},multiple:!0}),e.money({key:`budget`,label:`travel.trip.fields.budget`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.fields.notes`,rules:{max:3e3}}),e.image({key:`photos`,label:`travel.trip.fields.photos`,multiple:!0}),e.check({key:`packing_list`,label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),e.group({key:`legs`,label:`travel.trip.fields.legs`,multiple:!0,fields:[e.date({key:`date`,label:`travel.trip.leg.date`}),e.select({key:`leg_type`,label:`travel.trip.leg.leg_type`,options:[{value:`flight`,title:`travel.trip.leg_opt.leg_type.flight`},{value:`train`,title:`travel.trip.leg_opt.leg_type.train`},{value:`bus`,title:`travel.trip.leg_opt.leg_type.bus`},{value:`car`,title:`travel.trip.leg_opt.leg_type.car`},{value:`ferry`,title:`travel.trip.leg_opt.leg_type.ferry`},{value:`other`,title:`travel.trip.leg_opt.leg_type.other`}]}),e.string({key:`operator`,label:`travel.trip.leg.operator`,rules:{max:100}}),e.string({key:`number`,label:`travel.trip.leg.number`,rules:{max:20}}),e.string({key:`seat`,label:`travel.trip.leg.seat`,rules:{max:10}}),e.select({key:`class`,label:`travel.trip.leg.class`,options:[{value:`economy`,title:`travel.trip.leg_opt.class.economy`},{value:`business`,title:`travel.trip.leg_opt.class.business`},{value:`first`,title:`travel.trip.leg_opt.class.first`}]}),e.string({key:`booking_ref`,label:`travel.trip.leg.booking_ref`,rules:{max:50}}),e.string({key:`terminal`,label:`travel.trip.leg.terminal`,rules:{max:20}}),e.string({key:`gate`,label:`travel.trip.leg.gate`,rules:{max:20}}),e.string({key:`origin_city`,label:`travel.trip.leg.origin_city`,rules:{max:100}}),e.string({key:`origin_code`,label:`travel.trip.leg.origin_code`,rules:{max:10}}),e.time({key:`departure_time`,label:`travel.trip.leg.departure_time`}),e.string({key:`destination_city`,label:`travel.trip.leg.destination_city`,rules:{max:100}}),e.string({key:`destination_code`,label:`travel.trip.leg.destination_code`,rules:{max:10}}),e.time({key:`arrival_time`,label:`travel.trip.leg.arrival_time`}),e.duration({key:`duration`,label:`travel.trip.leg.duration`}),e.boolean({key:`checked_in`,label:`travel.trip.leg.checked_in`}),e.text({key:`notes`,label:`travel.trip.leg.notes`,rules:{max:2e3}})]}),e.group({key:`accommodations`,label:`travel.trip.fields.accommodations`,multiple:!0,fields:[e.select({key:`accom_type`,label:`travel.trip.accom.accom_type`,options:[{value:`hotel`,title:`travel.trip.accom_opt.accom_type.hotel`},{value:`apartment`,title:`travel.trip.accom_opt.accom_type.apartment`},{value:`hostel`,title:`travel.trip.accom_opt.accom_type.hostel`},{value:`other`,title:`travel.trip.accom_opt.accom_type.other`}]}),e.string({key:`location`,label:`travel.trip.accom.location`,rules:{max:300}}),e.string({key:`address`,label:`travel.trip.accom.address`,rules:{max:300}}),e.rating({key:`rating`,label:`travel.trip.accom.rating`,rules:{max:5}}),e.boolean({key:`breakfast`,label:`travel.trip.accom.breakfast`}),e.date({key:`check_in`,label:`travel.trip.accom.check_in`}),e.date({key:`check_out`,label:`travel.trip.accom.check_out`}),e.string({key:`booking_ref`,label:`travel.trip.accom.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.accom.cost`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.accom.notes`,rules:{max:2e3}})]}),e.group({key:`insurances`,label:`travel.trip.fields.insurances`,multiple:!0,fields:[e.string({key:`insurer`,label:`travel.trip.insur.insurer`,rules:{max:200}}),e.string({key:`policy_number`,label:`travel.trip.insur.policy_number`,rules:{max:100}}),e.text({key:`coverage`,label:`travel.trip.insur.coverage`,rules:{max:1e3}}),e.money({key:`cost`,label:`travel.trip.insur.cost`,rules:{defaultCurrency:`UAH`}}),e.date({key:`valid_from`,label:`travel.trip.insur.valid_from`}),e.date({key:`valid_until`,label:`travel.trip.insur.valid_until`}),e.string({key:`emergency_phone`,label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),e.text({key:`notes`,label:`travel.trip.insur.notes`,rules:{max:2e3}})]}),e.group({key:`activities`,label:`travel.trip.fields.activities`,multiple:!0,fields:[e.select({key:`activity_type`,label:`travel.trip.act.activity_type`,options:[{value:`sightseeing`,title:`travel.trip.act_opt.activity_type.sightseeing`},{value:`museum`,title:`travel.trip.act_opt.activity_type.museum`},{value:`beach`,title:`travel.trip.act_opt.activity_type.beach`},{value:`nature`,title:`travel.trip.act_opt.activity_type.nature`},{value:`restaurant`,title:`travel.trip.act_opt.activity_type.restaurant`},{value:`tour`,title:`travel.trip.act_opt.activity_type.tour`},{value:`shopping`,title:`travel.trip.act_opt.activity_type.shopping`},{value:`entertainment`,title:`travel.trip.act_opt.activity_type.entertainment`},{value:`other`,title:`travel.trip.act_opt.activity_type.other`}]}),e.date({key:`date`,label:`travel.trip.act.date`}),e.time({key:`time_start`,label:`travel.trip.act.time_start`}),e.time({key:`time_end`,label:`travel.trip.act.time_end`}),e.string({key:`location`,label:`travel.trip.act.location`,rules:{max:300}}),e.string({key:`booking_ref`,label:`travel.trip.act.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.act.cost`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.act.notes`,rules:{max:2e3}})]}),e.tags({key:`tags`,label:`travel.trip.fields.tags`})]}),a=n({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],libraries:[{meta:r({id:`travel`,label:`travel.library.label`,icon:`lucide:plane`,agent:`Trips (trip) with legs, lodging, insurance, activities, and packing lists.`}),shelves:[i]}]});export{a as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`trip`,library:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{table:[`destination`,`date_from`,`date_to`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.text({key:`description`,label:`travel.trip.fields.description`,rules:{max:2e3}}),e.string({key:`destination`,label:`travel.trip.fields.destination`,rules:{max:200}}),e.date({key:`date_from`,label:`travel.trip.fields.date_from`}),e.date({key:`date_to`,label:`travel.trip.fields.date_to`}),e.select({key:`status`,label:`travel.trip.fields.status`,options:[{value:`planned`,title:`travel.trip.options.status.planned`},{value:`active`,title:`travel.trip.options.status.active`},{value:`completed`,title:`travel.trip.options.status.completed`},{value:`cancelled`,title:`travel.trip.options.status.cancelled`}]}),e.relation({key:`participants`,label:`travel.trip.fields.participants`,options:{library:`people`,shelf:`person`},multiple:!0}),e.money({key:`budget`,label:`travel.trip.fields.budget`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.fields.notes`,rules:{max:3e3}}),e.image({key:`photos`,label:`travel.trip.fields.photos`,multiple:!0}),e.check({key:`packing_list`,label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),e.group({key:`legs`,label:`travel.trip.fields.legs`,multiple:!0,fields:[e.date({key:`date`,label:`travel.trip.leg.date`}),e.select({key:`leg_type`,label:`travel.trip.leg.leg_type`,options:[{value:`flight`,title:`travel.trip.leg_opt.leg_type.flight`},{value:`train`,title:`travel.trip.leg_opt.leg_type.train`},{value:`bus`,title:`travel.trip.leg_opt.leg_type.bus`},{value:`car`,title:`travel.trip.leg_opt.leg_type.car`},{value:`ferry`,title:`travel.trip.leg_opt.leg_type.ferry`},{value:`other`,title:`travel.trip.leg_opt.leg_type.other`}]}),e.string({key:`operator`,label:`travel.trip.leg.operator`,rules:{max:100}}),e.string({key:`number`,label:`travel.trip.leg.number`,rules:{max:20}}),e.string({key:`seat`,label:`travel.trip.leg.seat`,rules:{max:10}}),e.select({key:`class`,label:`travel.trip.leg.class`,options:[{value:`economy`,title:`travel.trip.leg_opt.class.economy`},{value:`business`,title:`travel.trip.leg_opt.class.business`},{value:`first`,title:`travel.trip.leg_opt.class.first`}]}),e.string({key:`booking_ref`,label:`travel.trip.leg.booking_ref`,rules:{max:50}}),e.string({key:`terminal`,label:`travel.trip.leg.terminal`,rules:{max:20}}),e.string({key:`gate`,label:`travel.trip.leg.gate`,rules:{max:20}}),e.string({key:`origin_city`,label:`travel.trip.leg.origin_city`,rules:{max:100}}),e.string({key:`origin_code`,label:`travel.trip.leg.origin_code`,rules:{max:10}}),e.time({key:`departure_time`,label:`travel.trip.leg.departure_time`}),e.string({key:`destination_city`,label:`travel.trip.leg.destination_city`,rules:{max:100}}),e.string({key:`destination_code`,label:`travel.trip.leg.destination_code`,rules:{max:10}}),e.time({key:`arrival_time`,label:`travel.trip.leg.arrival_time`}),e.duration({key:`duration`,label:`travel.trip.leg.duration`}),e.boolean({key:`checked_in`,label:`travel.trip.leg.checked_in`}),e.text({key:`notes`,label:`travel.trip.leg.notes`,rules:{max:2e3}})]}),e.group({key:`accommodations`,label:`travel.trip.fields.accommodations`,multiple:!0,fields:[e.select({key:`accom_type`,label:`travel.trip.accom.accom_type`,options:[{value:`hotel`,title:`travel.trip.accom_opt.accom_type.hotel`},{value:`apartment`,title:`travel.trip.accom_opt.accom_type.apartment`},{value:`hostel`,title:`travel.trip.accom_opt.accom_type.hostel`},{value:`other`,title:`travel.trip.accom_opt.accom_type.other`}]}),e.string({key:`location`,label:`travel.trip.accom.location`,rules:{max:300}}),e.string({key:`address`,label:`travel.trip.accom.address`,rules:{max:300}}),e.rating({key:`rating`,label:`travel.trip.accom.rating`,rules:{max:5}}),e.boolean({key:`breakfast`,label:`travel.trip.accom.breakfast`}),e.date({key:`check_in`,label:`travel.trip.accom.check_in`}),e.date({key:`check_out`,label:`travel.trip.accom.check_out`}),e.string({key:`booking_ref`,label:`travel.trip.accom.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.accom.cost`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.accom.notes`,rules:{max:2e3}})]}),e.group({key:`insurances`,label:`travel.trip.fields.insurances`,multiple:!0,fields:[e.string({key:`insurer`,label:`travel.trip.insur.insurer`,rules:{max:200}}),e.string({key:`policy_number`,label:`travel.trip.insur.policy_number`,rules:{max:100}}),e.text({key:`coverage`,label:`travel.trip.insur.coverage`,rules:{max:1e3}}),e.money({key:`cost`,label:`travel.trip.insur.cost`,rules:{defaultCurrency:`UAH`}}),e.date({key:`valid_from`,label:`travel.trip.insur.valid_from`}),e.date({key:`valid_until`,label:`travel.trip.insur.valid_until`}),e.string({key:`emergency_phone`,label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),e.text({key:`notes`,label:`travel.trip.insur.notes`,rules:{max:2e3}})]}),e.group({key:`activities`,label:`travel.trip.fields.activities`,multiple:!0,fields:[e.select({key:`activity_type`,label:`travel.trip.act.activity_type`,options:[{value:`sightseeing`,title:`travel.trip.act_opt.activity_type.sightseeing`},{value:`museum`,title:`travel.trip.act_opt.activity_type.museum`},{value:`beach`,title:`travel.trip.act_opt.activity_type.beach`},{value:`nature`,title:`travel.trip.act_opt.activity_type.nature`},{value:`restaurant`,title:`travel.trip.act_opt.activity_type.restaurant`},{value:`tour`,title:`travel.trip.act_opt.activity_type.tour`},{value:`shopping`,title:`travel.trip.act_opt.activity_type.shopping`},{value:`entertainment`,title:`travel.trip.act_opt.activity_type.entertainment`},{value:`other`,title:`travel.trip.act_opt.activity_type.other`}]}),e.date({key:`date`,label:`travel.trip.act.date`}),e.time({key:`time_start`,label:`travel.trip.act.time_start`}),e.time({key:`time_end`,label:`travel.trip.act.time_end`}),e.string({key:`location`,label:`travel.trip.act.location`,rules:{max:300}}),e.string({key:`booking_ref`,label:`travel.trip.act.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.act.cost`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.act.notes`,rules:{max:2e3}})]}),e.tags({key:`tags`,label:`travel.trip.fields.tags`})]}),a=n({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],libraries:[{meta:r({id:`travel`,label:`travel.library.label`,icon:`lucide:plane`,agent:`Trips (trip) with legs, lodging, insurance, activities, and packing lists.`}),shelves:[i]}]});export{a as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webexport`,version:`1.0.0`,dependsOn:[],libraries:[],settings:n({label:`webexport.settings.label`,icon:`lucide:folder-output`,fields:[e.localDir({key:`output_dir`,label:`webexport.settings.output_dir`,required:!0})]})});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webexport`,version:`1.0.0`,dependsOn:[],libraries:[],settings:n({label:`webexport.settings.label`,icon:`lucide:folder-output`,fields:[e.localDir({key:`output_dir`,label:`webexport.settings.output_dir`,required:!0})]})});export{r as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{t as n}from"./extend-DrbW8fXY.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";import{t as a}from"./settings-Dfvzj6n2.js";import{t as o}from"./src-CVrkkuph.js";import{t as s}from"./src-Ds0SdDJ_.js";var c=t({shelf:`field_demo`,library:`lab`,label:`lab.field_demo.label`,icon:`lucide:flask-conical`,views:{inline:[`name`,`select`],table:[`text_minmax`,`integer`,`boolean`,`select`,`rating_5`,`measured_currency`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`image`,label:`lab.field_demo.fields.image`,role:`cover`}),e.avatar({key:`avatar`,label:`lab.field_demo.fields.avatar`,role:`avatar`}),e.cover({key:`cover`,label:`lab.field_demo.fields.cover`}),e.embed({key:`embed_wide`,label:`lab.field_demo.fields.embed_wide`,multiple:!0}),e.embed({key:`embed_narrow`,label:`lab.field_demo.fields.embed_narrow`,multiple:!0}),e.info(`lab.field_demo.info.intro`),e.button({label:`lab.field_demo.fields.button_demo`,value:`lab.demoAction`,icon:`lucide:zap`,variant:`outline`}),e.group({label:`lab.field_demo.groups.demo`,view:{icon:`lucide:puzzle`},fields:[e.string({key:`text_plain`,label:`lab.field_demo.fields.text_plain`,rules:{max:200}}),e.string({key:`text_minmax`,label:`lab.field_demo.fields.text_minmax`,rules:{min:3,max:20}}),e.string({key:`text_pattern`,label:`lab.field_demo.fields.text_pattern`,rules:{pattern:`^[A-Za-z]+$`,messageKey:`lab.field_demo.validation.letters_only`}})]}),e.string({key:`compact_note`,label:`lab.field_demo.fields.compact_note`,view:{noEditControl:!0}}),e.string({key:`nolabel_note`,view:{noEditControl:!0}}),e.email({key:`text_email`,label:`lab.field_demo.fields.text_email`}),e.email({key:`text_emails`,label:`lab.field_demo.fields.text_emails`,multiple:!0}),e.url({key:`text_url`,label:`lab.field_demo.fields.text_url`}),e.tel({key:`text_tel`,label:`lab.field_demo.fields.text_tel`}),e.password({key:`text_password`,label:`lab.field_demo.fields.text_password`}),o.imei({key:`imei`,label:`lab.field_demo.fields.imei`}),o.mac({key:`mac`,label:`lab.field_demo.fields.mac`,emphasis:`muted`}),s.iban({key:`iban`,label:`lab.field_demo.fields.iban`}),e.int({key:`number_int`,label:`lab.field_demo.fields.number_int`,rules:{min:0,max:100}}),e.real({key:`number_decimal`,label:`lab.field_demo.fields.number_decimal`,rules:{min:0,max:1e3}}),e.int({key:`integer`,label:`lab.field_demo.fields.integer`,rules:{min:1,max:12}}),e.money({key:`price`,label:`lab.field_demo.fields.price`,rules:{defaultCurrency:`UAH`},pinned:!0}),e.numberRange({key:`ageRange`,label:`lab.field_demo.fields.ageRange`,rules:{min:0,max:120}}),e.realRange({key:`tempRange`,label:`lab.field_demo.fields.tempRange`}),e.rating({key:`rating_5`,label:`lab.field_demo.fields.rating_5`,pinned:!0}),e.rating({key:`rating_10`,label:`lab.field_demo.fields.rating_10`,rules:{max:10}}),e.date({key:`birthYear`,label:`lab.field_demo.fields.birthYear`,rules:{granularity:`year`}}),e.date({key:`date`,label:`lab.field_demo.fields.date`}),e.date({key:`date_future`,label:`lab.field_demo.fields.date_future`,rules:{min:`today`}}),e.time({key:`time_field`,label:`lab.field_demo.fields.time_field`}),e.datetime({key:`datetime`,label:`lab.field_demo.fields.datetime`}),e.datetime({key:`datetimes_multi`,label:`lab.field_demo.fields.datetimes_multi`,multiple:!0}),e.triState({key:`agree`,label:`lab.field_demo.fields.agree`}),e.boolean({key:`boolean`,label:`lab.field_demo.fields.boolean`,pinned:!0}),e.select({key:`select`,label:`lab.field_demo.fields.select`,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`select_multi`,label:`lab.field_demo.fields.select_multi`,multiple:!0,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`day_period`,label:`lab.field_demo.fields.day_period`,options:`day-periods`}),e.select({key:`day_period_multi`,label:`lab.field_demo.fields.day_period_multi`,options:`day-periods`,multiple:!0}),e.select({key:`country`,label:`lab.field_demo.fields.country`,options:`countries`}),e.select({key:`country_multi`,label:`lab.field_demo.fields.country_multi`,options:`countries`,multiple:!0}),e.country({key:`origin`,label:`lab.field_demo.fields.origin`}),e.tags({key:`tags_field`,label:`lab.field_demo.fields.tags_field`,options:[`alpha`,`beta`,`gamma`,`delta`]}),e.check({key:`demo_check`,label:`lab.field_demo.fields.demo_check`}),e.check({key:`demo_check_multi`,label:`lab.field_demo.fields.demo_check_multi`,multiple:!0}),e.check({key:`demo_check_stages`,label:`lab.field_demo.fields.demo_check_stages`,slots:[`lab.field_demo.fields.stage_ordered`,`lab.field_demo.fields.stage_paid`,`lab.field_demo.fields.stage_shipped`],multiple:!0}),e.color({key:`color_hex`,label:`lab.field_demo.fields.color_hex`}),e.color({key:`color_multi`,label:`lab.field_demo.fields.color_multi`,multiple:!0}),e.select({key:`color_name`,label:`lab.field_demo.fields.color_name`,options:`colors`}),e.duration({key:`duration_short`,label:`lab.field_demo.fields.duration_short`,rules:{max:28800,step:300}}),e.measured({key:`measured_currency`,label:`lab.field_demo.fields.measured_currency`,options:`currency`}),e.measured({key:`measured_weight`,label:`lab.field_demo.fields.measured_weight`,options:`weight`}),e.measured({key:`measured_custom`,label:`lab.field_demo.fields.measured_custom`,options:[{value:`shot`,label:`lab.field_demo.units.shot`},{value:`scoop`,label:`lab.field_demo.units.scoop`}]}),e.reminder({key:`demo_reminder`,label:`lab.field_demo.fields.demo_reminder`,rules:{lead:14}}),e.weight({key:`demo_weight`,label:`lab.field_demo.fields.demo_weight`}),e.dimensions({key:`demo_dimensions`,label:`lab.field_demo.fields.demo_dimensions`}),o.dataSize({key:`demo_datasize`,label:`lab.field_demo.fields.demo_datasize`}),o.ram({key:`demo_ram`,label:`lab.field_demo.fields.demo_ram`}),o.diskSize({key:`demo_disk`,label:`lab.field_demo.fields.demo_disk`}),e.select({key:`demo_weekday`,label:`lab.field_demo.fields.demo_weekday`,options:`weekdays`}),e.select({key:`demo_weekdays`,label:`lab.field_demo.fields.demo_weekdays`,options:`weekdays`,multiple:!0}),o.ip({key:`ip_addr`,label:`lab.field_demo.fields.ip_addr`}),o.ip({key:`ip_addrs`,label:`lab.field_demo.fields.ip_addrs`,multiple:!0}),o.cidr({key:`cidr_subnet`,label:`lab.field_demo.fields.cidr_subnet`}),e.real({key:`numbers_multi`,label:`lab.field_demo.fields.numbers_multi`,multiple:!0}),e.date({key:`dates_multi`,label:`lab.field_demo.fields.dates_multi`,multiple:!0}),e.divider(),e.text({key:`text_multiline`,label:`lab.field_demo.fields.text_multiline`,rules:{max:500}}),e.text({key:`textarea`,label:`lab.field_demo.fields.textarea`,rules:{max:1e3},noLabel:!0}),e.smallText({key:`small_text`,label:`lab.field_demo.fields.small_text`,rules:{max:500}}),e.markdown({key:`markdown`,label:`lab.field_demo.fields.markdown`,rules:{max:5e3}}),e.snippet({key:`code`,label:`lab.field_demo.fields.code`,rules:{language:`yaml`,max:5e3}}),e.code({key:`snippet_struct`,label:`lab.field_demo.fields.snippet_struct`,rules:{defaultLang:`javascript`}}),e.json({key:`json`,label:`lab.field_demo.fields.json`}),e.period({key:`periods`,label:`lab.field_demo.fields.periods`,multiple:!0}),e.group({key:`row_single`,label:`lab.field_demo.fields.row_single`,fields:[e.select({key:`env`,label:`lab.field_demo.per_row.env`,options:[{value:`dev`,title:`lab.field_demo.options.env.dev`},{value:`prod`,title:`lab.field_demo.options.env.prod`}]}),e.url({key:`url`,label:`lab.field_demo.per_row.url`}),e.password({key:`token`,label:`lab.field_demo.per_row.token`})]}),e.keyed({key:`variants`,label:`lab.field_demo.fields.variants`,by:e.select({key:`lang`,label:`lab.field_demo.per_row.lang`,options:`languages`}),fields:[e.string({key:`name`,label:`lab.field_demo.per_row.name`}),e.string({key:`surname`,label:`lab.field_demo.per_row.surname`})]}),e.keyed({key:`perkey_fixed`,label:`lab.field_demo.fields.perkey_fixed`,fixed:!0,by:e.select({key:`size`,label:`lab.field_demo.per_row.size`,options:[{value:`s`,title:`lab.field_demo.options.size.s`},{value:`m`,title:`lab.field_demo.options.size.m`},{value:`l`,title:`lab.field_demo.options.size.l`}]}),fields:[e.int({key:`qty`,label:`lab.field_demo.per_row.qty`,rules:{min:0}})]}),e.group({key:`row_ingredients`,label:`lab.field_demo.fields.row_ingredients`,multiple:!0,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`lab.field_demo.per_row.product`,options:{library:`kitchen`,shelf:`food_item`}}),e.real({key:`amount`,label:`lab.field_demo.per_row.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`lab.field_demo.per_row.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.relation({key:`relation_single`,label:`lab.field_demo.fields.relation_single`,options:{library:`lab`,shelf:`field_demo_child`}}),e.relation({key:`relation_multi`,label:`lab.field_demo.fields.relation_multi`,options:{library:`lab`,shelf:`field_demo_child`},multiple:!0}),e.group({key:`coll_text`,label:`lab.field_demo.fields.coll_text`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.string({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_integer`,label:`lab.field_demo.fields.coll_integer`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.int({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_select`,label:`lab.field_demo.fields.coll_select`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.select({key:`value`,label:`lab.field_demo.fields.pp_value`,options:[{value:`s`,title:`lab.field_demo.options.pp_select.s`},{value:`m`,title:`lab.field_demo.options.pp_select.m`},{value:`l`,title:`lab.field_demo.options.pp_select.l`}]})]}),e.perWeekday({key:`per_weekday`,label:`lab.field_demo.fields.per_weekday`,rules:{min:0,max:5,step:.5}}),e.group({key:`per_weekday_per_person`,label:`lab.field_demo.fields.per_weekday_per_person`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.perWeekday({key:`value`,label:`lab.field_demo.fields.pp_value`,rules:{min:0,max:10,step:1}})]}),e.image({key:`image_gallery`,label:`lab.field_demo.fields.image_gallery`,multiple:!0}),e.avatar({key:`avatar_row`,label:`lab.field_demo.fields.avatar_row`,multiple:!0}),e.cover({key:`cover_carousel`,label:`lab.field_demo.fields.cover_carousel`,multiple:!0}),e.file({key:`attachment`,label:`lab.field_demo.fields.attachment`}),e.document({key:`doc`,label:`lab.field_demo.fields.doc`}),e.audio({key:`voice`,label:`lab.field_demo.fields.voice`}),e.video({key:`clip`,label:`lab.field_demo.fields.clip`}),e.media({key:`gallery`,label:`lab.field_demo.fields.gallery`,multiple:!0}),e.geo({key:`place`,label:`lab.field_demo.fields.place`}),e.keyValue({key:`key_value`,label:`lab.field_demo.fields.key_value`,multiple:!0}),e.keyValue({key:`key_value_secret`,label:`lab.field_demo.fields.key_value_secret`,option:e.password({label:``})}),e.group({key:`services_bylist`,label:`lab.field_demo.fields.services_bylist`,multiple:!0,fields:[e.select({key:`type`,label:`devices.service.type`,options:`service-types`}),e.url({key:`url`,label:`devices.service.url`}),e.string({key:`login`,label:`devices.service.login`}),e.password({key:`password`,label:`devices.service.password`,emphasis:`muted`}),e.password({key:`token`,label:`devices.service.token`})]}),e.select({key:`type`,label:`lab.field_demo.fields.type`,options:[{value:`basic`,title:`lab.field_demo.options.type.basic`},{value:`advanced`,title:`lab.field_demo.options.type.advanced`}]})]}),l=t({shelf:`field_demo_child`,library:`lab`,label:`lab.field_demo_child.label`,icon:`lucide:link`,standalone:!1,fields:[e.title({key:`name`,label:`core.fields.name`}),e.relation({key:`demo_id`,label:`lab.field_demo_child.fields.demo_id`,options:{library:`lab`,shelf:`field_demo`}}),e.text({key:`note`,label:`lab.field_demo_child.fields.note`,rules:{max:500}})]}),u=n({id:`demo_extra`,label:`lab.demo_extra.label`,icon:`lucide:plus`,attachTo:[{library:`lab`,shelf:`field_demo`}],showWhen:{type:`advanced`},fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`extra_text`,label:`lab.demo_extra.fields.extra_text`,rules:{max:200}}),e.int({key:`extra_number`,label:`lab.demo_extra.fields.extra_number`,rules:{min:0}}),e.boolean({key:`extra_flag`,label:`lab.demo_extra.fields.extra_flag`})]}),d=r({id:`lab`,version:`1.0.0`,dependsOn:[`people`,`kitchen`,`devices`,`finance`],settings:a({label:`lab.settings.label`,icon:`lucide:flask-conical`,fields:[e.info(`lab.settings.intro`),e.string({key:`greeting`,label:`lab.settings.fields.greeting`,rules:{max:80}}),e.boolean({key:`enabled`,label:`lab.settings.fields.enabled`}),e.select({key:`mode`,label:`lab.settings.fields.mode`,options:[{value:`fast`,title:`lab.settings.modes.fast`},{value:`safe`,title:`lab.settings.modes.safe`},{value:`debug`,title:`lab.settings.modes.debug`}]}),e.int({key:`retries`,label:`lab.settings.fields.retries`,rules:{min:0,max:10}}),e.divider(),e.info(`lab.settings.actions_info`),e.button({label:`lab.settings.run_button`,value:`lab.demoAction`,icon:`lucide:play`}),e.button({label:`lab.settings.fail_button`,value:`lab.demoFail`,icon:`lucide:bug`,variant:`destructive`}),e.button({label:`lab.settings.variants.default`,value:`lab.demoAction`,icon:`lucide:check`,variant:`default`}),e.button({label:`lab.settings.variants.secondary`,value:`lab.demoAction`,icon:`lucide:settings`,variant:`secondary`}),e.button({label:`lab.settings.variants.ghost`,value:`lab.demoAction`,icon:`lucide:ghost`,variant:`ghost`}),e.button({label:`lab.settings.variants.link`,value:`lab.demoAction`,icon:`lucide:link`,variant:`link`})]}),libraries:[{meta:i({id:`lab`,label:`lab.library.label`,icon:`lucide:flask-conical`,agent:`Developer demo of field types — not real household data; ignore unless explicitly asked.`}),shelves:[c,l]}],extends_:[u]});export{d as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{t as n}from"./extend-DDZLGxKJ.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";import{t as a}from"./settings-Dfvzj6n2.js";import{t as o}from"./src-CQcwtQ4u.js";import{t as s}from"./src-BB5pAQoq.js";var c=t({shelf:`field_demo`,library:`lab`,label:`lab.field_demo.label`,icon:`lucide:flask-conical`,views:{inline:[`name`,`select`],table:[`text_minmax`,`integer`,`boolean`,`select`,`rating_5`,`measured_currency`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`image`,label:`lab.field_demo.fields.image`,role:`cover`}),e.avatar({key:`avatar`,label:`lab.field_demo.fields.avatar`,role:`avatar`}),e.cover({key:`cover`,label:`lab.field_demo.fields.cover`}),e.embed({key:`embed_wide`,label:`lab.field_demo.fields.embed_wide`,multiple:!0}),e.embed({key:`embed_narrow`,label:`lab.field_demo.fields.embed_narrow`,multiple:!0}),e.info(`lab.field_demo.info.intro`),e.button({label:`lab.field_demo.fields.button_demo`,value:`lab.demoAction`,icon:`lucide:zap`,variant:`outline`}),e.group({label:`lab.field_demo.groups.demo`,view:{icon:`lucide:puzzle`},fields:[e.string({key:`text_plain`,label:`lab.field_demo.fields.text_plain`,rules:{max:200}}),e.string({key:`text_minmax`,label:`lab.field_demo.fields.text_minmax`,rules:{min:3,max:20}}),e.string({key:`text_pattern`,label:`lab.field_demo.fields.text_pattern`,rules:{pattern:`^[A-Za-z]+$`,messageKey:`lab.field_demo.validation.letters_only`}})]}),e.string({key:`compact_note`,label:`lab.field_demo.fields.compact_note`,view:{noEditControl:!0}}),e.string({key:`nolabel_note`,view:{noEditControl:!0}}),e.email({key:`text_email`,label:`lab.field_demo.fields.text_email`}),e.email({key:`text_emails`,label:`lab.field_demo.fields.text_emails`,multiple:!0}),e.url({key:`text_url`,label:`lab.field_demo.fields.text_url`}),e.tel({key:`text_tel`,label:`lab.field_demo.fields.text_tel`}),e.password({key:`text_password`,label:`lab.field_demo.fields.text_password`}),o.imei({key:`imei`,label:`lab.field_demo.fields.imei`}),o.mac({key:`mac`,label:`lab.field_demo.fields.mac`,emphasis:`muted`}),s.iban({key:`iban`,label:`lab.field_demo.fields.iban`}),e.int({key:`number_int`,label:`lab.field_demo.fields.number_int`,rules:{min:0,max:100}}),e.real({key:`number_decimal`,label:`lab.field_demo.fields.number_decimal`,rules:{min:0,max:1e3}}),e.int({key:`integer`,label:`lab.field_demo.fields.integer`,rules:{min:1,max:12}}),e.money({key:`price`,label:`lab.field_demo.fields.price`,rules:{defaultCurrency:`UAH`},pinned:!0}),e.numberRange({key:`ageRange`,label:`lab.field_demo.fields.ageRange`,rules:{min:0,max:120}}),e.realRange({key:`tempRange`,label:`lab.field_demo.fields.tempRange`}),e.rating({key:`rating_5`,label:`lab.field_demo.fields.rating_5`,pinned:!0}),e.rating({key:`rating_10`,label:`lab.field_demo.fields.rating_10`,rules:{max:10}}),e.date({key:`birthYear`,label:`lab.field_demo.fields.birthYear`,rules:{granularity:`year`}}),e.date({key:`date`,label:`lab.field_demo.fields.date`}),e.date({key:`date_future`,label:`lab.field_demo.fields.date_future`,rules:{min:`today`}}),e.time({key:`time_field`,label:`lab.field_demo.fields.time_field`}),e.datetime({key:`datetime`,label:`lab.field_demo.fields.datetime`}),e.datetime({key:`datetimes_multi`,label:`lab.field_demo.fields.datetimes_multi`,multiple:!0}),e.triState({key:`agree`,label:`lab.field_demo.fields.agree`}),e.boolean({key:`boolean`,label:`lab.field_demo.fields.boolean`,pinned:!0}),e.select({key:`select`,label:`lab.field_demo.fields.select`,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`select_multi`,label:`lab.field_demo.fields.select_multi`,multiple:!0,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`day_period`,label:`lab.field_demo.fields.day_period`,options:`day-periods`}),e.select({key:`day_period_multi`,label:`lab.field_demo.fields.day_period_multi`,options:`day-periods`,multiple:!0}),e.select({key:`country`,label:`lab.field_demo.fields.country`,options:`countries`}),e.select({key:`country_multi`,label:`lab.field_demo.fields.country_multi`,options:`countries`,multiple:!0}),e.country({key:`origin`,label:`lab.field_demo.fields.origin`}),e.tags({key:`tags_field`,label:`lab.field_demo.fields.tags_field`,options:[`alpha`,`beta`,`gamma`,`delta`]}),e.check({key:`demo_check`,label:`lab.field_demo.fields.demo_check`}),e.check({key:`demo_check_multi`,label:`lab.field_demo.fields.demo_check_multi`,multiple:!0}),e.check({key:`demo_check_stages`,label:`lab.field_demo.fields.demo_check_stages`,slots:[`lab.field_demo.fields.stage_ordered`,`lab.field_demo.fields.stage_paid`,`lab.field_demo.fields.stage_shipped`],multiple:!0}),e.color({key:`color_hex`,label:`lab.field_demo.fields.color_hex`}),e.color({key:`color_multi`,label:`lab.field_demo.fields.color_multi`,multiple:!0}),e.select({key:`color_name`,label:`lab.field_demo.fields.color_name`,options:`colors`}),e.duration({key:`duration_short`,label:`lab.field_demo.fields.duration_short`,rules:{max:28800,step:300}}),e.measured({key:`measured_currency`,label:`lab.field_demo.fields.measured_currency`,options:`currency`}),e.measured({key:`measured_weight`,label:`lab.field_demo.fields.measured_weight`,options:`weight`}),e.measured({key:`measured_custom`,label:`lab.field_demo.fields.measured_custom`,options:[{value:`shot`,label:`lab.field_demo.units.shot`},{value:`scoop`,label:`lab.field_demo.units.scoop`}]}),e.reminder({key:`demo_reminder`,label:`lab.field_demo.fields.demo_reminder`,rules:{lead:14}}),e.weight({key:`demo_weight`,label:`lab.field_demo.fields.demo_weight`}),e.dimensions({key:`demo_dimensions`,label:`lab.field_demo.fields.demo_dimensions`}),o.dataSize({key:`demo_datasize`,label:`lab.field_demo.fields.demo_datasize`}),o.ram({key:`demo_ram`,label:`lab.field_demo.fields.demo_ram`}),o.diskSize({key:`demo_disk`,label:`lab.field_demo.fields.demo_disk`}),e.select({key:`demo_weekday`,label:`lab.field_demo.fields.demo_weekday`,options:`weekdays`}),e.select({key:`demo_weekdays`,label:`lab.field_demo.fields.demo_weekdays`,options:`weekdays`,multiple:!0}),o.ip({key:`ip_addr`,label:`lab.field_demo.fields.ip_addr`}),o.ip({key:`ip_addrs`,label:`lab.field_demo.fields.ip_addrs`,multiple:!0}),o.cidr({key:`cidr_subnet`,label:`lab.field_demo.fields.cidr_subnet`}),e.real({key:`numbers_multi`,label:`lab.field_demo.fields.numbers_multi`,multiple:!0}),e.date({key:`dates_multi`,label:`lab.field_demo.fields.dates_multi`,multiple:!0}),e.divider(),e.text({key:`text_multiline`,label:`lab.field_demo.fields.text_multiline`,rules:{max:500}}),e.text({key:`textarea`,label:`lab.field_demo.fields.textarea`,rules:{max:1e3},noLabel:!0}),e.smallText({key:`small_text`,label:`lab.field_demo.fields.small_text`,rules:{max:500}}),e.markdown({key:`markdown`,label:`lab.field_demo.fields.markdown`,rules:{max:5e3}}),e.snippet({key:`code`,label:`lab.field_demo.fields.code`,rules:{language:`yaml`,max:5e3}}),e.code({key:`snippet_struct`,label:`lab.field_demo.fields.snippet_struct`,rules:{defaultLang:`javascript`}}),e.json({key:`json`,label:`lab.field_demo.fields.json`}),e.period({key:`periods`,label:`lab.field_demo.fields.periods`,multiple:!0}),e.group({key:`row_single`,label:`lab.field_demo.fields.row_single`,fields:[e.select({key:`env`,label:`lab.field_demo.per_row.env`,options:[{value:`dev`,title:`lab.field_demo.options.env.dev`},{value:`prod`,title:`lab.field_demo.options.env.prod`}]}),e.url({key:`url`,label:`lab.field_demo.per_row.url`}),e.password({key:`token`,label:`lab.field_demo.per_row.token`})]}),e.keyed({key:`variants`,label:`lab.field_demo.fields.variants`,by:e.select({key:`lang`,label:`lab.field_demo.per_row.lang`,options:`languages`}),fields:[e.string({key:`name`,label:`lab.field_demo.per_row.name`}),e.string({key:`surname`,label:`lab.field_demo.per_row.surname`})]}),e.keyed({key:`perkey_fixed`,label:`lab.field_demo.fields.perkey_fixed`,fixed:!0,by:e.select({key:`size`,label:`lab.field_demo.per_row.size`,options:[{value:`s`,title:`lab.field_demo.options.size.s`},{value:`m`,title:`lab.field_demo.options.size.m`},{value:`l`,title:`lab.field_demo.options.size.l`}]}),fields:[e.int({key:`qty`,label:`lab.field_demo.per_row.qty`,rules:{min:0}})]}),e.group({key:`row_ingredients`,label:`lab.field_demo.fields.row_ingredients`,multiple:!0,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`lab.field_demo.per_row.product`,options:{library:`kitchen`,shelf:`food_item`}}),e.real({key:`amount`,label:`lab.field_demo.per_row.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`lab.field_demo.per_row.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.relation({key:`relation_single`,label:`lab.field_demo.fields.relation_single`,options:{library:`lab`,shelf:`field_demo_child`}}),e.relation({key:`relation_multi`,label:`lab.field_demo.fields.relation_multi`,options:{library:`lab`,shelf:`field_demo_child`},multiple:!0}),e.group({key:`coll_text`,label:`lab.field_demo.fields.coll_text`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.string({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_integer`,label:`lab.field_demo.fields.coll_integer`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.int({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_select`,label:`lab.field_demo.fields.coll_select`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.select({key:`value`,label:`lab.field_demo.fields.pp_value`,options:[{value:`s`,title:`lab.field_demo.options.pp_select.s`},{value:`m`,title:`lab.field_demo.options.pp_select.m`},{value:`l`,title:`lab.field_demo.options.pp_select.l`}]})]}),e.perWeekday({key:`per_weekday`,label:`lab.field_demo.fields.per_weekday`,rules:{min:0,max:5,step:.5}}),e.group({key:`per_weekday_per_person`,label:`lab.field_demo.fields.per_weekday_per_person`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{library:`people`,shelf:`person`}}),e.perWeekday({key:`value`,label:`lab.field_demo.fields.pp_value`,rules:{min:0,max:10,step:1}})]}),e.image({key:`image_gallery`,label:`lab.field_demo.fields.image_gallery`,multiple:!0}),e.avatar({key:`avatar_row`,label:`lab.field_demo.fields.avatar_row`,multiple:!0}),e.cover({key:`cover_carousel`,label:`lab.field_demo.fields.cover_carousel`,multiple:!0}),e.file({key:`attachment`,label:`lab.field_demo.fields.attachment`}),e.document({key:`doc`,label:`lab.field_demo.fields.doc`}),e.audio({key:`voice`,label:`lab.field_demo.fields.voice`}),e.video({key:`clip`,label:`lab.field_demo.fields.clip`}),e.media({key:`gallery`,label:`lab.field_demo.fields.gallery`,multiple:!0}),e.geo({key:`place`,label:`lab.field_demo.fields.place`}),e.keyValue({key:`key_value`,label:`lab.field_demo.fields.key_value`,multiple:!0}),e.keyValue({key:`key_value_secret`,label:`lab.field_demo.fields.key_value_secret`,option:e.password({label:``})}),e.group({key:`services_bylist`,label:`lab.field_demo.fields.services_bylist`,multiple:!0,fields:[e.select({key:`type`,label:`devices.service.type`,options:`service-types`}),e.url({key:`url`,label:`devices.service.url`}),e.string({key:`login`,label:`devices.service.login`}),e.password({key:`password`,label:`devices.service.password`,emphasis:`muted`}),e.password({key:`token`,label:`devices.service.token`})]}),e.select({key:`type`,label:`lab.field_demo.fields.type`,options:[{value:`basic`,title:`lab.field_demo.options.type.basic`},{value:`advanced`,title:`lab.field_demo.options.type.advanced`}]})]}),l=t({shelf:`field_demo_child`,library:`lab`,label:`lab.field_demo_child.label`,icon:`lucide:link`,standalone:!1,fields:[e.title({key:`name`,label:`core.fields.name`}),e.relation({key:`demo_id`,label:`lab.field_demo_child.fields.demo_id`,options:{library:`lab`,shelf:`field_demo`}}),e.text({key:`note`,label:`lab.field_demo_child.fields.note`,rules:{max:500}})]}),u=n({id:`demo_extra`,label:`lab.demo_extra.label`,icon:`lucide:plus`,attachTo:[{library:`lab`,shelf:`field_demo`}],showWhen:{type:`advanced`},fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`extra_text`,label:`lab.demo_extra.fields.extra_text`,rules:{max:200}}),e.int({key:`extra_number`,label:`lab.demo_extra.fields.extra_number`,rules:{min:0}}),e.boolean({key:`extra_flag`,label:`lab.demo_extra.fields.extra_flag`})]}),d=r({id:`lab`,version:`1.0.0`,dependsOn:[`people`,`kitchen`,`devices`,`finance`],settings:a({label:`lab.settings.label`,icon:`lucide:flask-conical`,fields:[e.info(`lab.settings.intro`),e.string({key:`greeting`,label:`lab.settings.fields.greeting`,rules:{max:80}}),e.boolean({key:`enabled`,label:`lab.settings.fields.enabled`}),e.select({key:`mode`,label:`lab.settings.fields.mode`,options:[{value:`fast`,title:`lab.settings.modes.fast`},{value:`safe`,title:`lab.settings.modes.safe`},{value:`debug`,title:`lab.settings.modes.debug`}]}),e.int({key:`retries`,label:`lab.settings.fields.retries`,rules:{min:0,max:10}}),e.divider(),e.info(`lab.settings.actions_info`),e.button({label:`lab.settings.run_button`,value:`lab.demoAction`,icon:`lucide:play`}),e.button({label:`lab.settings.fail_button`,value:`lab.demoFail`,icon:`lucide:bug`,variant:`destructive`}),e.button({label:`lab.settings.variants.default`,value:`lab.demoAction`,icon:`lucide:check`,variant:`default`}),e.button({label:`lab.settings.variants.secondary`,value:`lab.demoAction`,icon:`lucide:settings`,variant:`secondary`}),e.button({label:`lab.settings.variants.ghost`,value:`lab.demoAction`,icon:`lucide:ghost`,variant:`ghost`}),e.button({label:`lab.settings.variants.link`,value:`lab.demoAction`,icon:`lucide:link`,variant:`link`})]}),libraries:[{meta:i({id:`lab`,label:`lab.library.label`,icon:`lucide:flask-conical`,agent:`Developer demo of field types — not real household data; ignore unless explicitly asked.`}),shelves:[c,l]}],extends_:[u]});export{d as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{t as n}from"./extend-DrbW8fXY.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";import{t as a}from"./settings-Dfvzj6n2.js";var o=t({shelf:`medicine`,library:`health`,label:`health.medicine.label`,icon:`lucide:pill`,views:{table:[`type`,`form`,`quantity`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`photo`,label:`health.medicine.fields.photo`}),e.int({key:`quantity`,label:`health.medicine.fields.quantity`,rules:{min:0,max:1e5}}),e.date({key:`quantityCheckedAt`,label:`health.medicine.fields.quantityCheckedAt`}),e.text({key:`description`,label:`health.medicine.fields.description`,rules:{max:1e3}}),e.keyed({key:`dose`,label:`health.medicine.fields.dose`,by:e.relation({key:`person`,label:`health.medicine.fields.dose_person`,options:{library:`people`,shelf:`person`}}),fields:[e.perWeekday({key:`value`,label:`health.medicine.fields.dose_value`,rules:{min:0,max:20,step:.5}})]}),e.select({key:`intakeTimes`,label:`health.medicine.fields.intakeTimes`,options:`day-periods`,multiple:!0}),e.period({key:`intakePeriods`,label:`health.medicine.fields.intakePeriods`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,required:!0,options:[{value:`vitamin`,title:`health.medicine.options.type.vitamin`},{value:`supplement`,title:`health.medicine.options.type.supplement`},{value:`medication`,title:`health.medicine.options.type.medication`},{value:`antibiotic`,title:`health.medicine.options.type.antibiotic`},{value:`hormone`,title:`health.medicine.options.type.hormone`},{value:`painkiller`,title:`health.medicine.options.type.painkiller`},{value:`homeopathy`,title:`health.medicine.options.type.homeopathy`},{value:`herbal`,title:`health.medicine.options.type.herbal`}]}),e.select({key:`form`,label:`health.medicine.fields.form`,options:[{value:`tablet`,title:`health.medicine.options.form.tablet`},{value:`capsule`,title:`health.medicine.options.form.capsule`},{value:`syrup`,title:`health.medicine.options.form.syrup`},{value:`drops`,title:`health.medicine.options.form.drops`},{value:`ointment`,title:`health.medicine.options.form.ointment`},{value:`gel`,title:`health.medicine.options.form.gel`},{value:`spray`,title:`health.medicine.options.form.spray`},{value:`injection`,title:`health.medicine.options.form.injection`},{value:`powder`,title:`health.medicine.options.form.powder`},{value:`suppository`,title:`health.medicine.options.form.suppository`}]})]}),s=t({shelf:`health_visit`,library:`health`,label:`health.health_visit.label`,icon:`lucide:stethoscope`,views:{table:[`date`,`person`,`specialty`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_visit.fields.date`}),e.string({key:`specialist`,label:`health.health_visit.fields.specialist`,rules:{max:200}}),e.string({key:`specialty`,label:`health.health_visit.fields.specialty`,rules:{max:100}}),e.string({key:`clinic`,label:`health.health_visit.fields.clinic`,rules:{max:200}}),e.relation({key:`person`,label:`health.health_visit.fields.person`,options:{library:`people`,shelf:`person`}}),e.text({key:`reason`,label:`health.health_visit.fields.reason`,rules:{max:1e3}}),e.text({key:`result`,label:`health.health_visit.fields.result`,rules:{max:2e3}}),e.text({key:`next_step`,label:`health.health_visit.fields.next_step`,rules:{max:1e3}}),e.money({key:`cost`,label:`health.health_visit.fields.cost`,rules:{defaultCurrency:`UAH`}}),e.image({key:`photos`,label:`health.health_visit.fields.photos`,multiple:!0}),e.file({key:`files`,label:`health.health_visit.fields.files`,multiple:!0}),e.relation({key:`medicines`,label:`health.health_visit.fields.medicines`,options:{library:`health`,shelf:`medicine`},multiple:!0}),e.reminder({key:`nextVisit`,label:`health.health_visit.fields.nextVisit`,rules:{lead:14}})]}),c=t({shelf:`health_test`,library:`health`,label:`health.health_test.label`,icon:`lucide:flask-conical`,views:{table:[`date`,`person`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_test.fields.date`}),e.string({key:`clinic`,label:`health.health_test.fields.clinic`,rules:{max:200}}),e.select({key:`status`,label:`health.health_test.fields.status`,options:[{value:`ordered`,title:`health.health_test.options.status.ordered`},{value:`completed`,title:`health.health_test.options.status.completed`},{value:`cancelled`,title:`health.health_test.options.status.cancelled`}]}),e.select({key:`test_type`,label:`health.health_test.fields.test_type`,options:[{value:`blood`,title:`health.health_test.options.test_type.blood`},{value:`urine`,title:`health.health_test.options.test_type.urine`},{value:`ultrasound`,title:`health.health_test.options.test_type.ultrasound`},{value:`xray`,title:`health.health_test.options.test_type.xray`},{value:`mri`,title:`health.health_test.options.test_type.mri`},{value:`other`,title:`health.health_test.options.test_type.other`}]}),e.relation({key:`person`,label:`health.health_test.fields.person`,options:{library:`people`,shelf:`person`}}),e.text({key:`result`,label:`health.health_test.fields.result`,rules:{max:5e3}}),e.image({key:`attachments`,label:`health.health_test.fields.attachments`,multiple:!0})]}),l=n({id:`person_body`,label:`health.person_body.label`,icon:`lucide:ruler`,attachTo:[{library:`people`,shelf:`person`}],claude:`Person's body measurements. weightKg — weight in kg. heightCm — height in cm. bloodGroup — ABO/Rh blood type. allergies — list of allergens.`,fields:[e.real({key:`weightKg`,label:`health.person_body.fields.weightKg`,rules:{min:1,max:500}}),e.int({key:`heightCm`,label:`health.person_body.fields.heightCm`,rules:{min:50,max:250}}),e.select({key:`bloodGroup`,label:`health.person_body.fields.bloodGroup`,options:[`O-`,`O+`,`A-`,`A+`,`B-`,`B+`,`AB-`,`AB+`]}),e.string({key:`allergies`,label:`health.person_body.fields.allergies`,multiple:!0})]}),u=[{value:`any`,title:`health.dayPeriods.any`},{value:`before_breakfast`,title:`health.dayPeriods.before_breakfast`},{value:`with_breakfast`,title:`health.dayPeriods.with_breakfast`},{value:`after_breakfast`,title:`health.dayPeriods.after_breakfast`},{value:`with_food`,title:`health.dayPeriods.with_food`},{value:`after_lunch`,title:`health.dayPeriods.after_lunch`},{value:`evening`,title:`health.dayPeriods.evening`},{value:`before_bed`,title:`health.dayPeriods.before_bed`},{value:`as_needed`,title:`health.dayPeriods.as_needed`}],d=r({id:`health`,version:`1.0.0`,dependsOn:[`people`],optionLists:[{name:`day-periods`,options:[...u]}],libraries:[{meta:i({id:`health`,label:`health.library.label`,icon:`lucide:hospital`,agent:`Medical tests, doctor visits, and medicines — each linked to a person.`}),shelves:[o,s,c]}],extends_:[l],settings:a({label:`health.settings.label`,fields:[e.string({key:`caldav_calendar`,label:`health.settings.caldav_calendar`}),e.string({key:`caldav_url`,label:`health.settings.caldav_url`}),e.string({key:`caldav_username`,label:`health.settings.caldav_username`}),e.password({key:`caldav_password`,label:`health.settings.caldav_password`}),...u.filter(e=>e.value!==`as_needed`).map(t=>e.time({key:`time_${t.value}`,label:`health.settings.time_${t.value}`,rules:{granularity:`minute`}}))]})});export{d as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{t as n}from"./extend-DDZLGxKJ.js";import{n as r,r as i}from"./plugin-q1oOYqt7.js";import{t as a}from"./settings-Dfvzj6n2.js";var o=t({shelf:`medicine`,library:`health`,label:`health.medicine.label`,icon:`lucide:pill`,views:{table:[`type`,`form`,`quantity`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`photo`,label:`health.medicine.fields.photo`}),e.int({key:`quantity`,label:`health.medicine.fields.quantity`,rules:{min:0,max:1e5}}),e.date({key:`quantityCheckedAt`,label:`health.medicine.fields.quantityCheckedAt`}),e.text({key:`description`,label:`health.medicine.fields.description`,rules:{max:1e3}}),e.keyed({key:`dose`,label:`health.medicine.fields.dose`,by:e.relation({key:`person`,label:`health.medicine.fields.dose_person`,options:{library:`people`,shelf:`person`}}),fields:[e.perWeekday({key:`value`,label:`health.medicine.fields.dose_value`,rules:{min:0,max:20,step:.5}})]}),e.select({key:`intakeTimes`,label:`health.medicine.fields.intakeTimes`,options:`day-periods`,multiple:!0}),e.period({key:`intakePeriods`,label:`health.medicine.fields.intakePeriods`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,required:!0,options:[{value:`vitamin`,title:`health.medicine.options.type.vitamin`},{value:`supplement`,title:`health.medicine.options.type.supplement`},{value:`medication`,title:`health.medicine.options.type.medication`},{value:`antibiotic`,title:`health.medicine.options.type.antibiotic`},{value:`hormone`,title:`health.medicine.options.type.hormone`},{value:`painkiller`,title:`health.medicine.options.type.painkiller`},{value:`homeopathy`,title:`health.medicine.options.type.homeopathy`},{value:`herbal`,title:`health.medicine.options.type.herbal`}]}),e.select({key:`form`,label:`health.medicine.fields.form`,options:[{value:`tablet`,title:`health.medicine.options.form.tablet`},{value:`capsule`,title:`health.medicine.options.form.capsule`},{value:`syrup`,title:`health.medicine.options.form.syrup`},{value:`drops`,title:`health.medicine.options.form.drops`},{value:`ointment`,title:`health.medicine.options.form.ointment`},{value:`gel`,title:`health.medicine.options.form.gel`},{value:`spray`,title:`health.medicine.options.form.spray`},{value:`injection`,title:`health.medicine.options.form.injection`},{value:`powder`,title:`health.medicine.options.form.powder`},{value:`suppository`,title:`health.medicine.options.form.suppository`}]})]}),s=t({shelf:`health_visit`,library:`health`,label:`health.health_visit.label`,icon:`lucide:stethoscope`,views:{table:[`date`,`person`,`specialty`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_visit.fields.date`}),e.string({key:`specialist`,label:`health.health_visit.fields.specialist`,rules:{max:200}}),e.string({key:`specialty`,label:`health.health_visit.fields.specialty`,rules:{max:100}}),e.string({key:`clinic`,label:`health.health_visit.fields.clinic`,rules:{max:200}}),e.relation({key:`person`,label:`health.health_visit.fields.person`,options:{library:`people`,shelf:`person`}}),e.text({key:`reason`,label:`health.health_visit.fields.reason`,rules:{max:1e3}}),e.text({key:`result`,label:`health.health_visit.fields.result`,rules:{max:2e3}}),e.text({key:`next_step`,label:`health.health_visit.fields.next_step`,rules:{max:1e3}}),e.money({key:`cost`,label:`health.health_visit.fields.cost`,rules:{defaultCurrency:`UAH`}}),e.image({key:`photos`,label:`health.health_visit.fields.photos`,multiple:!0}),e.file({key:`files`,label:`health.health_visit.fields.files`,multiple:!0}),e.relation({key:`medicines`,label:`health.health_visit.fields.medicines`,options:{library:`health`,shelf:`medicine`},multiple:!0}),e.reminder({key:`nextVisit`,label:`health.health_visit.fields.nextVisit`,rules:{lead:14}})]}),c=t({shelf:`health_test`,library:`health`,label:`health.health_test.label`,icon:`lucide:flask-conical`,views:{table:[`date`,`person`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_test.fields.date`}),e.string({key:`clinic`,label:`health.health_test.fields.clinic`,rules:{max:200}}),e.select({key:`status`,label:`health.health_test.fields.status`,options:[{value:`ordered`,title:`health.health_test.options.status.ordered`},{value:`completed`,title:`health.health_test.options.status.completed`},{value:`cancelled`,title:`health.health_test.options.status.cancelled`}]}),e.select({key:`test_type`,label:`health.health_test.fields.test_type`,options:[{value:`blood`,title:`health.health_test.options.test_type.blood`},{value:`urine`,title:`health.health_test.options.test_type.urine`},{value:`ultrasound`,title:`health.health_test.options.test_type.ultrasound`},{value:`xray`,title:`health.health_test.options.test_type.xray`},{value:`mri`,title:`health.health_test.options.test_type.mri`},{value:`other`,title:`health.health_test.options.test_type.other`}]}),e.relation({key:`person`,label:`health.health_test.fields.person`,options:{library:`people`,shelf:`person`}}),e.text({key:`result`,label:`health.health_test.fields.result`,rules:{max:5e3}}),e.image({key:`attachments`,label:`health.health_test.fields.attachments`,multiple:!0})]}),l=n({id:`person_body`,label:`health.person_body.label`,icon:`lucide:ruler`,attachTo:[{library:`people`,shelf:`person`}],claude:`Person's body measurements. weightKg — weight in kg. heightCm — height in cm. bloodGroup — ABO/Rh blood type. allergies — list of allergens.`,fields:[e.real({key:`weightKg`,label:`health.person_body.fields.weightKg`,rules:{min:1,max:500}}),e.int({key:`heightCm`,label:`health.person_body.fields.heightCm`,rules:{min:50,max:250}}),e.select({key:`bloodGroup`,label:`health.person_body.fields.bloodGroup`,options:[`O-`,`O+`,`A-`,`A+`,`B-`,`B+`,`AB-`,`AB+`]}),e.string({key:`allergies`,label:`health.person_body.fields.allergies`,multiple:!0})]}),u=[{value:`any`,title:`health.dayPeriods.any`},{value:`before_breakfast`,title:`health.dayPeriods.before_breakfast`},{value:`with_breakfast`,title:`health.dayPeriods.with_breakfast`},{value:`after_breakfast`,title:`health.dayPeriods.after_breakfast`},{value:`with_food`,title:`health.dayPeriods.with_food`},{value:`after_lunch`,title:`health.dayPeriods.after_lunch`},{value:`evening`,title:`health.dayPeriods.evening`},{value:`before_bed`,title:`health.dayPeriods.before_bed`},{value:`as_needed`,title:`health.dayPeriods.as_needed`}],d=r({id:`health`,version:`1.0.0`,dependsOn:[`people`],optionLists:[{name:`day-periods`,options:[...u]}],libraries:[{meta:i({id:`health`,label:`health.library.label`,icon:`lucide:hospital`,agent:`Medical tests, doctor visits, and medicines — each linked to a person.`}),shelves:[o,s,c]}],extends_:[l],settings:a({label:`health.settings.label`,fields:[e.string({key:`caldav_calendar`,label:`health.settings.caldav_calendar`}),e.string({key:`caldav_url`,label:`health.settings.caldav_url`}),e.string({key:`caldav_username`,label:`health.settings.caldav_username`}),e.password({key:`caldav_password`,label:`health.settings.caldav_password`}),...u.filter(e=>e.value!==`as_needed`).map(t=>e.time({key:`time_${t.value}`,label:`health.settings.time_${t.value}`,rules:{granularity:`minute`}}))]})});export{d as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`claude-agent`,version:`1.0.0`,dependsOn:[],settings:n({label:`claude-agent.settings.label`,fields:[e.select({key:`auth_mode`,label:`claude-agent.settings.auth_mode`,default:`subscription`,options:[{value:`subscription`,title:`claude-agent.settings.auth_mode_subscription`},{value:`api_key`,title:`claude-agent.settings.auth_mode_api_key`}]}),e.password({key:`anthropic_api_key`,label:`claude-agent.settings.anthropic_api_key`,view:{hidden:{auth_mode:{$ne:`api_key`}}}}),e.string({key:`claude_model`,label:`claude-agent.settings.claude_model`,default:`haiku`}),e.boolean({key:`skip_permissions`,label:`claude-agent.settings.skip_permissions`,default:!0}),e.int({key:`response_timeout`,label:`claude-agent.settings.response_timeout`,default:600}),e.boolean({key:`rag_enabled`,label:`claude-agent.settings.rag_enabled`,default:!0}),e.int({key:`rag_top_k`,label:`claude-agent.settings.rag_top_k`,default:5}),e.boolean({key:`stream_preambles_separately`,label:`claude-agent.settings.stream_preambles_separately`,default:!1}),e.password({key:`openai_api_key`,label:`claude-agent.settings.openai_api_key`}),e.password({key:`langfuse_public_key`,label:`claude-agent.settings.langfuse_public_key`}),e.password({key:`langfuse_secret_key`,label:`claude-agent.settings.langfuse_secret_key`}),e.string({key:`langfuse_base_url`,label:`claude-agent.settings.langfuse_base_url`}),e.boolean({key:`tracing_enabled`,label:`claude-agent.settings.tracing_enabled`})]})});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`claude-agent`,version:`1.0.0`,dependsOn:[],settings:n({label:`claude-agent.settings.label`,fields:[e.select({key:`auth_mode`,label:`claude-agent.settings.auth_mode`,default:`subscription`,options:[{value:`subscription`,title:`claude-agent.settings.auth_mode_subscription`},{value:`api_key`,title:`claude-agent.settings.auth_mode_api_key`}]}),e.password({key:`anthropic_api_key`,label:`claude-agent.settings.anthropic_api_key`,view:{hidden:{auth_mode:{$ne:`api_key`}}}}),e.string({key:`claude_model`,label:`claude-agent.settings.claude_model`,default:`haiku`}),e.boolean({key:`skip_permissions`,label:`claude-agent.settings.skip_permissions`,default:!0}),e.int({key:`response_timeout`,label:`claude-agent.settings.response_timeout`,default:600}),e.boolean({key:`rag_enabled`,label:`claude-agent.settings.rag_enabled`,default:!0}),e.int({key:`rag_top_k`,label:`claude-agent.settings.rag_top_k`,default:5}),e.boolean({key:`stream_preambles_separately`,label:`claude-agent.settings.stream_preambles_separately`,default:!1}),e.password({key:`openai_api_key`,label:`claude-agent.settings.openai_api_key`}),e.password({key:`langfuse_public_key`,label:`claude-agent.settings.langfuse_public_key`}),e.password({key:`langfuse_secret_key`,label:`claude-agent.settings.langfuse_secret_key`}),e.string({key:`langfuse_base_url`,label:`claude-agent.settings.langfuse_base_url`}),e.boolean({key:`tracing_enabled`,label:`claude-agent.settings.tracing_enabled`})]})});export{r as default};
@@ -1 +1 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`orchestrator`,version:`1.0.0`,dependsOn:[`claude-agent`],settings:n({label:`orchestrator.settings.label`,fields:[e.password({key:`access_password`,label:`orchestrator.settings.access_password`}),e.string({key:`trigger_prefix`,label:`orchestrator.settings.trigger_prefix`}),e.int({key:`reply_window`,label:`orchestrator.settings.reply_window`,default:1800})]})});export{r as default};
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{n as t}from"./plugin-q1oOYqt7.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`orchestrator`,version:`1.0.0`,dependsOn:[`claude-agent`],settings:n({label:`orchestrator.settings.label`,fields:[e.password({key:`access_password`,label:`orchestrator.settings.access_password`}),e.string({key:`trigger_prefix`,label:`orchestrator.settings.trigger_prefix`}),e.int({key:`reply_window`,label:`orchestrator.settings.reply_window`,default:1800})]})});export{r as default};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./fields-CQxZPdka.js";import{i as t}from"./shelf-iRNXQLvo.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`plant`,library:`garden`,label:`garden.plant.label`,icon:`lucide:sprout`,claude:`A houseplant. title — name. variety — cultivar/subspecies. location — where it stands.
1
+ import{i as e}from"./fields-B4fdbc1_.js";import{i as t}from"./shelf-e7xL1R3N.js";import{n,r}from"./plugin-q1oOYqt7.js";var i=t({shelf:`plant`,library:`garden`,label:`garden.plant.label`,icon:`lucide:sprout`,claude:`A houseplant. title — name. variety — cultivar/subspecies. location — where it stands.
2
2
  wateringDays — watering interval (days). lastWatered — date of last watering.
3
3
  fertilizerDays — fertilizing interval. lastFertilized — last date.
4
- planted — date planted/acquired.`,views:{table:[`variety`,`location`,`wateringDays`,`lastWatered`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`garden.plant.fields.logo`}),e.string({key:`variety`,label:`garden.plant.fields.variety`,rules:{max:100}}),e.select({key:`location`,label:`garden.plant.fields.location`,options:[{value:`windowsill`,title:`garden.plant.options.location.windowsill`},{value:`balcony`,title:`garden.plant.options.location.balcony`},{value:`hanging`,title:`garden.plant.options.location.hanging`},{value:`floor`,title:`garden.plant.options.location.floor`},{value:`other`,title:`garden.plant.options.location.other`}]}),e.select({key:`sunlight`,label:`garden.plant.fields.sunlight`,options:[{value:`shade`,title:`garden.plant.options.sunlight.shade`},{value:`partial`,title:`garden.plant.options.sunlight.partial`},{value:`indirect`,title:`garden.plant.options.sunlight.indirect`},{value:`direct`,title:`garden.plant.options.sunlight.direct`}]}),e.string({key:`pot`,label:`garden.plant.fields.pot`,rules:{max:100}}),e.date({key:`planted`,label:`garden.plant.fields.planted`,rules:{min:`2000-01-01`,max:`today`}}),e.int({key:`wateringDays`,label:`garden.plant.fields.wateringDays`,rules:{min:1,max:365}}),e.date({key:`lastWatered`,label:`garden.plant.fields.lastWatered`,rules:{max:`today`}}),e.reminder({key:`nextWatering`,label:`garden.plant.fields.nextWatering`,rules:{lead:3}}),e.int({key:`fertilizerDays`,label:`garden.plant.fields.fertilizerDays`,rules:{min:1,max:365}}),e.date({key:`lastFertilized`,label:`garden.plant.fields.lastFertilized`,rules:{max:`today`}}),e.reminder({key:`nextFertilizing`,label:`garden.plant.fields.nextFertilizing`,rules:{lead:7}}),e.button({label:`garden.plant.actions.watered`,value:`garden.watered`,icon:`lucide:droplet`}),e.button({label:`garden.plant.actions.fertilized`,value:`garden.fertilized`,icon:`lucide:flask-conical`}),e.text({key:`notes`,label:`garden.plant.fields.notes`,rules:{max:500}}),e.tags({key:`tags`,label:`garden.plant.fields.tags`})]}),a=n({id:`garden`,version:`1.0.0`,dependsOn:[],libraries:[{meta:r({id:`garden`,label:`garden.library.label`,icon:`lucide:sprout`,agent:`Garden plants (plant) — watering and fertilizing schedule.`}),shelves:[i]}]});export{a as default};
4
+ planted — date planted/acquired.`,views:{table:[`variety`,`location`,`wateringDays`,`lastWatered`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`garden.plant.fields.logo`}),e.string({key:`variety`,label:`garden.plant.fields.variety`,rules:{max:100}}),e.select({key:`location`,label:`garden.plant.fields.location`,options:[{value:`windowsill`,title:`garden.plant.options.location.windowsill`},{value:`balcony`,title:`garden.plant.options.location.balcony`},{value:`hanging`,title:`garden.plant.options.location.hanging`},{value:`floor`,title:`garden.plant.options.location.floor`},{value:`other`,title:`garden.plant.options.location.other`}]}),e.select({key:`sunlight`,label:`garden.plant.fields.sunlight`,options:[{value:`shade`,title:`garden.plant.options.sunlight.shade`},{value:`partial`,title:`garden.plant.options.sunlight.partial`},{value:`indirect`,title:`garden.plant.options.sunlight.indirect`},{value:`direct`,title:`garden.plant.options.sunlight.direct`}]}),e.string({key:`pot`,label:`garden.plant.fields.pot`,rules:{max:100}}),e.date({key:`planted`,label:`garden.plant.fields.planted`,rules:{min:`2000-01-01`,max:`today`}}),e.int({key:`wateringDays`,label:`garden.plant.fields.wateringDays`,rules:{min:1,max:365}}),e.date({key:`lastWatered`,label:`garden.plant.fields.lastWatered`,rules:{max:`today`}}),e.reminder({key:`nextWatering`,label:`garden.plant.fields.nextWatering`,rules:{lead:3}}),e.int({key:`fertilizerDays`,label:`garden.plant.fields.fertilizerDays`,rules:{min:1,max:365}}),e.date({key:`lastFertilized`,label:`garden.plant.fields.lastFertilized`,rules:{max:`today`}}),e.reminder({key:`nextFertilizing`,label:`garden.plant.fields.nextFertilizing`,rules:{lead:7}}),e.button({label:`garden.plant.actions.watered`,value:`garden.watered`,icon:`lucide:droplet`}),e.button({label:`garden.plant.actions.fertilized`,value:`garden.fertilized`,icon:`lucide:flask-conical`}),e.text({key:`notes`,label:`garden.plant.fields.notes`,rules:{max:500}}),e.tags({key:`tags`,label:`garden.plant.fields.tags`})]}),a=n({id:`garden`,version:`1.0.0`,dependsOn:[`things`],libraries:[{meta:r({id:`garden`,label:`garden.library.label`,icon:`lucide:sprout`,agent:`Garden plants (plant) — watering and fertilizing schedule.`}),shelves:[i]}],fieldContribs:[{library:`things`,shelf:`item`,field:`type`,options:[{value:`garden`,title:`garden.contrib.type.garden`}]}]});export{a as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NoMac-D7iyE4U0.js","assets/jsx-dev-runtime-CSfA-jUb.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-n93t21jb.js","assets/ScanSummary-BtTfSAGX.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-n93t21jb.js";import{n}from"./clsx-enQ3xCtU.js";import{t as r}from"./jsx-dev-runtime-CSfA-jUb.js";import{C as i,E as a,S as o,T as s,V as c,b as l,r as u,w as d,y as f}from"./shared-D0511v9d.js";import{t as p}from"./json-2IEVhd4i.js";import{t as m}from"./field-frame-9VMMov4O.js";import{a as h,c as g,n as _,o as v,t as y}from"./data-size-DGgafqIa.js";function b(e,t,n){return{library:e,shelf:t,...n}}var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:i}){let a=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[o,s]=(0,x.useState)(a?r(a):e??``);(0,x.useEffect)(()=>{s(a?r(a):e||``)},[e,a]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(c,{value:o,placeholder:i,onChange:e=>s(e.target.value),onBlur:()=>l(o),onKeyDown:e=>{e.key===`Enter`&&l(o)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(l,{items:p(e,[]),content:e=>{let n=typeof e==`string`?p(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(m,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=p(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(f,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(c,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(m,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=p(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(f,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(c,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=g(e),l=t===``?``:Number(t),[u,f]=(0,x.useState)(()=>l!==``&&Number(l)>0?_(Number(l),r)[0]:e.hints.unit??`GB`),p=h(r,u),m=l===``?``:Number((Number(l)/p).toFixed(4)),v=e=>Math.round(e*p);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(c,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(v(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(o,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(s,{className:`w-24`,children:(0,E.jsxDEV)(a,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(i,{children:y[r].map(([e])=>(0,E.jsxDEV)(d,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=v(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(f,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=g(e.field);return(0,E.jsxDEV)(m,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:g(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=b(`devices`,`network`,{renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-D7iyE4U0.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-BtTfSAGX.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NoMac-Bs6G_u9v.js","assets/jsx-dev-runtime-DeBf9dJw.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-BKp0oIqV.js","assets/ScanSummary-CaSVAMkI.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-BKp0oIqV.js";import{n}from"./clsx-enQ3xCtU.js";import{t as r}from"./jsx-dev-runtime-DeBf9dJw.js";import{C as i,E as a,S as o,T as s,V as c,b as l,r as u,w as d,y as f}from"./shared-Dn2tWEOY.js";import{t as p}from"./json-DfDguq5e.js";import{t as m}from"./field-frame-CESVVP3h.js";import{a as h,c as g,n as _,o as v,t as y}from"./data-size-DCGcE2iT.js";function b(e,t,n){return{library:e,shelf:t,...n}}var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:i}){let a=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[o,s]=(0,x.useState)(a?r(a):e??``);(0,x.useEffect)(()=>{s(a?r(a):e||``)},[e,a]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(c,{value:o,placeholder:i,onChange:e=>s(e.target.value),onBlur:()=>l(o),onKeyDown:e=>{e.key===`Enter`&&l(o)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(l,{items:p(e,[]),content:e=>{let n=typeof e==`string`?p(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(m,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=p(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(f,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(c,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(m,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=p(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(f,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(c,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=g(e),l=t===``?``:Number(t),[u,f]=(0,x.useState)(()=>l!==``&&Number(l)>0?_(Number(l),r)[0]:e.hints.unit??`GB`),p=h(r,u),m=l===``?``:Number((Number(l)/p).toFixed(4)),v=e=>Math.round(e*p);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(c,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(v(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(o,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(s,{className:`w-24`,children:(0,E.jsxDEV)(a,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(i,{children:y[r].map(([e])=>(0,E.jsxDEV)(d,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=v(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(f,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=g(e.field);return(0,E.jsxDEV)(m,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:g(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=b(`devices`,`network`,{renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-Bs6G_u9v.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-CaSVAMkI.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
package/dist/index.html CHANGED
@@ -37,36 +37,33 @@
37
37
  }
38
38
  }
39
39
  </script>
40
- <script type="module" crossorigin src="/assets/index-D5IQ3-ik.js"></script>
40
+ <script type="module" crossorigin src="/assets/index-DeSFnSeF.js"></script>
41
41
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
42
- <link rel="modulepreload" crossorigin href="/assets/react-n93t21jb.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/react-BKp0oIqV.js">
43
43
  <link rel="modulepreload" crossorigin href="/assets/clsx-enQ3xCtU.js">
44
44
  <link rel="modulepreload" crossorigin href="/assets/color-names-CKKZbleV.js">
45
- <link rel="modulepreload" crossorigin href="/assets/jsx-dev-runtime-CSfA-jUb.js">
46
- <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-JUshM5qe.js">
47
- <link rel="modulepreload" crossorigin href="/assets/button-Dlm2GmQs.js">
48
- <link rel="modulepreload" crossorigin href="/assets/chunk-KS7C4IRE-B1_Zk64s.js">
49
- <link rel="modulepreload" crossorigin href="/assets/fields-CQxZPdka.js">
50
- <link rel="modulepreload" crossorigin href="/assets/field-frame-9VMMov4O.js">
51
- <link rel="modulepreload" crossorigin href="/assets/shelf-iRNXQLvo.js">
52
- <link rel="modulepreload" crossorigin href="/assets/extend-DrbW8fXY.js">
45
+ <link rel="modulepreload" crossorigin href="/assets/jsx-dev-runtime-DeBf9dJw.js">
46
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DhzTdv_T.js">
47
+ <link rel="modulepreload" crossorigin href="/assets/button-VZuZjj-j.js">
48
+ <link rel="modulepreload" crossorigin href="/assets/chunk-KS7C4IRE-dy2r3JTy.js">
49
+ <link rel="modulepreload" crossorigin href="/assets/fields-B4fdbc1_.js">
50
+ <link rel="modulepreload" crossorigin href="/assets/field-frame-CESVVP3h.js">
51
+ <link rel="modulepreload" crossorigin href="/assets/shelf-e7xL1R3N.js">
52
+ <link rel="modulepreload" crossorigin href="/assets/extend-DDZLGxKJ.js">
53
53
  <link rel="modulepreload" crossorigin href="/assets/plugin-q1oOYqt7.js">
54
- <link rel="modulepreload" crossorigin href="/assets/development-ChLInqDF.js">
55
- <link rel="modulepreload" crossorigin href="/assets/micromark-extension-gfm-Cu0AwUgc.js">
56
- <link rel="modulepreload" crossorigin href="/assets/Toolbar-DFtG8IB3.js">
57
- <link rel="modulepreload" crossorigin href="/assets/PageBody-CvuReTKD.js">
58
- <link rel="modulepreload" crossorigin href="/assets/SettingsForm-D9kBgf6H.js">
59
- <link rel="modulepreload" crossorigin href="/assets/dist-DkJnaE0X.js">
54
+ <link rel="modulepreload" crossorigin href="/assets/Toolbar-S4-Gmm9L.js">
55
+ <link rel="modulepreload" crossorigin href="/assets/PageBody-QzKQtJfF.js">
56
+ <link rel="modulepreload" crossorigin href="/assets/SettingsForm-CWhHJOJt.js">
57
+ <link rel="modulepreload" crossorigin href="/assets/dist-DIdoc5C5.js">
60
58
  <link rel="modulepreload" crossorigin href="/assets/floating-ui.dom-BiC1_AXf.js">
61
- <link rel="modulepreload" crossorigin href="/assets/json-2IEVhd4i.js">
62
- <link rel="modulepreload" crossorigin href="/assets/dist-CdqdWApy.js">
63
- <link rel="modulepreload" crossorigin href="/assets/shared-D0511v9d.js">
64
- <link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo-C9TZgX6o.js">
65
- <link rel="modulepreload" crossorigin href="/assets/purify.es-sLXpNpJ5.js">
59
+ <link rel="modulepreload" crossorigin href="/assets/json-DfDguq5e.js">
60
+ <link rel="modulepreload" crossorigin href="/assets/shared-Dn2tWEOY.js">
61
+ <link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo-2xj7V0H2.js">
66
62
  <link rel="modulepreload" crossorigin href="/assets/countries-BSm8PNWW.js">
67
- <link rel="modulepreload" crossorigin href="/assets/api-j5etRnzW.js">
68
- <link rel="modulepreload" crossorigin href="/assets/lib-DqTnDi2O.js">
69
- <link rel="modulepreload" crossorigin href="/assets/auth-context-zE-2rDEl.js">
63
+ <link rel="modulepreload" crossorigin href="/assets/api-V98HaFMa.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/index.dom-CA5INa_J.js">
65
+ <link rel="modulepreload" crossorigin href="/assets/lib-DUUz5X6c.js">
66
+ <link rel="modulepreload" crossorigin href="/assets/auth-context-BlvZgasO.js">
70
67
  <link rel="stylesheet" crossorigin href="/assets/index-C94DLfRb.css">
71
68
  </head>
72
69
  <body>
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/i18next/dist/esm/i18next.js
1
+ //#region ../../node_modules/.pnpm/i18next@26.3.6_typescript@6.0.3/node_modules/i18next/dist/esm/i18next.js
2
2
  var e = (e) => typeof e == "string", t = () => {
3
3
  let e, t, n = new Promise((n, r) => {
4
4
  e = n, t = r;
@@ -1,5 +1,5 @@
1
1
  import { n as e, t } from "./rolldown-runtime-3b4jIN3o.js";
2
- //#region ../../node_modules/react/cjs/react-jsx-runtime.production.js
2
+ //#region ../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react-jsx-runtime.production.js
3
3
  var n = /* @__PURE__ */ t(((e) => {
4
4
  var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
5
5
  function r(e, n, r) {
@@ -1,6 +1,6 @@
1
1
  import { n as e, t } from "./rolldown-runtime-3b4jIN3o.js";
2
- import { t as n } from "./react-CdP73OPv.js";
3
- //#region ../../node_modules/react-dom/cjs/react-dom.production.js
2
+ import { t as n } from "./react-yLkyEioL.js";
3
+ //#region ../../node_modules/.pnpm/react-dom@19.2.8_react@19.2.8/node_modules/react-dom/cjs/react-dom.production.js
4
4
  var r = /* @__PURE__ */ t(((e) => {
5
5
  var t = n();
6
6
  function r(e) {
@@ -116,7 +116,7 @@ var r = /* @__PURE__ */ t(((e) => {
116
116
  return c.H.useFormState(e, t, n);
117
117
  }, e.useFormStatus = function() {
118
118
  return c.H.useHostTransitionStatus();
119
- }, e.version = "19.2.7";
119
+ }, e.version = "19.2.8";
120
120
  })), i = /* @__PURE__ */ e((/* @__PURE__ */ t(((e, t) => {
121
121
  function n() {
122
122
  if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try {
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./rolldown-runtime-3b4jIN3o.js";
2
- //#region ../../node_modules/react/cjs/react.production.js
2
+ //#region ../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react.production.js
3
3
  var t = /* @__PURE__ */ e(((e) => {
4
4
  var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), o = Symbol.for("react.consumer"), s = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), u = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), f = Symbol.for("react.activity"), p = Symbol.iterator;
5
5
  function m(e) {
@@ -285,7 +285,7 @@ var t = /* @__PURE__ */ e(((e) => {
285
285
  return w.H.useSyncExternalStore(e, t, n);
286
286
  }, e.useTransition = function() {
287
287
  return w.H.useTransition();
288
- }, e.version = "19.2.7";
288
+ }, e.version = "19.2.8";
289
289
  })), n = /* @__PURE__ */ e(((e, n) => {
290
290
  n.exports = t();
291
291
  }));
@@ -1,5 +1,5 @@
1
1
  import { n as e } from "./rolldown-runtime-3b4jIN3o.js";
2
- import { t } from "./react-CdP73OPv.js";
2
+ import { t } from "./react-yLkyEioL.js";
3
3
  //#region vendor/react.ts
4
4
  var n = /* @__PURE__ */ e(t(), 1), r = n, { Activity: i, Children: a, Component: o, Fragment: s, Profiler: c, PureComponent: l, StrictMode: u, Suspense: d, act: f, cache: p, cacheSignal: m, captureOwnerStack: h, cloneElement: g, createContext: _, createElement: v, createRef: y, forwardRef: b, isValidElement: x, lazy: S, memo: C, startTransition: w, use: T, useActionState: E, useCallback: D, useContext: O, useDebugValue: k, useDeferredValue: A, useEffect: j, useEffectEvent: M, useId: N, useImperativeHandle: P, useInsertionEffect: F, useLayoutEffect: I, useMemo: L, useOptimistic: R, useReducer: z, useRef: B, useState: V, useSyncExternalStore: H, useTransition: U, version: W } = n, G = n.unstable_useCacheRefresh;
5
5
  //#endregion