forgelib 0.0.1__tar.gz

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 (198) hide show
  1. forgelib-0.0.1/.cargo/audit.toml +10 -0
  2. forgelib-0.0.1/.cargo/config.toml +19 -0
  3. forgelib-0.0.1/.dockerignore +16 -0
  4. forgelib-0.0.1/.gitattributes +1 -0
  5. forgelib-0.0.1/.gitignore +14 -0
  6. forgelib-0.0.1/.sqlx/query-00efba0430cc1219427abc46f50275be887d4aed959ffdd2a312d6db61582750.json +22 -0
  7. forgelib-0.0.1/.sqlx/query-0115c52b6c77a377e6585308ba0df3daaaf7d30a19a37b28abcae7efbe9b4ca7.json +22 -0
  8. forgelib-0.0.1/.sqlx/query-038fb0bbe46605b4f97b48a35079c14655d74f1da8af616fc2273d35992d8715.json +23 -0
  9. forgelib-0.0.1/.sqlx/query-082d5b7c73eb1e03c2864e856dd5aaf8ca0cdcc4477813a1a37c7f2bdec5cd15.json +12 -0
  10. forgelib-0.0.1/.sqlx/query-13e9f4aa8e9182cdcfd033bf9fe38d2a32eb2ff1c3c100ad1550ab0126d729ef.json +22 -0
  11. forgelib-0.0.1/.sqlx/query-142fc9eac7df76e8aa96f05068884702920c85a9299e519a8e3c864a95db0415.json +16 -0
  12. forgelib-0.0.1/.sqlx/query-14690f62ac3ac3511d131628ebbb4cbc40d22ad2030700b41975fb7e78ce58ff.json +22 -0
  13. forgelib-0.0.1/.sqlx/query-1564a0ef5d57679b29b6f845c9fdc6375131d4bd9275aa5ecd9dae012b549236.json +20 -0
  14. forgelib-0.0.1/.sqlx/query-15c908c98e3f51a3fec4de45e6dab95bffa66f1d77d6cc674946adb4179d682c.json +15 -0
  15. forgelib-0.0.1/.sqlx/query-1ded643189a7afffe8a66a6fa2db422cc93c917a59e7ff14dabf19ad617fdc34.json +14 -0
  16. forgelib-0.0.1/.sqlx/query-1e32f8c09cd09ace31150bb5735e402000fb5b2257964a4782a69b8b31d3bdff.json +35 -0
  17. forgelib-0.0.1/.sqlx/query-240a17989e0a98096b040989a5f35bd5fe5709ff8fceae0c77bdfb7f3c4b2997.json +15 -0
  18. forgelib-0.0.1/.sqlx/query-2e5708d52d791424086e80c8eab465ca991631e46017387b7cadd582c46a88c0.json +23 -0
  19. forgelib-0.0.1/.sqlx/query-3229defdfd7f32961f29701bfc35d9293257f8a0b5b15cadcd8bd822ead85987.json +59 -0
  20. forgelib-0.0.1/.sqlx/query-3284a4c2fb6642a55ec361008ca049e323123c00a7a312962e1fee53c842271d.json +46 -0
  21. forgelib-0.0.1/.sqlx/query-3462681cf2c621d8a0fea91ebfa121f7d1a413da1f9e7af08307ca694f887e62.json +16 -0
  22. forgelib-0.0.1/.sqlx/query-367f2a5d861cca926f07ad6f852c85fb039c1fe24eb89bd32aebd37ca722ca59.json +23 -0
  23. forgelib-0.0.1/.sqlx/query-37339ea2a61b1c8331365541f247481e09e0372f17a332639032dc9e6d61118f.json +28 -0
  24. forgelib-0.0.1/.sqlx/query-3a94d7f938c5b8f71738432f74a16e0778b089aeafec288998bd41b54e0fce67.json +29 -0
  25. forgelib-0.0.1/.sqlx/query-41bfd3983469c7df3b300188b3c0070034f43e0fd7772cc0fd3a9eb70e2cfcb9.json +23 -0
  26. forgelib-0.0.1/.sqlx/query-447d97499226773a2fbe140d6d0cf6582603bb2c805c594eab32b22c0c4cdd7e.json +15 -0
  27. forgelib-0.0.1/.sqlx/query-4563091dbceff822964ee1aaafae15872e162873cff31f9a97257d881d08798d.json +29 -0
  28. forgelib-0.0.1/.sqlx/query-5634beac765bb8192b4f6574b16dc0726a542de917edba8947ee7597374dd626.json +19 -0
  29. forgelib-0.0.1/.sqlx/query-612754c5ed420fcbc3c03dac213060a6f99b9d579e253c8cb2faf169d20ed674.json +41 -0
  30. forgelib-0.0.1/.sqlx/query-64286d8b98b1168e820a25286512a5f95a3e270842646389355c7e54a3b01cd9.json +26 -0
  31. forgelib-0.0.1/.sqlx/query-643f27c2e503995178fc599db0d8798dfd04a13a41054658a72e9dd395155182.json +14 -0
  32. forgelib-0.0.1/.sqlx/query-64a6bd98dbdaa73ff6e9fdf29fd9f9f67c87d9006b46fdb578c2a3a06b2ea88d.json +24 -0
  33. forgelib-0.0.1/.sqlx/query-65125ee8882b0ba9fdb9257a42823e6be60cccc8863226c53437ec2d9c872e78.json +23 -0
  34. forgelib-0.0.1/.sqlx/query-692558200c118d865938be88450397a6be50e4965912aa800630042f909fce16.json +22 -0
  35. forgelib-0.0.1/.sqlx/query-6a180b502cc1de555c5895802dce9ed015d5a52e72ece451e06330b8a726b53f.json +15 -0
  36. forgelib-0.0.1/.sqlx/query-71a6ce7633ee2d469941b4e846bd60ae2b712f8e1a705d3988505eab907924e7.json +15 -0
  37. forgelib-0.0.1/.sqlx/query-71d62f7000ce8e7f561439dbfce31b610a17c471e101836087ebecdb1ce7f85c.json +14 -0
  38. forgelib-0.0.1/.sqlx/query-7381881d39f028fa5b063bd935ccbd305832b8a5ee6e75b452475425e8b9ad81.json +22 -0
  39. forgelib-0.0.1/.sqlx/query-74a1bc23da906bbd2489c1ab98d53feb641900915e0dfecd62b71d464eae4ead.json +22 -0
  40. forgelib-0.0.1/.sqlx/query-74d220a7ef077572fb7e79a3d575ce54714694099c7198d583c0297583edff1c.json +20 -0
  41. forgelib-0.0.1/.sqlx/query-768b9e855f31cacacb0d2c7fc47cdfb72488cd376fee28368e2c0229f7e64bf7.json +14 -0
  42. forgelib-0.0.1/.sqlx/query-78e52eb06128649d4683aead4bae3386bf6c52c329dc3e291af7235feb345eea.json +16 -0
  43. forgelib-0.0.1/.sqlx/query-7aaa77c65ebc86490e1ad67d05731818f35a4132ce0d2b3029bd56f63f6a6d7a.json +54 -0
  44. forgelib-0.0.1/.sqlx/query-7b21d7ed25e03d59bc082f7b5d14647131c7d5525ee5135ec25efe572e08def1.json +22 -0
  45. forgelib-0.0.1/.sqlx/query-85070a7ac4074ea603138d19866198198917dd94a6e364a9913bd8bb7ccae9f2.json +20 -0
  46. forgelib-0.0.1/.sqlx/query-85350473c005ee56dcf761e374c981756617220c97a44e3b56f7869f1c8404d1.json +26 -0
  47. forgelib-0.0.1/.sqlx/query-85d0cc48a74774227225368be8ce78e8e31b98a37dffaacf4bc842214b892af1.json +22 -0
  48. forgelib-0.0.1/.sqlx/query-8c823e5d36c2cb379dd84dd42c91bd316aacae9a2bc9bda04700741a1cc1d659.json +18 -0
  49. forgelib-0.0.1/.sqlx/query-8da419734f41296de7dd848d4b2659623a2e31379ba795b68a366b2d6439a516.json +22 -0
  50. forgelib-0.0.1/.sqlx/query-8f54ab30a68a3eac87741f729627d66c016e951c78b79308ec3b589af4c20adc.json +18 -0
  51. forgelib-0.0.1/.sqlx/query-927cebeeab08448ab74c8c7c43931c5b6da9f3343d1665059d4eb635d93a74fc.json +22 -0
  52. forgelib-0.0.1/.sqlx/query-92eb9a03847091ca210ae88b5b8c9ab51a422f47cdf325d991ccf9cb6f40618e.json +14 -0
  53. forgelib-0.0.1/.sqlx/query-96e787afe3420dfe2186abfc87ca92e2ade94aaa373667667137a611dc7603bc.json +20 -0
  54. forgelib-0.0.1/.sqlx/query-99d151d6ec0741a86eb7917e28eff1c9b3330ccd19c7753ee96f1b5ea217a20c.json +15 -0
  55. forgelib-0.0.1/.sqlx/query-9a434297781344aee6e4f1c84d59b9dbca393b171b868ce429a16693fbe02b0b.json +22 -0
  56. forgelib-0.0.1/.sqlx/query-9d0e2927c56591d13f4dc25d3cd94608fda385f7dc96000965644995ddf4c837.json +19 -0
  57. forgelib-0.0.1/.sqlx/query-9e79972356f42cbaedd44b9499b0d43cf81cabf63825e246d6ce820f4d07ffe1.json +15 -0
  58. forgelib-0.0.1/.sqlx/query-a01c7190d0c36762151f55a358b871daabbdb869ace999f1fa7ecf48fdf726c1.json +15 -0
  59. forgelib-0.0.1/.sqlx/query-adb82526c54f8d985eb640ee47b98d41f695dd14f1f0db28e38fe400d465a865.json +12 -0
  60. forgelib-0.0.1/.sqlx/query-badf262fad1c0254d96fa4e203d9ef70de0fde752c15c5418778c955bef1588e.json +34 -0
  61. forgelib-0.0.1/.sqlx/query-be2a814117a419841d2fcefa6300822cf077c49b6e4fd90f32e5cbe08123c584.json +24 -0
  62. forgelib-0.0.1/.sqlx/query-c4d0a8bcaa22cde819dfa9b841b0d187bd986b405c17803229d422a4e10dda6f.json +12 -0
  63. forgelib-0.0.1/.sqlx/query-cb2f97d510707a5f64f2700b4778225936efadcbb48c19d96b2fb70166922abd.json +16 -0
  64. forgelib-0.0.1/.sqlx/query-cf12b78053dbad8cab0bd8c211d47321a463e58c7458227aef50aca2ebbb24e9.json +14 -0
  65. forgelib-0.0.1/.sqlx/query-d6a58e5e7a286ec152f539c2de36ac446179cf3b6ac175277bb5f22a4ad70eb6.json +24 -0
  66. forgelib-0.0.1/.sqlx/query-d90408878560a59d36ad5a43fc7cfb412f76995529c61703171636ee35d9fee2.json +35 -0
  67. forgelib-0.0.1/.sqlx/query-d9592a5277583baedd5e879dceb3f3a6cf5d9fd84d4a71610dbf56e828686853.json +15 -0
  68. forgelib-0.0.1/.sqlx/query-e314ae30f021702b72c9157f29f9c3b2547883a5bb116d4c031f2cc8d787c953.json +22 -0
  69. forgelib-0.0.1/.sqlx/query-ee76567860967d882453b5273447a0e2882e2c1f7980d14082ec16e32abfb3f7.json +23 -0
  70. forgelib-0.0.1/.sqlx/query-f17f9d6ea1db1ebd53e1963750ae66aefcf59325d59b6b6346546c72fb4d272e.json +54 -0
  71. forgelib-0.0.1/.sqlx/query-f64ba8c1f651f0be71b5e4945c5f0f2681bce39ece1bcc033cc2e56a5a4a2ee6.json +31 -0
  72. forgelib-0.0.1/.sqlx/query-f6a1290f2c37c43677c01b7cb918dcaa9f83bcb92d9369a42b1d745dd36cf31b.json +12 -0
  73. forgelib-0.0.1/.sqlx/query-f7599bbef8c317c1ab1a61b2bcba3c5b03855b8a536bcdf369332c567b29d92c.json +23 -0
  74. forgelib-0.0.1/.sqlx/query-f90e36bb4876d1cf7975cb60a21d7c59aacadc050fb33b1ddd99a565b6f40033.json +23 -0
  75. forgelib-0.0.1/.sqlx/query-fad69046380a11176be61b8c574b1f1e96bbc153b25f2491e63dd67f094acc9a.json +24 -0
  76. forgelib-0.0.1/.sqlx/query-fe09308cbb055fe4efdfb6452ad6df6afa82188bfc43a0ca11b689f71bd63799.json +20 -0
  77. forgelib-0.0.1/CHANGELOG.md +70 -0
  78. forgelib-0.0.1/Cargo.lock +3889 -0
  79. forgelib-0.0.1/Cargo.toml +117 -0
  80. forgelib-0.0.1/LICENSE +21 -0
  81. forgelib-0.0.1/PKG-INFO +89 -0
  82. forgelib-0.0.1/README.md +228 -0
  83. forgelib-0.0.1/bindings/python/.gitignore +7 -0
  84. forgelib-0.0.1/bindings/python/Cargo.lock +4006 -0
  85. forgelib-0.0.1/bindings/python/Cargo.toml +33 -0
  86. forgelib-0.0.1/bindings/python/README.md +77 -0
  87. forgelib-0.0.1/bindings/python/src/lib.rs +1268 -0
  88. forgelib-0.0.1/bindings/python/src/types.generated.rs +120 -0
  89. forgelib-0.0.1/clippy.toml +5 -0
  90. forgelib-0.0.1/composer.json +21 -0
  91. forgelib-0.0.1/deny.toml +42 -0
  92. forgelib-0.0.1/docker-compose.yml +33 -0
  93. forgelib-0.0.1/docs/.gitignore +21 -0
  94. forgelib-0.0.1/docs/README.md +49 -0
  95. forgelib-0.0.1/docs/astro.config.mjs +82 -0
  96. forgelib-0.0.1/docs/package-lock.json +7082 -0
  97. forgelib-0.0.1/docs/package.json +18 -0
  98. forgelib-0.0.1/docs/public/favicon.svg +7 -0
  99. forgelib-0.0.1/docs/src/assets/hero.svg +62 -0
  100. forgelib-0.0.1/docs/src/assets/logo-dark.svg +6 -0
  101. forgelib-0.0.1/docs/src/assets/logo-light.svg +6 -0
  102. forgelib-0.0.1/docs/src/components/Pagination.astro +3 -0
  103. forgelib-0.0.1/docs/src/content/docs/api-stability.mdx +48 -0
  104. forgelib-0.0.1/docs/src/content/docs/configuration.mdx +204 -0
  105. forgelib-0.0.1/docs/src/content/docs/index.mdx +82 -0
  106. forgelib-0.0.1/docs/src/content/docs/operations.mdx +224 -0
  107. forgelib-0.0.1/docs/src/content/docs/primitives.mdx +568 -0
  108. forgelib-0.0.1/docs/src/content/docs/quickstart.mdx +173 -0
  109. forgelib-0.0.1/docs/src/content/docs/recipes.mdx +462 -0
  110. forgelib-0.0.1/docs/src/content/docs/reference.mdx +283 -0
  111. forgelib-0.0.1/docs/src/content/docs/tutorials/chat-app.mdx +330 -0
  112. forgelib-0.0.1/docs/src/content/docs/tutorials/todo-app.mdx +481 -0
  113. forgelib-0.0.1/docs/src/content/docs/tutorials/url-shortener.mdx +445 -0
  114. forgelib-0.0.1/docs/src/content.config.ts +7 -0
  115. forgelib-0.0.1/docs/src/styles/forge.css +95 -0
  116. forgelib-0.0.1/docs/tsconfig.json +5 -0
  117. forgelib-0.0.1/pyproject.toml +22 -0
  118. forgelib-0.0.1/python/forgelib/__init__.py +462 -0
  119. forgelib-0.0.1/python/forgelib/__init__.pyi +507 -0
  120. forgelib-0.0.1/python/forgelib/_generated.pyi +88 -0
  121. forgelib-0.0.1/python/forgelib/py.typed +1 -0
  122. forgelib-0.0.1/skills/forge-idiomatic-developer/SKILL.md +201 -0
  123. forgelib-0.0.1/skills/forge-idiomatic-developer/references/node.md +156 -0
  124. forgelib-0.0.1/skills/forge-idiomatic-developer/references/python.md +152 -0
  125. forgelib-0.0.1/skills/forge-idiomatic-developer/references/rust.md +159 -0
  126. forgelib-0.0.1/src/auth/memory.rs +621 -0
  127. forgelib-0.0.1/src/auth/mod.rs +242 -0
  128. forgelib-0.0.1/src/auth/postgres.rs +422 -0
  129. forgelib-0.0.1/src/backend.rs +302 -0
  130. forgelib-0.0.1/src/blob/common.rs +315 -0
  131. forgelib-0.0.1/src/blob/fs.rs +425 -0
  132. forgelib-0.0.1/src/blob/memory.rs +433 -0
  133. forgelib-0.0.1/src/blob/mod.rs +160 -0
  134. forgelib-0.0.1/src/blob/postgres.rs +230 -0
  135. forgelib-0.0.1/src/blob/sign.rs +121 -0
  136. forgelib-0.0.1/src/config.rs +928 -0
  137. forgelib-0.0.1/src/config_store/memory.rs +349 -0
  138. forgelib-0.0.1/src/config_store/mod.rs +110 -0
  139. forgelib-0.0.1/src/config_store/postgres.rs +402 -0
  140. forgelib-0.0.1/src/conformance/known_gaps.json +4 -0
  141. forgelib-0.0.1/src/conformance/mod.rs +891 -0
  142. forgelib-0.0.1/src/conformance/scenarios/auth.json +39 -0
  143. forgelib-0.0.1/src/conformance/scenarios/blob.json +89 -0
  144. forgelib-0.0.1/src/conformance/scenarios/config.json +53 -0
  145. forgelib-0.0.1/src/conformance/scenarios/kv.json +90 -0
  146. forgelib-0.0.1/src/conformance/scenarios/pubsub.json +23 -0
  147. forgelib-0.0.1/src/conformance/scenarios/queue.json +47 -0
  148. forgelib-0.0.1/src/conformance/scenarios/ratelimit.json +40 -0
  149. forgelib-0.0.1/src/conformance/scenarios/schedule.json +63 -0
  150. forgelib-0.0.1/src/error.rs +317 -0
  151. forgelib-0.0.1/src/kv/memory.rs +466 -0
  152. forgelib-0.0.1/src/kv/mod.rs +98 -0
  153. forgelib-0.0.1/src/kv/postgres.rs +516 -0
  154. forgelib-0.0.1/src/lib.rs +665 -0
  155. forgelib-0.0.1/src/migrations/v000_bootstrap.sql +6 -0
  156. forgelib-0.0.1/src/migrations/v001_schema.sql +188 -0
  157. forgelib-0.0.1/src/migrations/v002_drop_backoff.sql +6 -0
  158. forgelib-0.0.1/src/obs/otel.rs +37 -0
  159. forgelib-0.0.1/src/obs.rs +102 -0
  160. forgelib-0.0.1/src/pg/embedded.rs +159 -0
  161. forgelib-0.0.1/src/pg/migrations.rs +508 -0
  162. forgelib-0.0.1/src/pg/mod.rs +101 -0
  163. forgelib-0.0.1/src/pubsub/memory.rs +289 -0
  164. forgelib-0.0.1/src/pubsub/mod.rs +64 -0
  165. forgelib-0.0.1/src/pubsub/postgres.rs +332 -0
  166. forgelib-0.0.1/src/queue/memory.rs +882 -0
  167. forgelib-0.0.1/src/queue/mod.rs +415 -0
  168. forgelib-0.0.1/src/queue/postgres.rs +694 -0
  169. forgelib-0.0.1/src/queue/worker.rs +223 -0
  170. forgelib-0.0.1/src/ratelimit/algo.rs +232 -0
  171. forgelib-0.0.1/src/ratelimit/memory.rs +322 -0
  172. forgelib-0.0.1/src/ratelimit/mod.rs +138 -0
  173. forgelib-0.0.1/src/ratelimit/postgres.rs +207 -0
  174. forgelib-0.0.1/src/schedule/cron.rs +301 -0
  175. forgelib-0.0.1/src/schedule/memory.rs +819 -0
  176. forgelib-0.0.1/src/schedule/mod.rs +152 -0
  177. forgelib-0.0.1/src/schedule/postgres.rs +447 -0
  178. forgelib-0.0.1/src/testing.rs +150 -0
  179. forgelib-0.0.1/src/typed.rs +421 -0
  180. forgelib-0.0.1/src/types.rs +18 -0
  181. forgelib-0.0.1/src/util.rs +71 -0
  182. forgelib-0.0.1/tests/auth.rs +130 -0
  183. forgelib-0.0.1/tests/backend_selection.rs +397 -0
  184. forgelib-0.0.1/tests/blob.rs +218 -0
  185. forgelib-0.0.1/tests/blob_fs.rs +258 -0
  186. forgelib-0.0.1/tests/config.rs +145 -0
  187. forgelib-0.0.1/tests/conformance.rs +243 -0
  188. forgelib-0.0.1/tests/embedded.rs +68 -0
  189. forgelib-0.0.1/tests/feature_databases.rs +87 -0
  190. forgelib-0.0.1/tests/init.rs +74 -0
  191. forgelib-0.0.1/tests/kv.rs +318 -0
  192. forgelib-0.0.1/tests/pubsub.rs +105 -0
  193. forgelib-0.0.1/tests/queue.rs +413 -0
  194. forgelib-0.0.1/tests/ratelimit.rs +96 -0
  195. forgelib-0.0.1/tests/schedule.rs +356 -0
  196. forgelib-0.0.1/tests/sentinel.rs +11 -0
  197. forgelib-0.0.1/tests/typed.rs +186 -0
  198. forgelib-0.0.1/tests/worker.rs +93 -0
