@voxgig/sdkgen 4.33.0 → 4.34.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 (1067) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/copies.d.ts +22 -0
  3. package/dist/action/copies.js +243 -0
  4. package/dist/action/copies.js.map +1 -0
  5. package/dist/action/doctor.d.ts +16 -2
  6. package/dist/action/doctor.js +173 -23
  7. package/dist/action/doctor.js.map +1 -1
  8. package/dist/action/edition.js +6 -2
  9. package/dist/action/edition.js.map +1 -1
  10. package/dist/action/feature.js +6 -2
  11. package/dist/action/feature.js.map +1 -1
  12. package/dist/action/package.d.ts +3 -1
  13. package/dist/action/package.js +36 -11
  14. package/dist/action/package.js.map +1 -1
  15. package/dist/action/remove.js +2 -0
  16. package/dist/action/remove.js.map +1 -1
  17. package/dist/action/resolve.d.ts +12 -2
  18. package/dist/action/resolve.js +37 -2
  19. package/dist/action/resolve.js.map +1 -1
  20. package/dist/action/target.js +6 -2
  21. package/dist/action/target.js.map +1 -1
  22. package/dist/admin/npm-trust.js +7 -7
  23. package/dist/admin/npm-trust.js.map +1 -1
  24. package/dist/cmp/AgentGuide.js +4 -3
  25. package/dist/cmp/AgentGuide.js.map +1 -1
  26. package/dist/cmp/AgentGuideFeature.js +3 -2
  27. package/dist/cmp/AgentGuideFeature.js.map +1 -1
  28. package/dist/cmp/AgentGuideTop.js +2 -1
  29. package/dist/cmp/AgentGuideTop.js.map +1 -1
  30. package/dist/cmp/Changelog.js +2 -1
  31. package/dist/cmp/Changelog.js.map +1 -1
  32. package/dist/cmp/Deploy.js +2 -1
  33. package/dist/cmp/Deploy.js.map +1 -1
  34. package/dist/cmp/Entity.js +2 -2
  35. package/dist/cmp/Entity.js.map +1 -1
  36. package/dist/cmp/ExternalTarget.js +2 -1
  37. package/dist/cmp/ExternalTarget.js.map +1 -1
  38. package/dist/cmp/Feature.js +2 -1
  39. package/dist/cmp/Feature.js.map +1 -1
  40. package/dist/cmp/FeatureHook.js +2 -1
  41. package/dist/cmp/FeatureHook.js.map +1 -1
  42. package/dist/cmp/License.js +6 -4
  43. package/dist/cmp/License.js.map +1 -1
  44. package/dist/cmp/Main.js +2 -2
  45. package/dist/cmp/Main.js.map +1 -1
  46. package/dist/cmp/PublishWorkflow.js +2 -1
  47. package/dist/cmp/PublishWorkflow.js.map +1 -1
  48. package/dist/cmp/Readme.js +2 -1
  49. package/dist/cmp/Readme.js.map +1 -1
  50. package/dist/cmp/ReadmeEntity.js +4 -4
  51. package/dist/cmp/ReadmeEntity.js.map +1 -1
  52. package/dist/cmp/ReadmeErrors.js +6 -4
  53. package/dist/cmp/ReadmeErrors.js.map +1 -1
  54. package/dist/cmp/ReadmeExplanation.js +4 -3
  55. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  56. package/dist/cmp/ReadmeFeatures.js +4 -3
  57. package/dist/cmp/ReadmeFeatures.js.map +1 -1
  58. package/dist/cmp/ReadmeHowto.js +4 -3
  59. package/dist/cmp/ReadmeHowto.js.map +1 -1
  60. package/dist/cmp/ReadmeInstall.js +4 -3
  61. package/dist/cmp/ReadmeInstall.js.map +1 -1
  62. package/dist/cmp/ReadmeIntro.js +4 -4
  63. package/dist/cmp/ReadmeIntro.js.map +1 -1
  64. package/dist/cmp/ReadmeModel.js +6 -3
  65. package/dist/cmp/ReadmeModel.js.map +1 -1
  66. package/dist/cmp/ReadmeOptions.js +4 -4
  67. package/dist/cmp/ReadmeOptions.js.map +1 -1
  68. package/dist/cmp/ReadmeQuick.js +4 -3
  69. package/dist/cmp/ReadmeQuick.js.map +1 -1
  70. package/dist/cmp/ReadmeRef.js +4 -4
  71. package/dist/cmp/ReadmeRef.js.map +1 -1
  72. package/dist/cmp/ReadmeRefFeatures.js +2 -1
  73. package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
  74. package/dist/cmp/ReadmeStation.js +2 -1
  75. package/dist/cmp/ReadmeStation.js.map +1 -1
  76. package/dist/cmp/ReadmeTop.js +104 -35
  77. package/dist/cmp/ReadmeTop.js.map +1 -1
  78. package/dist/cmp/ReadmeUnions.js +2 -1
  79. package/dist/cmp/ReadmeUnions.js.map +1 -1
  80. package/dist/cmp/Registered.js +4 -3
  81. package/dist/cmp/Registered.js.map +1 -1
  82. package/dist/cmp/Security.js +10 -6
  83. package/dist/cmp/Security.js.map +1 -1
  84. package/dist/cmp/Test.js +2 -1
  85. package/dist/cmp/Test.js.map +1 -1
  86. package/dist/cmp/TestControl.js +2 -1
  87. package/dist/cmp/TestControl.js.map +1 -1
  88. package/dist/helpers/component.d.ts +4 -0
  89. package/dist/helpers/component.js +54 -0
  90. package/dist/helpers/component.js.map +1 -0
  91. package/dist/helpers/definition.js +2 -2
  92. package/dist/helpers/definition.js.map +1 -1
  93. package/dist/helpers/definitionPlan.d.ts +16 -0
  94. package/dist/helpers/definitionPlan.js +116 -12
  95. package/dist/helpers/definitionPlan.js.map +1 -1
  96. package/dist/helpers/featureSource.d.ts +2 -1
  97. package/dist/helpers/featureSource.js +44 -2
  98. package/dist/helpers/featureSource.js.map +1 -1
  99. package/dist/helpers/flowGuard.d.ts +8 -0
  100. package/dist/helpers/flowGuard.js +84 -0
  101. package/dist/helpers/flowGuard.js.map +1 -0
  102. package/dist/helpers/generated.d.ts +26 -0
  103. package/dist/helpers/generated.js +363 -0
  104. package/dist/helpers/generated.js.map +1 -0
  105. package/dist/helpers/mcpTools.d.ts +11 -0
  106. package/dist/helpers/mcpTools.js +28 -0
  107. package/dist/helpers/mcpTools.js.map +1 -0
  108. package/dist/helpers/media.d.ts +9 -0
  109. package/dist/helpers/media.js +61 -0
  110. package/dist/helpers/media.js.map +1 -0
  111. package/dist/helpers/modelNames.js +147 -14
  112. package/dist/helpers/modelNames.js.map +1 -1
  113. package/dist/helpers/naming.d.ts +11 -1
  114. package/dist/helpers/naming.js +143 -0
  115. package/dist/helpers/naming.js.map +1 -1
  116. package/dist/helpers/npm.d.ts +13 -0
  117. package/dist/helpers/npm.js +41 -0
  118. package/dist/helpers/npm.js.map +1 -0
  119. package/dist/helpers/npmScripts.d.ts +4 -0
  120. package/dist/helpers/npmScripts.js +30 -0
  121. package/dist/helpers/npmScripts.js.map +1 -0
  122. package/dist/helpers/opExample.d.ts +5 -4
  123. package/dist/helpers/opExample.js +10 -7
  124. package/dist/helpers/opExample.js.map +1 -1
  125. package/dist/helpers/opShape.d.ts +20 -4
  126. package/dist/helpers/opShape.js +197 -30
  127. package/dist/helpers/opShape.js.map +1 -1
  128. package/dist/helpers/optional.d.ts +20 -0
  129. package/dist/helpers/optional.js +51 -0
  130. package/dist/helpers/optional.js.map +1 -0
  131. package/dist/helpers/packageMeta.d.ts +9 -1
  132. package/dist/helpers/packageMeta.js +70 -11
  133. package/dist/helpers/packageMeta.js.map +1 -1
  134. package/dist/helpers/stdrep.js +3 -0
  135. package/dist/helpers/stdrep.js.map +1 -1
  136. package/dist/helpers/testPolicy.d.ts +9 -1
  137. package/dist/helpers/testPolicy.js +48 -0
  138. package/dist/helpers/testPolicy.js.map +1 -1
  139. package/dist/helpers/text.d.ts +2 -0
  140. package/dist/helpers/text.js +27 -0
  141. package/dist/helpers/text.js.map +1 -0
  142. package/dist/sdkgen.d.ts +16 -8
  143. package/dist/sdkgen.js +115 -15
  144. package/dist/sdkgen.js.map +1 -1
  145. package/dist/testkit.js +2 -1
  146. package/dist/testkit.js.map +1 -1
  147. package/dist/tsconfig.tsbuildinfo +1 -1
  148. package/dist/utility.d.ts +2 -1
  149. package/dist/utility.js +33 -18
  150. package/dist/utility.js.map +1 -1
  151. package/model/sdkgen.aontu +24 -1
  152. package/package.json +8 -2
  153. package/project/.sdk/model/feature/timeout.aontu +2 -0
  154. package/project/.sdk/model/target/go-mcp.aontu +2 -0
  155. package/project/.sdk/src/cmp/c/Config_c.ts +5 -0
  156. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +1 -1
  157. package/project/.sdk/src/cmp/c/Entity_c.ts +1 -1
  158. package/project/.sdk/src/cmp/c/Main_c.ts +4 -20
  159. package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +169 -51
  160. package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +22 -13
  161. package/project/.sdk/src/cmp/c/ReadmeHowto_c.ts +10 -5
  162. package/project/.sdk/src/cmp/c/ReadmeInstall_c.ts +2 -2
  163. package/project/.sdk/src/cmp/c/ReadmeIntro_c.ts +3 -3
  164. package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +11 -10
  165. package/project/.sdk/src/cmp/c/ReadmeQuick_c.ts +37 -20
  166. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +39 -21
  167. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +9 -7
  168. package/project/.sdk/src/cmp/c/ReadmeTopTest_c.ts +15 -4
  169. package/project/.sdk/src/cmp/c/TestClean_c.ts +56 -22
  170. package/project/.sdk/src/cmp/c/TestDirect_c.ts +2 -2
  171. package/project/.sdk/src/cmp/c/TestEntity_c.ts +77 -4
  172. package/project/.sdk/src/cmp/c/fragment/Entity.fragment.c +33 -27
  173. package/project/.sdk/src/cmp/c/fragment/EntityPatchOp.fragment.c +36 -0
  174. package/project/.sdk/src/cmp/c/fragment/Main.fragment.c +40 -7
  175. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +1 -1
  176. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +3 -1
  177. package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +44 -28
  178. package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +7 -4
  179. package/project/.sdk/src/cmp/clojure/ReadmeHowto_clojure.ts +1 -1
  180. package/project/.sdk/src/cmp/clojure/ReadmeInstall_clojure.ts +3 -3
  181. package/project/.sdk/src/cmp/clojure/ReadmeIntro_clojure.ts +3 -3
  182. package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +7 -5
  183. package/project/.sdk/src/cmp/clojure/ReadmeQuick_clojure.ts +12 -4
  184. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +24 -7
  185. package/project/.sdk/src/cmp/clojure/ReadmeTopQuick_clojure.ts +2 -2
  186. package/project/.sdk/src/cmp/clojure/ReadmeTopTest_clojure.ts +1 -1
  187. package/project/.sdk/src/cmp/clojure/TestClean_clojure.ts +53 -23
  188. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +64 -5
  189. package/project/.sdk/src/cmp/clojure/fragment/Entity.fragment.clj +22 -11
  190. package/project/.sdk/src/cmp/clojure/fragment/EntityListOp.fragment.clj +7 -9
  191. package/project/.sdk/src/cmp/clojure/fragment/EntityPatchOp.fragment.clj +15 -0
  192. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +1 -1
  193. package/project/.sdk/src/cmp/cpp/Entity_cpp.ts +2 -2
  194. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +3 -19
  195. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +38 -39
  196. package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +19 -12
  197. package/project/.sdk/src/cmp/cpp/ReadmeHowto_cpp.ts +11 -6
  198. package/project/.sdk/src/cmp/cpp/ReadmeInstall_cpp.ts +2 -2
  199. package/project/.sdk/src/cmp/cpp/ReadmeIntro_cpp.ts +3 -3
  200. package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +10 -9
  201. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +26 -18
  202. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +42 -25
  203. package/project/.sdk/src/cmp/cpp/ReadmeTopQuick_cpp.ts +7 -7
  204. package/project/.sdk/src/cmp/cpp/ReadmeTopTest_cpp.ts +11 -4
  205. package/project/.sdk/src/cmp/cpp/TestClean_cpp.ts +69 -21
  206. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +135 -6
  207. package/project/.sdk/src/cmp/cpp/fragment/Entity.fragment.cpp +2 -0
  208. package/project/.sdk/src/cmp/cpp/fragment/EntityPatchOp.fragment.cpp +28 -0
  209. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +1 -1
  210. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +1 -1
  211. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +3 -1
  212. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +4 -1
  213. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +69 -23
  214. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +7 -4
  215. package/project/.sdk/src/cmp/csharp/ReadmeHowto_csharp.ts +3 -3
  216. package/project/.sdk/src/cmp/csharp/ReadmeInstall_csharp.ts +3 -3
  217. package/project/.sdk/src/cmp/csharp/ReadmeIntro_csharp.ts +3 -3
  218. package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +11 -9
  219. package/project/.sdk/src/cmp/csharp/ReadmeQuick_csharp.ts +17 -6
  220. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +33 -16
  221. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +1 -1
  222. package/project/.sdk/src/cmp/csharp/ReadmeTopTest_csharp.ts +1 -1
  223. package/project/.sdk/src/cmp/csharp/TestClean_csharp.ts +67 -14
  224. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +43 -31
  225. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +187 -15
  226. package/project/.sdk/src/cmp/csharp/fragment/Entity.fragment.cs +2 -0
  227. package/project/.sdk/src/cmp/csharp/fragment/EntityBase.fragment.cs +11 -2
  228. package/project/.sdk/src/cmp/csharp/fragment/EntityPatchOp.fragment.cs +41 -0
  229. package/project/.sdk/src/cmp/csharp/fragment/Main.fragment.cs +28 -4
  230. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +6 -0
  231. package/project/.sdk/src/cmp/elixir/EntityOperation_elixir.ts +5 -0
  232. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +3 -3
  233. package/project/.sdk/src/cmp/elixir/Entity_elixir.ts +22 -1
  234. package/project/.sdk/src/cmp/elixir/MainEntity_elixir.ts +4 -2
  235. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +6 -2
  236. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +7 -0
  237. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +40 -30
  238. package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +13 -9
  239. package/project/.sdk/src/cmp/elixir/ReadmeHowto_elixir.ts +6 -5
  240. package/project/.sdk/src/cmp/elixir/ReadmeInstall_elixir.ts +2 -2
  241. package/project/.sdk/src/cmp/elixir/ReadmeIntro_elixir.ts +4 -4
  242. package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +13 -11
  243. package/project/.sdk/src/cmp/elixir/ReadmeQuick_elixir.ts +25 -12
  244. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +29 -13
  245. package/project/.sdk/src/cmp/elixir/ReadmeTopQuick_elixir.ts +5 -4
  246. package/project/.sdk/src/cmp/elixir/ReadmeTopTest_elixir.ts +5 -4
  247. package/project/.sdk/src/cmp/elixir/TestClean_elixir.ts +41 -12
  248. package/project/.sdk/src/cmp/elixir/TestEntity_elixir.ts +152 -23
  249. package/project/.sdk/src/cmp/elixir/fragment/Entity.fragment.ex +4 -4
  250. package/project/.sdk/src/cmp/elixir/fragment/EntityPatchOp.fragment.ex +35 -0
  251. package/project/.sdk/src/cmp/elixir/fragment/Main.fragment.ex +29 -5
  252. package/project/.sdk/src/cmp/elixir/fragment/Pipeline.fragment.ex +23 -16
  253. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +1 -1
  254. package/project/.sdk/src/cmp/go/Entity_go.ts +1 -1
  255. package/project/.sdk/src/cmp/go/Main_go.ts +5 -6
  256. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +40 -26
  257. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +1 -0
  258. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +6 -1
  259. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +1 -1
  260. package/project/.sdk/src/cmp/go/ReadmeInstall_go.ts +3 -3
  261. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +3 -3
  262. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +3 -2
  263. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +14 -0
  264. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +29 -7
  265. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +1 -1
  266. package/project/.sdk/src/cmp/go/TestClean_go.ts +81 -18
  267. package/project/.sdk/src/cmp/go/TestDirect_go.ts +47 -53
  268. package/project/.sdk/src/cmp/go/TestEntity_go.ts +204 -24
  269. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +79 -60
  270. package/project/.sdk/src/cmp/go/fragment/EntityPatchOp.fragment.go +49 -0
  271. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +26 -5
  272. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +8 -10
  273. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +240 -121
  274. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +1 -1
  275. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +34 -27
  276. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +1 -1
  277. package/project/.sdk/src/cmp/java/Entity_java.ts +1 -1
  278. package/project/.sdk/src/cmp/java/Main_java.ts +3 -1
  279. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +58 -23
  280. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +7 -4
  281. package/project/.sdk/src/cmp/java/ReadmeHowto_java.ts +1 -1
  282. package/project/.sdk/src/cmp/java/ReadmeInstall_java.ts +3 -3
  283. package/project/.sdk/src/cmp/java/ReadmeIntro_java.ts +3 -3
  284. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +2 -1
  285. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +10 -1
  286. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +22 -5
  287. package/project/.sdk/src/cmp/java/ReadmeTopTest_java.ts +1 -1
  288. package/project/.sdk/src/cmp/java/TestClean_java.ts +57 -12
  289. package/project/.sdk/src/cmp/java/TestDirect_java.ts +50 -36
  290. package/project/.sdk/src/cmp/java/TestEntity_java.ts +180 -13
  291. package/project/.sdk/src/cmp/java/fragment/Entity.fragment.java +2 -0
  292. package/project/.sdk/src/cmp/java/fragment/EntityBase.fragment.java +5 -3
  293. package/project/.sdk/src/cmp/java/fragment/EntityPatchOp.fragment.java +45 -0
  294. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +1 -1
  295. package/project/.sdk/src/cmp/js/Entity_js.ts +1 -1
  296. package/project/.sdk/src/cmp/js/Main_js.ts +2 -0
  297. package/project/.sdk/src/cmp/js/Package_js.ts +11 -8
  298. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +39 -27
  299. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +7 -4
  300. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -3
  301. package/project/.sdk/src/cmp/js/ReadmeInstall_js.ts +3 -3
  302. package/project/.sdk/src/cmp/js/ReadmeIntro_js.ts +3 -3
  303. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +4 -3
  304. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +17 -0
  305. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +37 -8
  306. package/project/.sdk/src/cmp/js/ReadmeTopHowto_js.ts +2 -3
  307. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +1 -1
  308. package/project/.sdk/src/cmp/js/TestClean_js.ts +52 -8
  309. package/project/.sdk/src/cmp/js/TestDirect_js.ts +81 -54
  310. package/project/.sdk/src/cmp/js/TestEntity_js.ts +95 -2
  311. package/project/.sdk/src/cmp/js/TestLive_js.ts +4 -3
  312. package/project/.sdk/src/cmp/js/fragment/Direct.test.fragment.js +4 -0
  313. package/project/.sdk/src/cmp/js/fragment/Entity.fragment.js +2 -0
  314. package/project/.sdk/src/cmp/js/fragment/Entity.test.fragment.js +2 -0
  315. package/project/.sdk/src/cmp/js/fragment/EntityBase.fragment.js +51 -25
  316. package/project/.sdk/src/cmp/js/fragment/EntityPatchOp.fragment.js +129 -0
  317. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +39 -15
  318. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +4 -0
  319. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +1 -1
  320. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +1 -1
  321. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +3 -1
  322. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +56 -31
  323. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +7 -4
  324. package/project/.sdk/src/cmp/kotlin/ReadmeHowto_kotlin.ts +1 -1
  325. package/project/.sdk/src/cmp/kotlin/ReadmeInstall_kotlin.ts +3 -3
  326. package/project/.sdk/src/cmp/kotlin/ReadmeIntro_kotlin.ts +3 -3
  327. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +2 -1
  328. package/project/.sdk/src/cmp/kotlin/ReadmeQuick_kotlin.ts +10 -1
  329. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +22 -5
  330. package/project/.sdk/src/cmp/kotlin/ReadmeTopTest_kotlin.ts +1 -1
  331. package/project/.sdk/src/cmp/kotlin/TestClean_kotlin.ts +45 -10
  332. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +49 -26
  333. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +168 -10
  334. package/project/.sdk/src/cmp/kotlin/fragment/Entity.fragment.kt +2 -0
  335. package/project/.sdk/src/cmp/kotlin/fragment/EntityBase.fragment.kt +2 -1
  336. package/project/.sdk/src/cmp/kotlin/fragment/EntityPatchOp.fragment.kt +40 -0
  337. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +1 -1
  338. package/project/.sdk/src/cmp/lua/Entity_lua.ts +1 -1
  339. package/project/.sdk/src/cmp/lua/Main_lua.ts +2 -1
  340. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +42 -23
  341. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +7 -4
  342. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +8 -2
  343. package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +1 -1
  344. package/project/.sdk/src/cmp/lua/ReadmeInstall_lua.ts +2 -2
  345. package/project/.sdk/src/cmp/lua/ReadmeIntro_lua.ts +3 -3
  346. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -2
  347. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +9 -1
  348. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +22 -6
  349. package/project/.sdk/src/cmp/lua/ReadmeTopTest_lua.ts +1 -1
  350. package/project/.sdk/src/cmp/lua/TestClean_lua.ts +46 -12
  351. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +100 -124
  352. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +173 -20
  353. package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +85 -48
  354. package/project/.sdk/src/cmp/lua/fragment/EntityPatchOp.fragment.lua +34 -0
  355. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +28 -6
  356. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +8 -11
  357. package/project/.sdk/src/cmp/ocaml/Entity_ocaml.ts +8 -3
  358. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +2 -1
  359. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +7 -5
  360. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +39 -34
  361. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +7 -4
  362. package/project/.sdk/src/cmp/ocaml/ReadmeHowto_ocaml.ts +3 -8
  363. package/project/.sdk/src/cmp/ocaml/ReadmeInstall_ocaml.ts +2 -2
  364. package/project/.sdk/src/cmp/ocaml/ReadmeIntro_ocaml.ts +3 -3
  365. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +2 -1
  366. package/project/.sdk/src/cmp/ocaml/ReadmeQuick_ocaml.ts +9 -1
  367. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +22 -6
  368. package/project/.sdk/src/cmp/ocaml/ReadmeTopTest_ocaml.ts +3 -7
  369. package/project/.sdk/src/cmp/ocaml/TestClean_ocaml.ts +47 -14
  370. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +88 -3
  371. package/project/.sdk/src/cmp/ocaml/fragment/RunOp.fragment.ml +10 -11
  372. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +7 -0
  373. package/project/.sdk/src/cmp/perl/Entity_perl.ts +1 -1
  374. package/project/.sdk/src/cmp/perl/Main_perl.ts +3 -1
  375. package/project/.sdk/src/cmp/perl/Package_perl.ts +5 -4
  376. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +48 -33
  377. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +9 -4
  378. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +2 -2
  379. package/project/.sdk/src/cmp/perl/ReadmeHowto_perl.ts +1 -1
  380. package/project/.sdk/src/cmp/perl/ReadmeInstall_perl.ts +9 -3
  381. package/project/.sdk/src/cmp/perl/ReadmeIntro_perl.ts +3 -3
  382. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +7 -5
  383. package/project/.sdk/src/cmp/perl/ReadmeQuick_perl.ts +12 -4
  384. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +26 -9
  385. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +2 -2
  386. package/project/.sdk/src/cmp/perl/ReadmeTopTest_perl.ts +1 -1
  387. package/project/.sdk/src/cmp/perl/TestClean_perl.ts +42 -11
  388. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +121 -149
  389. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +178 -17
  390. package/project/.sdk/src/cmp/perl/fragment/Entity.fragment.pm +16 -2
  391. package/project/.sdk/src/cmp/perl/fragment/EntityListOp.fragment.pm +2 -13
  392. package/project/.sdk/src/cmp/perl/fragment/EntityPatchOp.fragment.pm +32 -0
  393. package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +23 -5
  394. package/project/.sdk/src/cmp/perl/utility_perl.ts +16 -0
  395. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +3 -3
  396. package/project/.sdk/src/cmp/php/Entity_php.ts +4 -3
  397. package/project/.sdk/src/cmp/php/MainEntity_php.ts +1 -1
  398. package/project/.sdk/src/cmp/php/Main_php.ts +3 -1
  399. package/project/.sdk/src/cmp/php/Package_php.ts +1 -1
  400. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +36 -28
  401. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +7 -4
  402. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +3 -3
  403. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +1 -1
  404. package/project/.sdk/src/cmp/php/ReadmeInstall_php.ts +2 -2
  405. package/project/.sdk/src/cmp/php/ReadmeIntro_php.ts +3 -3
  406. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +2 -1
  407. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +9 -1
  408. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +23 -6
  409. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +1 -1
  410. package/project/.sdk/src/cmp/php/TestClean_php.ts +73 -12
  411. package/project/.sdk/src/cmp/php/TestDirect_php.ts +95 -127
  412. package/project/.sdk/src/cmp/php/TestEntity_php.ts +219 -20
  413. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +82 -45
  414. package/project/.sdk/src/cmp/php/fragment/EntityPatchOp.fragment.php +38 -0
  415. package/project/.sdk/src/cmp/php/fragment/Main.fragment.php +26 -5
  416. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +1 -1
  417. package/project/.sdk/src/cmp/py/Entity_py.ts +2 -2
  418. package/project/.sdk/src/cmp/py/Main_py.ts +6 -2
  419. package/project/.sdk/src/cmp/py/Package_py.ts +7 -0
  420. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +52 -26
  421. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +7 -4
  422. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +12 -6
  423. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +1 -1
  424. package/project/.sdk/src/cmp/py/ReadmeInstall_py.ts +3 -3
  425. package/project/.sdk/src/cmp/py/ReadmeIntro_py.ts +3 -3
  426. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +2 -1
  427. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +9 -1
  428. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +23 -6
  429. package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +1 -1
  430. package/project/.sdk/src/cmp/py/TestClean_py.ts +41 -10
  431. package/project/.sdk/src/cmp/py/TestDirect_py.ts +91 -121
  432. package/project/.sdk/src/cmp/py/TestEntity_py.ts +146 -20
  433. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +62 -42
  434. package/project/.sdk/src/cmp/py/fragment/EntityPatchOp.fragment.py +27 -0
  435. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +23 -5
  436. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +1 -1
  437. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +3 -3
  438. package/project/.sdk/src/cmp/rb/Entity_rb.ts +1 -1
  439. package/project/.sdk/src/cmp/rb/Main_rb.ts +5 -6
  440. package/project/.sdk/src/cmp/rb/Package_rb.ts +3 -1
  441. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +30 -28
  442. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +9 -5
  443. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +16 -8
  444. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +1 -1
  445. package/project/.sdk/src/cmp/rb/ReadmeInstall_rb.ts +2 -2
  446. package/project/.sdk/src/cmp/rb/ReadmeIntro_rb.ts +3 -3
  447. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +3 -2
  448. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +14 -5
  449. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +26 -8
  450. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +2 -2
  451. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +1 -1
  452. package/project/.sdk/src/cmp/rb/TestClean_rb.ts +36 -10
  453. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +95 -126
  454. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +177 -21
  455. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +49 -29
  456. package/project/.sdk/src/cmp/rb/fragment/EntityListOp.fragment.rb +2 -11
  457. package/project/.sdk/src/cmp/rb/fragment/EntityPatchOp.fragment.rb +31 -0
  458. package/project/.sdk/src/cmp/rb/fragment/Main.fragment.rb +19 -5
  459. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +1 -1
  460. package/project/.sdk/src/cmp/rust/Entity_rust.ts +2 -2
  461. package/project/.sdk/src/cmp/rust/Main_rust.ts +7 -6
  462. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +56 -29
  463. package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +16 -9
  464. package/project/.sdk/src/cmp/rust/ReadmeHowto_rust.ts +11 -4
  465. package/project/.sdk/src/cmp/rust/ReadmeInstall_rust.ts +3 -3
  466. package/project/.sdk/src/cmp/rust/ReadmeIntro_rust.ts +3 -3
  467. package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +12 -9
  468. package/project/.sdk/src/cmp/rust/ReadmeQuick_rust.ts +25 -17
  469. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +35 -21
  470. package/project/.sdk/src/cmp/rust/ReadmeTopQuick_rust.ts +6 -8
  471. package/project/.sdk/src/cmp/rust/ReadmeTopTest_rust.ts +13 -5
  472. package/project/.sdk/src/cmp/rust/TestClean_rust.ts +80 -21
  473. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +124 -79
  474. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +164 -17
  475. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +44 -23
  476. package/project/.sdk/src/cmp/rust/fragment/EntityPatchOp.fragment.rs +41 -0
  477. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +39 -9
  478. package/project/.sdk/src/cmp/scala/Config_scala.ts +4 -0
  479. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +1 -1
  480. package/project/.sdk/src/cmp/scala/Entity_scala.ts +1 -1
  481. package/project/.sdk/src/cmp/scala/Main_scala.ts +4 -20
  482. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +56 -24
  483. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +7 -4
  484. package/project/.sdk/src/cmp/scala/ReadmeHowto_scala.ts +1 -1
  485. package/project/.sdk/src/cmp/scala/ReadmeInstall_scala.ts +3 -3
  486. package/project/.sdk/src/cmp/scala/ReadmeIntro_scala.ts +3 -3
  487. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +2 -1
  488. package/project/.sdk/src/cmp/scala/ReadmeQuick_scala.ts +10 -1
  489. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +22 -5
  490. package/project/.sdk/src/cmp/scala/ReadmeTopTest_scala.ts +1 -1
  491. package/project/.sdk/src/cmp/scala/TestClean_scala.ts +39 -10
  492. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +113 -3
  493. package/project/.sdk/src/cmp/scala/fragment/Entity.fragment.scala +2 -0
  494. package/project/.sdk/src/cmp/scala/fragment/EntityBase.fragment.scala +4 -2
  495. package/project/.sdk/src/cmp/scala/fragment/EntityPatchOp.fragment.scala +33 -0
  496. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +3 -3
  497. package/project/.sdk/src/cmp/swift/Entity_swift.ts +1 -1
  498. package/project/.sdk/src/cmp/swift/Main_swift.ts +6 -2
  499. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +56 -29
  500. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +7 -4
  501. package/project/.sdk/src/cmp/swift/ReadmeHowto_swift.ts +1 -1
  502. package/project/.sdk/src/cmp/swift/ReadmeInstall_swift.ts +3 -3
  503. package/project/.sdk/src/cmp/swift/ReadmeIntro_swift.ts +3 -3
  504. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +2 -1
  505. package/project/.sdk/src/cmp/swift/ReadmeQuick_swift.ts +10 -1
  506. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +21 -5
  507. package/project/.sdk/src/cmp/swift/ReadmeTopTest_swift.ts +1 -1
  508. package/project/.sdk/src/cmp/swift/TestClean_swift.ts +44 -10
  509. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +90 -2
  510. package/project/.sdk/src/cmp/swift/fragment/Entity.fragment.swift +2 -0
  511. package/project/.sdk/src/cmp/swift/fragment/EntityBase.fragment.swift +9 -1
  512. package/project/.sdk/src/cmp/swift/fragment/EntityPatchOp.fragment.swift +24 -0
  513. package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +23 -3
  514. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +9 -3
  515. package/project/.sdk/src/cmp/ts/Entity_ts.ts +5 -5
  516. package/project/.sdk/src/cmp/ts/Main_ts.ts +4 -3
  517. package/project/.sdk/src/cmp/ts/Package_ts.ts +18 -10
  518. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +37 -28
  519. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +7 -4
  520. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +39 -21
  521. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +0 -3
  522. package/project/.sdk/src/cmp/ts/ReadmeInstall_ts.ts +3 -3
  523. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +3 -3
  524. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +4 -3
  525. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +10 -1
  526. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +37 -8
  527. package/project/.sdk/src/cmp/ts/ReadmeTopHowto_ts.ts +2 -3
  528. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +1 -1
  529. package/project/.sdk/src/cmp/ts/TestClean_ts.ts +52 -8
  530. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +50 -109
  531. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +92 -2
  532. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +4 -3
  533. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +3 -0
  534. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +2 -0
  535. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +3 -1
  536. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +49 -24
  537. package/project/.sdk/src/cmp/ts/fragment/EntityPatchOp.fragment.ts +126 -0
  538. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +50 -18
  539. package/project/.sdk/src/cmp/zig/Entity_zig.ts +2 -2
  540. package/project/.sdk/src/cmp/zig/Main_zig.ts +5 -22
  541. package/project/.sdk/src/cmp/zig/Package_zig.ts +11 -2
  542. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +57 -31
  543. package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +17 -9
  544. package/project/.sdk/src/cmp/zig/ReadmeHowto_zig.ts +14 -4
  545. package/project/.sdk/src/cmp/zig/ReadmeInstall_zig.ts +2 -2
  546. package/project/.sdk/src/cmp/zig/ReadmeIntro_zig.ts +3 -3
  547. package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +12 -10
  548. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +29 -12
  549. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +45 -22
  550. package/project/.sdk/src/cmp/zig/ReadmeTopQuick_zig.ts +8 -4
  551. package/project/.sdk/src/cmp/zig/ReadmeTopTest_zig.ts +10 -3
  552. package/project/.sdk/src/cmp/zig/TestClean_zig.ts +67 -28
  553. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +54 -5
  554. package/project/.sdk/src/cmp/zig/Test_zig.ts +1 -0
  555. package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +44 -34
  556. package/project/.sdk/src/cmp/zig/fragment/EntityPatchOp.fragment.zig +26 -0
  557. package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +30 -6
  558. package/project/.sdk/src/cmp/zig/fragment/Root.fragment.zig +1 -0
  559. package/project/.sdk/tm/c/LICENSE +1 -1
  560. package/project/.sdk/tm/c/core/context.c +2 -1
  561. package/project/.sdk/tm/c/core/helpers.c +21 -0
  562. package/project/.sdk/tm/c/core/response.c +103 -0
  563. package/project/.sdk/tm/c/core/sdk.h +26 -0
  564. package/project/.sdk/tm/c/core/spec.c +10 -0
  565. package/project/.sdk/tm/c/feature/test.c +46 -2
  566. package/project/.sdk/tm/c/feature/validate.c +2 -0
  567. package/project/.sdk/tm/c/tests/feature_harness.h +1 -1
  568. package/project/.sdk/tm/c/tests/primary_utility_test.c +9 -5
  569. package/project/.sdk/tm/c/tests/server_variable_test.c +80 -0
  570. package/project/.sdk/tm/c/utility/make_fetch_def.c +5 -1
  571. package/project/.sdk/tm/c/utility/make_options.c +84 -6
  572. package/project/.sdk/tm/c/utility/make_point.c +100 -8
  573. package/project/.sdk/tm/c/utility/make_spec.c +17 -1
  574. package/project/.sdk/tm/c/utility/make_url.c +38 -1
  575. package/project/.sdk/tm/c/utility/media.c +107 -0
  576. package/project/.sdk/tm/c/utility/param.c +52 -28
  577. package/project/.sdk/tm/c/utility/prepare_body.c +1 -0
  578. package/project/.sdk/tm/c/utility/prepare_headers.c +199 -29
  579. package/project/.sdk/tm/c/utility/prepare_query.c +24 -2
  580. package/project/.sdk/tm/c/utility/result_body.c +4 -0
  581. package/project/.sdk/tm/c/utility/transform_request.c +54 -17
  582. package/project/.sdk/tm/clojure/LICENSE +1 -1
  583. package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +0 -3
  584. package/project/.sdk/tm/clojure/src/sdk/client.clj +19 -5
  585. package/project/.sdk/tm/clojure/src/sdk/core.clj +415 -117
  586. package/project/.sdk/tm/clojure/src/sdk/features.clj +44 -20
  587. package/project/.sdk/tm/clojure/test/sdk/test/feature.clj +21 -1
  588. package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +10 -2
  589. package/project/.sdk/tm/cpp/LICENSE +1 -1
  590. package/project/.sdk/tm/cpp/core/types.hpp +131 -7
  591. package/project/.sdk/tm/cpp/feature/test.hpp +32 -2
  592. package/project/.sdk/tm/cpp/feature/timeout.hpp +29 -9
  593. package/project/.sdk/tm/cpp/feature/validate.hpp +2 -0
  594. package/project/.sdk/tm/cpp/test/feature_test.cpp +37 -0
  595. package/project/.sdk/tm/cpp/test/harness.hpp +1 -1
  596. package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +6 -2
  597. package/project/.sdk/tm/cpp/test/server_variable_test.cpp +57 -0
  598. package/project/.sdk/tm/cpp/utility/cookie.hpp +36 -0
  599. package/project/.sdk/tm/cpp/utility/pipeline.hpp +441 -82
  600. package/project/.sdk/tm/csharp/LICENSE +1 -1
  601. package/project/.sdk/tm/csharp/core/Context.cs +1 -1
  602. package/project/.sdk/tm/csharp/core/Helpers.cs +17 -0
  603. package/project/.sdk/tm/csharp/core/Response.cs +75 -0
  604. package/project/.sdk/tm/csharp/core/Spec.cs +3 -0
  605. package/project/.sdk/tm/csharp/feature/TestFeature.cs +41 -3
  606. package/project/.sdk/tm/csharp/feature/TimeoutFeature.cs +31 -3
  607. package/project/.sdk/tm/csharp/feature/ValidateFeature.cs +2 -0
  608. package/project/.sdk/tm/csharp/test/FeatureHarness.cs +1 -1
  609. package/project/.sdk/tm/csharp/test/FeatureTest.cs +35 -0
  610. package/project/.sdk/tm/csharp/test/PipelineTest.cs +28 -0
  611. package/project/.sdk/tm/csharp/test/Runner.cs +119 -0
  612. package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +8 -3
  613. package/project/.sdk/tm/csharp/utility/Fetcher.cs +25 -7
  614. package/project/.sdk/tm/csharp/utility/MakeFetchDef.cs +1 -5
  615. package/project/.sdk/tm/csharp/utility/MakeOptions.cs +8 -6
  616. package/project/.sdk/tm/csharp/utility/MakePoint.cs +68 -17
  617. package/project/.sdk/tm/csharp/utility/MakeSpec.cs +24 -6
  618. package/project/.sdk/tm/csharp/utility/MakeUrl.cs +21 -1
  619. package/project/.sdk/tm/csharp/utility/Media.cs +124 -0
  620. package/project/.sdk/tm/csharp/utility/Param.cs +57 -20
  621. package/project/.sdk/tm/csharp/utility/PrepareBody.cs +4 -0
  622. package/project/.sdk/tm/csharp/utility/PrepareHeaders.cs +103 -24
  623. package/project/.sdk/tm/csharp/utility/PrepareQuery.cs +33 -3
  624. package/project/.sdk/tm/csharp/utility/ResultBody.cs +5 -0
  625. package/project/.sdk/tm/csharp/utility/TransformRequest.cs +21 -13
  626. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +3 -2
  627. package/project/.sdk/tm/elixir/LICENSE +1 -1
  628. package/project/.sdk/tm/elixir/lib/projectname/context.ex +1 -1
  629. package/project/.sdk/tm/elixir/lib/projectname/core.ex +7 -2
  630. package/project/.sdk/tm/elixir/lib/projectname/entity_base.ex +43 -12
  631. package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +47 -21
  632. package/project/.sdk/tm/elixir/lib/projectname/feature/validate.ex +2 -0
  633. package/project/.sdk/tm/elixir/lib/projectname/utility.ex +482 -129
  634. package/project/.sdk/tm/elixir/test/support/feature_harness.ex +1 -0
  635. package/project/.sdk/tm/go/LICENSE +1 -1
  636. package/project/.sdk/tm/go/core/context.go +1 -1
  637. package/project/.sdk/tm/go/core/helpers.go +19 -1
  638. package/project/.sdk/tm/go/core/response.go +72 -0
  639. package/project/.sdk/tm/go/core/spec.go +3 -0
  640. package/project/.sdk/tm/go/core/types.go +9 -1
  641. package/project/.sdk/tm/go/feature/test_feature.go +44 -3
  642. package/project/.sdk/tm/go/feature/timeout_feature.go +39 -22
  643. package/project/.sdk/tm/go/feature/validate_feature.go +2 -0
  644. package/project/.sdk/tm/go/test/feature_corpus_test.go +45 -1
  645. package/project/.sdk/tm/go/test/feature_harness_test.go +1 -1
  646. package/project/.sdk/tm/go/test/feature_test.go +86 -0
  647. package/project/.sdk/tm/go/test/primary_utility_test.go +37 -1
  648. package/project/.sdk/tm/go/test/testsupport_test.go +106 -0
  649. package/project/.sdk/tm/go/utility/fetcher.go +20 -6
  650. package/project/.sdk/tm/go/utility/make_fetch_def.go +1 -7
  651. package/project/.sdk/tm/go/utility/make_options.go +12 -6
  652. package/project/.sdk/tm/go/utility/make_point.go +52 -3
  653. package/project/.sdk/tm/go/utility/make_spec.go +23 -3
  654. package/project/.sdk/tm/go/utility/make_url.go +23 -1
  655. package/project/.sdk/tm/go/utility/media.go +111 -0
  656. package/project/.sdk/tm/go/utility/param.go +61 -20
  657. package/project/.sdk/tm/go/utility/prepare_body.go +3 -0
  658. package/project/.sdk/tm/go/utility/prepare_headers.go +108 -22
  659. package/project/.sdk/tm/go/utility/prepare_query.go +25 -2
  660. package/project/.sdk/tm/go/utility/result_body.go +8 -0
  661. package/project/.sdk/tm/go/utility/transform_request.go +20 -9
  662. package/project/.sdk/tm/java/LICENSE +1 -1
  663. package/project/.sdk/tm/java/core/Context.java +1 -1
  664. package/project/.sdk/tm/java/core/Helpers.java +13 -0
  665. package/project/.sdk/tm/java/core/Response.java +61 -0
  666. package/project/.sdk/tm/java/core/SdkClient.java +21 -3
  667. package/project/.sdk/tm/java/core/SdkEntity.java +2 -0
  668. package/project/.sdk/tm/java/core/Spec.java +4 -0
  669. package/project/.sdk/tm/java/feature/TestFeature.java +46 -3
  670. package/project/.sdk/tm/java/feature/TimeoutFeature.java +51 -18
  671. package/project/.sdk/tm/java/feature/ValidateFeature.java +2 -0
  672. package/project/.sdk/tm/java/test/FeatureCorpusTest.java +93 -35
  673. package/project/.sdk/tm/java/test/FeatureHarness.java +1 -0
  674. package/project/.sdk/tm/java/test/FeatureTest.java +33 -0
  675. package/project/.sdk/tm/java/test/PipelineTest.java +4 -1
  676. package/project/.sdk/tm/java/test/RunnerSupport.java +97 -0
  677. package/project/.sdk/tm/java/utility/Clean.java +17 -7
  678. package/project/.sdk/tm/java/utility/Fetcher.java +27 -3
  679. package/project/.sdk/tm/java/utility/MakeFetchDef.java +1 -7
  680. package/project/.sdk/tm/java/utility/MakePoint.java +62 -10
  681. package/project/.sdk/tm/java/utility/MakeSpec.java +26 -1
  682. package/project/.sdk/tm/java/utility/MakeUrl.java +23 -1
  683. package/project/.sdk/tm/java/utility/Media.java +117 -0
  684. package/project/.sdk/tm/java/utility/Param.java +59 -20
  685. package/project/.sdk/tm/java/utility/PrepareBody.java +3 -0
  686. package/project/.sdk/tm/java/utility/PrepareHeaders.java +76 -18
  687. package/project/.sdk/tm/java/utility/PrepareMethod.java +2 -1
  688. package/project/.sdk/tm/java/utility/PrepareQuery.java +26 -2
  689. package/project/.sdk/tm/java/utility/ResultBody.java +5 -0
  690. package/project/.sdk/tm/java/utility/TransformRequest.java +24 -11
  691. package/project/.sdk/tm/js/LICENSE +1 -1
  692. package/project/.sdk/tm/js/src/Context.js +1 -1
  693. package/project/.sdk/tm/js/src/Control.js +1 -0
  694. package/project/.sdk/tm/js/src/Response.js +10 -1
  695. package/project/.sdk/tm/js/src/Spec.js +3 -0
  696. package/project/.sdk/tm/js/src/feature/base/BaseFeature.js +28 -0
  697. package/project/.sdk/tm/js/src/feature/netsim/NetsimFeature.js +10 -8
  698. package/project/.sdk/tm/js/src/feature/ratelimit/RatelimitFeature.js +8 -6
  699. package/project/.sdk/tm/js/src/feature/retry/RetryFeature.js +17 -4
  700. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +40 -12
  701. package/project/.sdk/tm/js/src/feature/timeout/TimeoutFeature.js +17 -3
  702. package/project/.sdk/tm/js/src/feature/validate/ValidateFeature.js +2 -0
  703. package/project/.sdk/tm/js/src/utility/CleanUtility.js +25 -1
  704. package/project/.sdk/tm/js/src/utility/FetcherUtility.js +23 -1
  705. package/project/.sdk/tm/js/src/utility/MakeErrorUtility.js +2 -2
  706. package/project/.sdk/tm/js/src/utility/MakeFetchDefUtility.js +14 -2
  707. package/project/.sdk/tm/js/src/utility/MakeOptionsUtility.js +6 -6
  708. package/project/.sdk/tm/js/src/utility/MakePointUtility.js +39 -2
  709. package/project/.sdk/tm/js/src/utility/MakeRequestUtility.js +27 -2
  710. package/project/.sdk/tm/js/src/utility/MakeResponseUtility.js +2 -1
  711. package/project/.sdk/tm/js/src/utility/MakeSpecUtility.js +14 -1
  712. package/project/.sdk/tm/js/src/utility/MakeUrlUtility.js +23 -0
  713. package/project/.sdk/tm/js/src/utility/MediaUtility.js +145 -0
  714. package/project/.sdk/tm/js/src/utility/ParamUtility.js +46 -18
  715. package/project/.sdk/tm/js/src/utility/PrepareBodyUtility.js +6 -0
  716. package/project/.sdk/tm/js/src/utility/PrepareHeadersUtility.js +55 -14
  717. package/project/.sdk/tm/js/src/utility/PrepareMethodUtility.js +9 -0
  718. package/project/.sdk/tm/js/src/utility/PrepareQueryUtility.js +23 -6
  719. package/project/.sdk/tm/js/src/utility/ResultBodyUtility.js +60 -3
  720. package/project/.sdk/tm/js/src/utility/TransformRequestUtility.js +16 -7
  721. package/project/.sdk/tm/js/test/definition-runner.js +103 -3
  722. package/project/.sdk/tm/js/test/feature/Corpus.test.js +47 -16
  723. package/project/.sdk/tm/js/test/feature/harness.js +4 -1
  724. package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +7 -7
  725. package/project/.sdk/tm/js/test/feature.test.js +134 -0
  726. package/project/.sdk/tm/js/test/live-contract.js +73 -3
  727. package/project/.sdk/tm/js/test/live-entity.js +34 -15
  728. package/project/.sdk/tm/js/test/live-runner.js +52 -7
  729. package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
  730. package/project/.sdk/tm/js/test/pipeline.test.js +52 -1
  731. package/project/.sdk/tm/js/test/utility.js +30 -4
  732. package/project/.sdk/tm/kotlin/LICENSE +1 -1
  733. package/project/.sdk/tm/kotlin/core/Context.kt +1 -1
  734. package/project/.sdk/tm/kotlin/core/Helpers.kt +8 -0
  735. package/project/.sdk/tm/kotlin/core/Interfaces.kt +2 -0
  736. package/project/.sdk/tm/kotlin/core/Response.kt +65 -0
  737. package/project/.sdk/tm/kotlin/core/SdkClient.kt +20 -3
  738. package/project/.sdk/tm/kotlin/core/Spec.kt +3 -0
  739. package/project/.sdk/tm/kotlin/feature/TestFeature.kt +23 -3
  740. package/project/.sdk/tm/kotlin/feature/TimeoutFeature.kt +42 -15
  741. package/project/.sdk/tm/kotlin/feature/ValidateFeature.kt +2 -0
  742. package/project/.sdk/tm/kotlin/test/FeatureHarness.kt +1 -1
  743. package/project/.sdk/tm/kotlin/test/FeatureTest.kt +32 -0
  744. package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +90 -0
  745. package/project/.sdk/tm/kotlin/test/ServerVariableTest.kt +50 -0
  746. package/project/.sdk/tm/kotlin/utility/CoreUtil.kt +9 -7
  747. package/project/.sdk/tm/kotlin/utility/Fetcher.kt +24 -4
  748. package/project/.sdk/tm/kotlin/utility/MakeOptions.kt +26 -0
  749. package/project/.sdk/tm/kotlin/utility/MakePoint.kt +57 -12
  750. package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +26 -7
  751. package/project/.sdk/tm/kotlin/utility/Media.kt +83 -0
  752. package/project/.sdk/tm/kotlin/utility/Prepare.kt +127 -48
  753. package/project/.sdk/tm/kotlin/utility/ResultTransform.kt +18 -7
  754. package/project/.sdk/tm/lua/LICENSE +1 -1
  755. package/project/.sdk/tm/lua/core/context.lua +1 -1
  756. package/project/.sdk/tm/lua/core/helpers.lua +103 -0
  757. package/project/.sdk/tm/lua/core/response.lua +3 -0
  758. package/project/.sdk/tm/lua/core/spec.lua +3 -0
  759. package/project/.sdk/tm/lua/feature/test_feature.lua +36 -3
  760. package/project/.sdk/tm/lua/feature/validate_feature.lua +2 -0
  761. package/project/.sdk/tm/lua/test/feature_test.lua +1 -1
  762. package/project/.sdk/tm/lua/test/runner.lua +107 -0
  763. package/project/.sdk/tm/lua/utility/fetcher.lua +9 -2
  764. package/project/.sdk/tm/lua/utility/make_fetch_def.lua +2 -6
  765. package/project/.sdk/tm/lua/utility/make_options.lua +10 -7
  766. package/project/.sdk/tm/lua/utility/make_point.lua +65 -12
  767. package/project/.sdk/tm/lua/utility/make_spec.lua +19 -4
  768. package/project/.sdk/tm/lua/utility/make_url.lua +22 -1
  769. package/project/.sdk/tm/lua/utility/media.lua +106 -0
  770. package/project/.sdk/tm/lua/utility/param.lua +5 -45
  771. package/project/.sdk/tm/lua/utility/prepare_body.lua +5 -0
  772. package/project/.sdk/tm/lua/utility/prepare_headers.lua +71 -21
  773. package/project/.sdk/tm/lua/utility/prepare_query.lua +28 -6
  774. package/project/.sdk/tm/lua/utility/result_body.lua +7 -0
  775. package/project/.sdk/tm/lua/utility/transform_request.lua +23 -10
  776. package/project/.sdk/tm/lua/utility/unreadable_body.lua +70 -0
  777. package/project/.sdk/tm/ocaml/LICENSE +1 -1
  778. package/project/.sdk/tm/ocaml/sdk_features.ml +56 -10
  779. package/project/.sdk/tm/ocaml/sdk_helpers.ml +9 -0
  780. package/project/.sdk/tm/ocaml/sdk_runtime.ml +359 -85
  781. package/project/.sdk/tm/ocaml/sdk_types.ml +6 -0
  782. package/project/.sdk/tm/ocaml/test/harness.ml +1 -1
  783. package/project/.sdk/tm/ocaml/test/t_pipeline.ml +2 -1
  784. package/project/.sdk/tm/perl/LICENSE +1 -1
  785. package/project/.sdk/tm/perl/core/context.pm +1 -1
  786. package/project/.sdk/tm/perl/core/response.pm +2 -0
  787. package/project/.sdk/tm/perl/core/spec.pm +3 -0
  788. package/project/.sdk/tm/perl/feature/test_feature.pm +26 -3
  789. package/project/.sdk/tm/perl/feature/validate_feature.pm +2 -0
  790. package/project/.sdk/tm/perl/t/feature.t +1 -1
  791. package/project/.sdk/tm/perl/t/feature_corpus.t +72 -33
  792. package/project/.sdk/tm/perl/t/runner.pm +86 -0
  793. package/project/.sdk/tm/perl/t/server_variables.t +39 -0
  794. package/project/.sdk/tm/perl/utility/clean.pm +12 -7
  795. package/project/.sdk/tm/perl/utility/fetcher.pm +32 -19
  796. package/project/.sdk/tm/perl/utility/make_fetch_def.pm +4 -4
  797. package/project/.sdk/tm/perl/utility/make_options.pm +24 -0
  798. package/project/.sdk/tm/perl/utility/make_point.pm +55 -9
  799. package/project/.sdk/tm/perl/utility/make_spec.pm +27 -3
  800. package/project/.sdk/tm/perl/utility/make_url.pm +13 -1
  801. package/project/.sdk/tm/perl/utility/media.pm +109 -0
  802. package/project/.sdk/tm/perl/utility/param.pm +50 -24
  803. package/project/.sdk/tm/perl/utility/prepare_body.pm +11 -3
  804. package/project/.sdk/tm/perl/utility/prepare_headers.pm +63 -16
  805. package/project/.sdk/tm/perl/utility/prepare_method.pm +13 -0
  806. package/project/.sdk/tm/perl/utility/prepare_query.pm +18 -4
  807. package/project/.sdk/tm/perl/utility/result_body.pm +60 -0
  808. package/project/.sdk/tm/perl/utility/transform_request.pm +23 -8
  809. package/project/.sdk/tm/php/LICENSE +1 -1
  810. package/project/.sdk/tm/php/core/Context.php +1 -1
  811. package/project/.sdk/tm/php/core/Response.php +3 -0
  812. package/project/.sdk/tm/php/core/Spec.php +4 -0
  813. package/project/.sdk/tm/php/feature/CostFeature.php +2 -7
  814. package/project/.sdk/tm/php/feature/TestFeature.php +33 -3
  815. package/project/.sdk/tm/php/feature/ValidateFeature.php +14 -12
  816. package/project/.sdk/tm/php/test/FeatureCorpusTest.php +90 -35
  817. package/project/.sdk/tm/php/test/FeatureTest.php +4 -5
  818. package/project/.sdk/tm/php/test/PipelineTest.php +18 -1
  819. package/project/.sdk/tm/php/test/Runner.php +86 -0
  820. package/project/.sdk/tm/php/utility/Clean.php +10 -5
  821. package/project/.sdk/tm/php/utility/Fetcher.php +48 -6
  822. package/project/.sdk/tm/php/utility/MakeFetchDef.php +2 -1
  823. package/project/.sdk/tm/php/utility/MakePoint.php +55 -11
  824. package/project/.sdk/tm/php/utility/MakeSpec.php +21 -4
  825. package/project/.sdk/tm/php/utility/MakeUrl.php +16 -1
  826. package/project/.sdk/tm/php/utility/Media.php +111 -0
  827. package/project/.sdk/tm/php/utility/Param.php +66 -27
  828. package/project/.sdk/tm/php/utility/PrepareBody.php +5 -0
  829. package/project/.sdk/tm/php/utility/PrepareHeaders.php +83 -23
  830. package/project/.sdk/tm/php/utility/PrepareMethod.php +15 -0
  831. package/project/.sdk/tm/php/utility/PrepareQuery.php +22 -8
  832. package/project/.sdk/tm/php/utility/ResultBody.php +71 -0
  833. package/project/.sdk/tm/php/utility/TransformRequest.php +22 -11
  834. package/project/.sdk/tm/py/LICENSE +1 -1
  835. package/project/.sdk/tm/py/pkg/core/context.py +1 -1
  836. package/project/.sdk/tm/py/pkg/core/response.py +3 -0
  837. package/project/.sdk/tm/py/pkg/core/spec.py +3 -0
  838. package/project/.sdk/tm/py/pkg/feature/test_feature.py +27 -3
  839. package/project/.sdk/tm/py/pkg/feature/validate_feature.py +2 -0
  840. package/project/.sdk/tm/py/pkg/utility/fetcher.py +17 -7
  841. package/project/.sdk/tm/py/pkg/utility/make_fetch_def.py +2 -5
  842. package/project/.sdk/tm/py/pkg/utility/make_options.py +14 -8
  843. package/project/.sdk/tm/py/pkg/utility/make_point.py +40 -4
  844. package/project/.sdk/tm/py/pkg/utility/make_spec.py +12 -4
  845. package/project/.sdk/tm/py/pkg/utility/make_url.py +19 -1
  846. package/project/.sdk/tm/py/pkg/utility/media.py +88 -0
  847. package/project/.sdk/tm/py/pkg/utility/param.py +47 -18
  848. package/project/.sdk/tm/py/pkg/utility/prepare_body.py +4 -0
  849. package/project/.sdk/tm/py/pkg/utility/prepare_headers.py +56 -20
  850. package/project/.sdk/tm/py/pkg/utility/prepare_method.py +7 -0
  851. package/project/.sdk/tm/py/pkg/utility/prepare_query.py +17 -8
  852. package/project/.sdk/tm/py/pkg/utility/result_body.py +51 -0
  853. package/project/.sdk/tm/py/pkg/utility/transform_request.py +18 -9
  854. package/project/.sdk/tm/py/test/feature_harness.py +1 -1
  855. package/project/.sdk/tm/py/test/runner.py +77 -2
  856. package/project/.sdk/tm/py/test/test_feature_corpus.py +69 -32
  857. package/project/.sdk/tm/py-data/LICENSE +1 -1
  858. package/project/.sdk/tm/py-data/Makefile +2 -2
  859. package/project/.sdk/tm/rb/LICENSE +1 -1
  860. package/project/.sdk/tm/rb/core/context.rb +1 -1
  861. package/project/.sdk/tm/rb/core/response.rb +3 -1
  862. package/project/.sdk/tm/rb/core/spec.rb +4 -1
  863. package/project/.sdk/tm/rb/feature/test_feature.rb +27 -8
  864. package/project/.sdk/tm/rb/feature/validate_feature.rb +3 -1
  865. package/project/.sdk/tm/rb/test/feature_corpus_test.rb +74 -30
  866. package/project/.sdk/tm/rb/test/feature_test.rb +1 -1
  867. package/project/.sdk/tm/rb/test/runner.rb +54 -2
  868. package/project/.sdk/tm/rb/utility/clean.rb +14 -6
  869. package/project/.sdk/tm/rb/utility/fetcher.rb +22 -14
  870. package/project/.sdk/tm/rb/utility/make_fetch_def.rb +2 -4
  871. package/project/.sdk/tm/rb/utility/make_point.rb +44 -8
  872. package/project/.sdk/tm/rb/utility/make_spec.rb +14 -2
  873. package/project/.sdk/tm/rb/utility/make_url.rb +13 -1
  874. package/project/.sdk/tm/rb/utility/media.rb +75 -0
  875. package/project/.sdk/tm/rb/utility/param.rb +44 -25
  876. package/project/.sdk/tm/rb/utility/prepare_body.rb +4 -1
  877. package/project/.sdk/tm/rb/utility/prepare_headers.rb +50 -16
  878. package/project/.sdk/tm/rb/utility/prepare_method.rb +6 -0
  879. package/project/.sdk/tm/rb/utility/prepare_query.rb +12 -4
  880. package/project/.sdk/tm/rb/utility/result_body.rb +45 -0
  881. package/project/.sdk/tm/rb/utility/transform_request.rb +17 -7
  882. package/project/.sdk/tm/rust/LICENSE +1 -1
  883. package/project/.sdk/tm/rust/core/context.rs +1 -1
  884. package/project/.sdk/tm/rust/core/helpers.rs +10 -0
  885. package/project/.sdk/tm/rust/core/response.rs +80 -1
  886. package/project/.sdk/tm/rust/core/spec.rs +4 -0
  887. package/project/.sdk/tm/rust/core/types.rs +1 -0
  888. package/project/.sdk/tm/rust/feature/test.rs +29 -2
  889. package/project/.sdk/tm/rust/feature/validate.rs +2 -0
  890. package/project/.sdk/tm/rust/tests/common/mod.rs +108 -1
  891. package/project/.sdk/tm/rust/utility/clean.rs +0 -2
  892. package/project/.sdk/tm/rust/utility/fetcher.rs +19 -11
  893. package/project/.sdk/tm/rust/utility/make_fetch_def.rs +12 -1
  894. package/project/.sdk/tm/rust/utility/make_options.rs +6 -5
  895. package/project/.sdk/tm/rust/utility/make_point.rs +80 -16
  896. package/project/.sdk/tm/rust/utility/make_spec.rs +23 -4
  897. package/project/.sdk/tm/rust/utility/make_url.rs +39 -2
  898. package/project/.sdk/tm/rust/utility/media.rs +116 -0
  899. package/project/.sdk/tm/rust/utility/mod.rs +1 -0
  900. package/project/.sdk/tm/rust/utility/param.rs +66 -19
  901. package/project/.sdk/tm/rust/utility/prepare_body.rs +4 -0
  902. package/project/.sdk/tm/rust/utility/prepare_headers.rs +85 -28
  903. package/project/.sdk/tm/rust/utility/prepare_query.rs +27 -5
  904. package/project/.sdk/tm/rust/utility/result_body.rs +15 -2
  905. package/project/.sdk/tm/rust/utility/transform_request.rs +27 -14
  906. package/project/.sdk/tm/scala/LICENSE +1 -1
  907. package/project/.sdk/tm/scala/Makefile +3 -1
  908. package/project/.sdk/tm/scala/core/Context.scala +1 -1
  909. package/project/.sdk/tm/scala/core/Contracts.scala +1 -0
  910. package/project/.sdk/tm/scala/core/Helpers.scala +7 -0
  911. package/project/.sdk/tm/scala/core/Response.scala +55 -0
  912. package/project/.sdk/tm/scala/core/SdkClient.scala +18 -5
  913. package/project/.sdk/tm/scala/core/Spec.scala +3 -0
  914. package/project/.sdk/tm/scala/feature/TestFeature.scala +36 -3
  915. package/project/.sdk/tm/scala/feature/TimeoutFeature.scala +39 -13
  916. package/project/.sdk/tm/scala/feature/ValidateFeature.scala +2 -0
  917. package/project/.sdk/tm/scala/sdktest/SdkTestMain.scala +16 -1
  918. package/project/.sdk/tm/scala/sdktest/ServerVariableTest.scala +49 -0
  919. package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +1 -0
  920. package/project/.sdk/tm/scala/utility/Fetcher.scala +17 -2
  921. package/project/.sdk/tm/scala/utility/Make.scala +141 -43
  922. package/project/.sdk/tm/scala/utility/MakeSpec.scala +20 -2
  923. package/project/.sdk/tm/scala/utility/Media.scala +96 -0
  924. package/project/.sdk/tm/scala/utility/Misc.scala +56 -23
  925. package/project/.sdk/tm/scala/utility/Prepare.scala +84 -31
  926. package/project/.sdk/tm/scala/utility/Results.scala +5 -0
  927. package/project/.sdk/tm/scala/utility/Transform.scala +15 -19
  928. package/project/.sdk/tm/swift/LICENSE +1 -1
  929. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Context.swift +1 -1
  930. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Response.swift +57 -0
  931. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Spec.swift +3 -0
  932. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Support.swift +8 -0
  933. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +34 -3
  934. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TimeoutFeature.swift +19 -3
  935. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/ValidateFeature.swift +2 -0
  936. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Fetcher.swift +21 -12
  937. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Make.swift +85 -18
  938. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +73 -7
  939. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Media.swift +76 -0
  940. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +118 -43
  941. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/ResultUtil.swift +18 -8
  942. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/FeatureTest.swift +31 -1
  943. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +6 -0
  944. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/ServerVariableTest.swift +42 -0
  945. package/project/.sdk/tm/ts/LICENSE +1 -1
  946. package/project/.sdk/tm/ts/src/Context.ts +1 -1
  947. package/project/.sdk/tm/ts/src/Control.ts +3 -0
  948. package/project/.sdk/tm/ts/src/Response.ts +10 -1
  949. package/project/.sdk/tm/ts/src/Spec.ts +4 -0
  950. package/project/.sdk/tm/ts/src/feature/base/BaseFeature.ts +28 -0
  951. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +10 -8
  952. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +8 -6
  953. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +17 -4
  954. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +41 -13
  955. package/project/.sdk/tm/ts/src/feature/timeout/TimeoutFeature.ts +17 -3
  956. package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +2 -0
  957. package/project/.sdk/tm/ts/src/tsconfig.json +2 -1
  958. package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +25 -1
  959. package/project/.sdk/tm/ts/src/utility/FetcherUtility.ts +24 -1
  960. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +2 -2
  961. package/project/.sdk/tm/ts/src/utility/MakeFetchDefUtility.ts +15 -2
  962. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +6 -6
  963. package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +38 -2
  964. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +29 -2
  965. package/project/.sdk/tm/ts/src/utility/MakeResponseUtility.ts +3 -1
  966. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +16 -6
  967. package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +16 -2
  968. package/project/.sdk/tm/ts/src/utility/MediaUtility.ts +143 -0
  969. package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +50 -18
  970. package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +6 -0
  971. package/project/.sdk/tm/ts/src/utility/PrepareHeadersUtility.ts +53 -11
  972. package/project/.sdk/tm/ts/src/utility/PrepareMethodUtility.ts +9 -0
  973. package/project/.sdk/tm/ts/src/utility/PrepareQueryUtility.ts +22 -6
  974. package/project/.sdk/tm/ts/src/utility/ResultBodyUtility.ts +68 -3
  975. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +16 -6
  976. package/project/.sdk/tm/ts/test/definition-runner.ts +109 -3
  977. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +47 -16
  978. package/project/.sdk/tm/ts/test/feature/harness.ts +4 -1
  979. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +1 -1
  980. package/project/.sdk/tm/ts/test/feature.test.ts +134 -0
  981. package/project/.sdk/tm/ts/test/live-contract.ts +60 -2
  982. package/project/.sdk/tm/ts/test/live-entity.ts +36 -12
  983. package/project/.sdk/tm/ts/test/live-runner.ts +79 -12
  984. package/project/.sdk/tm/ts/test/live-scenarios.ts +5 -4
  985. package/project/.sdk/tm/ts/test/pipeline.test.ts +52 -1
  986. package/project/.sdk/tm/ts/test/tsconfig.json +2 -1
  987. package/project/.sdk/tm/ts/test/utility.ts +35 -7
  988. package/project/.sdk/tm/zig/LICENSE +1 -1
  989. package/project/.sdk/tm/zig/core/context.zig +2 -1
  990. package/project/.sdk/tm/zig/core/helpers.zig +33 -0
  991. package/project/.sdk/tm/zig/core/response.zig +3 -0
  992. package/project/.sdk/tm/zig/core/spec.zig +27 -0
  993. package/project/.sdk/tm/zig/core/types.zig +6 -0
  994. package/project/.sdk/tm/zig/core/utility.zig +456 -84
  995. package/project/.sdk/tm/zig/feature/test.zig +31 -2
  996. package/project/.sdk/tm/zig/feature/validate.zig +2 -0
  997. package/project/.sdk/tm/zig/test/fh.zig +1 -1
  998. package/project/sdkgen-package.json +1 -1
  999. package/src/action/copies.ts +352 -0
  1000. package/src/action/doctor.ts +257 -21
  1001. package/src/action/edition.ts +10 -2
  1002. package/src/action/feature.ts +11 -2
  1003. package/src/action/package.ts +43 -14
  1004. package/src/action/remove.ts +4 -0
  1005. package/src/action/resolve.ts +57 -3
  1006. package/src/action/target.ts +10 -2
  1007. package/src/admin/npm-trust.ts +9 -8
  1008. package/src/cmp/AgentGuide.ts +4 -3
  1009. package/src/cmp/AgentGuideFeature.ts +3 -2
  1010. package/src/cmp/AgentGuideTop.ts +2 -1
  1011. package/src/cmp/Changelog.ts +2 -1
  1012. package/src/cmp/Deploy.ts +2 -1
  1013. package/src/cmp/Entity.ts +1 -3
  1014. package/src/cmp/ExternalTarget.ts +2 -1
  1015. package/src/cmp/Feature.ts +2 -1
  1016. package/src/cmp/FeatureHook.ts +2 -1
  1017. package/src/cmp/License.ts +7 -5
  1018. package/src/cmp/Main.ts +2 -1
  1019. package/src/cmp/PublishWorkflow.ts +2 -1
  1020. package/src/cmp/Readme.ts +2 -1
  1021. package/src/cmp/ReadmeEntity.ts +3 -3
  1022. package/src/cmp/ReadmeErrors.ts +6 -4
  1023. package/src/cmp/ReadmeExplanation.ts +4 -3
  1024. package/src/cmp/ReadmeFeatures.ts +4 -3
  1025. package/src/cmp/ReadmeHowto.ts +4 -3
  1026. package/src/cmp/ReadmeInstall.ts +4 -3
  1027. package/src/cmp/ReadmeIntro.ts +3 -3
  1028. package/src/cmp/ReadmeModel.ts +6 -3
  1029. package/src/cmp/ReadmeOptions.ts +3 -3
  1030. package/src/cmp/ReadmeQuick.ts +4 -3
  1031. package/src/cmp/ReadmeRef.ts +3 -3
  1032. package/src/cmp/ReadmeRefFeatures.ts +2 -1
  1033. package/src/cmp/ReadmeStation.ts +2 -1
  1034. package/src/cmp/ReadmeTop.ts +121 -37
  1035. package/src/cmp/ReadmeUnions.ts +2 -1
  1036. package/src/cmp/Registered.ts +4 -4
  1037. package/src/cmp/Security.ts +14 -7
  1038. package/src/cmp/Test.ts +2 -1
  1039. package/src/cmp/TestControl.ts +1 -1
  1040. package/src/helpers/component.ts +25 -0
  1041. package/src/helpers/definition.ts +2 -2
  1042. package/src/helpers/definitionPlan.ts +135 -13
  1043. package/src/helpers/featureSource.ts +55 -2
  1044. package/src/helpers/flowGuard.ts +111 -0
  1045. package/src/helpers/generated.ts +488 -0
  1046. package/src/helpers/mcpTools.ts +47 -0
  1047. package/src/helpers/media.ts +79 -0
  1048. package/src/helpers/modelNames.ts +186 -16
  1049. package/src/helpers/naming.ts +188 -0
  1050. package/src/helpers/npm.ts +68 -0
  1051. package/src/helpers/npmScripts.ts +37 -0
  1052. package/src/helpers/opExample.ts +19 -11
  1053. package/src/helpers/opShape.ts +235 -29
  1054. package/src/helpers/optional.ts +76 -0
  1055. package/src/helpers/packageMeta.ts +83 -11
  1056. package/src/helpers/stdrep.ts +5 -1
  1057. package/src/helpers/testPolicy.ts +68 -1
  1058. package/src/helpers/text.ts +33 -0
  1059. package/src/sdkgen.ts +142 -19
  1060. package/src/testkit.ts +2 -1
  1061. package/src/utility.ts +41 -19
  1062. package/project/.sdk/src/cmp/go/fragment/SdkError.fragment.go +0 -22
  1063. package/project/.sdk/src/cmp/lua/fragment/SdkError.fragment.lua +0 -38
  1064. package/project/.sdk/src/cmp/perl/fragment/SdkError.fragment.pm +0 -27
  1065. package/project/.sdk/src/cmp/php/fragment/SdkError.fragment.php +0 -35
  1066. package/project/.sdk/src/cmp/py/fragment/SdkError.fragment.py +0 -27
  1067. package/project/.sdk/src/cmp/rb/fragment/SdkError.fragment.rb +0 -25
