@constructive-sdk/cli 0.3.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/admin/cli/commands/app-admin-grant.js +2 -2
  2. package/admin/cli/commands/app-grant.js +2 -2
  3. package/admin/cli/commands/app-membership-default.js +4 -4
  4. package/admin/cli/commands/app-membership.js +14 -14
  5. package/admin/cli/commands/app-owner-grant.js +2 -2
  6. package/admin/cli/commands/claimed-invite.js +2 -2
  7. package/admin/cli/commands/invite.js +6 -6
  8. package/admin/cli/commands/org-admin-grant.js +2 -2
  9. package/admin/cli/commands/org-chart-edge-grant.js +2 -2
  10. package/admin/cli/commands/org-claimed-invite.js +2 -2
  11. package/admin/cli/commands/org-grant.js +2 -2
  12. package/admin/cli/commands/org-invite.js +6 -6
  13. package/admin/cli/commands/org-member.js +2 -2
  14. package/admin/cli/commands/org-membership-default.js +6 -6
  15. package/admin/cli/commands/org-membership.js +12 -12
  16. package/admin/cli/commands/org-owner-grant.js +2 -2
  17. package/admin/cli/commands/submit-invite-code.js +1 -1
  18. package/admin/cli/commands/submit-org-invite-code.js +1 -1
  19. package/admin/cli/index.js +2 -2
  20. package/admin/cli/utils.d.ts +13 -0
  21. package/admin/cli/utils.js +25 -0
  22. package/admin/orm/input-types.d.ts +7 -280
  23. package/admin/orm/query-builder.d.ts +6 -4
  24. package/admin/orm/query-builder.js +13 -3
  25. package/admin/orm/select-types.d.ts +4 -2
  26. package/auth/cli/commands/audit-log.js +2 -2
  27. package/auth/cli/commands/check-password.js +1 -1
  28. package/auth/cli/commands/confirm-delete-account.js +1 -1
  29. package/auth/cli/commands/connected-account.js +4 -4
  30. package/auth/cli/commands/crypto-address.js +4 -4
  31. package/auth/cli/commands/email.js +4 -4
  32. package/auth/cli/commands/extend-token-expires.js +1 -1
  33. package/auth/cli/commands/forgot-password.js +1 -1
  34. package/auth/cli/commands/one-time-token.js +1 -1
  35. package/auth/cli/commands/phone-number.js +4 -4
  36. package/auth/cli/commands/reset-password.js +1 -1
  37. package/auth/cli/commands/send-account-deletion-email.js +1 -1
  38. package/auth/cli/commands/send-verification-email.js +1 -1
  39. package/auth/cli/commands/set-password.js +1 -1
  40. package/auth/cli/commands/sign-in-one-time-token.js +1 -1
  41. package/auth/cli/commands/sign-in.js +1 -1
  42. package/auth/cli/commands/sign-out.js +1 -1
  43. package/auth/cli/commands/sign-up.js +1 -1
  44. package/auth/cli/commands/verify-email.js +1 -1
  45. package/auth/cli/commands/verify-password.js +1 -1
  46. package/auth/cli/commands/verify-totp.js +1 -1
  47. package/auth/cli/index.js +2 -2
  48. package/auth/cli/utils.d.ts +13 -0
  49. package/auth/cli/utils.js +25 -0
  50. package/auth/orm/input-types.d.ts +7 -63
  51. package/auth/orm/query-builder.d.ts +6 -4
  52. package/auth/orm/query-builder.js +13 -3
  53. package/auth/orm/select-types.d.ts +4 -2
  54. package/esm/admin/cli/commands/app-admin-grant.js +2 -2
  55. package/esm/admin/cli/commands/app-grant.js +2 -2
  56. package/esm/admin/cli/commands/app-membership-default.js +4 -4
  57. package/esm/admin/cli/commands/app-membership.js +14 -14
  58. package/esm/admin/cli/commands/app-owner-grant.js +2 -2
  59. package/esm/admin/cli/commands/claimed-invite.js +2 -2
  60. package/esm/admin/cli/commands/invite.js +6 -6
  61. package/esm/admin/cli/commands/org-admin-grant.js +2 -2
  62. package/esm/admin/cli/commands/org-chart-edge-grant.js +2 -2
  63. package/esm/admin/cli/commands/org-claimed-invite.js +2 -2
  64. package/esm/admin/cli/commands/org-grant.js +2 -2
  65. package/esm/admin/cli/commands/org-invite.js +6 -6
  66. package/esm/admin/cli/commands/org-member.js +2 -2
  67. package/esm/admin/cli/commands/org-membership-default.js +6 -6
  68. package/esm/admin/cli/commands/org-membership.js +12 -12
  69. package/esm/admin/cli/commands/org-owner-grant.js +2 -2
  70. package/esm/admin/cli/commands/submit-invite-code.js +2 -2
  71. package/esm/admin/cli/commands/submit-org-invite-code.js +2 -2
  72. package/esm/admin/cli/index.js +2 -2
  73. package/esm/admin/cli/utils.d.ts +13 -0
  74. package/esm/admin/cli/utils.js +24 -0
  75. package/esm/admin/orm/input-types.d.ts +7 -280
  76. package/esm/admin/orm/query-builder.d.ts +6 -4
  77. package/esm/admin/orm/query-builder.js +13 -3
  78. package/esm/admin/orm/select-types.d.ts +4 -2
  79. package/esm/auth/cli/commands/audit-log.js +2 -2
  80. package/esm/auth/cli/commands/check-password.js +2 -2
  81. package/esm/auth/cli/commands/confirm-delete-account.js +2 -2
  82. package/esm/auth/cli/commands/connected-account.js +4 -4
  83. package/esm/auth/cli/commands/crypto-address.js +4 -4
  84. package/esm/auth/cli/commands/email.js +4 -4
  85. package/esm/auth/cli/commands/extend-token-expires.js +2 -2
  86. package/esm/auth/cli/commands/forgot-password.js +2 -2
  87. package/esm/auth/cli/commands/one-time-token.js +2 -2
  88. package/esm/auth/cli/commands/phone-number.js +4 -4
  89. package/esm/auth/cli/commands/reset-password.js +2 -2
  90. package/esm/auth/cli/commands/send-account-deletion-email.js +2 -2
  91. package/esm/auth/cli/commands/send-verification-email.js +2 -2
  92. package/esm/auth/cli/commands/set-password.js +2 -2
  93. package/esm/auth/cli/commands/sign-in-one-time-token.js +2 -2
  94. package/esm/auth/cli/commands/sign-in.js +2 -2
  95. package/esm/auth/cli/commands/sign-out.js +2 -2
  96. package/esm/auth/cli/commands/sign-up.js +2 -2
  97. package/esm/auth/cli/commands/verify-email.js +2 -2
  98. package/esm/auth/cli/commands/verify-password.js +2 -2
  99. package/esm/auth/cli/commands/verify-totp.js +2 -2
  100. package/esm/auth/cli/index.js +2 -2
  101. package/esm/auth/cli/utils.d.ts +13 -0
  102. package/esm/auth/cli/utils.js +24 -0
  103. package/esm/auth/orm/input-types.d.ts +7 -63
  104. package/esm/auth/orm/query-builder.d.ts +6 -4
  105. package/esm/auth/orm/query-builder.js +13 -3
  106. package/esm/auth/orm/select-types.d.ts +4 -2
  107. package/esm/objects/cli/commands/freeze-objects.js +2 -2
  108. package/esm/objects/cli/commands/get-all-record.js +1 -1
  109. package/esm/objects/cli/commands/init-empty-repo.js +2 -2
  110. package/esm/objects/cli/commands/insert-node-at-path.js +2 -2
  111. package/esm/objects/cli/commands/object.js +4 -4
  112. package/esm/objects/cli/commands/remove-node-at-path.js +2 -2
  113. package/esm/objects/cli/commands/set-and-commit.js +2 -2
  114. package/esm/objects/cli/commands/set-data-at-path.js +2 -2
  115. package/esm/objects/cli/commands/set-props-and-commit.js +2 -2
  116. package/esm/objects/cli/commands/update-node-at-path.js +2 -2
  117. package/esm/objects/cli/index.js +2 -2
  118. package/esm/objects/cli/utils.d.ts +13 -0
  119. package/esm/objects/cli/utils.js +24 -0
  120. package/esm/objects/orm/input-types.d.ts +7 -39
  121. package/esm/objects/orm/query-builder.d.ts +6 -4
  122. package/esm/objects/orm/query-builder.js +13 -3
  123. package/esm/objects/orm/select-types.d.ts +4 -2
  124. package/esm/public/cli/commands/api-module.js +2 -2
  125. package/esm/public/cli/commands/api.js +2 -2
  126. package/esm/public/cli/commands/app-admin-grant.js +2 -2
  127. package/esm/public/cli/commands/app-grant.js +2 -2
  128. package/esm/public/cli/commands/app-membership-default.js +4 -4
  129. package/esm/public/cli/commands/app-membership.js +14 -14
  130. package/esm/public/cli/commands/app-owner-grant.js +2 -2
  131. package/esm/public/cli/commands/apply-rls.js +2 -2
  132. package/esm/public/cli/commands/ast-migration.js +4 -4
  133. package/esm/public/cli/commands/audit-log.js +2 -2
  134. package/esm/public/cli/commands/bootstrap-user.js +2 -2
  135. package/esm/public/cli/commands/check-constraint.js +4 -4
  136. package/esm/public/cli/commands/check-password.js +2 -2
  137. package/esm/public/cli/commands/claimed-invite.js +2 -2
  138. package/esm/public/cli/commands/confirm-delete-account.js +2 -2
  139. package/esm/public/cli/commands/connected-account.js +4 -4
  140. package/esm/public/cli/commands/create-user-database.js +2 -2
  141. package/esm/public/cli/commands/crypto-address.js +4 -4
  142. package/esm/public/cli/commands/database-provision-module.js +4 -4
  143. package/esm/public/cli/commands/default-privilege.js +2 -2
  144. package/esm/public/cli/commands/denormalized-table-field.js +4 -4
  145. package/esm/public/cli/commands/email.js +4 -4
  146. package/esm/public/cli/commands/extend-token-expires.js +2 -2
  147. package/esm/public/cli/commands/field-module.js +2 -2
  148. package/esm/public/cli/commands/field.js +12 -12
  149. package/esm/public/cli/commands/foreign-key-constraint.js +2 -2
  150. package/esm/public/cli/commands/forgot-password.js +2 -2
  151. package/esm/public/cli/commands/freeze-objects.js +2 -2
  152. package/esm/public/cli/commands/get-all-record.js +1 -1
  153. package/esm/public/cli/commands/index.js +8 -8
  154. package/esm/public/cli/commands/init-empty-repo.js +2 -2
  155. package/esm/public/cli/commands/insert-node-at-path.js +2 -2
  156. package/esm/public/cli/commands/invite.js +6 -6
  157. package/esm/public/cli/commands/node-type-registry.js +2 -2
  158. package/esm/public/cli/commands/object.js +4 -4
  159. package/esm/public/cli/commands/one-time-token.js +2 -2
  160. package/esm/public/cli/commands/org-admin-grant.js +2 -2
  161. package/esm/public/cli/commands/org-chart-edge-grant.js +2 -2
  162. package/esm/public/cli/commands/org-claimed-invite.js +2 -2
  163. package/esm/public/cli/commands/org-grant.js +2 -2
  164. package/esm/public/cli/commands/org-invite.js +6 -6
  165. package/esm/public/cli/commands/org-member.js +2 -2
  166. package/esm/public/cli/commands/org-membership-default.js +6 -6
  167. package/esm/public/cli/commands/org-membership.js +12 -12
  168. package/esm/public/cli/commands/org-owner-grant.js +2 -2
  169. package/esm/public/cli/commands/phone-number.js +4 -4
  170. package/esm/public/cli/commands/policy.js +8 -8
  171. package/esm/public/cli/commands/primary-key-constraint.js +2 -2
  172. package/esm/public/cli/commands/provision-database-with-user.js +2 -2
  173. package/esm/public/cli/commands/relation-provision.js +12 -12
  174. package/esm/public/cli/commands/remove-node-at-path.js +2 -2
  175. package/esm/public/cli/commands/reset-password.js +2 -2
  176. package/esm/public/cli/commands/schema.js +4 -4
  177. package/esm/public/cli/commands/secure-table-provision.js +10 -10
  178. package/esm/public/cli/commands/send-account-deletion-email.js +2 -2
  179. package/esm/public/cli/commands/send-verification-email.js +2 -2
  180. package/esm/public/cli/commands/set-and-commit.js +2 -2
  181. package/esm/public/cli/commands/set-data-at-path.js +2 -2
  182. package/esm/public/cli/commands/set-field-order.js +2 -2
  183. package/esm/public/cli/commands/set-password.js +2 -2
  184. package/esm/public/cli/commands/set-props-and-commit.js +2 -2
  185. package/esm/public/cli/commands/sign-in-one-time-token.js +2 -2
  186. package/esm/public/cli/commands/sign-in.js +2 -2
  187. package/esm/public/cli/commands/sign-out.js +2 -2
  188. package/esm/public/cli/commands/sign-up.js +2 -2
  189. package/esm/public/cli/commands/site-module.js +2 -2
  190. package/esm/public/cli/commands/site-theme.js +2 -2
  191. package/esm/public/cli/commands/sql-migration.js +1 -1
  192. package/esm/public/cli/commands/submit-invite-code.js +2 -2
  193. package/esm/public/cli/commands/submit-org-invite-code.js +2 -2
  194. package/esm/public/cli/commands/table-grant.js +2 -2
  195. package/esm/public/cli/commands/table-module.js +4 -4
  196. package/esm/public/cli/commands/table-template-module.js +2 -2
  197. package/esm/public/cli/commands/table.js +8 -8
  198. package/esm/public/cli/commands/trigger.js +2 -2
  199. package/esm/public/cli/commands/unique-constraint.js +2 -2
  200. package/esm/public/cli/commands/update-node-at-path.js +2 -2
  201. package/esm/public/cli/commands/verify-email.js +2 -2
  202. package/esm/public/cli/commands/verify-password.js +2 -2
  203. package/esm/public/cli/commands/verify-totp.js +2 -2
  204. package/esm/public/cli/commands/view-grant.js +4 -4
  205. package/esm/public/cli/commands/view.js +10 -10
  206. package/esm/public/cli/index.js +2 -2
  207. package/esm/public/cli/utils.d.ts +13 -0
  208. package/esm/public/cli/utils.js +24 -0
  209. package/esm/public/orm/input-types.d.ts +7 -1196
  210. package/esm/public/orm/query-builder.d.ts +6 -4
  211. package/esm/public/orm/query-builder.js +13 -3
  212. package/esm/public/orm/select-types.d.ts +4 -2
  213. package/objects/cli/commands/freeze-objects.js +1 -1
  214. package/objects/cli/commands/get-all-record.js +1 -1
  215. package/objects/cli/commands/init-empty-repo.js +1 -1
  216. package/objects/cli/commands/insert-node-at-path.js +1 -1
  217. package/objects/cli/commands/object.js +4 -4
  218. package/objects/cli/commands/remove-node-at-path.js +1 -1
  219. package/objects/cli/commands/set-and-commit.js +1 -1
  220. package/objects/cli/commands/set-data-at-path.js +1 -1
  221. package/objects/cli/commands/set-props-and-commit.js +1 -1
  222. package/objects/cli/commands/update-node-at-path.js +1 -1
  223. package/objects/cli/index.js +2 -2
  224. package/objects/cli/utils.d.ts +13 -0
  225. package/objects/cli/utils.js +25 -0
  226. package/objects/orm/input-types.d.ts +7 -39
  227. package/objects/orm/query-builder.d.ts +6 -4
  228. package/objects/orm/query-builder.js +13 -3
  229. package/objects/orm/select-types.d.ts +4 -2
  230. package/package.json +6 -6
  231. package/public/cli/commands/api-module.js +2 -2
  232. package/public/cli/commands/api.js +2 -2
  233. package/public/cli/commands/app-admin-grant.js +2 -2
  234. package/public/cli/commands/app-grant.js +2 -2
  235. package/public/cli/commands/app-membership-default.js +4 -4
  236. package/public/cli/commands/app-membership.js +14 -14
  237. package/public/cli/commands/app-owner-grant.js +2 -2
  238. package/public/cli/commands/apply-rls.js +1 -1
  239. package/public/cli/commands/ast-migration.js +4 -4
  240. package/public/cli/commands/audit-log.js +2 -2
  241. package/public/cli/commands/bootstrap-user.js +1 -1
  242. package/public/cli/commands/check-constraint.js +4 -4
  243. package/public/cli/commands/check-password.js +1 -1
  244. package/public/cli/commands/claimed-invite.js +2 -2
  245. package/public/cli/commands/confirm-delete-account.js +1 -1
  246. package/public/cli/commands/connected-account.js +4 -4
  247. package/public/cli/commands/create-user-database.js +1 -1
  248. package/public/cli/commands/crypto-address.js +4 -4
  249. package/public/cli/commands/database-provision-module.js +4 -4
  250. package/public/cli/commands/default-privilege.js +2 -2
  251. package/public/cli/commands/denormalized-table-field.js +4 -4
  252. package/public/cli/commands/email.js +4 -4
  253. package/public/cli/commands/extend-token-expires.js +1 -1
  254. package/public/cli/commands/field-module.js +2 -2
  255. package/public/cli/commands/field.js +12 -12
  256. package/public/cli/commands/foreign-key-constraint.js +2 -2
  257. package/public/cli/commands/forgot-password.js +1 -1
  258. package/public/cli/commands/freeze-objects.js +1 -1
  259. package/public/cli/commands/get-all-record.js +1 -1
  260. package/public/cli/commands/index.js +8 -8
  261. package/public/cli/commands/init-empty-repo.js +1 -1
  262. package/public/cli/commands/insert-node-at-path.js +1 -1
  263. package/public/cli/commands/invite.js +6 -6
  264. package/public/cli/commands/node-type-registry.js +2 -2
  265. package/public/cli/commands/object.js +4 -4
  266. package/public/cli/commands/one-time-token.js +1 -1
  267. package/public/cli/commands/org-admin-grant.js +2 -2
  268. package/public/cli/commands/org-chart-edge-grant.js +2 -2
  269. package/public/cli/commands/org-claimed-invite.js +2 -2
  270. package/public/cli/commands/org-grant.js +2 -2
  271. package/public/cli/commands/org-invite.js +6 -6
  272. package/public/cli/commands/org-member.js +2 -2
  273. package/public/cli/commands/org-membership-default.js +6 -6
  274. package/public/cli/commands/org-membership.js +12 -12
  275. package/public/cli/commands/org-owner-grant.js +2 -2
  276. package/public/cli/commands/phone-number.js +4 -4
  277. package/public/cli/commands/policy.js +8 -8
  278. package/public/cli/commands/primary-key-constraint.js +2 -2
  279. package/public/cli/commands/provision-database-with-user.js +1 -1
  280. package/public/cli/commands/relation-provision.js +12 -12
  281. package/public/cli/commands/remove-node-at-path.js +1 -1
  282. package/public/cli/commands/reset-password.js +1 -1
  283. package/public/cli/commands/schema.js +4 -4
  284. package/public/cli/commands/secure-table-provision.js +10 -10
  285. package/public/cli/commands/send-account-deletion-email.js +1 -1
  286. package/public/cli/commands/send-verification-email.js +1 -1
  287. package/public/cli/commands/set-and-commit.js +1 -1
  288. package/public/cli/commands/set-data-at-path.js +1 -1
  289. package/public/cli/commands/set-field-order.js +1 -1
  290. package/public/cli/commands/set-password.js +1 -1
  291. package/public/cli/commands/set-props-and-commit.js +1 -1
  292. package/public/cli/commands/sign-in-one-time-token.js +1 -1
  293. package/public/cli/commands/sign-in.js +1 -1
  294. package/public/cli/commands/sign-out.js +1 -1
  295. package/public/cli/commands/sign-up.js +1 -1
  296. package/public/cli/commands/site-module.js +2 -2
  297. package/public/cli/commands/site-theme.js +2 -2
  298. package/public/cli/commands/sql-migration.js +1 -1
  299. package/public/cli/commands/submit-invite-code.js +1 -1
  300. package/public/cli/commands/submit-org-invite-code.js +1 -1
  301. package/public/cli/commands/table-grant.js +2 -2
  302. package/public/cli/commands/table-module.js +4 -4
  303. package/public/cli/commands/table-template-module.js +2 -2
  304. package/public/cli/commands/table.js +8 -8
  305. package/public/cli/commands/trigger.js +2 -2
  306. package/public/cli/commands/unique-constraint.js +2 -2
  307. package/public/cli/commands/update-node-at-path.js +1 -1
  308. package/public/cli/commands/verify-email.js +1 -1
  309. package/public/cli/commands/verify-password.js +1 -1
  310. package/public/cli/commands/verify-totp.js +1 -1
  311. package/public/cli/commands/view-grant.js +4 -4
  312. package/public/cli/commands/view.js +10 -10
  313. package/public/cli/index.js +2 -2
  314. package/public/cli/utils.d.ts +13 -0
  315. package/public/cli/utils.js +25 -0
  316. package/public/orm/input-types.d.ts +7 -1196
  317. package/public/orm/query-builder.d.ts +6 -4
  318. package/public/orm/query-builder.js +13 -3
  319. package/public/orm/select-types.d.ts +4 -2
