oblien 2.0.4 → 2.0.6

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 (145) hide show
  1. package/dist/cli/auth.d.ts +3 -3
  2. package/dist/cli/auth.d.ts.map +1 -1
  3. package/dist/cli/auth.js +27 -16
  4. package/dist/cli/auth.js.map +1 -1
  5. package/dist/cli/commands/api-access.d.ts.map +1 -1
  6. package/dist/cli/commands/api-access.js +8 -14
  7. package/dist/cli/commands/api-access.js.map +1 -1
  8. package/dist/cli/commands/auth.d.ts +12 -0
  9. package/dist/cli/commands/auth.d.ts.map +1 -0
  10. package/dist/cli/commands/auth.js +176 -0
  11. package/dist/cli/commands/auth.js.map +1 -0
  12. package/dist/cli/commands/config.js +14 -9
  13. package/dist/cli/commands/config.js.map +1 -1
  14. package/dist/cli/commands/exec.d.ts.map +1 -1
  15. package/dist/cli/commands/exec.js +39 -59
  16. package/dist/cli/commands/exec.js.map +1 -1
  17. package/dist/cli/commands/files.d.ts.map +1 -1
  18. package/dist/cli/commands/files.js +133 -17
  19. package/dist/cli/commands/files.js.map +1 -1
  20. package/dist/cli/commands/helpers.d.ts +29 -0
  21. package/dist/cli/commands/helpers.d.ts.map +1 -0
  22. package/dist/cli/commands/helpers.js +61 -0
  23. package/dist/cli/commands/helpers.js.map +1 -0
  24. package/dist/cli/commands/images.d.ts.map +1 -1
  25. package/dist/cli/commands/images.js +2 -5
  26. package/dist/cli/commands/images.js.map +1 -1
  27. package/dist/cli/commands/lifecycle.d.ts.map +1 -1
  28. package/dist/cli/commands/lifecycle.js +9 -14
  29. package/dist/cli/commands/lifecycle.js.map +1 -1
  30. package/dist/cli/commands/logs.d.ts.map +1 -1
  31. package/dist/cli/commands/logs.js +9 -19
  32. package/dist/cli/commands/logs.js.map +1 -1
  33. package/dist/cli/commands/metadata.d.ts.map +1 -1
  34. package/dist/cli/commands/metadata.js +5 -11
  35. package/dist/cli/commands/metadata.js.map +1 -1
  36. package/dist/cli/commands/metrics.d.ts.map +1 -1
  37. package/dist/cli/commands/metrics.js +6 -12
  38. package/dist/cli/commands/metrics.js.map +1 -1
  39. package/dist/cli/commands/namespaces.d.ts +3 -0
  40. package/dist/cli/commands/namespaces.d.ts.map +1 -0
  41. package/dist/cli/commands/namespaces.js +205 -0
  42. package/dist/cli/commands/namespaces.js.map +1 -0
  43. package/dist/cli/commands/network.d.ts.map +1 -1
  44. package/dist/cli/commands/network.js +2 -5
  45. package/dist/cli/commands/network.js.map +1 -1
  46. package/dist/cli/commands/public-access.d.ts.map +1 -1
  47. package/dist/cli/commands/public-access.js +5 -15
  48. package/dist/cli/commands/public-access.js.map +1 -1
  49. package/dist/cli/commands/search.d.ts.map +1 -1
  50. package/dist/cli/commands/search.js +4 -7
  51. package/dist/cli/commands/search.js.map +1 -1
  52. package/dist/cli/commands/skills.js +2 -2
  53. package/dist/cli/commands/snapshots.d.ts.map +1 -1
  54. package/dist/cli/commands/snapshots.js +14 -19
  55. package/dist/cli/commands/snapshots.js.map +1 -1
  56. package/dist/cli/commands/ssh.d.ts.map +1 -1
  57. package/dist/cli/commands/ssh.js +52 -19
  58. package/dist/cli/commands/ssh.js.map +1 -1
  59. package/dist/cli/commands/terminal.d.ts.map +1 -1
  60. package/dist/cli/commands/terminal.js +6 -16
  61. package/dist/cli/commands/terminal.js.map +1 -1
  62. package/dist/cli/commands/usage.d.ts.map +1 -1
  63. package/dist/cli/commands/usage.js +13 -18
  64. package/dist/cli/commands/usage.js.map +1 -1
  65. package/dist/cli/commands/watcher.d.ts.map +1 -1
  66. package/dist/cli/commands/watcher.js +6 -16
  67. package/dist/cli/commands/watcher.js.map +1 -1
  68. package/dist/cli/commands/workloads.d.ts.map +1 -1
  69. package/dist/cli/commands/workloads.js +28 -40
  70. package/dist/cli/commands/workloads.js.map +1 -1
  71. package/dist/cli/commands/workspaces.d.ts.map +1 -1
  72. package/dist/cli/commands/workspaces.js +9 -15
  73. package/dist/cli/commands/workspaces.js.map +1 -1
  74. package/dist/cli/config-store.d.ts +5 -2
  75. package/dist/cli/config-store.d.ts.map +1 -1
  76. package/dist/cli/config-store.js.map +1 -1
  77. package/dist/cli/index.d.ts +2 -2
  78. package/dist/cli/index.js +28 -7
  79. package/dist/cli/index.js.map +1 -1
  80. package/dist/cli/output.d.ts +2 -2
  81. package/dist/cli/output.js +2 -2
  82. package/dist/client.d.ts +3 -3
  83. package/dist/client.js +3 -3
  84. package/dist/http.d.ts.map +1 -1
  85. package/dist/http.js +15 -6
  86. package/dist/http.js.map +1 -1
  87. package/dist/index.d.ts +1 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/mcp/index.d.ts +3 -0
  90. package/dist/mcp/index.d.ts.map +1 -0
  91. package/dist/mcp/index.js +29 -0
  92. package/dist/mcp/index.js.map +1 -0
  93. package/dist/mcp/tools.d.ts +4 -0
  94. package/dist/mcp/tools.d.ts.map +1 -0
  95. package/dist/mcp/tools.js +370 -0
  96. package/dist/mcp/tools.js.map +1 -0
  97. package/dist/namespace.d.ts +6 -6
  98. package/dist/namespace.js +6 -6
  99. package/dist/resources/api-access.d.ts +1 -1
  100. package/dist/resources/api-access.js +1 -1
  101. package/dist/resources/lifecycle.d.ts +2 -2
  102. package/dist/resources/lifecycle.js +2 -2
  103. package/dist/resources/logs.d.ts +1 -1
  104. package/dist/resources/logs.js +1 -1
  105. package/dist/resources/metrics.d.ts +1 -1
  106. package/dist/resources/metrics.js +1 -1
  107. package/dist/resources/network.d.ts +1 -1
  108. package/dist/resources/network.js +1 -1
  109. package/dist/resources/public-access.d.ts +1 -1
  110. package/dist/resources/public-access.js +1 -1
  111. package/dist/resources/resources.d.ts +1 -1
  112. package/dist/resources/resources.js +1 -1
  113. package/dist/runtime/exec.d.ts +2 -2
  114. package/dist/runtime/exec.js +2 -2
  115. package/dist/runtime/files.d.ts +1 -1
  116. package/dist/runtime/files.js +1 -1
  117. package/dist/runtime/transfer.d.ts +34 -0
  118. package/dist/runtime/transfer.d.ts.map +1 -0
  119. package/dist/runtime/transfer.js +49 -0
  120. package/dist/runtime/transfer.js.map +1 -0
  121. package/dist/runtime/ws.d.ts +2 -2
  122. package/dist/runtime/ws.js +2 -2
  123. package/dist/runtime-http.d.ts +7 -0
  124. package/dist/runtime-http.d.ts.map +1 -1
  125. package/dist/runtime-http.js +27 -2
  126. package/dist/runtime-http.js.map +1 -1
  127. package/dist/runtime.d.ts +9 -6
  128. package/dist/runtime.d.ts.map +1 -1
  129. package/dist/runtime.js +10 -6
  130. package/dist/runtime.js.map +1 -1
  131. package/dist/types/client.d.ts +7 -1
  132. package/dist/types/client.d.ts.map +1 -1
  133. package/dist/types/index.d.ts +1 -1
  134. package/dist/types/index.d.ts.map +1 -1
  135. package/dist/types/runtime.d.ts +24 -4
  136. package/dist/types/runtime.d.ts.map +1 -1
  137. package/dist/types/workspace.d.ts +6 -0
  138. package/dist/types/workspace.d.ts.map +1 -1
  139. package/dist/workspace-handle.d.ts +9 -9
  140. package/dist/workspace-handle.js +9 -9
  141. package/dist/workspace.d.ts +14 -14
  142. package/dist/workspace.d.ts.map +1 -1
  143. package/dist/workspace.js +16 -16
  144. package/dist/workspace.js.map +1 -1
  145. package/package.json +6 -2
