@osdk/cli 0.2.0 → 0.4.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 (119) hide show
  1. package/build/js/{chunk-Z3LZT4RA.cjs → chunk-D7QHLGEU.cjs} +88 -24
  2. package/build/js/chunk-D7QHLGEU.cjs.map +1 -0
  3. package/build/js/chunk-N6K26UR4.mjs +9 -0
  4. package/build/js/chunk-N6K26UR4.mjs.map +1 -0
  5. package/build/js/chunk-X2S4O5ZR.cjs +11 -0
  6. package/build/js/chunk-X2S4O5ZR.cjs.map +1 -0
  7. package/build/js/{chunk-SFT3GWI4.mjs → chunk-XNYKWAIE.mjs} +84 -26
  8. package/build/js/chunk-XNYKWAIE.mjs.map +1 -0
  9. package/build/js/{handleGenerate-ER4YF43Z.mjs → handleGenerate-A7X2XAGW.mjs} +13 -5
  10. package/build/js/handleGenerate-A7X2XAGW.mjs.map +1 -0
  11. package/build/js/{handleGenerate-UTCLNZQO.cjs → handleGenerate-WOW33WYG.cjs} +13 -5
  12. package/build/js/handleGenerate-WOW33WYG.cjs.map +1 -0
  13. package/build/js/index.cjs +341 -116
  14. package/build/js/index.cjs.map +1 -1
  15. package/build/js/index.mjs +342 -97
  16. package/build/js/index.mjs.map +1 -1
  17. package/build/js/siteDeployCommand-HSR3QDAT.mjs +82 -0
  18. package/build/js/siteDeployCommand-HSR3QDAT.mjs.map +1 -0
  19. package/build/js/siteDeployCommand-MXKGJFFB.cjs +107 -0
  20. package/build/js/siteDeployCommand-MXKGJFFB.cjs.map +1 -0
  21. package/build/js/versionDeleteCommand-6BJL5XLG.mjs +26 -0
  22. package/build/js/versionDeleteCommand-6BJL5XLG.mjs.map +1 -0
  23. package/build/js/versionDeleteCommand-RLU7UUYD.cjs +28 -0
  24. package/build/js/versionDeleteCommand-RLU7UUYD.cjs.map +1 -0
  25. package/build/js/versionGetCommand-OR4RLOLM.mjs +28 -0
  26. package/build/js/versionGetCommand-OR4RLOLM.mjs.map +1 -0
  27. package/build/js/versionGetCommand-Y2VR2WKH.cjs +30 -0
  28. package/build/js/versionGetCommand-Y2VR2WKH.cjs.map +1 -0
  29. package/build/js/versionListCommand-5KM5PFYL.cjs +34 -0
  30. package/build/js/versionListCommand-5KM5PFYL.cjs.map +1 -0
  31. package/build/js/versionListCommand-LPPGQCQF.mjs +32 -0
  32. package/build/js/versionListCommand-LPPGQCQF.mjs.map +1 -0
  33. package/build/js/versionSetCommand-LHOVVI6U.mjs +31 -0
  34. package/build/js/versionSetCommand-LHOVVI6U.mjs.map +1 -0
  35. package/build/js/versionSetCommand-VD3L5DOV.cjs +33 -0
  36. package/build/js/versionSetCommand-VD3L5DOV.cjs.map +1 -0
  37. package/build/js/versionUnsetCommand-IJT4JWBN.mjs +24 -0
  38. package/build/js/versionUnsetCommand-IJT4JWBN.mjs.map +1 -0
  39. package/build/js/versionUnsetCommand-XYBUQ6XB.cjs +26 -0
  40. package/build/js/versionUnsetCommand-XYBUQ6XB.cjs.map +1 -0
  41. package/build/types/YargsCheckError.d.ts +3 -0
  42. package/build/types/commands/site/CommonSiteArgs.d.ts +4 -2
  43. package/build/types/commands/site/deploy/SiteDeployArgs.d.ts +5 -2
  44. package/build/types/commands/site/deploy/index.d.ts +1 -1
  45. package/build/types/commands/site/deploy/logDeployCommandConfigFileOverride.d.ts +4 -0
  46. package/build/types/commands/site/deploy/siteDeployCommand.d.mts +2 -0
  47. package/build/types/commands/site/index.d.ts +3 -3
  48. package/build/types/commands/site/logSiteCommandConfigFileOverride.d.ts +4 -0
  49. package/build/types/commands/site/version/SiteVersionArgs.d.ts +4 -0
  50. package/build/types/commands/site/version/delete/index.d.ts +5 -0
  51. package/build/types/commands/site/version/delete/versionDeleteCommand.d.mts +2 -0
  52. package/build/types/commands/site/version/get/index.d.ts +4 -0
  53. package/build/types/commands/site/version/get/versionGetCommand.d.mts +2 -0
  54. package/build/types/commands/site/{versions → version}/index.d.ts +1 -1
  55. package/build/types/commands/site/version/list/index.d.ts +4 -0
  56. package/build/types/commands/site/version/list/versionListCommand.d.mts +2 -0
  57. package/build/types/commands/site/version/set/index.d.ts +5 -0
  58. package/build/types/commands/site/version/set/versionSetCommand.d.mts +2 -0
  59. package/build/types/commands/site/version/unset/index.d.ts +4 -0
  60. package/build/types/commands/site/version/unset/versionUnsetCommand.d.mts +2 -0
  61. package/build/types/commands/typescript/generate/TypescriptGenerateArgs.d.ts +1 -0
  62. package/build/types/net/artifacts/SiteAssetArtifactsService/DeleteSiteVersionRequest.d.mts +5 -0
  63. package/build/types/net/artifacts/SiteAssetArtifactsService/UploadZippedSiteAssetRequest.d.mts +6 -0
  64. package/build/types/net/artifacts/SiteAssetArtifactsService/deleteSiteVersion.d.mts +3 -2
  65. package/build/types/net/artifacts/SiteAssetArtifactsService/fetchSiteVersions.d.mts +2 -1
  66. package/build/types/net/artifacts/SiteAssetArtifactsService/uploadSiteVersion.d.mts +3 -2
  67. package/build/types/net/createConjureContext.d.mts +1 -1
  68. package/build/types/net/createInternalClientContext.d.mts +2 -0
  69. package/build/types/net/index.d.mts +1 -0
  70. package/build/types/net/internalClientContext.d.mts +4 -0
  71. package/build/types/net/third-party-application-service/fetchWebsiteRepositoryRid.d.mts +2 -1
  72. package/build/types/util/autoVersion.d.ts +8 -0
  73. package/build/types/util/autoVersion.test.d.ts +1 -0
  74. package/build/types/util/config.d.ts +25 -0
  75. package/build/types/util/config.test.d.ts +1 -0
  76. package/build/types/util/configLoader.d.ts +3 -0
  77. package/build/types/util/isValidSemver.d.ts +1 -0
  78. package/build/types/util/isValidSemver.test.d.ts +1 -0
  79. package/build/types/util/token.d.ts +21 -0
  80. package/build/types/util/token.test.d.ts +1 -0
  81. package/build/types/yargs/logConfigFileMiddleware.d.ts +1 -0
  82. package/changelog/0.3.0/pr-20.v2.yml +5 -0
  83. package/changelog/0.4.0/pr-15.v2.yml +5 -0
  84. package/changelog/0.4.0/pr-17.v2.yml +5 -0
  85. package/changelog/0.4.0/pr-35.v2.yml +5 -0
  86. package/changelog/0.4.0/pr-41.v2.yml +5 -0
  87. package/changelog/0.4.0/pr-42.v2.yml +5 -0
  88. package/changelog/@unreleased/.gitkeep +0 -0
  89. package/package.json +8 -4
  90. package/build/js/chunk-SFT3GWI4.mjs.map +0 -1
  91. package/build/js/chunk-Z3LZT4RA.cjs.map +0 -1
  92. package/build/js/handleGenerate-ER4YF43Z.mjs.map +0 -1
  93. package/build/js/handleGenerate-UTCLNZQO.cjs.map +0 -1
  94. package/build/js/handleSiteDeploy-6FPVGWP5.mjs +0 -28
  95. package/build/js/handleSiteDeploy-6FPVGWP5.mjs.map +0 -1
  96. package/build/js/handleSiteDeploy-7RXIGPRZ.cjs +0 -30
  97. package/build/js/handleSiteDeploy-7RXIGPRZ.cjs.map +0 -1
  98. package/build/js/siteDeleteCommand-3Z6TWSAT.cjs +0 -15
  99. package/build/js/siteDeleteCommand-3Z6TWSAT.cjs.map +0 -1
  100. package/build/js/siteDeleteCommand-NWXMLEZE.mjs +0 -13
  101. package/build/js/siteDeleteCommand-NWXMLEZE.mjs.map +0 -1
  102. package/build/js/siteUploadCommand-EEFMEFF7.cjs +0 -58
  103. package/build/js/siteUploadCommand-EEFMEFF7.cjs.map +0 -1
  104. package/build/js/siteUploadCommand-F533LABS.mjs +0 -33
  105. package/build/js/siteUploadCommand-F533LABS.mjs.map +0 -1
  106. package/build/js/siteVersionsCommand-BYUHGHG7.mjs +0 -27
  107. package/build/js/siteVersionsCommand-BYUHGHG7.mjs.map +0 -1
  108. package/build/js/siteVersionsCommand-W72FXGBR.cjs +0 -29
  109. package/build/js/siteVersionsCommand-W72FXGBR.cjs.map +0 -1
  110. package/build/types/commands/site/delete/DeleteArgs.d.ts +0 -4
  111. package/build/types/commands/site/delete/index.d.ts +0 -5
  112. package/build/types/commands/site/delete/siteDeleteCommand.d.mts +0 -2
  113. package/build/types/commands/site/deploy/handleSiteDeploy.d.mts +0 -2
  114. package/build/types/commands/site/upload/UploadArgs.d.ts +0 -5
  115. package/build/types/commands/site/upload/index.d.ts +0 -5
  116. package/build/types/commands/site/upload/siteUploadCommand.d.mts +0 -2
  117. package/build/types/commands/site/versions/siteVersionsCommand.d.mts +0 -2
  118. package/build/types/readCliVersionFromPackageJson.d.ts +0 -1
  119. /package/{CHANGELOG.md → CHANGELOG_OLD.md} +0 -0
