@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,97 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://signstack.ai/schemas/schema/v1beta2",
4
+ "title": "SignStack Schema",
5
+ "description": "A Schema defines a data contract for blueprint inputs and template data. It wraps a standard JSON Schema file. Schemas are referenced as 'key@version' (e.g., 'employee@1.0.0') in blueprint inputs and template inputs. Common schemas: employee, company, contact, lease_terms, property. The actual JSON Schema definition lives in a separate .json file referenced by spec.file.",
6
+ "type": "object",
7
+ "required": ["apiVersion", "kind", "metadata", "spec"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "apiVersion": {
11
+ "type": "string",
12
+ "const": "signstack/v1beta2",
13
+ "description": "API version for the schema"
14
+ },
15
+ "kind": {
16
+ "type": "string",
17
+ "const": "Schema",
18
+ "description": "Resource type identifier"
19
+ },
20
+ "metadata": {
21
+ "type": "object",
22
+ "required": ["key", "version", "name"],
23
+ "additionalProperties": false,
24
+ "properties": {
25
+ "key": {
26
+ "type": "string",
27
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
28
+ "description": "Unique identifier for the schema. Must be snake_case: starts with a letter, contains only lowercase letters, numbers, and single underscores. Cannot end with underscore or have consecutive underscores.",
29
+ "examples": ["employee", "contact_person", "offer_letter_data"]
30
+ },
31
+ "version": {
32
+ "type": "string",
33
+ "pattern": "^(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$",
34
+ "description": "Semantic version (e.g., 1.0.0)",
35
+ "examples": ["1.0.0", "2.1.0", "1.0.1"]
36
+ },
37
+ "name": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 200,
41
+ "description": "Human-readable name for the schema"
42
+ },
43
+ "description": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 1000,
47
+ "description": "Description of the schema and its purpose"
48
+ },
49
+ "labels": {
50
+ "type": "object",
51
+ "propertyNames": {
52
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$"
53
+ },
54
+ "additionalProperties": {
55
+ "type": "string"
56
+ },
57
+ "description": "Key-value labels for categorization and filtering. Keys must be in snake_case format."
58
+ }
59
+ }
60
+ },
61
+ "spec": {
62
+ "type": "object",
63
+ "required": ["jsonSchemaDraft"],
64
+ "additionalProperties": false,
65
+ "description": "Defines the JSON Schema either inline via schemaDefinition or by referencing an external file via file. Exactly one of file or schemaDefinition must be provided.",
66
+ "oneOf": [
67
+ { "required": ["file"] },
68
+ { "required": ["schemaDefinition"] }
69
+ ],
70
+ "properties": {
71
+ "jsonSchemaDraft": {
72
+ "type": "string",
73
+ "enum": ["2020-12", "2019-09", "draft-07", "draft-06", "draft-04"],
74
+ "description": "JSON Schema draft version. Use '2020-12' for new schemas (latest). The draft determines which JSON Schema features are available."
75
+ },
76
+ "file": {
77
+ "type": "string",
78
+ "pattern": "\\.(json)$",
79
+ "description": "Relative path to the JSON Schema file. Convention: ./definitions/<name>.json. The JSON file should be a standard JSON Schema with $schema, type, properties, required, etc.",
80
+ "examples": [
81
+ "./definitions/employee.json",
82
+ "./definitions/lease_terms.json"
83
+ ]
84
+ },
85
+ "schemaDefinition": {
86
+ "type": "object",
87
+ "description": "Inline JSON Schema definition. Use this when the schema is defined directly in the YAML rather than in an external file.",
88
+ "properties": {
89
+ "type": { "type": "string" },
90
+ "properties": { "type": "object" },
91
+ "required": { "type": "array", "items": { "type": "string" } }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,295 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://signstack.ai/schemas/template/v1beta2",
4
+ "title": "SignStack Template",
5
+ "description": "A Template orchestrates a signable document workflow. It references an Asset (PDF or HTML), defines roles, wires data inputs, and configures signing fields. For HTML, fields are auto-detected from data-field attributes. Template handles orchestration; Asset handles content and dependencies.",
6
+ "type": "object",
7
+ "required": ["apiVersion", "kind", "metadata", "spec"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "apiVersion": {
11
+ "type": "string",
12
+ "const": "signstack/v1beta2",
13
+ "description": "API version for the template schema"
14
+ },
15
+ "kind": {
16
+ "type": "string",
17
+ "const": "Template",
18
+ "description": "Resource type identifier"
19
+ },
20
+ "metadata": {
21
+ "type": "object",
22
+ "required": ["key", "version", "name"],
23
+ "additionalProperties": false,
24
+ "properties": {
25
+ "key": {
26
+ "type": "string",
27
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
28
+ "description": "Unique identifier for the template (snake_case)",
29
+ "examples": ["offer_letter", "nda_agreement", "w4_tax_form"]
30
+ },
31
+ "version": {
32
+ "type": "string",
33
+ "pattern": "^(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$",
34
+ "description": "Semantic version (e.g., 1.0.0)"
35
+ },
36
+ "name": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "maxLength": 200,
40
+ "description": "Human-readable name for the template"
41
+ },
42
+ "description": {
43
+ "type": "string",
44
+ "minLength": 1,
45
+ "maxLength": 1000,
46
+ "description": "Description of the template"
47
+ },
48
+ "labels": {
49
+ "type": "object",
50
+ "propertyNames": {
51
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$"
52
+ },
53
+ "additionalProperties": { "type": "string" },
54
+ "description": "Key-value labels for categorization"
55
+ }
56
+ }
57
+ },
58
+ "spec": {
59
+ "type": "object",
60
+ "required": ["type", "content"],
61
+ "additionalProperties": false,
62
+ "properties": {
63
+ "type": {
64
+ "type": "string",
65
+ "enum": ["pdf", "html"],
66
+ "description": "Template type - determines how content is rendered"
67
+ },
68
+ "content": {
69
+ "type": "string",
70
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*@(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$",
71
+ "description": "Reference to Asset bundle (key@version). The Asset contains the document and its dependencies."
72
+ },
73
+ "inputs": {
74
+ "type": "array",
75
+ "description": "Data inputs for the template",
76
+ "items": {
77
+ "type": "object",
78
+ "required": ["key"],
79
+ "additionalProperties": false,
80
+ "properties": {
81
+ "key": {
82
+ "type": "string",
83
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
84
+ "description": "Unique identifier for the input"
85
+ },
86
+ "name": {
87
+ "type": "string",
88
+ "description": "Human-readable name"
89
+ },
90
+ "schema": {
91
+ "type": "string",
92
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*@(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$",
93
+ "description": "Optional schema reference for validation (key@version)"
94
+ },
95
+ "required": {
96
+ "oneOf": [
97
+ { "type": "boolean" },
98
+ {
99
+ "type": "object",
100
+ "description": "Expression-based value",
101
+ "required": ["expression"],
102
+ "properties": {
103
+ "expression": {
104
+ "type": "string",
105
+ "minLength": 1,
106
+ "description": "JSONata expression (must be non-empty)"
107
+ }
108
+ },
109
+ "additionalProperties": false
110
+ }
111
+ ],
112
+ "default": true,
113
+ "description": "Whether this input is required (boolean or expression object)"
114
+ }
115
+ }
116
+ }
117
+ },
118
+ "data": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "description": "Data transformation configuration for HTML templates",
122
+ "properties": {
123
+ "transform": {
124
+ "type": "string",
125
+ "description": "JSONata expression to transform inputs into the render context. Access inputs via $.<inputKey>. Output must match Asset's dataSchema."
126
+ }
127
+ }
128
+ },
129
+ "roles": {
130
+ "type": "array",
131
+ "description": "Roles define participants who can sign/fill fields. Each role maps to data-role attributes in HTML fields.",
132
+ "items": {
133
+ "type": "object",
134
+ "required": ["key"],
135
+ "additionalProperties": false,
136
+ "properties": {
137
+ "key": {
138
+ "type": "string",
139
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
140
+ "description": "Unique identifier for the role"
141
+ },
142
+ "name": {
143
+ "type": "string",
144
+ "description": "Human-readable name"
145
+ },
146
+ "roleCategory": {
147
+ "type": "string",
148
+ "description": "Category of the role (e.g. signer, viewer, approver)"
149
+ },
150
+ "output": {
151
+ "type": "object",
152
+ "description": "Data extracted after this role completes signing, available for downstream workflows",
153
+ "additionalProperties": false,
154
+ "properties": {
155
+ "schema": {
156
+ "type": "string",
157
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*@(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$",
158
+ "description": "Optional schema for output validation"
159
+ },
160
+ "transform": {
161
+ "type": "string",
162
+ "description": "JSONata expression to generate output. Access field values via $.fields.<fieldKey>"
163
+ }
164
+ },
165
+ "required": ["transform", "schema"]
166
+ }
167
+ }
168
+ }
169
+ },
170
+ "functions": {
171
+ "description": "JsonataFunction references. Two shapes are accepted: (1) an object map where keys are aliases used in $<alias>() calls within JSONata expressions and values are versioned references (key@version) — this decouples call-site names from resource keys and pins exact versions; (2) an array of 'key@version' strings — alias defaults to functionKey.",
172
+ "oneOf": [
173
+ {
174
+ "type": "object",
175
+ "propertyNames": {
176
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$"
177
+ },
178
+ "additionalProperties": {
179
+ "type": "string",
180
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*@(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$"
181
+ }
182
+ },
183
+ {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "string",
187
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*@(draft|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$"
188
+ }
189
+ }
190
+ ]
191
+ },
192
+ "fields": {
193
+ "type": "array",
194
+ "description": "Field definitions. REQUIRED for PDF (needs positioning). OPTIONAL for HTML (auto-detected from data-field attributes). Use to add includeIf, default values, or configure PDF widget positioning.",
195
+ "items": {
196
+ "type": "object",
197
+ "required": ["key", "type"],
198
+ "additionalProperties": false,
199
+ "properties": {
200
+ "key": {
201
+ "type": "string",
202
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
203
+ "description": "Unique identifier for the field"
204
+ },
205
+ "type": {
206
+ "type": "string",
207
+ "enum": [
208
+ "text_field",
209
+ "check_box",
210
+ "image",
211
+ "line",
212
+ "signature",
213
+ "initial",
214
+ "signed_date"
215
+ ],
216
+ "description": "Field type"
217
+ },
218
+ "role": {
219
+ "type": "string",
220
+ "pattern": "^[a-z][a-z0-9]*(_[a-z0-9]+)*$",
221
+ "description": "Role key this field belongs to"
222
+ },
223
+ "value": {
224
+ "oneOf": [
225
+ { "type": "string" },
226
+ { "type": "number" },
227
+ { "type": "boolean" },
228
+ {
229
+ "type": "object",
230
+ "required": ["expression"],
231
+ "additionalProperties": false,
232
+ "properties": {
233
+ "expression": { "type": "string" }
234
+ }
235
+ }
236
+ ],
237
+ "description": "Default value (literal or JSONata expression)"
238
+ },
239
+ "includeIf": {
240
+ "type": "string",
241
+ "description": "JSONata expression returning boolean - include field if true"
242
+ },
243
+ "widget": {
244
+ "type": "object",
245
+ "description": "PDF field positioning. Required for PDF templates.",
246
+ "additionalProperties": false,
247
+ "required": ["page", "x", "y", "width", "height"],
248
+ "properties": {
249
+ "page": {
250
+ "type": "integer",
251
+ "minimum": 1,
252
+ "description": "Page number (1-indexed)"
253
+ },
254
+ "x": {
255
+ "type": "integer",
256
+ "minimum": 0,
257
+ "description": "X position in points"
258
+ },
259
+ "y": {
260
+ "type": "integer",
261
+ "minimum": 0,
262
+ "description": "Y position in points"
263
+ },
264
+ "width": {
265
+ "type": "integer",
266
+ "minimum": 1,
267
+ "description": "Width in points"
268
+ },
269
+ "height": {
270
+ "type": "integer",
271
+ "minimum": 1,
272
+ "description": "Height in points"
273
+ },
274
+ "rotation": {
275
+ "type": "number",
276
+ "description": "Rotation for line"
277
+ },
278
+ "style": {
279
+ "type": "object",
280
+ "additionalProperties": false,
281
+ "properties": {
282
+ "fontSize": { "type": "integer", "minimum": 1 },
283
+ "fontColor": { "type": "string" },
284
+ "fontFamily": { "type": "string" }
285
+ }
286
+ }
287
+ }
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }
294
+ }
295
+ }
@@ -0,0 +1,25 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Login extends Command {
3
+ static description: string;
4
+ static examples: {
5
+ command: string;
6
+ description: string;
7
+ }[];
8
+ static flags: {
9
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'api-key-stdin': import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ /**
17
+ * Prompt the user to enter their API key (input is hidden)
18
+ */
19
+ private promptForApiKey;
20
+ /**
21
+ * Read API key from stdin (for piping)
22
+ * Properly cleans up event listeners and timeout to prevent memory leaks
23
+ */
24
+ private readFromStdin;
25
+ }
@@ -0,0 +1,229 @@
1
+ import { password } from '@inquirer/prompts';
2
+ import boxen from 'boxen';
3
+ import pc from 'picocolors';
4
+ import { Command, Flags, ux } from '@oclif/core';
5
+ import { ApiClient, ApiRequestError } from '../../lib/api-client.js';
6
+ import { deleteConfig, isLoggedIn, writeConfig } from '../../lib/config.js';
7
+ import { validateApiUrl } from '../../lib/url-validator.js';
8
+ import { API_KEY_PATTERN, DEFAULT_API_URL, } from '../../types/auth.types.js';
9
+ export default class Login extends Command {
10
+ static description = 'Authenticate with the Signstack API using an API key';
11
+ static examples = [
12
+ {
13
+ command: '<%= config.bin %> auth login',
14
+ description: 'Interactive login (recommended)',
15
+ },
16
+ {
17
+ command: 'echo "$SIGNSTACK_API_KEY" | <%= config.bin %> auth login --api-key-stdin',
18
+ description: 'Secure login via stdin (recommended for scripts)',
19
+ },
20
+ {
21
+ command: 'SIGNSTACK_API_KEY=sk_ns_live_xxx <%= config.bin %> auth login',
22
+ description: 'Login via environment variable',
23
+ },
24
+ {
25
+ command: '<%= config.bin %> auth login --api-url https://api.custom.io',
26
+ description: 'Login to a custom API endpoint',
27
+ },
28
+ ];
29
+ static flags = {
30
+ 'api-key': Flags.string({
31
+ char: 'k',
32
+ description: 'API key (WARNING: insecure - visible in process list and shell history. Use interactive prompt, --api-key-stdin, or SIGNSTACK_API_KEY env var instead)',
33
+ env: 'SIGNSTACK_API_KEY',
34
+ }),
35
+ 'api-key-stdin': Flags.boolean({
36
+ description: 'Read API key from stdin (for secure piping)',
37
+ default: false,
38
+ }),
39
+ 'api-url': Flags.string({
40
+ char: 'u',
41
+ description: 'API URL to authenticate against',
42
+ env: 'SIGNSTACK_API_URL',
43
+ default: DEFAULT_API_URL,
44
+ }),
45
+ force: Flags.boolean({
46
+ char: 'f',
47
+ description: 'Force login even if already logged in',
48
+ default: false,
49
+ }),
50
+ json: Flags.boolean({
51
+ description: 'Output in JSON format',
52
+ default: false,
53
+ }),
54
+ };
55
+ async run() {
56
+ const { flags } = await this.parse(Login);
57
+ const apiUrl = flags['api-url'];
58
+ const urlValidation = validateApiUrl(apiUrl);
59
+ if (!urlValidation.isValid) {
60
+ this.error(urlValidation.error || 'Invalid API URL', {
61
+ exit: 1,
62
+ suggestions: [
63
+ `Use HTTPS: ${apiUrl.replace('http://', 'https://')}`,
64
+ 'For local development, use http://localhost:PORT',
65
+ ],
66
+ });
67
+ }
68
+ // Check if already logged in
69
+ if (isLoggedIn() && !flags.force) {
70
+ this.warn('You are already logged in.');
71
+ this.log('Use --force to login with a different API key.');
72
+ this.log('Or run `signstack auth logout` first.');
73
+ return;
74
+ }
75
+ // Get API key from various sources
76
+ let apiKey;
77
+ if (flags['api-key-stdin']) {
78
+ apiKey = await this.readFromStdin();
79
+ }
80
+ else if (flags['api-key']) {
81
+ // Check if the API key came from command line vs environment variable
82
+ const isFromEnv = process.env['SIGNSTACK_API_KEY'] === flags['api-key'];
83
+ if (!isFromEnv) {
84
+ this.warn('Security Warning: Passing API key via command line is insecure.\n' +
85
+ ' The key may be visible in process list (ps) and shell history.\n' +
86
+ ' Recommended alternatives:\n' +
87
+ ' - Interactive prompt: signstack auth login\n' +
88
+ ' - Stdin: echo "$KEY" | signstack auth login --api-key-stdin\n' +
89
+ ' - Environment variable: SIGNSTACK_API_KEY=xxx signstack auth login');
90
+ }
91
+ apiKey = flags['api-key'];
92
+ }
93
+ else {
94
+ apiKey = await this.promptForApiKey();
95
+ }
96
+ apiKey = apiKey.trim();
97
+ // Validate API key format
98
+ if (!API_KEY_PATTERN.test(apiKey)) {
99
+ this.error('Invalid API key format. Expected format: sk_ns_{live|test}_{publicKey}_{secret}', {
100
+ exit: 1,
101
+ suggestions: [
102
+ 'Create an API key at: https://app.signstack.io/settings/api-keys',
103
+ 'Ensure the key starts with sk_ns_live_ or sk_ns_test_',
104
+ ],
105
+ });
106
+ }
107
+ // Exchange API key for access token
108
+ const client = new ApiClient({ apiUrl: flags['api-url'] });
109
+ ux.action.start('Authenticating');
110
+ try {
111
+ const { tokenResponse, payload } = await client.exchangeApiKey(apiKey);
112
+ // Clear existing config if force login
113
+ if (flags.force && isLoggedIn()) {
114
+ deleteConfig();
115
+ }
116
+ // Save configuration
117
+ const config = {
118
+ apiUrl: flags['api-url'],
119
+ apiKey,
120
+ accessToken: tokenResponse.accessToken,
121
+ tokenExpiry: Date.now() + tokenResponse.expiresIn * 1000,
122
+ orgId: payload.org_id,
123
+ namespaceKey: payload.namespace_key,
124
+ };
125
+ writeConfig(config);
126
+ ux.action.stop(flags.json ? '' : pc.green('done'));
127
+ if (flags.json) {
128
+ this.log(JSON.stringify({
129
+ authenticated: true,
130
+ orgId: payload.org_id,
131
+ namespaceKey: payload.namespace_key,
132
+ apiUrl: flags['api-url'],
133
+ }));
134
+ }
135
+ else {
136
+ const successMessage = [
137
+ pc.bold(pc.green('✓ Successfully logged in!')),
138
+ '',
139
+ `${pc.dim('Organization:')} ${payload.org_id}`,
140
+ `${pc.dim('Namespace:')} ${payload.namespace_key}`,
141
+ `${pc.dim('API URL:')} ${flags['api-url']}`,
142
+ '',
143
+ pc.dim('You can now use the CLI to interact with the Signstack API.'),
144
+ ].join('\n');
145
+ this.log('');
146
+ this.log(boxen(successMessage, {
147
+ padding: 1,
148
+ borderColor: 'green',
149
+ borderStyle: 'round',
150
+ }));
151
+ }
152
+ }
153
+ catch (error) {
154
+ ux.action.stop('failed');
155
+ if (error instanceof ApiRequestError) {
156
+ if (error.statusCode === 401 || error.statusCode === 403) {
157
+ this.error('Invalid API key. Please check your API key and try again.', {
158
+ exit: 1,
159
+ suggestions: [
160
+ 'Verify the API key at: https://app.signstack.io/settings/api-keys',
161
+ 'Ensure the key has not been revoked',
162
+ 'Try creating a new API key',
163
+ ],
164
+ });
165
+ }
166
+ this.error(`Authentication failed: ${error.message}`, {
167
+ exit: 1,
168
+ suggestions: [
169
+ 'Check your network connection',
170
+ 'Verify the API URL is correct',
171
+ 'Try again in a few moments',
172
+ ],
173
+ });
174
+ }
175
+ throw error;
176
+ }
177
+ }
178
+ /**
179
+ * Prompt the user to enter their API key (input is hidden)
180
+ */
181
+ async promptForApiKey() {
182
+ this.log(pc.bold('Enter your Signstack API key'));
183
+ this.log(pc.dim(`Create one at: https://app.signstack.io/settings/api-keys`));
184
+ this.log('');
185
+ return password({
186
+ message: 'API Key:',
187
+ mask: '*',
188
+ });
189
+ }
190
+ /**
191
+ * Read API key from stdin (for piping)
192
+ * Properly cleans up event listeners and timeout to prevent memory leaks
193
+ */
194
+ async readFromStdin() {
195
+ return new Promise((resolve, reject) => {
196
+ let data = '';
197
+ let timeoutId;
198
+ const onData = (chunk) => {
199
+ data += chunk;
200
+ };
201
+ const cleanup = () => {
202
+ clearTimeout(timeoutId);
203
+ process.stdin.removeListener('data', onData);
204
+ process.stdin.removeListener('end', onEnd);
205
+ process.stdin.removeListener('error', onError);
206
+ };
207
+ const onEnd = () => {
208
+ cleanup();
209
+ resolve(data.trim());
210
+ };
211
+ const onError = (err) => {
212
+ cleanup();
213
+ reject(err);
214
+ };
215
+ // Set a timeout for stdin reading
216
+ timeoutId = setTimeout(() => {
217
+ if (!data) {
218
+ cleanup();
219
+ reject(new Error('No API key provided via stdin'));
220
+ }
221
+ }, 5000);
222
+ process.stdin.setEncoding('utf8');
223
+ process.stdin.on('data', onData);
224
+ process.stdin.on('end', onEnd);
225
+ process.stdin.on('error', onError);
226
+ });
227
+ }
228
+ }
229
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Logout extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ }