adminforth 2.49.3 → 2.50.0-next.10

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 (78) hide show
  1. package/commands/createApp/templates/.agents/skills/adminforth/SKILL.md.hbs +42 -0
  2. package/commands/createApp/templates/.agents/skills/adminforth-custom-vue/SKILL.md.hbs +340 -0
  3. package/commands/createApp/templates/.agents/skills/adminforth-hooks/SKILL.md.hbs +70 -0
  4. package/commands/createApp/templates/.agents/skills/adminforth-permissions/SKILL.md.hbs +59 -0
  5. package/commands/createApp/templates/AGENTS.md.hbs +71 -0
  6. package/commands/createApp/templates/CLAUDE.md.hbs +5 -0
  7. package/commands/createApp/templates/Dockerfile.hbs +5 -16
  8. package/commands/createApp/templates/package.json.hbs +6 -18
  9. package/commands/createApp/templates/readme.md.hbs +5 -24
  10. package/commands/createApp/utils.js +52 -5
  11. package/dist/dataConnectors/clickhouse.d.ts +16 -2
  12. package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
  13. package/dist/dataConnectors/clickhouse.js +65 -0
  14. package/dist/dataConnectors/clickhouse.js.map +1 -1
  15. package/dist/dataConnectors/mongo.d.ts +12 -1
  16. package/dist/dataConnectors/mongo.d.ts.map +1 -1
  17. package/dist/dataConnectors/mongo.js +87 -0
  18. package/dist/dataConnectors/mongo.js.map +1 -1
  19. package/dist/dataConnectors/mysql.d.ts +12 -1
  20. package/dist/dataConnectors/mysql.d.ts.map +1 -1
  21. package/dist/dataConnectors/mysql.js +126 -1
  22. package/dist/dataConnectors/mysql.js.map +1 -1
  23. package/dist/dataConnectors/postgres.d.ts.map +1 -1
  24. package/dist/dataConnectors/postgres.js +2 -1
  25. package/dist/dataConnectors/postgres.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/modules/configValidator.d.ts.map +1 -1
  31. package/dist/modules/configValidator.js +3 -2
  32. package/dist/modules/configValidator.js.map +1 -1
  33. package/dist/modules/restApi.d.ts.map +1 -1
  34. package/dist/modules/restApi.js +9 -1
  35. package/dist/modules/restApi.js.map +1 -1
  36. package/dist/servers/express.d.ts +2 -0
  37. package/dist/servers/express.d.ts.map +1 -1
  38. package/dist/servers/express.js +34 -7
  39. package/dist/servers/express.js.map +1 -1
  40. package/dist/servers/openapi.d.ts.map +1 -1
  41. package/dist/servers/openapi.js +2 -0
  42. package/dist/servers/openapi.js.map +1 -1
  43. package/dist/spa/package-lock.json +103 -10
  44. package/dist/spa/package.json +2 -1
  45. package/dist/spa/pnpm-lock.yaml +298 -282
  46. package/dist/spa/src/adminforth.ts +5 -3
  47. package/dist/spa/src/afcl/Link.vue +24 -4
  48. package/dist/spa/src/afcl/Modal.vue +4 -0
  49. package/dist/spa/src/components/AcceptModal.vue +51 -16
  50. package/dist/spa/src/components/CustomRangePicker.vue +47 -73
  51. package/dist/spa/src/components/ResourceForm.vue +7 -0
  52. package/dist/spa/src/components/ResourceListTable.vue +6 -3
  53. package/dist/spa/src/components/Sidebar.vue +1 -1
  54. package/dist/spa/src/stores/modal.ts +5 -1
  55. package/dist/spa/src/types/Back.ts +10 -1
  56. package/dist/spa/src/types/Common.ts +1 -1
  57. package/dist/spa/src/types/FrontendAPI.ts +10 -0
  58. package/dist/spa/src/types/adapters/AudioAdapter.ts +73 -0
  59. package/dist/spa/src/types/adapters/index.ts +10 -0
  60. package/dist/spa/src/utils/listUtils.ts +4 -1
  61. package/dist/spa/src/utils/utils.ts +33 -23
  62. package/dist/spa/src/views/ListView.vue +1 -1
  63. package/dist/spa/src/views/ShowView.vue +2 -1
  64. package/dist/types/Back.d.ts +14 -1
  65. package/dist/types/Back.d.ts.map +1 -1
  66. package/dist/types/Back.js.map +1 -1
  67. package/dist/types/Common.d.ts +1 -1
  68. package/dist/types/Common.d.ts.map +1 -1
  69. package/dist/types/FrontendAPI.d.ts +8 -0
  70. package/dist/types/FrontendAPI.d.ts.map +1 -1
  71. package/dist/types/FrontendAPI.js.map +1 -1
  72. package/dist/types/adapters/AudioAdapter.d.ts +52 -0
  73. package/dist/types/adapters/AudioAdapter.d.ts.map +1 -0
  74. package/dist/types/adapters/AudioAdapter.js +2 -0
  75. package/dist/types/adapters/AudioAdapter.js.map +1 -0
  76. package/dist/types/adapters/index.d.ts +1 -0
  77. package/dist/types/adapters/index.d.ts.map +1 -1
  78. package/package.json +2 -1
