@getstackrun/cli 0.23.0 → 1.1.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 (86) hide show
  1. package/README.md +8 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +77 -17
  4. package/dist/agent.js.map +1 -1
  5. package/dist/api.d.ts +18 -12
  6. package/dist/api.d.ts.map +1 -1
  7. package/dist/api.js +52 -17
  8. package/dist/api.js.map +1 -1
  9. package/dist/auth.d.ts +2 -0
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +55 -28
  12. package/dist/auth.js.map +1 -1
  13. package/dist/authority.d.ts +2 -0
  14. package/dist/authority.d.ts.map +1 -0
  15. package/dist/authority.js +63 -0
  16. package/dist/authority.js.map +1 -0
  17. package/dist/detectors.d.ts.map +1 -1
  18. package/dist/detectors.js +4 -3
  19. package/dist/detectors.js.map +1 -1
  20. package/dist/dropoffs.d.ts.map +1 -1
  21. package/dist/dropoffs.js +12 -4
  22. package/dist/dropoffs.js.map +1 -1
  23. package/dist/fleets.d.ts +3 -0
  24. package/dist/fleets.d.ts.map +1 -0
  25. package/dist/fleets.js +86 -0
  26. package/dist/fleets.js.map +1 -0
  27. package/dist/format.d.ts +0 -1
  28. package/dist/format.d.ts.map +1 -1
  29. package/dist/format.js +19 -0
  30. package/dist/format.js.map +1 -1
  31. package/dist/governance.d.ts +13 -0
  32. package/dist/governance.d.ts.map +1 -0
  33. package/dist/governance.js +69 -0
  34. package/dist/governance.js.map +1 -0
  35. package/dist/identity.d.ts.map +1 -1
  36. package/dist/identity.js +131 -1
  37. package/dist/identity.js.map +1 -1
  38. package/dist/inbound-webhooks.d.ts +3 -0
  39. package/dist/inbound-webhooks.d.ts.map +1 -1
  40. package/dist/inbound-webhooks.js +4 -1
  41. package/dist/inbound-webhooks.js.map +1 -1
  42. package/dist/index.js +68 -12
  43. package/dist/index.js.map +1 -1
  44. package/dist/intents.d.ts.map +1 -1
  45. package/dist/intents.js +25 -30
  46. package/dist/intents.js.map +1 -1
  47. package/dist/llm.d.ts +1 -0
  48. package/dist/llm.d.ts.map +1 -1
  49. package/dist/llm.js +20 -13
  50. package/dist/llm.js.map +1 -1
  51. package/dist/missions.d.ts.map +1 -1
  52. package/dist/missions.js +10 -0
  53. package/dist/missions.js.map +1 -1
  54. package/dist/partner.d.ts.map +1 -1
  55. package/dist/partner.js +62 -0
  56. package/dist/partner.js.map +1 -1
  57. package/dist/passports.d.ts.map +1 -1
  58. package/dist/passports.js +79 -26
  59. package/dist/passports.js.map +1 -1
  60. package/dist/pii.d.ts +2 -0
  61. package/dist/pii.d.ts.map +1 -0
  62. package/dist/pii.js +95 -0
  63. package/dist/pii.js.map +1 -0
  64. package/dist/proxy-serve.d.ts.map +1 -1
  65. package/dist/proxy-serve.js +29 -14
  66. package/dist/proxy-serve.js.map +1 -1
  67. package/dist/quickstart.d.ts +17 -0
  68. package/dist/quickstart.d.ts.map +1 -1
  69. package/dist/quickstart.js +58 -9
  70. package/dist/quickstart.js.map +1 -1
  71. package/dist/secret-input.d.ts +3 -0
  72. package/dist/secret-input.d.ts.map +1 -0
  73. package/dist/secret-input.js +41 -0
  74. package/dist/secret-input.js.map +1 -0
  75. package/dist/services.d.ts +10 -0
  76. package/dist/services.d.ts.map +1 -1
  77. package/dist/services.js +152 -20
  78. package/dist/services.js.map +1 -1
  79. package/dist/setup.d.ts +11 -0
  80. package/dist/setup.d.ts.map +1 -0
  81. package/dist/setup.js +226 -0
  82. package/dist/setup.js.map +1 -0
  83. package/dist/usage.d.ts.map +1 -1
  84. package/dist/usage.js +45 -5
  85. package/dist/usage.js.map +1 -1
  86. package/package.json +12 -13
@@ -13,7 +13,6 @@
13
13
  // 3. register an agent with profile: 'proxied-llm-bot' (proxy_only +
