@signstack/cli 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +458 -0
  2. package/bin/run.js +12 -0
  3. package/dist/apps/signstack-cli/schemas/asset.schema.json +220 -0
  4. package/dist/apps/signstack-cli/schemas/blueprint.schema.json +485 -0
  5. package/dist/apps/signstack-cli/schemas/jsonata-function.schema.json +185 -0
  6. package/dist/apps/signstack-cli/schemas/schema.schema.json +97 -0
  7. package/dist/apps/signstack-cli/schemas/template.schema.json +295 -0
  8. package/dist/apps/signstack-cli/src/commands/auth/login.d.ts +25 -0
  9. package/dist/apps/signstack-cli/src/commands/auth/login.js +229 -0
  10. package/dist/apps/signstack-cli/src/commands/auth/login.js.map +1 -0
  11. package/dist/apps/signstack-cli/src/commands/auth/logout.d.ts +10 -0
  12. package/dist/apps/signstack-cli/src/commands/auth/logout.js +59 -0
  13. package/dist/apps/signstack-cli/src/commands/auth/logout.js.map +1 -0
  14. package/dist/apps/signstack-cli/src/commands/auth/whoami.d.ts +9 -0
  15. package/dist/apps/signstack-cli/src/commands/auth/whoami.js +85 -0
  16. package/dist/apps/signstack-cli/src/commands/auth/whoami.js.map +1 -0
  17. package/dist/apps/signstack-cli/src/commands/generate.d.ts +51 -0
  18. package/dist/apps/signstack-cli/src/commands/generate.js +479 -0
  19. package/dist/apps/signstack-cli/src/commands/generate.js.map +1 -0
  20. package/dist/apps/signstack-cli/src/commands/preview.d.ts +24 -0
  21. package/dist/apps/signstack-cli/src/commands/preview.js +162 -0
  22. package/dist/apps/signstack-cli/src/commands/preview.js.map +1 -0
  23. package/dist/apps/signstack-cli/src/commands/pull.d.ts +28 -0
  24. package/dist/apps/signstack-cli/src/commands/pull.js +244 -0
  25. package/dist/apps/signstack-cli/src/commands/pull.js.map +1 -0
  26. package/dist/apps/signstack-cli/src/commands/push.d.ts +46 -0
  27. package/dist/apps/signstack-cli/src/commands/push.js +460 -0
  28. package/dist/apps/signstack-cli/src/commands/push.js.map +1 -0
  29. package/dist/apps/signstack-cli/src/commands/run.d.ts +22 -0
  30. package/dist/apps/signstack-cli/src/commands/run.js +126 -0
  31. package/dist/apps/signstack-cli/src/commands/run.js.map +1 -0
  32. package/dist/apps/signstack-cli/src/commands/test.d.ts +6 -0
  33. package/dist/apps/signstack-cli/src/commands/test.js +25 -0
  34. package/dist/apps/signstack-cli/src/commands/test.js.map +1 -0
  35. package/dist/apps/signstack-cli/src/commands/validate.d.ts +59 -0
  36. package/dist/apps/signstack-cli/src/commands/validate.js +558 -0
  37. package/dist/apps/signstack-cli/src/commands/validate.js.map +1 -0
  38. package/dist/apps/signstack-cli/src/index.d.ts +1 -0
  39. package/dist/apps/signstack-cli/src/index.js +2 -0
  40. package/dist/apps/signstack-cli/src/index.js.map +1 -0
  41. package/dist/apps/signstack-cli/src/lib/api-client.d.ts +77 -0
  42. package/dist/apps/signstack-cli/src/lib/api-client.js +269 -0
  43. package/dist/apps/signstack-cli/src/lib/api-client.js.map +1 -0
  44. package/dist/apps/signstack-cli/src/lib/base-command.d.ts +38 -0
  45. package/dist/apps/signstack-cli/src/lib/base-command.js +135 -0
  46. package/dist/apps/signstack-cli/src/lib/base-command.js.map +1 -0
  47. package/dist/apps/signstack-cli/src/lib/config.d.ts +47 -0
  48. package/dist/apps/signstack-cli/src/lib/config.js +106 -0
  49. package/dist/apps/signstack-cli/src/lib/config.js.map +1 -0
  50. package/dist/apps/signstack-cli/src/lib/entity-data-resolver.d.ts +31 -0
  51. package/dist/apps/signstack-cli/src/lib/entity-data-resolver.js +107 -0
  52. package/dist/apps/signstack-cli/src/lib/entity-data-resolver.js.map +1 -0
  53. package/dist/apps/signstack-cli/src/lib/local-resource-loader.d.ts +72 -0
  54. package/dist/apps/signstack-cli/src/lib/local-resource-loader.js +238 -0
  55. package/dist/apps/signstack-cli/src/lib/local-resource-loader.js.map +1 -0
  56. package/dist/apps/signstack-cli/src/lib/path-utils.d.ts +4 -0
  57. package/dist/apps/signstack-cli/src/lib/path-utils.js +7 -0
  58. package/dist/apps/signstack-cli/src/lib/path-utils.js.map +1 -0
  59. package/dist/apps/signstack-cli/src/lib/payload-builder.d.ts +127 -0
  60. package/dist/apps/signstack-cli/src/lib/payload-builder.js +545 -0
  61. package/dist/apps/signstack-cli/src/lib/payload-builder.js.map +1 -0
  62. package/dist/apps/signstack-cli/src/lib/preview-handler.d.ts +95 -0
  63. package/dist/apps/signstack-cli/src/lib/preview-handler.js +611 -0
  64. package/dist/apps/signstack-cli/src/lib/preview-handler.js.map +1 -0
  65. package/dist/apps/signstack-cli/src/lib/preview-output-formatter.d.ts +63 -0
  66. package/dist/apps/signstack-cli/src/lib/preview-output-formatter.js +198 -0
  67. package/dist/apps/signstack-cli/src/lib/preview-output-formatter.js.map +1 -0
  68. package/dist/apps/signstack-cli/src/lib/public-api-client.d.ts +13 -0
  69. package/dist/apps/signstack-cli/src/lib/public-api-client.js +39 -0
  70. package/dist/apps/signstack-cli/src/lib/public-api-client.js.map +1 -0
  71. package/dist/apps/signstack-cli/src/lib/resource-puller.d.ts +131 -0
  72. package/dist/apps/signstack-cli/src/lib/resource-puller.js +800 -0
  73. package/dist/apps/signstack-cli/src/lib/resource-puller.js.map +1 -0
  74. package/dist/apps/signstack-cli/src/lib/resource-pusher.d.ts +87 -0
  75. package/dist/apps/signstack-cli/src/lib/resource-pusher.js +361 -0
  76. package/dist/apps/signstack-cli/src/lib/resource-pusher.js.map +1 -0
  77. package/dist/apps/signstack-cli/src/lib/resource-scanner.d.ts +29 -0
  78. package/dist/apps/signstack-cli/src/lib/resource-scanner.js +101 -0
  79. package/dist/apps/signstack-cli/src/lib/resource-scanner.js.map +1 -0
  80. package/dist/apps/signstack-cli/src/lib/resource-validator.d.ts +44 -0
  81. package/dist/apps/signstack-cli/src/lib/resource-validator.js +158 -0
  82. package/dist/apps/signstack-cli/src/lib/resource-validator.js.map +1 -0
  83. package/dist/apps/signstack-cli/src/lib/run-handler.d.ts +47 -0
  84. package/dist/apps/signstack-cli/src/lib/run-handler.js +266 -0
  85. package/dist/apps/signstack-cli/src/lib/run-handler.js.map +1 -0
  86. package/dist/apps/signstack-cli/src/lib/safe-path.d.ts +28 -0
  87. package/dist/apps/signstack-cli/src/lib/safe-path.js +44 -0
  88. package/dist/apps/signstack-cli/src/lib/safe-path.js.map +1 -0
  89. package/dist/apps/signstack-cli/src/lib/scenario-file.d.ts +35 -0
  90. package/dist/apps/signstack-cli/src/lib/scenario-file.js +80 -0
  91. package/dist/apps/signstack-cli/src/lib/scenario-file.js.map +1 -0
  92. package/dist/apps/signstack-cli/src/lib/schema-validator.d.ts +8 -0
  93. package/dist/apps/signstack-cli/src/lib/schema-validator.js +39 -0
  94. package/dist/apps/signstack-cli/src/lib/schema-validator.js.map +1 -0
  95. package/dist/apps/signstack-cli/src/lib/url-validator.d.ts +17 -0
  96. package/dist/apps/signstack-cli/src/lib/url-validator.js +61 -0
  97. package/dist/apps/signstack-cli/src/lib/url-validator.js.map +1 -0
  98. package/dist/apps/signstack-cli/src/lib/yaml-document-parser.d.ts +25 -0
  99. package/dist/apps/signstack-cli/src/lib/yaml-document-parser.js +133 -0
  100. package/dist/apps/signstack-cli/src/lib/yaml-document-parser.js.map +1 -0
  101. package/dist/apps/signstack-cli/src/lib/yaml-transforms.d.ts +3 -0
  102. package/dist/apps/signstack-cli/src/lib/yaml-transforms.js +32 -0
  103. package/dist/apps/signstack-cli/src/lib/yaml-transforms.js.map +1 -0
  104. package/dist/apps/signstack-cli/src/lib/yaml-writer.d.ts +47 -0
  105. package/dist/apps/signstack-cli/src/lib/yaml-writer.js +160 -0
  106. package/dist/apps/signstack-cli/src/lib/yaml-writer.js.map +1 -0
  107. package/dist/apps/signstack-cli/src/types/auth.types.d.ts +48 -0
  108. package/dist/apps/signstack-cli/src/types/auth.types.js +31 -0
  109. package/dist/apps/signstack-cli/src/types/auth.types.js.map +1 -0
  110. package/dist/apps/signstack-cli/src/types/schema.types.d.ts +14 -0
  111. package/dist/apps/signstack-cli/src/types/schema.types.js +16 -0
  112. package/dist/apps/signstack-cli/src/types/schema.types.js.map +1 -0
  113. package/dist/apps/signstack-cli/src/types/yaml.types.d.ts +144 -0
  114. package/dist/apps/signstack-cli/src/types/yaml.types.js +2 -0
  115. package/dist/apps/signstack-cli/src/types/yaml.types.js.map +1 -0
  116. package/dist/libs/common/base/src/index.d.ts +14 -0
  117. package/dist/libs/common/base/src/index.js +44 -0
  118. package/dist/libs/common/base/src/index.js.map +1 -0
  119. package/dist/libs/common/base/src/lib/address.util.d.ts +12 -0
  120. package/dist/libs/common/base/src/lib/address.util.js +55 -0
  121. package/dist/libs/common/base/src/lib/address.util.js.map +1 -0
  122. package/dist/libs/common/base/src/lib/country-code-data.d.ts +5 -0
  123. package/dist/libs/common/base/src/lib/country-code-data.js +1256 -0
  124. package/dist/libs/common/base/src/lib/country-code-data.js.map +1 -0
  125. package/dist/libs/common/base/src/lib/date.util.d.ts +13 -0
  126. package/dist/libs/common/base/src/lib/date.util.js +135 -0
  127. package/dist/libs/common/base/src/lib/date.util.js.map +1 -0
  128. package/dist/libs/common/base/src/lib/headers.d.ts +1 -0
  129. package/dist/libs/common/base/src/lib/headers.js +5 -0
  130. package/dist/libs/common/base/src/lib/headers.js.map +1 -0
  131. package/dist/libs/common/base/src/lib/jsonata.service.d.ts +32 -0
  132. package/dist/libs/common/base/src/lib/jsonata.service.js +207 -0
  133. package/dist/libs/common/base/src/lib/jsonata.service.js.map +1 -0
  134. package/dist/libs/common/base/src/lib/key-validation.constants.d.ts +37 -0
  135. package/dist/libs/common/base/src/lib/key-validation.constants.js +144 -0
  136. package/dist/libs/common/base/src/lib/key-validation.constants.js.map +1 -0
  137. package/dist/libs/common/base/src/lib/phone-util.d.ts +16 -0
  138. package/dist/libs/common/base/src/lib/phone-util.js +61 -0
  139. package/dist/libs/common/base/src/lib/phone-util.js.map +1 -0
  140. package/dist/libs/common/base/src/lib/schema-validation.util.d.ts +24 -0
  141. package/dist/libs/common/base/src/lib/schema-validation.util.js +155 -0
  142. package/dist/libs/common/base/src/lib/schema-validation.util.js.map +1 -0
  143. package/dist/libs/common/base/src/lib/string-builder.d.ts +48 -0
  144. package/dist/libs/common/base/src/lib/string-builder.js +90 -0
  145. package/dist/libs/common/base/src/lib/string-builder.js.map +1 -0
  146. package/dist/libs/common/base/src/lib/util.d.ts +20 -0
  147. package/dist/libs/common/base/src/lib/util.js +110 -0
  148. package/dist/libs/common/base/src/lib/util.js.map +1 -0
  149. package/dist/libs/signstack/base/schemas/asset.schema.json +220 -0
  150. package/dist/libs/signstack/base/schemas/blueprint.schema.json +485 -0
  151. package/dist/libs/signstack/base/schemas/jsonata-function.schema.json +185 -0
  152. package/dist/libs/signstack/base/schemas/schema.schema.json +97 -0
  153. package/dist/libs/signstack/base/schemas/template.schema.json +295 -0
  154. package/dist/libs/signstack/base/src/index.d.ts +28 -0
  155. package/dist/libs/signstack/base/src/index.js +32 -0
  156. package/dist/libs/signstack/base/src/index.js.map +1 -0
  157. package/dist/libs/signstack/base/src/lib/constants.d.ts +123 -0
  158. package/dist/libs/signstack/base/src/lib/constants.js +131 -0
  159. package/dist/libs/signstack/base/src/lib/constants.js.map +1 -0
  160. package/dist/libs/signstack/base/src/lib/hash.util.d.ts +58 -0
  161. package/dist/libs/signstack/base/src/lib/hash.util.js +90 -0
  162. package/dist/libs/signstack/base/src/lib/hash.util.js.map +1 -0
  163. package/dist/libs/signstack/base/src/lib/is-schema-renderable.util.d.ts +29 -0
  164. package/dist/libs/signstack/base/src/lib/is-schema-renderable.util.js +93 -0
  165. package/dist/libs/signstack/base/src/lib/is-schema-renderable.util.js.map +1 -0
  166. package/dist/libs/signstack/base/src/lib/models/ai-chat.d.ts +41 -0
  167. package/dist/libs/signstack/base/src/lib/models/ai-chat.js +3 -0
  168. package/dist/libs/signstack/base/src/lib/models/ai-chat.js.map +1 -0
  169. package/dist/libs/signstack/base/src/lib/models/api-key.d.ts +54 -0
  170. package/dist/libs/signstack/base/src/lib/models/api-key.js +18 -0
  171. package/dist/libs/signstack/base/src/lib/models/api-key.js.map +1 -0
  172. package/dist/libs/signstack/base/src/lib/models/asset.d.ts +101 -0
  173. package/dist/libs/signstack/base/src/lib/models/asset.js +11 -0
  174. package/dist/libs/signstack/base/src/lib/models/asset.js.map +1 -0
  175. package/dist/libs/signstack/base/src/lib/models/auth.d.ts +142 -0
  176. package/dist/libs/signstack/base/src/lib/models/auth.js +35 -0
  177. package/dist/libs/signstack/base/src/lib/models/auth.js.map +1 -0
  178. package/dist/libs/signstack/base/src/lib/models/base.d.ts +134 -0
  179. package/dist/libs/signstack/base/src/lib/models/base.js +71 -0
  180. package/dist/libs/signstack/base/src/lib/models/base.js.map +1 -0
  181. package/dist/libs/signstack/base/src/lib/models/blueprint.d.ts +311 -0
  182. package/dist/libs/signstack/base/src/lib/models/blueprint.js +9 -0
  183. package/dist/libs/signstack/base/src/lib/models/blueprint.js.map +1 -0
  184. package/dist/libs/signstack/base/src/lib/models/file.d.ts +75 -0
  185. package/dist/libs/signstack/base/src/lib/models/file.js +9 -0
  186. package/dist/libs/signstack/base/src/lib/models/file.js.map +1 -0
  187. package/dist/libs/signstack/base/src/lib/models/jsonata-function.d.ts +111 -0
  188. package/dist/libs/signstack/base/src/lib/models/jsonata-function.js +19 -0
  189. package/dist/libs/signstack/base/src/lib/models/jsonata-function.js.map +1 -0
  190. package/dist/libs/signstack/base/src/lib/models/marketplace-listing.d.ts +132 -0
  191. package/dist/libs/signstack/base/src/lib/models/marketplace-listing.js +22 -0
  192. package/dist/libs/signstack/base/src/lib/models/marketplace-listing.js.map +1 -0
  193. package/dist/libs/signstack/base/src/lib/models/membership.d.ts +127 -0
  194. package/dist/libs/signstack/base/src/lib/models/membership.js +22 -0
  195. package/dist/libs/signstack/base/src/lib/models/membership.js.map +1 -0
  196. package/dist/libs/signstack/base/src/lib/models/namespace.d.ts +87 -0
  197. package/dist/libs/signstack/base/src/lib/models/namespace.js +57 -0
  198. package/dist/libs/signstack/base/src/lib/models/namespace.js.map +1 -0
  199. package/dist/libs/signstack/base/src/lib/models/organization.d.ts +79 -0
  200. package/dist/libs/signstack/base/src/lib/models/organization.js +41 -0
  201. package/dist/libs/signstack/base/src/lib/models/organization.js.map +1 -0
  202. package/dist/libs/signstack/base/src/lib/models/render-job.d.ts +88 -0
  203. package/dist/libs/signstack/base/src/lib/models/render-job.js +3 -0
  204. package/dist/libs/signstack/base/src/lib/models/render-job.js.map +1 -0
  205. package/dist/libs/signstack/base/src/lib/models/resource-edge.d.ts +60 -0
  206. package/dist/libs/signstack/base/src/lib/models/resource-edge.js +202 -0
  207. package/dist/libs/signstack/base/src/lib/models/resource-edge.js.map +1 -0
  208. package/dist/libs/signstack/base/src/lib/models/scenario.d.ts +138 -0
  209. package/dist/libs/signstack/base/src/lib/models/scenario.js +14 -0
  210. package/dist/libs/signstack/base/src/lib/models/scenario.js.map +1 -0
  211. package/dist/libs/signstack/base/src/lib/models/schema.d.ts +131 -0
  212. package/dist/libs/signstack/base/src/lib/models/schema.js +44 -0
  213. package/dist/libs/signstack/base/src/lib/models/schema.js.map +1 -0
  214. package/dist/libs/signstack/base/src/lib/models/shareable-link.d.ts +215 -0
  215. package/dist/libs/signstack/base/src/lib/models/shareable-link.js +27 -0
  216. package/dist/libs/signstack/base/src/lib/models/shareable-link.js.map +1 -0
  217. package/dist/libs/signstack/base/src/lib/models/subscription.d.ts +279 -0
  218. package/dist/libs/signstack/base/src/lib/models/subscription.js +105 -0
  219. package/dist/libs/signstack/base/src/lib/models/subscription.js.map +1 -0
  220. package/dist/libs/signstack/base/src/lib/models/template.d.ts +248 -0
  221. package/dist/libs/signstack/base/src/lib/models/template.js +32 -0
  222. package/dist/libs/signstack/base/src/lib/models/template.js.map +1 -0
  223. package/dist/libs/signstack/base/src/lib/models/user.d.ts +30 -0
  224. package/dist/libs/signstack/base/src/lib/models/user.js +3 -0
  225. package/dist/libs/signstack/base/src/lib/models/user.js.map +1 -0
  226. package/dist/libs/signstack/base/src/lib/models/webhook.d.ts +223 -0
  227. package/dist/libs/signstack/base/src/lib/models/webhook.js +62 -0
  228. package/dist/libs/signstack/base/src/lib/models/webhook.js.map +1 -0
  229. package/dist/libs/signstack/base/src/lib/models/workflow.d.ts +917 -0
  230. package/dist/libs/signstack/base/src/lib/models/workflow.js +152 -0
  231. package/dist/libs/signstack/base/src/lib/models/workflow.js.map +1 -0
  232. package/dist/libs/signstack/base/src/lib/util.d.ts +92 -0
  233. package/dist/libs/signstack/base/src/lib/util.js +406 -0
  234. package/dist/libs/signstack/base/src/lib/util.js.map +1 -0
  235. package/dist/libs/signstack/base/src/lib/validation/dependency-graph.d.ts +94 -0
  236. package/dist/libs/signstack/base/src/lib/validation/dependency-graph.js +446 -0
  237. package/dist/libs/signstack/base/src/lib/validation/dependency-graph.js.map +1 -0
  238. package/dist/libs/signstack/base/src/lib/validation/graph.types.d.ts +57 -0
  239. package/dist/libs/signstack/base/src/lib/validation/graph.types.js +8 -0
  240. package/dist/libs/signstack/base/src/lib/validation/graph.types.js.map +1 -0
  241. package/dist/libs/signstack/base/src/lib/validation/index.d.ts +9 -0
  242. package/dist/libs/signstack/base/src/lib/validation/index.js +23 -0
  243. package/dist/libs/signstack/base/src/lib/validation/index.js.map +1 -0
  244. package/dist/libs/signstack/base/src/lib/validation/resource-schemas.d.ts +3 -0
  245. package/dist/libs/signstack/base/src/lib/validation/resource-schemas.js +27 -0
  246. package/dist/libs/signstack/base/src/lib/validation/resource-schemas.js.map +1 -0
  247. package/dist/libs/signstack/base/src/lib/validation/schema-validation.types.d.ts +57 -0
  248. package/dist/libs/signstack/base/src/lib/validation/schema-validation.types.js +57 -0
  249. package/dist/libs/signstack/base/src/lib/validation/schema-validation.types.js.map +1 -0
  250. package/dist/libs/signstack/base/src/lib/validation/schema-validator.d.ts +38 -0
  251. package/dist/libs/signstack/base/src/lib/validation/schema-validator.js +146 -0
  252. package/dist/libs/signstack/base/src/lib/validation/schema-validator.js.map +1 -0
  253. package/dist/libs/signstack/base/src/lib/validation/validate-dependencies.d.ts +22 -0
  254. package/dist/libs/signstack/base/src/lib/validation/validate-dependencies.js +69 -0
  255. package/dist/libs/signstack/base/src/lib/validation/validate-dependencies.js.map +1 -0
  256. package/dist/libs/signstack/base/src/lib/validation/validate-resource-tree.d.ts +37 -0
  257. package/dist/libs/signstack/base/src/lib/validation/validate-resource-tree.js +250 -0
  258. package/dist/libs/signstack/base/src/lib/validation/validate-resource-tree.js.map +1 -0
  259. package/dist/libs/signstack/base/src/lib/validation/validate-template-inputs.d.ts +24 -0
  260. package/dist/libs/signstack/base/src/lib/validation/validate-template-inputs.js +98 -0
  261. package/dist/libs/signstack/base/src/lib/validation/validate-template-inputs.js.map +1 -0
  262. package/dist/libs/signstack/base/src/lib/validation/yaml-document-utils.d.ts +12 -0
  263. package/dist/libs/signstack/base/src/lib/validation/yaml-document-utils.js +50 -0
  264. package/dist/libs/signstack/base/src/lib/validation/yaml-document-utils.js.map +1 -0
  265. package/dist/libs/signstack/base/src/lib/yaml-spec-converter.d.ts +101 -0
  266. package/dist/libs/signstack/base/src/lib/yaml-spec-converter.js +998 -0
  267. package/dist/libs/signstack/base/src/lib/yaml-spec-converter.js.map +1 -0
  268. package/oclif.manifest.json +822 -0
  269. package/package.json +101 -0