@@ -18,6 +18,7 @@
18
18
  "async-mutex": "^0.5.0",
19
19
  "dayjs": "^1.11.11",
20
20
  "debounce": "^2.1.0",
21
+ "dompurify": "^3.4.1",
21
22
  "flowbite-datepicker": "^1.2.6",
22
23
  "javascript-time-ago": "^2.5.11",
23
24
  "lodash.debounce": "^4.0.8",
@@ -40,6 +41,7 @@
40
41
  "@vitejs/plugin-vue": "^5.0.4",
41
42
  "@vue/eslint-config-typescript": "^13.0.0",
42
43
  "@vue/tsconfig": "^0.5.1",
44
+ "ajv": "^8.18.0",
43
45
  "autoprefixer": "^10.4.19",
44
46
  "eslint": "^8.57.0",
45
47
  "eslint-plugin-vue": "^9.23.0",
@@ -560,6 +562,23 @@
560
562
  "url": "https://opencollective.com/eslint"
561
563
  }
562
564
  },
565
+ "node_modules/@eslint/eslintrc/node_modules/ajv": {
566
+ "version": "6.15.0",
567
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
568
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
569
+ "dev": true,
570
+ "license": "MIT",
571
+ "dependencies": {
572
+ "fast-deep-equal": "^3.1.1",
573
+ "fast-json-stable-stringify": "^2.0.0",
574
+ "json-schema-traverse": "^0.4.1",
575
+ "uri-js": "^4.2.2"
576
+ },
577
+ "funding": {
578
+ "type": "github",
579
+ "url": "https://github.com/sponsors/epoberezkin"
580
+ }
581
+ },
563
582
  "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
564
583
  "version": "1.1.12",
565
584
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -571,6 +590,13 @@
571
590
  "concat-map": "0.0.1"
572
591
  }
573
592
  },
593
+ "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
594
+ "version": "0.4.1",
595
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
596
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
597
+ "dev": true,
598
+ "license": "MIT"
599
+ },
574
600
  "node_modules/@eslint/eslintrc/node_modules/minimatch": {
575
601
  "version": "3.1.5",
576
602
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
@@ -1705,6 +1731,13 @@
1705
1731
  "entities": "^7.0.1"
1706
1732
  }
1707
1733
  },
1734
+ "node_modules/@types/trusted-types": {
1735
+ "version": "2.0.7",
1736
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
1737
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
1738
+ "license": "MIT",
1739
+ "optional": true
1740
+ },
1708
1741
  "node_modules/@types/web-bluetooth": {
1709
1742
  "version": "0.0.20",
1710
1743
  "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
@@ -2263,16 +2296,16 @@
2263
2296
  }
2264
2297
  },
2265
2298
  "node_modules/ajv": {
2266
- "version": "6.14.0",
2267
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
2268
- "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
2299
+ "version": "8.20.0",
2300
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
2301
+ "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
2269
2302
  "dev": true,
2270
2303
  "license": "MIT",
2271
2304
  "dependencies": {
2272
- "fast-deep-equal": "^3.1.1",
2273
- "fast-json-stable-stringify": "^2.0.0",
2274
- "json-schema-traverse": "^0.4.1",
2275
- "uri-js": "^4.2.2"
2305
+ "fast-deep-equal": "^3.1.3",
2306
+ "fast-uri": "^3.0.1",
2307
+ "json-schema-traverse": "^1.0.0",
2308
+ "require-from-string": "^2.0.2"
2276
2309
  },
2277
2310
  "funding": {
2278
2311
  "type": "github",
@@ -2870,6 +2903,15 @@
2870
2903
  "url": "https://github.com/fb55/domhandler?sponsor=1"
2871
2904
  }
2872
2905
  },
2906
+ "node_modules/dompurify": {
2907
+ "version": "3.4.1",
2908
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.1.tgz",
2909
+ "integrity": "sha512-JahakDAIg1gyOm7dlgWSDjV4n7Ip2PKR55NIT6jrMfIgLFgWo81vdr1/QGqWtFNRqXP9UV71oVePtjqS2ebnPw==",
2910
+ "license": "(MPL-2.0 OR Apache-2.0)",
2911
+ "optionalDependencies": {
2912
+ "@types/trusted-types": "^2.0.7"
2913
+ }
2914
+ },
2873
2915
  "node_modules/domutils": {
2874
2916
  "version": "3.2.2",
2875
2917
  "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
@@ -3112,6 +3154,23 @@
3112
3154
  "url": "https://opencollective.com/eslint"
3113
3155
  }
