stepzen 0.28.0 → 0.29.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +12 -11
  2. package/bin/dev +6 -0
  3. package/bin/run +6 -0
  4. package/lib/commands/deploy.d.ts +6 -8
  5. package/lib/commands/deploy.d.ts.map +1 -1
  6. package/lib/commands/deploy.js +10 -11
  7. package/lib/commands/deploy.js.map +1 -1
  8. package/lib/commands/import.d.ts +9 -4
  9. package/lib/commands/import.d.ts.map +1 -1
  10. package/lib/commands/import.js +81 -13
  11. package/lib/commands/import.js.map +1 -1
  12. package/lib/commands/init.d.ts +3 -4
  13. package/lib/commands/init.d.ts.map +1 -1
  14. package/lib/commands/init.js +3 -6
  15. package/lib/commands/init.js.map +1 -1
  16. package/lib/commands/lint.d.ts +1 -1
  17. package/lib/commands/list.d.ts +2 -5
  18. package/lib/commands/list.d.ts.map +1 -1
  19. package/lib/commands/list.js +11 -10
  20. package/lib/commands/list.js.map +1 -1
  21. package/lib/commands/login.d.ts +3 -3
  22. package/lib/commands/login.js +2 -2
  23. package/lib/commands/login.js.map +1 -1
  24. package/lib/commands/request.d.ts +9 -10
  25. package/lib/commands/request.d.ts.map +1 -1
  26. package/lib/commands/request.js +4 -5
  27. package/lib/commands/request.js.map +1 -1
  28. package/lib/commands/service.d.ts +4 -7
  29. package/lib/commands/service.d.ts.map +1 -1
  30. package/lib/commands/service.js +28 -29
  31. package/lib/commands/service.js.map +1 -1
  32. package/lib/commands/start.d.ts +4 -5
  33. package/lib/commands/start.d.ts.map +1 -1
  34. package/lib/commands/start.js +3 -4
  35. package/lib/commands/start.js.map +1 -1
  36. package/lib/commands/transpile.d.ts +3 -4
  37. package/lib/commands/transpile.d.ts.map +1 -1
  38. package/lib/commands/transpile.js +3 -6
  39. package/lib/commands/transpile.js.map +1 -1
  40. package/lib/commands/upload.d.ts +6 -13
  41. package/lib/commands/upload.d.ts.map +1 -1
  42. package/lib/commands/upload.js +9 -10
  43. package/lib/commands/upload.js.map +1 -1
  44. package/lib/commands/validate.d.ts +2 -3
  45. package/lib/commands/validate.d.ts.map +1 -1
  46. package/lib/commands/validate.js +4 -7
  47. package/lib/commands/validate.js.map +1 -1
  48. package/lib/commands/whoami.d.ts +0 -1
  49. package/lib/commands/whoami.d.ts.map +1 -1
  50. package/lib/commands/whoami.js +0 -1
  51. package/lib/commands/whoami.js.map +1 -1
  52. package/lib/hooks/init/version.d.ts.map +1 -1
  53. package/lib/hooks/init/version.js +1 -6
  54. package/lib/hooks/init/version.js.map +1 -1
  55. package/lib/hooks/prerun/check-upgrade.d.ts.map +1 -1
  56. package/lib/hooks/prerun/check-upgrade.js +1 -6
  57. package/lib/hooks/prerun/check-upgrade.js.map +1 -1
  58. package/lib/shared/types.d.ts +2 -2
  59. package/lib/shared/types.d.ts.map +1 -1
  60. package/lib/shared/zen-command.d.ts +7 -6
  61. package/lib/shared/zen-command.d.ts.map +1 -1
  62. package/lib/shared/zen-command.js +26 -17
  63. package/lib/shared/zen-command.js.map +1 -1
  64. package/oclif.manifest.json +950 -1
  65. package/package.json +12 -11
