@sente-labs/cli 0.11.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # @sente-labs/cli
2
2
 
3
- The Sente CLI -- author and manage QA tests from your terminal and Claude Code. Tests run against your staging URL after each deploy.
3
+ The Sente CLI -- give your AI agents **managed email identities** (AgentAccount).
4
+ Create an email address your agent owns on `agents.sente.run`, then send,
5
+ receive, and react to mail -- verification links, OTPs, replies -- from your
6
+ terminal, scripts, or Claude Code.
4
7
 
5
8
  ## Install
6
9
 
@@ -10,79 +13,103 @@ npm install -g @sente-labs/cli
10
13
 
11
14
  Requires Node.js 18+.
12
15
 
16
+ Building an agent that should set this up itself? Point it at the onboarding
17
+ skill: <https://sente.run/skill.md>.
18
+
13
19
  ## Quickstart
14
20
 
15
21
  ```bash
16
- # 1. Get a token from https://app.sente.run -> Settings -> API Tokens
22
+ # 1. Sign in (opens the browser, stores an API key in ~/.sente/credentials)
17
23
  sente login
18
-
19
- # 2. In your repo, create a Sente project and install the Claude Code skill
20
- cd my-app
21
- sente init --staging-url https://staging.my-app.com
22
-
23
- # 3. Open Claude Code; it auto-discovers the skill
24
- claude
25
-
26
- # 4. Ask CC: "Write a Sente test for the login flow"
27
- # CC drafts steps, validates them, and creates the task via the CLI.
24
+ sente whoami
25
+
26
+ # 2. Give your agent an identity -- a real, reusable email address
27
+ sente identity create --name "Support Bot" --local-part support-bot
28
+ # -> support-bot@agents.sente.run
29
+
30
+ # 3. Read its mail
31
+ sente inbox --identity support-bot # recent messages
32
+ sente wait --identity support-bot --timeout 60 # block until the next message
33
+ sente listen --identity support-bot # stream messages as they arrive
34
+
35
+ # Verification emails: --otp / --magic-link block for the verification message
36
+ # and print JUST the extracted code / link (pipeable):
37
+ CODE=$(sente wait --identity support-bot --otp --timeout 60)
38
+
39
+ # 4. Send from it
40
+ sente send --identity support-bot --to user@example.com \
41
+ --subject "Hello" --text "It works."
42
+ # Reply in-thread to an inbound message:
43
+ sente send --identity support-bot --to user@example.com \
44
+ --subject "Re: Hello" --text "Following up." --reply-to <messageId>
28
45
  ```
29
46
 
30
- The skill installs to `~/.claude/skills/sente/SKILL.md`. Re-install or update
31
- with `sente install-skill`.
47
+ Use `--json` on any command for machine-readable output.
32
48
 
33
- ## Where do tests run?
49
+ ## Webhooks (push delivery)
34
50
 
35
- Sente runs in a cloud-hosted Chrome browser, so it only operates against
36
- **publicly-reachable URLs**. Staging environments, production, and public
37
- preview deploys (Vercel, Netlify) all work. `localhost` and non-public PR
38
- previews do not.
51
+ Register your HTTPS endpoint and Sente POSTs a `message.received` event for
52
+ each inbound email. Verify the `X-Sente-Secret` header on every delivery.
39
53
 
40
- Tests are triggered after each staging deploy via the per-project deploy
41
- webhook. Configure it in **Project Settings -> Deploy Webhook**, then POST
42
- to it from CI:
43
-
44
- ```yaml
45
- - run: |
46
- curl -X POST $SENTE_DEPLOY_ENDPOINT \
47
- -H "X-Sente-Secret: ${{ secrets.SENTE_WEBHOOK_SECRET }}" \
48
- -d '{"environment":"staging","commitSha":"'"$GITHUB_SHA"'"}'
54
+ ```bash
55
+ sente webhook register --url https://my-app.com/hooks/sente --identity support-bot
56
+ sente webhook list
57
+ sente webhook delete <id>
49
58
  ```
50
59
 
51
- ## Common commands
60
+ Developing the handler locally? Relay live inbound mail to it with no public
61
+ URL -- `listen --forward` POSTs each message in the exact webhook envelope
62
+ (with `x-sente-secret` taken from `SENTE_WEBHOOK_SECRET`, if set):
52
63
 
53
64
  ```bash
