@inquir/compute-cli 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +528 -406
  2. package/dist/commands/admin-tenants.d.ts +11 -0
  3. package/dist/commands/admin-tenants.d.ts.map +1 -0
  4. package/dist/commands/admin-tenants.js +318 -0
  5. package/dist/commands/admin-tenants.js.map +1 -0
  6. package/dist/commands/admin.d.ts +2 -0
  7. package/dist/commands/admin.d.ts.map +1 -0
  8. package/dist/commands/admin.js +445 -0
  9. package/dist/commands/admin.js.map +1 -0
  10. package/dist/commands/apps-describe.d.ts +9 -0
  11. package/dist/commands/apps-describe.d.ts.map +1 -0
  12. package/dist/commands/apps-describe.js +125 -0
  13. package/dist/commands/apps-describe.js.map +1 -0
  14. package/dist/commands/apps-instances.d.ts +18 -0
  15. package/dist/commands/apps-instances.d.ts.map +1 -0
  16. package/dist/commands/apps-instances.js +87 -0
  17. package/dist/commands/apps-instances.js.map +1 -0
  18. package/dist/commands/apps-observability.d.ts +15 -0
  19. package/dist/commands/apps-observability.d.ts.map +1 -0
  20. package/dist/commands/apps-observability.js +310 -0
  21. package/dist/commands/apps-observability.js.map +1 -0
  22. package/dist/commands/apps-promote.d.ts +31 -0
  23. package/dist/commands/apps-promote.d.ts.map +1 -0
  24. package/dist/commands/apps-promote.js +115 -0
  25. package/dist/commands/apps-promote.js.map +1 -0
  26. package/dist/commands/apps-resources.d.ts +6 -0
  27. package/dist/commands/apps-resources.d.ts.map +1 -0
  28. package/dist/commands/apps-resources.js +107 -0
  29. package/dist/commands/apps-resources.js.map +1 -0
  30. package/dist/commands/apps.d.ts +118 -2
  31. package/dist/commands/apps.d.ts.map +1 -1
  32. package/dist/commands/apps.js +999 -110
  33. package/dist/commands/apps.js.map +1 -1
  34. package/dist/commands/config.d.ts.map +1 -1
  35. package/dist/commands/config.js +7 -3
  36. package/dist/commands/config.js.map +1 -1
  37. package/dist/commands/delete.d.ts.map +1 -1
  38. package/dist/commands/delete.js +10 -2
  39. package/dist/commands/delete.js.map +1 -1
  40. package/dist/commands/deploy.js +3 -3
  41. package/dist/commands/deploy.js.map +1 -1
  42. package/dist/commands/init.js +15 -15
  43. package/dist/commands/login.d.ts.map +1 -1
  44. package/dist/commands/login.js +78 -33
  45. package/dist/commands/login.js.map +1 -1
  46. package/dist/commands/logout.d.ts.map +1 -1
  47. package/dist/commands/logout.js +37 -5
  48. package/dist/commands/logout.js.map +1 -1
  49. package/dist/commands/mcp.d.ts +13 -0
  50. package/dist/commands/mcp.d.ts.map +1 -1
  51. package/dist/commands/mcp.js +184 -77
  52. package/dist/commands/mcp.js.map +1 -1
  53. package/dist/commands/projects.d.ts.map +1 -1
  54. package/dist/commands/projects.js +107 -11
  55. package/dist/commands/projects.js.map +1 -1
  56. package/dist/index.js +9 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/finite-source-command-client.d.ts +3 -0
  59. package/dist/lib/finite-source-command-client.d.ts.map +1 -0
  60. package/dist/lib/finite-source-command-client.js +3 -0
  61. package/dist/lib/finite-source-command-client.js.map +1 -0
  62. package/dist/lib/mcp-io.d.ts +23 -0
  63. package/dist/lib/mcp-io.d.ts.map +1 -0
  64. package/dist/lib/mcp-io.js +185 -0
  65. package/dist/lib/mcp-io.js.map +1 -0
  66. package/dist/lib/mcp-source-commands.d.ts +17 -0
  67. package/dist/lib/mcp-source-commands.d.ts.map +1 -0
  68. package/dist/lib/mcp-source-commands.js +345 -0
  69. package/dist/lib/mcp-source-commands.js.map +1 -0
  70. package/dist/utils/api.d.ts +39 -14
  71. package/dist/utils/api.d.ts.map +1 -1
  72. package/dist/utils/api.js +43 -6
  73. package/dist/utils/api.js.map +1 -1
  74. package/dist/utils/apps-presentation.d.ts +8 -1
  75. package/dist/utils/apps-presentation.d.ts.map +1 -1
  76. package/dist/utils/apps-presentation.js +35 -1
  77. package/dist/utils/apps-presentation.js.map +1 -1
  78. package/dist/utils/auth.d.ts +21 -1
  79. package/dist/utils/auth.d.ts.map +1 -1
  80. package/dist/utils/auth.js +119 -22
  81. package/dist/utils/auth.js.map +1 -1
  82. package/dist/utils/browser.d.ts +12 -0
  83. package/dist/utils/browser.d.ts.map +1 -1
  84. package/dist/utils/browser.js +37 -16
  85. package/dist/utils/browser.js.map +1 -1
  86. package/dist/utils/errors.d.ts.map +1 -1
  87. package/dist/utils/errors.js +41 -0
  88. package/dist/utils/errors.js.map +1 -1
  89. package/dist/utils/msys-path.d.ts +14 -0
  90. package/dist/utils/msys-path.d.ts.map +1 -0
  91. package/dist/utils/msys-path.js +55 -0
  92. package/dist/utils/msys-path.js.map +1 -0
  93. package/dist/utils/package-metadata.js +1 -1
  94. package/dist/utils/project-context.d.ts.map +1 -1
  95. package/dist/utils/project-context.js +7 -5
  96. package/dist/utils/project-context.js.map +1 -1
  97. package/dist/utils/project-lookup.d.ts +10 -0
  98. package/dist/utils/project-lookup.d.ts.map +1 -0
  99. package/dist/utils/project-lookup.js +52 -0
  100. package/dist/utils/project-lookup.js.map +1 -0
  101. package/dist/utils/source-pack.d.ts +24 -0
  102. package/dist/utils/source-pack.d.ts.map +1 -0
  103. package/dist/utils/source-pack.js +63 -0
  104. package/dist/utils/source-pack.js.map +1 -0
  105. package/package.json +26 -26
  106. package/skill/SKILL.md +73 -67
