@voxgig/sdkgen 1.3.8 → 1.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1731) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/package.json +1 -1
  3. package/project/.sdk/model/feature/audit.aontu +22 -0
  4. package/project/.sdk/model/feature/cache.aontu +23 -0
  5. package/project/.sdk/model/feature/clienttrack.aontu +20 -0
  6. package/project/.sdk/model/feature/debug.aontu +25 -0
  7. package/project/.sdk/model/feature/feature-index.aontu +20 -1
  8. package/project/.sdk/model/feature/idempotency.aontu +21 -0
  9. package/project/.sdk/model/feature/metrics.aontu +20 -0
  10. package/project/.sdk/model/feature/netsim.aontu +36 -0
  11. package/project/.sdk/model/feature/paging.aontu +23 -0
  12. package/project/.sdk/model/feature/proxy.aontu +23 -0
  13. package/project/.sdk/model/feature/ratelimit.aontu +21 -0
  14. package/project/.sdk/model/feature/rbac.aontu +24 -0
  15. package/project/.sdk/model/feature/retry.aontu +23 -0
  16. package/project/.sdk/model/feature/streaming.aontu +22 -0
  17. package/project/.sdk/model/feature/telemetry.aontu +21 -0
  18. package/project/.sdk/model/feature/timeout.aontu +18 -0
  19. package/project/.sdk/model/target/c.aontu +37 -0
  20. package/project/.sdk/model/target/clojure.aontu +36 -0
  21. package/project/.sdk/model/target/cpp.aontu +35 -0
  22. package/project/.sdk/model/target/csharp.aontu +35 -0
  23. package/project/.sdk/model/target/dart.aontu +34 -0
  24. package/project/.sdk/model/target/elixir.aontu +33 -0
  25. package/project/.sdk/model/target/haskell.aontu +47 -0
  26. package/project/.sdk/model/target/java.aontu +37 -0
  27. package/project/.sdk/model/target/kotlin.aontu +37 -0
  28. package/project/.sdk/model/target/ocaml.aontu +36 -0
  29. package/project/.sdk/model/target/perl.aontu +37 -0
  30. package/project/.sdk/model/target/rust.aontu +37 -0
  31. package/project/.sdk/model/target/scala.aontu +37 -0
  32. package/project/.sdk/model/target/swift.aontu +35 -0
  33. package/project/.sdk/model/target/zig.aontu +27 -0
  34. package/project/.sdk/src/cmp/c/Config_c.ts +109 -0
  35. package/project/.sdk/src/cmp/c/EntityBase_c.ts +61 -0
  36. package/project/.sdk/src/cmp/c/EntityOperation_c.ts +41 -0
  37. package/project/.sdk/src/cmp/c/Entity_c.ts +85 -0
  38. package/project/.sdk/src/cmp/c/Gitignore_c.ts +29 -0
  39. package/project/.sdk/src/cmp/c/MainEntity_c.ts +31 -0
  40. package/project/.sdk/src/cmp/c/Main_c.ts +83 -0
  41. package/project/.sdk/src/cmp/c/Package_c.ts +17 -0
  42. package/project/.sdk/src/cmp/c/TestDirect_c.ts +227 -0
  43. package/project/.sdk/src/cmp/c/TestEntity_c.ts +82 -0
  44. package/project/.sdk/src/cmp/c/Test_c.ts +51 -0
  45. package/project/.sdk/src/cmp/c/fragment/Entity.fragment.c +265 -0
  46. package/project/.sdk/src/cmp/c/fragment/EntityCreateOp.fragment.c +27 -0
  47. package/project/.sdk/src/cmp/c/fragment/EntityListOp.fragment.c +24 -0
  48. package/project/.sdk/src/cmp/c/fragment/EntityLoadOp.fragment.c +29 -0
  49. package/project/.sdk/src/cmp/c/fragment/EntityRemoveOp.fragment.c +29 -0
  50. package/project/.sdk/src/cmp/c/fragment/EntityUpdateOp.fragment.c +29 -0
  51. package/project/.sdk/src/cmp/c/fragment/Main.fragment.c +220 -0
  52. package/project/.sdk/src/cmp/c/tsconfig.json +15 -0
  53. package/project/.sdk/src/cmp/c/utility_c.ts +102 -0
  54. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +94 -0
  55. package/project/.sdk/src/cmp/clojure/EntityOperation_clojure.ts +35 -0
  56. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +77 -0
  57. package/project/.sdk/src/cmp/clojure/Gitignore_clojure.ts +28 -0
  58. package/project/.sdk/src/cmp/clojure/MainEntity_clojure.ts +21 -0
  59. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +88 -0
  60. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +41 -0
  61. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +120 -0
  62. package/project/.sdk/src/cmp/clojure/fragment/Entity.fragment.clj +158 -0
  63. package/project/.sdk/src/cmp/clojure/fragment/EntityCreateOp.fragment.clj +14 -0
  64. package/project/.sdk/src/cmp/clojure/fragment/EntityListOp.fragment.clj +17 -0
  65. package/project/.sdk/src/cmp/clojure/fragment/EntityLoadOp.fragment.clj +15 -0
  66. package/project/.sdk/src/cmp/clojure/fragment/EntityRemoveOp.fragment.clj +15 -0
  67. package/project/.sdk/src/cmp/clojure/fragment/EntityUpdateOp.fragment.clj +15 -0
  68. package/project/.sdk/src/cmp/clojure/tsconfig.json +15 -0
  69. package/project/.sdk/src/cmp/clojure/utility_clojure.ts +82 -0
  70. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +136 -0
  71. package/project/.sdk/src/cmp/cpp/EntityBase_cpp.ts +51 -0
  72. package/project/.sdk/src/cmp/cpp/EntityOperation_cpp.ts +37 -0
  73. package/project/.sdk/src/cmp/cpp/Entity_cpp.ts +78 -0
  74. package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +27 -0
  75. package/project/.sdk/src/cmp/cpp/MainEntity_cpp.ts +35 -0
  76. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +84 -0
  77. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +17 -0
  78. package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +258 -0
  79. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +454 -0
  80. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +36 -0
  81. package/project/.sdk/src/cmp/cpp/fragment/Entity.fragment.cpp +40 -0
  82. package/project/.sdk/src/cmp/cpp/fragment/EntityCreateOp.fragment.cpp +22 -0
  83. package/project/.sdk/src/cmp/cpp/fragment/EntityListOp.fragment.cpp +21 -0
  84. package/project/.sdk/src/cmp/cpp/fragment/EntityLoadOp.fragment.cpp +25 -0
  85. package/project/.sdk/src/cmp/cpp/fragment/EntityRemoveOp.fragment.cpp +21 -0
  86. package/project/.sdk/src/cmp/cpp/fragment/EntityUpdateOp.fragment.cpp +22 -0
  87. package/project/.sdk/src/cmp/cpp/fragment/Main.fragment.cpp +43 -0
  88. package/project/.sdk/src/cmp/cpp/tsconfig.json +15 -0
  89. package/project/.sdk/src/cmp/cpp/utility_cpp.ts +83 -0
  90. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +134 -0
  91. package/project/.sdk/src/cmp/csharp/EntityBase_csharp.ts +39 -0
  92. package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +41 -0
  93. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +85 -0
  94. package/project/.sdk/src/cmp/csharp/Gitignore_csharp.ts +38 -0
  95. package/project/.sdk/src/cmp/csharp/MainEntity_csharp.ts +36 -0
  96. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +91 -0
  97. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +101 -0
  98. package/project/.sdk/src/cmp/csharp/SdkError_csharp.ts +42 -0
  99. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +560 -0
  100. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +618 -0
  101. package/project/.sdk/src/cmp/csharp/Test_csharp.ts +38 -0
  102. package/project/.sdk/src/cmp/csharp/fragment/Entity.fragment.cs +28 -0
  103. package/project/.sdk/src/cmp/csharp/fragment/EntityBase.fragment.cs +268 -0
  104. package/project/.sdk/src/cmp/csharp/fragment/EntityCreateOp.fragment.cs +37 -0
  105. package/project/.sdk/src/cmp/csharp/fragment/EntityListOp.fragment.cs +35 -0
  106. package/project/.sdk/src/cmp/csharp/fragment/EntityLoadOp.fragment.cs +41 -0
  107. package/project/.sdk/src/cmp/csharp/fragment/EntityRemoveOp.fragment.cs +41 -0
  108. package/project/.sdk/src/cmp/csharp/fragment/EntityUpdateOp.fragment.cs +41 -0
  109. package/project/.sdk/src/cmp/csharp/fragment/Main.fragment.cs +278 -0
  110. package/project/.sdk/src/cmp/csharp/fragment/SdkError.fragment.cs +21 -0
  111. package/project/.sdk/src/cmp/csharp/tsconfig.json +15 -0
  112. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +143 -0
  113. package/project/.sdk/src/cmp/dart/Config_dart.ts +99 -0
  114. package/project/.sdk/src/cmp/dart/EntityBase_dart.ts +34 -0
  115. package/project/.sdk/src/cmp/dart/EntityOperation_dart.ts +43 -0
  116. package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +190 -0
  117. package/project/.sdk/src/cmp/dart/Entity_dart.ts +79 -0
  118. package/project/.sdk/src/cmp/dart/Gitignore_dart.ts +34 -0
  119. package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +33 -0
  120. package/project/.sdk/src/cmp/dart/Main_dart.ts +105 -0
  121. package/project/.sdk/src/cmp/dart/Package_dart.ts +81 -0
  122. package/project/.sdk/src/cmp/dart/SdkError_dart.ts +42 -0
  123. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +498 -0
  124. package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +552 -0
  125. package/project/.sdk/src/cmp/dart/Test_dart.ts +105 -0
  126. package/project/.sdk/src/cmp/dart/fragment/Config.fragment.dart +48 -0
  127. package/project/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +25 -0
  128. package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +31 -0
  129. package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +67 -0
  130. package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +285 -0
  131. package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +90 -0
  132. package/project/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +90 -0
  133. package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +94 -0
  134. package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +94 -0
  135. package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +94 -0
  136. package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +240 -0
  137. package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +18 -0
  138. package/project/.sdk/src/cmp/dart/tsconfig.json +15 -0
  139. package/project/.sdk/src/cmp/dart/utility_dart.ts +86 -0
  140. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +101 -0
  141. package/project/.sdk/src/cmp/elixir/EntityOperation_elixir.ts +27 -0
  142. package/project/.sdk/src/cmp/elixir/Entity_elixir.ts +54 -0
  143. package/project/.sdk/src/cmp/elixir/Gitignore_elixir.ts +28 -0
  144. package/project/.sdk/src/cmp/elixir/MainEntity_elixir.ts +26 -0
  145. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +124 -0
  146. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +64 -0
  147. package/project/.sdk/src/cmp/elixir/TestDirect_elixir.ts +95 -0
  148. package/project/.sdk/src/cmp/elixir/TestEntity_elixir.ts +115 -0
  149. package/project/.sdk/src/cmp/elixir/Test_elixir.ts +47 -0
  150. package/project/.sdk/src/cmp/elixir/fragment/Entity.fragment.ex +37 -0
  151. package/project/.sdk/src/cmp/elixir/fragment/EntityCreateOp.fragment.ex +28 -0
  152. package/project/.sdk/src/cmp/elixir/fragment/EntityListOp.fragment.ex +30 -0
  153. package/project/.sdk/src/cmp/elixir/fragment/EntityLoadOp.fragment.ex +32 -0
  154. package/project/.sdk/src/cmp/elixir/fragment/EntityRemoveOp.fragment.ex +32 -0
  155. package/project/.sdk/src/cmp/elixir/fragment/EntityUpdateOp.fragment.ex +30 -0
  156. package/project/.sdk/src/cmp/elixir/fragment/Main.fragment.ex +218 -0
  157. package/project/.sdk/src/cmp/elixir/fragment/Pipeline.fragment.ex +62 -0
  158. package/project/.sdk/src/cmp/elixir/tsconfig.json +15 -0
  159. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +85 -0
  160. package/project/.sdk/src/cmp/go/TestEntity_go.ts +62 -0
  161. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +133 -0
  162. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +14 -8
  163. package/project/.sdk/src/cmp/haskell/Config_haskell.ts +115 -0
  164. package/project/.sdk/src/cmp/haskell/Entity_haskell.ts +13 -0
  165. package/project/.sdk/src/cmp/haskell/Gitignore_haskell.ts +27 -0
  166. package/project/.sdk/src/cmp/haskell/Main_haskell.ts +123 -0
  167. package/project/.sdk/src/cmp/haskell/Package_haskell.ts +58 -0
  168. package/project/.sdk/src/cmp/haskell/Test_haskell.ts +263 -0
  169. package/project/.sdk/src/cmp/haskell/tsconfig.json +15 -0
  170. package/project/.sdk/src/cmp/haskell/utility_haskell.ts +105 -0
  171. package/project/.sdk/src/cmp/java/Config_java.ts +138 -0
  172. package/project/.sdk/src/cmp/java/EntityBase_java.ts +50 -0
  173. package/project/.sdk/src/cmp/java/EntityOperation_java.ts +48 -0
  174. package/project/.sdk/src/cmp/java/Entity_java.ts +95 -0
  175. package/project/.sdk/src/cmp/java/Gitignore_java.ts +37 -0
  176. package/project/.sdk/src/cmp/java/MainEntity_java.ts +41 -0
  177. package/project/.sdk/src/cmp/java/Main_java.ts +100 -0
  178. package/project/.sdk/src/cmp/java/Package_java.ts +126 -0
  179. package/project/.sdk/src/cmp/java/SdkError_java.ts +49 -0
  180. package/project/.sdk/src/cmp/java/TestDirect_java.ts +509 -0
  181. package/project/.sdk/src/cmp/java/TestEntity_java.ts +599 -0
  182. package/project/.sdk/src/cmp/java/Test_java.ts +42 -0
  183. package/project/.sdk/src/cmp/java/fragment/Entity.fragment.java +35 -0
  184. package/project/.sdk/src/cmp/java/fragment/EntityBase.fragment.java +235 -0
  185. package/project/.sdk/src/cmp/java/fragment/EntityCreateOp.fragment.java +42 -0
  186. package/project/.sdk/src/cmp/java/fragment/EntityListOp.fragment.java +39 -0
  187. package/project/.sdk/src/cmp/java/fragment/EntityLoadOp.fragment.java +45 -0
  188. package/project/.sdk/src/cmp/java/fragment/EntityRemoveOp.fragment.java +45 -0
  189. package/project/.sdk/src/cmp/java/fragment/EntityUpdateOp.fragment.java +45 -0
  190. package/project/.sdk/src/cmp/java/fragment/Main.fragment.java +34 -0
  191. package/project/.sdk/src/cmp/java/fragment/SdkError.fragment.java +27 -0
  192. package/project/.sdk/src/cmp/java/tsconfig.json +15 -0
  193. package/project/.sdk/src/cmp/java/utility_java.ts +102 -0
  194. package/project/.sdk/src/cmp/js/Config_js.ts +4 -2
  195. package/project/.sdk/src/cmp/js/TestEntity_js.ts +1 -0
  196. package/project/.sdk/src/cmp/js/fragment/Entity.test.fragment.js +32 -1
  197. package/project/.sdk/src/cmp/js/fragment/EntityBase.fragment.js +81 -0
  198. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +10 -5
  199. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +128 -0
  200. package/project/.sdk/src/cmp/kotlin/EntityBase_kotlin.ts +50 -0
  201. package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +48 -0
  202. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +93 -0
  203. package/project/.sdk/src/cmp/kotlin/Gitignore_kotlin.ts +41 -0
  204. package/project/.sdk/src/cmp/kotlin/MainEntity_kotlin.ts +40 -0
  205. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +94 -0
  206. package/project/.sdk/src/cmp/kotlin/Package_kotlin.ts +110 -0
  207. package/project/.sdk/src/cmp/kotlin/SdkError_kotlin.ts +48 -0
  208. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +479 -0
  209. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +567 -0
  210. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +42 -0
  211. package/project/.sdk/src/cmp/kotlin/fragment/Entity.fragment.kt +28 -0
  212. package/project/.sdk/src/cmp/kotlin/fragment/EntityBase.fragment.kt +195 -0
  213. package/project/.sdk/src/cmp/kotlin/fragment/EntityCreateOp.fragment.kt +37 -0
  214. package/project/.sdk/src/cmp/kotlin/fragment/EntityListOp.fragment.kt +34 -0
  215. package/project/.sdk/src/cmp/kotlin/fragment/EntityLoadOp.fragment.kt +40 -0
  216. package/project/.sdk/src/cmp/kotlin/fragment/EntityRemoveOp.fragment.kt +40 -0
  217. package/project/.sdk/src/cmp/kotlin/fragment/EntityUpdateOp.fragment.kt +40 -0
  218. package/project/.sdk/src/cmp/kotlin/fragment/Main.fragment.kt +28 -0
  219. package/project/.sdk/src/cmp/kotlin/fragment/SdkError.fragment.kt +24 -0
  220. package/project/.sdk/src/cmp/kotlin/tsconfig.json +15 -0
  221. package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +101 -0
  222. package/project/.sdk/src/cmp/lua/Entity_lua.ts +7 -9
  223. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +55 -0
  224. package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +137 -0
  225. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +9 -6
  226. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +114 -0
  227. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +63 -0
  228. package/project/.sdk/src/cmp/ocaml/Entity_ocaml.ts +152 -0
  229. package/project/.sdk/src/cmp/ocaml/Gitignore_ocaml.ts +37 -0
  230. package/project/.sdk/src/cmp/ocaml/MainEntity_ocaml.ts +28 -0
  231. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +111 -0
  232. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +47 -0
  233. package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +42 -0
  234. package/project/.sdk/src/cmp/ocaml/TestDirect_ocaml.ts +47 -0
  235. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +130 -0
  236. package/project/.sdk/src/cmp/ocaml/Test_ocaml.ts +35 -0
  237. package/project/.sdk/src/cmp/ocaml/fragment/RunOp.fragment.ml +32 -0
  238. package/project/.sdk/src/cmp/ocaml/tsconfig.json +15 -0
  239. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +129 -0
  240. package/project/.sdk/src/cmp/perl/Config_perl.ts +127 -0
  241. package/project/.sdk/src/cmp/perl/EntityOperation_perl.ts +42 -0
  242. package/project/.sdk/src/cmp/perl/Entity_perl.ts +84 -0
  243. package/project/.sdk/src/cmp/perl/Gitignore_perl.ts +32 -0
  244. package/project/.sdk/src/cmp/perl/MainEntity_perl.ts +34 -0
  245. package/project/.sdk/src/cmp/perl/Main_perl.ts +140 -0
  246. package/project/.sdk/src/cmp/perl/Package_perl.ts +63 -0
  247. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +433 -0
  248. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +515 -0
  249. package/project/.sdk/src/cmp/perl/Test_perl.ts +54 -0
  250. package/project/.sdk/src/cmp/perl/fragment/Entity.fragment.pm +235 -0
  251. package/project/.sdk/src/cmp/perl/fragment/EntityCreateOp.fragment.pm +31 -0
  252. package/project/.sdk/src/cmp/perl/fragment/EntityListOp.fragment.pm +43 -0
  253. package/project/.sdk/src/cmp/perl/fragment/EntityLoadOp.fragment.pm +34 -0
  254. package/project/.sdk/src/cmp/perl/fragment/EntityRemoveOp.fragment.pm +32 -0
  255. package/project/.sdk/src/cmp/perl/fragment/EntityUpdateOp.fragment.pm +32 -0
  256. package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +263 -0
  257. package/project/.sdk/src/cmp/perl/fragment/SdkError.fragment.pm +27 -0
  258. package/project/.sdk/src/cmp/perl/tsconfig.json +15 -0
  259. package/project/.sdk/src/cmp/perl/utility_perl.ts +30 -0
  260. package/project/.sdk/src/cmp/php/TestEntity_php.ts +53 -0
  261. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +124 -0
  262. package/project/.sdk/src/cmp/php/fragment/Main.fragment.php +13 -6
  263. package/project/.sdk/src/cmp/py/Entity_py.ts +8 -9
  264. package/project/.sdk/src/cmp/py/TestEntity_py.ts +48 -0
  265. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +135 -28
  266. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +9 -6
  267. package/project/.sdk/src/cmp/rb/Entity_rb.ts +8 -9
  268. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +4 -1
  269. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +50 -0
  270. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +122 -23
  271. package/project/.sdk/src/cmp/rb/fragment/Main.fragment.rb +9 -6
  272. package/project/.sdk/src/cmp/rust/Config_rust.ts +118 -0
  273. package/project/.sdk/src/cmp/rust/EntityBase_rust.ts +59 -0
  274. package/project/.sdk/src/cmp/rust/EntityOperation_rust.ts +44 -0
  275. package/project/.sdk/src/cmp/rust/Entity_rust.ts +94 -0
  276. package/project/.sdk/src/cmp/rust/Gitignore_rust.ts +29 -0
  277. package/project/.sdk/src/cmp/rust/MainEntity_rust.ts +37 -0
  278. package/project/.sdk/src/cmp/rust/Main_rust.ts +146 -0
  279. package/project/.sdk/src/cmp/rust/Package_rust.ts +80 -0
  280. package/project/.sdk/src/cmp/rust/SdkError_rust.ts +42 -0
  281. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +448 -0
  282. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +635 -0
  283. package/project/.sdk/src/cmp/rust/Test_rust.ts +51 -0
  284. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +288 -0
  285. package/project/.sdk/src/cmp/rust/fragment/EntityCreateOp.fragment.rs +29 -0
  286. package/project/.sdk/src/cmp/rust/fragment/EntityListOp.fragment.rs +26 -0
  287. package/project/.sdk/src/cmp/rust/fragment/EntityLoadOp.fragment.rs +35 -0
  288. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +35 -0
  289. package/project/.sdk/src/cmp/rust/fragment/EntityUpdateOp.fragment.rs +35 -0
  290. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +296 -0
  291. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +34 -0
  292. package/project/.sdk/src/cmp/rust/tsconfig.json +15 -0
  293. package/project/.sdk/src/cmp/rust/utility_rust.ts +104 -0
  294. package/project/.sdk/src/cmp/scala/Config_scala.ts +126 -0
  295. package/project/.sdk/src/cmp/scala/EntityBase_scala.ts +50 -0
  296. package/project/.sdk/src/cmp/scala/EntityOperation_scala.ts +46 -0
  297. package/project/.sdk/src/cmp/scala/Entity_scala.ts +87 -0
  298. package/project/.sdk/src/cmp/scala/Gitignore_scala.ts +31 -0
  299. package/project/.sdk/src/cmp/scala/MainEntity_scala.ts +40 -0
  300. package/project/.sdk/src/cmp/scala/Main_scala.ts +93 -0
  301. package/project/.sdk/src/cmp/scala/Package_scala.ts +22 -0
  302. package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +233 -0
  303. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +397 -0
  304. package/project/.sdk/src/cmp/scala/Test_scala.ts +93 -0
  305. package/project/.sdk/src/cmp/scala/fragment/Entity.fragment.scala +24 -0
  306. package/project/.sdk/src/cmp/scala/fragment/EntityBase.fragment.scala +169 -0
  307. package/project/.sdk/src/cmp/scala/fragment/EntityCreateOp.fragment.scala +32 -0
  308. package/project/.sdk/src/cmp/scala/fragment/EntityListOp.fragment.scala +28 -0
  309. package/project/.sdk/src/cmp/scala/fragment/EntityLoadOp.fragment.scala +33 -0
  310. package/project/.sdk/src/cmp/scala/fragment/EntityRemoveOp.fragment.scala +33 -0
  311. package/project/.sdk/src/cmp/scala/fragment/EntityUpdateOp.fragment.scala +33 -0
  312. package/project/.sdk/src/cmp/scala/fragment/Main.fragment.scala +27 -0
  313. package/project/.sdk/src/cmp/scala/tsconfig.json +15 -0
  314. package/project/.sdk/src/cmp/scala/utility_scala.ts +99 -0
  315. package/project/.sdk/src/cmp/swift/Config_swift.ts +127 -0
  316. package/project/.sdk/src/cmp/swift/EntityBase_swift.ts +38 -0
  317. package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +39 -0
  318. package/project/.sdk/src/cmp/swift/Entity_swift.ts +86 -0
  319. package/project/.sdk/src/cmp/swift/Gitignore_swift.ts +32 -0
  320. package/project/.sdk/src/cmp/swift/MainEntity_swift.ts +35 -0
  321. package/project/.sdk/src/cmp/swift/Main_swift.ts +94 -0
  322. package/project/.sdk/src/cmp/swift/Package_swift.ts +66 -0
  323. package/project/.sdk/src/cmp/swift/SdkError_swift.ts +41 -0
  324. package/project/.sdk/src/cmp/swift/TestDirect_swift.ts +84 -0
  325. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +84 -0
  326. package/project/.sdk/src/cmp/swift/Test_swift.ts +39 -0
  327. package/project/.sdk/src/cmp/swift/fragment/Entity.fragment.swift +23 -0
  328. package/project/.sdk/src/cmp/swift/fragment/EntityBase.fragment.swift +202 -0
  329. package/project/.sdk/src/cmp/swift/fragment/EntityCreateOp.fragment.swift +23 -0
  330. package/project/.sdk/src/cmp/swift/fragment/EntityListOp.fragment.swift +21 -0
  331. package/project/.sdk/src/cmp/swift/fragment/EntityLoadOp.fragment.swift +24 -0
  332. package/project/.sdk/src/cmp/swift/fragment/EntityRemoveOp.fragment.swift +24 -0
  333. package/project/.sdk/src/cmp/swift/fragment/EntityUpdateOp.fragment.swift +24 -0
  334. package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +211 -0
  335. package/project/.sdk/src/cmp/swift/fragment/SdkError.fragment.swift +22 -0
  336. package/project/.sdk/src/cmp/swift/tsconfig.json +15 -0
  337. package/project/.sdk/src/cmp/swift/utility_swift.ts +76 -0
  338. package/project/.sdk/src/cmp/ts/Config_ts.ts +4 -2
  339. package/project/.sdk/src/cmp/ts/Package_ts.ts +12 -0
  340. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +8 -0
  341. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +81 -0
  342. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +10 -5
  343. package/project/.sdk/src/cmp/zig/Config_zig.ts +113 -0
  344. package/project/.sdk/src/cmp/zig/EntityOperation_zig.ts +39 -0
  345. package/project/.sdk/src/cmp/zig/Entity_zig.ts +89 -0
  346. package/project/.sdk/src/cmp/zig/Gitignore_zig.ts +27 -0
  347. package/project/.sdk/src/cmp/zig/MainEntity_zig.ts +38 -0
  348. package/project/.sdk/src/cmp/zig/Main_zig.ts +78 -0
  349. package/project/.sdk/src/cmp/zig/Test_zig.ts +114 -0
  350. package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +278 -0
  351. package/project/.sdk/src/cmp/zig/fragment/EntityCreateOp.fragment.zig +24 -0
  352. package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +21 -0
  353. package/project/.sdk/src/cmp/zig/fragment/EntityLoadOp.fragment.zig +26 -0
  354. package/project/.sdk/src/cmp/zig/fragment/EntityRemoveOp.fragment.zig +26 -0
  355. package/project/.sdk/src/cmp/zig/fragment/EntityUpdateOp.fragment.zig +26 -0
  356. package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +258 -0
  357. package/project/.sdk/src/cmp/zig/tsconfig.json +15 -0
  358. package/project/.sdk/src/cmp/zig/utility_zig.ts +95 -0
  359. package/project/.sdk/tm/c/LICENSE +22 -0
  360. package/project/.sdk/tm/c/Makefile +50 -0
  361. package/project/.sdk/tm/c/VERSION +1 -0
  362. package/project/.sdk/tm/c/core/context.c +145 -0
  363. package/project/.sdk/tm/c/core/control.c +19 -0
  364. package/project/.sdk/tm/c/core/error.c +24 -0
  365. package/project/.sdk/tm/c/core/helpers.c +228 -0
  366. package/project/.sdk/tm/c/core/operation.c +34 -0
  367. package/project/.sdk/tm/c/core/point.c +49 -0
  368. package/project/.sdk/tm/c/core/response.c +29 -0
  369. package/project/.sdk/tm/c/core/result.c +60 -0
  370. package/project/.sdk/tm/c/core/sdk.h +514 -0
  371. package/project/.sdk/tm/c/core/spec.c +94 -0
  372. package/project/.sdk/tm/c/core/utility.c +74 -0
  373. package/project/.sdk/tm/c/feature/audit.c +134 -0
  374. package/project/.sdk/tm/c/feature/base.c +40 -0
  375. package/project/.sdk/tm/c/feature/cache.c +262 -0
  376. package/project/.sdk/tm/c/feature/clienttrack.c +144 -0
  377. package/project/.sdk/tm/c/feature/debug.c +230 -0
  378. package/project/.sdk/tm/c/feature/idempotency.c +164 -0
  379. package/project/.sdk/tm/c/feature/log.c +79 -0
  380. package/project/.sdk/tm/c/feature/metrics.c +177 -0
  381. package/project/.sdk/tm/c/feature/netsim.c +211 -0
  382. package/project/.sdk/tm/c/feature/paging.c +223 -0
  383. package/project/.sdk/tm/c/feature/proxy.c +249 -0
  384. package/project/.sdk/tm/c/feature/ratelimit.c +124 -0
  385. package/project/.sdk/tm/c/feature/rbac.c +167 -0
  386. package/project/.sdk/tm/c/feature/retry.c +164 -0
  387. package/project/.sdk/tm/c/feature/streaming.c +147 -0
  388. package/project/.sdk/tm/c/feature/support.c +115 -0
  389. package/project/.sdk/tm/c/feature/telemetry.c +205 -0
  390. package/project/.sdk/tm/c/feature/test.c +385 -0
  391. package/project/.sdk/tm/c/feature/timeout.c +106 -0
  392. package/project/.sdk/tm/c/src/feature/README.md +1 -0
  393. package/project/.sdk/tm/c/src/feature/audit/.gitkeep +0 -0
  394. package/project/.sdk/tm/c/src/feature/base/.gitkeep +0 -0
  395. package/project/.sdk/tm/c/src/feature/cache/.gitkeep +0 -0
  396. package/project/.sdk/tm/c/src/feature/clienttrack/.gitkeep +0 -0
  397. package/project/.sdk/tm/c/src/feature/debug/.gitkeep +0 -0
  398. package/project/.sdk/tm/c/src/feature/idempotency/.gitkeep +0 -0
  399. package/project/.sdk/tm/c/src/feature/log/.gitkeep +0 -0
  400. package/project/.sdk/tm/c/src/feature/metrics/.gitkeep +0 -0
  401. package/project/.sdk/tm/c/src/feature/netsim/.gitkeep +0 -0
  402. package/project/.sdk/tm/c/src/feature/paging/.gitkeep +0 -0
  403. package/project/.sdk/tm/c/src/feature/proxy/.gitkeep +0 -0
  404. package/project/.sdk/tm/c/src/feature/ratelimit/.gitkeep +0 -0
  405. package/project/.sdk/tm/c/src/feature/rbac/.gitkeep +0 -0
  406. package/project/.sdk/tm/c/src/feature/retry/.gitkeep +0 -0
  407. package/project/.sdk/tm/c/src/feature/streaming/.gitkeep +0 -0
  408. package/project/.sdk/tm/c/src/feature/telemetry/.gitkeep +0 -0
  409. package/project/.sdk/tm/c/src/feature/test/.gitkeep +0 -0
  410. package/project/.sdk/tm/c/src/feature/timeout/.gitkeep +0 -0
  411. package/project/.sdk/tm/c/tests/ctest.h +58 -0
  412. package/project/.sdk/tm/c/tests/feature_harness.h +441 -0
  413. package/project/.sdk/tm/c/tests/feature_test.c +1210 -0
  414. package/project/.sdk/tm/c/tests/pipeline_test.c +561 -0
  415. package/project/.sdk/tm/c/tests/primary_utility_test.c +573 -0
  416. package/project/.sdk/tm/c/tests/runner.h +274 -0
  417. package/project/.sdk/tm/c/tests/sdk_pipeline_test.c +89 -0
  418. package/project/.sdk/tm/c/tests/struct_corpus_test.c +939 -0
  419. package/project/.sdk/tm/c/utility/clean.c +20 -0
  420. package/project/.sdk/tm/c/utility/done.c +26 -0
  421. package/project/.sdk/tm/c/utility/feature_add.c +42 -0
  422. package/project/.sdk/tm/c/utility/feature_hook.c +22 -0
  423. package/project/.sdk/tm/c/utility/feature_init.c +22 -0
  424. package/project/.sdk/tm/c/utility/fetcher.c +78 -0
  425. package/project/.sdk/tm/c/utility/jsonparse.c +11 -0
  426. package/project/.sdk/tm/c/utility/make_context.c +7 -0
  427. package/project/.sdk/tm/c/utility/make_error.c +66 -0
  428. package/project/.sdk/tm/c/utility/make_fetch_def.c +43 -0
  429. package/project/.sdk/tm/c/utility/make_options.c +179 -0
  430. package/project/.sdk/tm/c/utility/make_point.c +109 -0
  431. package/project/.sdk/tm/c/utility/make_request.c +62 -0
  432. package/project/.sdk/tm/c/utility/make_response.c +45 -0
  433. package/project/.sdk/tm/c/utility/make_result.c +61 -0
  434. package/project/.sdk/tm/c/utility/make_spec.c +60 -0
  435. package/project/.sdk/tm/c/utility/make_url.c +88 -0
  436. package/project/.sdk/tm/c/utility/param.c +58 -0
  437. package/project/.sdk/tm/c/utility/prepare_auth.c +65 -0
  438. package/project/.sdk/tm/c/utility/prepare_body.c +12 -0
  439. package/project/.sdk/tm/c/utility/prepare_headers.c +13 -0
  440. package/project/.sdk/tm/c/utility/prepare_method.c +16 -0
  441. package/project/.sdk/tm/c/utility/prepare_params.c +30 -0
  442. package/project/.sdk/tm/c/utility/prepare_path.c +17 -0
  443. package/project/.sdk/tm/c/utility/prepare_query.c +37 -0
  444. package/project/.sdk/tm/c/utility/result_basic.c +43 -0
  445. package/project/.sdk/tm/c/utility/result_body.c +17 -0
  446. package/project/.sdk/tm/c/utility/result_headers.c +17 -0
  447. package/project/.sdk/tm/c/utility/struct/inject.c +703 -0
  448. package/project/.sdk/tm/c/utility/struct/re_util.c +221 -0
  449. package/project/.sdk/tm/c/utility/struct/regex.c +1103 -0
  450. package/project/.sdk/tm/c/utility/struct/regex.h +84 -0
  451. package/project/.sdk/tm/c/utility/struct/transform.c +2224 -0
  452. package/project/.sdk/tm/c/utility/struct/utility.c +1971 -0
  453. package/project/.sdk/tm/c/utility/struct/value.c +640 -0
  454. package/project/.sdk/tm/c/utility/struct/value.h +273 -0
  455. package/project/.sdk/tm/c/utility/struct/value_io.c +366 -0
  456. package/project/.sdk/tm/c/utility/struct/value_io.h +31 -0
  457. package/project/.sdk/tm/c/utility/struct/voxgig_struct.h +216 -0
  458. package/project/.sdk/tm/c/utility/transform_request.c +21 -0
  459. package/project/.sdk/tm/c/utility/transform_response.c +36 -0
  460. package/project/.sdk/tm/clojure/LICENSE +22 -0
  461. package/project/.sdk/tm/clojure/Makefile +15 -0
  462. package/project/.sdk/tm/clojure/VERSION +1 -0
  463. package/project/.sdk/tm/clojure/src/feature/README.md +1 -0
  464. package/project/.sdk/tm/clojure/src/feature/audit/.gitkeep +0 -0
  465. package/project/.sdk/tm/clojure/src/feature/base/.gitkeep +0 -0
  466. package/project/.sdk/tm/clojure/src/feature/cache/.gitkeep +0 -0
  467. package/project/.sdk/tm/clojure/src/feature/clienttrack/.gitkeep +0 -0
  468. package/project/.sdk/tm/clojure/src/feature/debug/.gitkeep +0 -0
  469. package/project/.sdk/tm/clojure/src/feature/idempotency/.gitkeep +0 -0
  470. package/project/.sdk/tm/clojure/src/feature/log/.gitkeep +0 -0
  471. package/project/.sdk/tm/clojure/src/feature/metrics/.gitkeep +0 -0
  472. package/project/.sdk/tm/clojure/src/feature/netsim/.gitkeep +0 -0
  473. package/project/.sdk/tm/clojure/src/feature/paging/.gitkeep +0 -0
  474. package/project/.sdk/tm/clojure/src/feature/proxy/.gitkeep +0 -0
  475. package/project/.sdk/tm/clojure/src/feature/ratelimit/.gitkeep +0 -0
  476. package/project/.sdk/tm/clojure/src/feature/rbac/.gitkeep +0 -0
  477. package/project/.sdk/tm/clojure/src/feature/retry/.gitkeep +0 -0
  478. package/project/.sdk/tm/clojure/src/feature/streaming/.gitkeep +0 -0
  479. package/project/.sdk/tm/clojure/src/feature/telemetry/.gitkeep +0 -0
  480. package/project/.sdk/tm/clojure/src/feature/test/.gitkeep +0 -0
  481. package/project/.sdk/tm/clojure/src/feature/timeout/.gitkeep +0 -0
  482. package/project/.sdk/tm/clojure/src/sdk/client.clj +119 -0
  483. package/project/.sdk/tm/clojure/src/sdk/core.clj +901 -0
  484. package/project/.sdk/tm/clojure/src/sdk/features.clj +1027 -0
  485. package/project/.sdk/tm/clojure/src/voxgig/struct.clj +1734 -0
  486. package/project/.sdk/tm/clojure/test/sdk/test/feature.clj +596 -0
  487. package/project/.sdk/tm/clojure/test/sdk/test/netsim.clj +42 -0
  488. package/project/.sdk/tm/clojure/test/sdk/test/pipeline.clj +314 -0
  489. package/project/.sdk/tm/clojure/test/sdk/test/primary.clj +52 -0
  490. package/project/.sdk/tm/clojure/test/sdk/test/struct_corpus.clj +337 -0
  491. package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +39 -0
  492. package/project/.sdk/tm/clojure/test/sdk/testutil.clj +35 -0
  493. package/project/.sdk/tm/cpp/LICENSE +22 -0
  494. package/project/.sdk/tm/cpp/Makefile +36 -0
  495. package/project/.sdk/tm/cpp/VERSION +1 -0
  496. package/project/.sdk/tm/cpp/core/sdk.hpp +16 -0
  497. package/project/.sdk/tm/cpp/core/struct.hpp +225 -0
  498. package/project/.sdk/tm/cpp/core/types.hpp +1105 -0
  499. package/project/.sdk/tm/cpp/feature/audit.hpp +107 -0
  500. package/project/.sdk/tm/cpp/feature/base.hpp +34 -0
  501. package/project/.sdk/tm/cpp/feature/cache.hpp +189 -0
  502. package/project/.sdk/tm/cpp/feature/clienttrack.hpp +105 -0
  503. package/project/.sdk/tm/cpp/feature/debug.hpp +157 -0
  504. package/project/.sdk/tm/cpp/feature/idempotency.hpp +119 -0
  505. package/project/.sdk/tm/cpp/feature/log.hpp +90 -0
  506. package/project/.sdk/tm/cpp/feature/metrics.hpp +103 -0
  507. package/project/.sdk/tm/cpp/feature/netsim.hpp +152 -0
  508. package/project/.sdk/tm/cpp/feature/options.hpp +156 -0
  509. package/project/.sdk/tm/cpp/feature/paging.hpp +156 -0
  510. package/project/.sdk/tm/cpp/feature/proxy.hpp +145 -0
  511. package/project/.sdk/tm/cpp/feature/ratelimit.hpp +87 -0
  512. package/project/.sdk/tm/cpp/feature/rbac.hpp +108 -0
  513. package/project/.sdk/tm/cpp/feature/retry.hpp +130 -0
  514. package/project/.sdk/tm/cpp/feature/streaming.hpp +98 -0
  515. package/project/.sdk/tm/cpp/feature/telemetry.hpp +139 -0
  516. package/project/.sdk/tm/cpp/feature/test.hpp +289 -0
  517. package/project/.sdk/tm/cpp/feature/timeout.hpp +88 -0
  518. package/project/.sdk/tm/cpp/src/feature/README.md +1 -0
  519. package/project/.sdk/tm/cpp/src/feature/audit/.gitkeep +0 -0
  520. package/project/.sdk/tm/cpp/src/feature/base/.gitkeep +0 -0
  521. package/project/.sdk/tm/cpp/src/feature/cache/.gitkeep +0 -0
  522. package/project/.sdk/tm/cpp/src/feature/clienttrack/.gitkeep +0 -0
  523. package/project/.sdk/tm/cpp/src/feature/debug/.gitkeep +0 -0
  524. package/project/.sdk/tm/cpp/src/feature/idempotency/.gitkeep +0 -0
  525. package/project/.sdk/tm/cpp/src/feature/log/.gitkeep +0 -0
  526. package/project/.sdk/tm/cpp/src/feature/metrics/.gitkeep +0 -0
  527. package/project/.sdk/tm/cpp/src/feature/netsim/.gitkeep +0 -0
  528. package/project/.sdk/tm/cpp/src/feature/paging/.gitkeep +0 -0
  529. package/project/.sdk/tm/cpp/src/feature/proxy/.gitkeep +0 -0
  530. package/project/.sdk/tm/cpp/src/feature/ratelimit/.gitkeep +0 -0
  531. package/project/.sdk/tm/cpp/src/feature/rbac/.gitkeep +0 -0
  532. package/project/.sdk/tm/cpp/src/feature/retry/.gitkeep +0 -0
  533. package/project/.sdk/tm/cpp/src/feature/streaming/.gitkeep +0 -0
  534. package/project/.sdk/tm/cpp/src/feature/telemetry/.gitkeep +0 -0
  535. package/project/.sdk/tm/cpp/src/feature/test/.gitkeep +0 -0
  536. package/project/.sdk/tm/cpp/src/feature/timeout/.gitkeep +0 -0
  537. package/project/.sdk/tm/cpp/test/custom_utility_test.cpp +57 -0
  538. package/project/.sdk/tm/cpp/test/exists_test.cpp +16 -0
  539. package/project/.sdk/tm/cpp/test/feature_test.cpp +911 -0
  540. package/project/.sdk/tm/cpp/test/harness.hpp +344 -0
  541. package/project/.sdk/tm/cpp/test/netsim_test.cpp +48 -0
  542. package/project/.sdk/tm/cpp/test/pipeline_test.cpp +526 -0
  543. package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +841 -0
  544. package/project/.sdk/tm/cpp/test/runner_support.hpp +437 -0
  545. package/project/.sdk/tm/cpp/test/sdk-test-control.json +19 -0
  546. package/project/.sdk/tm/cpp/test/struct_corpus_test.cpp +494 -0
  547. package/project/.sdk/tm/cpp/test/struct_runner.hpp +314 -0
  548. package/project/.sdk/tm/cpp/test/testlib.hpp +82 -0
  549. package/project/.sdk/tm/cpp/utility/pipeline.hpp +1054 -0
  550. package/project/.sdk/tm/cpp/utility/voxgigstruct/value.hpp +525 -0
  551. package/project/.sdk/tm/cpp/utility/voxgigstruct/value_io.hpp +315 -0
  552. package/project/.sdk/tm/cpp/utility/voxgigstruct/voxgig_struct.hpp +3379 -0
  553. package/project/.sdk/tm/csharp/LICENSE +22 -0
  554. package/project/.sdk/tm/csharp/Makefile +43 -0
  555. package/project/.sdk/tm/csharp/VERSION +1 -0
  556. package/project/.sdk/tm/csharp/core/Context.cs +257 -0
  557. package/project/.sdk/tm/csharp/core/Control.cs +17 -0
  558. package/project/.sdk/tm/csharp/core/Helpers.cs +61 -0
  559. package/project/.sdk/tm/csharp/core/Operation.cs +51 -0
  560. package/project/.sdk/tm/csharp/core/Point.cs +68 -0
  561. package/project/.sdk/tm/csharp/core/Response.cs +45 -0
  562. package/project/.sdk/tm/csharp/core/Result.cs +63 -0
  563. package/project/.sdk/tm/csharp/core/Spec.cs +81 -0
  564. package/project/.sdk/tm/csharp/core/Types.cs +21 -0
  565. package/project/.sdk/tm/csharp/core/Utility.cs +88 -0
  566. package/project/.sdk/tm/csharp/feature/AuditFeature.cs +116 -0
  567. package/project/.sdk/tm/csharp/feature/BaseFeature.cs +39 -0
  568. package/project/.sdk/tm/csharp/feature/CacheFeature.cs +186 -0
  569. package/project/.sdk/tm/csharp/feature/ClienttrackFeature.cs +103 -0
  570. package/project/.sdk/tm/csharp/feature/DebugFeature.cs +157 -0
  571. package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +197 -0
  572. package/project/.sdk/tm/csharp/feature/IdempotencyFeature.cs +97 -0
  573. package/project/.sdk/tm/csharp/feature/LogFeature.cs +109 -0
  574. package/project/.sdk/tm/csharp/feature/MetricsFeature.cs +117 -0
  575. package/project/.sdk/tm/csharp/feature/NetsimFeature.cs +200 -0
  576. package/project/.sdk/tm/csharp/feature/PagingFeature.cs +187 -0
  577. package/project/.sdk/tm/csharp/feature/ProxyFeature.cs +138 -0
  578. package/project/.sdk/tm/csharp/feature/RatelimitFeature.cs +89 -0
  579. package/project/.sdk/tm/csharp/feature/RbacFeature.cs +124 -0
  580. package/project/.sdk/tm/csharp/feature/RetryFeature.cs +174 -0
  581. package/project/.sdk/tm/csharp/feature/StreamingFeature.cs +93 -0
  582. package/project/.sdk/tm/csharp/feature/TelemetryFeature.cs +145 -0
  583. package/project/.sdk/tm/csharp/feature/TestFeature.cs +368 -0
  584. package/project/.sdk/tm/csharp/feature/TimeoutFeature.cs +69 -0
  585. package/project/.sdk/tm/csharp/src/feature/README.md +1 -0
  586. package/project/.sdk/tm/csharp/src/feature/audit/.gitkeep +0 -0
  587. package/project/.sdk/tm/csharp/src/feature/base/.gitkeep +0 -0
  588. package/project/.sdk/tm/csharp/src/feature/cache/.gitkeep +0 -0
  589. package/project/.sdk/tm/csharp/src/feature/clienttrack/.gitkeep +0 -0
  590. package/project/.sdk/tm/csharp/src/feature/debug/.gitkeep +0 -0
  591. package/project/.sdk/tm/csharp/src/feature/idempotency/.gitkeep +0 -0
  592. package/project/.sdk/tm/csharp/src/feature/log/.gitkeep +0 -0
  593. package/project/.sdk/tm/csharp/src/feature/metrics/.gitkeep +0 -0
  594. package/project/.sdk/tm/csharp/src/feature/netsim/.gitkeep +0 -0
  595. package/project/.sdk/tm/csharp/src/feature/paging/.gitkeep +0 -0
  596. package/project/.sdk/tm/csharp/src/feature/proxy/.gitkeep +0 -0
  597. package/project/.sdk/tm/csharp/src/feature/ratelimit/.gitkeep +0 -0
  598. package/project/.sdk/tm/csharp/src/feature/rbac/.gitkeep +0 -0
  599. package/project/.sdk/tm/csharp/src/feature/retry/.gitkeep +0 -0
  600. package/project/.sdk/tm/csharp/src/feature/streaming/.gitkeep +0 -0
  601. package/project/.sdk/tm/csharp/src/feature/telemetry/.gitkeep +0 -0
  602. package/project/.sdk/tm/csharp/src/feature/test/.gitkeep +0 -0
  603. package/project/.sdk/tm/csharp/src/feature/timeout/.gitkeep +0 -0
  604. package/project/.sdk/tm/csharp/test/CustomUtilityTest.cs +51 -0
  605. package/project/.sdk/tm/csharp/test/ExistsTest.cs +17 -0
  606. package/project/.sdk/tm/csharp/test/FeatureTest.cs +1653 -0
  607. package/project/.sdk/tm/csharp/test/NetsimTest.cs +67 -0
  608. package/project/.sdk/tm/csharp/test/PipelineTest.cs +605 -0
  609. package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +957 -0
  610. package/project/.sdk/tm/csharp/test/Runner.cs +626 -0
  611. package/project/.sdk/tm/csharp/test/StructRunner.cs +276 -0
  612. package/project/.sdk/tm/csharp/test/StructUtilityTest.cs +1273 -0
  613. package/project/.sdk/tm/csharp/test/sdk-test-control.json +19 -0
  614. package/project/.sdk/tm/csharp/utility/Clean.cs +11 -0
  615. package/project/.sdk/tm/csharp/utility/Done.cs +28 -0
  616. package/project/.sdk/tm/csharp/utility/FeatureAdd.cs +54 -0
  617. package/project/.sdk/tm/csharp/utility/FeatureHook.cs +35 -0
  618. package/project/.sdk/tm/csharp/utility/FeatureInit.cs +28 -0
  619. package/project/.sdk/tm/csharp/utility/Fetcher.cs +181 -0
  620. package/project/.sdk/tm/csharp/utility/MakeContext.cs +11 -0
  621. package/project/.sdk/tm/csharp/utility/MakeError.cs +69 -0
  622. package/project/.sdk/tm/csharp/utility/MakeFetchDef.cs +38 -0
  623. package/project/.sdk/tm/csharp/utility/MakeOptions.cs +203 -0
  624. package/project/.sdk/tm/csharp/utility/MakePoint.cs +127 -0
  625. package/project/.sdk/tm/csharp/utility/MakeRequest.cs +87 -0
  626. package/project/.sdk/tm/csharp/utility/MakeResponse.cs +55 -0
  627. package/project/.sdk/tm/csharp/utility/MakeResult.cs +64 -0
  628. package/project/.sdk/tm/csharp/utility/MakeSpec.cs +64 -0
  629. package/project/.sdk/tm/csharp/utility/MakeUrl.cs +54 -0
  630. package/project/.sdk/tm/csharp/utility/Param.cs +67 -0
  631. package/project/.sdk/tm/csharp/utility/PrepareAuth.cs +54 -0
  632. package/project/.sdk/tm/csharp/utility/PrepareBody.cs +19 -0
  633. package/project/.sdk/tm/csharp/utility/PrepareHeaders.cs +22 -0
  634. package/project/.sdk/tm/csharp/utility/PrepareMethod.cs +22 -0
  635. package/project/.sdk/tm/csharp/utility/PrepareParams.cs +38 -0
  636. package/project/.sdk/tm/csharp/utility/PreparePath.cs +18 -0
  637. package/project/.sdk/tm/csharp/utility/PrepareQuery.cs +40 -0
  638. package/project/.sdk/tm/csharp/utility/Register.cs +41 -0
  639. package/project/.sdk/tm/csharp/utility/ResultBasic.cs +39 -0
  640. package/project/.sdk/tm/csharp/utility/ResultBody.cs +22 -0
  641. package/project/.sdk/tm/csharp/utility/ResultHeaders.cs +26 -0
  642. package/project/.sdk/tm/csharp/utility/TransformRequest.cs +39 -0
  643. package/project/.sdk/tm/csharp/utility/TransformResponse.cs +53 -0
  644. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +3582 -0
  645. package/project/.sdk/tm/dart/LICENSE +22 -0
  646. package/project/.sdk/tm/dart/Makefile +50 -0
  647. package/project/.sdk/tm/dart/lib/Context.dart +150 -0
  648. package/project/.sdk/tm/dart/lib/Control.dart +15 -0
  649. package/project/.sdk/tm/dart/lib/Operation.dart +31 -0
  650. package/project/.sdk/tm/dart/lib/Point.dart +43 -0
  651. package/project/.sdk/tm/dart/lib/Response.dart +32 -0
  652. package/project/.sdk/tm/dart/lib/Result.dart +39 -0
  653. package/project/.sdk/tm/dart/lib/Spec.dart +49 -0
  654. package/project/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +103 -0
  655. package/project/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +76 -0
  656. package/project/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +152 -0
  657. package/project/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +104 -0
  658. package/project/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +153 -0
  659. package/project/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +92 -0
  660. package/project/.sdk/tm/dart/lib/feature/log/LogFeature.dart +85 -0
  661. package/project/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +103 -0
  662. package/project/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +186 -0
  663. package/project/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +145 -0
  664. package/project/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +118 -0
  665. package/project/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +103 -0
  666. package/project/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +121 -0
  667. package/project/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +155 -0
  668. package/project/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +97 -0
  669. package/project/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +136 -0
  670. package/project/.sdk/tm/dart/lib/feature/test/TestFeature.dart +270 -0
  671. package/project/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +104 -0
  672. package/project/.sdk/tm/dart/lib/utility/CleanUtility.dart +12 -0
  673. package/project/.sdk/tm/dart/lib/utility/DoneUtility.dart +18 -0
  674. package/project/.sdk/tm/dart/lib/utility/ErrUtility.dart +46 -0
  675. package/project/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +35 -0
  676. package/project/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +20 -0
  677. package/project/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +9 -0
  678. package/project/.sdk/tm/dart/lib/utility/FetcherUtility.dart +95 -0
  679. package/project/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +6 -0
  680. package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +67 -0
  681. package/project/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +42 -0
  682. package/project/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +147 -0
  683. package/project/.sdk/tm/dart/lib/utility/MakePointUtility.dart +84 -0
  684. package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +63 -0
  685. package/project/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +54 -0
  686. package/project/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +49 -0
  687. package/project/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +61 -0
  688. package/project/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +51 -0
  689. package/project/.sdk/tm/dart/lib/utility/ParamUtility.dart +56 -0
  690. package/project/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +46 -0
  691. package/project/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +19 -0
  692. package/project/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +11 -0
  693. package/project/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +15 -0
  694. package/project/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +23 -0
  695. package/project/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +9 -0
  696. package/project/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +18 -0
  697. package/project/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +29 -0
  698. package/project/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +15 -0
  699. package/project/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +18 -0
  700. package/project/.sdk/tm/dart/lib/utility/StructUtility.dart +127 -0
  701. package/project/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +28 -0
  702. package/project/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +44 -0
  703. package/project/.sdk/tm/dart/lib/utility/Utility.dart +230 -0
  704. package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +2456 -0
  705. package/project/.sdk/tm/dart/src/feature/README.md +3 -0
  706. package/project/.sdk/tm/dart/src/feature/audit/.gitkeep +0 -0
  707. package/project/.sdk/tm/dart/src/feature/base/.gitkeep +0 -0
  708. package/project/.sdk/tm/dart/src/feature/cache/.gitkeep +0 -0
  709. package/project/.sdk/tm/dart/src/feature/clienttrack/.gitkeep +0 -0
  710. package/project/.sdk/tm/dart/src/feature/debug/.gitkeep +0 -0
  711. package/project/.sdk/tm/dart/src/feature/idempotency/.gitkeep +0 -0
  712. package/project/.sdk/tm/dart/src/feature/log/.gitkeep +0 -0
  713. package/project/.sdk/tm/dart/src/feature/metrics/.gitkeep +0 -0
  714. package/project/.sdk/tm/dart/src/feature/netsim/.gitkeep +0 -0
  715. package/project/.sdk/tm/dart/src/feature/paging/.gitkeep +0 -0
  716. package/project/.sdk/tm/dart/src/feature/proxy/.gitkeep +0 -0
  717. package/project/.sdk/tm/dart/src/feature/ratelimit/.gitkeep +0 -0
  718. package/project/.sdk/tm/dart/src/feature/rbac/.gitkeep +0 -0
  719. package/project/.sdk/tm/dart/src/feature/retry/.gitkeep +0 -0
  720. package/project/.sdk/tm/dart/src/feature/streaming/.gitkeep +0 -0
  721. package/project/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
  722. package/project/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
  723. package/project/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
  724. package/project/.sdk/tm/dart/test/custom_test.dart +65 -0
  725. package/project/.sdk/tm/dart/test/exists_test.dart +12 -0
  726. package/project/.sdk/tm/dart/test/feature/harness.dart +329 -0
  727. package/project/.sdk/tm/dart/test/feature_test.dart +1139 -0
  728. package/project/.sdk/tm/dart/test/harness.dart +153 -0
  729. package/project/.sdk/tm/dart/test/netsim_test.dart +48 -0
  730. package/project/.sdk/tm/dart/test/pipeline_test.dart +608 -0
  731. package/project/.sdk/tm/dart/test/primary_test.dart +411 -0
  732. package/project/.sdk/tm/dart/test/runner.dart +406 -0
  733. package/project/.sdk/tm/dart/test/sdk-test-control.json +19 -0
  734. package/project/.sdk/tm/dart/test/struct_corpus.dart +531 -0
  735. package/project/.sdk/tm/dart/test/struct_test.dart +41 -0
  736. package/project/.sdk/tm/dart/test/utility.dart +159 -0
  737. package/project/.sdk/tm/elixir/LICENSE +21 -0
  738. package/project/.sdk/tm/elixir/Makefile +15 -0
  739. package/project/.sdk/tm/elixir/VERSION +1 -0
  740. package/project/.sdk/tm/elixir/lib/projectname/context.ex +138 -0
  741. package/project/.sdk/tm/elixir/lib/projectname/core.ex +125 -0
  742. package/project/.sdk/tm/elixir/lib/projectname/entity_base.ex +155 -0
  743. package/project/.sdk/tm/elixir/lib/projectname/error.ex +16 -0
  744. package/project/.sdk/tm/elixir/lib/projectname/feature/audit.ex +125 -0
  745. package/project/.sdk/tm/elixir/lib/projectname/feature/cache.ex +170 -0
  746. package/project/.sdk/tm/elixir/lib/projectname/feature/clienttrack.ex +136 -0
  747. package/project/.sdk/tm/elixir/lib/projectname/feature/debug.ex +232 -0
  748. package/project/.sdk/tm/elixir/lib/projectname/feature/idempotency.ex +107 -0
  749. package/project/.sdk/tm/elixir/lib/projectname/feature/log.ex +62 -0
  750. package/project/.sdk/tm/elixir/lib/projectname/feature/metrics.ex +130 -0
  751. package/project/.sdk/tm/elixir/lib/projectname/feature/netsim.ex +213 -0
  752. package/project/.sdk/tm/elixir/lib/projectname/feature/paging.ex +191 -0
  753. package/project/.sdk/tm/elixir/lib/projectname/feature/proxy.ex +142 -0
  754. package/project/.sdk/tm/elixir/lib/projectname/feature/ratelimit.ex +81 -0
  755. package/project/.sdk/tm/elixir/lib/projectname/feature/rbac.ex +139 -0
  756. package/project/.sdk/tm/elixir/lib/projectname/feature/retry.ex +150 -0
  757. package/project/.sdk/tm/elixir/lib/projectname/feature/streaming.ex +107 -0
  758. package/project/.sdk/tm/elixir/lib/projectname/feature/telemetry.ex +172 -0
  759. package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +285 -0
  760. package/project/.sdk/tm/elixir/lib/projectname/feature/timeout.ex +64 -0
  761. package/project/.sdk/tm/elixir/lib/projectname/feature.ex +90 -0
  762. package/project/.sdk/tm/elixir/lib/projectname/helpers.ex +66 -0
  763. package/project/.sdk/tm/elixir/lib/projectname/json.ex +115 -0
  764. package/project/.sdk/tm/elixir/lib/projectname/utility.ex +1257 -0
  765. package/project/.sdk/tm/elixir/lib/utility/struct/voxgig_struct.ex +2615 -0
  766. package/project/.sdk/tm/elixir/src/feature/README.md +3 -0
  767. package/project/.sdk/tm/elixir/src/feature/audit/.gitkeep +0 -0
  768. package/project/.sdk/tm/elixir/src/feature/base/.gitkeep +0 -0
  769. package/project/.sdk/tm/elixir/src/feature/cache/.gitkeep +0 -0
  770. package/project/.sdk/tm/elixir/src/feature/clienttrack/.gitkeep +0 -0
  771. package/project/.sdk/tm/elixir/src/feature/debug/.gitkeep +0 -0
  772. package/project/.sdk/tm/elixir/src/feature/idempotency/.gitkeep +0 -0
  773. package/project/.sdk/tm/elixir/src/feature/log/.gitkeep +0 -0
  774. package/project/.sdk/tm/elixir/src/feature/metrics/.gitkeep +0 -0
  775. package/project/.sdk/tm/elixir/src/feature/netsim/.gitkeep +0 -0
  776. package/project/.sdk/tm/elixir/src/feature/paging/.gitkeep +0 -0
  777. package/project/.sdk/tm/elixir/src/feature/proxy/.gitkeep +0 -0
  778. package/project/.sdk/tm/elixir/src/feature/ratelimit/.gitkeep +0 -0
  779. package/project/.sdk/tm/elixir/src/feature/rbac/.gitkeep +0 -0
  780. package/project/.sdk/tm/elixir/src/feature/retry/.gitkeep +0 -0
  781. package/project/.sdk/tm/elixir/src/feature/streaming/.gitkeep +0 -0
  782. package/project/.sdk/tm/elixir/src/feature/telemetry/.gitkeep +0 -0
  783. package/project/.sdk/tm/elixir/src/feature/test/.gitkeep +0 -0
  784. package/project/.sdk/tm/elixir/src/feature/timeout/.gitkeep +0 -0
  785. package/project/.sdk/tm/elixir/test/feature_test.exs +879 -0
  786. package/project/.sdk/tm/elixir/test/netsim_test.exs +58 -0
  787. package/project/.sdk/tm/elixir/test/pipeline_test.exs +558 -0
  788. package/project/.sdk/tm/elixir/test/primary_utility_test.exs +133 -0
  789. package/project/.sdk/tm/elixir/test/stream_test.exs +119 -0
  790. package/project/.sdk/tm/elixir/test/struct_corpus_test.exs +18 -0
  791. package/project/.sdk/tm/elixir/test/support/feature_harness.ex +346 -0
  792. package/project/.sdk/tm/elixir/test/support/struct_corpus.ex +677 -0
  793. package/project/.sdk/tm/elixir/test/test_helper.exs +1 -0
  794. package/project/.sdk/tm/go/core/context.go +10 -0
  795. package/project/.sdk/tm/go/core/control.go +2 -0
  796. package/project/.sdk/tm/go/core/result.go +6 -0
  797. package/project/.sdk/tm/go/core/types.go +1 -0
  798. package/project/.sdk/tm/go/feature/audit_feature.go +110 -0
  799. package/project/.sdk/tm/go/feature/base_feature.go +8 -0
  800. package/project/.sdk/tm/go/feature/cache_feature.go +171 -0
  801. package/project/.sdk/tm/go/feature/clienttrack_feature.go +100 -0
  802. package/project/.sdk/tm/go/feature/debug_feature.go +159 -0
  803. package/project/.sdk/tm/go/feature/feature_options.go +204 -0
  804. package/project/.sdk/tm/go/feature/idempotency_feature.go +115 -0
  805. package/project/.sdk/tm/go/feature/metrics_feature.go +112 -0
  806. package/project/.sdk/tm/go/feature/netsim_feature.go +184 -0
  807. package/project/.sdk/tm/go/feature/paging_feature.go +173 -0
  808. package/project/.sdk/tm/go/feature/proxy_feature.go +121 -0
  809. package/project/.sdk/tm/go/feature/ratelimit_feature.go +88 -0
  810. package/project/.sdk/tm/go/feature/rbac_feature.go +126 -0
  811. package/project/.sdk/tm/go/feature/retry_feature.go +165 -0
  812. package/project/.sdk/tm/go/feature/streaming_feature.go +119 -0
  813. package/project/.sdk/tm/go/feature/telemetry_feature.go +142 -0
  814. package/project/.sdk/tm/go/feature/test_feature.go +78 -3
  815. package/project/.sdk/tm/go/feature/timeout_feature.go +88 -0
  816. package/project/.sdk/tm/go/src/feature/audit/.gitkeep +0 -0
  817. package/project/.sdk/tm/go/src/feature/cache/.gitkeep +0 -0
  818. package/project/.sdk/tm/go/src/feature/clienttrack/.gitkeep +0 -0
  819. package/project/.sdk/tm/go/src/feature/debug/.gitkeep +0 -0
  820. package/project/.sdk/tm/go/src/feature/idempotency/.gitkeep +0 -0
  821. package/project/.sdk/tm/go/src/feature/metrics/.gitkeep +0 -0
  822. package/project/.sdk/tm/go/src/feature/netsim/.gitkeep +0 -0
  823. package/project/.sdk/tm/go/src/feature/paging/.gitkeep +0 -0
  824. package/project/.sdk/tm/go/src/feature/proxy/.gitkeep +0 -0
  825. package/project/.sdk/tm/go/src/feature/ratelimit/.gitkeep +0 -0
  826. package/project/.sdk/tm/go/src/feature/rbac/.gitkeep +0 -0
  827. package/project/.sdk/tm/go/src/feature/retry/.gitkeep +0 -0
  828. package/project/.sdk/tm/go/src/feature/streaming/.gitkeep +0 -0
  829. package/project/.sdk/tm/go/src/feature/telemetry/.gitkeep +0 -0
  830. package/project/.sdk/tm/go/src/feature/timeout/.gitkeep +0 -0
  831. package/project/.sdk/tm/go/test/feature_test.go +1465 -0
  832. package/project/.sdk/tm/go/test/netsim_test.go +70 -0
  833. package/project/.sdk/tm/go/test/pipeline_test.go +571 -0
  834. package/project/.sdk/tm/go/utility/feature_add.go +38 -0
  835. package/project/.sdk/tm/go/utility/fetcher.go +13 -1
  836. package/project/.sdk/tm/go/utility/make_error.go +8 -0
  837. package/project/.sdk/tm/go/utility/make_options.go +62 -0
  838. package/project/.sdk/tm/go/utility/make_point.go +6 -0
  839. package/project/.sdk/tm/go-cli/src/feature/audit/.gitkeep +0 -0
  840. package/project/.sdk/tm/go-cli/src/feature/cache/.gitkeep +0 -0
  841. package/project/.sdk/tm/go-cli/src/feature/clienttrack/.gitkeep +0 -0
  842. package/project/.sdk/tm/go-cli/src/feature/debug/.gitkeep +0 -0
  843. package/project/.sdk/tm/go-cli/src/feature/idempotency/.gitkeep +0 -0
  844. package/project/.sdk/tm/go-cli/src/feature/metrics/.gitkeep +0 -0
  845. package/project/.sdk/tm/go-cli/src/feature/netsim/.gitkeep +0 -0
  846. package/project/.sdk/tm/go-cli/src/feature/paging/.gitkeep +0 -0
  847. package/project/.sdk/tm/go-cli/src/feature/proxy/.gitkeep +0 -0
  848. package/project/.sdk/tm/go-cli/src/feature/ratelimit/.gitkeep +0 -0
  849. package/project/.sdk/tm/go-cli/src/feature/rbac/.gitkeep +0 -0
  850. package/project/.sdk/tm/go-cli/src/feature/retry/.gitkeep +0 -0
  851. package/project/.sdk/tm/go-cli/src/feature/streaming/.gitkeep +0 -0
  852. package/project/.sdk/tm/go-cli/src/feature/telemetry/.gitkeep +0 -0
  853. package/project/.sdk/tm/go-cli/src/feature/timeout/.gitkeep +0 -0
  854. package/project/.sdk/tm/go-mcp/src/feature/audit/.gitkeep +0 -0
  855. package/project/.sdk/tm/go-mcp/src/feature/cache/.gitkeep +0 -0
  856. package/project/.sdk/tm/go-mcp/src/feature/clienttrack/.gitkeep +0 -0
  857. package/project/.sdk/tm/go-mcp/src/feature/debug/.gitkeep +0 -0
  858. package/project/.sdk/tm/go-mcp/src/feature/idempotency/.gitkeep +0 -0
  859. package/project/.sdk/tm/go-mcp/src/feature/metrics/.gitkeep +0 -0
  860. package/project/.sdk/tm/go-mcp/src/feature/netsim/.gitkeep +0 -0
  861. package/project/.sdk/tm/go-mcp/src/feature/paging/.gitkeep +0 -0
  862. package/project/.sdk/tm/go-mcp/src/feature/proxy/.gitkeep +0 -0
  863. package/project/.sdk/tm/go-mcp/src/feature/ratelimit/.gitkeep +0 -0
  864. package/project/.sdk/tm/go-mcp/src/feature/rbac/.gitkeep +0 -0
  865. package/project/.sdk/tm/go-mcp/src/feature/retry/.gitkeep +0 -0
  866. package/project/.sdk/tm/go-mcp/src/feature/streaming/.gitkeep +0 -0
  867. package/project/.sdk/tm/go-mcp/src/feature/telemetry/.gitkeep +0 -0
  868. package/project/.sdk/tm/go-mcp/src/feature/timeout/.gitkeep +0 -0
  869. package/project/.sdk/tm/haskell/LICENSE +21 -0
  870. package/project/.sdk/tm/haskell/Makefile +22 -0
  871. package/project/.sdk/tm/haskell/VERSION +1 -0
  872. package/project/.sdk/tm/haskell/src/SdkFeatures.hs +1278 -0
  873. package/project/.sdk/tm/haskell/src/SdkHelpers.hs +337 -0
  874. package/project/.sdk/tm/haskell/src/SdkRuntime.hs +1007 -0
  875. package/project/.sdk/tm/haskell/src/SdkTypes.hs +186 -0
  876. package/project/.sdk/tm/haskell/src/VoxgigStruct.hs +2299 -0
  877. package/project/.sdk/tm/haskell/src/Vregex.hs +237 -0
  878. package/project/.sdk/tm/haskell/src/feature/README.md +5 -0
  879. package/project/.sdk/tm/haskell/src/feature/audit/.gitkeep +0 -0
  880. package/project/.sdk/tm/haskell/src/feature/base/.gitkeep +0 -0
  881. package/project/.sdk/tm/haskell/src/feature/cache/.gitkeep +0 -0
  882. package/project/.sdk/tm/haskell/src/feature/clienttrack/.gitkeep +0 -0
  883. package/project/.sdk/tm/haskell/src/feature/debug/.gitkeep +0 -0
  884. package/project/.sdk/tm/haskell/src/feature/idempotency/.gitkeep +0 -0
  885. package/project/.sdk/tm/haskell/src/feature/log/.gitkeep +0 -0
  886. package/project/.sdk/tm/haskell/src/feature/metrics/.gitkeep +0 -0
  887. package/project/.sdk/tm/haskell/src/feature/netsim/.gitkeep +0 -0
  888. package/project/.sdk/tm/haskell/src/feature/paging/.gitkeep +0 -0
  889. package/project/.sdk/tm/haskell/src/feature/proxy/.gitkeep +0 -0
  890. package/project/.sdk/tm/haskell/src/feature/ratelimit/.gitkeep +0 -0
  891. package/project/.sdk/tm/haskell/src/feature/rbac/.gitkeep +0 -0
  892. package/project/.sdk/tm/haskell/src/feature/retry/.gitkeep +0 -0
  893. package/project/.sdk/tm/haskell/src/feature/streaming/.gitkeep +0 -0
  894. package/project/.sdk/tm/haskell/src/feature/telemetry/.gitkeep +0 -0
  895. package/project/.sdk/tm/haskell/src/feature/test/.gitkeep +0 -0
  896. package/project/.sdk/tm/haskell/src/feature/timeout/.gitkeep +0 -0
  897. package/project/.sdk/tm/haskell/test/Harness.hs +276 -0
  898. package/project/.sdk/tm/haskell/test/Runner.hs +47 -0
  899. package/project/.sdk/tm/haskell/test/StructCorpus.hs +449 -0
  900. package/project/.sdk/tm/haskell/test/TCustomUtility.hs +38 -0
  901. package/project/.sdk/tm/haskell/test/TFeature.hs +794 -0
  902. package/project/.sdk/tm/haskell/test/TNetsim.hs +50 -0
  903. package/project/.sdk/tm/haskell/test/TPipeline.hs +334 -0
  904. package/project/.sdk/tm/haskell/test/TPrimaryUtility.hs +386 -0
  905. package/project/.sdk/tm/haskell/test/TestJson.hs +107 -0
  906. package/project/.sdk/tm/haskell/test/Testutil.hs +59 -0
  907. package/project/.sdk/tm/java/LICENSE +22 -0
  908. package/project/.sdk/tm/java/Makefile +44 -0
  909. package/project/.sdk/tm/java/VERSION +1 -0
  910. package/project/.sdk/tm/java/core/Context.java +269 -0
  911. package/project/.sdk/tm/java/core/Control.java +23 -0
  912. package/project/.sdk/tm/java/core/Entity.java +13 -0
  913. package/project/.sdk/tm/java/core/Feature.java +45 -0
  914. package/project/.sdk/tm/java/core/FeaturePlacement.java +13 -0
  915. package/project/.sdk/tm/java/core/Helpers.java +50 -0
  916. package/project/.sdk/tm/java/core/Operation.java +47 -0
  917. package/project/.sdk/tm/java/core/Point.java +90 -0
  918. package/project/.sdk/tm/java/core/Response.java +48 -0
  919. package/project/.sdk/tm/java/core/Result.java +64 -0
  920. package/project/.sdk/tm/java/core/SdkClient.java +280 -0
  921. package/project/.sdk/tm/java/core/SdkEntity.java +28 -0
  922. package/project/.sdk/tm/java/core/Spec.java +84 -0
  923. package/project/.sdk/tm/java/core/Utility.java +128 -0
  924. package/project/.sdk/tm/java/feature/AuditFeature.java +113 -0
  925. package/project/.sdk/tm/java/feature/BaseFeature.java +91 -0
  926. package/project/.sdk/tm/java/feature/CacheFeature.java +184 -0
  927. package/project/.sdk/tm/java/feature/ClienttrackFeature.java +103 -0
  928. package/project/.sdk/tm/java/feature/DebugFeature.java +163 -0
  929. package/project/.sdk/tm/java/feature/FeatureOptions.java +204 -0
  930. package/project/.sdk/tm/java/feature/IdempotencyFeature.java +115 -0
  931. package/project/.sdk/tm/java/feature/LogFeature.java +143 -0
  932. package/project/.sdk/tm/java/feature/MetricsFeature.java +115 -0
  933. package/project/.sdk/tm/java/feature/NetsimFeature.java +181 -0
  934. package/project/.sdk/tm/java/feature/PagingFeature.java +178 -0
  935. package/project/.sdk/tm/java/feature/ProxyFeature.java +122 -0
  936. package/project/.sdk/tm/java/feature/RatelimitFeature.java +83 -0
  937. package/project/.sdk/tm/java/feature/RbacFeature.java +132 -0
  938. package/project/.sdk/tm/java/feature/RetryFeature.java +156 -0
  939. package/project/.sdk/tm/java/feature/StreamingFeature.java +110 -0
  940. package/project/.sdk/tm/java/feature/TelemetryFeature.java +146 -0
  941. package/project/.sdk/tm/java/feature/TestFeature.java +333 -0
  942. package/project/.sdk/tm/java/feature/TimeoutFeature.java +89 -0
  943. package/project/.sdk/tm/java/src/feature/README.md +1 -0
  944. package/project/.sdk/tm/java/src/feature/audit/.gitkeep +0 -0
  945. package/project/.sdk/tm/java/src/feature/base/.gitkeep +0 -0
  946. package/project/.sdk/tm/java/src/feature/cache/.gitkeep +0 -0
  947. package/project/.sdk/tm/java/src/feature/clienttrack/.gitkeep +0 -0
  948. package/project/.sdk/tm/java/src/feature/debug/.gitkeep +0 -0
  949. package/project/.sdk/tm/java/src/feature/idempotency/.gitkeep +0 -0
  950. package/project/.sdk/tm/java/src/feature/log/.gitkeep +0 -0
  951. package/project/.sdk/tm/java/src/feature/metrics/.gitkeep +0 -0
  952. package/project/.sdk/tm/java/src/feature/netsim/.gitkeep +0 -0
  953. package/project/.sdk/tm/java/src/feature/paging/.gitkeep +0 -0
  954. package/project/.sdk/tm/java/src/feature/proxy/.gitkeep +0 -0
  955. package/project/.sdk/tm/java/src/feature/ratelimit/.gitkeep +0 -0
  956. package/project/.sdk/tm/java/src/feature/rbac/.gitkeep +0 -0
  957. package/project/.sdk/tm/java/src/feature/retry/.gitkeep +0 -0
  958. package/project/.sdk/tm/java/src/feature/streaming/.gitkeep +0 -0
  959. package/project/.sdk/tm/java/src/feature/telemetry/.gitkeep +0 -0
  960. package/project/.sdk/tm/java/src/feature/test/.gitkeep +0 -0
  961. package/project/.sdk/tm/java/src/feature/timeout/.gitkeep +0 -0
  962. package/project/.sdk/tm/java/test/CustomUtilityTest.java +59 -0
  963. package/project/.sdk/tm/java/test/ExistsTest.java +16 -0
  964. package/project/.sdk/tm/java/test/FeatureHarness.java +448 -0
  965. package/project/.sdk/tm/java/test/FeatureTest.java +1018 -0
  966. package/project/.sdk/tm/java/test/NetsimTest.java +59 -0
  967. package/project/.sdk/tm/java/test/PipelineTest.java +618 -0
  968. package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +864 -0
  969. package/project/.sdk/tm/java/test/RunnerSupport.java +545 -0
  970. package/project/.sdk/tm/java/test/StructCorpusTest.java +351 -0
  971. package/project/.sdk/tm/java/test/StructRunner.java +281 -0
  972. package/project/.sdk/tm/java/test/sdk-test-control.json +19 -0
  973. package/project/.sdk/tm/java/utility/Clean.java +12 -0
  974. package/project/.sdk/tm/java/utility/Done.java +29 -0
  975. package/project/.sdk/tm/java/utility/FeatureAdd.java +59 -0
  976. package/project/.sdk/tm/java/utility/FeatureHookUtil.java +72 -0
  977. package/project/.sdk/tm/java/utility/FeatureInit.java +35 -0
  978. package/project/.sdk/tm/java/utility/Fetcher.java +170 -0
  979. package/project/.sdk/tm/java/utility/Json.java +268 -0
  980. package/project/.sdk/tm/java/utility/MakeContext.java +14 -0
  981. package/project/.sdk/tm/java/utility/MakeError.java +81 -0
  982. package/project/.sdk/tm/java/utility/MakeFetchDef.java +48 -0
  983. package/project/.sdk/tm/java/utility/MakeOptions.java +168 -0
  984. package/project/.sdk/tm/java/utility/MakePoint.java +118 -0
  985. package/project/.sdk/tm/java/utility/MakeRequest.java +83 -0
  986. package/project/.sdk/tm/java/utility/MakeResponse.java +54 -0
  987. package/project/.sdk/tm/java/utility/MakeResult.java +68 -0
  988. package/project/.sdk/tm/java/utility/MakeSpec.java +69 -0
  989. package/project/.sdk/tm/java/utility/MakeUrl.java +67 -0
  990. package/project/.sdk/tm/java/utility/Param.java +74 -0
  991. package/project/.sdk/tm/java/utility/PrepareAuth.java +66 -0
  992. package/project/.sdk/tm/java/utility/PrepareBody.java +16 -0
  993. package/project/.sdk/tm/java/utility/PrepareHeaders.java +28 -0
  994. package/project/.sdk/tm/java/utility/PrepareMethod.java +28 -0
  995. package/project/.sdk/tm/java/utility/PrepareParams.java +50 -0
  996. package/project/.sdk/tm/java/utility/PreparePath.java +26 -0
  997. package/project/.sdk/tm/java/utility/PrepareQuery.java +54 -0
  998. package/project/.sdk/tm/java/utility/Register.java +41 -0
  999. package/project/.sdk/tm/java/utility/ResultBasic.java +36 -0
  1000. package/project/.sdk/tm/java/utility/ResultBody.java +23 -0
  1001. package/project/.sdk/tm/java/utility/ResultHeaders.java +36 -0
  1002. package/project/.sdk/tm/java/utility/TransformRequest.java +35 -0
  1003. package/project/.sdk/tm/java/utility/TransformResponse.java +52 -0
  1004. package/project/.sdk/tm/java/utility/struct/Struct.java +3550 -0
  1005. package/project/.sdk/tm/js/src/feature/audit/AuditFeature.js +96 -0
  1006. package/project/.sdk/tm/js/src/feature/cache/CacheFeature.js +150 -0
  1007. package/project/.sdk/tm/js/src/feature/clienttrack/ClienttrackFeature.js +104 -0
  1008. package/project/.sdk/tm/js/src/feature/debug/DebugFeature.js +132 -0
  1009. package/project/.sdk/tm/js/src/feature/idempotency/IdempotencyFeature.js +95 -0
  1010. package/project/.sdk/tm/js/src/feature/metrics/MetricsFeature.js +102 -0
  1011. package/project/.sdk/tm/js/src/feature/netsim/NetsimFeature.js +187 -0
  1012. package/project/.sdk/tm/js/src/feature/paging/PagingFeature.js +139 -0
  1013. package/project/.sdk/tm/js/src/feature/proxy/ProxyFeature.js +110 -0
  1014. package/project/.sdk/tm/js/src/feature/ratelimit/RatelimitFeature.js +106 -0
  1015. package/project/.sdk/tm/js/src/feature/rbac/RbacFeature.js +102 -0
  1016. package/project/.sdk/tm/js/src/feature/retry/RetryFeature.js +158 -0
  1017. package/project/.sdk/tm/js/src/feature/streaming/StreamingFeature.js +96 -0
  1018. package/project/.sdk/tm/js/src/feature/telemetry/TelemetryFeature.js +128 -0
  1019. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +58 -1
  1020. package/project/.sdk/tm/js/src/feature/timeout/TimeoutFeature.js +101 -0
  1021. package/project/.sdk/tm/js/src/utility/FeatureHookUtility.js +4 -1
  1022. package/project/.sdk/tm/js/src/utility/MakeErrorUtility.js +9 -0
  1023. package/project/.sdk/tm/js/src/utility/MakeOptionsUtility.js +31 -1
  1024. package/project/.sdk/tm/js/test/feature/harness.js +275 -0
  1025. package/project/.sdk/tm/js/test/feature.test.js +772 -0
  1026. package/project/.sdk/tm/js/test/netsim.test.js +43 -0
  1027. package/project/.sdk/tm/js/test/pipeline.test.js +382 -0
  1028. package/project/.sdk/tm/kotlin/LICENSE +22 -0
  1029. package/project/.sdk/tm/kotlin/Makefile +43 -0
  1030. package/project/.sdk/tm/kotlin/VERSION +1 -0
  1031. package/project/.sdk/tm/kotlin/core/Context.kt +247 -0
  1032. package/project/.sdk/tm/kotlin/core/Control.kt +21 -0
  1033. package/project/.sdk/tm/kotlin/core/Helpers.kt +49 -0
  1034. package/project/.sdk/tm/kotlin/core/Interfaces.kt +88 -0
  1035. package/project/.sdk/tm/kotlin/core/Operation.kt +43 -0
  1036. package/project/.sdk/tm/kotlin/core/Point.kt +83 -0
  1037. package/project/.sdk/tm/kotlin/core/Response.kt +43 -0
  1038. package/project/.sdk/tm/kotlin/core/Result.kt +61 -0
  1039. package/project/.sdk/tm/kotlin/core/SdkClient.kt +266 -0
  1040. package/project/.sdk/tm/kotlin/core/Spec.kt +76 -0
  1041. package/project/.sdk/tm/kotlin/core/Utility.kt +93 -0
  1042. package/project/.sdk/tm/kotlin/feature/AuditFeature.kt +96 -0
  1043. package/project/.sdk/tm/kotlin/feature/BaseFeature.kt +57 -0
  1044. package/project/.sdk/tm/kotlin/feature/CacheFeature.kt +167 -0
  1045. package/project/.sdk/tm/kotlin/feature/ClienttrackFeature.kt +84 -0
  1046. package/project/.sdk/tm/kotlin/feature/DebugFeature.kt +141 -0
  1047. package/project/.sdk/tm/kotlin/feature/FeatureOptions.kt +191 -0
  1048. package/project/.sdk/tm/kotlin/feature/IdempotencyFeature.kt +98 -0
  1049. package/project/.sdk/tm/kotlin/feature/LogFeature.kt +92 -0
  1050. package/project/.sdk/tm/kotlin/feature/MetricsFeature.kt +96 -0
  1051. package/project/.sdk/tm/kotlin/feature/NetsimFeature.kt +162 -0
  1052. package/project/.sdk/tm/kotlin/feature/PagingFeature.kt +143 -0
  1053. package/project/.sdk/tm/kotlin/feature/ProxyFeature.kt +109 -0
  1054. package/project/.sdk/tm/kotlin/feature/RatelimitFeature.kt +77 -0
  1055. package/project/.sdk/tm/kotlin/feature/RbacFeature.kt +100 -0
  1056. package/project/.sdk/tm/kotlin/feature/RetryFeature.kt +140 -0
  1057. package/project/.sdk/tm/kotlin/feature/StreamingFeature.kt +90 -0
  1058. package/project/.sdk/tm/kotlin/feature/TelemetryFeature.kt +118 -0
  1059. package/project/.sdk/tm/kotlin/feature/TestFeature.kt +306 -0
  1060. package/project/.sdk/tm/kotlin/feature/TimeoutFeature.kt +74 -0
  1061. package/project/.sdk/tm/kotlin/src/feature/README.md +1 -0
  1062. package/project/.sdk/tm/kotlin/src/feature/audit/.gitkeep +0 -0
  1063. package/project/.sdk/tm/kotlin/src/feature/base/.gitkeep +0 -0
  1064. package/project/.sdk/tm/kotlin/src/feature/cache/.gitkeep +0 -0
  1065. package/project/.sdk/tm/kotlin/src/feature/clienttrack/.gitkeep +0 -0
  1066. package/project/.sdk/tm/kotlin/src/feature/debug/.gitkeep +0 -0
  1067. package/project/.sdk/tm/kotlin/src/feature/idempotency/.gitkeep +0 -0
  1068. package/project/.sdk/tm/kotlin/src/feature/log/.gitkeep +0 -0
  1069. package/project/.sdk/tm/kotlin/src/feature/metrics/.gitkeep +0 -0
  1070. package/project/.sdk/tm/kotlin/src/feature/netsim/.gitkeep +0 -0
  1071. package/project/.sdk/tm/kotlin/src/feature/paging/.gitkeep +0 -0
  1072. package/project/.sdk/tm/kotlin/src/feature/proxy/.gitkeep +0 -0
  1073. package/project/.sdk/tm/kotlin/src/feature/ratelimit/.gitkeep +0 -0
  1074. package/project/.sdk/tm/kotlin/src/feature/rbac/.gitkeep +0 -0
  1075. package/project/.sdk/tm/kotlin/src/feature/retry/.gitkeep +0 -0
  1076. package/project/.sdk/tm/kotlin/src/feature/streaming/.gitkeep +0 -0
  1077. package/project/.sdk/tm/kotlin/src/feature/telemetry/.gitkeep +0 -0
  1078. package/project/.sdk/tm/kotlin/src/feature/test/.gitkeep +0 -0
  1079. package/project/.sdk/tm/kotlin/src/feature/timeout/.gitkeep +0 -0
  1080. package/project/.sdk/tm/kotlin/test/CustomUtilityTest.kt +51 -0
  1081. package/project/.sdk/tm/kotlin/test/ExistsTest.kt +15 -0
  1082. package/project/.sdk/tm/kotlin/test/FeatureHarness.kt +380 -0
  1083. package/project/.sdk/tm/kotlin/test/FeatureTest.kt +924 -0
  1084. package/project/.sdk/tm/kotlin/test/NetsimTest.kt +50 -0
  1085. package/project/.sdk/tm/kotlin/test/PipelineTest.kt +556 -0
  1086. package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +829 -0
  1087. package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +477 -0
  1088. package/project/.sdk/tm/kotlin/test/StructCorpusTest.kt +297 -0
  1089. package/project/.sdk/tm/kotlin/test/StructRunner.kt +177 -0
  1090. package/project/.sdk/tm/kotlin/test/sdk-test-control.json +19 -0
  1091. package/project/.sdk/tm/kotlin/utility/CoreUtil.kt +96 -0
  1092. package/project/.sdk/tm/kotlin/utility/FeatureUtil.kt +121 -0
  1093. package/project/.sdk/tm/kotlin/utility/Fetcher.kt +156 -0
  1094. package/project/.sdk/tm/kotlin/utility/Json.kt +237 -0
  1095. package/project/.sdk/tm/kotlin/utility/MakeOptions.kt +152 -0
  1096. package/project/.sdk/tm/kotlin/utility/MakePoint.kt +108 -0
  1097. package/project/.sdk/tm/kotlin/utility/MakeReqRes.kt +152 -0
  1098. package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +142 -0
  1099. package/project/.sdk/tm/kotlin/utility/Prepare.kt +236 -0
  1100. package/project/.sdk/tm/kotlin/utility/Register.kt +39 -0
  1101. package/project/.sdk/tm/kotlin/utility/ResultTransform.kt +109 -0
  1102. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +2697 -0
  1103. package/project/.sdk/tm/lua/feature/audit_feature.lua +132 -0
  1104. package/project/.sdk/tm/lua/feature/cache_feature.lua +188 -0
  1105. package/project/.sdk/tm/lua/feature/clienttrack_feature.lua +127 -0
  1106. package/project/.sdk/tm/lua/feature/debug_feature.lua +194 -0
  1107. package/project/.sdk/tm/lua/feature/idempotency_feature.lua +127 -0
  1108. package/project/.sdk/tm/lua/feature/metrics_feature.lua +135 -0
  1109. package/project/.sdk/tm/lua/feature/netsim_feature.lua +205 -0
  1110. package/project/.sdk/tm/lua/feature/paging_feature.lua +180 -0
  1111. package/project/.sdk/tm/lua/feature/proxy_feature.lua +147 -0
  1112. package/project/.sdk/tm/lua/feature/ratelimit_feature.lua +120 -0
  1113. package/project/.sdk/tm/lua/feature/rbac_feature.lua +141 -0
  1114. package/project/.sdk/tm/lua/feature/retry_feature.lua +188 -0
  1115. package/project/.sdk/tm/lua/feature/streaming_feature.lua +143 -0
  1116. package/project/.sdk/tm/lua/feature/telemetry_feature.lua +159 -0
  1117. package/project/.sdk/tm/lua/feature/test_feature.lua +85 -1
  1118. package/project/.sdk/tm/lua/feature/timeout_feature.lua +94 -0
  1119. package/project/.sdk/tm/lua/src/feature/audit/.gitkeep +0 -0
  1120. package/project/.sdk/tm/lua/src/feature/cache/.gitkeep +0 -0
  1121. package/project/.sdk/tm/lua/src/feature/clienttrack/.gitkeep +0 -0
  1122. package/project/.sdk/tm/lua/src/feature/debug/.gitkeep +0 -0
  1123. package/project/.sdk/tm/lua/src/feature/idempotency/.gitkeep +0 -0
  1124. package/project/.sdk/tm/lua/src/feature/metrics/.gitkeep +0 -0
  1125. package/project/.sdk/tm/lua/src/feature/netsim/.gitkeep +0 -0
  1126. package/project/.sdk/tm/lua/src/feature/paging/.gitkeep +0 -0
  1127. package/project/.sdk/tm/lua/src/feature/proxy/.gitkeep +0 -0
  1128. package/project/.sdk/tm/lua/src/feature/ratelimit/.gitkeep +0 -0
  1129. package/project/.sdk/tm/lua/src/feature/rbac/.gitkeep +0 -0
  1130. package/project/.sdk/tm/lua/src/feature/retry/.gitkeep +0 -0
  1131. package/project/.sdk/tm/lua/src/feature/streaming/.gitkeep +0 -0
  1132. package/project/.sdk/tm/lua/src/feature/telemetry/.gitkeep +0 -0
  1133. package/project/.sdk/tm/lua/src/feature/timeout/.gitkeep +0 -0
  1134. package/project/.sdk/tm/lua/test/feature_test.lua +1244 -0
  1135. package/project/.sdk/tm/lua/test/netsim_test.lua +61 -0
  1136. package/project/.sdk/tm/lua/test/pipeline_test.lua +613 -0
  1137. package/project/.sdk/tm/lua/utility/feature_add.lua +28 -1
  1138. package/project/.sdk/tm/lua/utility/make_error.lua +9 -0
  1139. package/project/.sdk/tm/lua/utility/make_options.lua +58 -0
  1140. package/project/.sdk/tm/lua/utility/make_point.lua +8 -1
  1141. package/project/.sdk/tm/ocaml/LICENSE +21 -0
  1142. package/project/.sdk/tm/ocaml/Makefile +58 -0
  1143. package/project/.sdk/tm/ocaml/VERSION +1 -0
  1144. package/project/.sdk/tm/ocaml/sdk_features.ml +1127 -0
  1145. package/project/.sdk/tm/ocaml/sdk_helpers.ml +110 -0
  1146. package/project/.sdk/tm/ocaml/sdk_runtime.ml +942 -0
  1147. package/project/.sdk/tm/ocaml/sdk_types.ml +259 -0
  1148. package/project/.sdk/tm/ocaml/src/feature/README.md +1 -0
  1149. package/project/.sdk/tm/ocaml/src/feature/audit/.gitkeep +0 -0
  1150. package/project/.sdk/tm/ocaml/src/feature/base/.gitkeep +0 -0
  1151. package/project/.sdk/tm/ocaml/src/feature/cache/.gitkeep +0 -0
  1152. package/project/.sdk/tm/ocaml/src/feature/clienttrack/.gitkeep +0 -0
  1153. package/project/.sdk/tm/ocaml/src/feature/debug/.gitkeep +0 -0
  1154. package/project/.sdk/tm/ocaml/src/feature/idempotency/.gitkeep +0 -0
  1155. package/project/.sdk/tm/ocaml/src/feature/log/.gitkeep +0 -0
  1156. package/project/.sdk/tm/ocaml/src/feature/metrics/.gitkeep +0 -0
  1157. package/project/.sdk/tm/ocaml/src/feature/netsim/.gitkeep +0 -0
  1158. package/project/.sdk/tm/ocaml/src/feature/paging/.gitkeep +0 -0
  1159. package/project/.sdk/tm/ocaml/src/feature/proxy/.gitkeep +0 -0
  1160. package/project/.sdk/tm/ocaml/src/feature/ratelimit/.gitkeep +0 -0
  1161. package/project/.sdk/tm/ocaml/src/feature/rbac/.gitkeep +0 -0
  1162. package/project/.sdk/tm/ocaml/src/feature/retry/.gitkeep +0 -0
  1163. package/project/.sdk/tm/ocaml/src/feature/streaming/.gitkeep +0 -0
  1164. package/project/.sdk/tm/ocaml/src/feature/telemetry/.gitkeep +0 -0
  1165. package/project/.sdk/tm/ocaml/src/feature/test/.gitkeep +0 -0
  1166. package/project/.sdk/tm/ocaml/src/feature/timeout/.gitkeep +0 -0
  1167. package/project/.sdk/tm/ocaml/test/custom_utility.ml +30 -0
  1168. package/project/.sdk/tm/ocaml/test/harness.ml +198 -0
  1169. package/project/.sdk/tm/ocaml/test/struct_corpus.ml +487 -0
  1170. package/project/.sdk/tm/ocaml/test/t_feature.ml +533 -0
  1171. package/project/.sdk/tm/ocaml/test/t_main.ml +5 -0
  1172. package/project/.sdk/tm/ocaml/test/t_pipeline.ml +354 -0
  1173. package/project/.sdk/tm/ocaml/test/testutil.ml +57 -0
  1174. package/project/.sdk/tm/ocaml/utility/voxgig_struct.ml +1858 -0
  1175. package/project/.sdk/tm/ocaml/utility/vregex.ml +254 -0
  1176. package/project/.sdk/tm/perl/LICENSE +22 -0
  1177. package/project/.sdk/tm/perl/Makefile +57 -0
  1178. package/project/.sdk/tm/perl/core/context.pm +138 -0
  1179. package/project/.sdk/tm/perl/core/control.pm +22 -0
  1180. package/project/.sdk/tm/perl/core/error.pm +30 -0
  1181. package/project/.sdk/tm/perl/core/helpers.pm +142 -0
  1182. package/project/.sdk/tm/perl/core/operation.pm +47 -0
  1183. package/project/.sdk/tm/perl/core/response.pm +40 -0
  1184. package/project/.sdk/tm/perl/core/result.pm +45 -0
  1185. package/project/.sdk/tm/perl/core/spec.pm +33 -0
  1186. package/project/.sdk/tm/perl/core/utility_type.pm +32 -0
  1187. package/project/.sdk/tm/perl/feature/audit_feature.pm +128 -0
  1188. package/project/.sdk/tm/perl/feature/base_feature.pm +41 -0
  1189. package/project/.sdk/tm/perl/feature/cache_feature.pm +168 -0
  1190. package/project/.sdk/tm/perl/feature/clienttrack_feature.pm +126 -0
  1191. package/project/.sdk/tm/perl/feature/debug_feature.pm +168 -0
  1192. package/project/.sdk/tm/perl/feature/idempotency_feature.pm +104 -0
  1193. package/project/.sdk/tm/perl/feature/log_feature.pm +77 -0
  1194. package/project/.sdk/tm/perl/feature/metrics_feature.pm +124 -0
  1195. package/project/.sdk/tm/perl/feature/netsim_feature.pm +215 -0
  1196. package/project/.sdk/tm/perl/feature/paging_feature.pm +158 -0
  1197. package/project/.sdk/tm/perl/feature/proxy_feature.pm +128 -0
  1198. package/project/.sdk/tm/perl/feature/ratelimit_feature.pm +126 -0
  1199. package/project/.sdk/tm/perl/feature/rbac_feature.pm +124 -0
  1200. package/project/.sdk/tm/perl/feature/retry_feature.pm +153 -0
  1201. package/project/.sdk/tm/perl/feature/streaming_feature.pm +112 -0
  1202. package/project/.sdk/tm/perl/feature/telemetry_feature.pm +155 -0
  1203. package/project/.sdk/tm/perl/feature/test_feature.pm +314 -0
  1204. package/project/.sdk/tm/perl/feature/timeout_feature.pm +110 -0
  1205. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +2897 -0
  1206. package/project/.sdk/tm/perl/src/feature/README.md +3 -0
  1207. package/project/.sdk/tm/perl/src/feature/audit/.gitkeep +0 -0
  1208. package/project/.sdk/tm/perl/src/feature/base/.gitkeep +0 -0
  1209. package/project/.sdk/tm/perl/src/feature/cache/.gitkeep +0 -0
  1210. package/project/.sdk/tm/perl/src/feature/clienttrack/.gitkeep +0 -0
  1211. package/project/.sdk/tm/perl/src/feature/debug/.gitkeep +0 -0
  1212. package/project/.sdk/tm/perl/src/feature/idempotency/.gitkeep +0 -0
  1213. package/project/.sdk/tm/perl/src/feature/log/.gitkeep +0 -0
  1214. package/project/.sdk/tm/perl/src/feature/metrics/.gitkeep +0 -0
  1215. package/project/.sdk/tm/perl/src/feature/netsim/.gitkeep +0 -0
  1216. package/project/.sdk/tm/perl/src/feature/paging/.gitkeep +0 -0
  1217. package/project/.sdk/tm/perl/src/feature/proxy/.gitkeep +0 -0
  1218. package/project/.sdk/tm/perl/src/feature/ratelimit/.gitkeep +0 -0
  1219. package/project/.sdk/tm/perl/src/feature/rbac/.gitkeep +0 -0
  1220. package/project/.sdk/tm/perl/src/feature/retry/.gitkeep +0 -0
  1221. package/project/.sdk/tm/perl/src/feature/streaming/.gitkeep +0 -0
  1222. package/project/.sdk/tm/perl/src/feature/telemetry/.gitkeep +0 -0
  1223. package/project/.sdk/tm/perl/src/feature/test/.gitkeep +0 -0
  1224. package/project/.sdk/tm/perl/src/feature/timeout/.gitkeep +0 -0
  1225. package/project/.sdk/tm/perl/t/feature.t +1054 -0
  1226. package/project/.sdk/tm/perl/t/netsim.t +55 -0
  1227. package/project/.sdk/tm/perl/t/pipeline.t +632 -0
  1228. package/project/.sdk/tm/perl/t/primary_utility.t +1023 -0
  1229. package/project/.sdk/tm/perl/t/runner.pm +140 -0
  1230. package/project/.sdk/tm/perl/t/sdk-test-control.json +19 -0
  1231. package/project/.sdk/tm/perl/t/stream.t +132 -0
  1232. package/project/.sdk/tm/perl/t/struct_runner.pm +275 -0
  1233. package/project/.sdk/tm/perl/t/struct_utility.t +438 -0
  1234. package/project/.sdk/tm/perl/utility/clean.pm +15 -0
  1235. package/project/.sdk/tm/perl/utility/done.pm +34 -0
  1236. package/project/.sdk/tm/perl/utility/feature_add.pm +47 -0
  1237. package/project/.sdk/tm/perl/utility/feature_hook.pm +25 -0
  1238. package/project/.sdk/tm/perl/utility/feature_init.pm +33 -0
  1239. package/project/.sdk/tm/perl/utility/fetcher.pm +112 -0
  1240. package/project/.sdk/tm/perl/utility/make_context.pm +22 -0
  1241. package/project/.sdk/tm/perl/utility/make_error.pm +74 -0
  1242. package/project/.sdk/tm/perl/utility/make_fetch_def.pm +46 -0
  1243. package/project/.sdk/tm/perl/utility/make_options.pm +123 -0
  1244. package/project/.sdk/tm/perl/utility/make_point.pm +104 -0
  1245. package/project/.sdk/tm/perl/utility/make_request.pm +66 -0
  1246. package/project/.sdk/tm/perl/utility/make_response.pm +38 -0
  1247. package/project/.sdk/tm/perl/utility/make_result.pm +53 -0
  1248. package/project/.sdk/tm/perl/utility/make_spec.pm +71 -0
  1249. package/project/.sdk/tm/perl/utility/make_url.pm +63 -0
  1250. package/project/.sdk/tm/perl/utility/param.pm +65 -0
  1251. package/project/.sdk/tm/perl/utility/prepare_auth.pm +56 -0
  1252. package/project/.sdk/tm/perl/utility/prepare_body.pm +17 -0
  1253. package/project/.sdk/tm/perl/utility/prepare_headers.pm +27 -0
  1254. package/project/.sdk/tm/perl/utility/prepare_method.pm +25 -0
  1255. package/project/.sdk/tm/perl/utility/prepare_params.pm +41 -0
  1256. package/project/.sdk/tm/perl/utility/prepare_path.pm +29 -0
  1257. package/project/.sdk/tm/perl/utility/prepare_query.pm +40 -0
  1258. package/project/.sdk/tm/perl/utility/register.pm +53 -0
  1259. package/project/.sdk/tm/perl/utility/result_basic.pm +38 -0
  1260. package/project/.sdk/tm/perl/utility/result_body.pm +28 -0
  1261. package/project/.sdk/tm/perl/utility/result_headers.pm +32 -0
  1262. package/project/.sdk/tm/perl/utility/transform_request.pm +30 -0
  1263. package/project/.sdk/tm/perl/utility/transform_response.pm +43 -0
  1264. package/project/.sdk/tm/php/core/Result.php +10 -0
  1265. package/project/.sdk/tm/php/feature/AuditFeature.php +125 -0
  1266. package/project/.sdk/tm/php/feature/BaseFeature.php +6 -0
  1267. package/project/.sdk/tm/php/feature/CacheFeature.php +158 -0
  1268. package/project/.sdk/tm/php/feature/ClienttrackFeature.php +126 -0
  1269. package/project/.sdk/tm/php/feature/DebugFeature.php +167 -0
  1270. package/project/.sdk/tm/php/feature/IdempotencyFeature.php +102 -0
  1271. package/project/.sdk/tm/php/feature/MetricsFeature.php +122 -0
  1272. package/project/.sdk/tm/php/feature/NetsimFeature.php +190 -0
  1273. package/project/.sdk/tm/php/feature/PagingFeature.php +153 -0
  1274. package/project/.sdk/tm/php/feature/ProxyFeature.php +136 -0
  1275. package/project/.sdk/tm/php/feature/RatelimitFeature.php +116 -0
  1276. package/project/.sdk/tm/php/feature/RbacFeature.php +133 -0
  1277. package/project/.sdk/tm/php/feature/RetryFeature.php +159 -0
  1278. package/project/.sdk/tm/php/feature/StreamingFeature.php +107 -0
  1279. package/project/.sdk/tm/php/feature/TelemetryFeature.php +156 -0
  1280. package/project/.sdk/tm/php/feature/TestFeature.php +80 -1
  1281. package/project/.sdk/tm/php/feature/TimeoutFeature.php +95 -0
  1282. package/project/.sdk/tm/php/src/feature/audit/.gitkeep +0 -0
  1283. package/project/.sdk/tm/php/src/feature/cache/.gitkeep +0 -0
  1284. package/project/.sdk/tm/php/src/feature/clienttrack/.gitkeep +0 -0
  1285. package/project/.sdk/tm/php/src/feature/debug/.gitkeep +0 -0
  1286. package/project/.sdk/tm/php/src/feature/idempotency/.gitkeep +0 -0
  1287. package/project/.sdk/tm/php/src/feature/metrics/.gitkeep +0 -0
  1288. package/project/.sdk/tm/php/src/feature/netsim/.gitkeep +0 -0
  1289. package/project/.sdk/tm/php/src/feature/paging/.gitkeep +0 -0
  1290. package/project/.sdk/tm/php/src/feature/proxy/.gitkeep +0 -0
  1291. package/project/.sdk/tm/php/src/feature/ratelimit/.gitkeep +0 -0
  1292. package/project/.sdk/tm/php/src/feature/rbac/.gitkeep +0 -0
  1293. package/project/.sdk/tm/php/src/feature/retry/.gitkeep +0 -0
  1294. package/project/.sdk/tm/php/src/feature/streaming/.gitkeep +0 -0
  1295. package/project/.sdk/tm/php/src/feature/telemetry/.gitkeep +0 -0
  1296. package/project/.sdk/tm/php/src/feature/timeout/.gitkeep +0 -0
  1297. package/project/.sdk/tm/php/test/FeatureTest.php +1259 -0
  1298. package/project/.sdk/tm/php/test/NetsimTest.php +53 -0
  1299. package/project/.sdk/tm/php/test/PipelineTest.php +674 -0
  1300. package/project/.sdk/tm/php/utility/FeatureAdd.php +32 -1
  1301. package/project/.sdk/tm/php/utility/MakeError.php +9 -0
  1302. package/project/.sdk/tm/php/utility/MakeOptions.php +46 -0
  1303. package/project/.sdk/tm/php/utility/MakePoint.php +7 -0
  1304. package/project/.sdk/tm/py/core/context.py +4 -0
  1305. package/project/.sdk/tm/py/core/control.py +3 -0
  1306. package/project/.sdk/tm/py/feature/audit_feature.py +98 -0
  1307. package/project/.sdk/tm/py/feature/cache_feature.py +138 -0
  1308. package/project/.sdk/tm/py/feature/clienttrack_feature.py +97 -0
  1309. package/project/.sdk/tm/py/feature/debug_feature.py +134 -0
  1310. package/project/.sdk/tm/py/feature/idempotency_feature.py +89 -0
  1311. package/project/.sdk/tm/py/feature/metrics_feature.py +93 -0
  1312. package/project/.sdk/tm/py/feature/netsim_feature.py +170 -0
  1313. package/project/.sdk/tm/py/feature/paging_feature.py +134 -0
  1314. package/project/.sdk/tm/py/feature/proxy_feature.py +104 -0
  1315. package/project/.sdk/tm/py/feature/ratelimit_feature.py +98 -0
  1316. package/project/.sdk/tm/py/feature/rbac_feature.py +102 -0
  1317. package/project/.sdk/tm/py/feature/retry_feature.py +142 -0
  1318. package/project/.sdk/tm/py/feature/streaming_feature.py +84 -0
  1319. package/project/.sdk/tm/py/feature/telemetry_feature.py +128 -0
  1320. package/project/.sdk/tm/py/feature/test_feature.py +70 -1
  1321. package/project/.sdk/tm/py/feature/timeout_feature.py +78 -0
  1322. package/project/.sdk/tm/py/src/feature/audit/.gitkeep +0 -0
  1323. package/project/.sdk/tm/py/src/feature/cache/.gitkeep +0 -0
  1324. package/project/.sdk/tm/py/src/feature/clienttrack/.gitkeep +0 -0
  1325. package/project/.sdk/tm/py/src/feature/debug/.gitkeep +0 -0
  1326. package/project/.sdk/tm/py/src/feature/idempotency/.gitkeep +0 -0
  1327. package/project/.sdk/tm/py/src/feature/metrics/.gitkeep +0 -0
  1328. package/project/.sdk/tm/py/src/feature/netsim/.gitkeep +0 -0
  1329. package/project/.sdk/tm/py/src/feature/paging/.gitkeep +0 -0
  1330. package/project/.sdk/tm/py/src/feature/proxy/.gitkeep +0 -0
  1331. package/project/.sdk/tm/py/src/feature/ratelimit/.gitkeep +0 -0
  1332. package/project/.sdk/tm/py/src/feature/rbac/.gitkeep +0 -0
  1333. package/project/.sdk/tm/py/src/feature/retry/.gitkeep +0 -0
  1334. package/project/.sdk/tm/py/src/feature/streaming/.gitkeep +0 -0
  1335. package/project/.sdk/tm/py/src/feature/telemetry/.gitkeep +0 -0
  1336. package/project/.sdk/tm/py/src/feature/timeout/.gitkeep +0 -0
  1337. package/project/.sdk/tm/py/test/feature_harness.py +336 -0
  1338. package/project/.sdk/tm/py/test/test_feature.py +807 -0
  1339. package/project/.sdk/tm/py/test/test_netsim.py +52 -0
  1340. package/project/.sdk/tm/py/test/test_pipeline.py +606 -0
  1341. package/project/.sdk/tm/py/utility/feature_add.py +25 -1
  1342. package/project/.sdk/tm/py/utility/make_error.py +8 -0
  1343. package/project/.sdk/tm/py/utility/make_options.py +32 -0
  1344. package/project/.sdk/tm/py/utility/make_point.py +8 -2
  1345. package/project/.sdk/tm/py/utility/make_request.py +6 -2
  1346. package/project/.sdk/tm/py/utility/make_response.py +6 -2
  1347. package/project/.sdk/tm/py/utility/make_result.py +6 -2
  1348. package/project/.sdk/tm/py/utility/make_spec.py +6 -2
  1349. package/project/.sdk/tm/rb/core/context.rb +2 -0
  1350. package/project/.sdk/tm/rb/core/control.rb +5 -1
  1351. package/project/.sdk/tm/rb/core/result.rb +2 -1
  1352. package/project/.sdk/tm/rb/feature/audit_feature.rb +103 -0
  1353. package/project/.sdk/tm/rb/feature/base_feature.rb +5 -0
  1354. package/project/.sdk/tm/rb/feature/cache_feature.rb +133 -0
  1355. package/project/.sdk/tm/rb/feature/clienttrack_feature.rb +91 -0
  1356. package/project/.sdk/tm/rb/feature/debug_feature.rb +138 -0
  1357. package/project/.sdk/tm/rb/feature/idempotency_feature.rb +78 -0
  1358. package/project/.sdk/tm/rb/feature/metrics_feature.rb +91 -0
  1359. package/project/.sdk/tm/rb/feature/netsim_feature.rb +167 -0
  1360. package/project/.sdk/tm/rb/feature/paging_feature.rb +120 -0
  1361. package/project/.sdk/tm/rb/feature/proxy_feature.rb +93 -0
  1362. package/project/.sdk/tm/rb/feature/ratelimit_feature.rb +95 -0
  1363. package/project/.sdk/tm/rb/feature/rbac_feature.rb +96 -0
  1364. package/project/.sdk/tm/rb/feature/retry_feature.rb +116 -0
  1365. package/project/.sdk/tm/rb/feature/streaming_feature.rb +85 -0
  1366. package/project/.sdk/tm/rb/feature/telemetry_feature.rb +122 -0
  1367. package/project/.sdk/tm/rb/feature/test_feature.rb +65 -1
  1368. package/project/.sdk/tm/rb/feature/timeout_feature.rb +74 -0
  1369. package/project/.sdk/tm/rb/src/feature/audit/.gitkeep +0 -0
  1370. package/project/.sdk/tm/rb/src/feature/cache/.gitkeep +0 -0
  1371. package/project/.sdk/tm/rb/src/feature/clienttrack/.gitkeep +0 -0
  1372. package/project/.sdk/tm/rb/src/feature/debug/.gitkeep +0 -0
  1373. package/project/.sdk/tm/rb/src/feature/idempotency/.gitkeep +0 -0
  1374. package/project/.sdk/tm/rb/src/feature/metrics/.gitkeep +0 -0
  1375. package/project/.sdk/tm/rb/src/feature/netsim/.gitkeep +0 -0
  1376. package/project/.sdk/tm/rb/src/feature/paging/.gitkeep +0 -0
  1377. package/project/.sdk/tm/rb/src/feature/proxy/.gitkeep +0 -0
  1378. package/project/.sdk/tm/rb/src/feature/ratelimit/.gitkeep +0 -0
  1379. package/project/.sdk/tm/rb/src/feature/rbac/.gitkeep +0 -0
  1380. package/project/.sdk/tm/rb/src/feature/retry/.gitkeep +0 -0
  1381. package/project/.sdk/tm/rb/src/feature/streaming/.gitkeep +0 -0
  1382. package/project/.sdk/tm/rb/src/feature/telemetry/.gitkeep +0 -0
  1383. package/project/.sdk/tm/rb/src/feature/timeout/.gitkeep +0 -0
  1384. package/project/.sdk/tm/rb/test/feature_test.rb +1031 -0
  1385. package/project/.sdk/tm/rb/test/netsim_test.rb +48 -0
  1386. package/project/.sdk/tm/rb/test/pipeline_test.rb +584 -0
  1387. package/project/.sdk/tm/rb/utility/feature_add.rb +28 -1
  1388. package/project/.sdk/tm/rb/utility/make_error.rb +8 -0
  1389. package/project/.sdk/tm/rb/utility/make_options.rb +35 -0
  1390. package/project/.sdk/tm/rb/utility/make_point.rb +7 -1
  1391. package/project/.sdk/tm/rust/LICENSE +22 -0
  1392. package/project/.sdk/tm/rust/Makefile +41 -0
  1393. package/project/.sdk/tm/rust/VERSION +1 -0
  1394. package/project/.sdk/tm/rust/core/context.rs +320 -0
  1395. package/project/.sdk/tm/rust/core/control.rs +37 -0
  1396. package/project/.sdk/tm/rust/core/helpers.rs +168 -0
  1397. package/project/.sdk/tm/rust/core/mod.rs +18 -0
  1398. package/project/.sdk/tm/rust/core/operation.rs +35 -0
  1399. package/project/.sdk/tm/rust/core/point.rs +68 -0
  1400. package/project/.sdk/tm/rust/core/response.rs +38 -0
  1401. package/project/.sdk/tm/rust/core/result.rs +90 -0
  1402. package/project/.sdk/tm/rust/core/spec.rs +109 -0
  1403. package/project/.sdk/tm/rust/core/types.rs +105 -0
  1404. package/project/.sdk/tm/rust/core/utility_type.rs +184 -0
  1405. package/project/.sdk/tm/rust/feature/audit.rs +138 -0
  1406. package/project/.sdk/tm/rust/feature/base.rs +49 -0
  1407. package/project/.sdk/tm/rust/feature/cache.rs +198 -0
  1408. package/project/.sdk/tm/rust/feature/clienttrack.rs +154 -0
  1409. package/project/.sdk/tm/rust/feature/debug.rs +188 -0
  1410. package/project/.sdk/tm/rust/feature/idempotency.rs +139 -0
  1411. package/project/.sdk/tm/rust/feature/log.rs +114 -0
  1412. package/project/.sdk/tm/rust/feature/metrics.rs +136 -0
  1413. package/project/.sdk/tm/rust/feature/mod.rs +24 -0
  1414. package/project/.sdk/tm/rust/feature/netsim.rs +233 -0
  1415. package/project/.sdk/tm/rust/feature/paging.rs +209 -0
  1416. package/project/.sdk/tm/rust/feature/proxy.rs +165 -0
  1417. package/project/.sdk/tm/rust/feature/ratelimit.rs +116 -0
  1418. package/project/.sdk/tm/rust/feature/rbac.rs +152 -0
  1419. package/project/.sdk/tm/rust/feature/retry.rs +190 -0
  1420. package/project/.sdk/tm/rust/feature/streaming.rs +124 -0
  1421. package/project/.sdk/tm/rust/feature/support.rs +145 -0
  1422. package/project/.sdk/tm/rust/feature/telemetry.rs +185 -0
  1423. package/project/.sdk/tm/rust/feature/test.rs +397 -0
  1424. package/project/.sdk/tm/rust/feature/timeout.rs +103 -0
  1425. package/project/.sdk/tm/rust/src/feature/README.md +1 -0
  1426. package/project/.sdk/tm/rust/src/feature/audit/.gitkeep +0 -0
  1427. package/project/.sdk/tm/rust/src/feature/base/.gitkeep +0 -0
  1428. package/project/.sdk/tm/rust/src/feature/cache/.gitkeep +0 -0
  1429. package/project/.sdk/tm/rust/src/feature/clienttrack/.gitkeep +0 -0
  1430. package/project/.sdk/tm/rust/src/feature/debug/.gitkeep +0 -0
  1431. package/project/.sdk/tm/rust/src/feature/idempotency/.gitkeep +0 -0
  1432. package/project/.sdk/tm/rust/src/feature/log/.gitkeep +0 -0
  1433. package/project/.sdk/tm/rust/src/feature/metrics/.gitkeep +0 -0
  1434. package/project/.sdk/tm/rust/src/feature/netsim/.gitkeep +0 -0
  1435. package/project/.sdk/tm/rust/src/feature/paging/.gitkeep +0 -0
  1436. package/project/.sdk/tm/rust/src/feature/proxy/.gitkeep +0 -0
  1437. package/project/.sdk/tm/rust/src/feature/ratelimit/.gitkeep +0 -0
  1438. package/project/.sdk/tm/rust/src/feature/rbac/.gitkeep +0 -0
  1439. package/project/.sdk/tm/rust/src/feature/retry/.gitkeep +0 -0
  1440. package/project/.sdk/tm/rust/src/feature/streaming/.gitkeep +0 -0
  1441. package/project/.sdk/tm/rust/src/feature/telemetry/.gitkeep +0 -0
  1442. package/project/.sdk/tm/rust/src/feature/test/.gitkeep +0 -0
  1443. package/project/.sdk/tm/rust/src/feature/timeout/.gitkeep +0 -0
  1444. package/project/.sdk/tm/rust/tests/common/mod.rs +969 -0
  1445. package/project/.sdk/tm/rust/tests/custom_utility_test.rs +69 -0
  1446. package/project/.sdk/tm/rust/tests/feature_test.rs +1864 -0
  1447. package/project/.sdk/tm/rust/tests/netsim_test.rs +78 -0
  1448. package/project/.sdk/tm/rust/tests/pipeline_test.rs +699 -0
  1449. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +999 -0
  1450. package/project/.sdk/tm/rust/tests/sdk-test-control.json +19 -0
  1451. package/project/.sdk/tm/rust/tests/struct_runner/mod.rs +424 -0
  1452. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +733 -0
  1453. package/project/.sdk/tm/rust/utility/clean.rs +13 -0
  1454. package/project/.sdk/tm/rust/utility/done.rs +31 -0
  1455. package/project/.sdk/tm/rust/utility/feature_add.rs +46 -0
  1456. package/project/.sdk/tm/rust/utility/feature_hook.rs +18 -0
  1457. package/project/.sdk/tm/rust/utility/feature_init.rs +26 -0
  1458. package/project/.sdk/tm/rust/utility/fetcher.rs +142 -0
  1459. package/project/.sdk/tm/rust/utility/jsonparse.rs +211 -0
  1460. package/project/.sdk/tm/rust/utility/make_context.rs +7 -0
  1461. package/project/.sdk/tm/rust/utility/make_error.rs +79 -0
  1462. package/project/.sdk/tm/rust/utility/make_fetch_def.rs +42 -0
  1463. package/project/.sdk/tm/rust/utility/make_options.rs +175 -0
  1464. package/project/.sdk/tm/rust/utility/make_point.rs +116 -0
  1465. package/project/.sdk/tm/rust/utility/make_request.rs +73 -0
  1466. package/project/.sdk/tm/rust/utility/make_response.rs +56 -0
  1467. package/project/.sdk/tm/rust/utility/make_result.rs +64 -0
  1468. package/project/.sdk/tm/rust/utility/make_spec.rs +70 -0
  1469. package/project/.sdk/tm/rust/utility/make_url.rs +83 -0
  1470. package/project/.sdk/tm/rust/utility/mod.rs +36 -0
  1471. package/project/.sdk/tm/rust/utility/param.rs +67 -0
  1472. package/project/.sdk/tm/rust/utility/prepare_auth.rs +65 -0
  1473. package/project/.sdk/tm/rust/utility/prepare_body.rs +14 -0
  1474. package/project/.sdk/tm/rust/utility/prepare_headers.rs +23 -0
  1475. package/project/.sdk/tm/rust/utility/prepare_method.rs +18 -0
  1476. package/project/.sdk/tm/rust/utility/prepare_params.rs +33 -0
  1477. package/project/.sdk/tm/rust/utility/prepare_path.rs +17 -0
  1478. package/project/.sdk/tm/rust/utility/prepare_query.rs +47 -0
  1479. package/project/.sdk/tm/rust/utility/result_basic.rs +35 -0
  1480. package/project/.sdk/tm/rust/utility/result_body.rs +26 -0
  1481. package/project/.sdk/tm/rust/utility/result_headers.rs +24 -0
  1482. package/project/.sdk/tm/rust/utility/transform_request.rs +31 -0
  1483. package/project/.sdk/tm/rust/utility/transform_response.rs +55 -0
  1484. package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +122 -0
  1485. package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +2688 -0
  1486. package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +1081 -0
  1487. package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +70 -0
  1488. package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +159 -0
  1489. package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +1229 -0
  1490. package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +372 -0
  1491. package/project/.sdk/tm/scala/LICENSE +22 -0
  1492. package/project/.sdk/tm/scala/Makefile +24 -0
  1493. package/project/.sdk/tm/scala/VERSION +1 -0
  1494. package/project/.sdk/tm/scala/core/Context.scala +160 -0
  1495. package/project/.sdk/tm/scala/core/Contracts.scala +76 -0
  1496. package/project/.sdk/tm/scala/core/Control.scala +23 -0
  1497. package/project/.sdk/tm/scala/core/Helpers.scala +38 -0
  1498. package/project/.sdk/tm/scala/core/Operation.scala +37 -0
  1499. package/project/.sdk/tm/scala/core/Point.scala +44 -0
  1500. package/project/.sdk/tm/scala/core/Response.scala +37 -0
  1501. package/project/.sdk/tm/scala/core/Result.scala +42 -0
  1502. package/project/.sdk/tm/scala/core/SdkClient.scala +220 -0
  1503. package/project/.sdk/tm/scala/core/SdkError.scala +15 -0
  1504. package/project/.sdk/tm/scala/core/Spec.scala +39 -0
  1505. package/project/.sdk/tm/scala/core/Types.scala +31 -0
  1506. package/project/.sdk/tm/scala/core/Utility.scala +85 -0
  1507. package/project/.sdk/tm/scala/feature/AuditFeature.scala +101 -0
  1508. package/project/.sdk/tm/scala/feature/BaseFeature.scala +21 -0
  1509. package/project/.sdk/tm/scala/feature/CacheFeature.scala +181 -0
  1510. package/project/.sdk/tm/scala/feature/ClienttrackFeature.scala +93 -0
  1511. package/project/.sdk/tm/scala/feature/DebugFeature.scala +149 -0
  1512. package/project/.sdk/tm/scala/feature/FeatureOptions.scala +111 -0
  1513. package/project/.sdk/tm/scala/feature/IdempotencyFeature.scala +106 -0
  1514. package/project/.sdk/tm/scala/feature/LogFeature.scala +64 -0
  1515. package/project/.sdk/tm/scala/feature/MetricsFeature.scala +105 -0
  1516. package/project/.sdk/tm/scala/feature/NetsimFeature.scala +134 -0
  1517. package/project/.sdk/tm/scala/feature/PagingFeature.scala +170 -0
  1518. package/project/.sdk/tm/scala/feature/ProxyFeature.scala +113 -0
  1519. package/project/.sdk/tm/scala/feature/RatelimitFeature.scala +58 -0
  1520. package/project/.sdk/tm/scala/feature/RbacFeature.scala +90 -0
  1521. package/project/.sdk/tm/scala/feature/RetryFeature.scala +104 -0
  1522. package/project/.sdk/tm/scala/feature/StreamingFeature.scala +98 -0
  1523. package/project/.sdk/tm/scala/feature/TelemetryFeature.scala +129 -0
  1524. package/project/.sdk/tm/scala/feature/TestFeature.scala +253 -0
  1525. package/project/.sdk/tm/scala/feature/TimeoutFeature.scala +57 -0
  1526. package/project/.sdk/tm/scala/sdktest/SdkTestMain.scala +766 -0
  1527. package/project/.sdk/tm/scala/sdktest/SdkTestSupport.scala +93 -0
  1528. package/project/.sdk/tm/scala/sdktest/StructCorpus.scala +0 -0
  1529. package/project/.sdk/tm/scala/sdktest/sdk-test-control.json +19 -0
  1530. package/project/.sdk/tm/scala/src/feature/README.md +1 -0
  1531. package/project/.sdk/tm/scala/src/feature/audit/.gitkeep +0 -0
  1532. package/project/.sdk/tm/scala/src/feature/base/.gitkeep +0 -0
  1533. package/project/.sdk/tm/scala/src/feature/cache/.gitkeep +0 -0
  1534. package/project/.sdk/tm/scala/src/feature/clienttrack/.gitkeep +0 -0
  1535. package/project/.sdk/tm/scala/src/feature/debug/.gitkeep +0 -0
  1536. package/project/.sdk/tm/scala/src/feature/idempotency/.gitkeep +0 -0
  1537. package/project/.sdk/tm/scala/src/feature/log/.gitkeep +0 -0
  1538. package/project/.sdk/tm/scala/src/feature/metrics/.gitkeep +0 -0
  1539. package/project/.sdk/tm/scala/src/feature/netsim/.gitkeep +0 -0
  1540. package/project/.sdk/tm/scala/src/feature/paging/.gitkeep +0 -0
  1541. package/project/.sdk/tm/scala/src/feature/proxy/.gitkeep +0 -0
  1542. package/project/.sdk/tm/scala/src/feature/ratelimit/.gitkeep +0 -0
  1543. package/project/.sdk/tm/scala/src/feature/rbac/.gitkeep +0 -0
  1544. package/project/.sdk/tm/scala/src/feature/retry/.gitkeep +0 -0
  1545. package/project/.sdk/tm/scala/src/feature/streaming/.gitkeep +0 -0
  1546. package/project/.sdk/tm/scala/src/feature/telemetry/.gitkeep +0 -0
  1547. package/project/.sdk/tm/scala/src/feature/test/.gitkeep +0 -0
  1548. package/project/.sdk/tm/scala/src/feature/timeout/.gitkeep +0 -0
  1549. package/project/.sdk/tm/scala/utility/FeatureUtils.scala +68 -0
  1550. package/project/.sdk/tm/scala/utility/Fetcher.scala +129 -0
  1551. package/project/.sdk/tm/scala/utility/Json.java +268 -0
  1552. package/project/.sdk/tm/scala/utility/Make.scala +463 -0
  1553. package/project/.sdk/tm/scala/utility/MakeSpec.scala +49 -0
  1554. package/project/.sdk/tm/scala/utility/Misc.scala +68 -0
  1555. package/project/.sdk/tm/scala/utility/Prepare.scala +142 -0
  1556. package/project/.sdk/tm/scala/utility/Register.scala +38 -0
  1557. package/project/.sdk/tm/scala/utility/Results.scala +63 -0
  1558. package/project/.sdk/tm/scala/utility/StructUtility.scala +29 -0
  1559. package/project/.sdk/tm/scala/utility/Transform.scala +52 -0
  1560. package/project/.sdk/tm/scala/utility/struct/Struct.java +3550 -0
  1561. package/project/.sdk/tm/scala/utility/struct/voxgig_struct.scala +1833 -0
  1562. package/project/.sdk/tm/swift/LICENSE +22 -0
  1563. package/project/.sdk/tm/swift/Makefile +41 -0
  1564. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Constants.swift +113 -0
  1565. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Inject.swift +260 -0
  1566. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Injection.swift +111 -0
  1567. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/JSON.swift +327 -0
  1568. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Merge.swift +55 -0
  1569. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Minor.swift +601 -0
  1570. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/OrderedDictionary.swift +79 -0
  1571. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Path.swift +157 -0
  1572. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Select.swift +259 -0
  1573. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Transform.swift +462 -0
  1574. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Validate.swift +378 -0
  1575. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Value.swift +184 -0
  1576. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Walk.swift +44 -0
  1577. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Context.swift +161 -0
  1578. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Control.swift +20 -0
  1579. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Operation.swift +27 -0
  1580. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Point.swift +37 -0
  1581. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Response.swift +29 -0
  1582. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Result.swift +41 -0
  1583. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Spec.swift +36 -0
  1584. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Support.swift +98 -0
  1585. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Types.swift +25 -0
  1586. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/core/Utility.swift +81 -0
  1587. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/AuditFeature.swift +99 -0
  1588. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/BaseFeature.swift +60 -0
  1589. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/CacheFeature.swift +164 -0
  1590. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/ClienttrackFeature.swift +95 -0
  1591. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/DebugFeature.swift +126 -0
  1592. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/FeatureOptions.swift +96 -0
  1593. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/IdempotencyFeature.swift +80 -0
  1594. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/LogFeature.swift +69 -0
  1595. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/MetricsFeature.swift +103 -0
  1596. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/NetsimFeature.swift +177 -0
  1597. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/PagingFeature.swift +154 -0
  1598. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/ProxyFeature.swift +122 -0
  1599. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/RatelimitFeature.swift +79 -0
  1600. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/RbacFeature.swift +103 -0
  1601. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/RetryFeature.swift +150 -0
  1602. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/StreamingFeature.swift +82 -0
  1603. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TelemetryFeature.swift +119 -0
  1604. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +257 -0
  1605. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TimeoutFeature.swift +83 -0
  1606. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Feature.swift +56 -0
  1607. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Fetcher.swift +107 -0
  1608. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Make.swift +321 -0
  1609. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeError.swift +56 -0
  1610. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +151 -0
  1611. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +157 -0
  1612. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Register.swift +40 -0
  1613. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/ResultUtil.swift +107 -0
  1614. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/CustomUtilityTest.swift +44 -0
  1615. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/ExistsTest.swift +12 -0
  1616. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/FeatureTest.swift +1049 -0
  1617. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/NetsimTest.swift +50 -0
  1618. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PipelineTest.swift +398 -0
  1619. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +750 -0
  1620. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/Runner.swift +237 -0
  1621. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/StructUtilityTest.swift +523 -0
  1622. package/project/.sdk/tm/swift/VERSION +1 -0
  1623. package/project/.sdk/tm/swift/src/feature/README.md +6 -0
  1624. package/project/.sdk/tm/swift/src/feature/audit/.gitkeep +0 -0
  1625. package/project/.sdk/tm/swift/src/feature/base/.gitkeep +0 -0
  1626. package/project/.sdk/tm/swift/src/feature/cache/.gitkeep +0 -0
  1627. package/project/.sdk/tm/swift/src/feature/clienttrack/.gitkeep +0 -0
  1628. package/project/.sdk/tm/swift/src/feature/debug/.gitkeep +0 -0
  1629. package/project/.sdk/tm/swift/src/feature/idempotency/.gitkeep +0 -0
  1630. package/project/.sdk/tm/swift/src/feature/log/.gitkeep +0 -0
  1631. package/project/.sdk/tm/swift/src/feature/metrics/.gitkeep +0 -0
  1632. package/project/.sdk/tm/swift/src/feature/netsim/.gitkeep +0 -0
  1633. package/project/.sdk/tm/swift/src/feature/paging/.gitkeep +0 -0
  1634. package/project/.sdk/tm/swift/src/feature/proxy/.gitkeep +0 -0
  1635. package/project/.sdk/tm/swift/src/feature/ratelimit/.gitkeep +0 -0
  1636. package/project/.sdk/tm/swift/src/feature/rbac/.gitkeep +0 -0
  1637. package/project/.sdk/tm/swift/src/feature/retry/.gitkeep +0 -0
  1638. package/project/.sdk/tm/swift/src/feature/streaming/.gitkeep +0 -0
  1639. package/project/.sdk/tm/swift/src/feature/telemetry/.gitkeep +0 -0
  1640. package/project/.sdk/tm/swift/src/feature/test/.gitkeep +0 -0
  1641. package/project/.sdk/tm/swift/src/feature/timeout/.gitkeep +0 -0
  1642. package/project/.sdk/tm/ts/Makefile +6 -1
  1643. package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +98 -0
  1644. package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +152 -0
  1645. package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +106 -0
  1646. package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +134 -0
  1647. package/project/.sdk/tm/ts/src/feature/idempotency/IdempotencyFeature.ts +97 -0
  1648. package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +104 -0
  1649. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +189 -0
  1650. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +141 -0
  1651. package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +112 -0
  1652. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +108 -0
  1653. package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +104 -0
  1654. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +160 -0
  1655. package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +98 -0
  1656. package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +130 -0
  1657. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +58 -1
  1658. package/project/.sdk/tm/ts/src/feature/timeout/TimeoutFeature.ts +103 -0
  1659. package/project/.sdk/tm/ts/src/utility/FeatureHookUtility.ts +4 -1
  1660. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +9 -0
  1661. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +31 -1
  1662. package/project/.sdk/tm/ts/test/feature/harness.ts +293 -0
  1663. package/project/.sdk/tm/ts/test/feature.test.ts +772 -0
  1664. package/project/.sdk/tm/ts/test/netsim.test.ts +43 -0
  1665. package/project/.sdk/tm/ts/test/pipeline.test.ts +382 -0
  1666. package/project/.sdk/tm/zig/LICENSE +21 -0
  1667. package/project/.sdk/tm/zig/Makefile +31 -0
  1668. package/project/.sdk/tm/zig/VERSION +1 -0
  1669. package/project/.sdk/tm/zig/build.zig +58 -0
  1670. package/project/.sdk/tm/zig/build.zig.zon +11 -0
  1671. package/project/.sdk/tm/zig/core/context.zig +258 -0
  1672. package/project/.sdk/tm/zig/core/control.zig +26 -0
  1673. package/project/.sdk/tm/zig/core/error.zig +28 -0
  1674. package/project/.sdk/tm/zig/core/helpers.zig +326 -0
  1675. package/project/.sdk/tm/zig/core/mem.zig +20 -0
  1676. package/project/.sdk/tm/zig/core/operation.zig +34 -0
  1677. package/project/.sdk/tm/zig/core/point.zig +63 -0
  1678. package/project/.sdk/tm/zig/core/response.zig +32 -0
  1679. package/project/.sdk/tm/zig/core/result.zig +73 -0
  1680. package/project/.sdk/tm/zig/core/spec.zig +68 -0
  1681. package/project/.sdk/tm/zig/core/types.zig +101 -0
  1682. package/project/.sdk/tm/zig/core/utility.zig +1115 -0
  1683. package/project/.sdk/tm/zig/feature/audit.zig +131 -0
  1684. package/project/.sdk/tm/zig/feature/base.zig +52 -0
  1685. package/project/.sdk/tm/zig/feature/cache.zig +216 -0
  1686. package/project/.sdk/tm/zig/feature/clienttrack.zig +129 -0
  1687. package/project/.sdk/tm/zig/feature/debug.zig +191 -0
  1688. package/project/.sdk/tm/zig/feature/idempotency.zig +121 -0
  1689. package/project/.sdk/tm/zig/feature/log.zig +93 -0
  1690. package/project/.sdk/tm/zig/feature/metrics.zig +145 -0
  1691. package/project/.sdk/tm/zig/feature/netsim.zig +186 -0
  1692. package/project/.sdk/tm/zig/feature/paging.zig +201 -0
  1693. package/project/.sdk/tm/zig/feature/proxy.zig +180 -0
  1694. package/project/.sdk/tm/zig/feature/ratelimit.zig +123 -0
  1695. package/project/.sdk/tm/zig/feature/rbac.zig +126 -0
  1696. package/project/.sdk/tm/zig/feature/retry.zig +167 -0
  1697. package/project/.sdk/tm/zig/feature/streaming.zig +127 -0
  1698. package/project/.sdk/tm/zig/feature/support.zig +128 -0
  1699. package/project/.sdk/tm/zig/feature/telemetry.zig +165 -0
  1700. package/project/.sdk/tm/zig/feature/test.zig +315 -0
  1701. package/project/.sdk/tm/zig/feature/timeout.zig +105 -0
  1702. package/project/.sdk/tm/zig/root.zig +74 -0
  1703. package/project/.sdk/tm/zig/src/feature/README.md +1 -0
  1704. package/project/.sdk/tm/zig/src/feature/audit/.gitkeep +0 -0
  1705. package/project/.sdk/tm/zig/src/feature/base/.gitkeep +0 -0
  1706. package/project/.sdk/tm/zig/src/feature/cache/.gitkeep +0 -0
  1707. package/project/.sdk/tm/zig/src/feature/clienttrack/.gitkeep +0 -0
  1708. package/project/.sdk/tm/zig/src/feature/debug/.gitkeep +0 -0
  1709. package/project/.sdk/tm/zig/src/feature/idempotency/.gitkeep +0 -0
  1710. package/project/.sdk/tm/zig/src/feature/log/.gitkeep +0 -0
  1711. package/project/.sdk/tm/zig/src/feature/metrics/.gitkeep +0 -0
  1712. package/project/.sdk/tm/zig/src/feature/netsim/.gitkeep +0 -0
  1713. package/project/.sdk/tm/zig/src/feature/paging/.gitkeep +0 -0
  1714. package/project/.sdk/tm/zig/src/feature/proxy/.gitkeep +0 -0
  1715. package/project/.sdk/tm/zig/src/feature/ratelimit/.gitkeep +0 -0
  1716. package/project/.sdk/tm/zig/src/feature/rbac/.gitkeep +0 -0
  1717. package/project/.sdk/tm/zig/src/feature/retry/.gitkeep +0 -0
  1718. package/project/.sdk/tm/zig/src/feature/streaming/.gitkeep +0 -0
  1719. package/project/.sdk/tm/zig/src/feature/telemetry/.gitkeep +0 -0
  1720. package/project/.sdk/tm/zig/src/feature/test/.gitkeep +0 -0
  1721. package/project/.sdk/tm/zig/src/feature/timeout/.gitkeep +0 -0
  1722. package/project/.sdk/tm/zig/test/feature_test.zig +1045 -0
  1723. package/project/.sdk/tm/zig/test/fh.zig +531 -0
  1724. package/project/.sdk/tm/zig/test/gotcha_test.zig +230 -0
  1725. package/project/.sdk/tm/zig/test/pipeline_test.zig +493 -0
  1726. package/project/.sdk/tm/zig/test/primary_utility_test.zig +346 -0
  1727. package/project/.sdk/tm/zig/test/struct_corpus.zig +1145 -0
  1728. package/project/.sdk/tm/zig/test/struct_runner.zig +226 -0
  1729. package/project/.sdk/tm/zig/utility/jsonparse.zig +13 -0
  1730. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +779 -0
  1731. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +4400 -0
