@revos/cli 0.2.0 → 0.2.2

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 (152) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +286 -41
  3. package/dist/adapters/oclif/commands/action-runs/get.mjs +1 -1
  4. package/dist/adapters/oclif/commands/action-runs/list.mjs +8 -2
  5. package/dist/adapters/oclif/commands/actions/get-input-schema.mjs +2 -2
  6. package/dist/adapters/oclif/commands/actions/get-params-schema.mjs +2 -2
  7. package/dist/adapters/oclif/commands/actions/get.mjs +1 -1
  8. package/dist/adapters/oclif/commands/actions/list.mjs +8 -4
  9. package/dist/adapters/oclif/commands/ai-instructions/create.mjs +1 -1
  10. package/dist/adapters/oclif/commands/ai-instructions/delete.mjs +1 -1
  11. package/dist/adapters/oclif/commands/ai-instructions/get.mjs +1 -1
  12. package/dist/adapters/oclif/commands/ai-instructions/list.mjs +8 -2
  13. package/dist/adapters/oclif/commands/ai-instructions/update.mjs +1 -1
  14. package/dist/adapters/oclif/commands/api.d.mts +11 -0
  15. package/dist/adapters/oclif/commands/api.mjs +112 -0
  16. package/dist/adapters/oclif/commands/apply.d.mts +28 -0
  17. package/dist/adapters/oclif/commands/apply.mjs +77 -0
  18. package/dist/adapters/oclif/commands/auth/login.d.mts +5 -4
  19. package/dist/adapters/oclif/commands/auth/login.mjs +22 -11
  20. package/dist/adapters/oclif/commands/auth/logout.d.mts +1 -1
  21. package/dist/adapters/oclif/commands/auth/logout.mjs +7 -3
  22. package/dist/adapters/oclif/commands/auth/status.d.mts +2 -2
  23. package/dist/adapters/oclif/commands/auth/status.mjs +2 -2
  24. package/dist/adapters/oclif/commands/connections/create.d.mts +6 -0
  25. package/dist/adapters/oclif/commands/connections/create.mjs +8 -0
  26. package/dist/adapters/oclif/commands/connections/delete.d.mts +6 -0
  27. package/dist/adapters/oclif/commands/connections/delete.mjs +8 -0
  28. package/dist/adapters/oclif/commands/connections/get.d.mts +6 -0
  29. package/dist/adapters/oclif/commands/connections/get.mjs +8 -0
  30. package/dist/adapters/oclif/commands/connections/list.d.mts +6 -0
  31. package/dist/adapters/oclif/commands/connections/list.mjs +14 -0
  32. package/dist/adapters/oclif/commands/connections/update.d.mts +6 -0
  33. package/dist/adapters/oclif/commands/connections/update.mjs +8 -0
  34. package/dist/adapters/oclif/commands/cubes/create.d.mts +6 -0
  35. package/dist/adapters/oclif/commands/cubes/create.mjs +8 -0
  36. package/dist/adapters/oclif/commands/cubes/delete.d.mts +6 -0
  37. package/dist/adapters/oclif/commands/cubes/delete.mjs +8 -0
  38. package/dist/adapters/oclif/commands/cubes/get.d.mts +6 -0
  39. package/dist/adapters/oclif/commands/cubes/get.mjs +8 -0
  40. package/dist/adapters/oclif/commands/cubes/list.d.mts +6 -0
  41. package/dist/adapters/oclif/commands/cubes/list.mjs +13 -0
  42. package/dist/adapters/oclif/commands/cubes/update.d.mts +6 -0
  43. package/dist/adapters/oclif/commands/cubes/update.mjs +8 -0
  44. package/dist/adapters/oclif/commands/diff.d.mts +27 -0
  45. package/dist/adapters/oclif/commands/diff.mjs +66 -0
  46. package/dist/adapters/oclif/commands/gservice-account-keys/get.mjs +1 -1
  47. package/dist/adapters/oclif/commands/gservice-account-keys/reveal.mjs +2 -2
  48. package/dist/adapters/oclif/commands/gservice-accounts/create.mjs +1 -1
  49. package/dist/adapters/oclif/commands/gservice-accounts/delete.mjs +1 -1
  50. package/dist/adapters/oclif/commands/gservice-accounts/get.mjs +1 -1
  51. package/dist/adapters/oclif/commands/gservice-accounts/list.mjs +7 -2
  52. package/dist/adapters/oclif/commands/init.d.mts +2 -1
  53. package/dist/adapters/oclif/commands/init.mjs +28 -24
  54. package/dist/adapters/oclif/commands/org/create.mjs +1 -1
  55. package/dist/adapters/oclif/commands/org/current.d.mts +2 -2
  56. package/dist/adapters/oclif/commands/org/current.mjs +2 -2
  57. package/dist/adapters/oclif/commands/org/get.mjs +1 -1
  58. package/dist/adapters/oclif/commands/org/list.d.mts +3 -11
  59. package/dist/adapters/oclif/commands/org/list.mjs +26 -26
  60. package/dist/adapters/oclif/commands/org/switch.d.mts +3 -2
  61. package/dist/adapters/oclif/commands/org/switch.mjs +13 -5
  62. package/dist/adapters/oclif/commands/pull.d.mts +28 -0
  63. package/dist/adapters/oclif/commands/pull.mjs +88 -0
  64. package/dist/adapters/oclif/commands/score-groups/create.mjs +3 -2
  65. package/dist/adapters/oclif/commands/score-groups/delete.mjs +1 -1
  66. package/dist/adapters/oclif/commands/score-groups/get.mjs +1 -1
  67. package/dist/adapters/oclif/commands/score-groups/list.mjs +3 -2
  68. package/dist/adapters/oclif/commands/score-groups/update.mjs +1 -1
  69. package/dist/adapters/oclif/commands/scores/create.mjs +3 -2
  70. package/dist/adapters/oclif/commands/scores/delete.mjs +1 -1
  71. package/dist/adapters/oclif/commands/scores/list.mjs +3 -2
  72. package/dist/adapters/oclif/commands/scores/update.mjs +1 -1
  73. package/dist/adapters/oclif/commands/segments/create.mjs +1 -1
  74. package/dist/adapters/oclif/commands/segments/delete.mjs +1 -1
  75. package/dist/adapters/oclif/commands/segments/evaluate.mjs +2 -2
  76. package/dist/adapters/oclif/commands/segments/get-evaluation-history.mjs +2 -2
  77. package/dist/adapters/oclif/commands/segments/get-version.mjs +2 -2
  78. package/dist/adapters/oclif/commands/segments/get.mjs +1 -1
  79. package/dist/adapters/oclif/commands/segments/list-versions.mjs +16 -5
  80. package/dist/adapters/oclif/commands/segments/list.mjs +9 -2
  81. package/dist/adapters/oclif/commands/segments/restore-version.mjs +2 -2
  82. package/dist/adapters/oclif/commands/segments/update.mjs +1 -1
  83. package/dist/adapters/oclif/commands/sources/create.d.mts +11 -0
  84. package/dist/adapters/oclif/commands/sources/create.mjs +16 -0
  85. package/dist/adapters/oclif/commands/sources/delete.d.mts +6 -0
  86. package/dist/adapters/oclif/commands/sources/delete.mjs +8 -0
  87. package/dist/adapters/oclif/commands/sources/get.d.mts +6 -0
  88. package/dist/adapters/oclif/commands/sources/get.mjs +8 -0
  89. package/dist/adapters/oclif/commands/sources/list-streams.d.mts +6 -0
  90. package/dist/adapters/oclif/commands/sources/list-streams.mjs +31 -0
  91. package/dist/adapters/oclif/commands/sources/list.d.mts +6 -0
  92. package/dist/adapters/oclif/commands/sources/list.mjs +13 -0
  93. package/dist/adapters/oclif/commands/sources/update.d.mts +15 -0
  94. package/dist/adapters/oclif/commands/sources/update.mjs +21 -0
  95. package/dist/adapters/oclif/commands/status.d.mts +26 -0
  96. package/dist/adapters/oclif/commands/status.mjs +77 -0
  97. package/dist/adapters/oclif/commands/table-views/create.mjs +3 -2
  98. package/dist/adapters/oclif/commands/table-views/delete.mjs +1 -1
  99. package/dist/adapters/oclif/commands/table-views/list.mjs +3 -2
  100. package/dist/adapters/oclif/commands/table-views/update.mjs +1 -1
  101. package/dist/adapters/oclif/commands/tables/create.mjs +1 -1
  102. package/dist/adapters/oclif/commands/tables/delete.mjs +1 -1
  103. package/dist/adapters/oclif/commands/tables/get.mjs +1 -1
  104. package/dist/adapters/oclif/commands/tables/list.mjs +3 -2
  105. package/dist/adapters/oclif/commands/tables/update.mjs +1 -1
  106. package/dist/{base.command-d7VW6WTp.d.mts → base.command-D7X3ZNtY.d.mts} +0 -1
  107. package/dist/{base.command-DlVQ9Cqa.mjs → base.command-cV5d65r8.mjs} +15 -12
  108. package/dist/chunk-CfYAbeIz.mjs +13 -0
  109. package/dist/core-CMrP5BQS.mjs +2378 -0
  110. package/dist/{factory-D9sR_S_g.mjs → factory-C6XLqhT9.mjs} +44 -10
  111. package/dist/iac-render-BSZZEP0n.mjs +17 -0
  112. package/dist/index-BqKwXXAo.d.mts +598 -0
  113. package/dist/index.d.mts +3 -4
  114. package/dist/index.mjs +2 -2
  115. package/dist/{presets-Cvazkjmu.mjs → presets-CJbFbHlw.mjs} +35 -8
  116. package/dist/templates/.claude/settings.json +39 -0
  117. package/dist/templates/.devcontainer/devcontainer.json +2 -2
  118. package/dist/templates/.devcontainer/setup.sh +3 -0
  119. package/dist/templates/AGENTS.md +36 -13
  120. package/dist/templates/dbt/dbt_project.yml +2 -2
  121. package/dist/templates/skills/create-connections/SKILL.md +210 -0
  122. package/dist/templates/skills/create-connections/references/mappers.md +152 -0
  123. package/dist/templates/skills/{create-semantic-model → create-cubes}/SKILL.md +28 -26
  124. package/dist/templates/skills/create-cubes/references/bq-pk-fk-conventions.md +183 -0
  125. package/dist/templates/skills/{create-semantic-model → create-cubes}/references/cube-examples.md +85 -7
  126. package/dist/templates/skills/create-cubes/references/hubspot-entities.md +289 -0
  127. package/dist/templates/skills/create-cubes/references/jira-entities.md +201 -0
  128. package/dist/templates/skills/create-cubes/references/netsuite-entities.md +121 -0
  129. package/dist/templates/skills/create-cubes/references/stripe-entities.md +114 -0
  130. package/dist/templates/skills/create-dbt-transformations/SKILL.md +62 -33
  131. package/dist/templates/skills/create-dbt-transformations/references/edge-cases.md +21 -3
  132. package/dist/templates/skills/create-dbt-transformations/references/schema-conventions.md +21 -7
  133. package/dist/templates/skills/create-dbt-transformations/references/sql-templates.md +34 -20
  134. package/dist/templates/skills/explore-lakehouse/SKILL.md +8 -4
  135. package/dist/templates/skills/load-sample-data/SKILL.md +119 -0
  136. package/dist/templates/skills/visualize-semantic-model/SKILL.md +159 -0
  137. package/dist/templates/skills/visualize-semantic-model/scripts/render_graph.py +186 -0
  138. package/dist/{types-Y_ht_ja5.d.mts → types-CGjxcj4L.d.mts} +3 -0
  139. package/package.json +48 -6
  140. package/dist/adapters/oclif/commands/overlays/diff.d.mts +0 -19
  141. package/dist/adapters/oclif/commands/overlays/diff.mjs +0 -80
  142. package/dist/adapters/oclif/commands/overlays/pull.d.mts +0 -15
  143. package/dist/adapters/oclif/commands/overlays/pull.mjs +0 -44
  144. package/dist/adapters/oclif/commands/overlays/push.d.mts +0 -18
  145. package/dist/adapters/oclif/commands/overlays/push.mjs +0 -59
  146. package/dist/adapters/oclif/commands/overlays/status.d.mts +0 -18
  147. package/dist/adapters/oclif/commands/overlays/status.mjs +0 -53
  148. package/dist/core-gKJ_V-K5.mjs +0 -973
  149. package/dist/index-KAzwt5vr.d.mts +0 -190
  150. package/dist/types-C_p_6rkj.d.mts +0 -69
  151. /package/dist/templates/skills/{create-semantic-model → create-cubes}/references/key-patterns.md +0 -0
  152. /package/dist/templates/skills/{create-semantic-model → create-cubes}/references/validation-queries.md +0 -0
