@credibledata/cred-cli 0.0.100 → 0.0.103

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 (225) hide show
  1. package/README-DEV.md +2 -2
  2. package/README.md +1 -1
  3. package/coverage/coverage-summary.json +40 -0
  4. package/coverage/tmp/coverage-2152-1789496974457-0.json +1 -0
  5. package/coverage/tmp/coverage-2153-1789496954404-0.json +1 -0
  6. package/dist/client/api.js +6151 -2254
  7. package/dist/client/api.js.map +1 -1
  8. package/dist/client/base.js +1 -1
  9. package/dist/client/common.js +1 -1
  10. package/dist/client/configuration.js +1 -1
  11. package/dist/client/index.js +1 -1
  12. package/dist/clientconfiguration.js +114 -26
  13. package/dist/clientconfiguration.js.map +1 -1
  14. package/dist/clientconfiguration.spec.js +159 -37
  15. package/dist/clientconfiguration.spec.js.map +1 -1
  16. package/dist/commands/add.js +36 -5
  17. package/dist/commands/add.js.map +1 -1
  18. package/dist/commands/connection/createconnections.js +4 -4
  19. package/dist/commands/connection/createconnections.js.map +1 -1
  20. package/dist/commands/connection/createconnections.spec.js +11 -1
  21. package/dist/commands/connection/createconnections.spec.js.map +1 -1
  22. package/dist/commands/connection/deleteconnection.js +4 -4
  23. package/dist/commands/connection/deleteconnection.js.map +1 -1
  24. package/dist/commands/connection/deleteconnection.spec.js +1 -1
  25. package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
  26. package/dist/commands/connection/listconnections.js +4 -4
  27. package/dist/commands/connection/listconnections.js.map +1 -1
  28. package/dist/commands/connection/listconnections.spec.js +1 -1
  29. package/dist/commands/connection/listconnections.spec.js.map +1 -1
  30. package/dist/commands/{project/createproject.js → environment/createenvironment.js} +17 -14
  31. package/dist/commands/environment/createenvironment.js.map +1 -0
  32. package/dist/commands/{project/createproject.spec.js → environment/createenvironment.spec.js} +46 -46
  33. package/dist/commands/environment/createenvironment.spec.js.map +1 -0
  34. package/dist/commands/{project/deleteproject.js → environment/deleteenvironment.js} +9 -9
  35. package/dist/commands/environment/deleteenvironment.js.map +1 -0
  36. package/dist/commands/{project/deleteproject.spec.js → environment/deleteenvironment.spec.js} +29 -29
  37. package/dist/commands/environment/deleteenvironment.spec.js.map +1 -0
  38. package/dist/commands/{project/getproject.js → environment/getenvironment.js} +8 -8
  39. package/dist/commands/environment/getenvironment.js.map +1 -0
  40. package/dist/commands/{project/getproject.spec.js → environment/getenvironment.spec.js} +32 -33
  41. package/dist/commands/environment/getenvironment.spec.js.map +1 -0
  42. package/dist/commands/{project/listprojects.js → environment/listenvironments.js} +10 -10
  43. package/dist/commands/environment/listenvironments.js.map +1 -0
  44. package/dist/commands/{project/listprojects.spec.js → environment/listenvironments.spec.js} +35 -35
  45. package/dist/commands/environment/listenvironments.spec.js.map +1 -0
  46. package/dist/commands/{project/setproject.js → environment/setenvironment.js} +6 -5
  47. package/dist/commands/environment/setenvironment.js.map +1 -0
  48. package/dist/commands/{project/setproject.spec.js → environment/setenvironment.spec.js} +9 -9
  49. package/dist/commands/environment/setenvironment.spec.js.map +1 -0
  50. package/dist/commands/environment/updateenvironment.js +130 -0
  51. package/dist/commands/environment/updateenvironment.js.map +1 -0
  52. package/dist/commands/environment/updateenvironment.spec.js +213 -0
  53. package/dist/commands/environment/updateenvironment.spec.js.map +1 -0
  54. package/dist/commands/get.js +66 -5
  55. package/dist/commands/get.js.map +1 -1
  56. package/dist/commands/legacy.js +9 -0
  57. package/dist/commands/legacy.js.map +1 -0
  58. package/dist/commands/list.js +95 -4
  59. package/dist/commands/list.js.map +1 -1
  60. package/dist/commands/materialization/cancelrun.js +62 -0
  61. package/dist/commands/materialization/cancelrun.js.map +1 -0
  62. package/dist/commands/materialization/getindex.js +52 -0
  63. package/dist/commands/materialization/getindex.js.map +1 -0
  64. package/dist/commands/materialization/getmaterialization.js +54 -0
  65. package/dist/commands/materialization/getmaterialization.js.map +1 -0
  66. package/dist/commands/materialization/getpreaggregate.js +55 -0
  67. package/dist/commands/materialization/getpreaggregate.js.map +1 -0
  68. package/dist/commands/materialization/getrun.js +54 -0
  69. package/dist/commands/materialization/getrun.js.map +1 -0
  70. package/dist/commands/materialization/listindexes.js +58 -0
  71. package/dist/commands/materialization/listindexes.js.map +1 -0
  72. package/dist/commands/materialization/listmaterializations.js +52 -0
  73. package/dist/commands/materialization/listmaterializations.js.map +1 -0
  74. package/dist/commands/materialization/listpreaggregates.js +61 -0
  75. package/dist/commands/materialization/listpreaggregates.js.map +1 -0
  76. package/dist/commands/materialization/listruns.js +60 -0
  77. package/dist/commands/materialization/listruns.js.map +1 -0
  78. package/dist/commands/materialization/rerun.js +111 -0
  79. package/dist/commands/materialization/rerun.js.map +1 -0
  80. package/dist/commands/misc/login.js +16 -2
  81. package/dist/commands/misc/login.js.map +1 -1
  82. package/dist/commands/misc/login.spec.js +133 -5
  83. package/dist/commands/misc/login.spec.js.map +1 -1
  84. package/dist/commands/package/deletepackage.js +4 -4
  85. package/dist/commands/package/deletepackage.js.map +1 -1
  86. package/dist/commands/package/deletepackage.spec.js +1 -1
  87. package/dist/commands/package/deletepackage.spec.js.map +1 -1
  88. package/dist/commands/package/listpackages.js +11 -4
  89. package/dist/commands/package/listpackages.js.map +1 -1
  90. package/dist/commands/package/listpackages.spec.js +13 -1
  91. package/dist/commands/package/listpackages.spec.js.map +1 -1
  92. package/dist/commands/package/publish.js +36 -13
  93. package/dist/commands/package/publish.js.map +1 -1
  94. package/dist/commands/package/publish.spec.js +27 -1
  95. package/dist/commands/package/publish.spec.js.map +1 -1
  96. package/dist/commands/package/updatepackage.js +4 -4
  97. package/dist/commands/package/updatepackage.js.map +1 -1
  98. package/dist/commands/package/updatepackage.spec.js +1 -1
  99. package/dist/commands/package/updatepackage.spec.js.map +1 -1
  100. package/dist/commands/permission/createpermission.js +123 -0
  101. package/dist/commands/permission/createpermission.js.map +1 -0
  102. package/dist/commands/permission/createpermission.spec.js +360 -0
  103. package/dist/commands/permission/createpermission.spec.js.map +1 -0
  104. package/dist/commands/permission/deletepermission.js +86 -0
  105. package/dist/commands/permission/deletepermission.js.map +1 -0
  106. package/dist/commands/permission/getpermission.js +85 -0
  107. package/dist/commands/permission/getpermission.js.map +1 -0
  108. package/dist/commands/permission/listpermissions.js +75 -0
  109. package/dist/commands/permission/listpermissions.js.map +1 -0
  110. package/dist/commands/permission/scope.js +140 -0
  111. package/dist/commands/permission/scope.js.map +1 -0
  112. package/dist/commands/rm.js +26 -4
  113. package/dist/commands/rm.js.map +1 -1
  114. package/dist/commands/set.js +12 -4
  115. package/dist/commands/set.js.map +1 -1
  116. package/dist/commands/update.js +29 -10
  117. package/dist/commands/update.js.map +1 -1
  118. package/dist/commands/version/archive-unarchive-version.js +4 -5
  119. package/dist/commands/version/archive-unarchive-version.js.map +1 -1
  120. package/dist/commands/version/archive-unarchive-version.spec.js +4 -4
  121. package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
  122. package/dist/commands/version/listversions.js +4 -4
  123. package/dist/commands/version/listversions.js.map +1 -1
  124. package/dist/commands/version/listversions.spec.js +1 -1
  125. package/dist/commands/version/listversions.spec.js.map +1 -1
  126. package/dist/common/UserGroupId.js +1 -1
  127. package/dist/common/UserGroupId.js.map +1 -1
  128. package/dist/common/UserGroupId.spec.js +2 -4
  129. package/dist/common/UserGroupId.spec.js.map +1 -1
  130. package/dist/constants.js +95 -19
  131. package/dist/constants.js.map +1 -1
  132. package/dist/constants.spec.js +90 -0
  133. package/dist/constants.spec.js.map +1 -0
  134. package/dist/index.js +128 -15
  135. package/dist/index.js.map +1 -1
  136. package/dist/logger.js +5 -1
  137. package/dist/logger.js.map +1 -1
  138. package/openapitools.json +4 -1
  139. package/package.json +10 -9
  140. package/src/client/api.ts +9363 -3093
  141. package/src/client/base.ts +1 -1
  142. package/src/client/common.ts +1 -1
  143. package/src/client/configuration.ts +1 -1
  144. package/src/client/index.ts +1 -1
  145. package/src/clientconfiguration.spec.ts +238 -113
  146. package/src/clientconfiguration.ts +131 -30
  147. package/src/commands/add.ts +78 -12
  148. package/src/commands/connection/createconnections.spec.ts +11 -1
  149. package/src/commands/connection/createconnections.ts +4 -4
  150. package/src/commands/connection/deleteconnection.spec.ts +1 -1
  151. package/src/commands/connection/deleteconnection.ts +4 -4
  152. package/src/commands/connection/listconnections.spec.ts +1 -1
  153. package/src/commands/connection/listconnections.ts +4 -4
  154. package/src/commands/{project/createproject.spec.ts → environment/createenvironment.spec.ts} +56 -54
  155. package/src/commands/{project/createproject.ts → environment/createenvironment.ts} +17 -14
  156. package/src/commands/{project/deleteproject.spec.ts → environment/deleteenvironment.spec.ts} +59 -30
  157. package/src/commands/{project/deleteproject.ts → environment/deleteenvironment.ts} +10 -10
  158. package/src/commands/environment/getenvironment.spec.ts +110 -0
  159. package/src/commands/{project/getproject.ts → environment/getenvironment.ts} +9 -9
  160. package/src/commands/{project/listprojects.spec.ts → environment/listenvironments.spec.ts} +37 -35
  161. package/src/commands/{project/listprojects.ts → environment/listenvironments.ts} +13 -8
  162. package/src/commands/{project/setproject.spec.ts → environment/setenvironment.spec.ts} +8 -8
  163. package/src/commands/{project/setproject.ts → environment/setenvironment.ts} +4 -4
  164. package/src/commands/environment/updateenvironment.spec.ts +386 -0
  165. package/src/commands/environment/updateenvironment.ts +168 -0
  166. package/src/commands/get.ts +131 -9
  167. package/src/commands/legacy.ts +5 -0
  168. package/src/commands/list.ts +204 -9
  169. package/src/commands/materialization/cancelrun.ts +70 -0
  170. package/src/commands/materialization/getindex.ts +55 -0
  171. package/src/commands/materialization/getmaterialization.ts +57 -0
  172. package/src/commands/materialization/getpreaggregate.ts +58 -0
  173. package/src/commands/materialization/getrun.ts +55 -0
  174. package/src/commands/materialization/listindexes.ts +69 -0
  175. package/src/commands/materialization/listmaterializations.ts +53 -0
  176. package/src/commands/materialization/listpreaggregates.ts +74 -0
  177. package/src/commands/materialization/listruns.ts +77 -0
  178. package/src/commands/materialization/rerun.ts +123 -0
  179. package/src/commands/misc/login.spec.ts +165 -7
  180. package/src/commands/misc/login.ts +20 -2
  181. package/src/commands/package/deletepackage.spec.ts +1 -1
  182. package/src/commands/package/deletepackage.ts +4 -4
  183. package/src/commands/package/listpackages.spec.ts +17 -1
  184. package/src/commands/package/listpackages.ts +11 -4
  185. package/src/commands/package/publish.spec.ts +46 -1
  186. package/src/commands/package/publish.ts +38 -13
  187. package/src/commands/package/updatepackage.spec.ts +1 -1
  188. package/src/commands/package/updatepackage.ts +4 -4
  189. package/src/commands/permission/createpermission.spec.ts +507 -0
  190. package/src/commands/permission/createpermission.ts +181 -0
  191. package/src/commands/permission/deletepermission.ts +117 -0
  192. package/src/commands/permission/getpermission.ts +115 -0
  193. package/src/commands/permission/listpermissions.ts +101 -0
  194. package/src/commands/permission/scope.ts +180 -0
  195. package/src/commands/rm.ts +54 -9
  196. package/src/commands/set.ts +13 -4
  197. package/src/commands/update.ts +66 -23
  198. package/src/commands/version/archive-unarchive-version.spec.ts +4 -4
  199. package/src/commands/version/archive-unarchive-version.ts +4 -7
  200. package/src/commands/version/listversions.spec.ts +1 -1
  201. package/src/commands/version/listversions.ts +4 -4
  202. package/src/common/UserGroupId.spec.ts +2 -4
  203. package/src/common/UserGroupId.ts +1 -1
  204. package/src/constants.spec.ts +111 -0
  205. package/src/constants.ts +131 -19
  206. package/src/index.ts +187 -18
  207. package/src/logger.ts +5 -1
  208. package/bun.lock +0 -1158
  209. package/dist/commands/project/createproject.js.map +0 -1
  210. package/dist/commands/project/createproject.spec.js.map +0 -1
  211. package/dist/commands/project/deleteproject.js.map +0 -1
  212. package/dist/commands/project/deleteproject.spec.js.map +0 -1
  213. package/dist/commands/project/getproject.js.map +0 -1
  214. package/dist/commands/project/getproject.spec.js.map +0 -1
  215. package/dist/commands/project/listprojects.js.map +0 -1
  216. package/dist/commands/project/listprojects.spec.js.map +0 -1
  217. package/dist/commands/project/setproject.js.map +0 -1
  218. package/dist/commands/project/setproject.spec.js.map +0 -1
  219. package/dist/commands/project/updateproject.js +0 -68
  220. package/dist/commands/project/updateproject.js.map +0 -1
  221. package/dist/commands/project/updateproject.spec.js +0 -129
  222. package/dist/commands/project/updateproject.spec.js.map +0 -1
  223. package/src/commands/project/getproject.spec.ts +0 -109
  224. package/src/commands/project/updateproject.spec.ts +0 -217
  225. package/src/commands/project/updateproject.ts +0 -82
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  /**
5
5
  * Credible Admin API
6
- * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Project & Package Lifecycle**: Full CRUD operations for projects, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, project, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Projects │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
6
+ * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Environment & Package Lifecycle**: Full CRUD operations for environments, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, environment, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Environments │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
7
7
  *
8
8
  * The version of the OpenAPI document: v0
9
9
  * Contact: support@credibledata.com
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  /**
5
5
  * Credible Admin API
6
- * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Project & Package Lifecycle**: Full CRUD operations for projects, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, project, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Projects │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
6
+ * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Environment & Package Lifecycle**: Full CRUD operations for environments, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, environment, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Environments │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
7
7
  *
8
8
  * The version of the OpenAPI document: v0
9
9
  * Contact: support@credibledata.com
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  /**
5
5
  * Credible Admin API
6
- * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Project & Package Lifecycle**: Full CRUD operations for projects, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, project, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Projects │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
6
+ * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Environment & Package Lifecycle**: Full CRUD operations for environments, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, environment, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Environments │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
7
7
  *
8
8
  * The version of the OpenAPI document: v0
9
9
  * Contact: support@credibledata.com
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  /**
5
5
  * Credible Admin API
6
- * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Project & Package Lifecycle**: Full CRUD operations for projects, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, project, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Projects │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
6
+ * The Credible Admin API is a comprehensive REST API that empowers organizations to manage their Malloy data modeling ecosystem with enterprise-grade security and governance. This API provides programmatic access to all administrative functions, enabling seamless integration with existing workflows and automation systems. ## Key Features - **Organization Management**: Create and manage organizations with fine-grained access controls - **Environment & Package Lifecycle**: Full CRUD operations for environments, packages, and versions - **Connection Management**: Secure database connection configuration and management - **Permission Management**: Granular role-based access control (RBAC) at organization, environment, package, workspace, and document levels - **Workspace Management**: Collaborative workspaces for data modeling and analysis - **User & Group Management**: Comprehensive user administration with group-based permissions ## Resource Hierarchy The API follows a hierarchical resource structure with fine-grained permission management at each level: ``` Organizations ├── Permissions ├── Environments │ ├── Permissions │ ├── Packages │ │ ├── Permissions │ │ └── Versions │ └── Connections ├── Workspaces │ ├── Permissions │ └── Documents │ └── Permissions └── Groups ├── Permissions └── Members System-Level Resources: ├── Users ├── System Permissions └── Demo Operations ``` ## Authentication & Authorization All API endpoints require proper authentication. The API implements fine-grained authorization using role-based permissions: - **Admin**: Full access to all resources within scope - **Modeler**: Can create and modify data models and packages - **Viewer**: Read-only access to resources - **Manager**: Workspace management capabilities - **Editor**: Document editing permissions ## Rate Limiting & Best Practices - API requests are rate-limited to ensure system stability - Implement proper error handling and retry logic - Cache responses when appropriate to reduce API calls ## Support & Documentation For additional support, examples, and integration guides, visit our developer documentation or contact our support team.
7
7
  *
8
8
  * The version of the OpenAPI document: v0
9
9
  * Contact: support@credibledata.com
@@ -3,13 +3,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ClientConfiguration = void 0;
6
+ exports.ClientConfiguration = exports.InvalidConfigError = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
7
8
  const fs_1 = __importDefault(require("fs"));
8
9
  const jwt_decode_1 = require("jwt-decode");
9
10
  const kleur_1 = __importDefault(require("kleur"));
10
11
  const os_1 = __importDefault(require("os"));
11
12
  const constants_1 = require("./constants");
12
13
  const logger_1 = require("./logger");
14
+ /**
15
+ * Thrown when `.cred` exists but cannot be used: either it does not parse as
16
+ * JSON or it parses but lacks the required top-level shape. Distinct from fs
17
+ * errors (ENOENT, EACCES) so callers that want to recover — `cred login` —
18
+ * can target *only* a corrupt-content failure and leave permission/IO errors
19
+ * to surface loudly.
20
+ */
21
+ class InvalidConfigError extends Error {
22
+ }
23
+ exports.InvalidConfigError = InvalidConfigError;
13
24
  class ClientConfiguration {
14
25
  constructor(customConfigPath) {
15
26
  this.configPath = `${os_1.default.homedir()}/.cred`;
@@ -18,25 +29,31 @@ class ClientConfiguration {
18
29
  }
19
30
  }
20
31
  loadConfig() {
32
+ let fileContents;
21
33
  try {
22
- const fileContents = fs_1.default.readFileSync(this.configPath);
23
- this.config = JSON.parse(fileContents.toString());
24
- if (!this.config.activeEnvironment ||
25
- !this.config.configPerEnvironment) {
26
- throw new Error("Corrupted config file found, restoring to default settings.");
27
- }
34
+ fileContents = fs_1.default.readFileSync(this.configPath);
28
35
  }
29
36
  catch (error) {
30
- logger_1.logger.warn(error);
31
- const configPerEnvironment = {};
32
- for (const env of constants_1.ALL_ENVIRONMENTS) {
33
- configPerEnvironment[env] = {};
37
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ENOENT") {
38
+ // First-time setup: create a default config on disk.
39
+ this.config = this.defaultConfig();
40
+ this.writeConfig();
41
+ return this.config;
34
42
  }
35
- this.config = {
36
- configPerEnvironment,
37
- activeEnvironment: "production",
38
- };
39
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
43
+ throw error;
44
+ }
45
+ try {
46
+ this.config = JSON.parse(fileContents.toString());
47
+ }
48
+ catch (error) {
49
+ // Non-atomic writes from older binaries, or a manually corrupted file,
50
+ // can leave `.cred` unparseable. Fail loud rather than silently
51
+ // overwriting — a silent reset erases the access token for every
52
+ // subsequent caller on the same machine.
53
+ throw new InvalidConfigError(`Failed to parse ${this.configPath}: ${error}. The file may be corrupt; re-run \`cred login\` to reset.`);
54
+ }
55
+ if (!this.config.activeEnvironment || !this.config.configPerEnvironment) {
56
+ throw new InvalidConfigError(`Invalid config structure in ${this.configPath}; re-run \`cred login\` to reset.`);
40
57
  }
41
58
  for (const env of constants_1.ALL_ENVIRONMENTS) {
42
59
  if (!this.config.configPerEnvironment[env]) {
@@ -45,20 +62,86 @@ class ClientConfiguration {
45
62
  }
46
63
  return this.config;
47
64
  }
65
+ /**
66
+ * Ensure `.cred` is usable, recovering from a corrupt file if needed.
67
+ *
68
+ * `loadConfig` deliberately fails loud on a corrupt/invalid file so a read
69
+ * path never silently erases tokens. But `cred login` exists precisely to
70
+ * (re)establish config, so it must be able to get past a bad file — that is
71
+ * what the "re-run `cred login` to reset" message promises. We make the
72
+ * message true here: the bad file is renamed aside (never deleted, so a
73
+ * support engineer can still inspect it) and a fresh default is written.
74
+ *
75
+ * Only an {@link InvalidConfigError} triggers recovery. fs errors such as
76
+ * EACCES are real environment problems and are rethrown — resetting would
77
+ * just fail to write anyway, and we must not mask a permissions issue as a
78
+ * successful reset.
79
+ *
80
+ * @returns the path the corrupt file was backed up to, or null if the
81
+ * existing config was already valid.
82
+ */
83
+ recoverIfCorrupt() {
84
+ try {
85
+ this.loadConfig();
86
+ return null;
87
+ }
88
+ catch (error) {
89
+ if (!(error instanceof InvalidConfigError)) {
90
+ throw error;
91
+ }
92
+ const backupPath = `${this.configPath}.corrupt-${crypto_1.default
93
+ .randomBytes(8)
94
+ .toString("hex")}`;
95
+ fs_1.default.renameSync(this.configPath, backupPath);
96
+ logger_1.logger.warn(`Existing config at ${this.configPath} was invalid and could not be read. ` +
97
+ `Backed it up to ${backupPath} and reset to defaults.`);
98
+ this.config = this.defaultConfig();
99
+ this.writeConfig();
100
+ return backupPath;
101
+ }
102
+ }
103
+ defaultConfig() {
104
+ const configPerEnvironment = {};
105
+ for (const env of constants_1.ALL_ENVIRONMENTS) {
106
+ configPerEnvironment[env] = {};
107
+ }
108
+ return { configPerEnvironment, activeEnvironment: "production" };
109
+ }
110
+ // Atomic: write to a sibling temp file, then rename into place.
111
+ // Readers either see the old file or the new file, never a truncated
112
+ // zero-byte snapshot (the window that `writeFileSync` exposes between
113
+ // open(O_TRUNC) and write).
114
+ //
115
+ // The temp suffix uses 16 bytes of crypto-random hex so the temp
116
+ // path is unguessable — a predictable name (pid + Date.now()) lets a
117
+ // co-located attacker pre-create a symlink at that path and trick
118
+ // us into clobbering an arbitrary file (CodeQL js/insecure-temporary-file).
119
+ // O_EXCL on open further refuses to follow a pre-existing entry.
120
+ writeConfig() {
121
+ const tmp = `${this.configPath}.${crypto_1.default.randomBytes(16).toString("hex")}.tmp`;
122
+ const fd = fs_1.default.openSync(tmp, fs_1.default.constants.O_WRONLY | fs_1.default.constants.O_CREAT | fs_1.default.constants.O_EXCL, 0o600);
123
+ try {
124
+ fs_1.default.writeFileSync(fd, JSON.stringify(this.config));
125
+ }
126
+ finally {
127
+ fs_1.default.closeSync(fd);
128
+ }
129
+ fs_1.default.renameSync(tmp, this.configPath);
130
+ }
48
131
  setOrganization(organizationName) {
49
132
  this.loadConfig();
50
133
  // TODO: Validate organization exists and user has access.
51
134
  const environment = this.getEnvironment();
52
135
  this.config.configPerEnvironment[environment].organization =
53
136
  organizationName;
54
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
137
+ this.writeConfig();
55
138
  }
56
139
  setProject(projectName) {
57
140
  this.loadConfig();
58
141
  // TODO: Validate project exists and user has access.
59
142
  const environment = this.getEnvironment();
60
143
  this.config.configPerEnvironment[environment].project = projectName;
61
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
144
+ this.writeConfig();
62
145
  }
63
146
  getOrganization() {
64
147
  this.loadConfig();
@@ -76,7 +159,7 @@ class ClientConfiguration {
76
159
  this.config.configPerEnvironment[environment].isServiceAccountToken =
77
160
  !userToken;
78
161
  this.config.configPerEnvironment[environment].accessToken = accessToken;
79
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
162
+ this.writeConfig();
80
163
  }
81
164
  getAuthenticationHeader() {
82
165
  const environment = this.getEnvironment();
@@ -95,7 +178,7 @@ class ClientConfiguration {
95
178
  const environment = this.getEnvironment();
96
179
  this.config.configPerEnvironment[environment].jwtAccessToken =
97
180
  jwtAccessToken;
98
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
181
+ this.writeConfig();
99
182
  }
100
183
  getJwtAccessToken() {
101
184
  this.loadConfig();
@@ -112,7 +195,7 @@ class ClientConfiguration {
112
195
  username,
113
196
  email,
114
197
  };
115
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
198
+ this.writeConfig();
116
199
  }
117
200
  getVSCodeUser() {
118
201
  this.loadConfig();
@@ -123,7 +206,7 @@ class ClientConfiguration {
123
206
  this.loadConfig();
124
207
  const environment = this.getEnvironment();
125
208
  this.config.configPerEnvironment[environment].refreshToken = refreshToken;
126
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
209
+ this.writeConfig();
127
210
  }
128
211
  getRefreshToken() {
129
212
  this.loadConfig();
@@ -144,12 +227,12 @@ class ClientConfiguration {
144
227
  this.loadConfig();
145
228
  const environment = this.getEnvironment();
146
229
  this.config.configPerEnvironment[environment] = {};
147
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
230
+ this.writeConfig();
148
231
  }
149
232
  setEnvironment(environment) {
150
233
  this.loadConfig();
151
234
  this.config.activeEnvironment = environment;
152
- fs_1.default.writeFileSync(this.configPath, JSON.stringify(this.config));
235
+ this.writeConfig();
153
236
  }
154
237
  getEnvironment() {
155
238
  this.loadConfig();
@@ -188,12 +271,17 @@ class ClientConfiguration {
188
271
  printStatus() {
189
272
  this.loadConfig();
190
273
  const tokenStatus = this.isTokenValid();
274
+ const cell = this.getEnvironment();
275
+ // The cell prints on both branches, and before anything else: an org and an
276
+ // environment name alone do not identify a cell (two cells can both hold a
277
+ // `demo`), and a stale token is most often a token for the wrong one.
278
+ console.log(kleur_1.default.green(constants_1.ASCII_TITLE));
279
+ logger_1.logger.info(`Cell: ${kleur_1.default.green(cell)} (${constants_1.controlPlanesByEnv[cell]})`);
191
280
  if (tokenStatus.valid) {
192
281
  const organization = this.getOrganization();
193
282
  const project = this.getProject();
194
- console.log(kleur_1.default.green(constants_1.ASCII_TITLE));
195
283
  logger_1.logger.info(`Organization: ${kleur_1.default.green(organization || "Not set")}`);
196
- logger_1.logger.info(`Project: ${kleur_1.default.green(project || "Not set")}`);
284
+ logger_1.logger.info(`Environment: ${kleur_1.default.green(project || "Not set")}`);
197
285
  }
198
286
  else {
199
287
  logger_1.logger.error("Failed to get status");
@@ -1 +1 @@
1
- {"version":3,"file":"clientconfiguration.js","sourceRoot":"","sources":["../src/clientconfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientconfiguration.js","sourceRoot":"","sources":["../src/clientconfiguration.ts"],"names":[],"mappings":"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"}