@@ -87,7 +87,7 @@ func prepareAuthUtil(ctx *core.Context) (*core.Spec, error) {
87
87
  import (
88
88
  ${withBasic ? ` "encoding/base64"
89
89
 
90
- ` : ''}${'cookie' === spec.where ? ` "strings"
90
+ ` : ''}${'query' !== spec.where ? ` "strings"
91
91
 
92
92
  ` : ''} vs "${spec.gomodule}/utility/struct"
93
93
 
@@ -100,6 +100,14 @@ ${'cookie' === spec.where ? `const cookieHeader = "cookie"
100
100
  ${withBasic ? `const optionSecret = "secret"
101
101
  ` : ''}const notFound = "__NOTFOUND__"
102
102
 
103
+ // The client's auth.name option, when set, replaces the name the API declares.
104
+ func authName(options map[string]any) string {
105
+ if name, ok := vs.GetPath(options, []any{"auth", "name"}).(string); ok && name != "" {
106
+ return ${caseFold(spec.where, 'name')}
107
+ }
108
+ return credName
109
+ }
110
+
103
111
  ${cookieHelper(spec.where)}func prepareAuthUtil(ctx *core.Context) (*core.Spec, error) {
104
112
  spec := ctx.Spec
105
113
  if spec == nil {
@@ -112,10 +120,17 @@ ${cookieHelper(spec.where)}func prepareAuthUtil(ctx *core.Context) (*core.Spec,
112
120
 
113
121
  // Public APIs that need no auth omit the options.auth block entirely.
114
122
  if options["auth"] == nil {
115
- ${clear(spec.where)}
123
+ ${clear(spec.where, 'credName')}
116
124
  return spec, nil
117
125
  }
118
126
 
127
+ name := authName(options)
128
+
129
+ // A credential left under the declared name would travel beside the renamed one.
130
+ if name != credName {
131
+ ${clear(spec.where, 'credName')}
132
+ }
133
+
119
134
  apikey := vs.GetProp(options, optionApikey, notFound)
120
135
 
121
136
  skip := false
@@ -142,7 +157,7 @@ ${cookieHelper(spec.where)}func prepareAuthUtil(ctx *core.Context) (*core.Spec,
142
157
  }
143
158
 
144
159
  if skip {
145
- ${clear(spec.where)}
160
+ ${clear(spec.where, 'name')}
146
161
  } else {
147
162
  apikeyVal, _ := apikey.(string)
148
163
  b64 := base64.StdEncoding.EncodeToString([]byte(apikeyVal + ":" + secretVal))
@@ -156,9 +171,9 @@ ${cookieHelper(spec.where)}func prepareAuthUtil(ctx *core.Context) (*core.Spec,
156
171
  }
157
172
  // Empty prefix (raw apiKey credential) must not add a leading space.
158
173
  if basicPrefix == "" {
159
- ${bagName(spec.where)}[credName] = b64
174
+ ${bagName(spec.where)}[name] = b64
160
175
  } else {
161
- ${bagName(spec.where)}[credName] = basicPrefix + " " + b64
176
+ ${bagName(spec.where)}[name] = basicPrefix + " " + b64
162
177
  }
163
178
  }
164
179
 
@@ -168,9 +183,9 @@ ${cookieHelper(spec.where)}func prepareAuthUtil(ctx *core.Context) (*core.Spec,
168
183
 
169
184
  return head + basicBlock + `
170
185
  if skip {
171
- ${clear(spec.where)}
186
+ ${clear(spec.where, 'name')}
172
187
  } else {
173
- ${place(spec.where)}
188
+ ${place(spec.where, 'name')}
174
189
  }
175
190
 
176
191
  return spec, nil
@@ -196,14 +211,20 @@ function bagField(where: string): string {
196
211
  }
197
212
 
198
213
 
214
+ // Header names travel lower-cased; query and cookie names are case-sensitive.
215
+ function caseFold(where: string, expr: string): string {
216
+ return 'header' === where ? 'strings.ToLower(' + expr + ')' : expr
217
+ }
218
+
219
+
199
220
  // A cookie has no header of its own: place() writes it into `cookie` as
200
- // `credName=value`, so clear() must free that slot, not credName.
201
- function clear(where: string): string {
221
+ // `name=value`, so clear() frees that pair, not a header of that name.
222
+ function clear(where: string, name: string): string {
202
223
  if ('cookie' === where) {
203
- return `cookieSet(headers, nil)`
224
+ return `cookieSet(headers, ${name}, nil)`
204
225
  }
205
226
 
206
- return `delete(${bagName(where)}, credName)`
227
+ return `delete(${bagName(where)}, ${name})`
207
228
  }
208
229
 
209
230
 
@@ -212,23 +233,16 @@ function cookieHelper(where: string): string {
212
233
  return ''
213
234
  }
214
235
 
215
- return `func cookieSet(headers map[string]any, value any) {
236
+ return `func cookieSet(headers map[string]any, name string, value any) {
216
237
  kept := []string{}
217
238
 
218
239
  if existing, ok := headers[cookieHeader].(string); ok && existing != "" {
219
- for _, part := range strings.Split(existing, ";") {
220
- piece := strings.TrimSpace(part)
221
- if piece == "" || piece == credName ||
222
- strings.HasPrefix(piece, credName+"=") {
223
- continue
224
- }
225
- kept = append(kept, piece)
226
- }
240
+ kept = cookieKeep(existing, map[string]bool{name: true})
227
241
  }
228
242
 
229
243
  if value != nil {
230
244
  valStr, _ := value.(string)
231
- kept = append(kept, credName+"="+valStr)
245
+ kept = append(kept, name+"="+valStr)
232
246
  }
233
247
 
234
248
  if len(kept) == 0 {
@@ -242,13 +256,13 @@ function cookieHelper(where: string): string {
242
256
  }
243
257
 
244
258
 
245
- function place(where: string): string {
259
+ function place(where: string, name: string): string {
246
260
  if ('query' === where) {
247
261
  return ` apikeyVal := ""
248
262
  if av, ok := apikey.(string); ok {
249
263
  apikeyVal = av
250
264
  }
251
- query[credName] = apikeyVal`
265
+ query[${name}] = apikeyVal`
252
266
  }
253
267
 
254
268
  if ('cookie' === where) {
@@ -256,7 +270,7 @@ function place(where: string): string {
256
270
  if av, ok := apikey.(string); ok {
257
271
  apikeyVal = av
258
272
  }
259
- cookieSet(headers, apikeyVal)`
273
+ cookieSet(headers, ${name}, apikeyVal)`
260
274
  }
261
275
 
262
276
  return ` authPrefix := ""
@@ -269,9 +283,9 @@ function place(where: string): string {
269
283
  }
270
284
  // Empty prefix (raw apiKey credential) must not add a leading space.
271
285
  if authPrefix == "" {
272
- headers[credName] = apikeyVal
286
+ headers[${name}] = apikeyVal
273
287
  } else {
274
- headers[credName] = authPrefix + " " + apikeyVal
288
+ headers[${name}] = authPrefix + " " + apikeyVal
275
289
  }`
276
290
  }
277
291
 
@@ -17,6 +17,7 @@ const OP_DESC: Record<string, { method: string, desc: string }> = {
17
17
  list: { method: 'List(match, ctrl)', desc: 'List entities matching the criteria.' },
18
18
  create: { method: 'Create(data, ctrl)', desc: 'Create a new entity with the given data.' },
19
19
  update: { method: 'Update(data, ctrl)', desc: 'Update an existing entity.' },
20
+ patch: { method: 'Patch(data, ctrl)', desc: 'Change part of an existing entity.' },
20
21
  remove: { method: 'Remove(match, ctrl)', desc: 'Remove the matching entity.' },
21
22
  }
22
23
 
@@ -31,6 +31,7 @@ import (
31
31
  "os"
32
32
  "os/exec"
33
33
  "path/filepath"
34
+ "regexp"
34
35
  "runtime"
35
36
  "strconv"
36
37
  "strings"
@@ -53,6 +54,10 @@ const testSeed = \`${goSeed}\`
53
54
  // seedRef is how a snippet names the shared fixture; seedFile declares it.
54
55
  const seedRef = "readmeTestSeed"
55
56
 
57
+ // The client variable, not the word: an import path carries the word between
58
+ // hyphens (github.com/voxgig-sdk/multifon-client-sdk/go).
59
+ var clientVar = regexp.MustCompile(\`(^|[^\\w.\\-/"])client([^\\w\\-/"]|$)\`)
60
+
56
61
  func seedFile(pkg string) []byte {
57
62
  return []byte("package " + pkg + "\\n\\nvar " + seedRef + " = " + testSeed + "\\n")
58
63
  }
@@ -524,7 +529,7 @@ func wrapFragment(name, block, modulePath string) string {
524
529
  }
525
530
 
526
531
  declaresClient := strings.Contains(block, "client :=")
527
- injectClient := !declaresClient && strings.Contains(block, "client")
532
+ injectClient := !declaresClient && clientVar.MatchString(block)
528
533
 
529
534
  needSdk := injectClient || strings.Contains(block, "sdk.")
530
535
  usesFmt := strings.Contains(block, "fmt.")
@@ -48,7 +48,7 @@ const ReadmeHowto = cmp(function ReadmeHowto(props: any) {
48
48
  testArg = 0 < items.length
49
49
  ? `map[string]any{${items.map((it: any) => `"${it.name}": ${it.name === idF ? '"test01"' : goLit(it.type)}`).join(', ')}}`
50
50
  : 'nil'
51
- } else if (exampleEntity && ('create' === primaryOp || 'update' === primaryOp)) {
51
+ } else if (exampleEntity && ('create' === primaryOp || 'update' === primaryOp || 'patch' === primaryOp)) {
52
52
  const items = opRequestShape(exampleEntity, primaryOp).items
53
53
  .filter((it: any) => it.name !== idF && it.name !== 'id')
54
54
  const required = items.filter((it: any) => !it.optional)
@@ -10,14 +10,14 @@ const ReadmeInstall = cmp(function ReadmeInstall(props: any) {
10
10
  const gomodule = packageName(model, target.name)
11
11
  // `repo` is the directory a `git clone` of this project creates — not
12
12
  // `<slug>-sdk`, which is only the DEFAULT repo name.
13
- const { releasesUrl, repo } = repoInfo(model)
13
+ const { hostName, tagsUrl, repo } = repoInfo(model)
14
14
 
15
15
  Content(`\`\`\`bash
16
16
  go get ${gomodule}@latest
17
17
  \`\`\`
18
18
 
19
- The Go module proxy resolves the version from the \`go/vX.Y.Z\` GitHub
20
- release tag — see [Releases](${releasesUrl}) for the available versions.
19
+ The Go module proxy resolves the version from the \`go/vX.Y.Z\` ${hostName}
20
+ release tag — see [Tags](${tagsUrl}) for the available versions.
21
21
 
22
22
  To vendor from a local checkout instead, clone this repo alongside your
23
23
  project and add a \`replace\` directive pointing at the checked-out
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content } from '@voxgig/sdkgen'
2
+ import { cmp, Content, modelText } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -10,7 +10,7 @@ import {
10
10
 
11
11
  const ReadmeIntro = cmp(function ReadmeIntro(props: any) {
12
12
  const { target, ctx$: { model } } = props
13
- const info = (model.main && model.main.kit && model.main.kit.info) || {}
13
+ const info = modelText(model)
14
14
  const tagline = info.tagline || ''
15
15
 
16
16
  // Derive a real entity accessor from the model for the semantic-entity
@@ -23,7 +23,7 @@ const ReadmeIntro = cmp(function ReadmeIntro(props: any) {
23
23
  // expose (a read-only entity has just List+Load); never claim
24
24
  // Create/Update/Remove exist when no entity has them. Go method names are
25
25
  // capitalised, so present the ops that way.
26
- const CANON_OPS = ['list', 'load', 'create', 'update', 'remove']
26
+ const CANON_OPS = ['list', 'load', 'create', 'update', 'patch', 'remove']
27
27
  const cap = (o: string) => o.charAt(0).toUpperCase() + o.slice(1)
28
28
  const opSet = new Set<string>()
29
29
  Object.values(entity || {}).forEach((e: any) => {
@@ -28,12 +28,13 @@ const ReadmeModel = cmp(function ReadmeModel(props: any) {
28
28
  list: '| `List` | `(reqmatch, ctrl map[string]any) (any, error)` | List entities matching the criteria. |',
29
29
  create: '| `Create` | `(reqdata, ctrl map[string]any) (any, error)` | Create a new entity. |',
30
30
  update: '| `Update` | `(reqdata, ctrl map[string]any) (any, error)` | Update an existing entity. |',
31
+ patch: '| `Patch` | `(reqdata, ctrl map[string]any) (any, error)` | Change part of an existing entity. |',
31
32
  remove: '| `Remove` | `(reqmatch, ctrl map[string]any) (any, error)` | Remove an entity. |',
32
33
  }
33
- const opRows = ['load', 'list', 'create', 'update', 'remove']
34
+ const opRows = ['load', 'list', 'create', 'update', 'patch', 'remove']
34
35
  .filter((o) => opUnion.has(o)).map((o) => opRowDefs[o]).join('\n')
35
36
 
36
- const recordOps = ['load', 'create', 'update', 'remove'].filter((o) => opUnion.has(o))
37
+ const recordOps = ['load', 'create', 'update', 'patch', 'remove'].filter((o) => opUnion.has(o))
37
38
  .map((o) => '`' + o.charAt(0).toUpperCase() + o.slice(1) + '`')
38
39
  const resultRows: string[] = []
39
40
  if (recordOps.length) resultRows.push('| ' + recordOps.join(' / ') + ' | the entity record (`map[string]any`) |')
@@ -130,6 +130,20 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
130
130
  usesFmt = true
131
131
  }
132
132
 
133
+ if (opnames.includes('patch')) {
134
+ const patchMembers = (idF
135
+ ? [`"${idF}": ${exampleValue(exampleEntity, exampleEntity.op.patch, idF, 'example_id')}`]
136
+ : []).concat(exampleFields('patch'))
137
+ body.push(` // Patch a ${eLower}: only the fields given are sent.`)
138
+ body.push(` patched, err := client.${eName}(nil).Patch(map[string]any{${patchMembers.join(', ')}}, nil)`)
139
+ body.push(` if err != nil {`)
140
+ body.push(` panic(err)`)
141
+ body.push(` }`)
142
+ body.push(` fmt.Println(patched)`)
143
+ body.push(``)
144
+ usesFmt = true
145
+ }
146
+
133
147
  if (opnames.includes('remove')) {
134
148
  body.push(` // Remove a ${eLower}.`)
135
149
  body.push(` removed, err := client.${eName}(nil).Remove(${matchArg('remove')}, nil)`)
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, File, isAuthActive, entityIdField, entityOps, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, File, isAuthActive, entityIdField, entityOps, opRequestShape , targetFeatures, bodyNote } from '@voxgig/sdkgen'
3
3
  import { ReadmeRefFeatures } from '@voxgig/sdkgen'
4
4
 
5
5
  import {
@@ -31,6 +31,12 @@ const OP_SIGNATURES: Record<string, { sig: string, returns: string, desc: string
31
31
  returns: '(any, error)',
32
32
  desc: 'Update an existing entity. The data must include the entity `id`.',
33
33
  },
34
+ patch: {
35
+ sig: 'Patch(reqdata, ctrl map[string]any) (any, error)',
36
+ returns: '(any, error)',
37
+ desc: 'Change part of an existing entity: only the fields given are sent. ' +
38
+ 'The data must include the entity `id`.',
39
+ },
34
40
  remove: {
35
41
  sig: 'Remove(reqmatch, ctrl map[string]any) (any, error)',
36
42
  returns: '(any, error)',
@@ -210,7 +216,7 @@ fmt.Println(${eVar}.GetName()) // "${ent.name}"
210
216
  // Only emit columns for operations this entity actually exposes —
211
217
  // never advertise a create/update/remove column the entity lacks
212
218
  // (opnames already carries active ops only).
213
- const opcols = ['load', 'list', 'create', 'update', 'remove']
219
+ const opcols = ['load', 'list', 'create', 'update', 'patch', 'remove']
214
220
  .filter((op: string) => opnames.includes(op))
215
221
  Content(`### Field Usage by Operation
216
222
 
@@ -312,20 +318,20 @@ fmt.Println(result)
312
318
 
313
319
  `)
314
320
  }
315
- else if ('update' === opname) {
321
+ else if ('update' === opname || 'patch' === opname) {
316
322
  // The id key plus every REQUIRED data member — the same shape
317
323
  // that generates the op's request data — then the patch-fields
318
324
  // note.
319
- const updateItems = opRequestShape(ent, 'update').items
325
+ const updateItems = opRequestShape(ent, opname).items
320
326
  .filter((it: any) => !it.optional || it.name === idF)
321
327
  .sort((a: any, b: any) =>
322
328
  (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
323
329
  const updateLines = updateItems.map((it: any) =>
324
- ` "${it.name}": ${exampleValue(ent, ent.op && ent.op.update, it.name,
330
+ ` "${it.name}": ${exampleValue(ent, ent.op && ent.op[opname], it.name,
325
331
  it.name === idF ? ent.name + '_id' : it.name)},\n`).join('')
326
332
  Content(`\`\`\`go
327
- result, err := client.${ent.Name}(nil).Update(map[string]any{
328
- ${updateLines} // Fields to update
333
+ result, err := client.${ent.Name}(nil).${'patch' === opname ? 'Patch' : 'Update'}(map[string]any{
334
+ ${updateLines} // ${'patch' === opname ? 'Only the fields to change' : 'Fields to update'}
329
335
  }, nil)
330
336
  if err != nil {
331
337
  panic(err)
@@ -335,6 +341,14 @@ fmt.Println(result)
335
341
 
336
342
  `)
337
343
  }
344
+
345
+ if ('create' === opname || 'update' === opname || 'patch' === opname) {
346
+ const note = bodyNote(ent.op[opname], {
347
+ values: 'a `[]byte`, a `string` or an `io.Reader`',
348
+ once: 'an `io.Reader`',
349
+ })
350
+ if ('' !== note) Content(note)
351
+ }
338
352
  })
339
353
  }
340
354
 
@@ -356,6 +370,14 @@ Get or set the entity match criteria. Works the same as \`Data()\`.
356
370
  Create a new \`${ent.Name}Entity\` instance with the same client and
357
371
  options.
358
372
 
373
+ #### \`Stream(action string, args map[string]any, callopts map[string]any) <-chan StreamItem\`
374
+
375
+ Run an operation through the pipeline and send its result items on the
376
+ returned channel, which closes when the stream ends. A \`StreamItem\` holds
377
+ one item in \`Item\`, or in \`Err\` the error that ended the stream: the
378
+ error the operation itself would return, sent as the last value. Under
379
+ \`throw: false\` in \`callopts["ctrl"]\`, no error is sent.
380
+
359
381
  #### \`GetName() string\`
360
382
 
361
383
  Return the entity name.
@@ -45,7 +45,7 @@ client := sdk.Test()
45
45
  let arg = 'nil'
46
46
  if (isMatchOp) {
47
47
  arg = idF ? `map[string]any{"${idF}": "test01"}` : 'nil'
48
- } else if ('create' === primaryOp || 'update' === primaryOp) {
48
+ } else if ('create' === primaryOp || 'update' === primaryOp || 'patch' === primaryOp) {
49
49
  const items = opRequestShape(exampleEntity, primaryOp).items
50
50
  .filter((it: any) => it.name !== idF && it.name !== 'id')
51
51
  const required = items.filter((it: any) => !it.optional)
@@ -242,8 +242,43 @@ var cleanScenarios = []cleanScenario{
242
242
  }},
243
243
  }
244
244
 
245
+ // Offline, as every generated suite is: the test OPTION resolves a required
246
+ // server variable to test-<name>, and installs no transport.
247
+ func cleanOffline(opts map[string]any) map[string]any {
248
+ opts["test"] = map[string]any{"active": true}
249
+ return opts
250
+ }
251
+
252
+ // A client the sweep cannot build leaves nothing swept: a harness error, not
253
+ // a leak, which cleanHarness reports instead of letting the panic end the run.
254
+ type cleanHarnessError struct{ cause any }
255
+
256
+ func cleanNew(opts map[string]any) *sdk.${Name}SDK {
257
+ defer func() {
258
+ if r := recover(); r != nil {
259
+ panic(cleanHarnessError{r})
260
+ }
261
+ }()
262
+ return sdk.New${Name}SDK(cleanOffline(opts))
263
+ }
264
+
265
+ func cleanHarness(t *testing.T) {
266
+ if r := recover(); r != nil {
267
+ if h, ok := r.(cleanHarnessError); ok {
268
+ t.Fatalf("clean harness: the client could not be constructed, so nothing was swept: %v",
269
+ h.cause)
270
+ }
271
+ panic(r)
272
+ }
273
+ }
274
+
245
275
  func cleanMakeSdk(scenario cleanScenario, sinks *[]cleanSink, cleanopts map[string]any,
246
276
  extra ...any) *sdk.${Name}SDK {
277
+ return cleanNew(cleanOptions(scenario, sinks, cleanopts, extra...))
278
+ }
279
+
280
+ func cleanOptions(scenario cleanScenario, sinks *[]cleanSink, cleanopts map[string]any,
281
+ extra ...any) map[string]any {
247
282
  capture := func(name string) func(map[string]any) {
248
283
  return func(rec map[string]any) {
249
284
  *sinks = append(*sinks, cleanSurfaces(name, rec)...)
@@ -281,7 +316,7 @@ func cleanMakeSdk(scenario cleanScenario, sinks *[]cleanSink, cleanopts map[stri
281
316
  clean[k] = v
282
317
  }
283
318
 
284
- return sdk.New${Name}SDK(map[string]any{
319
+ return map[string]any{
285
320
  "apikey": cleanCanary["apikey"],
286
321
  "secret": cleanCanary["secret"],
287
322
  "headers": map[string]any{"X-Custom-Token": cleanCanary["header"]},
@@ -293,7 +328,7 @@ func cleanMakeSdk(scenario cleanScenario, sinks *[]cleanSink, cleanopts map[stri
293
328
  return scenario.respond(url, fetchdef)
294
329
  }),
295
330
  },
296
- })
331
+ }
297
332
  }
298
333
 
299
334
  // One operation this SDK can perform: the client method returning the
@@ -309,12 +344,12 @@ func cleanEntity(client *sdk.${Name}SDK, accessor string) reflect.Value {
309
344
  Call([]reflect.Value{reflect.ValueOf(map[string]any(nil))})[0]
310
345
  }
311
346
 
312
- func cleanInvoke(client *sdk.${Name}SDK, op cleanOp, ctrl map[string]any) (any, error) {
347
+ func cleanInvoke(entity reflect.Value, op cleanOp, ctrl map[string]any) (any, error) {
313
348
  match := map[string]any{}
314
349
  for k, v := range op.match {
315
350
  match[k] = v
316
351
  }
317
- rets := cleanEntity(client, op.accessor).MethodByName(op.method).Call([]reflect.Value{
352
+ rets := entity.MethodByName(op.method).Call([]reflect.Value{
318
353
  reflect.ValueOf(match),
319
354
  reflect.ValueOf(ctrl),
320
355
  })
@@ -348,7 +383,7 @@ func cleanFilled(client *sdk.${Name}SDK, entity string, method string) map[strin
348
383
  // returning something that answers GetName().
349
384
  func cleanUsableOp() (cleanOp, bool) {
350
385
  plain := func() *sdk.${Name}SDK {
351
- return sdk.New${Name}SDK(map[string]any{
386
+ return cleanNew(map[string]any{
352
387
  "apikey": cleanCanary["apikey"],
353
388
  "utility": map[string]any{
354
389
  "fetcher": sdk.FetcherFunc(func(*sdk.Context, string, map[string]any) (any, error) {
@@ -383,7 +418,7 @@ func cleanUsableOp() (cleanOp, bool) {
383
418
  sort.Strings(accessors)
384
419
 
385
420
  for _, accessor := range accessors {
386
- for _, method := range []string{"List", "Load", "Create", "Update", "Remove"} {
421
+ for _, method := range []string{"List", "Load", "Create", "Update", "Patch", "Remove"} {
387
422
  om := cleanEntity(probe, accessor).MethodByName(method)
388
423
  if !om.IsValid() || om.Type().NumIn() != 2 || om.Type().NumOut() != 2 {
389
424
  continue
@@ -392,7 +427,7 @@ func cleanUsableOp() (cleanOp, bool) {
392
427
  Call(nil)[0].String()
393
428
  for _, match := range []map[string]any{{}, cleanFilled(probe, name, method)} {
394
429
  op := cleanOp{accessor: accessor, method: method, match: match}
395
- if _, err := cleanInvoke(plain(), op, map[string]any{}); err == nil {
430
+ if _, err := cleanInvoke(cleanEntity(plain(), accessor), op, map[string]any{}); err == nil {
396
431
  return op, true
397
432
  }
398
433
  }
@@ -404,13 +439,17 @@ func cleanUsableOp() (cleanOp, bool) {
404
439
  func cleanDrive(client *sdk.${Name}SDK, op cleanOp, ctrl map[string]any, sinks *[]cleanSink) error {
405
440
  // A caller may keep the record it passed rather than read ctrl["explain"].
406
441
  held, _ := ctrl["explain"].(map[string]any)
407
- out, err := cleanInvoke(client, op, ctrl)
442
+ entity := cleanEntity(client, op.accessor)
443
+ out, err := cleanInvoke(entity, op, ctrl)
408
444
  if err != nil {
409
445
  *sinks = append(*sinks, cleanSurfaces("error", err)...)
410
446
  }
411
447
  if out != nil {
412
448
  *sinks = append(*sinks, cleanSurfaces("result", out)...)
413
449
  }
450
+ // Raw, as a caller copying the match into another query reads it.
451
+ *sinks = append(*sinks, cleanSurfaces("match",
452
+ entity.MethodByName("Match").Call(nil)[0].Interface())...)
414
453
  explain, ok := ctrl["explain"].(map[string]any)
415
454
  if ok {
416
455
  *sinks = append(*sinks, cleanSurfaces("explain", explain)...)
@@ -491,6 +530,9 @@ func (f *cleanStreamPanic) PreDone(ctx *sdk.Context) {
491
530
  func cleanCatch(name string, sinks *[]cleanSink, fn func() error) (err error) {
492
531
  defer func() {
493
532
  if r := recover(); r != nil {
533
+ if _, harness := r.(cleanHarnessError); harness {
534
+ panic(r)
535
+ }
494
536
  *sinks = append(*sinks, cleanSurfaces(name+":panic", r)...)
495
537
  err = fmt.Errorf("panic: %v", r)
496
538
  }
@@ -501,6 +543,7 @@ func cleanCatch(name string, sinks *[]cleanSink, fn func() error) (err error) {
501
543
  const cleanNoOp = "no operation of this SDK completes against a plain 200; nothing to sweep"
502
544
 
503
545
  func TestCleanSweep(t *testing.T) {
546
+ defer cleanHarness(t)
504
547
  op, found := cleanUsableOp()
505
548
  if !found {
506
549
  t.Skip(cleanNoOp)
@@ -538,15 +581,21 @@ func TestCleanSweep(t *testing.T) {
538
581
  }
539
582
  }
540
583
 
584
+ // A name given at run time replaces the declared one: the match leaves
585
+ // out whichever name PrepareAuth placed.
586
+ renamed := cleanOptions(cleanScenarios[0], &sinks, nil)
587
+ renamed["auth"] = map[string]any{"name": "zzcred"}
588
+ cleanDrive(cleanNew(renamed), op, map[string]any{}, &sinks)
589
+
541
590
  // A credential mistyped as a map. The go validator substitutes the
542
591
  // default rather than rejecting it, so there is no rejection to sweep:
543
592
  // sweep what the constructor produced, and what clean makes of the value
544
593
  // should anything later quote it.
545
594
  cleanCatch("mistyped", &sinks, func() error {
546
- client := sdk.New${Name}SDK(map[string]any{
595
+ client := sdk.New${Name}SDK(cleanOffline(map[string]any{
547
596
  "apikey": map[string]any{"value": cleanCanary["apikey"]},
548
597
  "clean": map[string]any{"values": cleanCanary["value"]},
549
- })
598
+ }))
550
599
  sinks = append(sinks, cleanSurfaces("mistyped", client)...)
551
600
  sinks = append(sinks, cleanSurfaces("mistyped:quoted",
552
601
  client.GetUtility().Clean(client.GetRootCtx(), "found map: "+cleanCanary["apikey"]))...)
@@ -572,9 +621,9 @@ func TestCleanSweep(t *testing.T) {
572
621
  }
573
622
  }
574
623
 
575
- // Stream has no error channel: a panic inside it must end the stream
576
- // through MakeError, cleaned, and not crash the process. However it
577
- // ends, the explain record the caller passed is left clean.
624
+ // A panic inside a stream must end it through MakeError, its cleaned
625
+ // error the last value sent, and not crash the process. However it ends,
626
+ // the explain record the caller passed is left clean.
578
627
  for _, streamed := range []struct {
579
628
  name string
580
629
  saw string
@@ -597,8 +646,13 @@ func TestCleanSweep(t *testing.T) {
597
646
  reflect.ValueOf(strings.ToLower(op.method)),
598
647
  reflect.ValueOf(map[string]any{"reqmatch": reqmatch}),
599
648
  reflect.ValueOf(map[string]any{"ctrl": map[string]any{"explain": explain}}),
600
- })[0].Interface().(<-chan any)
601
- for range items {
649
+ })[0].Interface().(<-chan core.StreamItem)
650
+ var streamerr error
651
+ for item := range items {
652
+ if item.Err != nil {
653
+ streamerr = item.Err
654
+ sinks = append(sinks, cleanSurfaces(streamed.name, item.Err)...)
655
+ }
602
656
  }
603
657
  sinks = append(sinks, cleanSurfaces(streamed.name+":explain", explain)...)
604
658
  if 0 == len(explain) {
@@ -608,6 +662,9 @@ func TestCleanSweep(t *testing.T) {
608
662
  if ("" == streamed.saw) != (nil == explain["err"]) || !strings.Contains(msg, streamed.saw) {
609
663
  t.Errorf("%s: only a failing stream ends as the SDK error, got %v", streamed.name, explain)
610
664
  }
665
+ if ("" == streamed.saw) != (nil == streamerr) {
666
+ t.Errorf("%s: only a failing stream sends an error, got %v", streamed.name, streamerr)
667
+ }
611
668
  }
612
669
 
613
670
  // A registered value used as a property name is masked; names that mask
@@ -644,7 +701,7 @@ func TestCleanSweep(t *testing.T) {
644
701
  }
645
702
 
646
703
  // With no clean option at all, the schema defaults still apply.
647
- bare := sdk.New${Name}SDK(map[string]any{
704
+ bare := cleanNew(map[string]any{
648
705
  "apikey": cleanCanary["apikey"],
649
706
  "secret": cleanCanary["secret"],
650
707
  "headers": map[string]any{"X-Custom-Token": cleanCanary["header"]},
@@ -660,12 +717,14 @@ func TestCleanSweep(t *testing.T) {
660
717
 
661
718
  // A feature's name is not a field name: only the sensitive names inside
662
719
  // its settings register. An entity block, of per-entity settings or seeded
663
- // records keyed by entity name and id, is not read at all.
664
- featured := sdk.New${Name}SDK(map[string]any{
720
+ // records keyed by entity name and id, is not read at all, and nor are
721
+ // rbac's rules, keyed by entity and operation names.
722
+ featured := cleanNew(map[string]any{
665
723
  "apikey": cleanCanary["apikey"],
666
724
  "feature": map[string]any{
667
725
  "zzsecrets": map[string]any{"active": false, "kind": "PLAINSETTING-q8w2e4r6"},
668
726
  "zzfeat": map[string]any{"active": false, "apitoken": "FEATTOKEN-z9y8x7w6"},
727
+ "rbac": map[string]any{"active": false, "rules": map[string]any{"zztoken.load": "PLAINRULE-k7j5h3g1"}},
669
728
  "test": map[string]any{"active": false, "entity": map[string]any{
670
729
  "zztoken": map[string]any{"ZZTOKEN01": map[string]any{"note": "PLAINRECORD-t5r3e1w9"}},
671
730
  }},
@@ -684,6 +743,9 @@ func TestCleanSweep(t *testing.T) {
684
743
  t.Errorf("an entity block was registered: %q", got)
685
744
  }
686
745
  }
746
+ if got, _ := fclean(featured.GetRootCtx(), "rule PLAINRULE-k7j5h3g1").(string); got != "rule PLAINRULE-k7j5h3g1" {
747
+ t.Errorf("an rbac rule keyed by entity and operation was registered: %q", got)
748
+ }
687
749
 
688
750
  leaked := []string{}
689
751
  for _, s := range sinks {
@@ -747,6 +809,7 @@ func TestCleanSweep(t *testing.T) {
747
809
  }
748
810
 
749
811
  func TestCleanSensitivity(t *testing.T) {
812
+ defer cleanHarness(t)
750
813
  op, found := cleanUsableOp()
751
814
  if !found {
752
815
  t.Skip(cleanNoOp)