@@ -1 +1,950 @@
1
- {"version":"0.28.0","commands":{"deploy":{"id":"deploy","description":"Deploy to StepZen.","strict":true,"usage":"deploy [ENDPOINT] [--config=path/to/config.yaml] [--dir=path/to/workspace]\n\n-- OR (deprecated) --\n\n$ stepzen deploy ENDPOINT --schema=schema [--configurationsets=cs1[,cs2[,..]]]","pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dir":{"name":"dir","type":"option","description":"Working directory","multiple":false},"silent":{"name":"silent","type":"boolean","allowNo":false},"configurationsets":{"name":"configurationsets","type":"option","description":"\n Name(s) of configuration sets uploaded earlier with stepzen upload\n [DEPRECATED: this flag will be removed in future versions]\n \n Instead, please use one of these options:\n - stepzen deploy (without the --configurationsets flag)\n \tto use the configuration from the config.yaml file in the current directory (if exists)\n - stepzen deploy --config path/to/config.yaml\n \tto explicitly specify the configuration file","multiple":false,"exclusive":["config","dir"]},"config":{"name":"config","type":"option","description":"[default: config.yaml] Configuration file to use (relative to the current directory)","helpValue":"path/to/config.yaml","multiple":false},"schema":{"name":"schema","type":"option","description":"\n Name of a schema uploaded earlier with stepzen upload\n [DEPRECATED: this flag will be removed in future versions]\n \n Instead, please use one of these options:\n - stepzen deploy (without the --schema flag)\n \tto deploy the schema from a StepZen workspace in your current directory\n - stepzen deploy --dir path/to/workspace\n \tto deploy from a StepZen workspace in another folder","multiple":false,"exclusive":["config","dir"]}},"args":[{"name":"endpoint","description":"name of the endpoint (e.g. api/customers)\n [default: use the endpoint property from stepzen.config.json]","required":false}]},"import":{"id":"import","description":"Import a schema for an external data source or an API endpoint to your GraphQL API.","strict":false,"usage":["import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE] [--path-params=PATH-PARAMS]","import graphql [URL] [--prefix=PREFIX] [--header=HEADER] [--header-param=HEADER-PARAM]","import mysql [--db-host=DB-HOST] [--db-user=DB-USER] [--db-password=DB-PASSWORD] [--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE]","import mysql://[USER:PASSWORD@]HOST[:PORT][/DATABASE] [--db-link-types] [--db-include=DB-INCLUDE]","import postgresql [--db-host=DB-HOST] [--db-user=DB-USER] [--db-password=DB-PASSWORD] [--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE] [--db-schema=DB-SCHEMA]","import postgresql://[USER:PASSWORD@]HOST[:PORT][/DATABASE] [--db-link-types] [--db-include=DB-INCLUDE] [--db-schema=DB-SCHEMA]","import snowflake [--db-user=DB-USER] [--db-password=DB-PASSWORD] [--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE] [--db-schema=DB-SCHEMA] [--snowflake-account-id=SNOWFLAKE-ACCOUNT-ID] [--snowflake-warehouse=SNOWFLAKE-WAREHOUSE]","import snowflake://[USER[:PASSWORD]@]ACCOUNT_IDENTIFIER[/DATABASE][?schema=<SCHEMA>[&warehouse=<WAREHOUSE>]] [--db-link-types] [--db-include=DB-INCLUDE]"],"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dir":{"name":"dir","type":"option","description":"Working directory","multiple":false},"silent":{"name":"silent","type":"boolean","hidden":true,"allowNo":false},"name":{"name":"name","type":"option","description":"Subfolder inside the workspace folder to save the imported schema files to. Defaults to the name of the imported schema.","multiple":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrite any existing schema with the same name. Cannot be used without also providing a --name flag.","hidden":true,"allowNo":false,"dependsOn":["name"]},"prefix":{"name":"prefix","type":"option","description":"[curl, graphql] Prefix to add to every type in the generated schema","multiple":false},"header":{"name":"header","type":"option","char":"H","description":"[curl, graphql] Specifies a request header to pass\n\nExample:\nstepzen import curl https://example.com/api/customers \\\n\t-H \"Authorization: apikey SecretAPIKeyValue\"","multiple":true},"header-param":{"name":"header-param","type":"option","description":"[curl, graphql] Specifies a parameter in a header value. Can be formed by taking a -H, --header flag and replacing the variable part of the header value with a $paramName placeholder. Repeat this flag once for each header with a parameter.\n\nExample:\nstepzen import curl https://example.com/api/customers \\\n\t-H \"Authorization: apikey SecretAPIKeyValue\" \\\n\t--header-param 'Authorization: apikey $apikey'","multiple":true},"query-name":{"name":"query-name","type":"option","description":"[curl] [curl] Property name to add to the Query type as a way to access the imported endpoint","multiple":false},"query-type":{"name":"query-type","type":"option","description":"[curl] Name for the type returned by the curl request in the generated schema. The name specified by --query-type is not prefixed by --prefix if both flags are present.","multiple":false},"path-params":{"name":"path-params","type":"option","description":"[curl] Specifies path parameters in the URL path. Can be formed by taking the original path and replacing the variable segments with $paramName placeholders.\n\nExample:\nstepzen import curl https://example.com/users/jane/posts/12 --path-params '/users/$userId/posts/$postId'","multiple":false},"db-host":{"name":"db-host","type":"option","description":"[mysql, postgresql] Database host and optional port (as HOST[:PORT])","multiple":false},"db-user":{"name":"db-user","type":"option","description":"[mysql, postgresql, snowflake] Database user name","multiple":false},"db-password":{"name":"db-password","type":"option","description":"[mysql, postgresql, snowflake] Database password","multiple":false},"db-database":{"name":"db-database","type":"option","description":"[mysql, postgresql, snowflake] Name of database to import","multiple":false},"db-link-types":{"name":"db-link-types","type":"boolean","description":"[mysql, postgresql, snowflake] Automatically link types based on foreign key relationships using @materializer (https://stepzen.com/docs/features/linking-types)","allowNo":false},"db-include":{"name":"db-include","type":"option","description":"[mysql, postgresql, snowflake] Should the generated GraphQL schema be based only on database views, only on tables or on both","multiple":false,"options":["tables-only","views-only","tables-and-views"]},"db-schema":{"name":"db-schema","type":"option","description":"[postgresql, snowflake] Database schema to import tables from (default: public)","multiple":false},"db-use-deprecated-2022-naming":{"name":"db-use-deprecated-2022-naming","type":"boolean","description":"[mysql, postgresql] Use the deprecated pre-2023 naming convention in the generated GraphQL schema:\n\t- the generated type and property names are auto-capitalized into PascalCase\n\t- the generated field names use the getCustomer and getCustomerList style.\n\nOn the other hand, when using the default naming convention:\n\t- the generated type and property names match exactly the DB table and column names\n\t- the generated field names use the customer and customerList style.","allowNo":false},"snowflake-account-id":{"name":"snowflake-account-id","type":"option","description":"[snowflake] Snowflake account identifier in the orgname-accountname format. For more information, see the Snowflake documentation at https://docs.snowflake.com/en/user-guide/admin-account-identifier.html.","multiple":false},"snowflake-warehouse":{"name":"snowflake-warehouse","type":"option","description":"[snowflake] Snowflake warehouse","multiple":false}},"args":[{"name":"source","required":true}]},"init":{"id":"init","description":"Initialize a StepZen workspace in the current directory.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"endpoint":{"name":"endpoint","type":"option","hidden":true,"multiple":false},"yes":{"name":"yes","type":"boolean","hidden":true,"allowNo":false}},"args":[{"name":"directory","hidden":true}]},"lint":{"id":"lint","description":"StepZen lint.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","hidden":true,"aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dir":{"name":"dir","type":"option","hidden":true,"multiple":false}},"args":[]},"list":{"id":"list","description":"List endpoints, schemas and configuration sets in your StepZen account.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false}},"args":[{"name":"type","description":"\n \n The type of entities to list:\n \tendpoints - GraphQL API endpoints deployed with stepzen deploy (or stepzen start)\n \tschemas [DEPRECATED] - StepZen schemas uploaded with stepzen upload (or stepzen start)\n \tconfigurationsets [DEPRECATED] - StepZen configuration sets uploaded with stepzen upload (or stepzen start)","options":["endpoints","configurationsets","schemas"],"default":"endpoints"}]},"login":{"id":"login","description":"Log in to StepZen.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"account":{"name":"account","type":"option","char":"a","description":"StepZen account name (copy from https://stepzen.com/account). If not provided, the CLI prompts the users to enter one.","multiple":false,"exclusive":["config","public"]},"adminkey":{"name":"adminkey","type":"option","char":"k","description":"Admin key (copy from https://stepzen.com/account) If not provided, the CLI prompts the users to enter one.","multiple":false,"exclusive":["config","public"]},"public":{"name":"public","type":"boolean","description":"Create a public anonymous StepZen account and use it. This is handy for trying StepZen out, but it not suitable for handling private data as all endpoints created with a public account will be public.","allowNo":false,"exclusive":["config","account","adminkey"]},"config":{"name":"config","type":"option","hidden":true,"multiple":false,"exclusive":["account","adminkey","public"]}},"args":[]},"logout":{"id":"logout","description":"Log out of StepZen.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false}},"args":[]},"request":{"id":"request","description":"Send a GraphQL request to a StepZen endpoint and print the response, using the API key and the target endpoint from the current StepZen workspace.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dir":{"name":"dir","type":"option","description":"StepZen workspace directory (defaults to the current directory)","multiple":false,"exclusive":["endpoint"]},"endpoint":{"name":"endpoint","type":"option","description":"StepZen endpoint to call (defaults to the endpoint in current StepZen workspace)","multiple":false,"exclusive":["dir"]},"header":{"name":"header","type":"option","char":"H","description":"Add an additional HTTP header to the request. This is useful for schemas where @rest or @graphql directives enable header forwarding with forwardheaders.\n\nExample:\nstepzen request '{ user(id: \"u123\") { email } }' \\\n\t-H \"X-API-Token: SecretAPIToken\"\n\nUse the -H \"Header-Name:\" syntax to drop a default header, and the -H \"Header-Name;\" syntax to send a header with an empty value.","multiple":true},"operation-name":{"name":"operation-name","type":"option","description":"Specify the operation name (in case if the provided query includes multiple operations)","multiple":false},"var":{"name":"var","type":"option","description":"Add a request variable, in the name=value format.\n\nExample:\nstepzen request 'query OrdersQuery($search: String!, $limit: Int) {\n\t\torders(search: $search, limit: $limit) { id createdAt }\n\t}' \\\n\t--var 'search=space ninja' \\\n\t--var limit=5","multiple":true},"var-file":{"name":"var-file","type":"option","description":"Read request variables from a JSON file. In case when the same variable value is provided both via --var-file and --var, the priority is given to the latter.\n\nExample:\nstepzen request 'query OrdersQuery($search: String!, $limit: Int) {\n\t\torders(search: $search, limit: $limit) { id createdAt }\n\t}' \\\n\t--var-file ./vars.json","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"Read the query text from a file instead of the command line.\n\nExample:\nstepzen request -f query.graphql","multiple":false}},"args":[{"name":"query","description":"GraphQL query (could include a query, a mutation or a subscription).\nThis argument is required unless you provide the query as a file with --file=file."}]},"service":{"id":"service","description":"Manage the local StepZen service instance (requires Docker).\nYou can use a local StepZen service instance instead of the StepZen cloud to develop and test GraphQL endpoints locally. This way you can try StepZen out without giving the StepZen cloud access to your data sources and API endpoints.\n\nLocal StepZen service instances are not suitable for production use. Please refer to the documentation at https://stepzen.com/docs/deployment/local-docker for more information and examples.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dsn":{"name":"dsn","type":"option","description":"DSN of a StepZen metadata database, e.g. postgres://user:password@172.17.0.1:5432/zenctl","multiple":false,"exclusive":["reset-auto","prompt"]},"reset-auto":{"name":"reset-auto","type":"boolean","description":"Create fresh empty metadata database. Note: all existing endpoints will be deleted and you will be logged out.","allowNo":false,"exclusive":["dsn","prompt"]},"prompt":{"name":"prompt","type":"boolean","description":"Opens an interactive prompt to ask for database details (or fails, if running in a non-interactive mode).","allowNo":false,"exclusive":["dsn","non-interactive"]},"port":{"name":"port","type":"option","description":"Override the TCP port on which the local StepZen service instance will listen for connections (port 9000 by default).","multiple":false}},"args":[{"name":"action","description":"\n \tstart\tstart a local StepZen service instance in a Docker container\n \t\tThis command pulls the latest StepZen service instance Docker image so that the\n \t\tversion of StepZen you run locally is the same as the one running on\n \t\tstepzen.net.\n \n \tstop\tstop the local StepZen service instance (if running)\n \t\tThis command deletes the Docker container with the StepZen service instance,\n \t\tbut all your endpoints are persistently stored in the metadata database. They\n \t\tremain available when running stepzen service start next time.\n \n \tupgrade\tupgrade the local StepZen service instance if it is running\n \t\tThis command checks if a newer version of the StepZen service instance Docker\n \t\timage is available, and if it is then stops and deletes the currently running\n \t\tcontainer, pulls the latest image, and starts it. All endpoints are preserved.\n\n If no action is provided, print the service status and exit.","required":false,"options":["start","stop","upgrade"]}]},"start":{"id":"start","description":"Deploy your schema to StepZen, and then redeploy on every change.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dir":{"name":"dir","type":"option","description":"Working directory","multiple":false},"endpoint":{"name":"endpoint","type":"option","description":"Override workspace endpoint","multiple":false},"dashboard":{"name":"dashboard","type":"option","description":"Which GraphiQL dashboard to use to explore the deployed endpoint.\n\t- web [default]: use GraphiQL at dashboard.stepzen.com\n\t- local: start a local GraphiQL dashboard on localhost:5001 (change the port with the --port flag)\n\t- none: do not use GraphiQL at all","multiple":false,"options":["web","local","none"]},"port":{"name":"port","type":"option","description":"Port for the local GraphiQL dashboard (when using --dashboard=local)","multiple":false,"default":5001},"no-console":{"name":"no-console","type":"boolean","hidden":true,"allowNo":false},"no-dashboard":{"name":"no-dashboard","type":"boolean","hidden":true,"allowNo":false},"no-init":{"name":"no-init","type":"boolean","hidden":true,"allowNo":false},"no-validate":{"name":"no-validate","type":"boolean","hidden":true,"allowNo":false},"no-watcher":{"name":"no-watcher","type":"boolean","hidden":true,"allowNo":false}},"args":[]},"transpile":{"id":"transpile","description":"Transpile a GraphQL schema.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","hidden":true,"aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"config":{"name":"config","type":"option","hidden":true,"multiple":false},"hide-output":{"name":"hide-output","type":"boolean","hidden":true,"allowNo":false},"inspect":{"name":"inspect","type":"boolean","char":"i","hidden":true,"allowNo":false},"inspect-after":{"name":"inspect-after","type":"boolean","hidden":true,"allowNo":false},"output-configuration":{"name":"output-configuration","type":"boolean","allowNo":false},"silent":{"name":"silent","type":"boolean","allowNo":false}},"args":[{"name":"folder","required":true}]},"upload":{"id":"upload","description":"[DEPRECATED] Upload a schema or a configuration set to StepZen.\nstepzen upload is deprecated in favor of stepzen deploy\nStepZen CLI is moving away from a two-step \"upload\" + \"deploy\" flow to a single-step \"deploy\" flow.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"dir":{"name":"dir","type":"option","description":"A directory to upload","multiple":false,"exclusive":["file"]},"file":{"name":"file","type":"option","description":"A file to upload","multiple":false,"exclusive":["dir"]},"silent":{"name":"silent","type":"boolean","allowNo":false}},"args":[{"name":"type","description":"type","required":true,"options":["configurationset","schema"]},{"name":"destination","description":"destination","required":true}]},"validate":{"id":"validate","description":"Validate a GraphQL schema.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","hidden":true,"aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false}},"args":[{"name":"folder","required":true}]},"whoami":{"id":"whoami","description":"View your StepZen credentials.","strict":true,"pluginName":"stepzen","pluginAlias":"stepzen","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Disable all interactive prompts","hidden":true,"allowNo":false},"showkeys":{"name":"showkeys","type":"boolean","allowNo":false,"exclusive":["account","adminkey","apikey"]},"account":{"name":"account","type":"boolean","allowNo":false,"exclusive":["showkeys","adminkey","apikey"]},"adminkey":{"name":"adminkey","type":"boolean","allowNo":false,"exclusive":["showkeys","account","apikey"]},"apikey":{"name":"apikey","type":"boolean","allowNo":false,"exclusive":["showkeys","account","adminkey"]}},"args":[]}}}
1
+ {
2
+ "version": "0.29.0-beta.0",
3
+ "commands": {
4
+ "deploy": {
5
+ "id": "deploy",
6
+ "description": "Deploy to StepZen.",
7
+ "strict": true,
8
+ "usage": "deploy [ENDPOINT] [--config=path/to/config.yaml] [--dir=path/to/workspace]\n\n-- OR (deprecated) --\n\n$ stepzen deploy ENDPOINT --schema=schema [--configurationsets=cs1[,cs2[,..]]]",
9
+ "pluginName": "stepzen",
10
+ "pluginAlias": "stepzen",
11
+ "pluginType": "core",
12
+ "aliases": [],
13
+ "flags": {
14
+ "help": {
15
+ "name": "help",
16
+ "type": "boolean",
17
+ "char": "h",
18
+ "description": "Show CLI help",
19
+ "allowNo": false
20
+ },
21
+ "non-interactive": {
22
+ "name": "non-interactive",
23
+ "type": "boolean",
24
+ "description": "Disable all interactive prompts",
25
+ "hidden": true,
26
+ "allowNo": false
27
+ },
28
+ "dir": {
29
+ "name": "dir",
30
+ "type": "option",
31
+ "description": "Working directory",
32
+ "multiple": false
33
+ },
34
+ "silent": {
35
+ "name": "silent",
36
+ "type": "boolean",
37
+ "allowNo": false
38
+ },
39
+ "configurationsets": {
40
+ "name": "configurationsets",
41
+ "type": "option",
42
+ "description": "\n Name(s) of configuration sets uploaded earlier with stepzen upload\n [DEPRECATED: this flag will be removed in future versions]\n \n Instead, please use one of these options:\n - stepzen deploy (without the --configurationsets flag)\n \tto use the configuration from the config.yaml file in the current directory (if exists)\n - stepzen deploy --config path/to/config.yaml\n \tto explicitly specify the configuration file",
43
+ "multiple": false,
44
+ "exclusive": [
45
+ "config",
46
+ "dir"
47
+ ]
48
+ },
49
+ "config": {
50
+ "name": "config",
51
+ "type": "option",
52
+ "description": "[default: config.yaml] Configuration file to use (relative to the current directory)",
53
+ "helpValue": "path/to/config.yaml",
54
+ "multiple": false
55
+ },
56
+ "schema": {
57
+ "name": "schema",
58
+ "type": "option",
59
+ "description": "\n Name of a schema uploaded earlier with stepzen upload\n [DEPRECATED: this flag will be removed in future versions]\n \n Instead, please use one of these options:\n - stepzen deploy (without the --schema flag)\n \tto deploy the schema from a StepZen workspace in your current directory\n - stepzen deploy --dir path/to/workspace\n \tto deploy from a StepZen workspace in another folder",
60
+ "multiple": false,
61
+ "exclusive": [
62
+ "config",
63
+ "dir"
64
+ ]
65
+ }
66
+ },
67
+ "args": {
68
+ "endpoint": {
69
+ "name": "endpoint",
70
+ "description": "name of the endpoint (e.g. api/customers)\n [default: use the endpoint property from stepzen.config.json]",
71
+ "required": false
72
+ }
73
+ }
74
+ },
75
+ "import": {
76
+ "id": "import",
77
+ "description": "Import a schema for an external data source or an API endpoint to your GraphQL API.",
78
+ "strict": false,
79
+ "usage": [
80
+ "import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--data=DATA] [--request=REQUEST] [--url=URL] [--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE] [--path-params=PATH-PARAMS]",
81
+ "import graphql [URL] [--prefix=PREFIX] [--header=HEADER] [--header-param=HEADER-PARAM]",
82
+ "import mysql [--db-host=DB-HOST] [--db-user=DB-USER] [--db-password=DB-PASSWORD] [--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE]",
83
+ "import mysql://[USER:PASSWORD@]HOST[:PORT][/DATABASE] [--db-link-types] [--db-include=DB-INCLUDE]",
84
+ "import postgresql [--db-host=DB-HOST] [--db-user=DB-USER] [--db-password=DB-PASSWORD] [--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE] [--db-schema=DB-SCHEMA]",
85
+ "import postgresql://[USER:PASSWORD@]HOST[:PORT][/DATABASE] [--db-link-types] [--db-include=DB-INCLUDE] [--db-schema=DB-SCHEMA]",
86
+ "import snowflake [--db-user=DB-USER] [--db-password=DB-PASSWORD] [--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE] [--db-schema=DB-SCHEMA] [--snowflake-account-id=SNOWFLAKE-ACCOUNT-ID] [--snowflake-warehouse=SNOWFLAKE-WAREHOUSE]",
87
+ "import snowflake://[USER[:PASSWORD]@]ACCOUNT_IDENTIFIER[/DATABASE][?schema=<SCHEMA>[&warehouse=<WAREHOUSE>]] [--db-link-types] [--db-include=DB-INCLUDE]"
88
+ ],
89
+ "pluginName": "stepzen",
90
+ "pluginAlias": "stepzen",
91
+ "pluginType": "core",
92
+ "aliases": [],
93
+ "flags": {
94
+ "help": {
95
+ "name": "help",
96
+ "type": "boolean",
97
+ "char": "h",
98
+ "description": "Show CLI help",
99
+ "allowNo": false
100
+ },
101
+ "non-interactive": {
102
+ "name": "non-interactive",
103
+ "type": "boolean",
104
+ "description": "Disable all interactive prompts",
105
+ "hidden": true,
106
+ "allowNo": false
107
+ },
108
+ "dir": {
109
+ "name": "dir",
110
+ "type": "option",
111
+ "description": "Working directory",
112
+ "multiple": false
113
+ },
114
+ "silent": {
115
+ "name": "silent",
116
+ "type": "boolean",
117
+ "hidden": true,
118
+ "allowNo": false
119
+ },
120
+ "name": {
121
+ "name": "name",
122
+ "type": "option",
123
+ "description": "Subfolder inside the workspace folder to save the imported schema files to. Defaults to the name of the imported schema.",
124
+ "multiple": false
125
+ },
126
+ "overwrite": {
127
+ "name": "overwrite",
128
+ "type": "boolean",
129
+ "description": "Overwrite any existing schema with the same name. Cannot be used without also providing a --name flag.",
130
+ "hidden": true,
131
+ "allowNo": false,
132
+ "dependsOn": [
133
+ "name"
134
+ ]
135
+ },
136
+ "prefix": {
137
+ "name": "prefix",
138
+ "type": "option",
139
+ "description": "[curl, graphql] Prefix to add to every type in the generated schema",
140
+ "multiple": false
141
+ },
142
+ "data": {
143
+ "name": "data",
144
+ "type": "option",
145
+ "char": "d",
146
+ "hidden": true,
147
+ "multiple": true,
148
+ "aliases": [
149
+ "data-ascii",
150
+ "data-raw",
151
+ "data-binary"
152
+ ]
153
+ },
154
+ "request": {
155
+ "name": "request",
156
+ "type": "option",
157
+ "char": "X",
158
+ "hidden": true,
159
+ "multiple": false
160
+ },
161
+ "url": {
162
+ "name": "url",
163
+ "type": "option",
164
+ "hidden": true,
165
+ "multiple": true
166
+ },
167
+ "header": {
168
+ "name": "header",
169
+ "type": "option",
170
+ "char": "H",
171
+ "description": "[curl, graphql] Specifies a request header to pass\n\nExample:\nstepzen import curl https://example.com/api/customers \\\n\t-H \"Authorization: apikey SecretAPIKeyValue\"",
172
+ "multiple": true
173
+ },
174
+ "header-param": {
175
+ "name": "header-param",
176
+ "type": "option",
177
+ "description": "[curl, graphql] Specifies a parameter in a header value. Can be formed by taking a -H, --header flag and replacing the variable part of the header value with a $paramName placeholder. Repeat this flag once for each header with a parameter.\n\nExample:\nstepzen import curl https://example.com/api/customers \\\n\t-H \"Authorization: apikey SecretAPIKeyValue\" \\\n\t--header-param 'Authorization: apikey $apikey'",
178
+ "multiple": true
179
+ },
180
+ "query-name": {
181
+ "name": "query-name",
182
+ "type": "option",
183
+ "description": "[curl] [curl] Property name to add to the Query type as a way to access the imported endpoint",
184
+ "multiple": false
185
+ },
186
+ "query-type": {
187
+ "name": "query-type",
188
+ "type": "option",
189
+ "description": "[curl] Name for the type returned by the curl request in the generated schema. The name specified by --query-type is not prefixed by --prefix if both flags are present.",
190
+ "multiple": false
191
+ },
192
+ "path-params": {
193
+ "name": "path-params",
194
+ "type": "option",
195
+ "description": "[curl] Specifies path parameters in the URL path. Can be formed by taking the original path and replacing the variable segments with $paramName placeholders.\n\nExample:\nstepzen import curl https://example.com/users/jane/posts/12 --path-params '/users/$userId/posts/$postId'",
196
+ "multiple": false
197
+ },
198
+ "db-host": {
199
+ "name": "db-host",
200
+ "type": "option",
201
+ "description": "[mysql, postgresql] Database host and optional port (as HOST[:PORT])",
202
+ "multiple": false
203
+ },
204
+ "db-user": {
205
+ "name": "db-user",
206
+ "type": "option",
207
+ "description": "[mysql, postgresql, snowflake] Database user name",
208
+ "multiple": false
209
+ },
210
+ "db-password": {
211
+ "name": "db-password",
212
+ "type": "option",
213
+ "description": "[mysql, postgresql, snowflake] Database password",
214
+ "multiple": false
215
+ },
216
+ "db-database": {
217
+ "name": "db-database",
218
+ "type": "option",
219
+ "description": "[mysql, postgresql, snowflake] Name of database to import",
220
+ "multiple": false
221
+ },
222
+ "db-link-types": {
223
+ "name": "db-link-types",
224
+ "type": "boolean",
225
+ "description": "[mysql, postgresql, snowflake] Automatically link types based on foreign key relationships using @materializer (https://stepzen.com/docs/features/linking-types)",
226
+ "allowNo": false
227
+ },
228
+ "db-include": {
229
+ "name": "db-include",
230
+ "type": "option",
231
+ "description": "[mysql, postgresql, snowflake] Should the generated GraphQL schema be based only on database views, only on tables or on both",
232
+ "multiple": false,
233
+ "options": [
234
+ "tables-only",
235
+ "views-only",
236
+ "tables-and-views"
237
+ ]
238
+ },
239
+ "db-schema": {
240
+ "name": "db-schema",
241
+ "type": "option",
242
+ "description": "[postgresql, snowflake] Database schema to import tables from (default: public)",
243
+ "multiple": false
244
+ },
245
+ "db-use-deprecated-2022-naming": {
246
+ "name": "db-use-deprecated-2022-naming",
247
+ "type": "boolean",
248
+ "description": "[mysql, postgresql] Use the deprecated pre-2023 naming convention in the generated GraphQL schema:\n\t- the generated type and property names are auto-capitalized into PascalCase\n\t- the generated field names use the getCustomer and getCustomerList style.\n\nOn the other hand, when using the default naming convention:\n\t- the generated type and property names match exactly the DB table and column names\n\t- the generated field names use the customer and customerList style.",
249
+ "allowNo": false
250
+ },
251
+ "snowflake-account-id": {
252
+ "name": "snowflake-account-id",
253
+ "type": "option",
254
+ "description": "[snowflake] Snowflake account identifier in the orgname-accountname format. For more information, see the Snowflake documentation at https://docs.snowflake.com/en/user-guide/admin-account-identifier.html.",
255
+ "multiple": false
256
+ },
257
+ "snowflake-warehouse": {
258
+ "name": "snowflake-warehouse",
259
+ "type": "option",
260
+ "description": "[snowflake] Snowflake warehouse",
261
+ "multiple": false
262
+ }
263
+ },
264
+ "args": {
265
+ "source": {
266
+ "name": "source",
267
+ "required": true
268
+ }
269
+ }
270
+ },
271
+ "init": {
272
+ "id": "init",
273
+ "description": "Initialize a StepZen workspace in the current directory.",
274
+ "strict": true,
275
+ "pluginName": "stepzen",
276
+ "pluginAlias": "stepzen",
277
+ "pluginType": "core",
278
+ "aliases": [],
279
+ "flags": {
280
+ "help": {
281
+ "name": "help",
282
+ "type": "boolean",
283
+ "char": "h",
284
+ "description": "Show CLI help",
285
+ "allowNo": false
286
+ },
287
+ "non-interactive": {
288
+ "name": "non-interactive",
289
+ "type": "boolean",
290
+ "description": "Disable all interactive prompts",
291
+ "hidden": true,
292
+ "allowNo": false
293
+ },
294
+ "endpoint": {
295
+ "name": "endpoint",
296
+ "type": "option",
297
+ "hidden": true,
298
+ "multiple": false
299
+ },
300
+ "yes": {
301
+ "name": "yes",
302
+ "type": "boolean",
303
+ "hidden": true,
304
+ "allowNo": false
305
+ }
306
+ },
307
+ "args": {
308
+ "directory": {
309
+ "name": "directory",
310
+ "hidden": true
311
+ }
312
+ }
313
+ },
314
+ "lint": {
315
+ "id": "lint",
316
+ "description": "StepZen lint.",
317
+ "strict": true,
318
+ "pluginName": "stepzen",
319
+ "pluginAlias": "stepzen",
320
+ "pluginType": "core",
321
+ "hidden": true,
322
+ "aliases": [],
323
+ "flags": {
324
+ "help": {
325
+ "name": "help",
326
+ "type": "boolean",
327
+ "char": "h",
328
+ "description": "Show CLI help",
329
+ "allowNo": false
330
+ },
331
+ "non-interactive": {
332
+ "name": "non-interactive",
333
+ "type": "boolean",
334
+ "description": "Disable all interactive prompts",
335
+ "hidden": true,
336
+ "allowNo": false
337
+ },
338
+ "dir": {
339
+ "name": "dir",
340
+ "type": "option",
341
+ "hidden": true,
342
+ "multiple": false
343
+ }
344
+ },
345
+ "args": {}
346
+ },
347
+ "list": {
348
+ "id": "list",
349
+ "description": "List endpoints, schemas and configuration sets in your StepZen account.",
350
+ "strict": true,
351
+ "pluginName": "stepzen",
352
+ "pluginAlias": "stepzen",
353
+ "pluginType": "core",
354
+ "aliases": [],
355
+ "flags": {
356
+ "help": {
357
+ "name": "help",
358
+ "type": "boolean",
359
+ "char": "h",
360
+ "description": "Show CLI help",
361
+ "allowNo": false
362
+ },
363
+ "non-interactive": {
364
+ "name": "non-interactive",
365
+ "type": "boolean",
366
+ "description": "Disable all interactive prompts",
367
+ "hidden": true,
368
+ "allowNo": false
369
+ }
370
+ },
371
+ "args": {
372
+ "type": {
373
+ "name": "type",
374
+ "description": "\n \n The type of entities to list:\n \tendpoints - GraphQL API endpoints deployed with stepzen deploy (or stepzen start)\n \tschemas [DEPRECATED] - StepZen schemas uploaded with stepzen upload (or stepzen start)\n \tconfigurationsets [DEPRECATED] - StepZen configuration sets uploaded with stepzen upload (or stepzen start)",
375
+ "options": [
376
+ "endpoints",
377
+ "configurationsets",
378
+ "schemas"
379
+ ],
380
+ "default": "endpoints"
381
+ }
382
+ }
383
+ },
384
+ "login": {
385
+ "id": "login",
386
+ "description": "Log in to StepZen.",
387
+ "strict": true,
388
+ "pluginName": "stepzen",
389
+ "pluginAlias": "stepzen",
390
+ "pluginType": "core",
391
+ "aliases": [],
392
+ "flags": {
393
+ "help": {
394
+ "name": "help",
395
+ "type": "boolean",
396
+ "char": "h",
397
+ "description": "Show CLI help",
398
+ "allowNo": false
399
+ },
400
+ "non-interactive": {
401
+ "name": "non-interactive",
402
+ "type": "boolean",
403
+ "description": "Disable all interactive prompts",
404
+ "hidden": true,
405
+ "allowNo": false
406
+ },
407
+ "account": {
408
+ "name": "account",
409
+ "type": "option",
410
+ "char": "a",
411
+ "description": "StepZen account name (copy from https://stepzen.com/account). If not provided, the CLI prompts the users to enter one.",
412
+ "multiple": false,
413
+ "exclusive": [
414
+ "config",
415
+ "public"
416
+ ]
417
+ },
418
+ "adminkey": {
419
+ "name": "adminkey",
420
+ "type": "option",
421
+ "char": "k",
422
+ "description": "Admin key (copy from https://stepzen.com/account) If not provided, the CLI prompts the users to enter one.",
423
+ "multiple": false,
424
+ "exclusive": [
425
+ "config",
426
+ "public"
427
+ ]
428
+ },
429
+ "public": {
430
+ "name": "public",
431
+ "type": "boolean",
432
+ "description": "Create a public anonymous StepZen account and use it. This is handy for trying StepZen out, but it not suitable for handling private data as all endpoints created with a public account will be public.",
433
+ "allowNo": false,
434
+ "exclusive": [
435
+ "config",
436
+ "account",
437
+ "adminkey"
438
+ ]
439
+ },
440
+ "config": {
441
+ "name": "config",
442
+ "type": "option",
443
+ "hidden": true,
444
+ "multiple": false,
445
+ "exclusive": [
446
+ "account",
447
+ "adminkey",
448
+ "public"
449
+ ]
450
+ }
451
+ },
452
+ "args": {}
453
+ },
454
+ "logout": {
455
+ "id": "logout",
456
+ "description": "Log out of StepZen.",
457
+ "strict": true,
458
+ "pluginName": "stepzen",
459
+ "pluginAlias": "stepzen",
460
+ "pluginType": "core",
461
+ "aliases": [],
462
+ "flags": {
463
+ "help": {
464
+ "name": "help",
465
+ "type": "boolean",
466
+ "char": "h",
467
+ "description": "Show CLI help",
468
+ "allowNo": false
469
+ },
470
+ "non-interactive": {
471
+ "name": "non-interactive",
472
+ "type": "boolean",
473
+ "description": "Disable all interactive prompts",
474
+ "hidden": true,
475
+ "allowNo": false
476
+ }
477
+ },
478
+ "args": {}
479
+ },
480
+ "request": {
481
+ "id": "request",
482
+ "description": "Send a GraphQL request to a StepZen endpoint and print the response, using the API key and the target endpoint from the current StepZen workspace.",
483
+ "strict": true,
484
+ "pluginName": "stepzen",
485
+ "pluginAlias": "stepzen",
486
+ "pluginType": "core",
487
+ "aliases": [],
488
+ "flags": {
489
+ "help": {
490
+ "name": "help",
491
+ "type": "boolean",
492
+ "char": "h",
493
+ "description": "Show CLI help",
494
+ "allowNo": false
495
+ },
496
+ "non-interactive": {
497
+ "name": "non-interactive",
498
+ "type": "boolean",
499
+ "description": "Disable all interactive prompts",
500
+ "hidden": true,
501
+ "allowNo": false
502
+ },
503
+ "dir": {
504
+ "name": "dir",
505
+ "type": "option",
506
+ "description": "StepZen workspace directory (defaults to the current directory)",
507
+ "multiple": false,
508
+ "exclusive": [
509
+ "endpoint"
510
+ ]
511
+ },
512
+ "endpoint": {
513
+ "name": "endpoint",
514
+ "type": "option",
515
+ "description": "StepZen endpoint to call (defaults to the endpoint in current StepZen workspace)",
516
+ "multiple": false,
517
+ "exclusive": [
518
+ "dir"
519
+ ]
520
+ },
521
+ "header": {
522
+ "name": "header",
523
+ "type": "option",
524
+ "char": "H",
525
+ "description": "Add an additional HTTP header to the request. This is useful for schemas where @rest or @graphql directives enable header forwarding with forwardheaders.\n\nExample:\nstepzen request '{ user(id: \"u123\") { email } }' \\\n\t-H \"X-API-Token: SecretAPIToken\"\n\nUse the -H \"Header-Name:\" syntax to drop a default header, and the -H \"Header-Name;\" syntax to send a header with an empty value.",
526
+ "multiple": true
527
+ },
528
+ "operation-name": {
529
+ "name": "operation-name",
530
+ "type": "option",
531
+ "description": "Specify the operation name (in case if the provided query includes multiple operations)",
532
+ "multiple": false
533
+ },
534
+ "var": {
535
+ "name": "var",
536
+ "type": "option",
537
+ "description": "Add a request variable, in the name=value format.\n\nExample:\nstepzen request 'query OrdersQuery($search: String!, $limit: Int) {\n\t\torders(search: $search, limit: $limit) { id createdAt }\n\t}' \\\n\t--var 'search=space ninja' \\\n\t--var limit=5",
538
+ "multiple": true
539
+ },
540
+ "var-file": {
541
+ "name": "var-file",
542
+ "type": "option",
543
+ "description": "Read request variables from a JSON file. In case when the same variable value is provided both via --var-file and --var, the priority is given to the latter.\n\nExample:\nstepzen request 'query OrdersQuery($search: String!, $limit: Int) {\n\t\torders(search: $search, limit: $limit) { id createdAt }\n\t}' \\\n\t--var-file ./vars.json",
544
+ "multiple": false
545
+ },
546
+ "file": {
547
+ "name": "file",
548
+ "type": "option",
549
+ "char": "f",
550
+ "description": "Read the query text from a file instead of the command line.\n\nExample:\nstepzen request -f query.graphql",
551
+ "multiple": false
552
+ }
553
+ },
554
+ "args": {
555
+ "query": {
556
+ "name": "query",
557
+ "description": "GraphQL query (could include a query, a mutation or a subscription).\nThis argument is required unless you provide the query as a file with --file=file."
558
+ }
559
+ }
560
+ },
561
+ "service": {
562
+ "id": "service",
563
+ "description": "Manage the local StepZen service instance (requires Docker).\nYou can use a local StepZen service instance instead of the StepZen cloud to develop and test GraphQL endpoints locally. This way you can try StepZen out without giving the StepZen cloud access to your data sources and API endpoints.\n\nLocal StepZen service instances are not suitable for production use. Please refer to the documentation at https://stepzen.com/docs/deployment/local-docker for more information and examples.",
564
+ "strict": true,
565
+ "pluginName": "stepzen",
566
+ "pluginAlias": "stepzen",
567
+ "pluginType": "core",
568
+ "aliases": [],
569
+ "flags": {
570
+ "help": {
571
+ "name": "help",
572
+ "type": "boolean",
573
+ "char": "h",
574
+ "description": "Show CLI help",
575
+ "allowNo": false
576
+ },
577
+ "non-interactive": {
578
+ "name": "non-interactive",
579
+ "type": "boolean",
580
+ "description": "Disable all interactive prompts",
581
+ "hidden": true,
582
+ "allowNo": false
583
+ },
584
+ "dsn": {
585
+ "name": "dsn",
586
+ "type": "option",
587
+ "description": "DSN of a StepZen metadata database, e.g. postgres://user:password@172.17.0.1:5432/zenctl",
588
+ "multiple": false,
589
+ "exclusive": [
590
+ "reset-auto",
591
+ "prompt"
592
+ ]
593
+ },
594
+ "reset-auto": {
595
+ "name": "reset-auto",
596
+ "type": "boolean",
597
+ "description": "Create fresh empty metadata database. Note: all existing endpoints will be deleted and you will be logged out.",
598
+ "allowNo": false,
599
+ "exclusive": [
600
+ "dsn",
601
+ "prompt"
602
+ ]
603
+ },
604
+ "prompt": {
605
+ "name": "prompt",
606
+ "type": "boolean",
607
+ "description": "Opens an interactive prompt to ask for database details (or fails, if running in a non-interactive mode).",
608
+ "allowNo": false,
609
+ "exclusive": [
610
+ "dsn",
611
+ "non-interactive"
612
+ ]
613
+ },
614
+ "port": {
615
+ "name": "port",
616
+ "type": "option",
617
+ "description": "Override the TCP port on which the local StepZen service instance will listen for connections (port 9000 by default).",
618
+ "multiple": false
619
+ }
620
+ },
621
+ "args": {
622
+ "action": {
623
+ "name": "action",
624
+ "description": "\n \tstart\tstart a local StepZen service instance in a Docker container\n \t\tThis command pulls the latest StepZen service instance Docker image so that the\n \t\tversion of StepZen you run locally is the same as the one running on\n \t\tstepzen.net.\n \n \tstop\tstop the local StepZen service instance (if running)\n \t\tThis command deletes the Docker container with the StepZen service instance,\n \t\tbut all your endpoints are persistently stored in the metadata database. They\n \t\tremain available when running stepzen service start next time.\n \n \tupgrade\tupgrade the local StepZen service instance if it is running\n \t\tThis command checks if a newer version of the StepZen service instance Docker\n \t\timage is available, and if it is then stops and deletes the currently running\n \t\tcontainer, pulls the latest image, and starts it. All endpoints are preserved.\n\n If no action is provided, print the service status and exit.",
625
+ "required": false,
626
+ "options": [
627
+ "start",
628
+ "stop",
629
+ "upgrade"
630
+ ]
631
+ }
632
+ }
633
+ },
634
+ "start": {
635
+ "id": "start",
636
+ "description": "Deploy your schema to StepZen, and then redeploy on every change.",
637
+ "strict": true,
638
+ "pluginName": "stepzen",
639
+ "pluginAlias": "stepzen",
640
+ "pluginType": "core",
641
+ "aliases": [],
642
+ "flags": {
643
+ "help": {
644
+ "name": "help",
645
+ "type": "boolean",
646
+ "char": "h",
647
+ "description": "Show CLI help",
648
+ "allowNo": false
649
+ },
650
+ "non-interactive": {
651
+ "name": "non-interactive",
652
+ "type": "boolean",
653
+ "description": "Disable all interactive prompts",
654
+ "hidden": true,
655
+ "allowNo": false
656
+ },
657
+ "dir": {
658
+ "name": "dir",
659
+ "type": "option",
660
+ "description": "Working directory",
661
+ "multiple": false
662
+ },
663
+ "endpoint": {
664
+ "name": "endpoint",
665
+ "type": "option",
666
+ "description": "Override workspace endpoint",
667
+ "multiple": false
668
+ },
669
+ "dashboard": {
670
+ "name": "dashboard",
671
+ "type": "option",
672
+ "description": "Which GraphiQL dashboard to use to explore the deployed endpoint.\n\t- web [default]: use GraphiQL at dashboard.stepzen.com\n\t- local: start a local GraphiQL dashboard on localhost:5001 (change the port with the --port flag)\n\t- none: do not use GraphiQL at all",
673
+ "multiple": false,
674
+ "options": [
675
+ "web",
676
+ "local",
677
+ "none"
678
+ ]
679
+ },
680
+ "port": {
681
+ "name": "port",
682
+ "type": "option",
683
+ "description": "Port for the local GraphiQL dashboard (when using --dashboard=local)",
684
+ "multiple": false,
685
+ "default": 5001
686
+ },
687
+ "no-console": {
688
+ "name": "no-console",
689
+ "type": "boolean",
690
+ "hidden": true,
691
+ "allowNo": false
692
+ },
693
+ "no-dashboard": {
694
+ "name": "no-dashboard",
695
+ "type": "boolean",
696
+ "hidden": true,
697
+ "allowNo": false
698
+ },
699
+ "no-init": {
700
+ "name": "no-init",
701
+ "type": "boolean",
702
+ "hidden": true,
703
+ "allowNo": false
704
+ },
705
+ "no-validate": {
706
+ "name": "no-validate",
707
+ "type": "boolean",
708
+ "hidden": true,
709
+ "allowNo": false
710
+ },
711
+ "no-watcher": {
712
+ "name": "no-watcher",
713
+ "type": "boolean",
714
+ "hidden": true,
715
+ "allowNo": false
716
+ }
717
+ },
718
+ "args": {}
719
+ },
720
+ "transpile": {
721
+ "id": "transpile",
722
+ "description": "Transpile a GraphQL schema.",
723
+ "strict": true,
724
+ "pluginName": "stepzen",
725
+ "pluginAlias": "stepzen",
726
+ "pluginType": "core",
727
+ "hidden": true,
728
+ "aliases": [],
729
+ "flags": {
730
+ "help": {
731
+ "name": "help",
732
+ "type": "boolean",
733
+ "char": "h",
734
+ "description": "Show CLI help",
735
+ "allowNo": false
736
+ },
737
+ "non-interactive": {
738
+ "name": "non-interactive",
739
+ "type": "boolean",
740
+ "description": "Disable all interactive prompts",
741
+ "hidden": true,
742
+ "allowNo": false
743
+ },
744
+ "config": {
745
+ "name": "config",
746
+ "type": "option",
747
+ "hidden": true,
748
+ "multiple": false
749
+ },
750
+ "hide-output": {
751
+ "name": "hide-output",
752
+ "type": "boolean",
753
+ "hidden": true,
754
+ "allowNo": false
755
+ },
756
+ "inspect": {
757
+ "name": "inspect",
758
+ "type": "boolean",
759
+ "char": "i",
760
+ "hidden": true,
761
+ "allowNo": false
762
+ },
763
+ "inspect-after": {
764
+ "name": "inspect-after",
765
+ "type": "boolean",
766
+ "hidden": true,
767
+ "allowNo": false
768
+ },
769
+ "output-configuration": {
770
+ "name": "output-configuration",
771
+ "type": "boolean",
772
+ "allowNo": false
773
+ },
774
+ "silent": {
775
+ "name": "silent",
776
+ "type": "boolean",
777
+ "allowNo": false
778
+ }
779
+ },
780
+ "args": {
781
+ "folder": {
782
+ "name": "folder",
783
+ "required": true
784
+ }
785
+ }
786
+ },
787
+ "upload": {
788
+ "id": "upload",
789
+ "description": "[DEPRECATED] Upload a schema or a configuration set to StepZen.\nstepzen upload is deprecated in favor of stepzen deploy\nStepZen CLI is moving away from a two-step \"upload\" + \"deploy\" flow to a single-step \"deploy\" flow.",
790
+ "strict": true,
791
+ "pluginName": "stepzen",
792
+ "pluginAlias": "stepzen",
793
+ "pluginType": "core",
794
+ "aliases": [],
795
+ "flags": {
796
+ "help": {
797
+ "name": "help",
798
+ "type": "boolean",
799
+ "char": "h",
800
+ "description": "Show CLI help",
801
+ "allowNo": false
802
+ },
803
+ "non-interactive": {
804
+ "name": "non-interactive",
805
+ "type": "boolean",
806
+ "description": "Disable all interactive prompts",
807
+ "hidden": true,
808
+ "allowNo": false
809
+ },
810
+ "dir": {
811
+ "name": "dir",
812
+ "type": "option",
813
+ "description": "A directory to upload",
814
+ "multiple": false,
815
+ "exclusive": [
816
+ "file"
817
+ ]
818
+ },
819
+ "file": {
820
+ "name": "file",
821
+ "type": "option",
822
+ "description": "A file to upload",
823
+ "multiple": false,
824
+ "exclusive": [
825
+ "dir"
826
+ ]
827
+ },
828
+ "silent": {
829
+ "name": "silent",
830
+ "type": "boolean",
831
+ "allowNo": false
832
+ }
833
+ },
834
+ "args": {
835
+ "type": {
836
+ "name": "type",
837
+ "description": "type",
838
+ "required": true,
839
+ "options": [
840
+ "configurationset",
841
+ "schema"
842
+ ]
843
+ },
844
+ "destination": {
845
+ "name": "destination",
846
+ "description": "destination",
847
+ "required": true
848
+ }
849
+ }
850
+ },
851
+ "validate": {
852
+ "id": "validate",
853
+ "description": "Validate a GraphQL schema.",
854
+ "strict": true,
855
+ "pluginName": "stepzen",
856
+ "pluginAlias": "stepzen",
857
+ "pluginType": "core",
858
+ "hidden": true,
859
+ "aliases": [],
860
+ "flags": {
861
+ "help": {
862
+ "name": "help",
863
+ "type": "boolean",
864
+ "char": "h",
865
+ "description": "Show CLI help",
866
+ "allowNo": false
867
+ },
868
+ "non-interactive": {
869
+ "name": "non-interactive",
870
+ "type": "boolean",
871
+ "description": "Disable all interactive prompts",
872
+ "hidden": true,
873
+ "allowNo": false
874
+ }
875
+ },
876
+ "args": {
877
+ "folder": {
878
+ "name": "folder",
879
+ "required": true
880
+ }
881
+ }
882
+ },
883
+ "whoami": {
884
+ "id": "whoami",
885
+ "description": "View your StepZen credentials.",
886
+ "strict": true,
887
+ "pluginName": "stepzen",
888
+ "pluginAlias": "stepzen",
889
+ "pluginType": "core",
890
+ "aliases": [],
891
+ "flags": {
892
+ "help": {
893
+ "name": "help",
894
+ "type": "boolean",
895
+ "char": "h",
896
+ "description": "Show CLI help",
897
+ "allowNo": false
898
+ },
899
+ "non-interactive": {
900
+ "name": "non-interactive",
901
+ "type": "boolean",
902
+ "description": "Disable all interactive prompts",
903
+ "hidden": true,
904
+ "allowNo": false
905
+ },
906
+ "showkeys": {
907
+ "name": "showkeys",
908
+ "type": "boolean",
909
+ "allowNo": false,
910
+ "exclusive": [
911
+ "account",
912
+ "adminkey",
913
+ "apikey"
914
+ ]
915
+ },
916
+ "account": {
917
+ "name": "account",
918
+ "type": "boolean",
919
+ "allowNo": false,
920
+ "exclusive": [
921
+ "showkeys",
922
+ "adminkey",
923
+ "apikey"
924
+ ]
925
+ },
926
+ "adminkey": {
927
+ "name": "adminkey",
928
+ "type": "boolean",
929
+ "allowNo": false,
930
+ "exclusive": [
931
+ "showkeys",
932
+ "account",
933
+ "apikey"
934
+ ]
935
+ },
936
+ "apikey": {
937
+ "name": "apikey",
938
+ "type": "boolean",
939
+ "allowNo": false,
940
+ "exclusive": [
941
+ "showkeys",
942
+ "account",
943
+ "adminkey"
944
+ ]
945
+ }
946
+ },
947
+ "args": {}
948
+ }
949
+ }
950
+ }