14
14
  // logged + stack_managed) so the first call just works
15
15
  // 4. issue a passport + make ONE real LLM call through the STACK gateway
16
- // (the agent keypair enrolls transparently on this first call)
17
16
  // 5. print the audit row that call produced — "it worked, here's proof"
18
17
  //
19
18
  // No footgun decisions: the only inputs are the provider and an agent name,
@@ -21,8 +20,9 @@
21
20
  import { env, stdout, stderr } from 'node:process';
22
21
  import { createInterface } from 'node:readline/promises';
23
22
  import { Stack } from '@getstackrun/sdk';
24
- import { takeFlag } from './api.js';
23
+ import { api, takeFlag } from './api.js';
25
24
  import { getAccessToken, invokeHint } from './auth.js';
25
+ import { governedApi } from './governance.js';
26
26
  const DASHBOARD_URL = 'https://getstack.run';
27
27
  const PROVIDER_CALLS = {
28
28
  anthropic: (stack, session) => stack.llm.anthropic.messages.create({
@@ -41,6 +41,29 @@ const PROVIDER_CALLS = {
41
41
  messages: [{ role: 'user', content: 'Reply with the single word: works' }],
42
42
  }, { passport: session }),
43
43
  };
44
+ export function quickstartAgentProfileProblem(agent) {
45
+ const expected = {
46
+ credential_access: 'proxy_only',
47
+ accountability_mode: 'logged',
48
+ key_mode: 'stack_managed',
49
+ };
50
+ const mismatches = Object.entries(expected)
51
+ .filter(([field, value]) => agent[field] !== value)
52
+ .map(([field, value]) => `${field}=${String(agent[field] ?? 'unknown')} (expected ${value})`);
53
+ return mismatches.length > 0 ? mismatches.join(', ') : undefined;
54
+ }
55
+ export function quickstartGrantBody(connection, permissions, agentId) {
56
+ if (permissions.some((grant) => grant.service_connection_id === connection.id))
57
+ return undefined;
58
+ const scopes = connection.scopes ?? [];
59
+ if (scopes.length === 0)
60
+ throw new Error('the selected provider connection has no grantable scopes.');
61
+ return {
62
+ agent_id: agentId,
63
+ service_connection_id: connection.id,
64
+ scopes,
65
+ };
66
+ }
44
67
  async function prompt(question, fallback) {
45
68
  // Non-interactive (piped / CI): take the fallback silently.
46
69
  if (!process.stdin.isTTY)
@@ -67,7 +90,7 @@ export async function cmdQuickstart(args) {
67
90
  ` 2. Connect an LLM provider (Anthropic/OpenAI): ${DASHBOARD_URL}/services\n\n` +
68
91
  ` Then sign this CLI in and re-run:\n` +
69
92
  ` ${invokeHint('auth login')}\n` +
70
- ` ${invokeHint('quickstart')}\n\n`);
93
+ ` ${invokeHint(`quickstart --provider ${typeof providerFlag === 'string' ? providerFlag : 'anthropic'}`)}\n\n`);
71
94
  process.exit(1);
72
95
  }
73
96
  const opStack = new Stack({ baseUrl });
@@ -87,28 +110,54 @@ export async function cmdQuickstart(args) {
87
110
  stderr.write(`error: could not list connected services (${err.message}).\n`);
88
111
  process.exit(1);
89
112
  }
