@bonsae/nrg 0.25.1 → 0.26.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 (34) hide show
  1. package/package.json +6 -4
  2. package/server/index.cjs +1413 -2
  3. package/server/resources/nrg-client.js +10 -0
  4. package/test/client/component/config.js +9 -9
  5. package/test/client/component/index.js +230 -42
  6. package/test/client/component/nrg.css +1 -0
  7. package/test/client/component/schemas.js +37 -0
  8. package/test/client/component/setup.js +1473 -198
  9. package/test/client/e2e/index.js +33 -35
  10. package/test/client/unit/index.js +17 -2
  11. package/test/server/integration/index.js +1222 -11
  12. package/test/server/unit/index.js +184 -2
  13. package/types/client.d.ts +1 -1
  14. package/types/server.d.ts +8 -2
  15. package/types/shims/components.d.ts +8 -8
  16. package/types/shims/{client → core/client}/types.d.ts +2 -2
  17. package/types/shims/core/schema-options.d.ts +24 -0
  18. package/types/shims/schema-options.d.ts +17 -17
  19. package/types/test-client-component-schemas.d.ts +73 -0
  20. package/types/test-client-component.d.ts +153 -7
  21. package/types/test-client-unit.d.ts +105 -4
  22. package/types/test-server-integration.d.ts +64 -63
  23. package/types/test-server-unit.d.ts +2 -1
  24. package/vite/index.js +33 -35
  25. /package/types/shims/{client → core/client}/form/components/node-red-config-input.vue.d.ts +0 -0
  26. /package/types/shims/{client → core/client}/form/components/node-red-editor-input.vue.d.ts +0 -0
  27. /package/types/shims/{client → core/client}/form/components/node-red-input-label.vue.d.ts +0 -0
  28. /package/types/shims/{client → core/client}/form/components/node-red-input.vue.d.ts +0 -0
  29. /package/types/shims/{client → core/client}/form/components/node-red-json-schema-form.vue.d.ts +0 -0
  30. /package/types/shims/{client → core/client}/form/components/node-red-select-input.vue.d.ts +0 -0
  31. /package/types/shims/{client → core/client}/form/components/node-red-toggle.vue.d.ts +0 -0
  32. /package/types/shims/{client → core/client}/form/components/node-red-typed-input.vue.d.ts +0 -0
  33. /package/types/shims/{constants.d.ts → core/constants.d.ts} +0 -0
  34. /package/types/shims/{brands.d.ts → core/types.d.ts} +0 -0
@@ -115,10 +115,7 @@ import dts from "vite-plugin-dts";
115
115
  import fs from "fs";
116
116
  import path from "path";
117
117
  import ts from "typescript";