@@ -34,21 +34,23 @@ export declare class QueryBuilder<TResult> {
34
34
  getVariables(): Record<string, unknown> | undefined;
35
35
  }
36
36
  export declare function buildSelections(select: Record<string, unknown> | undefined, connectionFieldsMap?: Record<string, Record<string, string>>, entityType?: string): FieldNode[];
37
- export declare function buildFindManyDocument<TSelect, TWhere>(operationName: string, queryField: string, select: TSelect, args: {
37
+ export declare function buildFindManyDocument<TSelect, TWhere, TCondition = never>(operationName: string, queryField: string, select: TSelect, args: {
38
38
  where?: TWhere;
39
+ condition?: TCondition;
39
40
  orderBy?: string[];
40
41
  first?: number;
41
42
  last?: number;
42
43
  after?: string;
43
44
  before?: string;
44
45
  offset?: number;
45
- }, filterTypeName: string, orderByTypeName: string, connectionFieldsMap?: Record<string, Record<string, string>>): {
46
+ }, filterTypeName: string, orderByTypeName: string, connectionFieldsMap?: Record<string, Record<string, string>>, conditionTypeName?: string): {
46
47
  document: string;
47
48
  variables: Record<string, unknown>;
48
49
  };
49
- export declare function buildFindFirstDocument<TSelect, TWhere>(operationName: string, queryField: string, select: TSelect, args: {
50
+ export declare function buildFindFirstDocument<TSelect, TWhere, TCondition = never>(operationName: string, queryField: string, select: TSelect, args: {
50
51
  where?: TWhere;
51
- }, filterTypeName: string, connectionFieldsMap?: Record<string, Record<string, string>>): {
52
+ condition?: TCondition;
53
+ }, filterTypeName: string, connectionFieldsMap?: Record<string, Record<string, string>>, conditionTypeName?: string): {
52
54
  document: string;
53
55
  variables: Record<string, unknown>;
54
56
  };
@@ -131,13 +131,18 @@ export function buildSelections(select, connectionFieldsMap, entityType) {
131
131
  // ============================================================================
132
132
  // Document Builders
133
133
  // ============================================================================
134
- export function buildFindManyDocument(operationName, queryField, select, args, filterTypeName, orderByTypeName, connectionFieldsMap) {
134
+ export function buildFindManyDocument(operationName, queryField, select, args, filterTypeName, orderByTypeName, connectionFieldsMap, conditionTypeName) {
135
135
  const selections = select
136
136
  ? buildSelections(select, connectionFieldsMap, operationName)
137
137
  : [t.field({ name: 'id' })];
138
138
  const variableDefinitions = [];
139
139
  const queryArgs = [];
140
140
  const variables = {};
141
+ addVariable({
142
+ varName: 'condition',
143
+ typeName: conditionTypeName,
144
+ value: args.condition,
145
+ }, variableDefinitions, queryArgs, variables);
141
146
  addVariable({
142
147
  varName: 'where',
143
148
  argName: 'filter',
@@ -176,7 +181,7 @@ export function buildFindManyDocument(operationName, queryField, select, args, f
176
181
  });
177
182
  return { document: print(document), variables };
178
183
  }
179
- export function buildFindFirstDocument(operationName, queryField, select, args, filterTypeName, connectionFieldsMap) {
184
+ export function buildFindFirstDocument(operationName, queryField, select, args, filterTypeName, connectionFieldsMap, conditionTypeName) {
180
185
  const selections = select
181
186
  ? buildSelections(select, connectionFieldsMap, operationName)
182
187
  : [t.field({ name: 'id' })];
@@ -185,6 +190,11 @@ export function buildFindFirstDocument(operationName, queryField, select, args,
185
190
  const variables = {};
186
191
  // Always add first: 1 for findFirst
187
192
  addVariable({ varName: 'first', typeName: 'Int', value: 1 }, variableDefinitions, queryArgs, variables);
193
+ addVariable({
194
+ varName: 'condition',
195
+ typeName: conditionTypeName,
196
+ value: args.condition,
197
+ }, variableDefinitions, queryArgs, variables);
188
198
  addVariable({
189
199
  varName: 'where',
190
200
  argName: 'filter',
@@ -519,7 +529,7 @@ function buildInputMutationDocument(config) {
519
529
  return print(document);
520
530
  }
521
531
  function addVariable(spec, definitions, args, variables) {
522
- if (spec.value === undefined)
532
+ if (spec.value === undefined || !spec.typeName)
523
533
  return;
524
534
  definitions.push(t.variableDefinition({
525
535
  variable: t.variable({ name: spec.varName }),
@@ -14,9 +14,10 @@ export interface PageInfo {
14
14
  startCursor?: string | null;
15
15
  endCursor?: string | null;
16
16
  }
17
- export interface FindManyArgs<TSelect, TWhere, TOrderBy> {
17
+ export interface FindManyArgs<TSelect, TWhere, TCondition = never, TOrderBy = never> {
18
18
  select?: TSelect;
19
19
  where?: TWhere;
20
+ condition?: TCondition;
20
21
  orderBy?: TOrderBy[];
21
22
  first?: number;
22
23
  last?: number;
@@ -24,9 +25,10 @@ export interface FindManyArgs<TSelect, TWhere, TOrderBy> {
24
25
  before?: string;
25
26
  offset?: number;
26
27
  }
27
- export interface FindFirstArgs<TSelect, TWhere> {
28
+ export interface FindFirstArgs<TSelect, TWhere, TCondition = never> {
28
29
  select?: TSelect;
29
30
  where?: TWhere;
31
+ condition?: TCondition;
30
32
  }
31
33
  export interface CreateArgs<TSelect, TData> {
32
34
  data: TData;
@@ -154,7 +154,7 @@ async function handleCreate(argv, prompter) {
154
154
  skipPrompt: true,
155
155
  },
156
156
  {
157
- type: 'text',
157
+ type: 'boolean',
158
158
  name: 'success',
159
159
  message: 'success',
160
160
  required: true,
@@ -239,7 +239,7 @@ async function handleUpdate(argv, prompter) {
239
239
  skipPrompt: true,
240
240
  },
241
241
  {
242
- type: 'text',
242
+ type: 'boolean',
243
243
  name: 'success',
244
244
  message: 'success',
245
245
  required: false,
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .checkPassword(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .confirmDeleteAccount(parsedAnswers, {
@@ -139,13 +139,13 @@ async function handleCreate(argv, prompter) {
139
139
  required: true,
140
140
  },
141
141
  {
142
- type: 'text',
142
+ type: 'json',
143
143
  name: 'details',
144
144
  message: 'details',
145
145
  required: true,
146
146
  },
147
147
  {
148
- type: 'text',
148
+ type: 'boolean',
149
149
  name: 'isVerified',
150
150
  message: 'isVerified',
151
151
  required: false,
@@ -215,13 +215,13 @@ async function handleUpdate(argv, prompter) {
215
215
  required: false,
216
216
  },
217
217
  {
218
- type: 'text',
218
+ type: 'json',
219
219
  name: 'details',
220
220
  message: 'details',
221
221
  required: false,
222
222
  },
223
223
  {
224
- type: 'text',
224
+ type: 'boolean',
225
225
  name: 'isVerified',
226
226
  message: 'isVerified',
227
227
  required: false,
@@ -130,14 +130,14 @@ async function handleCreate(argv, prompter) {
130
130
  required: true,
131
131
  },
132
132
  {
133
- type: 'text',
133
+ type: 'boolean',
134
134
  name: 'isVerified',
135
135
  message: 'isVerified',
136
136
  required: false,
137
137
  skipPrompt: true,
138
138
  },
139
139
  {
140
- type: 'text',
140
+ type: 'boolean',
141
141
  name: 'isPrimary',
142
142
  message: 'isPrimary',
143
143
  required: false,
@@ -199,14 +199,14 @@ async function handleUpdate(argv, prompter) {
199
199
  required: false,
200
200
  },
201
201
  {
202
- type: 'text',
202
+ type: 'boolean',
203
203
  name: 'isVerified',
204
204
  message: 'isVerified',
205
205
  required: false,
206
206
  skipPrompt: true,
207
207
  },
208
208
  {
209
- type: 'text',
209
+ type: 'boolean',
210
210
  name: 'isPrimary',
211
211
  message: 'isPrimary',
212
212
  required: false,
@@ -130,14 +130,14 @@ async function handleCreate(argv, prompter) {
130
130
  required: true,
131
131
  },
132
132
  {
133
- type: 'text',
133
+ type: 'boolean',
134
134
  name: 'isVerified',
135
135
  message: 'isVerified',
136
136
  required: false,
137
137
  skipPrompt: true,
138
138
  },
139
139
  {
140
- type: 'text',
140
+ type: 'boolean',
141
141
  name: 'isPrimary',
142
142
  message: 'isPrimary',
143
143
  required: false,
@@ -199,14 +199,14 @@ async function handleUpdate(argv, prompter) {
199
199
  required: false,
200
200
  },
201
201
  {
202
- type: 'text',
202
+ type: 'boolean',
203
203
  name: 'isVerified',
204
204
  message: 'isVerified',
205
205
  required: false,
206
206
  skipPrompt: true,
207
207
  },
208
208
  {
209
- type: 'text',
209
+ type: 'boolean',
210
210
  name: 'isPrimary',
211
211
  message: 'isPrimary',
212
212
  required: false,
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .extendTokenExpires(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .forgotPassword(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .oneTimeToken(parsedAnswers, {
@@ -139,14 +139,14 @@ async function handleCreate(argv, prompter) {
139
139
  required: true,
140
140
  },
141
141
  {
142
- type: 'text',
142
+ type: 'boolean',
143
143
  name: 'isVerified',
144
144
  message: 'isVerified',
145
145
  required: false,
146
146
  skipPrompt: true,
147
147
  },
148
148
  {
149
- type: 'text',
149
+ type: 'boolean',
150
150
  name: 'isPrimary',
151
151
  message: 'isPrimary',
152
152
  required: false,
@@ -216,14 +216,14 @@ async function handleUpdate(argv, prompter) {
216
216
  required: false,
217
217
  },
218
218
  {
219
- type: 'text',
219
+ type: 'boolean',
220
220
  name: 'isVerified',
221
221
  message: 'isVerified',
222
222
  required: false,
223
223
  skipPrompt: true,
224
224
  },
225
225
  {
226
- type: 'text',
226
+ type: 'boolean',
227
227
  name: 'isPrimary',
228
228
  message: 'isPrimary',
229
229
  required: false,
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .resetPassword(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .sendAccountDeletionEmail(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .sendVerificationEmail(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .setPassword(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .signInOneTimeToken(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .signIn(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .signOut(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .signUp(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .verifyEmail(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .verifyPassword(parsedAnswers, {
@@ -1,5 +1,5 @@
1
1
  import { getClient } from '../executor';
2
- import { parseMutationInput, buildSelectFromPaths } from '../utils';
2
+ import { unflattenDotNotation, buildSelectFromPaths } from '../utils';
3
3
  export default async (argv, prompter, _options) => {
4
4
  try {
5
5
  if (argv.help || argv.h) {
@@ -15,7 +15,7 @@ export default async (argv, prompter, _options) => {
15
15
  },
16
16
  ]);
17
17
  const client = getClient();
18
- const parsedAnswers = parseMutationInput(answers);
18
+ const parsedAnswers = unflattenDotNotation(answers);
19
19
  const selectFields = buildSelectFromPaths(argv.select ?? 'clientMutationId');
20
20
  const result = await client.mutation
21
21
  .verifyTotp(parsedAnswers, {
@@ -10,9 +10,9 @@ if (process.argv.includes('--version') || process.argv.includes('-v')) {
10
10
  console.log(pkg.version);
11
11
  process.exit(0);
12
12
  }
13
- // Check for --tty false to enable non-interactive mode (noTty)
13
+ // Check for --tty false or --no-tty to enable non-interactive mode (noTty)
14
14
  const ttyIdx = process.argv.indexOf('--tty');
15
- const noTty = ttyIdx !== -1 && process.argv[ttyIdx + 1] === 'false';
15
+ const noTty = (ttyIdx !== -1 && process.argv[ttyIdx + 1] === 'false') || process.argv.includes('--no-tty');
16
16
  const options = {
17
17
  noTty,
18
18
  minimistOpts: { alias: { v: 'version', h: 'help' } },
@@ -20,6 +20,19 @@ export declare function stripUndefined(obj: Record<string, unknown>, schema?: Fi
20
20
  * from the CLI prompt. This parses it into a proper object.
21
21
  */
22
22
  export declare function parseMutationInput(answers: Record<string, unknown>): Record<string, unknown>;
23
+ /**
24
+ * Reconstruct nested objects from dot-notation CLI answers.
25
+ * When INPUT_OBJECT args are flattened to dot-notation questions
26
+ * (e.g. `--input.email foo --input.password bar`), this function
27
+ * rebuilds the nested structure expected by the ORM:
28
+ *
29
+ * { 'input.email': 'foo', 'input.password': 'bar' }
30
+ * → { input: { email: 'foo', password: 'bar' } }
31
+ *
32
+ * Non-dotted keys are passed through unchanged.
33
+ * Uses `nested-obj` for safe nested property setting.
34
+ */
35
+ export declare function unflattenDotNotation(answers: Record<string, unknown>): Record<string, unknown>;
23
36
  /**
24
37
  * Build a select object from a comma-separated list of dot-notation paths.
25
38
  * Uses `nested-obj` to parse paths like 'clientMutationId,result.accessToken,result.userId'
@@ -115,6 +115,30 @@ export function parseMutationInput(answers) {
115
115
  }
116
116
  return answers;
117
117
  }
118
+ /**
119
+ * Reconstruct nested objects from dot-notation CLI answers.
120
+ * When INPUT_OBJECT args are flattened to dot-notation questions
121
+ * (e.g. `--input.email foo --input.password bar`), this function
122
+ * rebuilds the nested structure expected by the ORM:
123
+ *
124
+ * { 'input.email': 'foo', 'input.password': 'bar' }
125
+ * → { input: { email: 'foo', password: 'bar' } }
126
+ *
127
+ * Non-dotted keys are passed through unchanged.
128
+ * Uses `nested-obj` for safe nested property setting.
129
+ */
130
+ export function unflattenDotNotation(answers) {
131
+ const result = {};
132
+ for (const [key, value] of Object.entries(answers)) {
133
+ if (key.includes('.')) {
134
+ objectPath.set(result, key, value);
135
+ }
136
+ else {
137
+ result[key] = value;
138
+ }
139
+ }
140
+ return result;
141
+ }
118
142
  /**
119
143
  * Build a select object from a comma-separated list of dot-notation paths.
120
144
  * Uses `nested-obj` to parse paths like 'clientMutationId,result.accessToken,result.userId'