90
- const hasProvider = connected.some((c) => c.provider === providerInput && c.status === 'active');
91
- if (!hasProvider) {
113
+ const providerConnection = connected.find((c) => c.provider === providerInput && c.status === 'active');
114
+ if (!providerConnection) {
92
115
  stderr.write(`\n ${providerInput} is not connected on this operator yet.\n` +
93
116
  ` Connect it in the dashboard (the API key goes in the vault, not on this box):\n\n` +
94
117
  ` ${DASHBOARD_URL}/services\n\n` +
95
118
  ` Then re-run: ${invokeHint(`quickstart --provider ${providerInput}`)}\n\n`);
96
119
  process.exit(1);
97
120
  }
98
- // 3. Register the agent with the safe preset (idempotent-ish: reuse an
99
- // existing same-named agent if present).
121
+ // 3. Register the agent with the safe preset. Reuse a same-named agent
122
+ // only when its security posture is exactly the one this flow promises.
100
123
  const agentName = (typeof agentFlag === 'string' && agentFlag ? agentFlag : await prompt(' Agent name', 'quickstart-bot')).trim();
101
124
  let agentId;
102
125
  const existing = (await opStack.agents.list()).find((a) => a.name === agentName);
103
126
  if (existing) {
127
+ const profileProblem = quickstartAgentProfileProblem(existing);
128
+ if (profileProblem) {
129
+ stderr.write(`error: an agent named "${agentName}" already exists with a different security posture:\n` +
130
+ ` ${profileProblem}\n` +
131
+ `Choose another name, for example:\n` +
132
+ ` ${invokeHint(`quickstart --provider ${providerInput} --agent ${agentName}-stack`)}\n`);
133
+ process.exit(1);
134
+ }
104
135
  agentId = existing.id;
105
- stdout.write(` ✓ using existing agent ${agentName} (${agentId})\n`);
136
+ stdout.write(` ✓ using existing ${agentName} (${agentId}) — proxy_only + logged + stack_managed\n`);
106
137
  }
107
138
  else {
108
- const agent = await opStack.agents.register({ name: agentName, profile: 'proxied-llm-bot' });
139
+ const agent = await governedApi('POST', '/v1/agents/register', {
140
+ body: { name: agentName, profile: 'proxied-llm-bot' },
141
+ });
109
142
  agentId = agent.id;
110
143
  stdout.write(` ✓ registered ${agentName} (${agentId}) — proxy_only + logged + stack_managed\n`);
111
144
  }
145
+ // The intent can only narrow an existing service grant. It cannot create
146
+ // one. Keep an existing grant unchanged. Create the missing grant from the
147
+ // connection's own scope ceiling before passport issuance.
148
+ const permissions = await api('GET', `/v1/agents/${encodeURIComponent(agentId)}/permissions`);
149
+ let grantBody;
150
+ try {
151
+ grantBody = quickstartGrantBody(providerConnection, permissions, agentId);
152
+ }
153
+ catch {
154
+ stderr.write(`error: the ${providerInput} connection has no grantable scopes. Verify the connection in the Console.\n`);
155
+ process.exit(1);
156
+ }
157
+ if (grantBody) {
158
+ await governedApi('POST', '/v1/services/grant', { body: grantBody });
159
+ stdout.write(` ✓ granted ${providerInput} to ${agentName}\n`);
160
+ }
112
161
  // 4. Issue a passport + make one real governed LLM call. The preset
113
162
  // creates a stack_managed agent (no on-box keypair — STACK signs
114
163
  // server-side), so we authenticate as the operator (opStack) and
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../src/quickstart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../src/quickstart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Read one secret without placing it in argv or echoing it to the terminal. */
2
+ export declare function readSecretFromStdin(promptText: string): Promise<string>;
3
+ //# sourceMappingURL=secret-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-input.d.ts","sourceRoot":"","sources":["../src/secret-input.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC7E"}
@@ -0,0 +1,41 @@
1
+ import { stdin, stderr } from 'node:process';
2
+ /** Read one secret without placing it in argv or echoing it to the terminal. */
3
+ export async function readSecretFromStdin(promptText) {
4
+ if (!stdin.isTTY) {
5
+ const chunks = [];
6
+ return new Promise((resolve, reject) => {
7
+ stdin.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
8
+ stdin.once('end', () => resolve(Buffer.concat(chunks).toString('utf8').trim()));
9
+ stdin.once('error', reject);
10
+ });
11
+ }
12
+ stderr.write(promptText);
13
+ const wasRaw = stdin.isRaw === true;
14
+ stdin.setRawMode?.(true);
15
+ stdin.resume();
16
+ stdin.setEncoding('utf8');
17
+ return new Promise((resolve, reject) => {
18
+ let value = '';
19
+ const finish = (fn) => {
20
+ stdin.removeListener('data', onData);
21
+ stdin.setRawMode?.(wasRaw);
22
+ stdin.pause();
23
+ stderr.write('\n');
24
+ fn();
25
+ };
26
+ const onData = (chunk) => {
27
+ for (const char of chunk) {
28
+ if (char === '\r' || char === '\n')
29
+ return finish(() => resolve(value.trim()));
30
+ if (char === '\u0003' || char === '\u0004')
31
+ return finish(() => reject(new Error('cancelled')));
32
+ if (char === '\u007f' || char === '\b')
33
+ value = value.slice(0, -1);
34
+ else
35
+ value += char;
36
+ }
37
+ };
38
+ stdin.on('data', onData);
39
+ });
40
+ }
41
+ //# sourceMappingURL=secret-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-input.js","sourceRoot":"","sources":["../src/secret-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC1D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE;YAChC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,EAAE,EAAE,CAAC;QACP,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;YAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/E,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;oBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAChG,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;oBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;oBAC9D,KAAK,IAAI,IAAI,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,12 @@
1
+ interface ServiceConnection {
2
+ id: string;
3
+ provider: string;
4
+ status: string;
5
+ scopes?: string[];
6
+ connected_at?: string;
7
+ }
8
+ export declare const CONNECTED_SERVICES_PATH = "/v1/services/connected";
9
+ export declare function findConnectedService(connections: ServiceConnection[], connectionId: string): ServiceConnection | undefined;
1
10
  export declare function cmdService(args: string[]): Promise<void>;
11
+ export {};
2
12
  //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAyIA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D9D"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAgBA,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,iBAAiB,EAAE,EAChC,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,SAAS,CAE/B;AAwPD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D9D"}
package/dist/services.js CHANGED
@@ -1,8 +1,17 @@
1
1
  // services subcommands — thin wrappers over /v1/services/* + /v1/credentials/*.
2
- import { stdout, stderr, exit } from 'node:process';
2
+ import { stdout, stderr, stdin, exit } from 'node:process';
3
3
  import { api, takeFlag, resolveAgentId } from './api.js';
4
4
  import { invokeHint } from './auth.js';
5
5
  import { printJson, printTable, printRecord, fmt } from './format.js';
6
+ import { governedApi } from './governance.js';
7
+ export const CONNECTED_SERVICES_PATH = '/v1/services/connected';
8
+ export function findConnectedService(connections, connectionId) {
9
+ return connections.find((connection) => connection.id === connectionId);
10
+ }
11
+ async function listConnections() {
12
+ const out = await api('GET', CONNECTED_SERVICES_PATH);
13
+ return Array.isArray(out) ? out : [];
14
+ }
6
15
  async function cmdCatalog(json) {
7
16
  const list = await api('GET', '/v1/services');
8
17
  if (json)
@@ -11,11 +20,7 @@ async function cmdCatalog(json) {
11
20
  printTable(['PROVIDER', 'NAME', 'AVAILABLE'], rows);
12
21
  }
13
22
  async function cmdConnections(json) {
14
- // /v1/services returns the catalog (services + connections). Dashboard
15
- // route returns `{connections: [...]}` envelope after auth filter.
16
- // Re-use that path so a CLI user sees the same authoritative list.
17
- const out = await api('GET', '/v1/services');
18
- const list = Array.isArray(out) ? out : (out?.connections ?? []);
23
+ const list = await listConnections();
19
24
  if (json)
20
25
  return printJson(list);
21
26
  if (list.length === 0) {
@@ -26,7 +31,11 @@ async function cmdConnections(json) {
26
31
  printTable(['ID', 'PROVIDER', 'STATUS', 'SCOPES'], rows);
27
32
  }
28
33
  async function cmdShow(connectionId, json) {
29
- const out = await api('GET', `/v1/services/${encodeURIComponent(connectionId)}`);
34
+ const out = findConnectedService(await listConnections(), connectionId);
35
+ if (!out) {
36
+ stderr.write(`error: service connection "${connectionId}" was not found.\n`);
37
+ exit(1);
38
+ }
30
39
  if (json)
31
40
  return printJson(out);
32
41
  printRecord(out);
@@ -60,11 +69,110 @@ async function cmdTemplates(json) {
60
69
  return printJson(list);
61
70
  printJson(list);
62
71
  }
72
+ /** Read a secret from stdin without echoing it.
73
+ *
74
+ * Two shapes, both normal:
75
+ * piped `cat key.txt | stack service connect-custom --stdin --name X`
76
+ * typed the same command with no pipe — we prompt, turn the terminal's
77
+ * echo off, and read one line.
78
+ *
79
+ * Echo is restored in a finally, or a wrong password ends with a terminal that
80
+ * has stopped showing what you type.
81
+ */
82
+ async function readSecretFromStdin(promptText) {
83
+ if (!stdin.isTTY) {
84
+ // Piped. Read to EOF and do NOT touch the stream afterwards: pausing or
85
+ // detaching a closing pipe trips a libuv assertion on Windows.
86
+ const chunks = [];
87
+ return new Promise((resolve, reject) => {
88
+ stdin.on('data', (c) => chunks.push(Buffer.from(c)));
89
+ stdin.once('end', () => resolve(Buffer.concat(chunks).toString('utf-8').trim()));
90
+ stdin.once('error', reject);
91
+ });
92
+ }
93
+ stderr.write(promptText);
94
+ const wasRaw = stdin.isRaw === true;
95
+ stdin.setRawMode?.(true);
96
+ stdin.resume();
97
+ stdin.setEncoding('utf-8');
98
+ return new Promise((resolve, reject) => {
99
+ let buf = '';
100
+ const done = (fn) => {
101
+ stdin.removeListener('data', onData);
102
+ stdin.setRawMode?.(wasRaw);
103
+ stdin.pause();
104
+ stderr.write('\n');
105
+ fn();
106
+ };
107
+ const onData = (chunk) => {
108
+ for (const ch of chunk) {
109
+ if (ch === '\r' || ch === '\n')
110
+ return done(() => resolve(buf.trim()));
111
+ // Ctrl-C / Ctrl-D: leave without writing anything anywhere.
112
+ if (ch === '\u0003' || ch === '\u0004') {
113
+ return done(() => reject(new Error('cancelled')));
114
+ }
115
+ if (ch === '\u007f' || ch === '\b')
116
+ buf = buf.slice(0, -1);
117
+ else
118
+ buf += ch;
119
+ }
120
+ };
121
+ stdin.on('data', onData);
122
+ });
123
+ }
63
124
  async function cmdConnectCustom(args, json) {
64
125
  const fromFile = takeFlag(args, '--from-file');
126
+ const useStdin = args.includes('--stdin');
127
+ if (useStdin)
128
+ args.splice(args.indexOf('--stdin'), 1);
129
+ // The `wrangler secret put` shape: the credential is typed or piped, never
130
+ // an argv value. argv lands in shell history, in `ps`, and in any CI log
131
+ // that echoes the command.
132
+ //
133
+ // This is also the path that keeps a secret out of a MODEL's context. An
134
+ // agent calling stack_connect_custom_service passes the credential as a
135
+ // tool argument, which puts it in the transcript and the provider's logs.
136
+ // A human typing it here does not.
137
+ if (useStdin) {
138
+ const name = takeFlag(args, '--name');
139
+ if (typeof name !== 'string') {
140
+ stderr.write(`usage: ${invokeHint('service connect-custom --stdin --name <name> [--scopes a,b]')}\n` +
141
+ `The credential is read from stdin - piped, or typed at the prompt with echo off.\n`);
142
+ exit(2);
143
+ }
144
+ const scopesRaw = takeFlag(args, '--scopes');
145
+ const description = takeFlag(args, '--description');
146
+ // Required by the API, and rightly: without it the proxy cannot tell the
147
+ // operator's API from an attacker's host, so a stolen credential could be
148
+ // replayed anywhere. Omitted only when the credential itself carries a
149
+ // base_url the API can read the host from.
150
+ const allowedHosts = takeFlag(args, '--allowed-hosts');
151
+ const credential = await readSecretFromStdin(`Credential for ${name}: `);
152
+ if (!credential) {
153
+ stderr.write('no credential given; nothing was sent.\n');
154
+ exit(2);
155
+ }
156
+ const body = { name, credential };
157
+ if (typeof description === 'string')
158
+ body.description = description;
159
+ if (typeof scopesRaw === 'string') {
160
+ body.scopes = scopesRaw.split(',').map((x) => x.trim()).filter(Boolean);
161
+ }
162
+ if (typeof allowedHosts === 'string') {
163
+ body.allowed_hosts = allowedHosts.split(',').map((x) => x.trim()).filter(Boolean);
164
+ }
165
+ const out = await api('POST', '/v1/services/custom', { body });
166
+ if (json)
167
+ return printJson(out);
168
+ printRecord(out);
169
+ return;
170
+ }
65
171
  if (typeof fromFile !== 'string') {
66
- stderr.write(`usage: ${invokeHint('service connect-custom --from-file <config.json>')}\n` +
67
- `The JSON should include provider, name, credentials, etc. — see the dashboard custom-service form.\n`);
172
+ stderr.write(`usage: ${invokeHint('service connect-custom --stdin --name <name>')}\n` +
173
+ ` or: ${invokeHint('service connect-custom --from-file <config.json>')}\n` +
174
+ `--stdin reads the credential without echoing it and without putting it in argv.\n` +
175
+ `The JSON form should include provider, name, credentials, etc.\n`);
68
176
  exit(2);
69
177
  }
70
178
  const { readFile } = await import('node:fs/promises');
@@ -75,26 +183,50 @@ async function cmdConnectCustom(args, json) {
75
183
  printRecord(out);
76
184
  }
77
185
  async function cmdGrantAgent(args, json) {
186
+ const fromFile = takeFlag(args, '--from-file');
187
+ let body = {};
188
+ if (typeof fromFile === 'string') {
189
+ const { readFile } = await import('node:fs/promises');
190
+ const parsed = JSON.parse(await readFile(fromFile, 'utf8'));
191
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
192
+ stderr.write('error: --from-file must contain one JSON object.\n');
193
+ exit(2);
194
+ }
195
+ body = { ...parsed };
196
+ }
78
197
  const agentNameOrId = takeFlag(args, '--agent');
79
198
  const connectionId = takeFlag(args, '--connection');
80
199
  const scopesRaw = takeFlag(args, '--scopes');
200
+ const constraintsFile = takeFlag(args, '--constraints-file');
201
+ const intentsFile = takeFlag(args, '--intents-file');
202
+ const allowDataFrom = takeFlag(args, '--allow-data-from');
81
203
  // GrantAgentAccessInput requires scopes (z.array(z.string()).min(1)).
82
204
  // Earlier CLI made --scopes optional which 400'd ZodError when omitted.
83
205
  const scopes = typeof scopesRaw === 'string'
84
206
  ? scopesRaw.split(',').map((s) => s.trim()).filter(Boolean)
85
- : [];
86
- if (typeof agentNameOrId !== 'string' || typeof connectionId !== 'string' || scopes.length === 0) {
87
- stderr.write(`usage: ${invokeHint('service grant --agent <name-or-id> --connection <connection-id> --scopes scope1,scope2')}\n`
88
- + `--scopes must list at least one scope. Use \`service show <connection-id>\` to see available scopes.\n`);
207
+ : Array.isArray(body['scopes']) ? body['scopes'] : [];
208
+ const agentInput = typeof agentNameOrId === 'string' ? agentNameOrId : body['agent_id'];
209
+ const connectionInput = typeof connectionId === 'string' ? connectionId : body['service_connection_id'];
210
+ if (typeof agentInput !== 'string' || typeof connectionInput !== 'string' || scopes.length === 0) {
211
+ stderr.write(`usage: ${invokeHint('service grant --agent <name-or-id> --connection <connection-id> --scopes scope1,scope2 [--constraints-file constraints.json] [--intents-file intents.json] [--allow-data-from a,b]')}\n`
212
+ + ` or: ${invokeHint('service grant --from-file grant.json')}\n`);
89
213
  exit(2);
90
214
  }
91
- const agentId = await resolveAgentId(agentNameOrId);
92
- const body = {
93
- agent_id: agentId,
94
- service_connection_id: connectionId,
95
- scopes,
96
- };
97
- const out = await api('POST', '/v1/services/grant', { body });
215
+ const agentId = await resolveAgentId(agentInput);
216
+ body['agent_id'] = agentId;
217
+ body['service_connection_id'] = connectionInput;
218
+ body['scopes'] = scopes;
219
+ const { readFile } = await import('node:fs/promises');
220
+ if (typeof constraintsFile === 'string') {
221
+ body['constraints'] = JSON.parse(await readFile(constraintsFile, 'utf8'));
222
+ }
223
+ if (typeof intentsFile === 'string') {
224
+ body['intents'] = JSON.parse(await readFile(intentsFile, 'utf8'));
225
+ }
226
+ if (typeof allowDataFrom === 'string') {
227
+ body['allow_data_from'] = allowDataFrom.split(',').map((item) => item.trim()).filter(Boolean);
228
+ }
229
+ const out = await governedApi('POST', '/v1/services/grant', { body });
98
230
  if (json)
99
231
  return printJson(out);
100
232
  printRecord(out);
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export type SupportedMcpClient = 'claude' | 'codex' | 'cursor';
2
+ interface DetectedClient {
3
+ id: SupportedMcpClient;
4
+ label: string;
5
+ executable: string;
6
+ }
7
+ export declare function parseClientSelection(value: string, detected: ReadonlyArray<Pick<DetectedClient, 'id'>>): SupportedMcpClient[];
8
+ export declare function setupCommands(client: SupportedMcpClient): ReadonlyArray<ReadonlyArray<string>>;
9
+ export declare function cmdSetup(args: string[]): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D,UAAU,cAAc;IACtB,EAAE,EAAE,kBAAkB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AA8CD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,GAClD,kBAAkB,EAAE,CAkBtB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAgB9F;AAsHD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC5D"}