@@ -1,10 +1,9 @@
1
+ import { isValidSemver } from './chunk-N6K26UR4.mjs';
1
2
  import { ExitProcessError } from './chunk-GTNZA5UY.mjs';
2
3
  import './chunk-E2SEJZTC.mjs';
3
4
  import yargs from 'yargs';
4
5
  import { hideBin } from 'yargs/helpers';
5
- import * as fs from 'fs';
6
- import { dirname } from 'path';
7
- import { fileURLToPath } from 'url';
6
+ import { promises } from 'fs';
8
7
 
9
8
  // src/commands/auth/login/index.ts
10
9
  var command = {
@@ -17,8 +16,8 @@ var command = {
17
16
  });
18
17
  },
19
18
  handler: async (args) => {
20
- const command7 = await import('./loginFlow-KGLTXVZ6.mjs');
21
- await command7.default(args);
19
+ const command11 = await import('./loginFlow-KGLTXVZ6.mjs');
20
+ await command11.default(args);
22
21
  }
23
22
  };
24
23
  var login_default = command;
@@ -39,112 +38,335 @@ var site = {
39
38
  }
40
39
  };
41
40
  var auth_default = site;
42
-
43
- // src/commands/site/delete/index.ts
44
- var command2 = {
45
- command: "delete",
46
- describe: "Delete an uploaded version",
47
- builder: (argv) => {
48
- return argv.option("siteVersion", {
49
- type: "string",
50
- demandOption: true
51
- }).option("dir", {
41
+ var CONFIG_FILE_NAMES = ["foundry.config.json"];
42
+ var CONFIG_FILE_SCHEMA = {
43
+ type: "object",
44
+ properties: {
45
+ foundryUrl: {
52
46
  type: "string"
53
- });
47
+ },
48
+ site: {
49
+ type: "object",
50
+ properties: {
51
+ application: {
52
+ type: "string"
53
+ },
54
+ directory: {
55
+ type: "string"
56
+ },
57
+ autoVersion: {
58
+ type: "object",
59
+ nullable: true,
60
+ oneOf: [{
61
+ properties: {
62
+ "type": {
63
+ const: "git-describe",
64
+ type: "string"
65
+ },
66
+ "tagPrefix": {
67
+ type: "string",
68
+ nullable: true
69
+ }
70
+ }
71
+ }],
72
+ required: ["type"]
73
+ }
74
+ },
75
+ required: ["application", "directory"]
76
+ }
54
77
  },
55
- handler: async (args) => {
56
- const command7 = await import('./siteDeleteCommand-NWXMLEZE.mjs');
57
- await command7.default(args);
78
+ required: ["foundryUrl", "site"],
79
+ additionalProperties: false
80
+ };
81
+ async function loadFoundryConfig() {
82
+ const ajvModule = await import('ajv');
83
+ const Ajv = ajvModule.default.default;
84
+ const ajv = new Ajv({
85
+ allErrors: true
86
+ });
87
+ const validate = ajv.compile(CONFIG_FILE_SCHEMA);
88
+ const Consola = await import('consola');
89
+ Consola.consola;
90
+ const {
91
+ findUp
92
+ } = await import('find-up');
93
+ const configFilePath = await findUp(CONFIG_FILE_NAMES);
94
+ if (configFilePath) {
95
+ let foundryConfig;
96
+ try {
97
+ const fileContent = await promises.readFile(configFilePath, "utf-8");
98
+ foundryConfig = JSON.parse(fileContent);
99
+ } catch {
100
+ throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}`);
101
+ }
102
+ if (!validate(foundryConfig)) {
103
+ throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);
104
+ }
105
+ return {
106
+ foundryConfig,
107
+ configFilePath
108
+ };
109
+ }
110
+ return void 0;
111
+ }
112
+
113
+ // src/util/configLoader.ts
114
+ var configPromise = void 0;
115
+ function getConfig() {
116
+ if (configPromise == null) {
117
+ configPromise = loadFoundryConfig();
118
+ }
119
+ return configPromise;
120
+ }
121
+ var configLoader_default = getConfig;
122
+
123
+ // src/YargsCheckError.ts
124
+ var YargsCheckError = class extends Error {
125
+ constructor(msg) {
126
+ super(msg);
58
127
  }
59
128
  };
60
- var delete_default = command2;
129
+
130
+ // src/commands/site/deploy/logDeployCommandConfigFileOverride.ts
131
+ async function logDeployCommandConfigFileOverride(argv, config) {
132
+ const Consola = await import('consola');
133
+ const consola = Consola.consola;
134
+ if (config?.autoVersion != null && argv.autoVersion !== config?.autoVersion.type) {
135
+ consola.debug(`Overriding "autoVersion" from config file with ${argv.autoVersion}`);
136
+ }
137
+ if (config?.directory != null && argv.directory !== config?.directory) {
138
+ consola.debug(`Overriding "directory" from config file with ${argv.directory}`);
139
+ }
140
+ if (config?.autoVersion?.tagPrefix != null && argv.gitTagPrefix != null && argv.gitTagPrefix !== config?.autoVersion.tagPrefix) {
141
+ consola.debug(`Overriding "gitTagPrefix" from config file with ${argv.gitTagPrefix}`);
142
+ }
143
+ }
61
144
 
62
145
  // src/commands/site/deploy/index.ts
63
- var command3 = {
146
+ var command2 = {
64
147
  command: "deploy",
65
148
  describe: "Deploy an uploaded version",
66
- builder: (argv) => {
149
+ builder: async (argv) => {
150
+ const config = await configLoader_default();
151
+ const siteConfig = config?.foundryConfig.site;
152
+ const directory = siteConfig?.directory;
153
+ const autoVersion = siteConfig?.autoVersion;
154
+ const gitTagPrefix = autoVersion?.tagPrefix;
67
155
  return argv.options({
68
- "siteVersion": {
156
+ directory: {
69
157
  type: "string",
70
- conflicts: "clearVersion"
71
- // group: "Deploy Version",
72
- // implies: { "clearVersion": "false" },
158
+ description: "Directory to deploy",
159
+ ...directory ? {
160
+ default: directory
161
+ } : {
162
+ demandOption: true
163
+ }
73
164
  },
74
- undeploy: {
75
- alias: "clearVersion",
76
- description: "Causes the site to no longer be deployed",
165
+ uploadOnly: {
77
166
  type: "boolean",
78
- conflicts: "siteVersion"
79
- // group: "Deploy Version",
80
- // implies: { "siteVersion": "" },
167
+ description: "Upload the directory but do not deploy it",
168
+ default: false
169
+ },
170
+ version: {
171
+ type: "string",
172
+ description: "Version to deploy",
173
+ ...autoVersion == null ? {
174
+ conflicts: "autoVersion"
175
+ } : {}
176
+ },
177
+ autoVersion: {
178
+ type: "string",
179
+ description: "Enables autoversioning. Can be set to 'git-describe' to use git describe to determine the version.",
180
+ ...autoVersion != null ? {
181
+ default: autoVersion.type
182
+ } : {
183
+ conflicts: "version"
184
+ }
185
+ },
186
+ gitTagPrefix: {
187
+ type: "string",
188
+ description: "Prefix to match git tags against when --autoVersion=git-describe is used. If not provided, a default prefix 'v' is used.",
189
+ ...gitTagPrefix ? {
190
+ default: gitTagPrefix
191
+ } : {}
192
+ }
193
+ }).group(["autoVersion", "gitTagPrefix"], "Autoversion Arguments").group(["version", "directory", "uploadOnly"], "Common Arguments").check((argv2) => {
194
+ if (autoVersion == null && argv2.autoVersion == null && argv2.version == null) {
195
+ throw new YargsCheckError("One of --version or --autoVersion must be specified");
196
+ }
197
+ const autoVersionType = argv2.autoVersion ?? autoVersion;
198
+ if (autoVersionType !== "git-describe") {
199
+ throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);
200
+ }
201
+ const gitTagPrefixValue = argv2.gitTagPrefix ?? gitTagPrefix;
202
+ if (gitTagPrefixValue != null && autoVersionType !== "git-describe") {
203
+ throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);
81
204
  }
82
- }).group(["siteVersion", "clearVersion"], "Version To Deploy (requires one of)");
205
+ return true;
206
+ }).middleware((argv2) => logDeployCommandConfigFileOverride(argv2, siteConfig));
83
207
  },
84
208
  handler: async (args) => {
85
- const command7 = await import('./handleSiteDeploy-6FPVGWP5.mjs');
86
- await command7.default(args);
209
+ const command11 = await import('./siteDeployCommand-HSR3QDAT.mjs');
210
+ await command11.default(args);
87
211
  }
88
212
  };
89
- var deploy_default = command3;
213
+ var deploy_default = command2;
90
214
 
91
- // src/commands/site/upload/index.ts
92
- var command4 = {
93
- command: "upload",
94
- describe: "Upload an application version",
215
+ // src/commands/site/logSiteCommandConfigFileOverride.ts
216
+ async function logSiteCommandConfigFileOverride(argv, config) {
217
+ const Consola = await import('consola');
218
+ const consola = Consola.consola;
219
+ if (config?.site.application != null && argv.application !== config.site.application) {
220
+ consola.debug(`Overriding "application" from config file with ${argv.application}`);
221
+ }
222
+ if (config?.foundryUrl != null && argv.foundryUrl !== config.foundryUrl) {
223
+ consola.debug(`Overriding "foundryUrl" from config file with ${argv.foundryUrl}`);
224
+ }
225
+ }
226
+
227
+ // src/commands/site/version/delete/index.ts
228
+ var command3 = {
229
+ command: "delete <version>",
230
+ describe: "Delete the specified site version.",
95
231
  builder: (argv) => {
96
- return argv.option("siteVersion", {
232
+ return argv.positional("version", {
97
233
  type: "string",
98
- demandOption: true
99
- }).option("dir", {
100
- type: "string"
234
+ demandOption: true,
235
+ description: "Version to set as live"
101
236
  });
102
237
  },
103
238
  handler: async (args) => {
104
- const command7 = await import('./siteUploadCommand-F533LABS.mjs');
105
- await command7.default(args);
239
+ const command11 = await import('./versionDeleteCommand-6BJL5XLG.mjs');
240
+ await command11.default(args);
241
+ }
242
+ };
243
+ var delete_default = command3;
244
+
245
+ // src/commands/site/version/get/index.ts
246
+ var command4 = {
247
+ command: "get",
248
+ describe: "Get the currently set live site version",
249
+ builder: (argv) => {
250
+ return argv;
251
+ },
252
+ handler: async (args) => {
253
+ const command11 = await import('./versionGetCommand-OR4RLOLM.mjs');
254
+ await command11.default(args);
106
255
  }
107
256
  };
108
- var upload_default = command4;
257
+ var get_default = command4;
109
258
 
110
- // src/commands/site/versions/index.ts
259
+ // src/commands/site/version/list/index.ts
111
260
  var command5 = {
112
- command: "versions",
261
+ command: "list",
113
262
  describe: "List application versions",
114
263
  builder: (argv) => {
115
264
  return argv;
116
265
  },
117
266
  handler: async (args) => {
118
- const command7 = await import('./siteVersionsCommand-BYUHGHG7.mjs');
119
- await command7.default(args);
267
+ const command11 = await import('./versionListCommand-LPPGQCQF.mjs');
268
+ await command11.default(args);
269
+ }
270
+ };
271
+ var list_default = command5;
272
+
273
+ // src/commands/site/version/set/index.ts
274
+ var command6 = {
275
+ command: "set <version>",
276
+ describe: "Set the live site version",
277
+ builder: (argv) => {
278
+ return argv.positional("version", {
279
+ type: "string",
280
+ demandOption: true,
281
+ description: "Version to set as live"
282
+ });
283
+ },
284
+ handler: async (args) => {
285
+ const command11 = await import('./versionSetCommand-LHOVVI6U.mjs');
286
+ await command11.default(args);
287
+ }
288
+ };
289
+ var set_default = command6;
290
+
291
+ // src/commands/site/version/unset/index.ts
292
+ var command7 = {
293
+ command: "unset",
294
+ describe: "Clear the currently set live site version.",
295
+ builder: (argv) => {
296
+ return argv;
297
+ },
298
+ handler: async (args) => {
299
+ const command11 = await import('./versionUnsetCommand-IJT4JWBN.mjs');
300
+ await command11.default(args);
120
301
  }
121
302
  };
122
- var versions_default = command5;
303
+ var unset_default = command7;
304
+
305
+ // src/commands/site/version/index.ts
306
+ var command8 = {
307
+ command: "version",
308
+ describe: "Manage application version",
309
+ builder: (argv) => {
310
+ return argv.command(list_default).command(set_default).command(unset_default).command(delete_default).command(get_default).demandCommand();
311
+ },
312
+ handler: async (args) => {
313
+ }
314
+ };
315
+ var version_default = command8;
123
316
 
124
317
  // src/commands/site/index.ts
125
- var site2 = {
318
+ var command9 = {
126
319
  command: "site",
127
320
  describe: "Manage your site",
128
- builder: (argv) => {
321
+ builder: async (argv) => {
322
+ const config = await configLoader_default();
323
+ const application = config?.foundryConfig.site.application;
324
+ const foundryUrl = config?.foundryConfig.foundryUrl;
129
325
  return argv.options({
130
- appRid: {
326
+ application: {
131
327
  type: "string",
132
- demandOption: true,
133
- coerce: (a) => a
328
+ coerce: (application2) => application2,
329
+ ...application ? {
330
+ default: application
331
+ } : {
332
+ demandOption: true
333
+ },
334
+ description: "Application RID"
134
335
  },
135
- baseUrl: {
336
+ foundryUrl: {
337
+ coerce: (foundryUrl2) => foundryUrl2.replace(/\/$/, ""),
136
338
  type: "string",
137
- demandOption: true
339
+ ...foundryUrl ? {
340
+ default: foundryUrl
341
+ } : {
342
+ demandOption: true
343
+ },
344
+ description: "Foundry Stack URL with Protocol (e.g. https://example.palantirfoundry.com)"
345
+ },
346
+ token: {
347
+ type: "string",
348
+ conflicts: "tokenFile",
349
+ description: "Foundry API Token"
350
+ },
351
+ tokenFile: {
352
+ type: "string",
353
+ conflicts: "token",
354
+ description: "Path to a file containing your Foundry API Token"
138
355
  }
139
- }).group(["appRid", "baseUrl"], "Common Arguments").command(versions_default).command(upload_default).command(delete_default).command(deploy_default).demandCommand();
356
+ }).group(["application", "foundryUrl", "token", "tokenFile"], "Common Arguments").command(version_default).command(deploy_default).check((argv2) => {
357
+ if (!argv2.foundryUrl.startsWith("https://")) {
358
+ throw new YargsCheckError("foundryUrl must start with https://");
359
+ }
360
+ return true;
361
+ }).middleware((argv2) => logSiteCommandConfigFileOverride(argv2, config?.foundryConfig)).demandCommand();
140
362
  },
141
363
  handler: async (args) => {
142
364
  }
143
365
  };
144
- var site_default = site2;
366
+ var site_default = command9;
145
367
 
146
368
  // src/commands/typescript/generate/generate.ts
147
- var command6 = {
369
+ var command10 = {
148
370
  command: "generate",
149
371
  describe: "Generate typescript from ontology",
150
372
  builder: (argv) => {
@@ -188,24 +410,31 @@ var command6 = {
188
410
  packageType: {
189
411
  default: "commonjs",
190
412
  choices: ["commonjs", "module"]
413
+ },
414
+ version: {
415
+ type: "string",
416
+ description: "Version of the generated code, or 'dev'",
417
+ demandOption: true
191
418
  }
192
- }).group(["ontologyPath", "outDir"], "Generate from a local file").group(["stack", "clientId", "outDir", "ontologyWritePath"], "OR Generate from a stack").check((argv2) => {
193
- if (argv2.ontologyPath || argv2.stack) {
194
- return true;
195
- } else {
419
+ }).group(["ontologyPath", "outDir", "version"], "Generate from a local file").group(["stack", "clientId", "outDir", "ontologyWritePath", "version"], "OR Generate from a stack").check((argv2) => {
420
+ if (!argv2.ontologyPath && !argv2.stack) {
196
421
  throw new Error("Error: Must specify either ontologyPath or stack and clientId");
197
422
  }
423
+ if (argv2.version !== "dev" && !isValidSemver(argv2.version)) {
424
+ throw new Error("Error: Version must be 'dev' or a valid semver version");
425
+ }
426
+ return true;
198
427
  });
199
428
  },
200
429
  handler: async (args) => {
201
- const command7 = await import('./handleGenerate-ER4YF43Z.mjs');
202
- await command7.default(args);
430
+ const command11 = await import('./handleGenerate-A7X2XAGW.mjs');
431
+ await command11.default(args);
203
432
  }
204
433
  };
205
- var generate_default = command6;
434
+ var generate_default = command10;
206
435
 
207
436
  // src/commands/typescript/index.ts
208
- var site3 = {
437
+ var site2 = {
209
438
  command: "typescript",
210
439
  describe: "Manage code",
211
440
  builder: (argv) => {
@@ -214,39 +443,36 @@ var site3 = {
214
443
  handler: async (args) => {
215
444
  }
216
445
  };
217
- var typescript_default = site3;
218
- async function readCliVersionFromPackageJson() {
219
- const {
220
- findUp
221
- } = await import('find-up');
222
- const __dirname = dirname(fileURLToPath(import.meta.url));
223
- const result = await findUp("package.json", {
224
- cwd: __dirname
225
- });
226
- if (!result) {
227
- return "(unknown version. No package.json found)";
228
- }
229
- const packageJson = JSON.parse(await fs.promises.readFile(result, "utf-8"));
230
- if (packageJson.version) {
231
- return `v${packageJson.version}`;
232
- } else {
233
- return "(unknown version. No version in package.json found)";
446
+ var typescript_default = site2;
447
+
448
+ // src/yargs/logConfigFileMiddleware.ts
449
+ var firstTime = true;
450
+ async function logConfigFileMiddleware() {
451
+ if (firstTime) {
452
+ firstTime = false;
453
+ const config = configLoader_default();
454
+ const configFilePath = (await config)?.configFilePath;
455
+ if (configFilePath) {
456
+ const Consola = await import('consola');
457
+ const consola = Consola.consola;
458
+ consola.debug(`Using configuration from file: "${configFilePath}"`);
459
+ }
234
460
  }
235
461
  }
236
462
 
237
463
  // src/yargs/logVersionMiddleware.ts
238
- var firstTime = true;
464
+ var firstTime2 = true;
239
465
  async function logVersionMiddleware(args) {
240
- if (firstTime) {
466
+ if (firstTime2) {
467
+ firstTime2 = false;
241
468
  const Consola = await import('consola');
242
469
  const consola = Consola.consola;
243
- consola.info(`Palantir OSDK CLI ${await readCliVersionFromPackageJson()}`);
470
+ consola.info(`Palantir OSDK CLI ${"0.4.0"}`);
244
471
  consola.level = 3 + args.verbose;
245
472
  if (consola.level > 3) {
246
473
  consola.debug(`Verbose logging enabled (${consola.level === 4 ? "debug" : "trace"})`);
247
474
  }
248
- console.log();
249
- firstTime = false;
475
+ consola.log("");
250
476
  }
251
477
  }
252
478
 
@@ -257,7 +483,7 @@ async function cli(args = process.argv) {
257
483
  type: "boolean",
258
484
  description: "Enable verbose logging",
259
485
  count: true
260
- }).demandCommand().middleware(logVersionMiddleware, true).strict().command({
486
+ }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({
261
487
  command: "unstable",
262
488
  aliases: ["experimental"],
263
489
  builder: async (argv) => {
@@ -265,13 +491,32 @@ async function cli(args = process.argv) {
265
491
  },
266
492
  handler: (_args) => {
267
493
  }
494
+ }).fail(async (msg, err, yargsContext) => {
495
+ const Consola = await import('consola');
496
+ const isVerbose = args.some((arg) => ["-v", "--v", "--verbose"].includes(arg));
497
+ if (err instanceof ExitProcessError) {
498
+ if (isVerbose) {
499
+ Consola.consola.error(err);
500
+ } else {
501
+ Consola.consola.error(err.message);
502
+ }
503
+ } else {
504
+ if (err && err instanceof YargsCheckError === false) {
505
+ throw err;
506
+ } else {
507
+ yargsContext.showHelp();
508
+ Consola.consola.log("");
509
+ console.error(msg);
510
+ }
511
+ }
512
+ process.exit(1);
268
513
  });
269
514
  try {
270
- return base.parseAsync();
271
- } catch (e) {
272
- if (e instanceof ExitProcessError) {
515
+ return await base.parseAsync();
516
+ } catch (err) {
517
+ if (err instanceof ExitProcessError) {
273
518
  const Consola = await import('consola');
274
- Consola.consola.error(e.message);
519
+ Consola.consola.error(err);
275
520
  }
276
521
  }
277
522
  }