@@ -1,4 +1,36 @@
1
1
  import { spawn } from 'node:child_process';
2
+ /**
3
+ * Only absolute http(s) URLs are ever handed to a launcher. The URL can come
4
+ * from the server (device-login verification URL), so anything else — other
5
+ * schemes, option-looking strings, or text with shell metacharacters that
6
+ * would not survive URL parsing — is refused.
7
+ */
8
+ export function browserLaunchUrl(url) {
9
+ let parsed;
10
+ try {
11
+ parsed = new URL(url);
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
17
+ return null;
18
+ }
19
+ return parsed.href;
20
+ }
21
+ /** Launcher command for the platform. No shell is involved on any platform. */
22
+ export function browserLaunchCommand(href, platform = process.platform) {
23
+ if (platform === 'win32') {
24
+ // Not `cmd /c start`: cmd re-parses the URL, so `&` splits it (dropping
25
+ // query parameters) and lets a crafted URL run commands. The URL protocol
26
+ // handler receives the URL as a single argument instead.
27
+ return { command: 'rundll32', args: ['url.dll,FileProtocolHandler', href] };
28
+ }
29
+ if (platform === 'darwin') {
30
+ return { command: 'open', args: [href] };
31
+ }
32
+ return { command: 'xdg-open', args: [href] };
33
+ }
2
34
  /**
3
35
  * Best-effort open of a URL in the user's default browser. Resolves to `true`
4
36
  * if a launcher process was spawned, `false` otherwise (caller should then print
@@ -6,23 +38,12 @@ import { spawn } from 'node:child_process';
6
38
  */
