@voxgig/sdkgen 4.22.0 → 4.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/bin/voxgig-sdkgen +18 -2
  2. package/dist/action/doctor.d.ts +1 -1
  3. package/dist/action/doctor.js +12 -10
  4. package/dist/action/doctor.js.map +1 -1
  5. package/dist/action/edition.js +4 -0
  6. package/dist/action/edition.js.map +1 -1
  7. package/dist/action/feature.js +5 -1
  8. package/dist/action/feature.js.map +1 -1
  9. package/dist/action/remove.d.ts +16 -0
  10. package/dist/action/remove.js +345 -0
  11. package/dist/action/remove.js.map +1 -0
  12. package/dist/action/target.js +6 -1
  13. package/dist/action/target.js.map +1 -1
  14. package/dist/cmp/ReadmeTop.js +1 -1
  15. package/dist/cmp/ReadmeTop.js.map +1 -1
  16. package/dist/cmp/ReadmeUnions.js +1 -1
  17. package/dist/cmp/ReadmeUnions.js.map +1 -1
  18. package/dist/cmp/Test.js +1 -1
  19. package/dist/cmp/Test.js.map +1 -1
  20. package/dist/helpers/buildIdNames.d.ts +3 -1
  21. package/dist/helpers/buildIdNames.js +15 -7
  22. package/dist/helpers/buildIdNames.js.map +1 -1
  23. package/dist/helpers/canonSpec.js +2 -2
  24. package/dist/helpers/canonSpec.js.map +1 -1
  25. package/dist/helpers/getMatchEntries.js +2 -2
  26. package/dist/helpers/getMatchEntries.js.map +1 -1
  27. package/dist/helpers/modelNames.js +5 -1
  28. package/dist/helpers/modelNames.js.map +1 -1
  29. package/dist/helpers/opShape.js +33 -33
  30. package/dist/helpers/opShape.js.map +1 -1
  31. package/dist/helpers/pointPath.js +5 -10
  32. package/dist/helpers/pointPath.js.map +1 -1
  33. package/dist/helpers/resolved.js +2 -29
  34. package/dist/helpers/resolved.js.map +1 -1
  35. package/dist/sdkgen.d.ts +2 -2
  36. package/dist/sdkgen.js +5 -3
  37. package/dist/sdkgen.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/utility.js +15 -7
  40. package/dist/utility.js.map +1 -1
  41. package/package.json +3 -3
  42. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +4 -4
  43. package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +3 -3
  44. package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +3 -3
  45. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +5 -5
  46. package/project/.sdk/src/cmp/c/Schema_c.ts +1 -1
  47. package/project/.sdk/src/cmp/c/TestDirect_c.ts +12 -12
  48. package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +3 -3
  49. package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +3 -3
  50. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +5 -5
  51. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +1 -1
  52. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +3 -3
  53. package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +3 -3
  54. package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +3 -3
  55. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +5 -5
  56. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +1 -1
  57. package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +14 -14
  58. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +51 -50
  59. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +4 -4
  60. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +3 -3
  61. package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +3 -3
  62. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +5 -5
  63. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +1 -1
  64. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +30 -30
  65. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +66 -65
  66. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +4 -4
  67. package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +3 -3
  68. package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +3 -3
  69. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +4 -4
  70. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +1 -1
  71. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +4 -4
  72. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +3 -3
  73. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +3 -3
  74. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +5 -5
  75. package/project/.sdk/src/cmp/go/Schema_go.ts +1 -1
  76. package/project/.sdk/src/cmp/go/TestDirect_go.ts +38 -38
  77. package/project/.sdk/src/cmp/go/TestEntity_go.ts +75 -74
  78. package/project/.sdk/src/cmp/go/utility_go.ts +5 -5
  79. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +4 -4
  80. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +3 -3
  81. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +3 -3
  82. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +5 -5
  83. package/project/.sdk/src/cmp/java/Schema_java.ts +1 -1
  84. package/project/.sdk/src/cmp/java/TestDirect_java.ts +30 -30
  85. package/project/.sdk/src/cmp/java/TestEntity_java.ts +69 -68
  86. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +5 -5
  87. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +3 -3
  88. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +3 -3
  89. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +5 -5
  90. package/project/.sdk/src/cmp/js/Schema_js.ts +1 -1
  91. package/project/.sdk/src/cmp/js/TestDirect_js.ts +27 -27
  92. package/project/.sdk/src/cmp/js/TestEntity_js.ts +66 -69
  93. package/project/.sdk/src/cmp/js/TestLive_js.ts +3 -3
  94. package/project/.sdk/src/cmp/js/utility_js.ts +5 -5
  95. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +4 -4
  96. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +3 -3
  97. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +3 -3
  98. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +5 -5
  99. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +1 -1
  100. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +30 -30
  101. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +67 -66
  102. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +5 -5
  103. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +3 -3
  104. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -3
  105. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +4 -4
  106. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +5 -5
  107. package/project/.sdk/src/cmp/lua/Schema_lua.ts +1 -1
  108. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +25 -25
  109. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +66 -65
  110. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +3 -3
  111. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +3 -3
  112. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +5 -5
  113. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +1 -1
  114. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +3 -3
  115. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +3 -3
  116. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +5 -5
  117. package/project/.sdk/src/cmp/perl/Schema_perl.ts +1 -1
  118. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +25 -25
  119. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +60 -59
  120. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +4 -4
  121. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +3 -3
  122. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +3 -3
  123. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +4 -4
  124. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +5 -5
  125. package/project/.sdk/src/cmp/php/Schema_php.ts +1 -1
  126. package/project/.sdk/src/cmp/php/TestDirect_php.ts +25 -25
  127. package/project/.sdk/src/cmp/php/TestEntity_php.ts +66 -65
  128. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +4 -4
  129. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +3 -3
  130. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +3 -3
  131. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +5 -5
  132. package/project/.sdk/src/cmp/py/Schema_py.ts +1 -1
  133. package/project/.sdk/src/cmp/py/TestDirect_py.ts +25 -25
  134. package/project/.sdk/src/cmp/py/TestEntity_py.ts +66 -65
  135. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +4 -4
  136. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +4 -4
  137. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +3 -3
  138. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +3 -3
  139. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +4 -4
  140. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +5 -5
  141. package/project/.sdk/src/cmp/rb/Schema_rb.ts +1 -1
  142. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +25 -25
  143. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +66 -65
  144. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +4 -4
  145. package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +3 -3
  146. package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +3 -3
  147. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +5 -5
  148. package/project/.sdk/src/cmp/rust/Schema_rust.ts +1 -1
  149. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +18 -18
  150. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +63 -62
  151. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +4 -4
  152. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +3 -3
  153. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +3 -3
  154. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +5 -5
  155. package/project/.sdk/src/cmp/scala/Schema_scala.ts +1 -1
  156. package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +14 -14
  157. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +60 -59
  158. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +4 -4
  159. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +3 -3
  160. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +3 -3
  161. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +5 -5
  162. package/project/.sdk/src/cmp/swift/Schema_swift.ts +1 -1
  163. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +5 -5
  164. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +3 -3
  165. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +3 -3
  166. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +1 -1
  167. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +5 -5
  168. package/project/.sdk/src/cmp/ts/Schema_ts.ts +1 -1
  169. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +40 -40
  170. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +72 -75
  171. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +3 -3
  172. package/project/.sdk/src/cmp/ts/utility_ts.ts +5 -5
  173. package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +3 -3
  174. package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +3 -3
  175. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +5 -5
  176. package/project/.sdk/src/cmp/zig/Schema_zig.ts +1 -1
  177. package/project/.sdk/tm/c/core/context.c +3 -1
  178. package/project/.sdk/tm/c/feature/paging.c +37 -3
  179. package/project/.sdk/tm/c/feature/test.c +71 -31
  180. package/project/.sdk/tm/c/utility/prepare_query.c +2 -1
  181. package/project/.sdk/tm/c/utility/transform_request.c +25 -3
  182. package/project/.sdk/tm/clojure/src/sdk/core.clj +21 -7
  183. package/project/.sdk/tm/clojure/src/sdk/features.clj +74 -22
  184. package/project/.sdk/tm/cpp/core/types.hpp +1 -1
  185. package/project/.sdk/tm/cpp/feature/paging.hpp +36 -3
  186. package/project/.sdk/tm/cpp/feature/test.hpp +58 -19
  187. package/project/.sdk/tm/cpp/utility/pipeline.hpp +16 -4
  188. package/project/.sdk/tm/csharp/core/Context.cs +1 -1
  189. package/project/.sdk/tm/csharp/feature/PagingFeature.cs +58 -4
  190. package/project/.sdk/tm/csharp/feature/TestFeature.cs +23 -25
  191. package/project/.sdk/tm/csharp/utility/Fetcher.cs +19 -12
  192. package/project/.sdk/tm/csharp/utility/PrepareQuery.cs +1 -1
  193. package/project/.sdk/tm/csharp/utility/TransformRequest.cs +23 -3
  194. package/project/.sdk/tm/elixir/lib/projectname/context.ex +1 -1
  195. package/project/.sdk/tm/elixir/lib/projectname/feature/paging.ex +52 -10
  196. package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +58 -22
  197. package/project/.sdk/tm/elixir/lib/projectname/utility.ex +30 -9
  198. package/project/.sdk/tm/go/core/context.go +13 -13
  199. package/project/.sdk/tm/go/feature/paging_feature.go +40 -2
  200. package/project/.sdk/tm/go/feature/test_feature.go +3 -15
  201. package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -0
  202. package/project/.sdk/tm/go/test/feature_test.go +54 -0
  203. package/project/.sdk/tm/go/utility/fetcher.go +41 -20
  204. package/project/.sdk/tm/go/utility/prepare_query.go +1 -1
  205. package/project/.sdk/tm/go/utility/transform_request.go +22 -3
  206. package/project/.sdk/tm/java/core/Context.java +2 -1
  207. package/project/.sdk/tm/java/feature/PagingFeature.java +46 -4
  208. package/project/.sdk/tm/java/feature/TestFeature.java +21 -19
  209. package/project/.sdk/tm/java/test/FeatureCorpusTest.java +3 -0
  210. package/project/.sdk/tm/java/test/FeatureTest.java +42 -0
  211. package/project/.sdk/tm/java/utility/Fetcher.java +36 -28
  212. package/project/.sdk/tm/java/utility/PrepareQuery.java +1 -1
  213. package/project/.sdk/tm/java/utility/TransformRequest.java +18 -3
  214. package/project/.sdk/tm/js/src/Context.js +7 -2
  215. package/project/.sdk/tm/js/src/feature/paging/PagingFeature.js +24 -6
  216. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +7 -5
  217. package/project/.sdk/tm/js/src/utility/PrepareQueryUtility.js +1 -1
  218. package/project/.sdk/tm/js/test/feature/Corpus.test.js +4 -0
  219. package/project/.sdk/tm/js/test/live-entity.js +29 -29
  220. package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
  221. package/project/.sdk/tm/kotlin/core/Context.kt +1 -1
  222. package/project/.sdk/tm/kotlin/feature/PagingFeature.kt +36 -4
  223. package/project/.sdk/tm/kotlin/feature/TestFeature.kt +19 -18
  224. package/project/.sdk/tm/kotlin/utility/Fetcher.kt +33 -24
  225. package/project/.sdk/tm/kotlin/utility/Prepare.kt +1 -1
  226. package/project/.sdk/tm/kotlin/utility/ResultTransform.kt +18 -3
  227. package/project/.sdk/tm/lua/core/context.lua +8 -1
  228. package/project/.sdk/tm/lua/core/control.lua +3 -0
  229. package/project/.sdk/tm/lua/feature/paging_feature.lua +44 -5
  230. package/project/.sdk/tm/lua/feature/test_feature.lua +32 -14
  231. package/project/.sdk/tm/lua/utility/prepare_query.lua +2 -1
  232. package/project/.sdk/tm/lua/utility/transform_request.lua +19 -3
  233. package/project/.sdk/tm/ocaml/sdk_features.ml +78 -25
  234. package/project/.sdk/tm/ocaml/sdk_runtime.ml +23 -8
  235. package/project/.sdk/tm/perl/core/context.pm +2 -1
  236. package/project/.sdk/tm/perl/feature/paging_feature.pm +31 -5
  237. package/project/.sdk/tm/perl/feature/test_feature.pm +52 -20
  238. package/project/.sdk/tm/perl/feature/timeout_feature.pm +17 -13
  239. package/project/.sdk/tm/perl/t/feature_corpus.t +14 -1
  240. package/project/.sdk/tm/perl/utility/fetcher.pm +15 -1
  241. package/project/.sdk/tm/perl/utility/prepare_query.pm +1 -0
  242. package/project/.sdk/tm/perl/utility/transform_request.pm +13 -3
  243. package/project/.sdk/tm/php/core/Context.php +5 -1
  244. package/project/.sdk/tm/php/core/Control.php +5 -0
  245. package/project/.sdk/tm/php/feature/PagingFeature.php +26 -5
  246. package/project/.sdk/tm/php/feature/TestFeature.php +27 -42
  247. package/project/.sdk/tm/php/test/FeatureCorpusTest.php +17 -1
  248. package/project/.sdk/tm/php/test/FeatureTest.php +44 -0
  249. package/project/.sdk/tm/php/utility/Fetcher.php +17 -3
  250. package/project/.sdk/tm/php/utility/PrepareQuery.php +1 -1
  251. package/project/.sdk/tm/php/utility/TransformRequest.php +15 -3
  252. package/project/.sdk/tm/py/pkg/core/context.py +2 -1
  253. package/project/.sdk/tm/py/pkg/feature/paging_feature.py +29 -4
  254. package/project/.sdk/tm/py/pkg/feature/test_feature.py +29 -12
  255. package/project/.sdk/tm/py/pkg/utility/fetcher.py +63 -65
  256. package/project/.sdk/tm/py/pkg/utility/prepare_query.py +2 -1
  257. package/project/.sdk/tm/py/pkg/utility/transform_request.py +11 -3
  258. package/project/.sdk/tm/py/test/test_feature.py +27 -0
  259. package/project/.sdk/tm/py/test/test_feature_corpus.py +11 -1
  260. package/project/.sdk/tm/rb/core/context.rb +1 -1
  261. package/project/.sdk/tm/rb/feature/paging_feature.rb +27 -5
  262. package/project/.sdk/tm/rb/feature/test_feature.rb +39 -11
  263. package/project/.sdk/tm/rb/test/feature_corpus_test.rb +12 -1
  264. package/project/.sdk/tm/rb/test/feature_test.rb +38 -0
  265. package/project/.sdk/tm/rb/utility/fetcher.rb +49 -3
  266. package/project/.sdk/tm/rb/utility/prepare_query.rb +1 -1
  267. package/project/.sdk/tm/rb/utility/transform_request.rb +10 -3
  268. package/project/.sdk/tm/rust/core/context.rs +2 -6
  269. package/project/.sdk/tm/rust/feature/paging.rs +44 -3
  270. package/project/.sdk/tm/rust/feature/secrets.rs +1 -1
  271. package/project/.sdk/tm/rust/feature/test.rs +74 -37
  272. package/project/.sdk/tm/rust/utility/fetcher.rs +41 -14
  273. package/project/.sdk/tm/rust/utility/prepare_query.rs +1 -1
  274. package/project/.sdk/tm/rust/utility/transform_request.rs +31 -5
  275. package/project/.sdk/tm/scala/core/Context.scala +2 -1
  276. package/project/.sdk/tm/scala/feature/PagingFeature.scala +41 -4
  277. package/project/.sdk/tm/scala/feature/TestFeature.scala +21 -18
  278. package/project/.sdk/tm/scala/utility/Fetcher.scala +34 -13
  279. package/project/.sdk/tm/scala/utility/Prepare.scala +1 -1
  280. package/project/.sdk/tm/scala/utility/Transform.scala +19 -3
  281. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Context.swift +1 -1
  282. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/PagingFeature.swift +31 -4
  283. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +22 -15
  284. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Fetcher.swift +22 -3
  285. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +1 -1
  286. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/ResultUtil.swift +14 -3
  287. package/project/.sdk/tm/ts/src/Context.ts +7 -2
  288. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +19 -3
  289. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +3 -0
  290. package/project/.sdk/tm/ts/src/utility/PrepareQueryUtility.ts +1 -1
  291. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +1 -0
  292. package/project/.sdk/tm/ts/test/live-entity.ts +26 -26
  293. package/project/.sdk/tm/ts/test/live-scenarios.ts +3 -3
  294. package/project/.sdk/tm/zig/core/context.zig +1 -1
  295. package/project/.sdk/tm/zig/core/utility.zig +19 -5
  296. package/project/.sdk/tm/zig/feature/paging.zig +34 -4
  297. package/project/.sdk/tm/zig/feature/test.zig +65 -30
  298. package/project/sdkgen-package.json +1 -1
  299. package/src/action/doctor.ts +12 -9
  300. package/src/action/edition.ts +8 -0
  301. package/src/action/feature.ts +7 -1
  302. package/src/action/remove.ts +492 -0
  303. package/src/action/target.ts +8 -1
  304. package/src/cmp/ReadmeTop.ts +1 -1
  305. package/src/cmp/ReadmeUnions.ts +1 -1
  306. package/src/cmp/Test.ts +1 -1
  307. package/src/helpers/buildIdNames.ts +17 -7
  308. package/src/helpers/canonSpec.ts +2 -2
  309. package/src/helpers/getMatchEntries.ts +2 -2
  310. package/src/helpers/modelNames.ts +6 -1
  311. package/src/helpers/opShape.ts +33 -33
  312. package/src/helpers/pointPath.ts +5 -10
  313. package/src/helpers/resolved.ts +3 -14
  314. package/src/sdkgen.ts +3 -1
  315. package/src/utility.ts +16 -7