@@ -1,190 +0,0 @@
1
- import { d as PushResult, f as StatusResult, o as DiffResult, r as CubeOverlay, s as OverlayFile, t as Config, u as PullResult } from "./types-C_p_6rkj.mjs";
2
- import { c as StoredCredentials, i as OAuthCallbackResult, l as TokenResponse, r as ClerkUserInfo, s as OrganizationInfo } from "./types-Y_ht_ja5.mjs";
3
- import { Client } from "@revos/api-client";
4
-
5
- //#region src/core/errors.d.ts
6
- declare class ApiError extends Error {
7
- readonly status: number;
8
- readonly statusText: string;
9
- readonly url: string;
10
- readonly body: unknown;
11
- name: string;
12
- constructor(message: string, status: number, statusText: string, url: string, body: unknown);
13
- }
14
- //#endregion
15
- //#region src/core/config.d.ts
16
- declare function getConfig(): Promise<Config>;
17
- //#endregion
18
- //#region src/core/auth/credentials-store.d.ts
19
- declare function getCredentialsPath(): string;
20
- declare function loadCredentials(): StoredCredentials | null;
21
- declare function saveCredentials(credentials: StoredCredentials): void;
22
- declare function deleteCredentials(): boolean;
23
- declare function isTokenExpired(credentials: StoredCredentials): boolean;
24
- //#endregion
25
- //#region src/core/auth/oauth-server.d.ts
26
- interface OAuthServerResult {
27
- port: number;
28
- waitForCallback: () => Promise<OAuthCallbackResult>;
29
- shutdown: () => void;
30
- }
31
- declare function startOAuthServer(): Promise<OAuthServerResult>;
32
- //#endregion
33
- //#region src/core/auth/clerk-oauth.d.ts
34
- declare const CLERK_ENVS: {
35
- readonly production: {
36
- readonly domain: "https://clerk.revos.ai";
37
- readonly clientId: "Hkj5lEtyyF5DUQX6";
38
- };
39
- readonly development: {
40
- readonly domain: "https://strong-minnow-46.clerk.accounts.dev";
41
- readonly clientId: "o3eTaWPmeJAMfRPw";
42
- };
43
- };
44
- type ClerkEnv = keyof typeof CLERK_ENVS;
45
- interface ClerkOAuthConfig {
46
- clerkDomain?: string;
47
- clerkClientId?: string;
48
- }
49
- declare function setClerkConfig(config: ClerkOAuthConfig): void;
50
- declare function setClerkEnv(env: ClerkEnv): void;
51
- interface PKCEChallenge {
52
- codeVerifier: string;
53
- codeChallenge: string;
54
- state: string;
55
- }
56
- declare function generatePKCEChallenge(): PKCEChallenge;
57
- declare function buildAuthorizationUrl(redirectUri: string, pkce: PKCEChallenge): string;
58
- declare function exchangeCodeForTokens(code: string, redirectUri: string, codeVerifier: string): Promise<TokenResponse>;
59
- declare function getUserInfo(accessToken: string): Promise<ClerkUserInfo>;
60
- declare function tokenResponseToCredentials(tokenResponse: TokenResponse, userInfo: ClerkUserInfo): StoredCredentials;
61
- declare function refreshAccessToken(refreshToken: string): Promise<TokenResponse>;
62
- //#endregion
63
- //#region src/core/files/overlay-files.d.ts
64
- interface LoadedOverlay {
65
- filePath: string;
66
- fileName: string;
67
- overlay: OverlayFile;
68
- mtime: Date;
69
- }
70
- declare function loadOverlayFile(filePath: string): LoadedOverlay;
71
- declare function loadOverlaysFromDir(dirPath: string): LoadedOverlay[];
72
- declare function loadOverlaysByNames(dirPath: string, names: string[]): LoadedOverlay[];
73
- declare function loadOverlays(dir: string, files?: string[]): LoadedOverlay[];
74
- declare function saveOverlayToFile(dirPath: string, overlay: CubeOverlay): string;
75
- declare function getLocalOverlayNames(dirPath: string): string[];
76
- //#endregion
77
- //#region src/core/utils.d.ts
78
- declare function formatError(error: unknown): string;
79
- declare function sanitizeFileName(name: string): string;
80
- declare function isContentEqual(local: OverlayFile, remote: CubeOverlay): boolean;
81
- declare function findRemoteOnlyOverlays(localOverlays: LoadedOverlay[], remoteOverlays: CubeOverlay[]): CubeOverlay[];
82
- //#endregion
83
- //#region src/core/api/create-client.d.ts
84
- type ApiClient = Client;
85
- declare function createApiClient(config: {
86
- apiUrl: string;
87
- token: string;
88
- organizationId?: string;
89
- }): ApiClient;
90
- declare function unwrap<T extends {
91
- data: unknown;
92
- }>(result: {
93
- data?: T;
94
- error?: unknown;
95
- response?: Response;
96
- request?: Request;
97
- }): T["data"];
98
- //#endregion
99
- //#region src/core/services/push.service.d.ts
100
- interface PushOptions {
101
- dir: string;
102
- force: boolean;
103
- files?: string[];
104
- }
105
- interface PushContext {
106
- api: ApiClient;
107
- }
108
- declare class PushService {
109
- private ctx;
110
- constructor(ctx: PushContext);
111
- execute(options: PushOptions): Promise<PushResult>;
112
- }
113
- //#endregion
114
- //#region src/core/services/pull.service.d.ts
115
- interface PullOptions {
116
- dir: string;
117
- names?: string[];
118
- }
119
- interface PullContext {
120
- api: ApiClient;
121
- }
122
- declare class PullService {
123
- private ctx;
124
- constructor(ctx: PullContext);
125
- execute(options: PullOptions): Promise<PullResult>;
126
- }
127
- //#endregion
128
- //#region src/core/services/status.service.d.ts
129
- interface StatusOptions {
130
- dir: string;
131
- files?: string[];
132
- }
133
- interface StatusContext {
134
- api: ApiClient;
135
- }
136
- declare class StatusService {
137
- private ctx;
138
- constructor(ctx: StatusContext);
139
- execute(options: StatusOptions): Promise<StatusResult>;
140
- }
141
- //#endregion
142
- //#region src/core/services/diff.service.d.ts
143
- interface DiffOptions {
144
- dir: string;
145
- files?: string[];
146
- }
147
- interface DiffContext {
148
- api: ApiClient;
149
- }
150
- declare class DiffService {
151
- private ctx;
152
- constructor(ctx: DiffContext);
153
- execute(options: DiffOptions): Promise<DiffResult>;
154
- private computeDiff;
155
- private getNewOverlayChanges;
156
- }
157
- //#endregion
158
- //#region src/core/services/init.service.d.ts
159
- interface InitOptions {
160
- projectName: string;
161
- targetDir: string;
162
- apiUrl: string;
163
- token: string;
164
- organizationId?: string;
165
- organization?: OrganizationInfo;
166
- allowExistingDir?: boolean;
167
- }
168
- interface InitResult {
169
- projectDir: string;
170
- organization: OrganizationInfo;
171
- createdFiles: string[];
172
- }
173
- declare class InitService {
174
- private readonly templatesDir;
175
- private static readonly PROJECT_DIRS;
176
- private static readonly PROJECT_FILES;
177
- constructor(templatesDir: string);
178
- run(options: InitOptions): Promise<InitResult>;
179
- resolveOrganization(apiUrl: string, token: string, organizationId?: string): Promise<OrganizationInfo>;
180
- private downloadGcpKey;
181
- dryRun(projectName: string, targetDir: string): {
182
- projectDir: string;
183
- dirs: readonly string[];
184
- files: readonly string[];
185
- };
186
- private scaffold;
187
- private renderTemplate;
188
- }
189
- //#endregion
190
- export { ClerkEnv as A, tokenResponseToCredentials as B, LoadedOverlay as C, loadOverlaysByNames as D, loadOverlays as E, generatePKCEChallenge as F, isTokenExpired as G, startOAuthServer as H, getUserInfo as I, getConfig as J, loadCredentials as K, refreshAccessToken as L, PKCEChallenge as M, buildAuthorizationUrl as N, loadOverlaysFromDir as O, exchangeCodeForTokens as P, setClerkConfig as R, sanitizeFileName as S, loadOverlayFile as T, deleteCredentials as U, OAuthServerResult as V, getCredentialsPath as W, ApiError as Y, createApiClient as _, DiffOptions as a, formatError as b, StatusOptions as c, PullOptions as d, PullService as f, ApiClient as g, PushService as h, DiffContext as i, ClerkOAuthConfig as j, saveOverlayToFile as k, StatusService as l, PushOptions as m, InitResult as n, DiffService as o, PushContext as p, saveCredentials as q, InitService as r, StatusContext as s, InitOptions as t, PullContext as u, unwrap as v, getLocalOverlayNames as w, isContentEqual as x, findRemoteOnlyOverlays as y, setClerkEnv as z };
@@ -1,69 +0,0 @@
1
- import { CreateOverlayDto, OverlaysResponseDto } from "@revos/api-client";
2
-
3
- //#region src/core/types.d.ts
4
- type CubeOverlay = OverlaysResponseDto["data"][number];
5
- type CubeDefinition = CubeOverlay["data"];
6
- type OverlayFileData = CubeDefinition & {
7
- name?: string;
8
- description?: string;
9
- };
10
- type OverlayFile = CreateOverlayDto;
11
- interface Config {
12
- apiUrl: string;
13
- token: string;
14
- organizationId?: string;
15
- }
16
- type SyncStatus = "new" | "modified" | "conflict" | "synced" | "remote-only";
17
- interface OverlayStatusInfo {
18
- name: string;
19
- status: SyncStatus;
20
- localMtime?: Date;
21
- remoteUpdatedAt?: Date;
22
- }
23
- interface PushResult {
24
- created: string[];
25
- updated: string[];
26
- skipped: string[];
27
- conflicts: Array<{
28
- name: string;
29
- reason: string;
30
- }>;
31
- errors: Array<{
32
- name: string;
33
- error: string;
34
- }>;
35
- }
36
- interface PullResult {
37
- pulled: Array<{
38
- name: string;
39
- filePath: string;
40
- }>;
41
- notFound: string[];
42
- errors: Array<{
43
- name: string;
44
- error: string;
45
- }>;
46
- }
47
- interface StatusResult {
48
- statuses: OverlayStatusInfo[];
49
- hasConflicts: boolean;
50
- hasRemoteOnly: boolean;
51
- }
52
- interface DiffEntry {
53
- name: string;
54
- isNew: boolean;
55
- isRemoteOnly: boolean;
56
- isSynced: boolean;
57
- changes: DiffChange[];
58
- }
59
- interface DiffChange {
60
- field: string;
61
- type: "added" | "removed" | "modified";
62
- oldValue?: string;
63
- newValue?: string;
64
- }
65
- interface DiffResult {
66
- entries: DiffEntry[];
67
- }
68
- //#endregion
69
- export { DiffEntry as a, OverlayFileData as c, PushResult as d, StatusResult as f, DiffChange as i, OverlayStatusInfo as l, CubeDefinition as n, DiffResult as o, SyncStatus as p, CubeOverlay as r, OverlayFile as s, Config as t, PullResult as u };