54
- sente whoami # show current user + org
55
- sente project show # show project bound to this repo
56
- sente task list --json # list tasks
57
- sente task show <id> # task details
58
- sente task results <id> --failed-step --json # focused failure payload
59
- sente task create --workflow <id> --name "..." --instruction "..." \
60
- --steps-from steps.json
61
- sente task update <id> --steps-from steps.json
62
- sente task delete <id>
63
- sente sync # regenerate .sente/tasks.json
65
+ sente listen --identity support-bot --forward http://localhost:3000/hooks/sente
64
66
  ```
65
67
 
66
- Use `--json` on any command for machine-readable output -- this is what
67
- the Claude Code skill consumes.
68
+ Or run a shell command per message (message JSON on stdin):
69
+
70
+ ```bash
71
+ sente listen --identity support-bot --exec './handle-message.sh'
72
+ ```
68
73
 
69
74
  ## Auth
70
75
 
71
- Tokens are stored in `~/.sente/credentials` (mode 0600). You can override
72
- both the token and the gateway URL via env:
76
+ `sente login` stores the API key in `~/.sente/credentials` (mode 0600). The
77
+ key authenticates as your whole organization -- don't paste it into chats or
78
+ commit it. To hand it to your app without echoing it:
79
+
80
+ ```bash
81
+ echo "SENTE_API_TOKEN=$(sente token)" >> .env
82
+ ```
83
+
84
+ For CI or non-interactive use, set env vars instead of logging in:
73
85
 
74
86
  ```bash
75
87
  export SENTE_API_TOKEN=sk_sente_...