@@ -62,10 +62,10 @@ function opActions(op: any): { action: string, path: string }[] {
62
62
  const points: any[] = op && op.points ? each(op.points) : []
63
63
 
64
64
  return points
65
- .filter((pt: any) => null != (pt && pt.select && pt.select['$action']))
65
+ .filter((pt: any) => null != (pt && pt.q && pt.q['$action']))
66
66
  .map((pt: any) => ({
67
- action: String(pt.select['$action']),
68
- path: String(pt.orig || ''),
67
+ action: String(pt.q['$action']),
68
+ path: String(pt.o || ''),
69
69
  }))
70
70
  .sort((a, b) => a.action < b.action ? -1 : a.action > b.action ? 1 : 0)
71
71
  }
@@ -93,11 +93,11 @@ function entityPath(entity: any): string {
93
93
 
94
94
  const points: any[] = op.points ? each(op.points) : []
95
95
  const canonical = points.filter((pt: any) =>
96
- null == (pt && pt.select && pt.select['$action']))
96
+ null == (pt && pt.q && pt.q['$action']))
97
97
 
98
98
  const pick = (0 < canonical.length ? canonical : points)[0]
99
- if (null != pick && null != pick.orig && '' !== pick.orig) {
100
- return String(pick.orig)
99
+ if (null != pick && null != pick.o && '' !== pick.o) {
100
+ return String(pick.o)
101
101
  }
102
102
  }