3114
3156
  },
3157
+ "node_modules/eslint/node_modules/ajv": {
3158
+ "version": "6.15.0",
3159
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
3160
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
3161
+ "dev": true,
3162
+ "license": "MIT",
3163
+ "dependencies": {
3164
+ "fast-deep-equal": "^3.1.1",
3165
+ "fast-json-stable-stringify": "^2.0.0",
3166
+ "json-schema-traverse": "^0.4.1",
3167
+ "uri-js": "^4.2.2"
3168
+ },
3169
+ "funding": {
3170
+ "type": "github",
3171
+ "url": "https://github.com/sponsors/epoberezkin"
3172
+ }
3173
+ },
3115
3174
  "node_modules/eslint/node_modules/brace-expansion": {
3116
3175
  "version": "1.1.12",
3117
3176
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -3123,6 +3182,13 @@
3123
3182
  "concat-map": "0.0.1"
3124
3183
  }
3125
3184
  },
3185
+ "node_modules/eslint/node_modules/json-schema-traverse": {
3186
+ "version": "0.4.1",
3187
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3188
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3189
+ "dev": true,
3190
+ "license": "MIT"
3191
+ },
3126
3192
  "node_modules/eslint/node_modules/minimatch": {
3127
3193
  "version": "3.1.5",
3128
3194
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
@@ -3257,6 +3323,23 @@
3257
3323
  "dev": true,
3258
3324
  "license": "MIT"
3259
3325
  },
3326
+ "node_modules/fast-uri": {
3327
+ "version": "3.1.0",
3328
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
3329
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
3330
+ "dev": true,
3331
+ "funding": [
3332
+ {
3333
+ "type": "github",
3334
+ "url": "https://github.com/sponsors/fastify"
3335
+ },
3336
+ {
3337
+ "type": "opencollective",
3338
+ "url": "https://opencollective.com/fastify"
3339
+ }
3340
+ ],
3341
+ "license": "BSD-3-Clause"
3342
+ },
3260
3343
  "node_modules/fastq": {
3261
3344
  "version": "1.20.1",
3262
3345
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
@@ -3843,9 +3926,9 @@
3843
3926
  }
3844
3927
  },
3845
3928
  "node_modules/json-schema-traverse": {
3846
- "version": "0.4.1",
3847
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3848
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3929
+ "version": "1.0.0",
3930
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
3931
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
3849
3932
  "dev": true,
3850
3933
  "license": "MIT"
3851
3934
  },
@@ -4680,6 +4763,16 @@
4680
4763
  "integrity": "sha512-qaZBjmRIuXLfuLnzgqpFdBPa5W0euSX1tMnoMUHGPphLwJmrt8xbNiOIHrlvYOD6oNJ0M5owPCZyPibI8de5pQ==",
4681
4764
  "license": "MIT"
4682
4765
  },
4766
+ "node_modules/require-from-string": {
4767
+ "version": "2.0.2",
4768
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
4769
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
4770
+ "dev": true,
4771
+ "license": "MIT",
4772
+ "engines": {
4773
+ "node": ">=0.10.0"
4774
+ }
4775
+ },
4683
4776
  "node_modules/resolve": {
4684
4777
  "version": "1.22.11",
4685
4778
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
@@ -23,6 +23,7 @@
23
23
  "async-mutex": "^0.5.0",
24
24
  "dayjs": "^1.11.11",
25
25
  "debounce": "^2.1.0",
26
+ "dompurify": "^3.4.1",
26
27
  "flowbite-datepicker": "^1.2.6",
27
28
  "javascript-time-ago": "^2.5.11",
28
29
  "lodash.debounce": "^4.0.8",
@@ -36,7 +37,6 @@
36
37
  "vue3-json-viewer": "^2.2.2"
37
38
  },
38
39
  "devDependencies": {
39
- "ajv": "^8.18.0",
40
40
  "@rushstack/eslint-patch": "^1.8.0",
41
41
  "@tailwindcss/typography": "^0.5.19",
42
42
  "@tsconfig/node20": "^20.1.4",
@@ -46,6 +46,7 @@
46
46
  "@vitejs/plugin-vue": "^5.0.4",
47
47
  "@vue/eslint-config-typescript": "^13.0.0",
48
48
  "@vue/tsconfig": "^0.5.1",
49
+ "ajv": "^8.18.0",
49
50
  "autoprefixer": "^10.4.19",
50
51
  "eslint": "^8.57.0",
51
52
  "eslint-plugin-vue": "^9.23.0",