76
- export SENTE_GATEWAY_URL=https://api.sente.run
88
+ export SENTE_GATEWAY_URL=https://api.sente.run # optional override
77
89
  ```
78
90
 
79
- Useful for CI where interactive `sente login` isn't an option.
91
+ ## Commands
92
+
93
+ | Command | What it does |
94
+ | --- | --- |
95
+ | `sente login` | Browser sign-in; mints and stores an API key |
96
+ | `sente whoami` | Show the logged-in account + organization |
97
+ | `sente token` | Print the stored API key (for piping into `.env`) |
98
+ | `sente identity create\|list\|show` | Manage email identities |
99
+ | `sente inbox --identity <ref>` | List recent messages |
100
+ | `sente wait --identity <ref>` | Block until the next message (long-poll); `--otp` / `--magic-link` print just the code / link |
101
+ | `sente listen --identity <ref>` | Stream messages; `--exec` / `--forward` to react |
102
+ | `sente send --identity <ref>` | Send email (`--reply-to` threads replies) |
103
+ | `sente webhook register\|list\|delete` | Manage push delivery to your endpoint |
104
+
105
+ `<ref>` is an identity id, email, or local-part.
80
106
 
81
107
  ## Documentation
82
108
 
83
109
  - Home: <https://sente.run>
110
+ - Agent onboarding skill: <https://sente.run/skill.md>
84
111
  - Issues: <https://github.com/sente-labs/agentic-browser/issues>
85
112
 
86
113
  ## License
87
114
 
88
- UNLICENSED. Contact support@sente.run for licensing terms.
115
+ MIT
package/dist/client.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GatewayClient = exports.ApiError = void 0;
4
4
  const credentials_1 = require("./credentials");
5
+ const update_1 = require("./update");
5
6
  /**
6
7
  * Domain-specific error. Surfaces structured failure modes so commands can
7
8
  * print clean messages without leaking HTTP internals.
@@ -45,7 +46,7 @@ class GatewayClient {
45
46
  headers: {
46
47
  Authorization: `Bearer ${this.creds.token}`,
47
48
  'Content-Type': 'application/json',
48
- 'User-Agent': 'sente-cli/0.4.0',
49
+ 'User-Agent': `sente-cli/${update_1.CLI_VERSION}`,
49
50
  },
50
51
  };
51
52
  if (opts.body !== undefined) {
@@ -98,8 +99,16 @@ async function parseResponse(res) {
98
99
  }
99
100
  if (!res.ok) {
100
101
  const code = (body && body.code) || `HTTP_${res.status}`;
101
- const message = (body && body.error) ||
102
- (typeof body === 'string' ? body : `Request failed with status ${res.status}`);
102
+ const rawError = body && body.error;
103
+ // `error` may be a string, or a structured value (e.g. an array of zod issues on a 400).
104
+ // Stringify non-strings so the message is readable instead of "[object Object]".
105
+ const message = typeof rawError === 'string'
106
+ ? rawError
107
+ : rawError !== undefined
108
+ ? JSON.stringify(rawError)
109
+ : typeof body === 'string'
110
+ ? body
111
+ : `Request failed with status ${res.status}`;
103
112
  throw new ApiError(res.status, code, message, body);
104
113
  }
105
114
  return body;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -76,24 +76,50 @@ function registerInboxCommands(program, globalOpts) {
76
76
  });
77
77
  program
78
78
  .command('wait')
79
- .description('Block until the next message arrives for an identity (long-poll)')
79
+ .description('Block until the next message arrives for an identity (long-poll). ' +
80
+ 'With --otp / --magic-link, wait for a verification email and print just the code / link (pipeable).')
80
81
  .requiredOption('--identity <ref>', IDENTITY_HELP)
81
82
  .option('--since <ts>', 'wait for messages after this ISO timestamp')
82
83
  .option('--timeout <s>', 'seconds to wait before giving up', '25')
84
+ .option('--otp', 'wait for a verification-code email; print just the code')
85
+ .option('--magic-link', 'wait for a magic-link email; print just the link')
83
86
  .action(async (cmdOpts) => {
84
87
  const opts = globalOpts();
88
+ if (cmdOpts.otp && cmdOpts.magicLink) {
89
+ process.exit((0, output_1.printError)(new Error('--otp and --magic-link are mutually exclusive'), opts));
90
+ }
91
+ const kind = cmdOpts.otp ? 'otp' : cmdOpts.magicLink ? 'magic_link' : undefined;
85
92
  try {
86
93
  const client = new client_1.GatewayClient();
87
94
  const identityId = await (0, identityRef_1.resolveIdentityId)(client, cmdOpts.identity);
88
- const msg = await client.request('/v1/messages/wait', {
89
- query: { identityId, since: cmdOpts.since, timeout: cmdOpts.timeout },
90
- });
95
+ // The server long-poll caps at 60s per call; loop ≤60s chunks so any --timeout works
96
+ // (verification emails can take up to ~2 min). Anchor `since` once so no message slips
97
+ // through the gap between chunks.
98
+ const deadline = Date.now() + Number(cmdOpts.timeout ?? '25') * 1000;
99
+ // Default to a 60s lookback (matches the server) so a just-arrived email isn't missed;
100
+ // anchored once so the chunked loop below can't skip it between chunks.
101
+ let since = cmdOpts.since ?? new Date(Date.now() - 60_000).toISOString();
102
+ let msg;
103
+ do {
104
+ const remaining = Math.min(60, Math.ceil((deadline - Date.now()) / 1000));
105
+ if (remaining <= 0)
106
+ break;
107
+ msg = await client.request('/v1/messages/wait', {
108
+ query: { identityId, since, timeout: String(remaining), kind },
109
+ });
110
+ } while (!msg && Date.now() < deadline);
91
111
  if (!msg) {
92
112
  if (!opts.json)
93
113
  process.stderr.write('Timed out — no message.\n');
94
114
  (0, output_1.printSuccess)(null, () => { }, opts);
95
115
  return;
96
116
  }
117
+ if (kind && !opts.json) {
118
+ // Bare artifact on stdout so it's pipeable: CODE=$(sente wait --identity x --otp)
119
+ const value = kind === 'otp' ? msg.annotation?.code : msg.annotation?.link;
120
+ process.stdout.write((value ?? '') + '\n');
121
+ return;
122
+ }
97
123
  (0, output_1.printSuccess)(msg, () => printMessages([msg]), opts);
98
124
  }
99
125
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerRegistrationCommands = registerRegistrationCommands;
4
+ const client_1 = require("../client");
5
+ const identityRef_1 = require("../identityRef");
6
+ const output_1 = require("../output");
7
+ const TERMINAL = new Set(['completed', 'failed']);
8
+ const POLL_INTERVAL_MS = 3000;
9
+ // Cap the client-side wait so `register`/`relogin` can't hang forever if a run wedges. The run
10
+ // controller enforces its own wall-clock (RUN_TIMEOUT_MINUTES+2), so this is a safety net above it;
11
+ // on timeout we return the last-polled (non-terminal) run and tell the user to poll `sente run <id>`.
12
+ const MAX_WAIT_MS = 10 * 60 * 1000;
13
+ /**
14
+ * Poll a run to a terminal (completed/failed) or blocked state, printing a
15
+ * live status line to stderr. Returns the final run — or, on timeout, the
16
+ * last-polled (still-running) run. `--json` suppresses the status line.
17
+ */
18
+ async function waitForRun(client, runId, opts) {
19
+ const deadline = Date.now() + MAX_WAIT_MS;
20
+ let run = await client.request(`/v1/runs/${runId}`);
21
+ let last = '';
22
+ for (;;) {
23
+ if (!opts.json && run.status !== last) {
24
+ process.stderr.write(` ${run.status}…\n`);
25
+ last = run.status;
26
+ }
27
+ if (TERMINAL.has(run.status) || run.status === 'blocked')
28
+ return run;
29
+ if (Date.now() >= deadline)
30
+ return run; // timed out — caller renders "still running"
31
+ await new Promise((r) => setTimeout(r, POLL_INTERVAL_MS));
32
+ run = await client.request(`/v1/runs/${runId}`);
33
+ }
34
+ }
35
+ /**
36
+ * Render the outcome of a finished/blocked run to stderr, and exit non-zero on
37
+ * failure. Shared by `register` and `relogin` (same wait/poll UX). `--json`
38
+ * already emitted the full object, so this only handles the human path.
39
+ */
40
+ function renderRunOutcome(reg, run, opts) {
41
+ (0, output_1.printSuccess)({ registration: reg, run }, () => {
42
+ if (run.status === 'completed') {
43
+ process.stdout.write(`Account ready.\n registration: ${reg.id}\n username: ${reg.username ?? '-'}\n`);
44
+ }
45
+ else if (run.status === 'blocked') {
46
+ process.stderr.write(`Run blocked (${run.error?.code ?? 'unknown'}) — human takeover needed.\n` +
47
+ (run.liveViewUrl ? ` live view: ${run.liveViewUrl}\n` : '') +
48
+ ` resume: sente run resume ${run.id}\n`);
49
+ }
50
+ else if (run.status === 'failed') {
51
+ process.stderr.write(`Run failed: ${run.error?.code ?? 'unknown'}${run.error?.detail ? ` — ${run.error.detail}` : ''}\n`);
52
+ }
53
+ else {
54
+ // Non-terminal (still running/awaiting_verification) — the client wait timed out, not the run.
55
+ process.stderr.write(`Run still ${run.status} after waiting — check later with:\n sente run ${run.id}\n`);
56
+ }
57
+ }, opts);
58
+ if (run.status !== 'completed')
59
+ process.exit(1);
60
+ }
61
+ /**
62
+ * `sente register|registrations|relogin|credentials|run` — drive the
63
+ * register/login loop: create third-party accounts under an identity's email
64
+ * and re-auth them (AgentAccount Slice 1). Targets the Sente API
65
+ * (`/v1/registrations`, `/v1/runs`) with the stored API key.
66
+ *
67
+ * Note: `register` is the third-party signup — distinct from `sente login`,
68
+ * which is Auth0 sign-in to Sente itself. Re-auth of a third-party account is
69
+ * `relogin`.
70
+ */
71
+ function registerRegistrationCommands(program, globalOpts) {
72
+ program
73
+ .command('register')
74
+ .description('Register a third-party account under an identity (drives the browser + email verification)')
75
+ .argument('<appUrl>', 'signup URL of the third-party app')
76
+ .requiredOption('--identity <ref>', 'identity id, email, or local-part')
77
+ .option('--username <u>', 'desired username (default: derived server-side)')
78
+ .option('--password <p>', 'desired password (default: generated server-side)')
79
+ .option('--no-wait', "return the run id immediately instead of waiting for it to finish")
80
+ .action(async (appUrl, cmdOpts) => {
81
+ const opts = globalOpts();
82
+ try {
83
+ const client = new client_1.GatewayClient();
84
+ const identityId = await (0, identityRef_1.resolveIdentityId)(client, cmdOpts.identity);
85
+ const credentials = {};
86
+ if (cmdOpts.username)
87
+ credentials.username = cmdOpts.username;
88
+ if (cmdOpts.password)
89
+ credentials.password = cmdOpts.password;
90
+ const { registration, run } = await client.request('/v1/registrations', {
91
+ method: 'POST',
92
+ body: { identityId, appUrl, ...(Object.keys(credentials).length ? { credentials } : {}) },
93
+ });
94
+ if (cmdOpts.wait === false) {
95
+ (0, output_1.printSuccess)({ registration, run }, `Started run ${run.id} (registration ${registration.id})`, opts);
96
+ return;
97
+ }
98
+ const final = await waitForRun(client, run.id, opts);
99
+ renderRunOutcome(registration, final, opts);
100
+ }
101
+ catch (err) {
102
+ process.exit((0, output_1.printError)(err, opts));
103
+ }
104
+ });
105
+ program
106
+ .command('registrations')
107
+ .description('List third-party accounts and their latest run status')
108
+ .option('--identity <ref>', 'filter to one identity (id, email, or local-part)')
109
+ .action(async (cmdOpts) => {
110
+ const opts = globalOpts();
111
+ try {
112
+ const client = new client_1.GatewayClient();
113
+ const identityId = cmdOpts.identity ? await (0, identityRef_1.resolveIdentityId)(client, cmdOpts.identity) : undefined;
114
+ const rows = await client.request('/v1/registrations', {
115
+ query: { identityId },
116
+ });
117
+ (0, output_1.printSuccess)(rows, () => {
118
+ if (rows.length === 0) {
119
+ process.stdout.write('No registrations yet. Create one with `sente register <appUrl> --identity <ref>`.\n');
120
+ return;
121
+ }
122
+ for (const r of rows) {
123
+ const runStatus = r.latestRun ? r.latestRun.status : '-';
124
+ process.stdout.write(`${r.appUrl} ${r.status} run:${runStatus} ${r.id}\n`);
125
+ }
126
+ }, opts);
127
+ }
128
+ catch (err) {
129
+ process.exit((0, output_1.printError)(err, opts));
130
+ }
131
+ });
132
+ program
133
+ .command('relogin')
134
+ .description('Re-authenticate an existing third-party account (F4) — not `sente login`, which is Sente sign-in')
135
+ .argument('<registrationId>', 'registration id (reg_…)')
136
+ .option('--no-wait', 'return the run id immediately instead of waiting for it to finish')
137
+ .action(async (registrationId, cmdOpts) => {
138
+ const opts = globalOpts();
139
+ try {
140
+ const client = new client_1.GatewayClient();
141
+ const { registration, run } = await client.request(`/v1/registrations/${registrationId}/login`, { method: 'POST' });
142
+ if (cmdOpts.wait === false) {
143
+ (0, output_1.printSuccess)({ registration, run }, `Started run ${run.id} (registration ${registration.id})`, opts);
144
+ return;
145
+ }
146
+ const final = await waitForRun(client, run.id, opts);
147
+ renderRunOutcome(registration, final, opts);
148
+ }
149
+ catch (err) {
150
+ process.exit((0, output_1.printError)(err, opts));
151
+ }
152
+ });
153
+ program
154
+ .command('credentials')
155
+ .description("Print an account's vaulted username/password/origin (for handoff; audited server-side)")
156
+ .argument('<registrationId>', 'registration id (reg_…)')
157
+ .action(async (registrationId) => {
158
+ const opts = globalOpts();
159
+ try {
160
+ const creds = await new client_1.GatewayClient().request(`/v1/registrations/${registrationId}/credentials`);
161
+ (0, output_1.printSuccess)(creds, () => process.stdout.write(`username: ${creds.username}\npassword: ${creds.password}\norigin: ${creds.origin}\n`), opts);
162
+ }
163
+ catch (err) {
164
+ process.exit((0, output_1.printError)(err, opts));
165
+ }
166
+ });
167
+ const run = program.command('run').description('Inspect and control register/login runs');
168
+ run
169
+ .command('show', { isDefault: true })
170
+ .description("Show a run's status, error, and live-view URL")
171
+ .argument('<runId>', 'run id (run_…)')
172
+ .action(async (runId) => {
173
+ const opts = globalOpts();
174
+ try {
175
+ const r = await new client_1.GatewayClient().request(`/v1/runs/${runId}`);
176
+ (0, output_1.printSuccess)(r, () => process.stdout.write(`${r.type} run ${r.id}\n status: ${r.status}\n error: ${r.error ? `${r.error.code}${r.error.detail ? ` — ${r.error.detail}` : ''}` : '-'}\n live view: ${r.liveViewUrl ?? '-'}\n`), opts);
177
+ }
178
+ catch (err) {
179
+ process.exit((0, output_1.printError)(err, opts));
180
+ }
181
+ });
182
+ run
183
+ .command('resume')
184
+ .description('Resume a blocked run after human takeover in the live view')
185
+ .argument('<runId>', 'run id (run_…)')
186
+ .action(async (runId) => {
187
+ const opts = globalOpts();
188
+ try {
189
+ const r = await new client_1.GatewayClient().request(`/v1/runs/${runId}/resume`, { method: 'POST' });
190
+ (0, output_1.printSuccess)(r, `Resumed run ${r.id} (${r.status})`, opts);
191
+ }
192
+ catch (err) {
193
+ process.exit((0, output_1.printError)(err, opts));
194
+ }
195
+ });
196
+ run
197
+ .command('abort')
198
+ .description('Abort a non-terminal run')
199
+ .argument('<runId>', 'run id (run_…)')
200
+ .action(async (runId) => {
201
+ const opts = globalOpts();
202
+ try {
203
+ const r = await new client_1.GatewayClient().request(`/v1/runs/${runId}/abort`, { method: 'POST' });
204
+ (0, output_1.printSuccess)(r, `Aborted run ${r.id} (${r.status})`, opts);
205
+ }
206
+ catch (err) {
207
+ process.exit((0, output_1.printError)(err, opts));
208
+ }
209
+ });
210
+ }
211
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/commands/registration.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -37,14 +37,12 @@ exports.DEFAULT_AUTH0_AUDIENCE = exports.DEFAULT_AUTH0_CLIENT_ID = exports.DEFAU
37
37
  exports.gatewayUrl = gatewayUrl;
38
38
  exports.envToken = envToken;
39
39
  exports.auth0Config = auth0Config;
40
- exports.readLocalProjectId = readLocalProjectId;
41
40
  /**
42
41
  * CLI runtime configuration. Env vars take precedence over defaults.
43
42
  *
44
43
  * SENTE_GATEWAY_URL -- override the gateway base URL
45
44
  * SENTE_API_TOKEN -- override the stored PAT (CI use)
46
45
  */
47
- const fs = __importStar(require("fs"));
48
46
  const os = __importStar(require("os"));
49
47
  const path = __importStar(require("path"));
50
48
  exports.DEFAULT_GATEWAY_URL = 'https://api.sente.run';
@@ -68,29 +66,4 @@ function auth0Config() {
68
66
  audience: process.env.SENTE_AUTH0_AUDIENCE || exports.DEFAULT_AUTH0_AUDIENCE,
69
67
  };
70
68
  }
71
- /**
72
- * Read the project id from the local .sente/config.json, walking up from the
73
- * cwd (same discovery as git/node_modules). Returns null if none is found.
74
- * Canonical home for this lookup; commands that need a project default to it.
75
- */
76
- function readLocalProjectId() {
77
- let dir = process.cwd();
78
- while (true) {
79
- const candidate = path.join(dir, '.sente', 'config.json');
80
- if (fs.existsSync(candidate)) {
81
- try {
82
- const parsed = JSON.parse(fs.readFileSync(candidate, 'utf8'));
83
- if (typeof parsed.projectId === 'string')
84
- return parsed.projectId;
85
- }
86
- catch {
87
- return null;
88
- }
89
- }
90
- const parent = path.dirname(dir);
91
- if (parent === dir)
92
- return null;
93
- dir = parent;
94
- }
95
- }
96
69
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,gCAEC;AAED,4BAEC;AAQD,kCAMC;AAOD,gDAgBC;AAzDD;;;;;GAKG;AACH,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAEhB,QAAA,mBAAmB,GAAG,uBAAuB,CAAC;AAC9C,QAAA,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpD,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAe,EAAE,aAAa,CAAC,CAAC;AAE1E,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2BAAmB,CAAC;AAC9D,CAAC;AAED,SAAgB,QAAQ;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;AAClD,CAAC;AAED,yFAAyF;AACzF,gEAAgE;AACnD,QAAA,oBAAoB,GAAG,mCAAmC,CAAC;AAC3D,QAAA,uBAAuB,GAAG,kCAAkC,CAAC;AAC7D,QAAA,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D,SAAgB,WAAW;IACzB,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,4BAAoB;QAC9D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,+BAAuB;QACtE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8BAAsB;KACrE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9D,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;oBAAE,OAAO,MAAM,CAAC,SAAS,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,gCAEC;AAED,4BAEC;AAQD,kCAMC;AAjCD;;;;;GAKG;AACH,uCAAyB;AACzB,2CAA6B;AAEhB,QAAA,mBAAmB,GAAG,uBAAuB,CAAC;AAC9C,QAAA,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpD,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAe,EAAE,aAAa,CAAC,CAAC;AAE1E,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2BAAmB,CAAC;AAC9D,CAAC;AAED,SAAgB,QAAQ;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;AAClD,CAAC;AAED,yFAAyF;AACzF,gEAAgE;AACnD,QAAA,oBAAoB,GAAG,mCAAmC,CAAC;AAC3D,QAAA,uBAAuB,GAAG,kCAAkC,CAAC;AAC7D,QAAA,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D,SAAgB,WAAW;IACzB,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,4BAAoB;QAC9D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,+BAAuB;QACtE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8BAAsB;KACrE,CAAC;AACJ,CAAC"}