@@ -1,9 +1,9 @@
1
1
  import { Oblien } from '../client.js';
2
2
  /**
3
3
  * Build an Oblien client from (in priority order):
4
- * 1. Explicit flags (--client-id, --client-secret)
5
- * 2. Environment variables (OBLIEN_CLIENT_ID, OBLIEN_CLIENT_SECRET)
6
- * 3. Config file (~/.oblien/credentials.json)
4
+ * 1. Explicit flags (--client-id + --client-secret)
5
+ * 2. Environment variables (OBLIEN_CLIENT_ID + OBLIEN_CLIENT_SECRET, or OBLIEN_TOKEN)
6
+ * 3. Config file (~/.oblien/credentials.json) — token or API keys
7
7
  */
8
8
  export declare function buildClient(flags?: {
9
9
  clientId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CA4BT"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAuCT"}
package/dist/cli/auth.js CHANGED
@@ -2,29 +2,40 @@ import { Oblien } from '../client.js';
2
2
  import { loadConfig } from './config-store.js';
3
3
  /**
4
4
  * Build an Oblien client from (in priority order):
5
- * 1. Explicit flags (--client-id, --client-secret)
6
- * 2. Environment variables (OBLIEN_CLIENT_ID, OBLIEN_CLIENT_SECRET)
7
- * 3. Config file (~/.oblien/credentials.json)
5
+ * 1. Explicit flags (--client-id + --client-secret)
6
+ * 2. Environment variables (OBLIEN_CLIENT_ID + OBLIEN_CLIENT_SECRET, or OBLIEN_TOKEN)
7
+ * 3. Config file (~/.oblien/credentials.json) — token or API keys
8
8
  */
9
9
  export function buildClient(flags) {
10
+ const config = loadConfig();
11
+ // 1. API key auth (flags → env → config)
10
12
  const clientId = flags?.clientId ??
11
13
  process.env.OBLIEN_CLIENT_ID ??
12
- loadConfig()?.clientId;
14
+ config?.clientId;
13
15
  const clientSecret = flags?.clientSecret ??
14
16
  process.env.OBLIEN_CLIENT_SECRET ??
15
- loadConfig()?.clientSecret;
16
- if (!clientId || !clientSecret) {
17
- console.error('Error: Missing credentials.\n\n' +
18
- 'Provide credentials via:\n' +
19
- ' 1. oblien config set\n' +
20
- ' 2. Environment: OBLIEN_CLIENT_ID + OBLIEN_CLIENT_SECRET\n' +
21
- ' 3. Flags: --client-id <id> --client-secret <secret>\n');
22
- process.exit(1);
17
+ config?.clientSecret;
18
+ if (clientId && clientSecret) {
19
+ const opts = { clientId, clientSecret };
20
+ const base = flags?.baseUrl ?? process.env.OBLIEN_BASE_URL ?? config?.baseUrl;
21
+ if (base)
22
+ opts.baseUrl = base;
23
+ return new Oblien(opts);
23
24
  }
24
- const opts = { clientId, clientSecret };
25
- if (flags?.baseUrl ?? process.env.OBLIEN_BASE_URL ?? loadConfig()?.baseUrl) {
26
- opts.baseUrl = flags?.baseUrl ?? process.env.OBLIEN_BASE_URL ?? loadConfig()?.baseUrl;
25
+ // 2. Token auth (env config)
26
+ const token = process.env.OBLIEN_TOKEN ?? config?.token;
27
+ if (token) {
28
+ const opts = { token };
29
+ const base = flags?.baseUrl ?? process.env.OBLIEN_BASE_URL ?? config?.baseUrl;
30
+ if (base)
31
+ opts.baseUrl = base;
32
+ return new Oblien(opts);
27
33
  }
28
- return new Oblien(opts);
34
+ console.error('Error: Missing credentials.\n\n' +
35
+ 'Provide credentials via:\n' +
36
+ ' 1. oblien login\n' +
37
+ ' 2. Environment: OBLIEN_TOKEN or OBLIEN_CLIENT_ID + OBLIEN_CLIENT_SECRET\n' +
38
+ ' 3. Flags: --client-id <id> --client-secret <secret>\n');
39
+ process.exit(1);
29
40
  }
30
41
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAI3B;IACC,MAAM,QAAQ,GACZ,KAAK,EAAE,QAAQ;QACf,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,UAAU,EAAE,EAAE,QAAQ,CAAC;IAEzB,MAAM,YAAY,GAChB,KAAK,EAAE,YAAY;QACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,UAAU,EAAE,EAAE,YAAY,CAAC;IAE7B,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CACX,iCAAiC;YACjC,4BAA4B;YAC5B,0BAA0B;YAC1B,6DAA6D;YAC7D,yDAAyD,CAC1D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACvD,IAAI,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,EAAE,EAAE,OAAO,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAI3B;IACC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,yCAAyC;IACzC,MAAM,QAAQ,GACZ,KAAK,EAAE,QAAQ;QACf,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,MAAM,EAAE,QAAQ,CAAC;IAEnB,MAAM,YAAY,GAChB,KAAK,EAAE,YAAY;QACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,MAAM,EAAE,YAAY,CAAC;IAEvB,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,EAAE,OAAO,CAAC;QAC9E,IAAI,IAAI;YAAG,IAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,KAAK,CAAC;IAExD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAkB,EAAE,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,EAAE,OAAO,CAAC;QAC9E,IAAI,IAAI;YAAG,IAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,KAAK,CACX,iCAAiC;QACjC,4BAA4B;QAC5B,qBAAqB;QACrB,6EAA6E;QAC7E,yDAAyD,CAC1D,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-access.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/api-access.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjF"}
1
+ {"version":3,"file":"api-access.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/api-access.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjF"}
@@ -1,5 +1,6 @@
1
1
  import { buildClient } from '../auth.js';
2
2
  import { printResult, printSuccess } from '../output.js';
3
+ import { requireId } from './helpers.js';
3
4
  export async function apiAccessCmd(args, flags) {
4
5
  const sub = args[0];
5
6
  switch (sub) {
@@ -11,7 +12,7 @@ export async function apiAccessCmd(args, flags) {
11
12
  case 'rotate': return aaRotate(args[1], flags);
12
13
  default:
13
14
  console.log(`
14
- oblien api-access Manage Internal API access
15
+ oblien api-access - Manage Internal API access
15
16
 
16
17
  Usage:
17
18
  oblien api-access enable <ws-id> Enable Internal API (returns JWT)
@@ -28,15 +29,8 @@ export async function apiAccessCmd(args, flags) {
28
29
  `);
29
30
  }
30
31
  }
31
- function requireId(id, cmd) {
32
- if (!id || id.startsWith('-')) {
33
- console.error(`Usage: oblien api-access ${cmd} <workspace-id>`);
34
- process.exit(1);
35
- }
36
- return id;
37
- }
38
32
  async function aaEnable(id, flags) {
39
- const wsId = requireId(id, 'enable');
33
+ const wsId = requireId(id, 'api-access enable <workspace-id>');
40
34
  const client = buildClient(flags);
41
35
  const res = await client.workspaces.apiAccess.enable(wsId);
42
36
  if (flags.json) {
@@ -50,19 +44,19 @@ async function aaEnable(id, flags) {
50
44
  }
51
45
  }
52
46
  async function aaDisable(id, flags) {
53
- const wsId = requireId(id, 'disable');
47
+ const wsId = requireId(id, 'api-access disable <workspace-id>');
54
48
  const client = buildClient(flags);
55
49
  await client.workspaces.apiAccess.disable(wsId);
56
50
  printSuccess(`Internal API disabled for ${wsId}`);
57
51
  }
58
52
  async function aaStatus(id, flags) {
59
- const wsId = requireId(id, 'status');
53
+ const wsId = requireId(id, 'api-access status <workspace-id>');
60
54
  const client = buildClient(flags);
61
55
  const res = await client.workspaces.apiAccess.status(wsId);
62
56
  printResult(res, flags.json);
63
57
  }
64
58
  async function aaToken(id, flags) {
65
- const wsId = requireId(id, 'token');
59
+ const wsId = requireId(id, 'api-access token <workspace-id>');
66
60
  const client = buildClient(flags);
67
61
  const res = await client.workspaces.apiAccess.getToken(wsId);
68
62
  if (flags.json) {
@@ -73,13 +67,13 @@ async function aaToken(id, flags) {
73
67
  }
74
68
  }
75
69
  async function aaRawToken(id, flags) {
76
- const wsId = requireId(id, 'raw-token');
70
+ const wsId = requireId(id, 'api-access raw-token <workspace-id>');
77
71
  const client = buildClient(flags);
78
72
  const res = await client.workspaces.apiAccess.rawToken(wsId);
79
73
  printResult(res, flags.json);
80
74
  }
81
75
  async function aaRotate(id, flags) {
82
- const wsId = requireId(id, 'rotate');
76
+ const wsId = requireId(id, 'api-access rotate <workspace-id>');
83
77
  const client = buildClient(flags);
84
78
  const res = await client.workspaces.apiAccess.rotateToken(wsId);
85
79
  printResult(res, flags.json);
@@ -1 +1 @@
1
- {"version":3,"file":"api-access.js","sourceRoot":"","sources":["../../../src/cli/commands/api-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-access.js","sourceRoot":"","sources":["../../../src/cli/commands/api-access.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * oblien auth - Browser-based login flow (like `gh auth login`).
3
+ *
4
+ * 1. Gets a session token from /auth/token
5
+ * 2. Creates an auth session via /auth/session → https://auth.oblien.com/{id}
6
+ * 3. Opens the URL in the user's browser (or prints it)
7
+ * 4. Polls /auth/verify until the user finishes login
8
+ * 5. Stores the JWT token in ~/.oblien/credentials.json
9
+ */
10
+ import type { CliFlags } from './types.js';
11
+ export declare function authCmd(args: string[], flags: CliFlags): Promise<void>;
12
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA4K3C,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B5E"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * oblien auth - Browser-based login flow (like `gh auth login`).
3
+ *
4
+ * 1. Gets a session token from /auth/token
5
+ * 2. Creates an auth session via /auth/session → https://auth.oblien.com/{id}
6
+ * 3. Opens the URL in the user's browser (or prints it)
7
+ * 4. Polls /auth/verify until the user finishes login
8
+ * 5. Stores the JWT token in ~/.oblien/credentials.json
9
+ */
10
+ import { createInterface } from 'node:readline';
11
+ import { exec } from 'node:child_process';
12
+ import { saveConfig, loadConfig, clearConfig, configPath } from '../config-store.js';
13
+ import { printSuccess, printError } from '../output.js';
14
+ const DEFAULT_BASE = 'https://api.oblien.com';
15
+ // ── Helpers ─────────────────────────────────────────────────────────
16
+ async function api(base, path, opts = {}) {
17
+ const url = `${base}${path}`;
18
+ const headers = { 'Content-Type': 'application/json' };
19
+ if (opts.token)
20
+ headers['Authorization'] = `Bearer ${opts.token}`;
21
+ const res = await fetch(url, {
22
+ method: opts.method ?? 'POST',
23
+ headers,
24
+ body: opts.body ? JSON.stringify(opts.body) : undefined,
25
+ });
26
+ return res.json();
27
+ }
28
+ function openBrowser(url) {
29
+ const cmd = process.platform === 'darwin'
30
+ ? `open "${url}"`
31
+ : process.platform === 'win32'
32
+ ? `start "" "${url}"`
33
+ : `xdg-open "${url}"`;
34
+ exec(cmd, () => { });
35
+ }
36
+ function sleep(ms) {
37
+ return new Promise(r => setTimeout(r, ms));
38
+ }
39
+ function prompt(question) {
40
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
41
+ return new Promise(resolve => {
42
+ rl.question(question, answer => {
43
+ rl.close();
44
+ resolve(answer.trim());
45
+ });
46
+ });
47
+ }
48
+ // ── Login ───────────────────────────────────────────────────────────
49
+ async function authLogin(flags) {
50
+ const base = flags.baseUrl ?? DEFAULT_BASE;
51
+ // Check if already logged in
52
+ const existing = loadConfig();
53
+ if (existing?.token || (existing?.clientId && existing?.clientSecret)) {
54
+ const answer = await prompt('You are already logged in. Re-authenticate? [y/N] ');
55
+ if (answer.toLowerCase() !== 'y') {
56
+ console.log('Cancelled.');
57
+ return;
58
+ }
59
+ }
60
+ // Step 1: Get a session token
61
+ console.log('');
62
+ const tokenRes = await api(base, '/auth/token');
63
+ if (!tokenRes.success || !tokenRes.token) {
64
+ printError('Failed to create session. Try again later.');
65
+ process.exit(1);
66
+ }
67
+ const jwt = tokenRes.token;
68
+ // Step 2: Create auth session
69
+ const sessionRes = await api(base, '/auth/session', {
70
+ token: jwt,
71
+ body: { app: 'oblien', redirect_url: 'https://oblien.com/cli?login=success' },
72
+ });
73
+ if (!sessionRes.success || !sessionRes.url) {
74
+ printError('Failed to create auth session.');
75
+ process.exit(1);
76
+ }
77
+ const authUrl = sessionRes.url;
78
+ const authId = authUrl.split('/').pop();
79
+ // Step 3: Open browser and prompt
80
+ console.log(' Open this URL in your browser to log in:\n');
81
+ console.log(` \x1b[4m${authUrl}\x1b[0m\n`);
82
+ openBrowser(authUrl);
83
+ console.log(' Waiting for authentication...\n');
84
+ // Step 4: Poll until auth completes
85
+ const POLL_INTERVAL = 2_000;
86
+ const POLL_TIMEOUT = 300_000; // 5 minutes
87
+ const start = Date.now();
88
+ let loggedInToken = null;
89
+ while (Date.now() - start < POLL_TIMEOUT) {
90
+ await sleep(POLL_INTERVAL);
91
+ const verifyRes = await api(base, '/auth/verify', {
92
+ body: { sessionId: authId },
93
+ });
94
+ if (verifyRes.success && verifyRes.token) {
95
+ loggedInToken = verifyRes.token;
96
+ break;
97
+ }
98
+ // If the session returned already_logged_in, the user was already
99
+ // logged-in and the auth session was fulfilled immediately.
100
+ if (verifyRes.status === 'already_logged_in' && verifyRes.redirect_url) {
101
+ // The session JWT we got originally is already tied to this user
102
+ // It should now have user_id set, so re-verify
103
+ const recheck = await api(base, '/auth/verify', {
104
+ body: { sessionId: authId },
105
+ });
106
+ if (recheck.token) {
107
+ loggedInToken = recheck.token;
108
+ break;
109
+ }
110
+ }
111
+ }
112
+ if (!loggedInToken) {
113
+ printError('Login timed out. Please try again.');
114
+ process.exit(1);
115
+ }
116
+ console.log(' ✓ Authenticated!\n');
117
+ // Step 5: Save token
118
+ saveConfig({
119
+ token: loggedInToken,
120
+ ...(base !== DEFAULT_BASE ? { baseUrl: base } : {}),
121
+ });
122
+ printSuccess('Logged in!');
123
+ console.log(` Token saved to ${configPath()}\n`);
124
+ console.log(' You can now use the CLI and MCP server.\n');
125
+ }
126
+ // ── Logout ──────────────────────────────────────────────────────────
127
+ function authLogout() {
128
+ clearConfig();
129
+ printSuccess('Logged out. Credentials removed.');
130
+ }
131
+ // ── Status ──────────────────────────────────────────────────────────
132
+ function authStatus() {
133
+ const config = loadConfig();
134
+ if (!config?.token && !config?.clientId) {
135
+ console.log('Not logged in.\n\nRun: oblien login');
136
+ return;
137
+ }
138
+ console.log(` Logged in`);
139
+ if (config.token) {
140
+ console.log(` Auth: Token`);
141
+ }
142
+ else {
143
+ console.log(` Auth: API Key`);
144
+ console.log(` Client ID: ${config.clientId.slice(0, 16)}…`);
145
+ }
146
+ console.log(` Config: ${configPath()}`);
147
+ }
148
+ // ── Router ──────────────────────────────────────────────────────────
149
+ export async function authCmd(args, flags) {
150
+ const sub = args[0];
151
+ switch (sub) {
152
+ case 'login':
153
+ return authLogin(flags);
154
+ case 'logout':
155
+ return authLogout();
156
+ case 'status':
157
+ return authStatus();
158
+ default:
159
+ console.log(`
160
+ oblien auth - Authenticate with Oblien
161
+
162
+ Usage:
163
+ oblien auth login Log in via browser
164
+ oblien auth logout Remove stored credentials
165
+ oblien auth status Show current auth status
166
+
167
+ This opens a browser window where you log in with your Oblien account.
168
+ On success, your session token is saved to ${configPath()}.
169
+
170
+ For CI/scripts, you can also use API keys:
171
+ oblien config set --client-id <id> --client-secret <secret>
172
+ OBLIEN_CLIENT_ID + OBLIEN_CLIENT_SECRET environment variables
173
+ `);
174
+ }
175
+ }
176
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export async function configCmd(args, _flags) {
16
16
  return;
17
17
  default:
18
18
  console.log(`
19
- oblien config Manage credentials
19
+ oblien config - Manage credentials
20
20
 
21
21
  Usage:
22
22
  oblien config set --client-id <id> --client-secret <secret>
@@ -49,15 +49,20 @@ function configSet(args) {
49
49
  }
50
50
  function configShow() {
51
51
  const config = loadConfig();
52
- if (!config || !config.clientId) {
53
- console.log('No credentials configured.\n\nRun: oblien config set --client-id <id> --client-secret <secret>');
52
+ if (!config || (!config.clientId && !config.token)) {
53
+ console.log('No credentials configured.\n\nRun: oblien login');
54
54
  return;
55
55
  }
56
- printKeyValue({
57
- clientId: config.clientId,
58
- clientSecret: config.clientSecret.slice(0, 8) + '',
59
- baseUrl: config.baseUrl ?? 'https://api.oblien.com (default)',
60
- path: configPath(),
61
- });
56
+ const info = {};
57
+ if (config.token) {
58
+ info.auth = 'Token';
59
+ }
60
+ if (config.clientId) {
61
+ info.clientId = config.clientId;
62
+ info.clientSecret = (config.clientSecret ?? '').slice(0, 8) + '…';
63
+ }
64
+ info.baseUrl = config.baseUrl ?? 'https://api.oblien.com (default)';
65
+ info.path = configPath();
66
+ printKeyValue(info);
62
67
  }
63
68
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAc,EAAE,MAAgB;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,KAAK,OAAO;YACV,WAAW,EAAE,CAAC;YACd,YAAY,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO;QACT;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;8BASY,UAAU,EAAE;CACzC,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,IAAI,QAA4B,CAAC;IACjC,IAAI,YAAgC,CAAC;IACrC,IAAI,OAA2B,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACtE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACnF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;QACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,YAAY,CAAC,wBAAwB,UAAU,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAC;QAC9G,OAAO;IACT,CAAC;IAED,aAAa,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,kCAAkC;QAC7D,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/exec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF/E"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/exec.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF/E"}
@@ -1,18 +1,23 @@
1
1
  import { buildClient } from '../auth.js';
2
2
  import { printResult } from '../output.js';
3
+ import { requireId, confirm } from './helpers.js';
3
4
  export async function execCmd(rawArgs, flags) {
4
- // Parse: oblien exec <ws-id> [--stream] [--json] -- <cmd...>
5
- // Or: oblien exec <ws-id> <cmd...>
6
- // Strip global flags first
7
- const args = rawArgs.filter((a, i) => {
5
+ // Parse: oblien exec <ws-id> [--stream] -- <cmd...>
6
+ // Or: oblien exec <subcommand> <ws-id> ...
7
+ // Global flags are already stripped by the router; rawArgs still contains
8
+ // them because exec receives `rest` to preserve `--` handling. Strip them
9
+ // consistently so they don't leak into workspace commands.
10
+ const args = [];
11
+ for (let i = 0; i < rawArgs.length; i++) {
12
+ const a = rawArgs[i];
8
13
  if (a === '--json')
9
- return false;
14
+ continue;
10
15
  if (a === '--client-id' || a === '--client-secret' || a === '--base-url') {
11
- rawArgs[i + 1] = ''; // mark next as consumed
12
- return false;
16
+ i++; // skip the value too
17
+ continue;
13
18
  }
14
- return a !== '';
15
- });
19
+ args.push(a);
20
+ }
16
21
  const wsId = args[0];
17
22
  // Subcommands that don't run a command
18
23
  if (wsId === 'list')
@@ -29,7 +34,7 @@ export async function execCmd(rawArgs, flags) {
29
34
  return execSubscribe(args[1], args[2], flags);
30
35
  if (!wsId || wsId.startsWith('-')) {
31
36
  console.log(`
32
- oblien exec Execute commands in a workspace
37
+ oblien exec - Execute commands in a workspace
33
38
 
34
39
  Usage:
35
40
  oblien exec <workspace-id> -- <command...> Run a command
@@ -84,84 +89,59 @@ export async function execCmd(rawArgs, flags) {
84
89
  }
85
90
  }
86
91
  async function execList(wsId, flags) {
87
- if (!wsId || wsId.startsWith('-')) {
88
- console.error('Usage: oblien exec list <ws-id>');
89
- process.exit(1);
90
- }
92
+ const id = requireId(wsId, 'exec list <ws-id>');
91
93
  const client = buildClient(flags);
92
- const rt = await client.workspaces.runtime(wsId);
94
+ const rt = await client.workspaces.runtime(id);
93
95
  const res = await rt.exec.list();
94
96
  printResult(res, flags.json);
95
97
  }
96
98
  async function execGet(wsId, taskId, flags) {
97
- if (!wsId) {
98
- console.error('Usage: oblien exec get <ws-id> <task-id>');
99
- process.exit(1);
100
- }
101
- if (!taskId) {
102
- console.error('Usage: oblien exec get <ws-id> <task-id>');
103
- process.exit(1);
104
- }
99
+ const id = requireId(wsId, 'exec get <ws-id> <task-id>');
100
+ const tid = requireId(taskId, 'exec get <ws-id> <task-id>');
105
101
  const client = buildClient(flags);
106
- const rt = await client.workspaces.runtime(wsId);
107
- const res = await rt.exec.get(taskId);
102
+ const rt = await client.workspaces.runtime(id);
103
+ const res = await rt.exec.get(tid);
108
104
  printResult(res, flags.json);
109
105
  }
110
106
  async function execKill(wsId, taskId, flags) {
111
- if (!wsId) {
112
- console.error('Usage: oblien exec kill <ws-id> <task-id>');
113
- process.exit(1);
114
- }
115
- if (!taskId) {
116
- console.error('Usage: oblien exec kill <ws-id> <task-id>');
117
- process.exit(1);
118
- }
107
+ const id = requireId(wsId, 'exec kill <ws-id> <task-id>');
108
+ const tid = requireId(taskId, 'exec kill <ws-id> <task-id>');
119
109
  const client = buildClient(flags);
120
- const rt = await client.workspaces.runtime(wsId);
121
- const res = await rt.exec.kill(taskId);
110
+ const rt = await client.workspaces.runtime(id);
111
+ const res = await rt.exec.kill(tid);
122
112
  printResult(res, flags.json);
123
113
  }
124
114
  async function execDeleteAll(wsId, flags) {
125
- if (!wsId || wsId.startsWith('-')) {
126
- console.error('Usage: oblien exec delete-all <ws-id>');
127
- process.exit(1);
115
+ const id = requireId(wsId, 'exec delete-all <ws-id>');
116
+ const ok = await confirm(`Delete all tasks for ${id}?`);
117
+ if (!ok) {
118
+ console.log('Cancelled.');
119
+ return;
128
120
  }
129
121
  const client = buildClient(flags);
130
- const rt = await client.workspaces.runtime(wsId);
122
+ const rt = await client.workspaces.runtime(id);
131
123
  const res = await rt.exec.deleteAll();
132
124
  printResult(res, flags.json);
133
125
  }
134
126
  async function execInput(wsId, taskId, rest, flags) {
135
- if (!wsId) {
136
- console.error('Usage: oblien exec input <ws-id> <task-id> <data>');
137
- process.exit(1);
138
- }
139
- if (!taskId) {
140
- console.error('Usage: oblien exec input <ws-id> <task-id> <data>');
141
- process.exit(1);
142
- }
127
+ const id = requireId(wsId, 'exec input <ws-id> <task-id> <data>');
128
+ const tid = requireId(taskId, 'exec input <ws-id> <task-id> <data>');
143
129
  const data = rest.join(' ');
144
130
  if (!data) {
145
131
  console.error('Usage: oblien exec input <ws-id> <task-id> <data>');
146
132
  process.exit(1);
147
133
  }
148
134
  const client = buildClient(flags);
149
- const rt = await client.workspaces.runtime(wsId);
150
- const res = await rt.exec.input(taskId, data);
135
+ const rt = await client.workspaces.runtime(id);
136
+ const res = await rt.exec.input(tid, data);
151
137
  printResult(res, flags.json);
152
138
  }
153
139
  async function execSubscribe(wsId, taskId, flags) {
154
- if (!wsId) {
155
- console.error('Usage: oblien exec subscribe <ws-id> <task-id>');
156
- process.exit(1);
157
- }
158
- if (!taskId) {
159
- console.error('Usage: oblien exec subscribe <ws-id> <task-id>');
160
- process.exit(1);
161
- }
140
+ const id = requireId(wsId, 'exec subscribe <ws-id> <task-id>');
141
+ const tid = requireId(taskId, 'exec subscribe <ws-id> <task-id>');
162
142
  const client = buildClient(flags);
163
- const rt = await client.workspaces.runtime(wsId);
164
- for await (const event of rt.exec.subscribe(taskId)) {
143
+ const rt = await client.workspaces.runtime(id);
144
+ for await (const event of rt.exec.subscribe(tid)) {
165
145
  if ('data' in event) {
166
146
  process.stdout.write(String(event.data));
167
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/cli/commands/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/cli/commands/exec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC7E"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/files.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C7E"}