@@ -0,0 +1,10 @@
1
+ # cargo-audit configuration.
2
+ [advisories]
3
+ ignore = [
4
+ # RUSTSEC-2023-0071 (rsa "Marvin Attack" timing sidechannel). Pulled in only
5
+ # transitively through `sqlx-mysql`, which sqlx's macro crate compiles for all
6
+ # drivers. Forge is Postgres-only and never executes the MySQL/`rsa` path, so
7
+ # the vulnerable code is unreachable. No fixed `rsa` release exists yet; revisit
8
+ # when one ships or when sqlx stops pulling unused drivers into the macro build.
9
+ "RUSTSEC-2023-0071",
10
+ ]
@@ -0,0 +1,19 @@
1
+ [env]
2
+ SQLX_OFFLINE = "true"
3
+
4
+ # Faster linkers cut incremental rebuild times by 40-70% on this project.
5
+ # These targets opt-in via env if the linker is installed; otherwise cargo
6
+ # falls back to the system default. Keeping this commented avoids forcing a
7
+ # tool install on contributors who don't have mold/lld locally.
8
+ #
9
+ # To enable on Linux (preferred):
10
+ # sudo apt install mold # or: cargo install --locked sccache
11
+ # export RUSTFLAGS="-C link-arg=-fuse-ld=mold"
12
+ #
13
+ # To enable on macOS:
14
+ # export RUSTFLAGS="-C link-arg=-fuse-ld=lld"
15
+ #
16
+ # To enable sccache (caches across `cargo clean`):
17
+ # export RUSTC_WRAPPER=sccache
18
+ #
19
+ # Documented here so contributors can find the levers without grepping CI.
@@ -0,0 +1,16 @@
1
+ # Keep build contexts small and reproducible: never ship build outputs or local junk
2
+ # into the Docker build (the images rebuild everything from source).
3
+ **/target
4
+ **/node_modules
5
+ **/.svelte-kit
6
+ **/build
7
+ **/dist
8
+ **/.venv
9
+ **/__pycache__
10
+ **/.pytest_cache
11
+ **/.ruff_cache
12
+ **/*.node
13
+ e2e/test-results
14
+ e2e/screenshots
15
+ test-results
16
+ .git
@@ -0,0 +1 @@
1
+ docs/static/demo/** filter=lfs diff=lfs merge=lfs -text
@@ -0,0 +1,14 @@
1
+ target
2
+ node_modules
3
+ # embedded Postgres state ([postgres] embedded = true)
4
+ .forge/
5
+ .svelte-kit
6
+ .env
7
+ !examples/**/.env
8
+ .agents/
9
+ **/test-results/**
10
+
11
+ # conformance runner artifacts
12
+ tools/conformance/python/.venv/
13
+ tools/conformance/python/__pycache__/
14
+ bindings/python/dist/
@@ -0,0 +1,22 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT rule AS \"rule!: Json<FlagRule>\" FROM forge_flags WHERE key = $1",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "rule!: Json<FlagRule>",
9
+ "type_info": "Jsonb"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Text"
15
+ ]
16
+ },
17
+ "nullable": [
18
+ false
19
+ ]
20
+ },
21
+ "hash": "00efba0430cc1219427abc46f50275be887d4aed959ffdd2a312d6db61582750"
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT pg_advisory_unlock($1)",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "pg_advisory_unlock",
9
+ "type_info": "Bool"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Int8"
15
+ ]
16
+ },
17
+ "nullable": [
18
+ null
19
+ ]
20
+ },
21
+ "hash": "0115c52b6c77a377e6585308ba0df3daaaf7d30a19a37b28abcae7efbe9b4ca7"
22
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "UPDATE forge_jobs SET leased_until = now() + make_interval(secs => lease_secs) WHERE id = $1 AND lease_token = $2 AND status = 'leased' RETURNING id",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "id",
9
+ "type_info": "Uuid"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Uuid",
15
+ "Uuid"
16
+ ]
17
+ },
18
+ "nullable": [
19
+ false
20
+ ]
21
+ },
22
+ "hash": "038fb0bbe46605b4f97b48a35079c14655d74f1da8af616fc2273d35992d8715"
23
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "UPDATE forge_jobs SET status = 'available', attempts = attempts + 1, available_at = now(), lease_token = NULL, leased_until = NULL, lease_secs = NULL WHERE status = 'leased' AND leased_until <= now()",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": []
8
+ },
9
+ "nullable": []
10
+ },
11
+ "hash": "082d5b7c73eb1e03c2864e856dd5aaf8ca0cdcc4477813a1a37c7f2bdec5cd15"
12
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "DELETE FROM forge_blobs WHERE key = $1 RETURNING key",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "key",
9
+ "type_info": "Text"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Text"
15
+ ]
16
+ },
17
+ "nullable": [
18
+ false
19
+ ]
20
+ },
21
+ "hash": "13e9f4aa8e9182cdcfd033bf9fe38d2a32eb2ff1c3c100ad1550ab0126d729ef"
22
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "INSERT INTO forge_kv (key, value, expires_at) VALUES ($1, $2, CASE WHEN $3::double precision IS NULL THEN NULL ELSE now() + make_interval(secs => $3) END) ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, expires_at = EXCLUDED.expires_at",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text",
9
+ "Bytea",
10
+ "Float8"
11
+ ]
12
+ },
13
+ "nullable": []
14
+ },
15
+ "hash": "142fc9eac7df76e8aa96f05068884702920c85a9299e519a8e3c864a95db0415"
16
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT data_ref FROM forge_fs_blobs WHERE key = $1 FOR UPDATE",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "data_ref",
9
+ "type_info": "Text"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Text"
15
+ ]
16
+ },
17
+ "nullable": [
18
+ false
19
+ ]
20
+ },
21
+ "hash": "14690f62ac3ac3511d131628ebbb4cbc40d22ad2030700b41975fb7e78ce58ff"
22
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT current_setting('server_version_num')::int AS \"v!\"",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "v!",
9
+ "type_info": "Int4"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": []
14
+ },
15
+ "nullable": [
16
+ null
17
+ ]
18
+ },
19
+ "hash": "1564a0ef5d57679b29b6f845c9fdc6375131d4bd9275aa5ecd9dae012b549236"
20
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "INSERT INTO forge_flags (key, rule) VALUES ($1, $2) ON CONFLICT (key) DO UPDATE SET rule = EXCLUDED.rule",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text",
9
+ "Jsonb"
10
+ ]
11
+ },
12
+ "nullable": []
13
+ },
14
+ "hash": "15c908c98e3f51a3fec4de45e6dab95bffa66f1d77d6cc674946adb4179d682c"
15
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "DELETE FROM forge_config WHERE key = $1",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text"
9
+ ]
10
+ },
11
+ "nullable": []
12
+ },
13
+ "hash": "1ded643189a7afffe8a66a6fa2db422cc93c917a59e7ff14dabf19ad617fdc34"
14
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT id, owner_id, label FROM forge_api_keys WHERE key_hash = $1 AND app = $2",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "id",
9
+ "type_info": "Text"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "owner_id",
14
+ "type_info": "Text"
15
+ },
16
+ {
17
+ "ordinal": 2,
18
+ "name": "label",
19
+ "type_info": "Text"
20
+ }
21
+ ],
22
+ "parameters": {
23
+ "Left": [
24
+ "Text",
25
+ "Text"
26
+ ]
27
+ },
28
+ "nullable": [
29
+ false,
30
+ false,
31
+ false
32
+ ]
33
+ },
34
+ "hash": "1e32f8c09cd09ace31150bb5735e402000fb5b2257964a4782a69b8b31d3bdff"
35
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "DELETE FROM forge_sessions WHERE user_id = $1 AND app = $2",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text",
9
+ "Text"
10
+ ]
11
+ },
12
+ "nullable": []
13
+ },
14
+ "hash": "240a17989e0a98096b040989a5f35bd5fe5709ff8fceae0c77bdfb7f3c4b2997"
15
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "UPDATE forge_kv SET expires_at = now() + make_interval(secs => $2) WHERE key = $1 AND (expires_at IS NULL OR expires_at > now()) RETURNING key",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "key",
9
+ "type_info": "Text"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Text",
15
+ "Float8"
16
+ ]
17
+ },
18
+ "nullable": [
19
+ false
20
+ ]
21
+ },
22
+ "hash": "2e5708d52d791424086e80c8eab465ca991631e46017387b7cadd582c46a88c0"
23
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "WITH claimed AS (\n SELECT id FROM forge_jobs\n WHERE queue = $1 AND status = 'available' AND available_at <= now()\n ORDER BY available_at\n FOR UPDATE SKIP LOCKED\n LIMIT 1\n )\n UPDATE forge_jobs j\n SET status = 'leased',\n leased_until = now() + make_interval(secs => $2),\n lease_token = gen_random_uuid(),\n lease_secs = $2\n FROM claimed\n WHERE j.id = claimed.id\n RETURNING j.id AS \"id!\", j.queue AS \"queue!\", j.payload AS \"payload!\",\n j.attempts AS \"attempts!\", j.max_attempts AS \"max_attempts!\",\n j.leased_until AS \"leased_until!\", j.lease_token AS \"lease_token!\"",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "id!",
9
+ "type_info": "Uuid"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "queue!",
14
+ "type_info": "Text"
15
+ },
16
+ {
17
+ "ordinal": 2,
18
+ "name": "payload!",
19
+ "type_info": "Bytea"
20
+ },
21
+ {
22
+ "ordinal": 3,
23
+ "name": "attempts!",
24
+ "type_info": "Int4"
25
+ },
26
+ {
27
+ "ordinal": 4,
28
+ "name": "max_attempts!",
29
+ "type_info": "Int4"
30
+ },
31
+ {
32
+ "ordinal": 5,
33
+ "name": "leased_until!",
34
+ "type_info": "Timestamptz"
35
+ },
36
+ {
37
+ "ordinal": 6,
38
+ "name": "lease_token!",
39
+ "type_info": "Uuid"
40
+ }
41
+ ],
42
+ "parameters": {
43
+ "Left": [
44
+ "Text",
45
+ "Float8"
46
+ ]
47
+ },
48
+ "nullable": [
49
+ false,
50
+ false,
51
+ false,
52
+ false,
53
+ false,
54
+ true,
55
+ true
56
+ ]
57
+ },
58
+ "hash": "3229defdfd7f32961f29701bfc35d9293257f8a0b5b15cadcd8bd822ead85987"
59
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT content_type, etag, size,\n metadata AS \"metadata: Json<Meta>\", last_modified\n FROM forge_blobs WHERE key = $1",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "content_type",
9
+ "type_info": "Text"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "etag",
14
+ "type_info": "Text"
15
+ },
16
+ {
17
+ "ordinal": 2,
18
+ "name": "size",
19
+ "type_info": "Int8"
20
+ },
21
+ {
22
+ "ordinal": 3,
23
+ "name": "metadata: Json<Meta>",
24
+ "type_info": "Jsonb"
25
+ },
26
+ {
27
+ "ordinal": 4,
28
+ "name": "last_modified",
29
+ "type_info": "Timestamptz"
30
+ }
31
+ ],
32
+ "parameters": {
33
+ "Left": [
34
+ "Text"
35
+ ]
36
+ },
37
+ "nullable": [
38
+ false,
39
+ false,
40
+ false,
41
+ false,
42
+ false
43
+ ]
44
+ },
45
+ "hash": "3284a4c2fb6642a55ec361008ca049e323123c00a7a312962e1fee53c842271d"
46
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "UPDATE forge_schedules SET last_run = now(), next_run = $2 WHERE name = $1 AND app = $3",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text",
9
+ "Timestamptz",
10
+ "Text"
11
+ ]
12
+ },
13
+ "nullable": []
14
+ },
15
+ "hash": "3462681cf2c621d8a0fea91ebfa121f7d1a413da1f9e7af08307ca694f887e62"
16
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "INSERT INTO forge_kv (key, value, expires_at) VALUES ($1, $2, NULL) ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, expires_at = NULL WHERE forge_kv.expires_at IS NOT NULL AND forge_kv.expires_at <= now() RETURNING key",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "key",
9
+ "type_info": "Text"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Text",
15
+ "Bytea"
16
+ ]
17
+ },
18
+ "nullable": [
19
+ false
20
+ ]
21
+ },
22
+ "hash": "367f2a5d861cca926f07ad6f852c85fb039c1fe24eb89bd32aebd37ca722ca59"
23
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT key, value FROM forge_kv WHERE key = ANY($1) AND (expires_at IS NULL OR expires_at > now())",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "key",
9
+ "type_info": "Text"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "value",
14
+ "type_info": "Bytea"
15
+ }
16
+ ],
17
+ "parameters": {
18
+ "Left": [
19
+ "TextArray"
20
+ ]
21
+ },
22
+ "nullable": [
23
+ false,
24
+ false
25
+ ]
26
+ },
27
+ "hash": "37339ea2a61b1c8331365541f247481e09e0372f17a332639032dc9e6d61118f"
28
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT attempts AS \"attempts!\", max_attempts AS \"max_attempts!\"\n FROM forge_jobs\n WHERE id = $1 AND lease_token = $2 AND status = 'leased'\n FOR UPDATE",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "attempts!",
9
+ "type_info": "Int4"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "max_attempts!",
14
+ "type_info": "Int4"
15
+ }
16
+ ],
17
+ "parameters": {
18
+ "Left": [
19
+ "Uuid",
20
+ "Uuid"
21
+ ]
22
+ },
23
+ "nullable": [
24
+ false,
25
+ false
26
+ ]
27
+ },
28
+ "hash": "3a94d7f938c5b8f71738432f74a16e0778b089aeafec288998bd41b54e0fce67"
29
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "DELETE FROM forge_api_keys WHERE id = $1 AND app = $2 RETURNING id",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "id",
9
+ "type_info": "Text"
10
+ }
11
+ ],
12
+ "parameters": {
13
+ "Left": [
14
+ "Text",
15
+ "Text"
16
+ ]
17
+ },
18
+ "nullable": [
19
+ false
20
+ ]
21
+ },
22
+ "hash": "41bfd3983469c7df3b300188b3c0070034f43e0fd7772cc0fd3a9eb70e2cfcb9"
23
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "INSERT INTO forge_ratelimit (bucket, subject) VALUES ($1, $2) ON CONFLICT (bucket, subject) DO NOTHING",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text",
9
+ "Text"
10
+ ]
11
+ },
12
+ "nullable": []
13
+ },
14
+ "hash": "447d97499226773a2fbe140d6d0cf6582603bb2c805c594eab32b22c0c4cdd7e"
15
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "SELECT tokens,\n EXTRACT(EPOCH FROM (now() - updated_at))::float8 AS \"elapsed!\"\n FROM forge_ratelimit WHERE bucket = $1 AND subject = $2 FOR UPDATE",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "tokens",
9
+ "type_info": "Float8"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "elapsed!",
14
+ "type_info": "Float8"
15
+ }
16
+ ],
17
+ "parameters": {
18
+ "Left": [
19
+ "Text",
20
+ "Text"
21
+ ]
22
+ },
23
+ "nullable": [
24
+ true,
25
+ null
26
+ ]
27
+ },
28
+ "hash": "4563091dbceff822964ee1aaafae15872e162873cff31f9a97257d881d08798d"
29
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "INSERT INTO forge_blobs (key, data, content_type, etag, metadata, size, last_modified) VALUES ($1, $2, $3, $4, $5, $6, now()) ON CONFLICT (key) DO UPDATE SET data = EXCLUDED.data, content_type = EXCLUDED.content_type, etag = EXCLUDED.etag, metadata = EXCLUDED.metadata, size = EXCLUDED.size, last_modified = EXCLUDED.last_modified",
4
+ "describe": {
5
+ "columns": [],
6
+ "parameters": {
7
+ "Left": [
8
+ "Text",
9
+ "Bytea",
10
+ "Text",
11
+ "Text",
12
+ "Jsonb",
13
+ "Int8"
14
+ ]
15
+ },
16
+ "nullable": []
17
+ },
18
+ "hash": "5634beac765bb8192b4f6574b16dc0726a542de917edba8947ee7597374dd626"
19
+ }