103
103
 
@@ -109,7 +109,7 @@ function ownPoint(points: any[]): any {
109
109
  let best = points[0]
110
110
 
111
111
  for (const pt of points) {
112
- if (null == pt || null == pt.segments || null == best || null == best.segments) {
112
+ if (null == pt || null == pt.s || null == best || null == best.s) {
113
113
  continue
114
114
  }
115
115
 
@@ -140,7 +140,7 @@ function opParams(op: any): any[] {
140
140
  let points: any[] = op && op.points ? each(op.points) : []
141
141
 
142
142
  const canonical = points.filter((pt: any) =>
143
- null == (pt && pt.select && pt.select['$action']))
143
+ null == (pt && pt.q && pt.q['$action']))
144
144
  if (0 < canonical.length) {
145
145
  points = canonical
146
146
  }
@@ -152,17 +152,17 @@ function opParams(op: any): any[] {
152
152
  points.forEach((pt: any, pointIndex: number) => {
153
153
  // Path AND query: a path-param-only read misses e.g. GET /result?trace_id=,
154
154
  // which has no path param at all but still addresses one record.
155
- const pathParams = pt && pt.args && pt.args.params ? each(pt.args.params) : []
156
- const queryParams = pt && pt.args && pt.args.query ? each(pt.args.query) : []
155
+ const pathParams = pt && pt.g && pt.g.params ? each(pt.g.params) : []
156
+ const queryParams = pt && pt.g && pt.g.query ? each(pt.g.query) : []
157
157
  const params = [...pathParams, ...queryParams]
158
158
  const requiredHere: Record<string, boolean> = {}
159
159
  params.forEach((p: any) => {
160
- if (p && null != p.name) {
161
- requiredHere[p.name] = false !== p.reqd
162
- if (!seen[p.name]) {
163
- seen[p.name] = { ...p }
164
- requiredOnAll[p.name] = 0 === pointIndex
165
- out.push(seen[p.name])
160
+ if (p && null != p.n) {
161
+ requiredHere[p.n] = false !== p.r
162
+ if (!seen[p.n]) {
163
+ seen[p.n] = { ...p }
164
+ requiredOnAll[p.n] = 0 === pointIndex
165
+ out.push(seen[p.n])
166
166
  }
167
167
  }
168
168
  })
@@ -174,10 +174,10 @@ function opParams(op: any): any[] {
174
174
  })
175
175
 
176
176
  out.forEach((p: any) => {
177
- p.reqd = true === requiredOnAll[p.name]
177
+ p.r = true === requiredOnAll[p.n]
178
178
  })
179
179
 
180
- if (1 < points.length && !out.some((p: any) => p.reqd) && !samePath(points)) {
180
+ if (1 < points.length && !out.some((p: any) => p.r) && !samePath(points)) {
181
181
  return opParams({ points: [ownPoint(points)] })
182
182
  }
183
183
 
@@ -194,12 +194,12 @@ function fieldInOp(field: any, opname: string): boolean {
194
194
  function fieldOptional(field: any, opname: string): boolean {
195
195
  switch (opname) {
196
196
  case 'create':
197
- return false === field.req
197
+ return false === field.r
198
198
  case 'update':
199
199
  return true
200
200
  case 'load':
201
201
  case 'remove':
202
- return 'id' !== field.name
202
+ return 'id' !== field.n
203
203
  case 'list':
204
204
  default:
205
205
  return true
@@ -223,30 +223,30 @@ function opRequestShape(ent: any, opname: string):
223
223
  const params = opParams(op)
224
224
  if (0 < params.length && !isbodyop) {
225
225
  const items = params.map((p: any) => ({
226
- name: p.name,
227
- type: p.type,
228
- optional: false === p.reqd,
226
+ name: p.n,
227
+ type: p.t,
228
+ optional: false === p.r,
229
229
  }))
230
230
  return { items, fromParams: true }
231
231
  }
232
232
 
233
233
  const paramItems = isbodyop ? params.map((p: any) => ({
234
- name: p.name,
235
- type: p.type,
236
- optional: false === p.reqd,
234
+ name: p.n,
235
+ type: p.t,
236
+ optional: false === p.r,
237
237
  })) : []
238
238
  const paramNames = new Set(paramItems.map((p: any) => p.name))
239
239
 
240
240
  const fields = (ent.fields ? each(ent.fields) : [])
241
- .filter((f: any) => f.active !== false)
241
+ .filter((f: any) => f.a !== false)
242
242
  .filter((f: any) => fieldInOp(f, opname))
243
243
 
244
244
  const items = paramItems.concat(
245
245
  fields
246
- .filter((f: any) => !paramNames.has(f.name))
246
+ .filter((f: any) => !paramNames.has(f.n))
247
247
  .map((f: any) => ({
248
- name: f.name,
249
- type: f.type,
248
+ name: f.n,
249
+ type: f.t,
250
250
  optional: fieldOptional(f, opname),
251
251
  })))
252
252
 
@@ -453,7 +453,7 @@ function medianOf(xs: number[]): number {
453
453
  }
454
454
 
455
455
 
456
- // The id field on the entity's DATA type (its fields[]), or null. DISTINCT from
456
+ // The id field on the entity's DATA type (its fields{}), or null. DISTINCT from
457
457
  // entityIdField (the load-MATCH key): an API can model a load match that carries
458
458
  // an `id` param while the response entity itself has no `id` field, so `.id`
459
459
  // access on a RETURNED record must be guarded on this, not on the match key.
@@ -463,10 +463,10 @@ function entityDataIdField(ent: any): string | null {
463
463
  }
464
464
  const idName = (ent.id && ent.id.field) || 'id'
465
465
  const fields = ent.fields ? each(ent.fields) : []
466
- if (fields.some((f: any) => f && f.name === idName)) {
466
+ if (fields.some((f: any) => f && f.n === idName)) {
467
467
  return idName
468
468
  }
469
- if (fields.some((f: any) => f && f.name === 'id')) {
469
+ if (fields.some((f: any) => f && f.n === 'id')) {
470
470
  return 'id'
471
471
  }
472
472
  return null
@@ -12,18 +12,13 @@ type PathSegment = {
12
12
 
13
13
 
14
14
  function pointSegments(point: any): PathSegment[] {
15
- const segments = point && point.segments
15
+ const segments = point && point.s
16
16
 
17
- if (!Array.isArray(segments) && Array.isArray(point && point.parts)) {
17
+ if (!Array.isArray(segments) && (Array.isArray(point?.parts) || Array.isArray(point?.segments))) {
18
18
  throw new SdkGenError(
19
- 'model: the point for `' + ((point && point.orig) || '(unknown path)') +
20
- '` still describes its path as `parts` (' +
21
- JSON.stringify(point.parts) + ') and carries no `segments`. apidef ' +
22
- 'replaced the braced-string form with the typed segment vector in ' +
23
- '8.2.0 (its ADR-003), so this model was generated by an older apidef ' +
24
- 'and has not been regenerated. Generating from it would build every ' +
25
- 'URL as the API root. Run `npm run generate` in the project\'s `.sdk` ' +
26
- 'so apidef rewrites its entity models, then generate again.')
19
+ 'model: the point for `' + (point?.o || point?.orig || '(unknown path)') +
20
+ '` uses an obsolete path shape. Typed segments belong in `s`. ' +
21
+ 'Run `npm run generate` in the project\'s `.sdk` to regenerate the API model.')
27
22
  }
28
23
 
29
24
  return Array.isArray(segments) ? segments : []
@@ -13,13 +13,8 @@ function resolvedFor(ctx$: any): ResolvedSpec | undefined {
13
13
 
14
14
 
15
15
 
16
- // A point's live-scenario hint. apidef sets `point.live` from the guide; a
17
- // model built before it did carries the hint only inside the contract.
18
16
  function liveHint(point: any): any {
19
- if (null == point) return undefined
20
- if (undefined !== point.live) return point.live
21
- if (null == point.contract?.json) return undefined
22
- try { return JSON.parse(point.contract.json).live } catch { return undefined }
17
+ return point?.li
23
18
  }
24
19
 
25
20
 
@@ -30,18 +25,12 @@ function hasLiveScenarios(model: any): boolean {
30
25
  }
31
26
 
32
27
 
33
- // A point's resolved specification facts. Prefers the capability apidef
34
- // publishes; falls back to the contract for a model built before it, or a
35
- // generation not driven through a model build.
36
28
  function pointFacts(ctx$: any, point: any): any {
37
- const resolved = resolvedFor(ctx$)
38
- const facts = resolved?.operation(point?.method, point?.orig)
39
- if (null != facts) return facts
40
- if (null == point?.contract?.json) return {}
41
- try { return JSON.parse(point.contract.json) } catch { return {} }
29
+ return resolvedFor(ctx$)?.operation(point?.m, point?.o) || {}
42
30
  }
43
31
 
44
32
 
33
+
45
34
  export {
46
35
  resolvedFor,
47
36
  liveHint,
package/src/sdkgen.ts CHANGED
@@ -57,7 +57,7 @@ import { registerComponent } from './cmp/Registered'
57
57
  import { resolvedFor, liveHint, pointFacts, hasLiveScenarios } from './helpers/resolved'
58
58
  import type { RegisterOptions } from './cmp/Registered'
59
59
 
60
- import { buildIdNames } from './helpers/buildIdNames'
60
+ import { buildIdNames, entityRelationName, flowSteps } from './helpers/buildIdNames'
61
61
  import { getMatchEntries } from './helpers/getMatchEntries'
62
62
  import { collectDeps } from './helpers/collectDeps'
63
63
  import { guardModelNames } from './helpers/modelNames'
@@ -992,6 +992,8 @@ export {
992
992
  SdkGenError,
993
993
 
994
994
  buildIdNames,
995
+ entityRelationName,
996
+ flowSteps,
995
997
  getMatchEntries,
996
998
  collectDeps,
997
999
 
package/src/utility.ts CHANGED
@@ -263,13 +263,19 @@ function withPointParts(op: any): any {
263
263
  each(op, (o: any, opname: string) => {
264
264
  out[opname] = null == o || null == o.points ? o : {
265
265
  ...o,
266
- points: each(o.points).map((pt: any) => {
266
+ points: each(o.points).filter((pt: any) => false !== pt?.a).map((pt: any) => {
267
267
  if (null == pt) return pt
268
- // Contracts feed test generation directly from the model. Keeping
269
- // them in every runtime entity also retains entire request/response
270
- // schemas in clones and debug output, exhausting large SDKs' memory.
271
- const { contract, ...runtimePoint } = pt
272
- return { ...runtimePoint, parts: pointParts(pt) }
268
+ const args = Object.fromEntries(Object.entries(pt.g || {}).map(([kind, values]) =>
269
+ [kind, each(values as any).filter((arg: any) => false !== arg.a).map((arg: any) => ({
270
+ name: arg.n, orig: arg.or, type: arg.t, kind: arg.k,
271
+ reqd: arg.r, example: arg.ex,
272
+ }))]))
273
+ // Runtime hooks expose descriptive names independently of the model schema.
274
+ return {
275
+ active: pt.a, kind: pt.k, method: pt.m, orig: pt.o,
276
+ segments: pt.s, parts: pointParts(pt), rename: pt.r,
277
+ transform: pt.t, args, select: pt.q, live: pt.li, graphql: pt.gq,
278
+ }
273
279
  }),
274
280
  }
275
281
  })
@@ -298,7 +304,10 @@ function configDefinition(model: any, targetname?: string): { def: any, json: st
298
304
  const entityStubs: any = {}
299
305
  each(entity, (e: any) => {
300
306
  entityDefs[e.name] = clean({
301
- fields: e.fields,
307
+ fields: each(e.fields || {}).filter((f: any) => false !== f.a).map((f: any) => ({
308
+ name: f.n, title: f.h, type: f.t, req: f.r, op: f.op,
309
+ short: f.sh, readOnly: f.ro, writeOnly: f.wo, deprecated: f.de, format: f.fo,
310
+ })),
302
311
  id: e.id,
303
312
  name: e.name,
304
313
  op: withPointParts(e.op),