@@ -0,0 +1,917 @@
1
+ import { FieldType, FieldWidgetInfo, Input, TemplateFieldInfo, TemplateRole } from './template';
2
+ import { ActorRef, ListResp, LiteralOrExpression } from './base';
3
+ import { NamespaceMode } from './namespace';
4
+ import type { BlueprintResource, BlueprintSpec } from './blueprint';
5
+ import type { TemplateResource } from './template';
6
+ import type { AssetResource } from './asset';
7
+ import type { JsonataFunctionResource } from './jsonata-function';
8
+ import type { SchemaResource } from './schema';
9
+ import { FunctionDependency } from './jsonata-function';
10
+ export declare enum WorkflowStepType {
11
+ Group = "group",
12
+ Participant = "participant"
13
+ }
14
+ export declare enum ParticipantActionType {
15
+ Sign = "sign"
16
+ }
17
+ export declare enum WorkflowStepStatus {
18
+ Pending = "pending",
19
+ InProgress = "in_progress",
20
+ Completed = "completed",
21
+ Skipped = "skipped",
22
+ Failed = "failed"
23
+ }
24
+ export declare enum WorkflowStepExecutionMode {
25
+ Sequential = "sequential",
26
+ Parallel = "parallel"
27
+ }
28
+ export declare enum WorkflowStepCompletionRule {
29
+ All = "all",
30
+ Any = "any",
31
+ Quorum = "quorum"
32
+ }
33
+ export declare enum ParticipantActionStatus {
34
+ Pending = "pending",
35
+ Notified = "notified",
36
+ /**
37
+ * The step is active and awaiting the participant, but SignStack did NOT send
38
+ * a notification (the workflow has `disableParticipantNotifications`). Same
39
+ * lifecycle position as `Notified` — the difference is who delivers the link.
40
+ * The caller is responsible for getting the link to the participant.
41
+ */
42
+ Ready = "ready",
43
+ Viewed = "viewed",
44
+ Signed = "signed",
45
+ Declined = "declined"
46
+ }
47
+ export declare enum WorkflowEventType {
48
+ WorkflowCreated = "workflow_created",
49
+ WorkflowStarted = "workflow_started",
50
+ WorkflowCompleted = "workflow_completed",
51
+ WorkflowFailed = "workflow_failed",
52
+ WorkflowDeclined = "workflow_declined",
53
+ WorkflowVoided = "workflow_voided",
54
+ StepCreated = "step_created",
55
+ StepSkipped = "step_skipped",
56
+ StepStarted = "step_started",
57
+ StepCompleted = "step_completed",
58
+ StepFailed = "step_failed",
59
+ StepParticipantNotified = "step_participant_notified",
60
+ StepParticipantViewed = "step_participant_viewed",
61
+ StepParticipantSignatureAdopted = "step_participant_signature_adopted",
62
+ StepParticipantDeclined = "step_participant_declined",
63
+ StepParticipantSigned = "step_participant_signed",
64
+ EnvelopeCompleted = "envelope_completed",
65
+ EnvelopeFailed = "envelope_failed"
66
+ }
67
+ export declare enum ExecutionMode {
68
+ Prod = "Prod",
69
+ Test = "Test"
70
+ }
71
+ export interface WorkflowEventInfo {
72
+ eventType: WorkflowEventType;
73
+ eventAt: Date;
74
+ stepKey?: string;
75
+ details?: Record<string, unknown>;
76
+ }
77
+ export interface GetEntitySnapshotsResp {
78
+ entitySnapshots: {
79
+ /** Prefixed lowercase ULID, e.g. `es_01jv8m7qfj6xj9gkz7a4s2h8e`. */
80
+ id: string;
81
+ entityKey: string;
82
+ schemaKey?: string;
83
+ schemaVersion?: string;
84
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
85
+ workflowId: string;
86
+ data: Record<string, any>;
87
+ createdAt: Date;
88
+ updatedAt: Date;
89
+ }[];
90
+ }
91
+ export interface AddEntitySnapshotsReq {
92
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
93
+ workflowId: string;
94
+ entitySnapshots: {
95
+ schemaKey?: string;
96
+ schemaVersion?: string;
97
+ inlineSchemaDefinition?: Record<string, any>;
98
+ inlineSchemaDraft?: string;
99
+ entityKey: string;
100
+ data: Record<string, any>;
101
+ }[];
102
+ }
103
+ export interface AddEntitySnapshotsResp {
104
+ entitySnapshots: {
105
+ entityKey: string;
106
+ /** Prefixed lowercase ULID, e.g. `es_01jv8m7qfj6xj9gkz7a4s2h8e`. */
107
+ entitySnapshotId: string;
108
+ schemaKey?: string;
109
+ schemaVersion?: string;
110
+ }[];
111
+ }
112
+ export interface StepDataUpdate {
113
+ key: string;
114
+ transform: string;
115
+ }
116
+ export interface StepOnComplete {
117
+ validateExpression?: string;
118
+ updates?: StepDataUpdate[];
119
+ }
120
+ export interface WorkflowStepBase {
121
+ key: string;
122
+ type: WorkflowStepType;
123
+ name?: string;
124
+ status?: WorkflowStepStatus;
125
+ includeIf?: string;
126
+ onComplete?: StepOnComplete;
127
+ inputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
128
+ outputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
129
+ isCompletionClaimed?: boolean;
130
+ }
131
+ export interface WorkflowGroupStep extends WorkflowStepBase {
132
+ type: WorkflowStepType.Group;
133
+ executionMode: WorkflowStepExecutionMode;
134
+ completionRule: WorkflowStepCompletionRule;
135
+ quorumCount?: number;
136
+ childStepKeys?: string[];
137
+ children: WorkflowStep[];
138
+ }
139
+ export interface WorkflowParticipantStep extends WorkflowStepBase {
140
+ type: WorkflowStepType.Participant;
141
+ participantKey: string;
142
+ action?: {
143
+ type: ParticipantActionType;
144
+ envelopeKey: string;
145
+ status: ParticipantActionStatus;
146
+ signedAt?: Date;
147
+ initialsImageFileId?: string;
148
+ signatureImageFileId?: string;
149
+ signingToken?: string;
150
+ assignments: DocumentAssignment[];
151
+ };
152
+ }
153
+ export type WorkflowStep = WorkflowGroupStep | WorkflowParticipantStep;
154
+ export type WorkflowStepInfo = WorkflowStep;
155
+ export interface ParticipantInfo {
156
+ key: string;
157
+ name?: string;
158
+ email?: string;
159
+ }
160
+ export interface DocumentAssignment {
161
+ documentKey: string;
162
+ roleKey: string;
163
+ }
164
+ export interface CreateWorkflowStepBaseReq {
165
+ key: string;
166
+ name?: string;
167
+ includeIf?: string;
168
+ onComplete?: StepOnComplete;
169
+ inputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
170
+ outputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
171
+ }
172
+ export interface CreateWorkflowGroupStepReq extends CreateWorkflowStepBaseReq {
173
+ type: WorkflowStepType.Group;
174
+ executionMode?: WorkflowStepExecutionMode;
175
+ completionRule?: WorkflowStepCompletionRule;
176
+ quorumCount?: number;
177
+ children?: CreateWorkflowStepReq[];
178
+ }
179
+ export interface CreateWorkflowParticipantStepReq extends CreateWorkflowStepBaseReq {
180
+ type: WorkflowStepType.Participant;
181
+ participantKey: string;
182
+ action?: {
183
+ type: ParticipantActionType;
184
+ envelopeKey: string;
185
+ assignments: DocumentAssignment[];
186
+ };
187
+ }
188
+ export type CreateWorkflowStepReq = CreateWorkflowGroupStepReq | CreateWorkflowParticipantStepReq;
189
+ export interface SenderInfo {
190
+ name: string;
191
+ company: string;
192
+ email: string;
193
+ logoUrl: string;
194
+ senderEmail: string;
195
+ phone?: string;
196
+ address?: string;
197
+ }
198
+ export declare enum EnvelopeResolutionMode {
199
+ Immediate = "immediate",
200
+ JustInTime = "just_in_time"
201
+ }
202
+ export interface WorkflowEnvelope {
203
+ key: string;
204
+ subject: string;
205
+ documents: {
206
+ key: string;
207
+ templateKey?: string;
208
+ templateVersion?: string;
209
+ includeIf?: string;
210
+ fileId?: LiteralOrExpression<string>;
211
+ iterator?: string;
212
+ fieldOverrides?: FieldOverrideInfo[];
213
+ adhocFields?: AdHocFieldInfo[];
214
+ inputMap?: InputMapEntry[];
215
+ }[];
216
+ resolutionMode?: EnvelopeResolutionMode;
217
+ }
218
+ export interface CustomFieldConfig {
219
+ key: string;
220
+ name: string;
221
+ value?: LiteralOrExpression<string | number | boolean | Date>;
222
+ }
223
+ export interface ResolvedCustomField {
224
+ key: string;
225
+ value?: string | number | boolean | Date;
226
+ }
227
+ export type SenderInfoOverrides = Omit<SenderInfo, 'senderEmail'>;
228
+ export interface CreateWorkflowReq {
229
+ name?: string;
230
+ description?: string;
231
+ blueprintKey?: string;
232
+ blueprintVersion?: string;
233
+ inlineResources?: {
234
+ blueprint?: BlueprintResource;
235
+ templates?: TemplateResource[];
236
+ assets?: AssetResource[];
237
+ functions?: JsonataFunctionResource[];
238
+ schemas?: SchemaResource[];
239
+ };
240
+ listingKey?: string;
241
+ listingVersion?: string;
242
+ data?: Record<string, any>;
243
+ options?: {
244
+ inlineOnly?: boolean;
245
+ disableParticipantNotifications?: boolean;
246
+ /**
247
+ * @public-api-shape DO-NOT-DOCUMENT
248
+ * Per-participant override is intentionally excluded from `openapi.json`
249
+ * and public API references. Until the public surface is finalized, do
250
+ * NOT add this field to the spec or user-facing docs. Runtime behavior
251
+ * stays — internal callers depend on it.
252
+ */
253
+ participantOverrides?: {
254
+ key: string;
255
+ name: string;
256
+ email: string;
257
+ }[];
258
+ /**
259
+ * @public-api-shape DO-NOT-DOCUMENT
260
+ * Test-only override that sends every participant's signing email to a
261
+ * single address. Excluded from `openapi.json` and public API references
262
+ * to prevent accidental production use. Do NOT add this field to the
263
+ * spec or user-facing docs. Runtime behavior stays — internal callers
264
+ * depend on it.
265
+ */
266
+ overrideAllParticipantEmails?: string;
267
+ senderInfoOverrides?: SenderInfoOverrides;
268
+ mode?: CreateWorkflowMode;
269
+ };
270
+ }
271
+ export declare enum CreateWorkflowMode {
272
+ Run = "Run",
273
+ Review = "Review"
274
+ }
275
+ export interface FieldOverrideInfo {
276
+ fieldKey: string;
277
+ overriddenValue?: string | number | boolean | Date;
278
+ overriddenIsHidden?: boolean;
279
+ overriddenWidgets?: FieldWidgetInfo[];
280
+ }
281
+ export interface UpdateWorkflowReq {
282
+ name?: string;
283
+ description?: string;
284
+ envelopes?: WorkflowEnvelope[];
285
+ participants?: ParticipantInfo[];
286
+ rootStep?: CreateWorkflowStepReq;
287
+ }
288
+ export type UpdateWorkflowResp = GetWorkflowInfoResp;
289
+ export type CreateWorkflowResp = GetWorkflowInfoResp;
290
+ export interface UpdateWorkflowEntitiesReq {
291
+ /**
292
+ * Entity payload, keyed by the blueprint's input keys. Same shape as
293
+ * `CreateWorkflowReq.data`. Schema for each entity is derived from the
294
+ * blueprint's input declarations — callers don't supply `schemaKey`.
295
+ * Must include every entity key the workflow declares.
296
+ */
297
+ data: Record<string, any>;
298
+ }
299
+ export type UpdateWorkflowEntitiesResp = GetWorkflowInfoResp;
300
+ export declare enum SignatureType {
301
+ Signature = "Signature",
302
+ Initials = "Initials"
303
+ }
304
+ export declare enum SignatureMethod {
305
+ Typed = "typed",
306
+ Drawn = "drawn"
307
+ }
308
+ /**
309
+ * Supported hash algorithm identifiers for tamper-evidence.
310
+ * Stored alongside all hashes for future algorithm migration support.
311
+ */
312
+ export declare const HASH_ALGORITHM: {
313
+ readonly SHA256: "SHA-256";
314
+ };
315
+ export interface SignatureImageInfo {
316
+ fileId: string;
317
+ fileHash: string;
318
+ hashAlgorithm: string;
319
+ method: SignatureMethod;
320
+ adoptedAt?: Date;
321
+ }
322
+ export interface FinishParticipantTaskReq {
323
+ fieldUpdates: {
324
+ documentKey: string;
325
+ fields: {
326
+ key: string;
327
+ value: string | number | boolean | Date;
328
+ }[];
329
+ }[];
330
+ }
331
+ export interface FinishParticipantTaskResp {
332
+ }
333
+ export interface UploadWorkflowSignatureReq {
334
+ signatureImage?: {
335
+ fileId: string;
336
+ fileHash: string;
337
+ hashAlgorithm: string;
338
+ method: SignatureMethod;
339
+ };
340
+ initialsImage?: {
341
+ fileId: string;
342
+ fileHash: string;
343
+ hashAlgorithm: string;
344
+ method: SignatureMethod;
345
+ };
346
+ }
347
+ export interface UploadWorkflowSignatureResp {
348
+ }
349
+ export interface GetWorkflowStepInfoReq {
350
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
351
+ workflowId: string;
352
+ signingToken: string;
353
+ }
354
+ export type GetWorkflowStepInfoResp = WorkflowStep & {
355
+ senderInfo?: SenderInfo;
356
+ subject?: string;
357
+ participant?: ParticipantInfo;
358
+ };
359
+ /**
360
+ * Consumer consent disclosure information for ESIGN Act compliance.
361
+ * Captures the specific version and hash of the disclosure text shown to the participant.
362
+ */
363
+ export interface ConsentDisclosureInfo {
364
+ /** Version identifier for the consent disclosure (e.g., "1.0.0") */
365
+ version: string;
366
+ /** SHA-256 hash of the full disclosure text for tamper-evidence */
367
+ textHash: string;
368
+ /** Algorithm used for hashing (e.g., "SHA-256") */
369
+ hashAlgorithm: string;
370
+ }
371
+ /**
372
+ * Standard ESIGN consent disclosure configuration.
373
+ * Increment version when the text changes.
374
+ */
375
+ export declare const CONSENT_DISCLOSURE: {
376
+ readonly VERSION: "1.0.0";
377
+ readonly TEXT: "I acknowledge that I have reviewed the terms and agree to use electronic records and signatures for this transaction.\n\nELECTRONIC SIGNATURE DISCLOSURES:\n\nScope of Consent: Your consent applies to this transaction only.\n\nWithdrawing Consent: You may withdraw your consent at any time by declining to sign and contacting the sender.\n\nUpdating Your Information: To update your contact information, please contact the sender directly.\n\nSystem Requirements: To access and retain electronic records, you need: a device with internet access, a current web browser with JavaScript and cookies enabled, and the ability to view PDF documents.\n\nPaper Copies: You may request a paper copy of any document signed electronically by contacting the sender. The sender may charge a reasonable fee for the preparation and mailing of paper copies.";
378
+ };
379
+ export interface UpdateStepParticipantTaskStatusReq {
380
+ status: ParticipantActionStatus;
381
+ /** Consent disclosure info when transitioning to Viewed status (ESIGN compliance) */
382
+ consentDisclosure?: ConsentDisclosureInfo;
383
+ }
384
+ export interface UpdateStepParticipantTaskStatusResp {
385
+ }
386
+ export interface WorkflowCancellationReq {
387
+ reason: string;
388
+ }
389
+ export interface WorkflowCancellationResp {
390
+ success: boolean;
391
+ }
392
+ export interface GetWorkflowSignatureReq extends GetWorkflowStepInfoReq {
393
+ }
394
+ export interface GetWorkflowSignatureResp {
395
+ signatureImageFileId?: string;
396
+ initialsImageFileId?: string;
397
+ }
398
+ export interface DocumentInfo {
399
+ filePath: string;
400
+ fileExtension: string;
401
+ name: string;
402
+ id: string;
403
+ sequence: number;
404
+ templateFields?: TemplateFieldInfo[];
405
+ fieldOverrides?: FieldOverrideInfo[];
406
+ adhocFields?: AdHocFieldInfo[];
407
+ roles?: TemplateRole[];
408
+ }
409
+ export declare enum WorkflowStatus {
410
+ Pending = "pending",
411
+ InProgress = "in_progress",
412
+ Completed = "completed",
413
+ Failed = "failed",
414
+ Declined = "declined",
415
+ Voided = "voided"
416
+ }
417
+ export declare enum WorkflowSourceType {
418
+ /** Workflow was instantiated from a stored, named blueprint in this namespace. */
419
+ Blueprint = "blueprint",
420
+ /** Workflow was instantiated from a marketplace listing published by another org. */
421
+ Listing = "listing",
422
+ /** Workflow was created from inline resources — caller supplied the blueprint blob directly (CLI preview, ad-hoc flows). The blueprint is not a stored resource and its key/version may not be resolvable. */
423
+ Inline = "inline"
424
+ }
425
+ export declare enum EnvelopeStatus {
426
+ Pending = "pending",
427
+ InProgress = "in_progress",
428
+ Completed = "completed",
429
+ Voided = "voided",
430
+ Failed = "failed"
431
+ }
432
+ export interface AddDocumentToWorkflowReq {
433
+ envelopeKey: string;
434
+ templateKey?: string;
435
+ templateVersion?: string;
436
+ fileId?: string;
437
+ inputMap?: InputMapEntry[];
438
+ }
439
+ export interface AddDocumentToWorkflowResp {
440
+ addedDoc: {
441
+ templateKey?: string;
442
+ templateVersion?: string;
443
+ key: string;
444
+ fileId: string;
445
+ fileName: string;
446
+ templateFields: TemplateFieldInfo[];
447
+ fieldOverrides: FieldOverrideInfo[];
448
+ adhocFields: AdHocFieldInfo[];
449
+ inputMap?: InputMapEntry[];
450
+ };
451
+ }
452
+ export interface RenderWorkflowResp {
453
+ documents: {
454
+ /**
455
+ * Pre-signed download URL for the rendered PDF. The render output is
456
+ * ephemeral — bytes live in tmp/ and are regenerated on each /render
457
+ * call — so it's served inline rather than via a fileId handle.
458
+ */
459
+ signedUrl: string;
460
+ fileName: string;
461
+ templateKey: string;
462
+ key: string;
463
+ signerOverlayFields: RenderSignerFieldInfo[];
464
+ }[];
465
+ participants: ParticipantInfo[];
466
+ rootStep: WorkflowStep;
467
+ }
468
+ export interface RenderSignerFieldInfo {
469
+ key: string;
470
+ type: FieldType;
471
+ widgets: FieldWidgetInfo[];
472
+ assignment: {
473
+ assignedToStepKey: string;
474
+ };
475
+ value?: string;
476
+ }
477
+ export interface WorkflowEnvelopeInfo {
478
+ key: string;
479
+ status: EnvelopeStatus;
480
+ resolvedDocuments: ResolvedWorkflowDocumentInfo[];
481
+ signedDocumentFileId?: string;
482
+ certificateFileId?: string;
483
+ }
484
+ /**
485
+ * Internal-only variant of `WorkflowEnvelopeInfo` that carries fields stripped
486
+ * from the public `GET /workflows/{id}` response: the Mongo `envelopeId`,
487
+ * the pre-sign `initialCombinedDocumentFileId` (used by the BE document
488
+ * download flow as a fallback before a signed PDF exists), and the rich
489
+ * per-document shape. Public consumers target envelopes by `key` and only
490
+ * see the final signed PDF + certificate.
491
+ */
492
+ export interface WorkflowEnvelopeInfoInternal extends Omit<WorkflowEnvelopeInfo, 'resolvedDocuments'> {
493
+ envelopeId: string;
494
+ initialCombinedDocumentFileId?: string;
495
+ resolvedDocuments: ResolvedWorkflowDocumentInfoInternal[];
496
+ }
497
+ export interface StepRunInfo {
498
+ key: string;
499
+ status: WorkflowStepStatus;
500
+ resolvedCustomFields?: ResolvedCustomField[];
501
+ participantAction?: {
502
+ status: ParticipantActionStatus;
503
+ signedAt?: Date;
504
+ };
505
+ }
506
+ /**
507
+ * Internal-only variant of `StepRunInfo` that carries per-step entity
508
+ * snapshot references and the signing-flow internals (signingToken, raw
509
+ * signature/initials image file IDs, and the per-participant signed PDF
510
+ * pointer used by the BE document-download flow). Used inside
511
+ * `GetWorkflowInternalResp` for in-process BE callers (renderer, expression
512
+ * evaluator, signing controller). Public consumers fetch entity data via the
513
+ * dedicated `GET /workflows/{id}/entities` endpoint; signing tokens,
514
+ * signature artifacts, and per-participant signed PDFs are never exposed on
515
+ * the public response (the envelope-level `signedDocumentFileId` is the
516
+ * public final-PDF signal).
517
+ */
518
+ export interface StepRunInfoInternal extends Omit<StepRunInfo, 'participantAction'> {
519
+ participantAction?: StepRunInfo['participantAction'] & {
520
+ signingToken?: string;
521
+ signatureImageFileId?: string;
522
+ initialsImageFileId?: string;
523
+ signedDocumentFileId?: string;
524
+ };
525
+ inputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
526
+ outputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
527
+ }
528
+ export interface GetWorkflowInfoResp {
529
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
530
+ id: string;
531
+ mode: NamespaceMode;
532
+ name?: string;
533
+ description?: string;
534
+ source: WorkflowSourceInfo;
535
+ idempotencyKey?: string;
536
+ /**
537
+ * @public-api-shape DO-NOT-DOCUMENT
538
+ * The blueprint structure is intentionally excluded from `openapi.json`
539
+ * and public API references. It's redundant with `source.blueprint.{key,version}` —
540
+ * public consumers should fetch the source blueprint directly via
541
+ * `GET /blueprints/{key}?version={version}` (or the equivalent listing
542
+ * endpoint for listing-sourced workflows). Inline-workflow consumers
543
+ * already have the blueprint they supplied at create time. Runtime
544
+ * behavior stays — Studio and internal callers depend on this field.
545
+ *
546
+ * Note: `inlineResources` (full template / asset / function / schema bodies)
547
+ * is excluded from this public shape because it is heavy and may contain
548
+ * sensitive data. Internal callers that need inline resources receive them
549
+ * via `GetWorkflowInternalResp` (defined below).
550
+ */
551
+ blueprint: {
552
+ metadata?: {
553
+ key: string;
554
+ version: string;
555
+ };
556
+ spec: BlueprintSpec;
557
+ };
558
+ participants: ParticipantInfo[];
559
+ status: WorkflowStatus;
560
+ /**
561
+ * Lightweight summary of the entities supplied at workflow create time —
562
+ * matches the shape used in `WorkflowListItem.entities`. Only carries
563
+ * identity + schema reference, not the entity values themselves; for the
564
+ * full entity payload (including step-transitioned snapshots), call the
565
+ * dedicated `GET /workflows/{id}/entities` endpoint.
566
+ */
567
+ inputEntities?: {
568
+ entityKey: string;
569
+ schemaKey?: string;
570
+ schemaVersion?: string;
571
+ }[];
572
+ envelopes: WorkflowEnvelopeInfo[];
573
+ stepRuns: StepRunInfo[];
574
+ senderInfo: SenderInfo;
575
+ completedAt?: Date;
576
+ voidedAt?: Date;
577
+ voidReason?: string;
578
+ declinedAt?: Date;
579
+ declineReason?: string;
580
+ }
581
+ /**
582
+ * Internal-only variant of `GetWorkflowInfoResp` for in-process BE callers
583
+ * (renderer, resource resolver, conversion service, expression evaluator).
584
+ * Carries the heavy / sensitive fields that are stripped from the public
585
+ * response: blueprint inline resources, top-level entity snapshots, the
586
+ * append-only event log, per-step input/output entity references, and the
587
+ * `updatedAt` timestamp the controller reads to set the response `ETag`
588
+ * header (public consumers get the ETag in the header — the timestamp on
589
+ * the body is redundant noise).
590
+ *
591
+ * The public `GET /workflows/{id}` controller strips this back down to
592
+ * `GetWorkflowInfoResp` at the response boundary. Public consumers that need
593
+ * entity data fetch it via `GET /workflows/{id}/entities`; event history via
594
+ * `GET /workflows/{id}/events`.
595
+ */
596
+ export interface GetWorkflowInternalResp extends Omit<GetWorkflowInfoResp, 'blueprint' | 'stepRuns' | 'envelopes'> {
597
+ blueprint: GetWorkflowInfoResp['blueprint'] & {
598
+ inlineResources?: {
599
+ templates?: TemplateResource[];
600
+ assets?: AssetResource[];
601
+ functions?: JsonataFunctionResource[];
602
+ schemas?: SchemaResource[];
603
+ };
604
+ };
605
+ stepRuns: StepRunInfoInternal[];
606
+ envelopes: WorkflowEnvelopeInfoInternal[];
607
+ entitySnapshots: GetEntitySnapshotsResp['entitySnapshots'];
608
+ eventLog?: WorkflowEventInfo[];
609
+ updatedAt?: Date;
610
+ }
611
+ /**
612
+ * Response shape for `GET /workflows/{id}/entities` — an internal-only
613
+ * (DO-NOT-DOCUMENT) endpoint that returns the workflow's entity data.
614
+ *
615
+ * `entitySnapshots` carries the full snapshot rows (id, schema, data, ...).
616
+ * `stepEntities` carries per-step references into `entitySnapshots` by ID;
617
+ * only includes steps that have at least one of `inputEntities` /
618
+ * `outputEntities` populated.
619
+ */
620
+ export interface GetWorkflowEntitiesResp {
621
+ entitySnapshots: GetEntitySnapshotsResp['entitySnapshots'];
622
+ stepEntities: {
623
+ stepKey: string;
624
+ inputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
625
+ outputEntities?: AddEntitySnapshotsResp['entitySnapshots'];
626
+ }[];
627
+ }
628
+ /**
629
+ * Response shape for `GET /workflows/{id}/templates` — an internal-only
630
+ * (DO-NOT-DOCUMENT) endpoint that returns the resolved template-derived
631
+ * data per document slot in the workflow. Pairs with the lean public
632
+ * `GET /workflows/{id}` to give Studio (and any caller) the template echo
633
+ * (templateKey, templateFields, inputs, roles, name, fileName, fileId)
634
+ * without making them chain N template fetches by hand.
635
+ *
636
+ * Flat array keyed by `documentKey`. The parent `envelopeKey` is omitted —
637
+ * consumers join against the workflow Get's `envelopes[].resolvedDocuments[].key`
638
+ * when they need to associate documents back to envelopes.
639
+ */
640
+ export interface GetWorkflowTemplatesResp {
641
+ templates: {
642
+ documentKey: string;
643
+ templateKey?: string;
644
+ templateVersion?: string;
645
+ name?: string;
646
+ fileName?: string;
647
+ fileId?: string;
648
+ templateFields?: TemplateFieldInfo[];
649
+ inputs?: Input[];
650
+ roles?: TemplateRole[];
651
+ }[];
652
+ }
653
+ /**
654
+ * Query parameters for `GET /workflows/{id}/events`. All optional. `since`
655
+ * filters events to those that occurred after a given timestamp — pair with
656
+ * the most recent `eventAt` you've already processed to incrementally
657
+ * consume new events without re-fetching history.
658
+ */
659
+ export interface ListWorkflowEventsReq {
660
+ offset?: number;
661
+ limit?: number;
662
+ since?: Date;
663
+ }
664
+ /**
665
+ * Response shape for `GET /workflows/{id}/events`. Pairs with webhooks: the
666
+ * push channel for real-time delivery, this endpoint for the persistent
667
+ * historical record. Returns the workflow's append-only event log
668
+ * (created, started, step transitions, participant actions, completed /
669
+ * failed / voided / declined) ordered by `eventAt` descending — newest first.
670
+ */
671
+ export type GetWorkflowEventsResp = ListResp<WorkflowEventInfo>;
672
+ export interface GetWorkflowStatusResp {
673
+ status: WorkflowStatus;
674
+ }
675
+ /**
676
+ * One participant's action URL plus their current status. The URL embeds a
677
+ * token that is the sole credential required to complete the action (e.g.
678
+ * sign) — anyone holding it can act on this participant's behalf. Returned
679
+ * only from the dedicated, privileged `GET /workflows/{id}/action-urls`
680
+ * endpoint (scope `workflow:action-urls`), never from the default workflow
681
+ * read responses.
682
+ */
683
+ export interface ParticipantActionUrlInfo {
684
+ participantKey: string;
685
+ name?: string;
686
+ email?: string;
687
+ /** The participant step this URL is for. */
688
+ stepKey: string;
689
+ /** What the participant does at this step (e.g. `sign`; more types later). */
690
+ actionType: ParticipantActionType;
691
+ /**
692
+ * Lifecycle state. With notifications disabled, `ready` means the step is
693
+ * active and SignStack did not email the participant — send the link now.
694
+ * `pending` = not their turn yet; `viewed`/`signed`/`declined` = already
695
+ * engaged/done. (With notifications enabled, an active step is `notified`.)
696
+ */
697
+ status: ParticipantActionStatus;
698
+ /**
699
+ * Token-bearing link to the participant's task surface. Bearer-style: holding
700
+ * it grants the ability to complete the action on the participant's behalf.
701
+ */
702
+ url: string;
703
+ }
704
+ export interface GetParticipantActionUrlsResp {
705
+ actionUrls: ParticipantActionUrlInfo[];
706
+ }
707
+ export interface ListWorkflowsReq {
708
+ status?: WorkflowStatus;
709
+ limit?: number;
710
+ offset?: number;
711
+ search?: string;
712
+ labels?: Record<string, string>;
713
+ }
714
+ export type WorkflowSourceInfo = {
715
+ type: WorkflowSourceType.Blueprint;
716
+ blueprint: {
717
+ key: string;
718
+ version: string;
719
+ name?: string;
720
+ };
721
+ } | {
722
+ type: WorkflowSourceType.Listing;
723
+ listing: {
724
+ key: string;
725
+ version: string;
726
+ name?: string;
727
+ };
728
+ } | {
729
+ type: WorkflowSourceType.Inline;
730
+ };
731
+ export interface WorkflowListItem {
732
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
733
+ id: string;
734
+ name?: string;
735
+ description?: string;
736
+ status: WorkflowStatus;
737
+ source: WorkflowSourceInfo;
738
+ idempotencyKey?: string;
739
+ createdBy: ActorRef;
740
+ createdAt: Date;
741
+ completedAt?: Date;
742
+ voidedAt?: Date;
743
+ voidReason?: string;
744
+ declinedAt?: Date;
745
+ declineReason?: string;
746
+ /**
747
+ * Lightweight summary of the entities supplied at workflow create time.
748
+ * Carries identity + schema reference only — entity values are not
749
+ * included. For the full entity payload (including step-transitioned
750
+ * snapshots), call `GET /workflows/{id}/entities` on the individual
751
+ * workflow.
752
+ */
753
+ inputEntities?: {
754
+ entityKey: string;
755
+ schemaKey?: string;
756
+ schemaVersion?: string;
757
+ }[];
758
+ participants?: ParticipantInfo[];
759
+ envelopes?: {
760
+ key: string;
761
+ status: EnvelopeStatus;
762
+ }[];
763
+ progress?: {
764
+ totalSteps: number;
765
+ completedSteps: number;
766
+ };
767
+ }
768
+ export type ListWorkflowsResp = ListResp<WorkflowListItem>;
769
+ export interface WorkflowDocInfoForStep {
770
+ documentKey: string;
771
+ docName: string;
772
+ roleKey: string;
773
+ name?: string;
774
+ }
775
+ export interface AdHocFieldInfo {
776
+ key: string;
777
+ type: FieldType;
778
+ value?: string | number | boolean | Date;
779
+ widgets: FieldWidgetInfo[];
780
+ isHidden?: boolean;
781
+ assignment?: {
782
+ assignedToStepKey: string;
783
+ };
784
+ }
785
+ export interface WorkflowDocumentInfo {
786
+ templateKey?: string;
787
+ templateVersion?: string;
788
+ key: string;
789
+ envelopeKey: string;
790
+ templateFields: TemplateFieldInfo[];
791
+ fieldOverrides: FieldOverrideInfo[];
792
+ adhocFields: AdHocFieldInfo[];
793
+ inputMap: InputMapEntry[];
794
+ inputs?: Input[];
795
+ roles?: TemplateRole[];
796
+ functions?: FunctionDependency[];
797
+ templateFileId?: string;
798
+ fileId?: LiteralOrExpression<string>;
799
+ fileName?: string;
800
+ name?: string;
801
+ includeIf?: string;
802
+ iterator?: string;
803
+ }
804
+ /**
805
+ * Public shape returned for each entry in `envelopes[].resolvedDocuments[]`
806
+ * on `GET /workflows/{id}`. Carries only workflow-runtime state per
807
+ * document — the slot key plus the caller-supplied / Review-editable
808
+ * payload (adhocFields, fieldOverrides, inputMap).
809
+ *
810
+ * Template-derived data (templateKey/Version, templateFields, inputs, roles,
811
+ * name, fileName, fileId) lives on the dedicated
812
+ * `GET /workflows/{id}/templates` endpoint — see `GetWorkflowTemplatesResp`.
813
+ * The `envelopeKey` back-ref is omitted since the document is already nested
814
+ * under its parent envelope; consumers that flatten the array synthesize it
815
+ * locally from the parent's `key`.
816
+ */
817
+ export interface ResolvedWorkflowDocumentInfo {
818
+ key: string;
819
+ adhocFields: AdHocFieldInfo[];
820
+ fieldOverrides: FieldOverrideInfo[];
821
+ inputMap: InputMapEntry[];
822
+ }
823
+ /**
824
+ * Internal-only variant of `ResolvedWorkflowDocumentInfo` for in-process BE
825
+ * callers (renderer, signing flow, conversion service). Carries the heavy
826
+ * template echo + source-PDF pointer + back-ref fields stripped from the
827
+ * public shape.
828
+ */
829
+ export interface ResolvedWorkflowDocumentInfoInternal extends ResolvedWorkflowDocumentInfo {
830
+ envelopeKey: string;
831
+ templateKey?: string;
832
+ templateVersion?: string;
833
+ templateFields?: TemplateFieldInfo[];
834
+ inputs?: Input[];
835
+ roles?: TemplateRole[];
836
+ functions?: FunctionDependency[];
837
+ templateFileId?: string;
838
+ fileId?: string;
839
+ fileName?: string;
840
+ name?: string;
841
+ includeIf?: string;
842
+ iterator?: string;
843
+ }
844
+ export interface InputMapEntry {
845
+ templateInputKey: string;
846
+ blueprintInputKey: string;
847
+ }
848
+ export interface SignerInfo {
849
+ name?: string;
850
+ email?: string;
851
+ signerId?: string;
852
+ signerRoleKey?: string;
853
+ stepKey: string;
854
+ routingOrder: number;
855
+ }
856
+ export interface AnnotatorSignerInfo {
857
+ id: string;
858
+ name?: string;
859
+ roleKey?: string;
860
+ stepKey?: string;
861
+ }
862
+ export declare enum WorkflowActorType {
863
+ Sender = "sender",
864
+ ParticipantTask = "participant_task"
865
+ }
866
+ export interface GetStepEntityDataReq {
867
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
868
+ workflowId: string;
869
+ stepKey: string;
870
+ }
871
+ export interface GetStepEntityDataResp {
872
+ inputEntities: StepEntityData[];
873
+ outputEntities: StepEntityData[];
874
+ }
875
+ export interface StepEntityData {
876
+ entityKey: string;
877
+ name: string;
878
+ entityType: string;
879
+ version: string;
880
+ data: Record<string, any>;
881
+ }
882
+ export interface WorkflowNodeFormValue {
883
+ key: string;
884
+ type: WorkflowStepType;
885
+ name?: string;
886
+ status?: WorkflowStepStatus;
887
+ executionMode?: WorkflowStepExecutionMode;
888
+ completionRule?: WorkflowStepCompletionRule;
889
+ quorumCount?: number;
890
+ includeIf?: string;
891
+ onComplete?: StepOnComplete;
892
+ participantKey?: string;
893
+ action?: {
894
+ type: ParticipantActionType;
895
+ status: ParticipantActionStatus;
896
+ envelopeKey: string;
897
+ assignments: DocumentAssignment[];
898
+ } | null;
899
+ }
900
+ export interface EmbedSigningContextResp {
901
+ signingToken: string;
902
+ workflow: {
903
+ /** Prefixed lowercase ULID, e.g. `wf_01jv8m7qfj6xj9gkz7a4s2h8e`. */
904
+ id: string;
905
+ name: string;
906
+ };
907
+ step: {
908
+ key: string;
909
+ label: string;
910
+ status: ParticipantActionStatus;
911
+ };
912
+ participant?: {
913
+ key: string;
914
+ name: string;
915
+ email: string;
916
+ };
917
+ }