118
- var RUNTIME_TYPE_REWRITES = {
119
- "@bonsae/nrg/server": "@bonsae/nrg-runtime/server",
120
- "@bonsae/nrg/client": "@bonsae/nrg-runtime/client"
121
- };
118
+ var RUNTIME_TYPE_REWRITES = {};
122
119
  function rewriteRuntimeTypeImports(outDir, entryNames) {
123
120
  for (const name of entryNames) {
124
121
  const dtsPath = path.join(outDir, `${name}.d.ts`);
@@ -1553,7 +1550,7 @@ function localesGenerator(options) {
1553
1550
  "en-US": {
1554
1551
  configs: { name: "Name" },
1555
1552
  toggles: {
1556
- validateInput: "Validate",
1553
+ validateInput: "Validate Data",
1557
1554
  errorPort: "Error Port",
1558
1555
  completePort: "Complete Port",
1559
1556
  statusPort: "Status Port"
@@ -1567,7 +1564,7 @@ function localesGenerator(options) {
1567
1564
  outputs: {
1568
1565
  port: "Port",
1569
1566
  label: "Label",
1570
- validate: "Validate",
1567
+ validate: "Validate Data",
1571
1568
  returnProperty: "Return Property",
1572
1569
  contextMode: "Context Mode"
1573
1570
  },
@@ -1580,7 +1577,7 @@ function localesGenerator(options) {
1580
1577
  },
1581
1578
  help: {
1582
1579
  validateInput: "Validate incoming messages against the input schema before input() runs.",
1583
- outputs: "Per-port output settings. Validate checks the sent value against the port's schema; Context Mode controls how the incoming message is carried.",
1580
+ outputs: "Per-port output settings. Validate Data checks the sent value against the port's schema; Context Mode controls how the incoming message is carried.",
1584
1581
  lifecyclePorts: "Optional extra output ports that fire on error, on completion, and on every status change.",
1585
1582
  learnMore: "Learn more"
1586
1583
  }
@@ -1588,7 +1585,7 @@ function localesGenerator(options) {
1588
1585
  de: {
1589
1586
  configs: { name: "Name" },
1590
1587
  toggles: {
1591
- validateInput: "Validieren",
1588
+ validateInput: "Daten validieren",
1592
1589
  errorPort: "Fehler-Port",
1593
1590
  completePort: "Abschluss-Port",
1594
1591
  statusPort: "Status-Port"
@@ -1602,7 +1599,7 @@ function localesGenerator(options) {
1602
1599
  outputs: {
1603
1600
  port: "Port",
1604
1601
  label: "Bezeichnung",
1605
- validate: "Validieren",
1602
+ validate: "Daten validieren",
1606
1603
  returnProperty: "R\xFCckgabe-Eigenschaft",
1607
1604
  contextMode: "Kontextmodus"
1608
1605
  },
@@ -1615,7 +1612,7 @@ function localesGenerator(options) {
1615
1612
  },
1616
1613
  help: {
1617
1614
  validateInput: "Eingehende Nachrichten vor dem Ausf\xFChren von input() gegen das Eingabe-Schema validieren.",
1618
- outputs: "Ausgabe-Einstellungen pro Port. Validieren pr\xFCft den gesendeten Wert gegen das Schema des Ports; Kontextmodus steuert, wie die eingehende Nachricht \xFCbertragen wird.",
1615
+ outputs: "Ausgabe-Einstellungen pro Port. Daten validieren pr\xFCft den gesendeten Wert gegen das Schema des Ports; Kontextmodus steuert, wie die eingehende Nachricht \xFCbertragen wird.",
1619
1616
  lifecyclePorts: "Optionale zus\xE4tzliche Ausg\xE4nge, die bei Fehler, Abschluss und jeder Status\xE4nderung ausl\xF6sen.",
1620
1617
  learnMore: "Mehr erfahren"
1621
1618
  }
@@ -1623,7 +1620,7 @@ function localesGenerator(options) {
1623
1620
  "es-ES": {
1624
1621
  configs: { name: "Nombre" },
1625
1622
  toggles: {
1626
- validateInput: "Validar",
1623
+ validateInput: "Validar datos",
1627
1624
  errorPort: "Puerto de error",
1628
1625
  completePort: "Puerto de completado",
1629
1626
  statusPort: "Puerto de estado"
@@ -1637,7 +1634,7 @@ function localesGenerator(options) {
1637
1634
  outputs: {
1638
1635
  port: "Puerto",
1639
1636
  label: "Etiqueta",
1640
- validate: "Validar",
1637
+ validate: "Validar datos",
1641
1638
  returnProperty: "Propiedad de retorno",
1642
1639
  contextMode: "Modo de contexto"
1643
1640
  },
@@ -1650,7 +1647,7 @@ function localesGenerator(options) {
1650
1647
  },
1651
1648
  help: {
1652
1649
  validateInput: "Valida los mensajes entrantes con el esquema de entrada antes de ejecutar input().",
1653
- outputs: "Ajustes de salida por puerto. Validar comprueba el valor enviado con el esquema del puerto; Modo de contexto controla c\xF3mo se transporta el mensaje entrante.",
1650
+ outputs: "Ajustes de salida por puerto. Validar datos comprueba el valor enviado con el esquema del puerto; Modo de contexto controla c\xF3mo se transporta el mensaje entrante.",
1654
1651
  lifecyclePorts: "Puertos de salida adicionales opcionales que se activan en error, al completar y en cada cambio de estado.",
1655
1652
  learnMore: "M\xE1s informaci\xF3n"
1656
1653
  }
@@ -1658,7 +1655,7 @@ function localesGenerator(options) {
1658
1655
  fr: {
1659
1656
  configs: { name: "Nom" },
1660
1657
  toggles: {
1661
- validateInput: "Valider",
1658
+ validateInput: "Valider les donn\xE9es",
1662
1659
  errorPort: "Port d'erreur",
1663
1660
  completePort: "Port de compl\xE9tion",
1664
1661
  statusPort: "Port de statut"
@@ -1672,7 +1669,7 @@ function localesGenerator(options) {
1672
1669
  outputs: {
1673
1670
  port: "Port",
1674
1671
  label: "Libell\xE9",
1675
- validate: "Valider",
1672
+ validate: "Valider les donn\xE9es",
1676
1673
  returnProperty: "Propri\xE9t\xE9 de retour",
1677
1674
  contextMode: "Mode de contexte"
1678
1675
  },
@@ -1685,7 +1682,7 @@ function localesGenerator(options) {
1685
1682
  },
1686
1683
  help: {
1687
1684
  validateInput: "Valide les messages entrants avec le sch\xE9ma d'entr\xE9e avant l'ex\xE9cution de input().",
1688
- outputs: "R\xE9glages de sortie par port. Valider v\xE9rifie la valeur envoy\xE9e avec le sch\xE9ma du port ; Mode de contexte contr\xF4le la fa\xE7on dont le message entrant est transmis.",
1685
+ outputs: "R\xE9glages de sortie par port. Valider les donn\xE9es v\xE9rifie la valeur envoy\xE9e avec le sch\xE9ma du port ; Mode de contexte contr\xF4le la fa\xE7on dont le message entrant est transmis.",
1689
1686
  lifecyclePorts: "Ports de sortie suppl\xE9mentaires optionnels d\xE9clench\xE9s en cas d'erreur, \xE0 la fin et \xE0 chaque changement de statut.",
1690
1687
  learnMore: "En savoir plus"
1691
1688
  }
@@ -1693,7 +1690,7 @@ function localesGenerator(options) {
1693
1690
  ko: {
1694
1691
  configs: { name: "\uC774\uB984" },
1695
1692
  toggles: {
1696
- validateInput: "\uAC80\uC99D",
1693
+ validateInput: "\uB370\uC774\uD130 \uAC80\uC99D",
1697
1694
  errorPort: "\uC624\uB958 \uD3EC\uD2B8",
1698
1695
  completePort: "\uC644\uB8CC \uD3EC\uD2B8",
1699
1696
  statusPort: "\uC0C1\uD0DC \uD3EC\uD2B8"
@@ -1707,7 +1704,7 @@ function localesGenerator(options) {
1707
1704
  outputs: {
1708
1705
  port: "\uD3EC\uD2B8",
1709
1706
  label: "\uB808\uC774\uBE14",
1710
- validate: "\uAC80\uC99D",
1707
+ validate: "\uB370\uC774\uD130 \uAC80\uC99D",
1711
1708
  returnProperty: "\uBC18\uD658 \uC18D\uC131",
1712
1709
  contextMode: "\uCEE8\uD14D\uC2A4\uD2B8 \uBAA8\uB4DC"
1713
1710
  },
@@ -1720,7 +1717,7 @@ function localesGenerator(options) {
1720
1717
  },
1721
1718
  help: {
1722
1719
  validateInput: "input() \uC2E4\uD589 \uC804\uC5D0 \uB4E4\uC5B4\uC624\uB294 \uBA54\uC2DC\uC9C0\uB97C \uC785\uB825 \uC2A4\uD0A4\uB9C8\uB85C \uAC80\uC99D\uD569\uB2C8\uB2E4.",
1723
- outputs: "\uD3EC\uD2B8\uBCC4 \uCD9C\uB825 \uC124\uC815. \uAC80\uC99D\uC740 \uC804\uC1A1 \uAC12\uC744 \uD3EC\uD2B8 \uC2A4\uD0A4\uB9C8\uB85C \uD655\uC778\uD558\uACE0, \uCEE8\uD14D\uC2A4\uD2B8 \uBAA8\uB4DC\uB294 \uB4E4\uC5B4\uC628 \uBA54\uC2DC\uC9C0\uB97C \uC804\uB2EC\uD558\uB294 \uBC29\uC2DD\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.",
1720
+ outputs: "\uD3EC\uD2B8\uBCC4 \uCD9C\uB825 \uC124\uC815. \uB370\uC774\uD130 \uAC80\uC99D\uC740 \uC804\uC1A1 \uAC12\uC744 \uD3EC\uD2B8 \uC2A4\uD0A4\uB9C8\uB85C \uD655\uC778\uD558\uACE0, \uCEE8\uD14D\uC2A4\uD2B8 \uBAA8\uB4DC\uB294 \uB4E4\uC5B4\uC628 \uBA54\uC2DC\uC9C0\uB97C \uC804\uB2EC\uD558\uB294 \uBC29\uC2DD\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4.",
1724
1721
  lifecyclePorts: "\uC624\uB958, \uC644\uB8CC, \uBAA8\uB4E0 \uC0C1\uD0DC \uBCC0\uACBD \uC2DC \uBC1C\uC0DD\uD558\uB294 \uC120\uD0DD\uC801 \uCD94\uAC00 \uCD9C\uB825 \uD3EC\uD2B8\uC785\uB2C8\uB2E4.",
1725
1722
  learnMore: "\uC790\uC138\uD788 \uBCF4\uAE30"
1726
1723
  }
@@ -1728,7 +1725,7 @@ function localesGenerator(options) {
1728
1725
  "pt-BR": {
1729
1726
  configs: { name: "Nome" },
1730
1727
  toggles: {
1731
- validateInput: "Validar",
1728
+ validateInput: "Validar dados",
1732
1729
  errorPort: "Porta de Erro",
1733
1730
  completePort: "Porta de Conclus\xE3o",
1734
1731
  statusPort: "Porta de Status"
@@ -1742,7 +1739,7 @@ function localesGenerator(options) {
1742
1739
  outputs: {
1743
1740
  port: "Porta",
1744
1741
  label: "R\xF3tulo",
1745
- validate: "Validar",
1742
+ validate: "Validar dados",
1746
1743
  returnProperty: "Propriedade de retorno",
1747
1744
  contextMode: "Modo de contexto"
1748
1745
  },
@@ -1755,7 +1752,7 @@ function localesGenerator(options) {
1755
1752
  },
1756
1753
  help: {
1757
1754
  validateInput: "Valida as mensagens recebidas com o esquema de entrada antes de input() executar.",
1758
- outputs: "Configura\xE7\xF5es de sa\xEDda por porta. Validar verifica o valor enviado com o esquema da porta; Modo de contexto controla como a mensagem recebida \xE9 transportada.",
1755
+ outputs: "Configura\xE7\xF5es de sa\xEDda por porta. Validar dados verifica o valor enviado com o esquema da porta; Modo de contexto controla como a mensagem recebida \xE9 transportada.",
1759
1756
  lifecyclePorts: "Portas de sa\xEDda extras opcionais que disparam em erro, na conclus\xE3o e a cada mudan\xE7a de status.",
1760
1757
  learnMore: "Saiba mais"
1761
1758
  }
@@ -1763,7 +1760,7 @@ function localesGenerator(options) {
1763
1760
  ru: {
1764
1761
  configs: { name: "\u0418\u043C\u044F" },
1765
1762
  toggles: {
1766
- validateInput: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C",
1763
+ validateInput: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435",
1767
1764
  errorPort: "\u041F\u043E\u0440\u0442 \u043E\u0448\u0438\u0431\u043A\u0438",
1768
1765
  completePort: "\u041F\u043E\u0440\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",
1769
1766
  statusPort: "\u041F\u043E\u0440\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430"
@@ -1777,7 +1774,7 @@ function localesGenerator(options) {
1777
1774
  outputs: {
1778
1775
  port: "\u041F\u043E\u0440\u0442",
1779
1776
  label: "\u041C\u0435\u0442\u043A\u0430",
1780
- validate: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C",
1777
+ validate: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435",
1781
1778
  returnProperty: "\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0430",
1782
1779
  contextMode: "\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430"
1783
1780
  },
@@ -1790,7 +1787,7 @@ function localesGenerator(options) {
1790
1787
  },
1791
1788
  help: {
1792
1789
  validateInput: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C \u0432\u0445\u043E\u0434\u044F\u0449\u0438\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043F\u043E \u0441\u0445\u0435\u043C\u0435 \u0432\u0432\u043E\u0434\u0430 \u043F\u0435\u0440\u0435\u0434 \u0432\u044B\u0437\u043E\u0432\u043E\u043C input().",
1793
- outputs: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u044B\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u043E\u0440\u0442\u0430. \xAB\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C\xBB \u0441\u0432\u0435\u0440\u044F\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E \u0441\u0445\u0435\u043C\u043E\u0439 \u043F\u043E\u0440\u0442\u0430; \xAB\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430\xBB \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u0430\u043A \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u0441\u044F \u0432\u0445\u043E\u0434\u044F\u0449\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435.",
1790
+ outputs: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u044B\u0432\u043E\u0434\u0430 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u043E\u0440\u0442\u0430. \xAB\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435\xBB \u0441\u0432\u0435\u0440\u044F\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E \u0441\u0445\u0435\u043C\u043E\u0439 \u043F\u043E\u0440\u0442\u0430; \xAB\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430\xBB \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0442\u0435\u043C, \u043A\u0430\u043A \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u0441\u044F \u0432\u0445\u043E\u0434\u044F\u0449\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435.",
1794
1791
  lifecyclePorts: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435 \u043F\u043E\u0440\u0442\u044B, \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u043F\u0440\u0438 \u043E\u0448\u0438\u0431\u043A\u0435, \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0438 \u043A\u0430\u0436\u0434\u043E\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430.",
1795
1792
  learnMore: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435"
1796
1793
  }
@@ -1798,7 +1795,7 @@ function localesGenerator(options) {
1798
1795
  ja: {
1799
1796
  configs: { name: "\u540D\u524D" },
1800
1797
  toggles: {
1801
- validateInput: "\u691C\u8A3C",
1798
+ validateInput: "\u30C7\u30FC\u30BF\u3092\u691C\u8A3C",
1802
1799
  errorPort: "\u30A8\u30E9\u30FC\u30DD\u30FC\u30C8",
1803
1800
  completePort: "\u5B8C\u4E86\u30DD\u30FC\u30C8",
1804
1801
  statusPort: "\u30B9\u30C6\u30FC\u30BF\u30B9\u30DD\u30FC\u30C8"
@@ -1812,7 +1809,7 @@ function localesGenerator(options) {
1812
1809
  outputs: {
1813
1810
  port: "\u30DD\u30FC\u30C8",
1814
1811
  label: "\u30E9\u30D9\u30EB",
1815
- validate: "\u691C\u8A3C",
1812
+ validate: "\u30C7\u30FC\u30BF\u3092\u691C\u8A3C",
1816
1813
  returnProperty: "\u623B\u308A\u30D7\u30ED\u30D1\u30C6\u30A3",
1817
1814
  contextMode: "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E2\u30FC\u30C9"
1818
1815
  },
@@ -1825,7 +1822,7 @@ function localesGenerator(options) {
1825
1822
  },
1826
1823
  help: {
1827
1824
  validateInput: "input() \u306E\u5B9F\u884C\u524D\u306B\u3001\u53D7\u4FE1\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u5165\u529B\u30B9\u30AD\u30FC\u30DE\u3067\u691C\u8A3C\u3057\u307E\u3059\u3002",
1828
- outputs: "\u30DD\u30FC\u30C8\u3054\u3068\u306E\u51FA\u529B\u8A2D\u5B9A\u3002\u691C\u8A3C\u306F\u9001\u4FE1\u5024\u3092\u30DD\u30FC\u30C8\u306E\u30B9\u30AD\u30FC\u30DE\u3067\u78BA\u8A8D\u3057\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E2\u30FC\u30C9\u306F\u53D7\u4FE1\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u5F15\u304D\u7D99\u304E\u65B9\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002",
1825
+ outputs: "\u30DD\u30FC\u30C8\u3054\u3068\u306E\u51FA\u529B\u8A2D\u5B9A\u3002\u30C7\u30FC\u30BF\u306E\u691C\u8A3C\u306F\u9001\u4FE1\u5024\u3092\u30DD\u30FC\u30C8\u306E\u30B9\u30AD\u30FC\u30DE\u3067\u78BA\u8A8D\u3057\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E2\u30FC\u30C9\u306F\u53D7\u4FE1\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u5F15\u304D\u7D99\u304E\u65B9\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002",
1829
1826
  lifecyclePorts: "\u30A8\u30E9\u30FC\u6642\u30FB\u5B8C\u4E86\u6642\u30FB\u30B9\u30C6\u30FC\u30BF\u30B9\u5909\u66F4\u3054\u3068\u306B\u767A\u706B\u3059\u308B\u4EFB\u610F\u306E\u8FFD\u52A0\u51FA\u529B\u30DD\u30FC\u30C8\u3002",
1830
1827
  learnMore: "\u8A73\u7D30"
1831
1828
  }
@@ -1833,7 +1830,7 @@ function localesGenerator(options) {
1833
1830
  "zh-CN": {
1834
1831
  configs: { name: "\u540D\u79F0" },
1835
1832
  toggles: {
1836
- validateInput: "\u9A8C\u8BC1",
1833
+ validateInput: "\u9A8C\u8BC1\u6570\u636E",
1837
1834
  errorPort: "\u9519\u8BEF\u7AEF\u53E3",
1838
1835
  completePort: "\u5B8C\u6210\u7AEF\u53E3",
1839
1836
  statusPort: "\u72B6\u6001\u7AEF\u53E3"
@@ -1847,7 +1844,7 @@ function localesGenerator(options) {
1847
1844
  outputs: {
1848
1845
  port: "\u7AEF\u53E3",
1849
1846
  label: "\u6807\u7B7E",
1850
- validate: "\u9A8C\u8BC1",
1847
+ validate: "\u9A8C\u8BC1\u6570\u636E",
1851
1848
  returnProperty: "\u8FD4\u56DE\u5C5E\u6027",
1852
1849
  contextMode: "\u4E0A\u4E0B\u6587\u6A21\u5F0F"
1853
1850
  },
@@ -1860,7 +1857,7 @@ function localesGenerator(options) {
1860
1857
  },
1861
1858
  help: {
1862
1859
  validateInput: "\u5728 input() \u8FD0\u884C\u524D\uFF0C\u6839\u636E\u8F93\u5165\u6A21\u5F0F\u6821\u9A8C\u4F20\u5165\u6D88\u606F\u3002",
1863
- outputs: "\u6309\u7AEF\u53E3\u7684\u8F93\u51FA\u8BBE\u7F6E\u3002\u9A8C\u8BC1\u6839\u636E\u7AEF\u53E3\u6A21\u5F0F\u6821\u9A8C\u53D1\u9001\u7684\u503C\uFF1B\u4E0A\u4E0B\u6587\u6A21\u5F0F\u63A7\u5236\u5982\u4F55\u643A\u5E26\u4F20\u5165\u6D88\u606F\u3002",
1860
+ outputs: "\u6309\u7AEF\u53E3\u7684\u8F93\u51FA\u8BBE\u7F6E\u3002\u9A8C\u8BC1\u6570\u636E\u6839\u636E\u7AEF\u53E3\u6A21\u5F0F\u6821\u9A8C\u53D1\u9001\u7684\u503C\uFF1B\u4E0A\u4E0B\u6587\u6A21\u5F0F\u63A7\u5236\u5982\u4F55\u643A\u5E26\u4F20\u5165\u6D88\u606F\u3002",
1864
1861
  lifecyclePorts: "\u53EF\u9009\u7684\u989D\u5916\u8F93\u51FA\u7AEF\u53E3\uFF0C\u5728\u51FA\u9519\u3001\u5B8C\u6210\u4EE5\u53CA\u6BCF\u6B21\u72B6\u6001\u53D8\u5316\u65F6\u89E6\u53D1\u3002",
1865
1862
  learnMore: "\u4E86\u89E3\u66F4\u591A"
1866
1863
  }
@@ -1868,7 +1865,7 @@ function localesGenerator(options) {
1868
1865
  "zh-TW": {
1869
1866
  configs: { name: "\u540D\u7A31" },
1870
1867
  toggles: {
1871
- validateInput: "\u9A57\u8B49",
1868
+ validateInput: "\u9A57\u8B49\u8CC7\u6599",
1872
1869
  errorPort: "\u932F\u8AA4\u7AEF\u53E3",
1873
1870
  completePort: "\u5B8C\u6210\u7AEF\u53E3",
1874
1871
  statusPort: "\u72C0\u614B\u7AEF\u53E3"
@@ -1882,7 +1879,7 @@ function localesGenerator(options) {
1882
1879
  outputs: {
1883
1880
  port: "\u7AEF\u53E3",
1884
1881
  label: "\u6A19\u7C64",
1885
- validate: "\u9A57\u8B49",
1882
+ validate: "\u9A57\u8B49\u8CC7\u6599",
1886
1883
  returnProperty: "\u8FD4\u56DE\u5C6C\u6027",
1887
1884
  contextMode: "\u5167\u5BB9\u6A21\u5F0F"
1888
1885
  },
@@ -1895,7 +1892,7 @@ function localesGenerator(options) {
1895
1892
  },
1896
1893
  help: {
1897
1894
  validateInput: "\u5728 input() \u57F7\u884C\u524D\uFF0C\u4F9D\u8F38\u5165\u7D50\u69CB\u63CF\u8FF0\u9A57\u8B49\u50B3\u5165\u8A0A\u606F\u3002",
1898
- outputs: "\u4F9D\u9023\u63A5\u57E0\u7684\u8F38\u51FA\u8A2D\u5B9A\u3002\u9A57\u8B49\u4F9D\u9023\u63A5\u57E0\u7D50\u69CB\u63CF\u8FF0\u6AA2\u67E5\u9001\u51FA\u7684\u503C\uFF1B\u5167\u5BB9\u6A21\u5F0F\u63A7\u5236\u5982\u4F55\u651C\u5E36\u50B3\u5165\u8A0A\u606F\u3002",
1895
+ outputs: "\u4F9D\u9023\u63A5\u57E0\u7684\u8F38\u51FA\u8A2D\u5B9A\u3002\u9A57\u8B49\u8CC7\u6599\u4F9D\u9023\u63A5\u57E0\u7D50\u69CB\u63CF\u8FF0\u6AA2\u67E5\u9001\u51FA\u7684\u503C\uFF1B\u5167\u5BB9\u6A21\u5F0F\u63A7\u5236\u5982\u4F55\u651C\u5E36\u50B3\u5165\u8A0A\u606F\u3002",
1899
1896
  lifecyclePorts: "\u53EF\u9078\u7684\u984D\u5916\u8F38\u51FA\u9023\u63A5\u57E0\uFF0C\u5728\u767C\u751F\u932F\u8AA4\u3001\u5B8C\u6210\u4EE5\u53CA\u6BCF\u6B21\u72C0\u614B\u8B8A\u66F4\u6642\u89F8\u767C\u3002",
1900
1897
  learnMore: "\u77AD\u89E3\u66F4\u591A"
1901
1898
  }
@@ -2067,11 +2064,12 @@ function resolveIcon(iconsDir, type) {
2067
2064
  }
2068
2065
  var RUNTIME_SPECIFIER = "@bonsae/nrg-runtime/server";
2069
2066
  var RUNTIME_SPECIFIER_RE = /(['"])@bonsae\/nrg-runtime\/server\1/g;
2067
+ var TOOLKIT_SERVER_SPECIFIER = "@bonsae/nrg/server";
2070
2068
  function resolveRuntimeServer(serverOutDir) {
2071
2069
  const roots = [path8.join(serverOutDir, "index.js"), import.meta.url];
2072
2070
  for (const root of roots) {
2073
2071
  try {
2074
- return createRequire2(root).resolve(RUNTIME_SPECIFIER);
2072
+ return createRequire2(root).resolve(TOOLKIT_SERVER_SPECIFIER);
2075
2073
  } catch {
2076
2074
  }
2077
2075
  }
@@ -377,8 +377,23 @@ function createJQuery() {
377
377
  };
378
378
  }
379
379
 
380
- // src/test/client/unit/index.ts
381
- import { useFormNode } from "@bonsae/nrg-runtime/internal/client";
380
+ // src/core/client/use-form-node.ts
381
+ import { inject } from "vue";
382
+ function useFormNode() {
383
+ const node = inject("__nrg_form_node");
384
+ const schema = inject("__nrg_form_schema");
385
+ const errors = inject("__nrg_form_errors");
386
+ if (!node) {
387
+ throw new Error(
388
+ "useFormNode() must be called inside a form component mounted by NRG."
389
+ );
390
+ }
391
+ return {
392
+ node,
393
+ schema,
394
+ errors
395
+ };
396
+ }
382
397
  export {
383
398
  createJQuery,
384
399
  createRED,