7
39
  export function openBrowser(url) {
8
40
  try {
9
- const platform = process.platform;
10
- let command;
11
- let args;
12
- if (platform === 'win32') {
13
- // `start` is a cmd builtin; the empty "" is the window title argument.
14
- command = 'cmd';
15
- args = ['/c', 'start', '', url];
16
- }
17
- else if (platform === 'darwin') {
18
- command = 'open';
19
- args = [url];
20
- }
21
- else {
22
- command = 'xdg-open';
23
- args = [url];
41
+ const href = browserLaunchUrl(url);
42
+ if (!href) {
43
+ return false;
24
44
  }
25
- const child = spawn(command, args, { stdio: 'ignore', detached: true });
45
+ const { command, args } = browserLaunchCommand(href);
46
+ const child = spawn(command, args, { stdio: 'ignore', detached: true, shell: false, windowsHide: true });
26
47
  child.on('error', () => undefined);
27
48
  child.unref();
28
49
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,OAAe,CAAC;QACpB,IAAI,IAAc,CAAC;QAEnB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,uEAAuE;YACvE,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,MAAM,CAAC;YACjB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,UAAU,CAAC;YACrB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,wEAAwE;QACxE,0EAA0E;QAC1E,yDAAyD;QACzD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAIA,8DAA8D;AAC9D,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEf,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAaxD,2CAA2C;IAC3C,IAAI,KAAK,IAAI,MAAM,CAElB;CACF;AAsHD,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAsBnD;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAsC/F;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,IAAI,QAAQ,CAS5C;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAMtE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAIA,8DAA8D;AAC9D,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEf,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAaxD,2CAA2C;IAC3C,IAAI,KAAK,IAAI,MAAM,CAElB;CACF;AA2KD,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAsBnD;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAsC/F;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,IAAI,QAAQ,CAS5C;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAMtE"}
@@ -66,6 +66,44 @@ function isNetworkError(error) {
66
66
  message.includes('timed out') ||
67
67
  message.includes('timeout'));
68
68
  }
69
+ /** The console's plan page; the API answers with a path relative to it. */
70
+ const CONSOLE_ORIGIN = 'https://compute.inquir.org';
71
+ function computeAccessDetails(payload) {
72
+ const details = payload?.error?.details;
73
+ return details && typeof details === 'object' ? details : {};
74
+ }
75
+ /**
76
+ * The workspace has no plan, its plan or free access ended, or its owner has
77
+ * not verified their email: nothing can be created or changed until that is
78
+ * fixed. Data is retained, and deleting resources still works.
79
+ */
80
+ function computeAccessError(error, base) {
81
+ const details = computeAccessDetails(error.payload);
82
+ const options = { ...base, code: 'COMPUTE_ACCESS_REQUIRED', exitCode: ExitCode.AUTH };
83
+ if (details.state === 'email_unverified') {
84
+ return new CliError('Verify your email to use Inquir Compute', {
85
+ ...options,
86
+ explanation: 'Creating, changing and running resources is paused until the workspace owner confirms their email in Inquir ID. Your data is retained.',
87
+ fix: `Open ${details.verifyUrl ?? 'https://id.inquir.org'}, confirm the address, then retry.`,
88
+ });
89
+ }
90
+ if (details.state === 'suspended') {
91
+ return new CliError('This workspace is suspended', {
92
+ ...options,
93
+ explanation: 'An administrator suspended this workspace. Your data is retained.',
94
+ fix: 'Contact info@inquir.org.',
95
+ command: 'inquir workspaces list',
96
+ });
97
+ }
98
+ const billing = `${CONSOLE_ORIGIN}${details.billingPath ?? '/billing'}`;
99
+ const email = (details.requestAccessUrl ?? 'mailto:info@inquir.org').replace(/^mailto:/, '');
100
+ return new CliError(details.state === 'expired' ? 'Compute access has ended for this workspace' : 'This workspace has no plan yet', {
101
+ ...options,
102
+ explanation: 'Creating, changing and running resources needs a paid plan or approved free access. Your data is retained; deleting resources still works.',
103
+ fix: `Choose a plan at ${billing}, or request free access at ${email}.`,
104
+ command: 'inquir whoami',
105
+ });
106
+ }
69
107
  /** Map an {@link ApiError} (HTTP failure) to a friendly {@link CliError}. */
70
108
  function fromApiError(error) {
71
109
  const base = {
@@ -73,6 +111,9 @@ function fromApiError(error) {
73
111
  requestId: error.requestId,
74
112
  details: error.payload,
75
113
  };
114
+ if (error.code === 'COMPUTE_ACCESS_REQUIRED') {
115
+ return computeAccessError(error, base);
116
+ }
76
117
  if (error.status === 401) {
77
118
  return new CliError('Authentication required', {
78
119
  ...base,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;CACC,CAAC;AAoBX;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,QAAQ,CAAS;IACjB,WAAW,CAAU;IACrB,KAAK,CAAU;IACf,GAAG,CAAU;IACb,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,OAAO,CAAW;IAE3B,YAAY,KAAa,EAAE,UAA2B,EAAE;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,2CAA2C;IAC3C,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,OAAO;IACP,+BAA+B;CAChC,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,UAAU,GAAc,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3D,UAAU,CAAC,IAAI,CAAE,KAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,IAAI,SAAS;YAC5E,CAAC,CAAC,MAAM,CAAE,SAAgC,CAAC,IAAI,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvF,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAUpD,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,OAAO,GAAI,OAAyD,EAAE,KAAK,EAAE,OAAO,CAAC;IAC3F,OAAO,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAe,EAAE,IAAqB;IAChE,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAoB,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvG,IAAI,OAAO,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;QACzC,OAAO,IAAI,QAAQ,CAAC,yCAAyC,EAAE;YAC7D,GAAG,OAAO;YACV,WAAW,EAAE,wIAAwI;YACrJ,GAAG,EAAE,QAAQ,OAAO,CAAC,SAAS,IAAI,uBAAuB,oCAAoC;SAC9F,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,QAAQ,CAAC,6BAA6B,EAAE;YACjD,GAAG,OAAO;YACV,WAAW,EAAE,mEAAmE;YAChF,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,cAAc,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7F,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,gCAAgC,EAAE;QAClI,GAAG,OAAO;QACV,WAAW,EAAE,4IAA4I;QACzJ,GAAG,EAAE,oBAAoB,OAAO,+BAA+B,KAAK,GAAG;QACvE,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,YAAY,CAAC,KAAe;IACnC,MAAM,IAAI,GAAoB;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,MAAM,EAAE;QAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC7C,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,QAAQ,CAAC,yBAAyB,EAAE;YAC7C,GAAG,IAAI;YACP,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,KAAK,EAAE,oDAAoD;YAC3D,GAAG,EAAE,4DAA4D;YACjE,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE;YACvC,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW;YAC/B,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,KAAK,EAAE,0DAA0D;YACjE,GAAG,EAAE,6CAA6C;YAClD,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC/B,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW;YAC/B,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,KAAK,EAAE,0DAA0D;YACjE,GAAG,EAAE,6CAA6C;YAClD,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjD,OAAO,IAAI,QAAQ,CAAC,kBAAkB,EAAE;YACtC,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,kBAAkB;YACtC,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,KAAK,EAAE,4CAA4C;SACpD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,yEAAyE;QACzE,0EAA0E;QAC1E,kDAAkD;QAClD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,EAAE;YAC/C,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,UAAU;YAC9B,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,KAAK,EAAE,+DAA+D;SACvE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE;YAClC,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,cAAc;YAClC,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,GAAG,EAAE,8BAA8B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE;QAClC,GAAG,IAAI;QACP,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,MAAM,EAAE;QAC1C,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,KAAK,EAAE,2CAA2C;QAClD,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,gBAAgB;KACxG,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,WAAW,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACnE,KAAK,EAAE,yCAAyC;YAChD,GAAG,EAAE,kDAAkD;YACvD,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC1E,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KAC1D,CAAC,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,OAA4C;IACvF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK;gBACzC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF;SACF,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,EAAE,EAAQ,EAAE;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3D,OAAO,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1G,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE;QAC3C,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,gDAAgD;QACvD,GAAG,EAAE,qDAAqD;QAC1D,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAgB;IAC1D,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;QAC3B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const MSYS_PATH_HINT: string;
2
+ export interface ContainerPathArgument {
3
+ /** The path to use: unchanged, or recovered from an MSYS rewrite. */
4
+ value: string;
5
+ /** Set when the value was a rewritten Windows path that was recovered. */
6
+ recoveredFrom?: string;
7
+ }
8
+ /**
9
+ * Undo Git Bash's path conversion for a flag that takes a Linux container
10
+ * path (`flag` names it in the error). `//healthz` (the documented MSYS
11
+ * escape) is normalised to `/healthz`.
12
+ */
13
+ export declare function containerPathArgument(value: string, flag: string, env?: NodeJS.ProcessEnv): ContainerPathArgument;
14
+ //# sourceMappingURL=msys-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msys-path.d.ts","sourceRoot":"","sources":["../../src/utils/msys-path.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,cAAc,QAE8D,CAAC;AAE1F,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,CAiB9H"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Git Bash (MSYS2/Cygwin) rewrites an argument that starts with `/` into a
3
+ * Windows path under its own install root before node ever sees it:
4
+ * `--health-path /healthz` arrives as `C:/Program Files/Git/healthz`. A
5
+ * container path can never be a Windows path, so such a value is either
6
+ * recovered, when the install root is known for certain, or refused with the
7
+ * exact workaround.
8
+ */
9
+ import { CliError, ExitCode } from './errors.js';
10
+ /** A drive-letter path, `C:/...` or `C:\...`. */
11
+ const WINDOWS_ABSOLUTE = /^[A-Za-z]:[\\/]/;
12
+ /**
13
+ * The default install roots of Git for Windows, MSYS2 and Cygwin. A path
14
+ * under any other folder named `git` (Scoop's `.../apps/git/current`, a
15
+ * portable `D:/git/PortableGit`) is ambiguous without the shell's own root.
16
+ */
17
+ const DEFAULT_ROOTS = /^[A-Za-z]:[\\/](?:Program Files(?: \(x86\))?[\\/]Git|msys64|msys32|cygwin64|cygwin)(?=[\\/]|$)/i;
18
+ export const MSYS_PATH_HINT = 'Git Bash rewrote a /path argument into a Windows path. Run the command with MSYS_NO_PATHCONV=1 '
19
+ + '(MSYS_NO_PATHCONV=1 inquir ...), or write the path with a double slash (//healthz).';
20
+ const slashes = (value) => value.replace(/\\/g, '/').replace(/\/+$/, '');
21
+ /**
22
+ * The shell's install root as Git Bash reports it: EXEPATH is the folder
23
+ * git-bash.exe ran from (the install root, or its `bin`).
24
+ */
25
+ function shellRoots(env) {
26
+ const exePath = env.EXEPATH ? slashes(env.EXEPATH) : '';
27
+ if (!WINDOWS_ABSOLUTE.test(`${exePath}/`))
28
+ return [];
29
+ return /\/(?:usr\/)?bin$/i.test(exePath) ? [exePath.replace(/\/(?:usr\/)?bin$/i, ''), exePath] : [exePath];
30
+ }
31
+ /**
32
+ * Undo Git Bash's path conversion for a flag that takes a Linux container
33
+ * path (`flag` names it in the error). `//healthz` (the documented MSYS
34
+ * escape) is normalised to `/healthz`.
35
+ */
36
+ export function containerPathArgument(value, flag, env = process.env) {
37
+ if (value.startsWith('//'))
38
+ return { value: value.replace(/^\/+/, '/') };
39
+ if (!WINDOWS_ABSOLUTE.test(value))
40
+ return { value };
41
+ const normalized = value.replace(/\\/g, '/');
42
+ const root = shellRoots(env).find((candidate) => normalized.toLowerCase() === candidate.toLowerCase()
43
+ || normalized.toLowerCase().startsWith(`${candidate.toLowerCase()}/`))
44
+ ?? DEFAULT_ROOTS.exec(normalized)?.[0];
45
+ if (root) {
46
+ const rest = normalized.slice(root.length);
47
+ return { value: rest.startsWith('/') ? rest : `/${rest}`, recoveredFrom: value };
48
+ }
49
+ throw new CliError(`${flag} must be a path inside the Linux container, not '${value}'`, {
50
+ code: 'INVALID_CONTAINER_PATH',
51
+ exitCode: ExitCode.USAGE,
52
+ fix: MSYS_PATH_HINT,
53
+ });
54
+ }
55
+ //# sourceMappingURL=msys-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msys-path.js","sourceRoot":"","sources":["../../src/utils/msys-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,iDAAiD;AACjD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,aAAa,GAAG,iGAAiG,CAAC;AAExH,MAAM,CAAC,MAAM,cAAc,GACzB,iGAAiG;MAC/F,qFAAqF,CAAC;AAS1F,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEjF;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAsB;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrD,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC7G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,IAAY,EAAE,MAAyB,OAAO,CAAC,GAAG;IACrG,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IACzE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9C,UAAU,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;WACjD,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;WACnE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,oDAAoD,KAAK,GAAG,EAAE;QACtF,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,GAAG,EAAE,cAAc;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -17,6 +17,6 @@ export function getCliVersion() {
17
17
  return readCliPackageJson().version ?? '0.1.0';
18
18
  }
19
19
  export function getSdkDependencyRange() {
20
- return readCliPackageJson().dependencies?.['@inquir/compute'] ?? '^0.3.0';
20
+ return readCliPackageJson().dependencies?.['@inquir/compute'] ?? '^0.4.2';
21
21
  }
22
22
  //# sourceMappingURL=package-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.d.ts","sourceRoot":"","sources":["../../src/utils/project-context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAKzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,UAAU,EAAE,iBAAiB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,gFAAgF;AAChF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAWzB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB/F;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatG;AAED,4FAA4F;AAC5F,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAqBhE"}
1
+ {"version":3,"file":"project-context.d.ts","sourceRoot":"","sources":["../../src/utils/project-context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAMzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,UAAU,EAAE,iBAAiB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,gFAAgF;AAChF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAWzB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB/F;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatG;AAED,4FAA4F;AAC5F,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAsBhE"}
@@ -7,6 +7,7 @@ import { getMe } from './api.js';
7
7
  import { readFlagValue, readWorkspaceDir } from './args.js';
8
8
  import { resolveAuthConfig } from './auth.js';
9
9
  import { CliError, ExitCode, usageError } from './errors.js';
10
+ import { resolveProject } from './project-lookup.js';
10
11
  function digest(value) {
11
12
  return createHash('sha256').update(JSON.stringify(value)).digest('hex');
12
13
  }
@@ -72,11 +73,12 @@ export async function resolveCreateProject(args, apiOptions) {
72
73
  const flags = terminator === -1 ? args : args.slice(0, terminator);
73
74
  const hasProject = flags.some((arg) => arg === '--project' || arg.startsWith('--project='));
74
75
  if (hasProject) {
75
- const projectId = readFlagValue(args, '--project')?.trim();
76
- if (!projectId)
77
- throw usageError('Missing project selector', 'inquir apps create <name> --project <id|slug>');
78
- // The create endpoint validates the project together with the application write.
79
- return { projectId, apiOptions };
76
+ const selector = readFlagValue(args, '--project')?.trim();
77
+ if (!selector)
78
+ throw usageError('Missing project selector', 'inquir apps create <name> --project <project>');
79
+ // A display name is resolved to its id here; the create endpoint still
80
+ // validates the project together with the application write.
81
+ return { projectId: (await resolveProject(selector, apiOptions)).id, apiOptions };
80
82
  }
81
83
  // Fresh CLI installations need no identity request merely to use the server default.
82
84
  const directory = await contextDirectory(args, apiOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/utils/project-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/utils/project-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ProjectDetail } from '../sdk.js';
2
+ import { type ApiRequestOptions } from './api.js';
3
+ export declare function isNotFound(error: unknown): boolean;
4
+ /**
5
+ * A project by the id or slug the API takes, or by its display name — the
6
+ * only thing the dashboard shows. A name is tried only after the API answered
7
+ * 404, so an id or slug always wins, and only a unique one is accepted.
8
+ */
9
+ export declare function resolveProject(selector: string, apiOptions: ApiRequestOptions): Promise<ProjectDetail>;
10
+ //# sourceMappingURL=project-lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-lookup.d.ts","sourceRoot":"","sources":["../../src/utils/project-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAkBD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgB5G"}
@@ -0,0 +1,52 @@
1
+ import { ApiError } from '../sdk.js';
2
+ import { getProject, listProjects } from './api.js';
3
+ import { CliError, ExitCode } from './errors.js';
4
+ /** A lookup by name reads the project list; bounded like the other list scans. */
5
+ const MAX_PROJECT_LIST_PAGES = 20;
6
+ export function isNotFound(error) {
7
+ return error instanceof ApiError && error.status === 404;
8
+ }
9
+ async function projectsNamed(name, apiOptions) {
10
+ const byId = new Map();
11
+ let cursor;
12
+ for (let page = 0; page < MAX_PROJECT_LIST_PAGES; page++) {
13
+ const result = await listProjects({ limit: 100, cursor }, apiOptions);
14
+ for (const project of result.items)
15
+ byId.set(project.id, project);
16
+ if (!result.nextCursor || result.nextCursor === cursor)
17
+ break;
18
+ cursor = result.nextCursor;
19
+ }
20
+ const projects = [...byId.values()];
21
+ const exact = projects.filter((project) => project.name === name);
22
+ if (exact.length > 0)
23
+ return exact;
24
+ const folded = name.toLocaleLowerCase();
25
+ return projects.filter((project) => project.name.toLocaleLowerCase() === folded);
26
+ }
27
+ /**
28
+ * A project by the id or slug the API takes, or by its display name — the
29
+ * only thing the dashboard shows. A name is tried only after the API answered
30
+ * 404, so an id or slug always wins, and only a unique one is accepted.
31
+ */
32
+ export async function resolveProject(selector, apiOptions) {
33
+ try {
34
+ return await getProject(selector, apiOptions);
35
+ }
36
+ catch (error) {
37
+ if (!isNotFound(error))
38
+ throw error;
39
+ const named = await projectsNamed(selector, apiOptions);
40
+ if (named.length === 1)
41
+ return getProject(named[0].id, apiOptions);
42
+ if (named.length > 1) {
43
+ throw new CliError(`Several projects are named '${selector}'`, {
44
+ code: 'AMBIGUOUS_PROJECT',
45
+ exitCode: ExitCode.USAGE,
46
+ fix: `Use the slug of the one you mean: ${named.map((project) => project.slug).join(', ')}`,
47
+ });
48
+ }
49
+ throw error;
50
+ }
51
+ }
52
+ //# sourceMappingURL=project-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-lookup.js","sourceRoot":"","sources":["../../src/utils/project-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoC,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,YAAY,EAA0B,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,kFAAkF;AAClF,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,UAA6B;IACtE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,IAAI,MAA0B,CAAC;IAC/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;QACtE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM;YAAE,MAAM;QAC9D,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,MAAM,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,UAA6B;IAClF,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC,+BAA+B,QAAQ,GAAG,EAAE;gBAC7D,IAAI,EAAE,mBAAmB;gBACzB,QAAQ,EAAE,QAAQ,CAAC,KAAK;gBACxB,GAAG,EAAE,qCAAqC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC5F,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Packing a source directory for an upload (`apps deploy`/`apps build`,
3
+ * `inquir deploy`), and saying what was left out: the files the build
4
+ * context's .dockerignore/.inquirignore excluded, and the secret-like files
5
+ * the SDK always keeps out (.env, private keys, literal registry tokens, ...).
6
+ */
7
+ import { type SourceArchive } from '../sdk.js';
8
+ /** The lines that describe what an archive left out; empty when nothing notable was. */
9
+ export declare function describeSourceArchive(archive: Pick<SourceArchive, 'ignoreFiles' | 'ignoredByRules' | 'excludedSecrets' | 'ignoreRulesSkipped'>): {
10
+ info: string[];
11
+ warnings: string[];
12
+ };
13
+ /**
14
+ * Pack `dir` and report what was left out (to stderr under --json, so stdout
15
+ * stays parseable). `context`/`dockerfile` are the build's own (`--context`,
16
+ * `--dockerfile`); without `--context`, an inquir.yaml that may set one
17
+ * makes the upload skip ignore rules rather than guess.
18
+ */
19
+ export declare function packSourceForUpload(dir: string, options?: {
20
+ json?: boolean;
21
+ context?: string;
22
+ dockerfile?: string;
23
+ }): Promise<string>;
24
+ //# sourceMappingURL=source-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-pack.d.ts","sourceRoot":"","sources":["../../src/utils/source-pack.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAK1F,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC,GACxG;IACD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAmBA;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Packing a source directory for an upload (`apps deploy`/`apps build`,
3
+ * `inquir deploy`), and saying what was left out: the files the build
4
+ * context's .dockerignore/.inquirignore excluded, and the secret-like files
5
+ * the SDK always keeps out (.env, private keys, literal registry tokens, ...).
6
+ */
7
+ import { createSourceArchive, manifestBuildContext } from '../sdk.js';
8
+ import { dim, printInfo, printWarning } from './output.js';
9
+ const LISTED_SECRETS = 5;
10
+ /** The lines that describe what an archive left out; empty when nothing notable was. */
11
+ export function describeSourceArchive(archive) {
12
+ const info = [];
13
+ const warnings = [];
14
+ if (archive.ignoreFiles.length > 0) {
15
+ info.push(` ${archive.ignoreFiles.join(' + ')}: ${archive.ignoredByRules} file(s) left out`);
16
+ }
17
+ if (archive.ignoreRulesSkipped) {
18
+ info.push(` .dockerignore not applied to the upload: ${archive.ignoreRulesSkipped} (the builder still applies it)`);
19
+ }
20
+ const secrets = archive.excludedSecrets;
21
+ if (secrets.length > 0) {
22
+ const listed = secrets.slice(0, LISTED_SECRETS).map((entry) => `${entry.path} (${entry.reason})`).join(', ');
23
+ const more = secrets.length > LISTED_SECRETS ? ` and ${secrets.length - LISTED_SECRETS} more` : '';
24
+ warnings.push(`Not uploaded — secret-like file(s): ${listed}${more}.`);
25
+ warnings.push(' Secrets never leave this machine in a source upload, and no ignore file can re-include them.');
26
+ warnings.push(' Runtime values: inquir apps update <app> --set KEY=VALUE. Build-time values (e.g. NEXT_PUBLIC_* from');
27
+ warnings.push(' .env.production): declare ARG in the Dockerfile and pass --build-arg KEY=VALUE.');
28
+ }
29
+ return { info, warnings };
30
+ }
31
+ /**
32
+ * Pack `dir` and report what was left out (to stderr under --json, so stdout
33
+ * stays parseable). `context`/`dockerfile` are the build's own (`--context`,
34
+ * `--dockerfile`); without `--context`, an inquir.yaml that may set one
35
+ * makes the upload skip ignore rules rather than guess.
36
+ */
37
+ export async function packSourceForUpload(dir, options = {}) {
38
+ // The server merges flags over the manifest field by field
39
+ // (resolveBuildSection): a --context flag still builds the manifest's
40
+ // dockerfile unless --dockerfile is given too.
41
+ const manifest = await manifestBuildContext(dir);
42
+ const dockerfile = options.dockerfile ?? manifest.dockerfile;
43
+ const archive = await createSourceArchive(dir, {
44
+ // null (an unknown context) must survive: `??` would turn it into '.'.
45
+ context: options.context !== undefined ? options.context : manifest.context,
46
+ ...(dockerfile ? { dockerfile } : {}),
47
+ });
48
+ const { info, warnings } = describeSourceArchive(archive);
49
+ for (const line of warnings) {
50
+ if (options.json)
51
+ process.stderr.write(`${line}\n`);
52
+ else
53
+ printWarning(line);
54
+ }
55
+ for (const line of info) {
56
+ if (options.json)
57
+ process.stderr.write(`${line}\n`);
58
+ else
59
+ printInfo(dim(line));
60
+ }
61
+ return archive.base64;
62
+ }
63
+ //# sourceMappingURL=source-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-pack.js","sourceRoot":"","sources":["../../src/utils/source-pack.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,34 +1,34 @@
1
- {
2
- "name": "@inquir/compute-cli",
3
- "version": "0.3.0",
4
- "type": "module",
5
- "description": "Workspace-first CLI for Inquir Compute.",
6
- "bin": {
7
- "inquir": "./dist/index.js"
8
- },
9
- "files": [
10
- "dist",
11
- "skill"
12
- ],
13
- "scripts": {
14
- "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
1
+ {
2
+ "name": "@inquir/compute-cli",
3
+ "version": "0.4.1",
4
+ "type": "module",
5
+ "description": "Workspace-first CLI for Inquir Compute.",
6
+ "bin": {
7
+ "inquir": "./dist/index.js"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "skill"
12
+ ],
13
+ "scripts": {
14
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
15
15
  "build": "npm run clean && npm --prefix ../.. run build --workspace @inquir/compute && tsc -p tsconfig.json",
16
- "build:self": "tsc -p tsconfig.json",
16
+ "build:self": "tsc -p tsconfig.json",
17
17
  "prepack": "npm run build",
18
- "test": "npx vitest run -c vitest.config.ts"
19
- },
18
+ "test": "npx vitest run -c vitest.config.ts"
19
+ },
20
20
  "publishConfig": {
21
21
  "access": "public"
22
22
  },
23
23
  "engines": {
24
24
  "node": ">=22"
25
25
  },
26
- "dependencies": {
27
- "@inquir/compute": "^0.3.0",
28
- "tsx": "^4.19.2"
29
- },
30
- "devDependencies": {
31
- "@types/node": "^22.9.0",
32
- "typescript": "^5.6.3"
33
- }
34
- }
26
+ "dependencies": {
27
+ "@inquir/compute": "^0.4.2",
28
+ "tsx": "^4.19.2"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "^22.9.0",
32
+ "typescript": "^5.6.3"
33
+ }
34
+ }