@@ -0,0 +1,1734 @@
1
+ ;; Copyright (c) 2025-2026 Voxgig Ltd. MIT LICENSE.
2
+ ;;
3
+ ;; Voxgig Struct
4
+ ;; =============
5
+ ;;
6
+ ;; Utility functions to manipulate in-memory JSON-like data structures.
7
+ ;; This Clojure version is a faithful port of the canonical TypeScript
8
+ ;; implementation (typescript/src/StructUtility.ts), following the same
9
+ ;; "by-example" design and logic. To preserve the reference-stable, in-place
10
+ ;; mutation semantics the algorithm depends on, nodes are represented by
11
+ ;; mutable Java collections: java.util.LinkedHashMap for maps (insertion
12
+ ;; ordered, like a JS object) and java.util.ArrayList for lists. The Clojure
13
+ ;; `nil` plays the role of both the canonical `undefined` and JSON `null`
14
+ ;; (Group A/B rules, per design/UNDEF_SPEC.md, recover the distinction where
15
+ ;; it matters). The library has zero third-party runtime dependencies.
16
+
17
+ (ns voxgig.struct
18
+ (:refer-clojure :exclude [merge filter flatten replace]))
19
+
20
+ (import '(java.util LinkedHashMap ArrayList List Map)
21
+ '(java.util.regex Pattern Matcher))
22
+
23
+ ;; ---------------------------------------------------------------------------
24
+ ;; String / mode / type constants
25
+ ;; ---------------------------------------------------------------------------
26
+
27
+ (def ^:const S-MKEYPRE "key:pre")
28
+ (def ^:const S-MKEYPOST "key:post")
29
+ (def ^:const S-MVAL "val")
30
+ (def ^:const S-MKEY "key")
31
+
32
+ (def ^:const M_KEYPRE 1)
33
+ (def ^:const M_KEYPOST 2)
34
+ (def ^:const M_VAL 4)
35
+
36
+ (def MODENAME {M_VAL "val" M_KEYPRE "key:pre" M_KEYPOST "key:post"})
37
+ (def ^:private MODE-TO-NUM {S-MKEYPRE M_KEYPRE S-MKEYPOST M_KEYPOST S-MVAL M_VAL})
38
+ (def ^:private PLACEMENT {M_VAL "value" M_KEYPRE S-MKEY M_KEYPOST S-MKEY})
39
+
40
+ (def ^:const S-DKEY "$KEY")
41
+ (def ^:const S-BANNO "`$ANNO`")
42
+ (def ^:const S-DTOP "$TOP")
43
+ (def ^:const S-DERRS "$ERRS")
44
+ (def ^:const S-DSPEC "$SPEC")
45
+ (def ^:const S-BEXACT "`$EXACT`")
46
+ (def ^:const S-BVAL "`$VAL`")
47
+ (def ^:const S-BKEY "`$KEY`")
48
+
49
+ (def ^:const S-MT "")
50
+ (def ^:const S-BT "`")
51
+ (def ^:const S-DS "$")
52
+ (def ^:const S-DT ".")
53
+ (def ^:const S-CM ",")
54
+ (def ^:const S-CN ":")
55
+ (def ^:const S-FS "/")
56
+ (def ^:const S-KEY "KEY")
57
+ (def ^:const S-VIZ ": ")
58
+
59
+ (def ^:const S-string "string")
60
+ (def ^:const S-number "number")
61
+ (def ^:const S-integer "integer")
62
+ (def ^:const S-decimal "decimal")
63
+ (def ^:const S-boolean "boolean")
64
+ (def ^:const S-null "null")
65
+ (def ^:const S-nil "nil")
66
+ (def ^:const S-map "map")
67
+ (def ^:const S-list "list")
68
+ (def ^:const S-object "object")
69
+ (def ^:const S-function "function")
70
+ (def ^:const S-instance "instance")
71
+ (def ^:const S-any "any")
72
+ (def ^:const S-scalar "scalar")
73
+ (def ^:const S-node "node")
74
+ (def ^:const S-base "base")
75
+
76
+ ;; Type bit flags (mirroring the canonical TypeScript layout exactly).
77
+ (def ^:const T_any (- (bit-shift-left 1 31) 1))
78
+ (def ^:const T_noval (bit-shift-left 1 30))
79
+ (def ^:const T_boolean (bit-shift-left 1 29))
80
+ (def ^:const T_decimal (bit-shift-left 1 28))
81
+ (def ^:const T_integer (bit-shift-left 1 27))
82
+ (def ^:const T_number (bit-shift-left 1 26))
83
+ (def ^:const T_string (bit-shift-left 1 25))
84
+ (def ^:const T_function (bit-shift-left 1 24))
85
+ (def ^:const T_symbol (bit-shift-left 1 23))
86
+ (def ^:const T_null (bit-shift-left 1 22))
87
+ (def ^:const T_list (bit-shift-left 1 14))
88
+ (def ^:const T_map (bit-shift-left 1 13))
89
+ (def ^:const T_instance (bit-shift-left 1 12))
90
+ (def ^:const T_scalar (bit-shift-left 1 7))
91
+ (def ^:const T_node (bit-shift-left 1 6))
92
+
93
+ (def ^:private TYPENAME
94
+ [S-any S-nil S-boolean S-decimal S-integer S-number S-string S-function
95
+ "symbol" S-null "" "" "" "" "" "" "" S-list S-map S-instance
96
+ "" "" "" "" S-scalar S-node])
97
+
98
+ ;; Private markers (compared by identity).
99
+ (def SKIP (doto (LinkedHashMap.) (.put "`$SKIP`" true)))
100
+ (def DELETE (doto (LinkedHashMap.) (.put "`$DELETE`" true)))
101
+
102
+ (def ^:const MAXDEPTH 32)
103
+
104
+ ;; Path processing regexes.
105
+ (def ^:private R-META-PATH (Pattern/compile "^([^$]+)\\$([=~])(.+)$"))
106
+ (def ^:private R-DOUBLE-DOLLAR (Pattern/compile "\\$\\$"))
107
+ (def ^:private R-INJECT-FULL (Pattern/compile "^`(\\$[A-Z]+|[^`]*)[0-9]*`$"))
108
+ (def ^:private R-INJECT-PART (Pattern/compile "`([^`]*)`"))
109
+ (def ^:private R-TRANSFORM-NAME (Pattern/compile "`\\$([A-Z]+)`"))
110
+
111
+ ;; ---------------------------------------------------------------------------
112
+ ;; Mutable-collection helpers
113
+ ;; ---------------------------------------------------------------------------
114
+
115
+ (defn- lhm ^LinkedHashMap [] (LinkedHashMap.))
116
+ (defn- alist ^ArrayList [] (ArrayList.))
117
+
118
+ (defn- alist-of ^ArrayList [coll]
119
+ (let [a (ArrayList.)]
120
+ (doseq [x coll] (.add a x))
121
+ a))
122
+
123
+ ;; The injection state object. Distinct type so it is never mistaken for a
124
+ ;; data map. Backed by a mutable HashMap of keyword -> value.
125
+ (deftype Inj [^java.util.HashMap m])
126
+
127
+ (defn- inj? [x] (instance? Inj x))
128
+ (defn- ig [^Inj inj k] (.get ^java.util.HashMap (.-m inj) k))
129
+ (defn- is! [^Inj inj k v] (.put ^java.util.HashMap (.-m inj) k v) v)
130
+
131
+ ;; Forward declarations.
132
+ (declare getprop getelem setprop delprop isnode ismap islist iskey isfunc
133
+ isempty keysof items size slice clone typify typename stringify
134
+ pathify join merge walk getpath setpath inject _injectstr _lookup
135
+ strkey flatten filter getdef haskey escre
136
+ re_compile re_find re_find_all re_replace re_test
137
+ _injecthandler _validatehandler _invalidTypeMsg
138
+ inj-descend inj-child inj-setval
139
+ checkPlacement injectorArgs injectChild
140
+ validate transform select jsonify FORMATTER)
141
+
142
+ ;; ---------------------------------------------------------------------------
143
+ ;; Low-level numeric / key helpers
144
+ ;; ---------------------------------------------------------------------------
145
+
146
+ (defn- jbool? [v] (instance? Boolean v))
147
+ (defn- jdouble? [v] (or (instance? Double v) (instance? Float v)))
148
+ (defn- jint? [v] (and (number? v) (not (jbool? v)) (not (jdouble? v))))
149
+
150
+ (defn- parse-long-strict
151
+ "Mirror Python int(key): coerce numbers (floor), parse integer strings."
152
+ [k]
153
+ (cond
154
+ (jbool? k) nil
155
+ (jint? k) (long k)
156
+ (jdouble? k) (long (Math/floor (double k)))
157
+ (string? k) (try (Long/parseLong (.trim ^String k)) (catch Exception _ nil))
158
+ :else nil))
159
+
160
+ ;; ---------------------------------------------------------------------------
161
+ ;; Minor utilities
162
+ ;; ---------------------------------------------------------------------------
163
+
164
+ (defn isnode [val] (or (instance? Map val) (instance? List val)))
165
+ (defn ismap [val] (instance? Map val))
166
+ (defn islist [val] (instance? List val))
167
+
168
+ (defn iskey [key]
169
+ (cond
170
+ (string? key) (pos? (count key))
171
+ (jbool? key) false
172
+ (number? key) true
173
+ :else false))
174
+
175
+ (defn isfunc [val] (fn? val))
176
+
177
+ (defn getdef [val alt] (if (nil? val) alt val))
178
+
179
+ (defn- map-keys
180
+ "Insertion-ordered keys of a Java Map (as the stored key objects)."
181
+ [^Map m] (seq (.keySet m)))
182
+
183
+ (defn keysof [val]
184
+ (cond
185
+ (not (isnode val)) []
186
+ (ismap val) (vec (sort (map str (map-keys val))))
187
+ :else (mapv str (range (.size ^List val)))))
188
+
189
+ (defn size [val]
190
+ (cond
191
+ (nil? val) 0
192
+ (islist val) (.size ^List val)
193
+ (ismap val) (.size ^Map val)
194
+ (string? val) (count val)
195
+ (jbool? val) (if val 1 0)
196
+ (number? val) (long (Math/floor (double val)))
197
+ :else 0))
198
+
199
+ (defn strkey
200
+ ([] S-MT)
201
+ ([key]
202
+ (cond
203
+ (nil? key) S-MT
204
+ (string? key) key
205
+ (jbool? key) S-MT
206
+ (jint? key) (str (long key))
207
+ (jdouble? key) (str (long (double key)))
208
+ (number? key) (str key)
209
+ :else S-MT)))
210
+
211
+ (defn isempty [val]
212
+ (cond
213
+ (nil? val) true
214
+ (= val S-MT) true
215
+ (and (islist val) (zero? (.size ^List val))) true
216
+ (and (ismap val) (zero? (.size ^Map val))) true
217
+ :else false))
218
+
219
+ (defn- clz32 [n]
220
+ (if (<= (long n) 0) 32 (Integer/numberOfLeadingZeros (unchecked-int (long n)))))
221
+
222
+ (defn typename [t] (getelem TYPENAME (clz32 t) (nth TYPENAME 0)))
223
+
224
+ (def ^:private TYPIFY-NOARG (Object.))
225
+ (def NOARG TYPIFY-NOARG)
226
+
227
+ (defn typify
228
+ ([] T_noval)
229
+ ([value]
230
+ (cond
231
+ (identical? value TYPIFY-NOARG) T_noval
232
+ (nil? value) (bit-or T_scalar T_null)
233
+ (jbool? value) (bit-or T_scalar T_boolean)
234
+ (jint? value) (bit-or T_scalar T_number T_integer)
235
+ (jdouble? value) (if (Double/isNaN (double value))
236
+ T_noval
237
+ (bit-or T_scalar T_number T_decimal))
238
+ (number? value) (bit-or T_scalar T_number T_integer)
239
+ (string? value) (bit-or T_scalar T_string)
240
+ (isfunc value) (bit-or T_scalar T_function)
241
+ (islist value) (bit-or T_node T_list)
242
+ (ismap value) (bit-or T_node T_map)
243
+ :else (bit-or T_node T_instance))))
244
+
245
+ (defn getelem
246
+ ([val key] (getelem val key nil))
247
+ ([val key alt]
248
+ (let [out (atom nil)]
249
+ (if (or (nil? val) (nil? key))
250
+ alt
251
+ (do
252
+ (when (islist val)
253
+ (let [ks (str key)]
254
+ (when (re-matches #"-?[0-9]+" ks)
255
+ (let [len (.size ^List val)
256
+ nk0 (Long/parseLong ks)
257
+ nk (if (neg? nk0) (+ len nk0) nk0)]
258
+ (when (and (<= 0 nk) (< nk len))
259
+ (reset! out (.get ^List val (int nk))))))))
260
+ (if (nil? @out)
261
+ (if (isfunc alt) (alt) alt)
262
+ @out))))))
263
+
264
+ (defn getprop
265
+ ([val key] (getprop val key nil))
266
+ ([val key alt]
267
+ (if (or (nil? val) (nil? key))
268
+ alt
269
+ (let [out (cond
270
+ (ismap val) (let [skey (str key)]
271
+ (if (.containsKey ^Map val skey)
272
+ (.get ^Map val skey) alt))
273
+ (islist val) (let [ki (parse-long-strict key)]
274
+ (if (and ki (<= 0 ki) (< ki (.size ^List val)))
275
+ (.get ^List val (int ki)) alt))
276
+ :else alt)]
277
+ (if (nil? out) alt out)))))
278
+
279
+ (defn- _lookup [val key]
280
+ (cond
281
+ (or (nil? val) (nil? key)) nil
282
+ (ismap val) (let [skey (str key)]
283
+ (if (.containsKey ^Map val skey) (.get ^Map val skey) nil))
284
+ (islist val) (let [ki (parse-long-strict key)]
285
+ (if (and ki (<= 0 ki) (< ki (.size ^List val)))
286
+ (.get ^List val (int ki)) nil))
287
+ :else nil))
288
+
289
+ (defn haskey
290
+ ([val] (haskey val nil))
291
+ ([val key] (some? (getprop val key))))
292
+
293
+ (defn items
294
+ ([val] (items val nil))
295
+ ([val apply]
296
+ (if-not (isnode val)
297
+ []
298
+ (let [ks (keysof val)
299
+ out (mapv (fn [k]
300
+ [k (if (ismap val)
301
+ (.get ^Map val k)
302
+ (.get ^List val (int (Long/parseLong k))))])
303
+ ks)]
304
+ (if apply (mapv apply out) out)))))
305
+
306
+ (defn flatten
307
+ ([lst] (flatten lst 1))
308
+ ([lst depth]
309
+ (let [depth (if (nil? depth) 1 depth)]
310
+ (if-not (islist lst)
311
+ lst
312
+ (let [out (alist)]
313
+ (doseq [item lst]
314
+ (if (and (islist item) (> depth 0))
315
+ (doseq [x (flatten item (dec depth))] (.add out x))
316
+ (.add out item)))
317
+ out)))))
318
+
319
+ (defn filter [val check]
320
+ (let [all (items val)
321
+ out (alist)]
322
+ (doseq [it all] (when (check it) (.add out (nth it 1))))
323
+ out))
324
+
325
+ (defn setprop [parent key val]
326
+ (when (iskey key)
327
+ (cond
328
+ (ismap parent) (.put ^Map parent (str key) val)
329
+ (islist parent)
330
+ (let [ki (parse-long-strict key)]
331
+ (when ki
332
+ (let [^List p parent len (.size p)]
333
+ (if (>= ki 0)
334
+ (let [ki (min ki len)]
335
+ (if (>= ki len) (.add p val) (.set p (int ki) val)))
336
+ (.add p 0 val)))))))
337
+ parent)
338
+
339
+ (defn delprop [parent key]
340
+ (when (iskey key)
341
+ (cond
342
+ (ismap parent) (.remove ^Map parent (str key))
343
+ (islist parent)
344
+ (let [ki (parse-long-strict key)]
345
+ (when ki
346
+ (let [^List p parent]
347
+ (when (and (<= 0 ki) (< ki (.size p)))
348
+ (.remove p (int ki))))))))
349
+ parent)
350
+
351
+ (defn slice
352
+ ([val] (slice val nil nil false))
353
+ ([val start] (slice val start nil false))
354
+ ([val start end] (slice val start end false))
355
+ ([val start end mutate]
356
+ (cond
357
+ (and (number? val) (not (jbool? val)))
358
+ (let [lo start
359
+ hi (when (some? end) (dec (long end)))]
360
+ (cond
361
+ (and (some? hi) (> (double val) (double hi))) hi
362
+ (and (some? lo) (< (double val) (double lo))) lo
363
+ :else val))
364
+
365
+ (or (islist val) (string? val))
366
+ (let [vlen (size val)
367
+ start (if (and (nil? start) (some? end)) 0 start)]
368
+ (if (nil? start)
369
+ val
370
+ (let [[start end]
371
+ (cond
372
+ (< start 0) [0 (let [e (+ vlen start)] (if (< e 0) 0 e))]
373
+ (some? end) [start (cond (< end 0) (let [e (+ vlen end)] (if (< e 0) 0 e))
374
+ (< vlen end) vlen
375
+ :else end)]
376
+ :else [start vlen])
377
+ start (if (< vlen start) vlen start)]
378
+ (if (and (> start -1) (<= start end) (<= end vlen))
379
+ (cond
380
+ (and (islist val) mutate)
381
+ (let [^List p val]
382
+ (loop [i 0 j start]
383
+ (when (< j end) (.set p i (.get p j)) (recur (inc i) (inc j))))
384
+ (while (> (.size p) (- end start)) (.remove p (int (dec (.size p)))))
385
+ p)
386
+ (islist val) (alist-of (subvec (vec val) start end))
387
+ (string? val) (subs val start end)
388
+ :else val)
389
+ (cond
390
+ (and (islist val) mutate) (let [^List p val] (.clear p) p)
391
+ (islist val) (alist)
392
+ (string? val) S-MT
393
+ :else val)))))
394
+ :else val)))
395
+
396
+ ;; ---------------------------------------------------------------------------
397
+ ;; Regex utility (uniform re_* API)
398
+ ;; ---------------------------------------------------------------------------
399
+
400
+ (defn- ->pattern ^Pattern [p]
401
+ (if (instance? Pattern p) p (Pattern/compile (str p))))
402
+
403
+ (defn re_compile
404
+ ([p] (->pattern p))
405
+ ([p _flags] (->pattern p)))
406
+
407
+ (defn- match-groups [^Matcher m]
408
+ (vec (for [i (range (inc (.groupCount m)))]
409
+ (let [g (.group m (int i))] (if (nil? g) "" g)))))
410
+
411
+ (defn re_find [p input]
412
+ (let [m (.matcher (->pattern p) input)]
413
+ (when (.find m) (match-groups m))))
414
+
415
+ (defn re_find_all [p input]
416
+ (let [m (.matcher (->pattern p) input) out (alist)]
417
+ (while (.find m)
418
+ (.add out (match-groups m))
419
+ (when (= "" (.group m)) ))
420
+ out))
421
+
422
+ (defn re_test [p input] (.find (.matcher (->pattern p) input)))
423
+
424
+ (defn re_replace [p input replacement]
425
+ (let [m (.matcher (->pattern p) input) sb (StringBuffer.)]
426
+ (if (isfunc replacement)
427
+ (do (while (.find m)
428
+ (.appendReplacement m sb (Matcher/quoteReplacement (str (replacement (match-groups m))))))
429
+ (.appendTail m sb)
430
+ (.toString sb))
431
+ ;; String replacement: translate $& -> $0 (Java group ref); leave $1.. as-is.
432
+ (let [jrepl (clojure.string/replace (str replacement) "$&" "$0")]
433
+ (.replaceAll (.matcher (->pattern p) input) jrepl)))))
434
+
435
+ (defn escre [s]
436
+ (let [s (if (nil? s) S-MT s)]
437
+ (re_replace (Pattern/compile "[.*+?^${}()|\\[\\]\\\\]") s
438
+ (fn [g] (str "\\" (nth g 0))))))
439
+
440
+ (defn re_escape [s] (escre s))
441
+
442
+ (def ^:private URL-UNRESERVED
443
+ (set (concat (map char (range (int \A) (inc (int \Z))))
444
+ (map char (range (int \a) (inc (int \z))))
445
+ (map char (range (int \0) (inc (int \9))))
446
+ [\- \_ \. \! \~ \* \' \( \)])))
447
+
448
+ (defn escurl
449
+ "Escape a URL component, matching JS encodeURIComponent."
450
+ [s]
451
+ (let [s (if (nil? s) S-MT (str s))
452
+ sb (StringBuilder.)]
453
+ (doseq [b (.getBytes ^String s "UTF-8")]
454
+ (let [c (char (bit-and b 0xff))]
455
+ (if (contains? URL-UNRESERVED c)
456
+ (.append sb c)
457
+ (.append sb (format "%%%02X" (bit-and b 0xff))))))
458
+ (.toString sb)))
459
+
460
+ ;; ---------------------------------------------------------------------------
461
+ ;; JSON-ish serialization (stringify / jsonify) and clone
462
+ ;; ---------------------------------------------------------------------------
463
+
464
+ (defn- num->json [v]
465
+ (cond
466
+ (jdouble? v) (let [d (double v)]
467
+ (cond
468
+ (or (Double/isNaN d) (Double/isInfinite d)) "null"
469
+ (== d (Math/floor d)) (str (long d))
470
+ :else (str d)))
471
+ :else (str v)))
472
+
473
+ (defn- esc-json-str [^String s]
474
+ (let [sb (StringBuilder.)]
475
+ (.append sb \")
476
+ (doseq [c s]
477
+ (cond
478
+ (= c \") (.append sb "\\\"")
479
+ (= c \\) (.append sb "\\\\")
480
+ (= c \newline) (.append sb "\\n")
481
+ (= c \return) (.append sb "\\r")
482
+ (= c \tab) (.append sb "\\t")
483
+ (< (int c) 32) (.append sb (format "\\u%04x" (int c)))
484
+ :else (.append sb c)))
485
+ (.append sb \")
486
+ (.toString sb)))
487
+
488
+ (defn- json-encode
489
+ "Encode val as JSON. opts: :sort? sort map keys; :indent (nil=compact)."
490
+ [val opts]
491
+ (let [{:keys [sort? indent]} opts]
492
+ (letfn [(enc [v level]
493
+ (cond
494
+ (nil? v) "null"
495
+ (jbool? v) (if v "true" "false")
496
+ (number? v) (num->json v)
497
+ (string? v) (esc-json-str v)
498
+ (isfunc v) "null"
499
+ (islist v)
500
+ (let [items (vec v)]
501
+ (if (empty? items)
502
+ "[]"
503
+ (if indent
504
+ (let [pad (apply str (repeat (* indent (inc level)) " "))
505
+ cpad (apply str (repeat (* indent level) " "))]
506
+ (str "[\n" (clojure.string/join ",\n"
507
+ (map #(str pad (enc % (inc level))) items))
508
+ "\n" cpad "]"))
509
+ (str "[" (clojure.string/join "," (map #(enc % (inc level)) items)) "]"))))
510
+ (ismap v)
511
+ (let [ks (let [k (vec (map str (map-keys v)))] (if sort? (vec (sort k)) k))]
512
+ (if (empty? ks)
513
+ "{}"
514
+ (if indent
515
+ (let [pad (apply str (repeat (* indent (inc level)) " "))
516
+ cpad (apply str (repeat (* indent level) " "))]
517
+ (str "{\n" (clojure.string/join ",\n"
518
+ (map #(str pad (esc-json-str %) ": " (enc (.get ^Map v %) (inc level))) ks))
519
+ "\n" cpad "}"))
520
+ (str "{" (clojure.string/join ","
521
+ (map #(str (esc-json-str %) ":" (enc (.get ^Map v %) (inc level))) ks))
522
+ "}"))))
523
+ :else (esc-json-str (str v))))]
524
+ (enc val 0))))
525
+
526
+ (defn pad
527
+ ([s] (pad s nil nil))
528
+ ([s padding] (pad s padding nil))
529
+ ([s padding padchar]
530
+ (let [s (if (nil? s) "null" (if (string? s) s (stringify s)))
531
+ padding (if (nil? padding) 44 padding)
532
+ padchar (if (nil? padchar) " " (subs (str padchar " ") 0 1))]
533
+ (if (> padding -1)
534
+ (let [n (- padding (count s))]
535
+ (if (> n 0) (str s (apply str (repeat n padchar))) s))
536
+ (let [n (- (- padding) (count s))]
537
+ (if (> n 0) (str (apply str (repeat n padchar)) s) s))))))
538
+
539
+ (defn stringify
540
+ ([] S-MT)
541
+ ([val] (stringify val nil nil))
542
+ ([val maxlen] (stringify val maxlen nil))
543
+ ([val maxlen pretty]
544
+ (let [pretty (boolean pretty)
545
+ valstr (if (string? val)
546
+ val
547
+ (try
548
+ (json-encode val {:sort? true})
549
+ (catch Throwable _ "__STRINGIFY_FAILED__")))
550
+ ;; detect cyclic / failed encode already returns marker via exception only
551
+ valstr (if (string? val) val (clojure.string/replace valstr "\"" ""))
552
+ valstr (if (and (some? maxlen) (> maxlen -1))
553
+ (let [js (subs valstr 0 (min maxlen (count valstr)))]
554
+ (if (< maxlen (count valstr)) (str (subs js 0 (- maxlen 3)) "...") valstr))
555
+ valstr)]
556
+ (if pretty
557
+ (let [colors [81 118 213 39 208 201 45 190 129 51 160 121 226 33 207 69]
558
+ c (mapv #(str "[38;5;" % "m") colors)
559
+ r ""]
560
+ (loop [chs (seq valstr) d 0 o (nth c 0) t (nth c 0)]
561
+ (if (empty? chs)
562
+ (str t r)
563
+ (let [ch (first chs)]
564
+ (cond
565
+ (or (= ch \{) (= ch \[))
566
+ (let [d (inc d) o (nth c (mod d (count c)))]
567
+ (recur (rest chs) d o (str t o ch)))
568
+ (or (= ch \}) (= ch \]))
569
+ (let [t (str t o ch) d (dec d) o (nth c (mod d (count c)))]
570
+ (recur (rest chs) d o t))
571
+ :else (recur (rest chs) d o (str t o ch)))))))
572
+ valstr))))
573
+
574
+ ;; Re-do stringify cyclic detection: json-encode can recurse infinitely on a
575
+ ;; self-referential map. Guard by catching StackOverflowError above (Throwable).
576
+
577
+ (defn clone [val]
578
+ (cond
579
+ (nil? val) nil
580
+ (ismap val) (let [o (lhm)] (doseq [k (map-keys val)] (.put o k (clone (.get ^Map val k)))) o)
581
+ (islist val) (let [a (alist)] (doseq [x val] (.add a (clone x))) a)
582
+ :else val))
583
+
584
+ (defn jsonify
585
+ ([val] (jsonify val nil))
586
+ ([val flags]
587
+ (if (nil? val)
588
+ S-null
589
+ (let [indent (getprop flags "indent" 2)
590
+ json-str (try
591
+ (if (and indent (> indent 0))
592
+ (json-encode val {:indent indent})
593
+ (json-encode val {}))
594
+ (catch Throwable _ S-null))
595
+ offset (getprop flags "offset" 0)]
596
+ (if (and json-str (> offset 0))
597
+ (let [lines (clojure.string/split-lines json-str)
598
+ padded (map (fn [n] (pad (nth n 1) (- (- offset) (size (nth n 1))))) (items (alist-of (rest lines))))]
599
+ (str "{\n" (clojure.string/join "\n" padded)))
600
+ (or json-str S-null))))))
601
+
602
+ ;; ---------------------------------------------------------------------------
603
+ ;; join / pathify
604
+ ;; ---------------------------------------------------------------------------
605
+
606
+ (defn join
607
+ ([arr] (join arr nil nil))
608
+ ([arr sep] (join arr sep nil))
609
+ ([arr sep url]
610
+ (if-not (islist arr)
611
+ S-MT
612
+ (let [sepdef (if (or (nil? sep)) S-CM sep)
613
+ sepre (if (= 1 (size sepdef)) (escre sepdef) nil)
614
+ sarr (size arr)
615
+ filtered (keep-indexed (fn [i s] (when (and (string? s) (not= s S-MT)) [i s])) arr)
616
+ result (alist)]
617
+ (doseq [[idx s0] filtered]
618
+ (let [s (if (and sepre (not= sepre S-MT))
619
+ (cond
620
+ (and url (= idx 0))
621
+ (re_replace (Pattern/compile (str sepre "+$")) s0 (fn [_] S-MT))
622
+ :else
623
+ (let [s (if (> idx 0)
624
+ (re_replace (Pattern/compile (str "^" sepre "+")) s0 (fn [_] S-MT))
625
+ s0)
626
+ s (if (or (< idx (dec sarr)) (not url))
627
+ (re_replace (Pattern/compile (str sepre "+$")) s (fn [_] S-MT))
628
+ s)]
629
+ (re_replace (Pattern/compile (str "([^" sepre "])" sepre "+([^" sepre "])"))
630
+ s (fn [g] (str (nth g 1) sepdef (nth g 2))))))
631
+ s0)]
632
+ (when (not= s S-MT) (.add result s))))
633
+ (clojure.string/join sepdef (vec result))))))
634
+
635
+ (defn joinurl [sarr] (join sarr "/" true))
636
+
637
+ (defn replace [s from to]
638
+ (let [ts (typify s)
639
+ rs (cond
640
+ (zero? (bit-and T_string ts)) (stringify s)
641
+ (pos? (bit-and (bit-or T_noval T_null) ts)) S-MT
642
+ :else (stringify s))]
643
+ (if (string? from)
644
+ (clojure.string/replace rs from (str to))
645
+ (re_replace from rs (str to)))))
646
+
647
+ (defn pathify
648
+ ([] (pathify TYPIFY-NOARG nil nil))
649
+ ([val] (pathify val nil nil))
650
+ ([val startin] (pathify val startin nil))
651
+ ([val startin endin]
652
+ (let [absent? (identical? val TYPIFY-NOARG)
653
+ val (if absent? nil val)
654
+ path (cond (islist val) (vec val)
655
+ (iskey val) [val]
656
+ :else nil)
657
+ start (cond (nil? startin) 0 (> startin -1) startin :else 0)
658
+ end (cond (nil? endin) 0 (> endin -1) endin :else 0)
659
+ pathstr
660
+ (when (and (some? path) (>= start 0))
661
+ (let [path (subvec path (min start (count path)) (max 0 (- (count path) end)))]
662
+ (if (zero? (count path))
663
+ "<root>"
664
+ (let [fp (clojure.core/filter iskey path)
665
+ mapped (map (fn [p]
666
+ (if (and (number? p) (not (jbool? p)))
667
+ (str (long p))
668
+ (clojure.string/replace (str p) "." S-MT)))
669
+ fp)]
670
+ (clojure.string/join S-DT mapped)))))]
671
+ (if (nil? pathstr)
672
+ (str "<unknown-path" (if absent? S-MT (str S-CN (stringify val 47))) ">")
673
+ pathstr))))
674
+
675
+ ;; ---------------------------------------------------------------------------
676
+ ;; walk / merge
677
+ ;; ---------------------------------------------------------------------------
678
+
679
+ (defn walk
680
+ ([val] (walk val {}))
681
+ ([val arg]
682
+ (let [{:keys [before after maxdepth key parent path pool]} (if (map? arg) arg {:after arg})
683
+ pool (if (nil? pool) (doto (alist) (.add (alist))) pool)
684
+ path (if (nil? path) (.get ^List pool 0) path)
685
+ depth (.size ^List path)
686
+ out (if (nil? before) val (before key val parent path))
687
+ md (if (and (some? maxdepth) (>= maxdepth 0)) maxdepth MAXDEPTH)]
688
+ (if (or (= md 0) (and (> md 0) (<= md depth)))
689
+ out
690
+ (do
691
+ (when (isnode out)
692
+ (let [child-depth (inc depth)]
693
+ (while (<= (.size ^List pool) child-depth)
694
+ (.add ^List pool (alist-of (repeat (.size ^List pool) nil))))
695
+ (let [^List child-path (.get ^List pool child-depth)]
696
+ (dotimes [i depth] (.set child-path (int i) (.get ^List path (int i))))
697
+ (doseq [[ckey child] (items out)]
698
+ (.set child-path (int depth) (str ckey))
699
+ (let [result (walk child {:before before :after after :maxdepth md
700
+ :key ckey :parent out :path child-path :pool pool})]
701
+ (cond
702
+ (ismap out) (.put ^Map out (str ckey) result)
703
+ (islist out) (.set ^List out (int (Long/parseLong (str ckey))) result)))))))
704
+ (if (nil? after) out (after key out parent path)))))))
705
+
706
+ (defn merge
707
+ ([objs] (merge objs nil))
708
+ ([objs maxdepth]
709
+ (let [md (if (nil? maxdepth) MAXDEPTH (max maxdepth 0))]
710
+ (if-not (islist objs)
711
+ objs
712
+ (let [lenlist (.size ^List objs)]
713
+ (cond
714
+ (= lenlist 0) nil
715
+ (= lenlist 1) (.get ^List objs 0)
716
+ :else
717
+ (let [out (atom (getprop objs 0 (lhm)))]
718
+ (doseq [oI (range 1 lenlist)]
719
+ (let [obj (.get ^List objs (int oI))]
720
+ (if-not (isnode obj)
721
+ (reset! out obj)
722
+ (let [cur (alist-of [@out])
723
+ dst (alist-of [@out])
724
+ grow! (fn [^ArrayList a n]
725
+ (while (<= (.size a) n) (.add a nil)))
726
+ before (fn [key val _parent path]
727
+ (let [pI (size path)]
728
+ (cond
729
+ (<= md pI)
730
+ (do (grow! cur pI) (.set cur (int pI) val)
731
+ (when (> pI 0) (setprop (.get cur (int (dec pI))) key val))
732
+ nil)
733
+ (not (isnode val))
734
+ (do (grow! cur pI) (.set cur (int pI) val) val)
735
+ :else
736
+ (do (grow! dst pI) (grow! cur pI)
737
+ (.set dst (int pI) (if (> pI 0) (getprop (.get dst (int (dec pI))) key) (.get dst (int pI))))
738
+ (let [tval (.get dst (int pI))]
739
+ (cond
740
+ (nil? tval) (do (.set cur (int pI) (if (islist val) (alist) (lhm))) val)
741
+ (or (and (islist val) (islist tval)) (and (ismap val) (ismap tval)))
742
+ (do (.set cur (int pI) tval) val)
743
+ :else (do (.set cur (int pI) val) nil)))))))
744
+ after (fn [key _val _parent path]
745
+ (let [cI (size path)]
746
+ (if (< cI 1)
747
+ (if (> (.size cur) 0) (.get cur 0) _val)
748
+ (let [target (when (< (dec cI) (.size cur)) (.get cur (int (dec cI))))
749
+ value (when (< cI (.size cur)) (.get cur (int cI)))]
750
+ (setprop target key value)
751
+ value))))]
752
+ (reset! out (walk obj {:before before :after after}))))))
753
+ (when (= md 0)
754
+ (let [o (getprop objs (dec lenlist) nil)]
755
+ (reset! out (cond (islist o) (alist) (ismap o) (lhm) :else o))))
756
+ @out)))))))
757
+
758
+ ;; ---------------------------------------------------------------------------
759
+ ;; getpath / setpath
760
+ ;; ---------------------------------------------------------------------------
761
+
762
+ (defn getpath
763
+ ([store path] (getpath store path nil))
764
+ ([store path injdef]
765
+ (let [parts (cond
766
+ (islist path) (alist-of path)
767
+ (string? path) (alist-of (.split ^String path "\\." -1))
768
+ (and (number? path) (not (jbool? path))) (alist-of [(strkey path)])
769
+ :else nil)]
770
+ (if (nil? parts)
771
+ nil
772
+ (let [is-inj (inj? injdef)
773
+ base (if is-inj (ig injdef :base) (when injdef (getprop injdef S-base)))
774
+ dparent (if is-inj (ig injdef :dparent) (when injdef (getprop injdef "dparent")))
775
+ inj-meta (if is-inj (ig injdef :meta) (when injdef (getprop injdef "meta")))
776
+ inj-key (if is-inj (ig injdef :key) (when injdef (getprop injdef "key")))
777
+ dpath (if is-inj (ig injdef :dpath) (when injdef (getprop injdef "dpath")))
778
+ src (if base (getprop store base store) store)
779
+ numparts (size parts)
780
+ val (atom store)]
781
+ (cond
782
+ (or (nil? path) (nil? store) (and (= numparts 1) (= (.get parts 0) S-MT)) (= numparts 0))
783
+ (reset! val src)
784
+
785
+ (> numparts 0)
786
+ (do
787
+ (when (= numparts 1)
788
+ (reset! val (getprop store (.get parts 0))))
789
+ (when-not (isfunc @val)
790
+ (reset! val src)
791
+ (let [m (when (string? (.get parts 0)) (re_find R-META-PATH (.get parts 0)))]
792
+ (when (and m inj-meta)
793
+ (reset! val (getprop inj-meta (nth m 1)))
794
+ (.set parts 0 (nth m 3))))
795
+ (loop [pI 0]
796
+ (when (and (some? @val) (< pI numparts))
797
+ (let [raw (.get parts (int pI))
798
+ part (cond
799
+ (and injdef (= raw S-DKEY)) (if (some? inj-key) inj-key raw)
800
+ (and (string? raw) (.startsWith ^String raw "$GET:"))
801
+ (stringify (getpath src (slice raw 5 -1)))
802
+ (and (string? raw) (.startsWith ^String raw "$REF:"))
803
+ (stringify (getpath (getprop store S-DSPEC) (slice raw 5 -1)))
804
+ (and injdef (string? raw) (.startsWith ^String raw "$META:"))
805
+ (stringify (getpath inj-meta (slice raw 6 -1)))
806
+ :else raw)
807
+ part (if (string? part)
808
+ (re_replace R-DOUBLE-DOLLAR part (fn [_] "$"))
809
+ (strkey part))]
810
+ (if (= part S-MT)
811
+ (let [[ascends pI2]
812
+ (loop [a 0 p pI]
813
+ (if (and (< (inc p) (.size parts)) (= (.get parts (int (inc p))) S-MT))
814
+ (recur (inc a) (inc p))
815
+ [a p]))]
816
+ (if (and injdef (> ascends 0))
817
+ (let [last? (= pI2 (dec (.size parts)))
818
+ ascends (if last? (dec ascends) ascends)]
819
+ (if (= ascends 0)
820
+ (do (reset! val dparent) (recur (inc pI2)))
821
+ (let [fullpath (flatten (alist-of [(slice dpath (- ascends)) (alist-of (subvec (vec parts) (inc pI2)))]))]
822
+ (reset! val (if (<= ascends (size dpath)) (getpath store fullpath) nil)))))
823
+ (do (reset! val dparent) (recur (inc pI2)))))
824
+ (do (reset! val (getprop @val part)) (recur (inc pI))))))))))
825
+ (let [handler (if is-inj (ig injdef :handler) (when injdef (getprop injdef "handler")))]
826
+ (when (and handler (isfunc handler))
827
+ (let [ref (pathify path)]
828
+ (reset! val (handler injdef @val ref store)))))
829
+ @val)))))
830
+
831
+ (defn setpath
832
+ ([store path val] (setpath store path val nil))
833
+ ([store path val injdef]
834
+ (let [ptype (typify path)
835
+ parts (cond
836
+ (pos? (bit-and T_list ptype)) (alist-of path)
837
+ (pos? (bit-and T_string ptype)) (alist-of (.split ^String path "\\." -1))
838
+ (pos? (bit-and T_number ptype)) (alist-of [path])
839
+ :else nil)]
840
+ (if (nil? parts)
841
+ nil
842
+ (let [base (when injdef (getprop injdef S-base))
843
+ numparts (size parts)
844
+ parent (atom (if base (getprop store base store) store))]
845
+ (doseq [pI (range (dec numparts))]
846
+ (let [pkey (getelem parts pI)
847
+ np (getprop @parent pkey)
848
+ np (if-not (isnode np)
849
+ (let [next-part (getelem parts (inc pI))
850
+ nn (if (pos? (bit-and T_number (typify next-part))) (alist) (lhm))]
851
+ (setprop @parent pkey nn) nn)
852
+ np)]
853
+ (reset! parent np)))
854
+ (if (identical? DELETE val)
855
+ (delprop @parent (getelem parts -1))
856
+ (setprop @parent (getelem parts -1) val))
857
+ @parent)))))
858
+
859
+ ;; ---------------------------------------------------------------------------
860
+ ;; Injection state
861
+ ;; ---------------------------------------------------------------------------
862
+
863
+ (defn- new-inj [fields]
864
+ (let [m (java.util.HashMap.)]
865
+ (doseq [[k v] fields] (.put m k v))
866
+ (Inj. m)))
867
+
868
+ (defn- inj-descend [^Inj inj]
869
+ (let [meta (ig inj :meta)
870
+ d (.get ^Map meta "__d")]
871
+ (.put ^Map meta "__d" (inc (if (nil? d) 0 d)))
872
+ (let [path (ig inj :path)
873
+ parentkey (getelem path -2)
874
+ dparent (ig inj :dparent)
875
+ dpath (ig inj :dpath)]
876
+ (if (nil? dparent)
877
+ (when (> (size dpath) 1)
878
+ (is! inj :dpath (alist-of (concat dpath [parentkey]))))
879
+ (when (some? parentkey)
880
+ (is! inj :dparent (getprop dparent parentkey))
881
+ (let [lastpart (getelem dpath -1)]
882
+ (if (= lastpart (str "$:" parentkey))
883
+ (is! inj :dpath (slice dpath -1))
884
+ (is! inj :dpath (alist-of (concat dpath [parentkey]))))))))
885
+ (ig inj :dparent)))
886
+
887
+ (defn- inj-child [^Inj inj keyI keys]
888
+ (let [key (strkey (nth (vec keys) keyI))
889
+ val (ig inj :val)
890
+ cinj (new-inj
891
+ {:mode (ig inj :mode) :full (ig inj :full) :keyI keyI :keys keys :key key
892
+ :val (getprop val key) :parent val
893
+ :path (alist-of (concat (ig inj :path) [key]))
894
+ :nodes (alist-of (concat (ig inj :nodes) [val]))
895
+ :handler (ig inj :handler) :errs (ig inj :errs) :meta (ig inj :meta)
896
+ :base (ig inj :base) :modify (ig inj :modify)})]
897
+ (is! cinj :prior inj)
898
+ (is! cinj :dpath (alist-of (ig inj :dpath)))
899
+ (is! cinj :dparent (ig inj :dparent))
900
+ (is! cinj :extra (ig inj :extra))
901
+ (is! cinj :root (ig inj :root))
902
+ cinj))
903
+
904
+ (defn- inj-setval
905
+ ([^Inj inj val] (inj-setval inj val nil))
906
+ ([^Inj inj val ancestor]
907
+ (let [[target key] (if (or (nil? ancestor) (< ancestor 2))
908
+ [(ig inj :parent) (ig inj :key)]
909
+ [(getelem (ig inj :nodes) (- ancestor)) (getelem (ig inj :path) (- ancestor))])]
910
+ (if (nil? val)
911
+ (delprop target key)
912
+ (setprop target key val)))))
913
+
914
+ ;; ---------------------------------------------------------------------------
915
+ ;; inject
916
+ ;; ---------------------------------------------------------------------------
917
+
918
+ (defn inject
919
+ ([val store] (inject val store nil))
920
+ ([val store injdef]
921
+ (let [inj
922
+ (if (inj? injdef)
923
+ injdef
924
+ (let [parent (doto (lhm) (.put S-DTOP val))
925
+ inj (new-inj
926
+ {:mode S-MVAL :full false :keyI 0 :keys (alist-of [S-DTOP]) :key S-DTOP
927
+ :val val :parent parent :path (alist-of [S-DTOP]) :nodes (alist-of [parent])
928
+ :handler _injecthandler :base S-DTOP
929
+ :modify (when injdef (getprop injdef "modify"))
930
+ :meta (getprop injdef "meta" (lhm))
931
+ :errs (getprop store S-DERRS (alist))})]
932
+ (is! inj :dparent store)
933
+ (is! inj :dpath (alist-of [S-DTOP]))
934
+ (is! inj :root parent)
935
+ (when (some? injdef)
936
+ (when (getprop injdef "extra") (is! inj :extra (getprop injdef "extra")))
937
+ (when (getprop injdef "handler") (is! inj :handler (getprop injdef "handler")))
938
+ (when (getprop injdef "dparent") (is! inj :dparent (getprop injdef "dparent")))
939
+ (when (getprop injdef "dpath") (is! inj :dpath (getprop injdef "dpath"))))
940
+ inj))]
941
+ (inj-descend inj)
942
+
943
+ (let [val
944
+ (cond
945
+ (isnode val)
946
+ (let [nodekeys (atom
947
+ (if (ismap val)
948
+ (let [ks (vec (map str (map-keys val)))
949
+ normal (sort (clojure.core/filter #(not (.contains ^String % S-DS)) ks))
950
+ trans (sort (clojure.core/filter #(.contains ^String % S-DS) ks))]
951
+ (alist-of (concat normal trans)))
952
+ (alist-of (map str (range (.size ^List val))))))]
953
+ (loop [nkI 0]
954
+ (when (< nkI (.size ^List @nodekeys))
955
+ (let [childinj (inj-child inj nkI @nodekeys)
956
+ nodekey (ig childinj :key)]
957
+ (is! childinj :mode S-MKEYPRE)
958
+ (let [prekey (_injectstr nodekey store childinj)]
959
+ (reset! nodekeys (ig childinj :keys))
960
+ (when (some? prekey)
961
+ (is! childinj :val (getprop val prekey))
962
+ (is! childinj :mode S-MVAL)
963
+ (inject (ig childinj :val) store childinj)
964
+ (reset! nodekeys (ig childinj :keys))
965
+ (is! childinj :mode S-MKEYPOST)
966
+ (_injectstr nodekey store childinj)
967
+ (reset! nodekeys (ig childinj :keys)))
968
+ (recur (inc (ig childinj :keyI)))))))
969
+ val)
970
+
971
+ (string? val)
972
+ (do
973
+ (is! inj :mode S-MVAL)
974
+ (let [v (_injectstr val store inj)]
975
+ (when-not (identical? v SKIP) (inj-setval inj v))
976
+ v))
977
+
978
+ :else val)]
979
+
980
+ ;; Custom modification (runs after special commands).
981
+ (when (and (ig inj :modify) (not (identical? val SKIP)))
982
+ (let [mkey (ig inj :key) mparent (ig inj :parent) mval (getprop mparent mkey)]
983
+ ((ig inj :modify) mval mkey mparent inj)))
984
+
985
+ (is! inj :val val)
986
+
987
+ (cond
988
+ (and (nil? (ig inj :prior)) (some? (ig inj :root)) (haskey (ig inj :root) S-DTOP))
989
+ (getprop (ig inj :root) S-DTOP)
990
+ (and (= (ig inj :key) S-DTOP) (some? (ig inj :parent)) (haskey (ig inj :parent) S-DTOP))
991
+ (getprop (ig inj :parent) S-DTOP)
992
+ :else val)))))
993
+
994
+ (defn- _injecthandler [inj val ref store]
995
+ (let [iscmd (and (isfunc val) (or (nil? ref) (and (string? ref) (.startsWith ^String ref S-DS))))]
996
+ (cond
997
+ iscmd (val inj val ref store)
998
+ (and (= (ig inj :mode) S-MVAL) (ig inj :full)) (do (inj-setval inj val) val)
999
+ :else val)))
1000
+
1001
+ (defn- _injectstr [val store inj]
1002
+ (if (or (not (string? val)) (= val S-MT))
1003
+ S-MT
1004
+ (let [m (re_find R-INJECT-FULL val)]
1005
+ (if m
1006
+ (do
1007
+ (when (inj? inj) (is! inj :full true))
1008
+ (let [pathref0 (nth m 1)
1009
+ pathref (if (> (count pathref0) 3)
1010
+ (-> pathref0 (clojure.string/replace "$BT" S-BT) (clojure.string/replace "$DS" S-DS))
1011
+ pathref0)]
1012
+ (getpath store pathref inj)))
1013
+ (let [out (re_replace R-INJECT-PART val
1014
+ (fn [g]
1015
+ (let [ref0 (nth g 1)
1016
+ ref (if (> (count ref0) 3)
1017
+ (-> ref0 (clojure.string/replace "$BT" S-BT) (clojure.string/replace "$DS" S-DS))
1018
+ ref0)]
1019
+ (when (inj? inj) (is! inj :full false))
1020
+ (let [found (getpath store ref inj)]
1021
+ (cond
1022
+ (nil? found) S-MT
1023
+ (string? found) (if (= found "__NULL__") "null" found)
1024
+ (isfunc found) found
1025
+ :else (try (json-encode found {}) (catch Throwable _ (stringify found))))))))]
1026
+ (if (and (inj? inj) (isfunc (ig inj :handler)))
1027
+ (do (is! inj :full true)
1028
+ ((ig inj :handler) inj out val store))
1029
+ out))))))
1030
+
1031
+ ;; ---------------------------------------------------------------------------
1032
+ ;; Transform commands
1033
+ ;; ---------------------------------------------------------------------------
1034
+
1035
+ (defn- transform_DELETE [inj _val _ref _store]
1036
+ (delprop (ig inj :parent) (ig inj :key)) nil)
1037
+
1038
+ (defn- transform_COPY [inj _val _ref _store]
1039
+ (let [mode (ig inj :mode) key (ig inj :key)]
1040
+ (if (.startsWith ^String mode "key")
1041
+ key
1042
+ (let [dparent (ig inj :dparent) path (ig inj :path)
1043
+ out (if-not (isnode dparent)
1044
+ (if (not= (size path) 2)
1045
+ dparent
1046
+ (if (parse-long-strict key) dparent nil))
1047
+ (let [o (getprop dparent key)]
1048
+ (if (and (nil? o) (some? key) (parse-long-strict key)) dparent o)))]
1049
+ (inj-setval inj out)
1050
+ out))))
1051
+
1052
+ (defn- transform_KEY [inj _val _ref _store]
1053
+ (let [mode (ig inj :mode) path (ig inj :path) parent (ig inj :parent)]
1054
+ (cond
1055
+ (= mode S-MKEYPRE) (ig inj :key)
1056
+ (not= mode S-MVAL) nil
1057
+ :else
1058
+ (let [keyspec (getprop parent S-BKEY)]
1059
+ (cond
1060
+ (some? keyspec) (do (delprop parent S-BKEY) (getprop (ig inj :dparent) keyspec))
1061
+ (and (ismap (ig inj :dparent)) (some? (ig inj :key)) (haskey (ig inj :dparent) (ig inj :key)))
1062
+ (getprop (ig inj :dparent) (ig inj :key))
1063
+ :else (let [meta (getprop parent S-BANNO)]
1064
+ (getprop meta S-KEY (getprop path (- (size path) 2)))))))))
1065
+
1066
+ (defn- transform_ANNO [inj _val _ref _store]
1067
+ (delprop (ig inj :parent) S-BANNO) nil)
1068
+
1069
+ (defn- transform_MERGE [inj _val _ref _store]
1070
+ (let [mode (ig inj :mode) key (ig inj :key) parent (ig inj :parent)]
1071
+ (cond
1072
+ (= mode S-MKEYPRE) key
1073
+ (= mode S-MKEYPOST)
1074
+ (let [args0 (getprop parent key)
1075
+ args (if (islist args0) args0 (alist-of [args0]))]
1076
+ (delprop parent key)
1077
+ (merge (flatten (alist-of [(alist-of [parent]) args (alist-of [(clone parent)])])))
1078
+ key)
1079
+ (and (= mode S-MVAL) (islist parent))
1080
+ (if (and (= (strkey (ig inj :key)) "0") (> (size parent) 0))
1081
+ (do (.remove ^List parent (int 0)) (getprop parent 0))
1082
+ (getprop parent (ig inj :key)))
1083
+ :else nil)))
1084
+
1085
+ (defn- transform_EACH [inj _val _ref store]
1086
+ (let [keys_ (ig inj :keys) mode (ig inj :mode) path (ig inj :path)
1087
+ parent (ig inj :parent) nodes_ (ig inj :nodes)]
1088
+ (when (some? keys_)
1089
+ (slice keys_ 0 1 true))
1090
+ (if (or (not= mode S-MVAL) (nil? path) (nil? nodes_))
1091
+ nil
1092
+ (let [srcpath (when (> (size parent) 1) (.get ^List parent 1))
1093
+ child-tm (when (> (size parent) 2) (clone (.get ^List parent 2)))
1094
+ srcstore (getprop store (ig inj :base) store)
1095
+ src (getpath srcstore srcpath inj)
1096
+ tkey (getelem path -2)
1097
+ target (if (>= (.size ^List nodes_) 2) (.get ^List nodes_ (int (- (.size ^List nodes_) 2)))
1098
+ (.get ^List nodes_ (int (dec (.size ^List nodes_)))))
1099
+ tval (alist)
1100
+ rval (atom (alist))]
1101
+ (when (isnode src)
1102
+ (if (islist src)
1103
+ (doseq [_ src] (.add tval (clone child-tm)))
1104
+ (doseq [k (map-keys src)]
1105
+ (let [cc (clone child-tm)]
1106
+ (when (ismap cc) (setprop cc S-BANNO (doto (lhm) (.put S-KEY k))))
1107
+ (.add tval cc))))
1108
+ (let [tcurrent (if (ismap src) (alist-of (map #(.get ^Map src %) (map-keys src))) src)]
1109
+ (when (> (size tval) 0)
1110
+ (let [ckey (getelem path -2)
1111
+ tpath (if (> (count (vec path)) 0) (alist-of (subvec (vec path) 0 (dec (count (vec path))))) (alist))
1112
+ dpath (alist-of [S-DTOP])]
1113
+ (when (and (string? srcpath) (not= srcpath S-MT))
1114
+ (doseq [p (.split ^String srcpath "\\." -1)] (when (not= p S-MT) (.add dpath p))))
1115
+ (when (some? ckey) (.add dpath (str "$:" ckey)))
1116
+ (let [tcur (doto (lhm) (.put (str ckey) tcurrent))
1117
+ tcur (if (> (size tpath) 1)
1118
+ (let [pkey (getelem path -3 S-DTOP)]
1119
+ (.add dpath (str "$:" pkey))
1120
+ (doto (lhm) (.put (str pkey) tcur)))
1121
+ tcur)
1122
+ tinj (inj-child inj 0 (if (some? ckey) (alist-of [ckey]) (alist)))]
1123
+ (is! tinj :path tpath)
1124
+ (is! tinj :nodes (if (> (.size ^List nodes_) 0) (alist-of (subvec (vec nodes_) 0 (dec (count (vec nodes_))))) (alist)))
1125
+ (is! tinj :parent (if (> (.size ^List (ig tinj :nodes)) 0) (.get ^List (ig tinj :nodes) (int (dec (.size ^List (ig tinj :nodes))))) nil))
1126
+ (when (and (some? ckey) (some? (ig tinj :parent)))
1127
+ (setprop (ig tinj :parent) ckey tval))
1128
+ (is! tinj :val tval)
1129
+ (is! tinj :dpath dpath)
1130
+ (is! tinj :dparent tcur)
1131
+ (inject tval store tinj)
1132
+ (reset! rval (ig tinj :val)))))))
1133
+ (setprop target tkey @rval)
1134
+ (if (and (islist @rval) (> (size @rval) 0)) (.get ^List @rval 0) nil)))))
1135
+
1136
+ (defn- transform_PACK [inj _val _ref store]
1137
+ (let [mode (ig inj :mode) key (ig inj :key) path (ig inj :path)
1138
+ parent (ig inj :parent) nodes_ (ig inj :nodes)]
1139
+ (if (or (not= mode S-MKEYPRE) (not (string? key)) (nil? path) (nil? nodes_))
1140
+ nil
1141
+ (let [args-val (getprop parent key)]
1142
+ (if (or (not (islist args-val)) (< (size args-val) 2))
1143
+ nil
1144
+ (let [srcpath (.get ^List args-val 0)
1145
+ origchildspec (.get ^List args-val 1)
1146
+ tkey (getelem path -2)
1147
+ pathsize (size path)
1148
+ target (getelem nodes_ (- pathsize 2) (fn [] (getelem nodes_ (- pathsize 1))))
1149
+ srcstore (getprop store (ig inj :base) store)
1150
+ src0 (getpath srcstore srcpath inj)
1151
+ src (if-not (islist src0)
1152
+ (if (ismap src0)
1153
+ (let [ns (alist)]
1154
+ (doseq [item (items src0)]
1155
+ (setprop (nth item 1) S-BANNO (doto (lhm) (.put S-KEY (nth item 0))))
1156
+ (.add ns (nth item 1)))
1157
+ ns)
1158
+ nil)
1159
+ src0)]
1160
+ (if (nil? src)
1161
+ nil
1162
+ (let [keypath (getprop origchildspec S-BKEY)
1163
+ childspec (delprop origchildspec S-BKEY)
1164
+ child (getprop childspec S-BVAL childspec)
1165
+ tval (lhm)]
1166
+ (doseq [item (items src)]
1167
+ (let [srckey (nth item 0) srcnode (nth item 1)
1168
+ k (cond
1169
+ (nil? keypath) srckey
1170
+ (and (string? keypath) (.startsWith ^String keypath S-BT))
1171
+ (inject keypath (merge (alist-of [(lhm) store (doto (lhm) (.put S-DTOP srcnode))]) 1))
1172
+ :else (getpath srcnode keypath inj))
1173
+ tchild (clone child)]
1174
+ (setprop tval k tchild)
1175
+ (let [anno (getprop srcnode S-BANNO)]
1176
+ (if (nil? anno) (delprop tchild S-BANNO) (setprop tchild S-BANNO anno)))))
1177
+ (let [rval (atom (lhm))]
1178
+ (when-not (isempty tval)
1179
+ (let [tsrc (lhm)]
1180
+ (doseq [[i n] (map-indexed vector (vec src))]
1181
+ (let [kn (cond
1182
+ (nil? keypath) i
1183
+ (and (string? keypath) (.startsWith ^String keypath S-BT))
1184
+ (inject keypath (merge (alist-of [(lhm) store (doto (lhm) (.put S-DTOP n))]) 1))
1185
+ :else (getpath n keypath inj))]
1186
+ (setprop tsrc kn n)))
1187
+ (let [tpath (slice (ig inj :path) -1)
1188
+ ckey (getelem (ig inj :path) -2)
1189
+ dpath (flatten (alist-of [S-DTOP (alist-of (.split ^String srcpath "\\." -1)) (str "$:" ckey)]))
1190
+ tcur (doto (lhm) (.put (str ckey) tsrc))
1191
+ tcur (if (> (size tpath) 1)
1192
+ (let [pkey (getelem (ig inj :path) -3 S-DTOP)]
1193
+ (.add ^List dpath (str "$:" pkey))
1194
+ (doto (lhm) (.put (str pkey) tcur)))
1195
+ tcur)
1196
+ tinj (inj-child inj 0 (alist-of [ckey]))]
1197
+ (is! tinj :path tpath)
1198
+ (is! tinj :nodes (slice (ig inj :nodes) -1))
1199
+ (is! tinj :parent (getelem (ig tinj :nodes) -1))
1200
+ (is! tinj :val tval)
1201
+ (is! tinj :dpath dpath)
1202
+ (is! tinj :dparent tcur)
1203
+ (inject tval store tinj)
1204
+ (reset! rval (ig tinj :val)))))
1205
+ (setprop target tkey @rval)
1206
+ nil)))))))))
1207
+
1208
+ (defn- transform_REF [inj val _ref store]
1209
+ (let [nodes (ig inj :nodes)]
1210
+ (if (not= (ig inj :mode) S-MVAL)
1211
+ nil
1212
+ (let [refpath (getprop (ig inj :parent) 1)]
1213
+ (is! inj :keyI (size (ig inj :keys)))
1214
+ (let [spec-func (getprop store S-DSPEC)]
1215
+ (if-not (isfunc spec-func)
1216
+ nil
1217
+ (let [spec (spec-func)
1218
+ ref (getpath spec refpath)
1219
+ hasSubRef (atom false)]
1220
+ (when (isnode ref)
1221
+ (walk ref (fn [_k v _p _path] (when (= v "`$REF`") (reset! hasSubRef true)) v)))
1222
+ (let [tref (clone ref)
1223
+ cpath (slice (ig inj :path) 0 (- (size (ig inj :path)) 3))
1224
+ tpath (slice (ig inj :path) 0 (- (size (ig inj :path)) 1))
1225
+ tcur (getpath store cpath)
1226
+ tval (getpath store tpath)
1227
+ rval (atom nil)]
1228
+ (if (and (some? ref) (or (not @hasSubRef) (some? tval)))
1229
+ (let [cs (inj-child inj 0 (alist-of [(getelem tpath -1)]))]
1230
+ (is! cs :path tpath)
1231
+ (is! cs :nodes (slice (ig inj :nodes) 0 (- (size (ig inj :nodes)) 1)))
1232
+ (is! cs :parent (getelem nodes -2))
1233
+ (is! cs :val tref)
1234
+ (is! cs :dparent tcur)
1235
+ (inject tref store cs)
1236
+ (reset! rval (ig cs :val)))
1237
+ (reset! rval nil))
1238
+ (inj-setval inj @rval 2)
1239
+ (when (and (islist (ig inj :parent)) (ig inj :prior))
1240
+ (is! (ig inj :prior) :keyI (dec (ig (ig inj :prior) :keyI))))
1241
+ val))))))))
1242
+
1243
+ ;; FORMATTER
1244
+ (defn- jsstr [v]
1245
+ (cond (nil? v) "null" (jbool? v) (if v "true" "false") :else (str v)))
1246
+
1247
+ (defn- fmt-number [_k v & _]
1248
+ (if (isnode v) v
1249
+ (let [n (try (double (if (string? v) (Double/parseDouble v) v)) (catch Exception _ 0.0))
1250
+ n (if (Double/isNaN n) 0.0 n)]
1251
+ (if (== n (Math/floor n)) (long n) n))))
1252
+
1253
+ (defn- fmt-integer [_k v & _]
1254
+ (if (isnode v) v
1255
+ (let [n (try (double (if (string? v) (Double/parseDouble v) v)) (catch Exception _ 0.0))
1256
+ n (if (Double/isNaN n) 0.0 n)]
1257
+ (long n))))
1258
+
1259
+ (def FORMATTER
1260
+ {"identity" (fn [_k v & _] v)
1261
+ "upper" (fn [_k v & _] (if (isnode v) v (clojure.string/upper-case (jsstr v))))
1262
+ "lower" (fn [_k v & _] (if (isnode v) v (clojure.string/lower-case (jsstr v))))
1263
+ "string" (fn [_k v & _] (if (isnode v) v (jsstr v)))
1264
+ "number" fmt-number
1265
+ "integer" fmt-integer
1266
+ "concat" (fn [k v & _]
1267
+ (if (and (nil? k) (islist v))
1268
+ (join (items v (fn [n] (if (isnode (nth n 1)) S-MT (jsstr (nth n 1))))) S-MT)
1269
+ v))})
1270
+
1271
+ (defn checkPlacement [modes ijname parentTypes inj]
1272
+ (let [mode-num (get MODE-TO-NUM (ig inj :mode) 0)]
1273
+ (cond
1274
+ (zero? (bit-and modes mode-num))
1275
+ (let [allowed (clojure.core/filter #(pos? (bit-and modes %)) [M_KEYPRE M_KEYPOST M_VAL])
1276
+ placements (join (items (alist-of allowed) (fn [n] (get PLACEMENT (nth n 1) ""))) ",")]
1277
+ (.add ^List (ig inj :errs)
1278
+ (str "$" ijname ": invalid placement as " (get PLACEMENT mode-num "")
1279
+ ", expected: " placements "."))
1280
+ false)
1281
+ (not (isempty parentTypes))
1282
+ (let [ptype (typify (ig inj :parent))]
1283
+ (if (zero? (bit-and parentTypes ptype))
1284
+ (do (.add ^List (ig inj :errs)
1285
+ (str "$" ijname ": invalid placement in parent " (typename ptype)
1286
+ ", expected: " (typename parentTypes) "."))
1287
+ false)
1288
+ true))
1289
+ :else true)))
1290
+
1291
+ (defn injectorArgs [argTypes args]
1292
+ (let [numargs (size argTypes)
1293
+ found (object-array (inc numargs))]
1294
+ (aset found 0 nil)
1295
+ (loop [argI 0]
1296
+ (if (< argI numargs)
1297
+ (let [arg (getelem args argI)
1298
+ argType (typify arg)]
1299
+ (if (zero? (bit-and (nth (vec argTypes) argI) argType))
1300
+ (do (aset found 0
1301
+ (str "invalid argument: " (stringify arg 22) " (" (typename argType)
1302
+ " at position " (inc argI) ") is not of type: "
1303
+ (typename (nth (vec argTypes) argI)) "."))
1304
+ (vec found))
1305
+ (do (aset found (inc argI) arg) (recur (inc argI)))))
1306
+ (vec found)))))
1307
+
1308
+ (defn injectChild [child store inj]
1309
+ (let [cinj (atom inj)
1310
+ prior (ig inj :prior)]
1311
+ (when (some? prior)
1312
+ (let [pprior (ig prior :prior)]
1313
+ (if (some? pprior)
1314
+ (let [c (inj-child pprior (ig prior :keyI) (ig prior :keys))]
1315
+ (is! c :val child)
1316
+ (setprop (ig c :parent) (ig prior :key) child)
1317
+ (reset! cinj c))
1318
+ (let [c (inj-child prior (ig inj :keyI) (ig inj :keys))]
1319
+ (is! c :val child)
1320
+ (setprop (ig c :parent) (ig inj :key) child)
1321
+ (reset! cinj c)))))
1322
+ (inject child store @cinj)
1323
+ @cinj))
1324
+
1325
+ (defn- transform_FORMAT [inj _val _ref store]
1326
+ (slice (ig inj :keys) 0 1 true)
1327
+ (if (not= (ig inj :mode) S-MVAL)
1328
+ nil
1329
+ (let [name (getprop (ig inj :parent) 1)
1330
+ child (getprop (ig inj :parent) 2)
1331
+ tkey (getelem (ig inj :path) -2)
1332
+ target (getelem (ig inj :nodes) -2 (fn [] (getelem (ig inj :nodes) -1)))
1333
+ cinj (injectChild child store inj)
1334
+ resolved (ig cinj :val)
1335
+ formatter (if (pos? (bit-and T_function (typify name))) name (getprop FORMATTER name))]
1336
+ (if (nil? formatter)
1337
+ (do (.add ^List (ig inj :errs) (str "$FORMAT: unknown format: " name ".")) nil)
1338
+ (let [out (walk resolved formatter)]
1339
+ (setprop target tkey out)
1340
+ out)))))
1341
+
1342
+ (defn- transform_APPLY [inj _val _ref store]
1343
+ (let [ijname "APPLY"]
1344
+ (if-not (checkPlacement M_VAL ijname T_list inj)
1345
+ nil
1346
+ (let [res (injectorArgs [T_function T_any] (slice (ig inj :parent) 1))
1347
+ err (nth res 0) apply-fn (nth res 1) child (when (> (count res) 2) (nth res 2))]
1348
+ (if (some? err)
1349
+ (do (.add ^List (ig inj :errs) (str "$" ijname ": " err)) nil)
1350
+ (let [tkey (getelem (ig inj :path) -2)
1351
+ target (getelem (ig inj :nodes) -2 (fn [] (getelem (ig inj :nodes) -1)))
1352
+ cinj (injectChild child store inj)
1353
+ resolved (ig cinj :val)
1354
+ out (try (apply-fn resolved store cinj)
1355
+ (catch Throwable _
1356
+ (try (apply-fn resolved store) (catch Throwable _ (apply-fn resolved)))))]
1357
+ (setprop target tkey out)
1358
+ out))))))
1359
+
1360
+ (defn transform
1361
+ ([data spec] (transform data spec nil))
1362
+ ([data spec injdef]
1363
+ (let [origspec spec
1364
+ spec (clone spec)
1365
+ extra (when injdef (getprop injdef "extra"))
1366
+ collect (and injdef (some? (getprop injdef "errs")))
1367
+ errs (if collect (getprop injdef "errs") (alist))
1368
+ extra-transforms (lhm)
1369
+ extra-data (lhm)]
1370
+ (when extra
1371
+ (doseq [[k v] (items extra)]
1372
+ (if (and (string? k) (.startsWith ^String k S-DS))
1373
+ (.put extra-transforms k v)
1374
+ (.put extra-data k v))))
1375
+ (let [data-clone (merge (alist-of [(if (isempty extra-data) nil (clone extra-data)) (clone data)]))
1376
+ store (lhm)]
1377
+ (.put store S-DTOP data-clone)
1378
+ (.put store S-DSPEC (fn [& _] origspec))
1379
+ (.put store "$BT" (fn [& _] S-BT))
1380
+ (.put store "$DS" (fn [& _] S-DS))
1381
+ (.put store "$WHEN" (fn [& _] (.toString (java.time.Instant/now))))
1382
+ (.put store "$DELETE" transform_DELETE)
1383
+ (.put store "$COPY" transform_COPY)
1384
+ (.put store "$KEY" transform_KEY)
1385
+ (.put store "$ANNO" transform_ANNO)
1386
+ (.put store "$MERGE" transform_MERGE)
1387
+ (.put store "$EACH" transform_EACH)
1388
+ (.put store "$PACK" transform_PACK)
1389
+ (.put store "$REF" transform_REF)
1390
+ (.put store "$FORMAT" transform_FORMAT)
1391
+ (.put store "$APPLY" transform_APPLY)
1392
+ (doseq [[k v] (items extra-transforms)] (.put store k v))
1393
+ (.put store S-DERRS errs)
1394
+ (let [idef (lhm)]
1395
+ (when (ismap injdef) (doseq [[k v] (items injdef)] (.put idef k v)))
1396
+ (.put idef "errs" errs)
1397
+ (let [out (inject spec store idef)]
1398
+ (when (and (> (size errs) 0) (not collect))
1399
+ (throw (RuntimeException. (join errs " | "))))
1400
+ out))))))
1401
+
1402
+ ;; ---------------------------------------------------------------------------
1403
+ ;; validate
1404
+ ;; ---------------------------------------------------------------------------
1405
+
1406
+ (defn- validate_STRING [inj _val _ref _store]
1407
+ (let [out (getprop (ig inj :dparent) (ig inj :key)) t (typify out)]
1408
+ (cond
1409
+ (zero? (bit-and T_string t)) (do (.add ^List (ig inj :errs) (_invalidTypeMsg (ig inj :path) S-string t out "V1010")) nil)
1410
+ (= out S-MT) (do (.add ^List (ig inj :errs) (str "Empty string at " (pathify (ig inj :path) 1))) nil)
1411
+ :else out)))
1412
+
1413
+ (defn- validate_TYPE [inj _val ref _store]
1414
+ (let [tname (if (and (string? ref) (> (count ref) 1)) (clojure.string/lower-case (slice ref 1)) S-any)
1415
+ idx (.indexOf ^java.util.List (vec TYPENAME) tname)
1416
+ typev0 (if (>= idx 0) (bit-shift-left 1 (- 31 idx)) 0)
1417
+ typev (if (= tname S-nil) (bit-or typev0 T_null) typev0)
1418
+ out (getprop (ig inj :dparent) (ig inj :key))
1419
+ t (typify out)]
1420
+ (if (zero? (bit-and t typev))
1421
+ (do (.add ^List (ig inj :errs) (_invalidTypeMsg (ig inj :path) tname t out "V1001")) nil)
1422
+ out)))
1423
+
1424
+ (defn- validate_ANY [inj _val _ref _store]
1425
+ (getprop (ig inj :dparent) (ig inj :key)))
1426
+
1427
+ (defn- validate_CHILD [inj _val _ref _store]
1428
+ (let [mode (ig inj :mode) key (ig inj :key) parent (ig inj :parent)
1429
+ path (ig inj :path) keys (ig inj :keys)]
1430
+ (cond
1431
+ (= mode S-MKEYPRE)
1432
+ (let [childtm (getprop parent key)
1433
+ pkey (getelem path -2)
1434
+ tval (getprop (ig inj :dparent) pkey)]
1435
+ (cond
1436
+ (nil? tval) (let [tval (lhm)]
1437
+ (doseq [ckey (keysof tval)] (setprop parent ckey (clone childtm)) (.add ^List keys ckey))
1438
+ (delprop parent key) nil)
1439
+ (not (ismap tval))
1440
+ (do (.add ^List (ig inj :errs) (_invalidTypeMsg (slice path 0 (dec (size path))) S-object (typify tval) tval "V0220")) nil)
1441
+ :else
1442
+ (do (doseq [ckey (keysof tval)] (setprop parent ckey (clone childtm)) (.add ^List keys ckey))
1443
+ (delprop parent key) nil)))
1444
+
1445
+ (= mode S-MVAL)
1446
+ (let [childtm (getprop parent 1)]
1447
+ (cond
1448
+ (not (islist parent)) (do (.add ^List (ig inj :errs) "Invalid $CHILD as value") nil)
1449
+ (nil? (ig inj :dparent)) (do (.clear ^List parent) nil)
1450
+ (not (islist (ig inj :dparent)))
1451
+ (do (.add ^List (ig inj :errs) (_invalidTypeMsg (slice path 0 (dec (size path))) S-list (typify (ig inj :dparent)) (ig inj :dparent) "V0230"))
1452
+ (is! inj :keyI (size parent)) (ig inj :dparent))
1453
+ :else
1454
+ (do (doseq [n (items (ig inj :dparent))] (setprop parent (nth n 0) (clone childtm)))
1455
+ (while (> (.size ^List parent) (.size ^List (ig inj :dparent))) (.remove ^List parent (int (dec (.size ^List parent)))))
1456
+ (is! inj :keyI 0)
1457
+ (getprop (ig inj :dparent) 0))))
1458
+ :else nil)))
1459
+
1460
+ (defn- validate_ONE [inj _val _ref store]
1461
+ (let [mode (ig inj :mode) parent (ig inj :parent) keyI (ig inj :keyI)]
1462
+ (when (= mode S-MVAL)
1463
+ (if (or (not (islist parent)) (not= keyI 0))
1464
+ (do (.add ^List (ig inj :errs) (str "The $ONE validator at field " (pathify (ig inj :path) 1 1) " must be the first element of an array.")) nil)
1465
+ (do
1466
+ (is! inj :keyI (size (ig inj :keys)))
1467
+ (inj-setval inj (ig inj :dparent) 2)
1468
+ (is! inj :path (slice (ig inj :path) 0 (dec (size (ig inj :path)))))
1469
+ (is! inj :key (getelem (ig inj :path) -1))
1470
+ (let [tvals (alist-of (subvec (vec parent) 1))]
1471
+ (if (= (size tvals) 0)
1472
+ (do (.add ^List (ig inj :errs) (str "The $ONE validator at field " (pathify (ig inj :path) 1 1) " must have at least one argument.")) nil)
1473
+ (let [matched (atom false)]
1474
+ (doseq [tval tvals :while (not @matched)]
1475
+ (let [terrs (alist)
1476
+ vstore (merge (alist-of [(lhm) store]) 1)]
1477
+ (.put ^Map vstore S-DTOP (ig inj :dparent))
1478
+ (let [vcurrent (validate (ig inj :dparent) tval (doto (lhm) (.put "extra" vstore) (.put "errs" terrs) (.put "meta" (ig inj :meta))))]
1479
+ (inj-setval inj vcurrent -2)
1480
+ (when (= (size terrs) 0) (reset! matched true)))))
1481
+ (when-not @matched
1482
+ (let [valdesc (clojure.string/join ", " (map #(stringify (nth % 1)) (items tvals)))
1483
+ valdesc (re_replace R-TRANSFORM-NAME valdesc (fn [g] (clojure.string/lower-case (nth g 1))))]
1484
+ (.add ^List (ig inj :errs)
1485
+ (_invalidTypeMsg (ig inj :path)
1486
+ (str (if (> (size tvals) 1) "one of " "") valdesc)
1487
+ (typify (ig inj :dparent)) (ig inj :dparent) "V0210"))))))))))))
1488
+
1489
+ (defn- validate_EXACT [inj _val _ref _store]
1490
+ (let [mode (ig inj :mode) parent (ig inj :parent) key (ig inj :key) keyI (ig inj :keyI)]
1491
+ (if (= mode S-MVAL)
1492
+ (if (or (not (islist parent)) (not= keyI 0))
1493
+ (do (.add ^List (ig inj :errs) (str "The $EXACT validator at field " (pathify (ig inj :path) 1 1) " must be the first element of an array.")) nil)
1494
+ (do
1495
+ (is! inj :keyI (size (ig inj :keys)))
1496
+ (inj-setval inj (ig inj :dparent) 2)
1497
+ (is! inj :path (slice (ig inj :path) 0 (dec (size (ig inj :path)))))
1498
+ (is! inj :key (getelem (ig inj :path) -1))
1499
+ (let [tvals (alist-of (subvec (vec parent) 1))]
1500
+ (if (= (size tvals) 0)
1501
+ (do (.add ^List (ig inj :errs) (str "The $EXACT validator at field " (pathify (ig inj :path) 1 1) " must have at least one argument.")) nil)
1502
+ (let [currentstr (atom nil) matched (atom false)]
1503
+ (doseq [tval tvals :while (not @matched)]
1504
+ (let [em (= tval (ig inj :dparent))
1505
+ em (if (and (not em) (isnode tval))
1506
+ (do (when (nil? @currentstr) (reset! currentstr (stringify (ig inj :dparent))))
1507
+ (= (stringify tval) @currentstr))
1508
+ em)]
1509
+ (when em (reset! matched true))))
1510
+ (when-not @matched
1511
+ (let [valdesc (clojure.string/join ", " (map #(stringify (nth % 1)) (items tvals)))
1512
+ valdesc (re_replace R-TRANSFORM-NAME valdesc (fn [g] (clojure.string/lower-case (nth g 1))))]
1513
+ (.add ^List (ig inj :errs)
1514
+ (_invalidTypeMsg (ig inj :path)
1515
+ (str (if (> (size (ig inj :path)) 1) "" "value ")
1516
+ "exactly equal to " (if (= (size tvals) 1) "" "one of ") valdesc)
1517
+ (typify (ig inj :dparent)) (ig inj :dparent) "V0110")))))))))
1518
+ (delprop parent key))))
1519
+
1520
+ (defn- _validation [pval key parent inj]
1521
+ (when (and (some? inj) (not (identical? pval SKIP)))
1522
+ (let [exact (getprop (ig inj :meta) S-BEXACT false)
1523
+ cval (getprop (ig inj :dparent) key)]
1524
+ (when-not (and (not exact) (nil? cval))
1525
+ (let [ptype (typify pval)]
1526
+ (when-not (and (pos? (bit-and T_string ptype)) (.contains ^String (str pval) S-DS))
1527
+ (let [ctype (typify cval)]
1528
+ (cond
1529
+ (and (not= ptype ctype) (some? pval))
1530
+ (.add ^List (ig inj :errs) (_invalidTypeMsg (ig inj :path) (typename ptype) ctype cval "V0010"))
1531
+
1532
+ (ismap cval)
1533
+ (if-not (ismap pval)
1534
+ (.add ^List (ig inj :errs) (_invalidTypeMsg (ig inj :path) (typename ptype) ctype cval "V0020"))
1535
+ (let [ckeys (keysof cval) pkeys (keysof pval)]
1536
+ (if (and (> (count pkeys) 0) (not (true? (getprop pval "`$OPEN`"))))
1537
+ (let [badkeys (clojure.core/filter #(not (haskey pval %)) ckeys)]
1538
+ (when (> (size badkeys) 0)
1539
+ (.add ^List (ig inj :errs)
1540
+ (str "Unexpected keys at field " (pathify (ig inj :path) 1) S-VIZ (join (alist-of badkeys) ", ")))))
1541
+ (do (merge (alist-of [pval cval]))
1542
+ (when (isnode pval) (delprop pval "`$OPEN`"))))))
1543
+
1544
+ (islist cval)
1545
+ (when-not (islist pval)
1546
+ (.add ^List (ig inj :errs) (_invalidTypeMsg (ig inj :path) (typename ptype) ctype cval "V0030")))
1547
+
1548
+ exact
1549
+ (when (not= cval pval)
1550
+ (let [pathmsg (if (> (size (ig inj :path)) 1) (str "at field " (pathify (ig inj :path) 1) ": ") "")]
1551
+ (.add ^List (ig inj :errs) (str "Value " pathmsg (str cval) " should equal " (str pval) "."))))
1552
+
1553
+ :else (setprop parent key cval)))))))))
1554
+
1555
+ (defn- _validatehandler [inj val ref store]
1556
+ (let [m (when (string? ref) (re_find R-META-PATH ref))]
1557
+ (if (some? m)
1558
+ (do
1559
+ (if (= (nth m 2) "=")
1560
+ (inj-setval inj (alist-of [S-BEXACT val]))
1561
+ (inj-setval inj val))
1562
+ (is! inj :keyI -1)
1563
+ SKIP)
1564
+ (_injecthandler inj val ref store))))
1565
+
1566
+ (defn validate
1567
+ ([data spec] (validate data spec nil))
1568
+ ([data spec injdef]
1569
+ (let [extra (getprop injdef "extra")
1570
+ collect (and injdef (some? (getprop injdef "errs")))
1571
+ errs (if collect (getprop injdef "errs") (alist))
1572
+ base (lhm)]
1573
+ (doseq [[k v] [["$DELETE" nil] ["$COPY" nil] ["$KEY" nil] ["$META" nil]
1574
+ ["$MERGE" nil] ["$EACH" nil] ["$PACK" nil]
1575
+ ["$STRING" validate_STRING] ["$NUMBER" validate_TYPE] ["$INTEGER" validate_TYPE]
1576
+ ["$DECIMAL" validate_TYPE] ["$BOOLEAN" validate_TYPE] ["$NULL" validate_TYPE]
1577
+ ["$NIL" validate_TYPE] ["$MAP" validate_TYPE] ["$LIST" validate_TYPE]
1578
+ ["$FUNCTION" validate_TYPE] ["$INSTANCE" validate_TYPE]
1579
+ ["$ANY" validate_ANY] ["$CHILD" validate_CHILD] ["$ONE" validate_ONE]
1580
+ ["$EXACT" validate_EXACT]]]
1581
+ (.put base k v))
1582
+ (let [store (merge (alist-of [base (if (nil? extra) (lhm) extra) (doto (lhm) (.put "$ERRS" errs))]) 1)
1583
+ meta (getprop injdef "meta" (lhm))]
1584
+ (setprop meta S-BEXACT (getprop meta S-BEXACT false))
1585
+ (let [out (transform data spec (doto (lhm)
1586
+ (.put "meta" meta)
1587
+ (.put "extra" store)
1588
+ (.put "modify" _validation)
1589
+ (.put "handler" _validatehandler)
1590
+ (.put "errs" errs)))]
1591
+ (when (and (> (size errs) 0) (not collect))
1592
+ (throw (RuntimeException. (clojure.string/join " | " (vec errs)))))
1593
+ out)))))
1594
+
1595
+ (defn- _invalidTypeMsg [path needtype vt v _whence]
1596
+ (let [vs (if (nil? v) "no value" (stringify v))]
1597
+ (str "Expected "
1598
+ (if (> (size path) 1) (str "field " (pathify path 1) " to be ") "")
1599
+ (str needtype)
1600
+ ", but found "
1601
+ (if (some? v) (str (typename vt) S-VIZ) "")
1602
+ vs ".")))
1603
+
1604
+ ;; ---------------------------------------------------------------------------
1605
+ ;; select
1606
+ ;; ---------------------------------------------------------------------------
1607
+
1608
+ (defn- select_AND [inj _val _ref store]
1609
+ (when (= (ig inj :mode) S-MKEYPRE)
1610
+ (let [terms (getprop (ig inj :parent) (ig inj :key))
1611
+ ppath (slice (ig inj :path) -1)
1612
+ point (getpath store ppath)
1613
+ vstore (merge (alist-of [(lhm) store]) 1)]
1614
+ (.put ^Map vstore S-DTOP point)
1615
+ (doseq [term terms]
1616
+ (let [terrs (alist)]
1617
+ (validate point term (doto (lhm) (.put "extra" vstore) (.put "errs" terrs) (.put "meta" (ig inj :meta))))
1618
+ (when (not= (size terrs) 0)
1619
+ (.add ^List (ig inj :errs) (str "AND:" (pathify ppath) "⨯" (stringify point) " fail:" (stringify terms))))))
1620
+ (let [gkey (getelem (ig inj :path) -2) gp (getelem (ig inj :nodes) -2)]
1621
+ (setprop gp gkey point))))
1622
+ nil)
1623
+
1624
+ (defn- select_OR [inj _val _ref store]
1625
+ (when (= (ig inj :mode) S-MKEYPRE)
1626
+ (let [terms (getprop (ig inj :parent) (ig inj :key))
1627
+ ppath (slice (ig inj :path) -1)
1628
+ point (getpath store ppath)
1629
+ vstore (merge (alist-of [(lhm) store]) 1)
1630
+ done (atom false)]
1631
+ (.put ^Map vstore S-DTOP point)
1632
+ (doseq [term terms :while (not @done)]
1633
+ (let [terrs (alist)]
1634
+ (validate point term (doto (lhm) (.put "extra" vstore) (.put "errs" terrs) (.put "meta" (ig inj :meta))))
1635
+ (when (= (size terrs) 0)
1636
+ (let [gkey (getelem (ig inj :path) -2) gp (getelem (ig inj :nodes) -2)]
1637
+ (setprop gp gkey point) (reset! done true)))))
1638
+ (when-not @done
1639
+ (.add ^List (ig inj :errs) (str "OR:" (pathify ppath) "⨯" (stringify point) " fail:" (stringify terms))))))
1640
+ nil)
1641
+
1642
+ (defn- select_NOT [inj _val _ref store]
1643
+ (when (= (ig inj :mode) S-MKEYPRE)
1644
+ (let [term (getprop (ig inj :parent) (ig inj :key))
1645
+ ppath (slice (ig inj :path) -1)
1646
+ point (getpath store ppath)
1647
+ vstore (merge (alist-of [(lhm) store]) 1)
1648
+ terrs (alist)]
1649
+ (.put ^Map vstore S-DTOP point)
1650
+ (validate point term (doto (lhm) (.put "extra" vstore) (.put "errs" terrs) (.put "meta" (ig inj :meta))))
1651
+ (when (= (size terrs) 0)
1652
+ (.add ^List (ig inj :errs) (str "NOT:" (pathify ppath) "⨯" (stringify point) " fail:" (stringify term))))
1653
+ (let [gkey (getelem (ig inj :path) -2) gp (getelem (ig inj :nodes) -2)]
1654
+ (setprop gp gkey point))))
1655
+ nil)
1656
+
1657
+ (defn- num-cmp [a b op]
1658
+ (try
1659
+ (let [x (double a) y (double b)]
1660
+ (case op :gt (> x y) :lt (< x y) :gte (>= x y) :lte (<= x y)))
1661
+ (catch Exception _ false)))
1662
+
1663
+ (defn- select_CMP [inj _val ref store]
1664
+ (when (= (ig inj :mode) S-MKEYPRE)
1665
+ (let [term (getprop (ig inj :parent) (ig inj :key))
1666
+ gkey (getelem (ig inj :path) -2)
1667
+ ppath (slice (ig inj :path) -1)
1668
+ point (getpath store ppath)
1669
+ pass (cond
1670
+ (= ref "$GT") (num-cmp point term :gt)
1671
+ (= ref "$LT") (num-cmp point term :lt)
1672
+ (= ref "$GTE") (num-cmp point term :gte)
1673
+ (= ref "$LTE") (num-cmp point term :lte)
1674
+ (= ref "$LIKE") (boolean (re_test (re_compile term) (stringify point)))
1675
+ :else false)]
1676
+ (if pass
1677
+ (let [gp (getelem (ig inj :nodes) -2)] (setprop gp gkey point))
1678
+ (.add ^List (ig inj :errs) (str "CMP: " (pathify ppath) "⨯" (stringify point) " fail:" ref " " (stringify term))))))
1679
+ nil)
1680
+
1681
+ (defn select [children query]
1682
+ (if-not (isnode children)
1683
+ (alist)
1684
+ (let [children (if (ismap children)
1685
+ (alist-of (map (fn [n] (setprop (nth n 1) S-DKEY (nth n 0)) (nth n 1)) (items children)))
1686
+ (alist-of (map-indexed (fn [i n] (if (ismap n) (do (setprop n S-DKEY i) n) n)) (vec children))))
1687
+ results (alist)
1688
+ extra (doto (lhm)
1689
+ (.put "$AND" select_AND) (.put "$OR" select_OR) (.put "$NOT" select_NOT)
1690
+ (.put "$GT" select_CMP) (.put "$LT" select_CMP) (.put "$GTE" select_CMP)
1691
+ (.put "$LTE" select_CMP) (.put "$LIKE" select_CMP))
1692
+ q (clone query)]
1693
+ (walk q (fn [_k v _p _path] (when (ismap v) (setprop v "`$OPEN`" (getprop v "`$OPEN`" true))) v))
1694
+ (doseq [child children]
1695
+ (let [errs (alist)
1696
+ injdef (doto (lhm) (.put "errs" errs) (.put "meta" (doto (lhm) (.put S-BEXACT true))) (.put "extra" extra))]
1697
+ (validate child (clone q) injdef)
1698
+ (when (= (size errs) 0) (.add results child))))
1699
+ results)))
1700
+
1701
+ ;; ---------------------------------------------------------------------------
1702
+ ;; JSON builders
1703
+ ;; ---------------------------------------------------------------------------
1704
+
1705
+ (defn jm [& kv]
1706
+ (let [kvsize (count kv) o (lhm) kvv (vec kv)]
1707
+ (doseq [i (range 0 kvsize 2)]
1708
+ (let [k0 (nth kvv i)
1709
+ k (cond (nil? k0) "null" (string? k0) k0 :else (stringify k0))]
1710
+ (.put o k (if (< (inc i) kvsize) (nth kvv (inc i)) nil))))
1711
+ o))
1712
+
1713
+ (defn jt [& v]
1714
+ (alist-of v))
1715
+
1716
+ ;; ---------------------------------------------------------------------------
1717
+ ;; StructUtility container (parity with other ports)
1718
+ ;; ---------------------------------------------------------------------------
1719
+
1720
+ (def tn typename)
1721
+
1722
+ (defn struct-utility []
1723
+ {:clone clone :delprop delprop :escre escre :escurl escurl :filter filter
1724
+ :flatten flatten :getdef getdef :getelem getelem :getpath getpath :getprop getprop
1725
+ :haskey haskey :inject inject :isempty isempty :isfunc isfunc :iskey iskey
1726
+ :islist islist :ismap ismap :isnode isnode :items items :jm jm :jt jt
1727
+ :join join :joinurl joinurl :jsonify jsonify :keysof keysof :merge merge
1728
+ :pad pad :pathify pathify :replace replace :select select :setpath setpath
1729
+ :setprop setprop :size size :slice slice :stringify stringify :strkey strkey
1730
+ :transform transform :typify typify :typename typename :validate validate :walk walk
1731
+ :re_compile re_compile :re_find re_find :re_find_all re_find_all
1732
+ :re_replace re_replace :re_test re_test :re_escape re_escape
1733
+ :SKIP SKIP :DELETE DELETE :tn tn
1734
+ :checkPlacement checkPlacement :injectorArgs injectorArgs :injectChild injectChild})