orbitmap 0.4.0-next.0 → 0.4.2
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 +148 -45
- package/dist/adapters/cloud.d.ts +36 -3
- package/dist/adapters/cloud.js +79 -17
- package/dist/adapters/cloud.js.map +1 -1
- package/dist/adapters/factory.d.ts +8 -4
- package/dist/adapters/factory.js +9 -5
- package/dist/adapters/factory.js.map +1 -1
- package/dist/adapters/local/context.d.ts +4 -3
- package/dist/adapters/local/context.js +4 -3
- package/dist/adapters/local/context.js.map +1 -1
- package/dist/commands/assign.js +9 -4
- package/dist/commands/assign.js.map +1 -1
- package/dist/commands/create.js +1 -6
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/ideas.js +1 -6
- package/dist/commands/ideas.js.map +1 -1
- package/dist/commands/init.d.ts +28 -0
- package/dist/commands/init.js +260 -132
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/issues.js +1 -6
- package/dist/commands/issues.js.map +1 -1
- package/dist/commands/setup-agent.d.ts +16 -0
- package/dist/commands/setup-agent.js +38 -5
- package/dist/commands/setup-agent.js.map +1 -1
- package/dist/commands/setup-mcp.js +13 -42
- package/dist/commands/setup-mcp.js.map +1 -1
- package/dist/commands/task.js +3 -13
- package/dist/commands/task.js.map +1 -1
- package/dist/config.d.ts +69 -17
- package/dist/config.js +206 -32
- package/dist/config.js.map +1 -1
- package/dist/doc-cache.d.ts +21 -1
- package/dist/doc-cache.js +72 -12
- package/dist/doc-cache.js.map +1 -1
- package/dist/id-resolve.d.ts +61 -0
- package/dist/id-resolve.js +87 -0
- package/dist/id-resolve.js.map +1 -0
- package/dist/index.js +26 -12
- package/dist/index.js.map +1 -1
- package/dist/mcp-config.d.ts +36 -0
- package/dist/mcp-config.js +51 -0
- package/dist/mcp-config.js.map +1 -0
- package/dist/oauth.d.ts +8 -0
- package/dist/oauth.js +54 -15
- package/dist/oauth.js.map +1 -1
- package/dist/paths.d.ts +97 -0
- package/dist/paths.js +178 -0
- package/dist/paths.js.map +1 -0
- package/dist/project-config.d.ts +75 -0
- package/dist/project-config.js +55 -0
- package/dist/project-config.js.map +1 -0
- package/dist/workspace-resolve.d.ts +56 -24
- package/dist/workspace-resolve.js +106 -25
- package/dist/workspace-resolve.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/init.js
CHANGED
|
@@ -2,12 +2,15 @@ import readline from 'node:readline';
|
|
|
2
2
|
import { mkdir, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { basename, join, relative, resolve } from 'node:path';
|
|
4
4
|
import { OrbitMapClient } from '../api-client.js';
|
|
5
|
-
import {
|
|
6
|
-
import { ensureGitignore } from '../doc-cache.js';
|
|
7
|
-
import { loadCredentials,
|
|
5
|
+
import { saveGlobalConfig, saveProjectConfig, DEFAULT_API_HOST, DEFAULT_API_URL, } from '../config.js';
|
|
6
|
+
import { ensureGitignore, gitignoreShadowsProjectConfig } from '../doc-cache.js';
|
|
7
|
+
import { loadCredentials, saveAgentProfile, validateProfile } from '../oauth.js';
|
|
8
|
+
import { buildMcpUrl, buildOrbitmapBlock, maskBlockForPrint } from '../mcp-config.js';
|
|
9
|
+
import { CREDENTIALS_FILENAME, resolveOrbitMapHome } from '../paths.js';
|
|
8
10
|
import { LocalStore, slugify } from '../adapters/local/store.js';
|
|
9
11
|
import { LINK_FILE, ORBITMAP_DIR } from '../workspace-resolve.js';
|
|
10
|
-
import {
|
|
12
|
+
import { printError } from '../output.js';
|
|
13
|
+
import { AGENT_MENU_ORDER, agentConfigFile, agentLabel, agentTypeNames, detectAgent, installAgentSkills, parseAgentType, } from './setup-agent.js';
|
|
11
14
|
/**
|
|
12
15
|
* One readline interface for the whole `init` run.
|
|
13
16
|
*
|
|
@@ -106,10 +109,23 @@ async function promptSecret(question) {
|
|
|
106
109
|
}
|
|
107
110
|
});
|
|
108
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* `orbitmap init` — the documented command pattern (try/catch → `printError`).
|
|
114
|
+
*
|
|
115
|
+
* The catch is not decorative: this command writes three files (`credentials.json`, a
|
|
116
|
+
* config file, `.gitignore`), and any of those writes can fail for ordinary reasons — a
|
|
117
|
+
* read-only `$HOME`, a `credentials.json` owned by another user, a full disk. Without it
|
|
118
|
+
* the rejection escapes to Commander as an unhandled promise rejection and the user sees a
|
|
119
|
+
* stack trace instead of an error message.
|
|
120
|
+
*/
|
|
109
121
|
export async function initCommand(options = {}) {
|
|
110
122
|
try {
|
|
111
123
|
await runInit(options);
|
|
112
124
|
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
printError(error, false);
|
|
127
|
+
process.exitCode = 1;
|
|
128
|
+
}
|
|
113
129
|
finally {
|
|
114
130
|
closePrompts();
|
|
115
131
|
}
|
|
@@ -164,7 +180,12 @@ async function askMode() {
|
|
|
164
180
|
}
|
|
165
181
|
return undefined;
|
|
166
182
|
}
|
|
167
|
-
// ── Path 1: cloud
|
|
183
|
+
// ── Path 1: cloud ─────────────────────────────────────────────────────────────
|
|
184
|
+
//
|
|
185
|
+
// ADR 0002: the config written here now goes to `<cwd>/.orbitmap/config.json` by default
|
|
186
|
+
// (`--global` opts into the old `~/.orbitmap/config.json` target), holds no secret, and
|
|
187
|
+
// names an `agent` profile instead of embedding the key. The key itself always goes to
|
|
188
|
+
// `~/.orbitmap/credentials.json`, regardless of `--global`.
|
|
168
189
|
async function cloudInit(options, apiKeyInput) {
|
|
169
190
|
const nonInteractive = !!apiKeyInput;
|
|
170
191
|
let profile = 'full';
|
|
@@ -178,104 +199,124 @@ async function cloudInit(options, apiKeyInput) {
|
|
|
178
199
|
return;
|
|
179
200
|
}
|
|
180
201
|
}
|
|
181
|
-
let fullApiUrl =
|
|
202
|
+
let fullApiUrl = DEFAULT_API_URL;
|
|
203
|
+
let apiKey;
|
|
204
|
+
let area;
|
|
182
205
|
if (nonInteractive) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
const area = options.area || '';
|
|
206
|
+
apiKey = apiKeyInput;
|
|
207
|
+
area = options.area || '';
|
|
186
208
|
console.log('Validating credentials...');
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
};
|
|
199
|
-
await saveConfig(config);
|
|
200
|
-
const agentName = response.data.agent.name;
|
|
201
|
-
const areaName = response.data.area?.name;
|
|
202
|
-
if (areaName) {
|
|
203
|
-
console.log(`✓ Connected as ${agentName} on area ${areaName}`);
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
console.log(`✓ Connected as ${agentName}`);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
console.log('OrbitMap CLI Setup\n');
|
|
212
|
+
if (options.advanced) {
|
|
213
|
+
const apiUrl = await prompt('API URL', DEFAULT_API_HOST);
|
|
214
|
+
fullApiUrl = apiUrl.replace(/\/+$/, '') + '/api/agent';
|
|
215
|
+
if (fullApiUrl !== DEFAULT_API_URL) {
|
|
216
|
+
console.log(`Note: ${fullApiUrl} is used to validate the key right now and is then ` +
|
|
217
|
+
'discarded — config files no longer store a custom api_url (ADR 0002). Every ' +
|
|
218
|
+
'later command will talk to ' +
|
|
219
|
+
`${DEFAULT_API_URL} unless you set ORBITMAP_API_URL in your environment.`);
|
|
207
220
|
}
|
|
208
|
-
console.log('Configuration saved to ~/.orbitmap/config.json');
|
|
209
|
-
printMcpConfig(profile, apiKey, response.data.area?.id || area);
|
|
210
221
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
console.error('Validation failed: could not connect to API.');
|
|
217
|
-
}
|
|
222
|
+
apiKey = await promptSecret('Agent API Key');
|
|
223
|
+
if (!apiKey) {
|
|
224
|
+
console.error('Error: Agent API Key is required.');
|
|
218
225
|
process.exitCode = 1;
|
|
219
226
|
return;
|
|
220
227
|
}
|
|
221
|
-
await
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
// Interactive mode
|
|
225
|
-
console.log('OrbitMap CLI Setup\n');
|
|
226
|
-
if (options.advanced) {
|
|
227
|
-
const apiUrl = await prompt('API URL', 'https://orbitmap-main-x5n6qz.laravel.cloud');
|
|
228
|
-
fullApiUrl = apiUrl.replace(/\/+$/, '') + '/api/agent';
|
|
229
|
-
}
|
|
230
|
-
const apiKey = await promptSecret('Agent API Key');
|
|
231
|
-
if (!apiKey) {
|
|
232
|
-
console.error('Error: Agent API Key is required.');
|
|
233
|
-
process.exitCode = 1;
|
|
234
|
-
return;
|
|
228
|
+
area = options.area || (await prompt('Default Area ID (optional, press Enter to skip)'));
|
|
229
|
+
console.log('\nValidating credentials...');
|
|
235
230
|
}
|
|
236
|
-
const area = options.area || await prompt('Default Area ID (optional, press Enter to skip)');
|
|
237
|
-
console.log('\nValidating credentials...');
|
|
238
231
|
const client = new OrbitMapClient(apiKey, area || undefined, fullApiUrl);
|
|
232
|
+
let response;
|
|
239
233
|
try {
|
|
240
|
-
|
|
241
|
-
// Extend, do not replace: unrelated keys (`mode`, `workspace_path`, the legacy
|
|
242
|
-
// `project_id`) belong to other projects and must survive a cloud `init`.
|
|
243
|
-
const existing = await loadConfig();
|
|
244
|
-
const config = {
|
|
245
|
-
...existing,
|
|
246
|
-
api_url: fullApiUrl,
|
|
247
|
-
api_key: apiKey,
|
|
248
|
-
...(area ? { area } : {}),
|
|
249
|
-
};
|
|
250
|
-
await saveConfig(config);
|
|
251
|
-
const agentName = response.data.agent.name;
|
|
252
|
-
const areaName = response.data.area?.name;
|
|
253
|
-
if (areaName) {
|
|
254
|
-
console.log(`\n✓ Connected as ${agentName} on area ${areaName}`);
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
console.log(`\n✓ Connected as ${agentName}`);
|
|
258
|
-
}
|
|
259
|
-
console.log('Configuration saved to ~/.orbitmap/config.json');
|
|
260
|
-
printMcpConfig(profile, apiKey, response.data.area?.id || area);
|
|
234
|
+
response = (await client.getContext(area || undefined));
|
|
261
235
|
}
|
|
262
236
|
catch (error) {
|
|
237
|
+
const nl = nonInteractive ? '' : '\n';
|
|
263
238
|
if (error instanceof Error) {
|
|
264
|
-
console.error(
|
|
239
|
+
console.error(`${nl}Validation failed: ${error.message}`);
|
|
265
240
|
}
|
|
266
241
|
else {
|
|
267
|
-
console.error(
|
|
242
|
+
console.error(`${nl}Validation failed: could not connect to API.`);
|
|
268
243
|
}
|
|
269
244
|
process.exitCode = 1;
|
|
270
245
|
return;
|
|
271
246
|
}
|
|
247
|
+
const agentName = response.data.agent.name;
|
|
248
|
+
// Prefer the slug the server assigned. Slugifying the display name is only a fallback for a
|
|
249
|
+
// provider that predates `agent.slug`, and a lossy one: two agents whose names slugify the
|
|
250
|
+
// same ("My Bot" / "my-bot") would share one credential entry.
|
|
251
|
+
const agentSlug = response.data.agent.slug || slugify(agentName);
|
|
252
|
+
// What goes in the config file is the **slug**, not the uuid. This file is committable and
|
|
253
|
+
// read by humans and by the team (ADR 0002) — `"area": "orbitmap-cli"` says what it pins,
|
|
254
|
+
// `"area": "019c9505-f289-…"` says nothing. Both forms are accepted everywhere `--area` and
|
|
255
|
+
// the `X-Orbitmap-Area` header are, so nothing is lost. The `area` the user typed is the
|
|
256
|
+
// fallback: they may have passed a slug for a provider that does not return one.
|
|
257
|
+
//
|
|
258
|
+
// The uuid is still what `printMcpConfig` emits, deliberately: `.mcp.json` is machine-local
|
|
259
|
+
// and gitignored, and a uuid survives an area rename.
|
|
260
|
+
const resolvedAreaSlug = response.data.area?.slug || area;
|
|
261
|
+
const resolvedAreaId = response.data.area?.id || area;
|
|
262
|
+
// Secret goes to credentials.json under the agent's own profile — never into a config
|
|
263
|
+
// file that might get committed.
|
|
264
|
+
await saveAgentProfile(agentSlug, { api_key: apiKey });
|
|
265
|
+
// Both save functions merge into whatever the file already holds — see `mergeIntoFile`
|
|
266
|
+
// in `config.ts`. That matters in both directions: a `--global` init must not drop
|
|
267
|
+
// another project's `workspace_path`, and a project init must not drop a `mode: "local"`
|
|
268
|
+
// (or any future field) the repository committed, which would then reach the whole team
|
|
269
|
+
// through git.
|
|
270
|
+
const configPatch = {
|
|
271
|
+
mode: 'cloud',
|
|
272
|
+
agent: agentSlug,
|
|
273
|
+
...(resolvedAreaSlug ? { area: resolvedAreaSlug } : {}),
|
|
274
|
+
};
|
|
275
|
+
let configLabel;
|
|
276
|
+
if (options.global) {
|
|
277
|
+
configLabel = await saveGlobalConfig(configPatch);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
const cwd = process.cwd();
|
|
281
|
+
const file = await saveProjectConfig(configPatch, cwd);
|
|
282
|
+
configLabel = relative(cwd, file) || file;
|
|
283
|
+
if (gitignoreShadowsProjectConfig(cwd)) {
|
|
284
|
+
console.log(`\nNote: .gitignore already ignores the whole ${ORBITMAP_DIR}/ directory, which also ` +
|
|
285
|
+
`hides ${configLabel}. Replace that blanket entry with the scoped ones ` +
|
|
286
|
+
`("${ORBITMAP_DIR}/docs/", "${ORBITMAP_DIR}/link.json") so this file can be committed.`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
const areaName = response.data.area?.name;
|
|
290
|
+
const nl = nonInteractive ? '' : '\n';
|
|
291
|
+
if (areaName) {
|
|
292
|
+
console.log(`${nl}✓ Connected as ${agentName} on area ${areaName}`);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
console.log(`${nl}✓ Connected as ${agentName}`);
|
|
296
|
+
}
|
|
297
|
+
console.log(`Configuration saved to ${configLabel}${options.global ? ' (--global)' : ''}`);
|
|
298
|
+
console.log(`API key saved to ${credentialsPath()} (profile "${agentSlug}")`);
|
|
299
|
+
await printMcpConfig(profile, apiKey, resolvedAreaId);
|
|
272
300
|
await installSkillsStep(options);
|
|
273
301
|
}
|
|
302
|
+
/** Where the API key was actually written — the real path, which
|
|
303
|
+
* `ORBITMAP_CONFIG_HOME`/`XDG_CONFIG_HOME` may have relocated. */
|
|
304
|
+
function credentialsPath() {
|
|
305
|
+
return join(resolveOrbitMapHome().dir, CREDENTIALS_FILENAME);
|
|
306
|
+
}
|
|
274
307
|
// ── Path 2: local files (spec §5) ────────────────────────────────────────────
|
|
275
308
|
const DEFAULT_WORKSPACE_DIR = `./${ORBITMAP_DIR}`;
|
|
276
309
|
async function localInit(options, { interactive }) {
|
|
277
310
|
const cwd = process.cwd();
|
|
278
311
|
const cwdName = basename(cwd) || 'orbitmap';
|
|
312
|
+
// `--global` only names a *target file* for the cloud path's `mode`/`agent`/`area`.
|
|
313
|
+
// Local mode writes no config file at all (see step 2 below), so there is nothing for the
|
|
314
|
+
// flag to redirect — say so rather than accepting it and doing nothing.
|
|
315
|
+
if (options.global) {
|
|
316
|
+
console.log('Note: --global has no effect in local mode — local setup deliberately writes no ' +
|
|
317
|
+
'config file, machine-wide or otherwise. This project is local because of its own ' +
|
|
318
|
+
`${join('.', ORBITMAP_DIR)} marker, and nothing here may change another project's mode.`);
|
|
319
|
+
}
|
|
279
320
|
let workspaceInput = options.workspace ?? '';
|
|
280
321
|
let workspaceName = options.workspaceName ?? '';
|
|
281
322
|
let areaName = options.area ?? '';
|
|
@@ -304,17 +345,13 @@ async function localInit(options, { interactive }) {
|
|
|
304
345
|
console.log('');
|
|
305
346
|
console.log(`Workspace "${workspace.name}" ready at ${workspaceDir}`);
|
|
306
347
|
console.log(`First area: ${area} (${areaSlug})`);
|
|
307
|
-
// 2. Global config
|
|
308
|
-
//
|
|
309
|
-
// `.orbitmap/` marker (step 1 or the
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
const config = { ...existing, area: areaSlug };
|
|
315
|
-
await saveConfig(config);
|
|
316
|
-
console.log(`Set the default area to "${areaSlug}" in ~/.orbitmap/config.json`);
|
|
317
|
-
}
|
|
348
|
+
// 2. Global config: untouched, on purpose (ADR 0002, supersedes spec §5 step 2's
|
|
349
|
+
// "first-run convenience"). Nothing here may change another project's mode or area —
|
|
350
|
+
// this project is local because of its own `.orbitmap/` marker (step 1 below, or the
|
|
351
|
+
// `link.json` of step 3), never because of a global field. A previous version of this
|
|
352
|
+
// command filled the global `area` on a first run when it was still empty; that is
|
|
353
|
+
// exactly the bug ADR 0002 fixes (a local `init` in one repo silently became the
|
|
354
|
+
// fallback area for every *other*, unrelated cloud project on the machine) — removed.
|
|
318
355
|
// 3. Project pointer / gitignore.
|
|
319
356
|
if (inProject) {
|
|
320
357
|
console.log('');
|
|
@@ -327,9 +364,11 @@ async function localInit(options, { interactive }) {
|
|
|
327
364
|
const linkFile = join(linkDir, LINK_FILE);
|
|
328
365
|
await mkdir(linkDir, { recursive: true });
|
|
329
366
|
await writeFile(linkFile, JSON.stringify({ workspace: workspaceDir, area: areaSlug }, null, 2) + '\n', 'utf-8');
|
|
330
|
-
ensureGitignore();
|
|
367
|
+
const ignored = ensureGitignore(undefined, cwd);
|
|
331
368
|
console.log(`Wrote ${relative(cwd, linkFile) || linkFile} pointing at the workspace.`);
|
|
332
|
-
|
|
369
|
+
if (ignored.length > 0) {
|
|
370
|
+
console.log(`Added ${ignored.join(' and ')} to .gitignore.`);
|
|
371
|
+
}
|
|
333
372
|
}
|
|
334
373
|
// 4. Skills, then the summary.
|
|
335
374
|
await installSkillsStep(options);
|
|
@@ -338,7 +377,7 @@ async function localInit(options, { interactive }) {
|
|
|
338
377
|
console.log(` Data lives in ${workspaceDir} (plain Markdown files)`);
|
|
339
378
|
console.log(` Active area ${areaSlug}`);
|
|
340
379
|
console.log(' Switch areas orbitmap areas → orbitmap <cmd> --area <slug>');
|
|
341
|
-
console.log(' (or set ORBITMAP_AREA
|
|
380
|
+
console.log(' (or set ORBITMAP_AREA, or `default_area` in workspace.yml)');
|
|
342
381
|
console.log(' See your tasks orbitmap tasks');
|
|
343
382
|
console.log(' Start working orbitmap start');
|
|
344
383
|
console.log('');
|
|
@@ -347,61 +386,150 @@ async function localInit(options, { interactive }) {
|
|
|
347
386
|
console.log('already use (cloud projects stay on their cloud configuration).');
|
|
348
387
|
}
|
|
349
388
|
// ── Step 3 (both modes): install the agent skills ────────────────────────────
|
|
389
|
+
/**
|
|
390
|
+
* Install the OrbitMap agent skills as part of `init` — not as an optional extra.
|
|
391
|
+
*
|
|
392
|
+
* The CLI on its own does not explain itself: the workflow (context resolution, the
|
|
393
|
+
* command set, the golden rules) lives in the skills, exactly as it lives in the MCP
|
|
394
|
+
* server's instructions. An `init` that finishes without them leaves the agent knowing
|
|
395
|
+
* that OrbitMap exists and nothing about how to use it.
|
|
396
|
+
*
|
|
397
|
+
* This step therefore does **not** require a pre-existing agent config. It used to call
|
|
398
|
+
* {@link detectAgent} and give up when nothing was found, which skipped the skills
|
|
399
|
+
* precisely where they were most needed — an empty directory, a fresh project, an
|
|
400
|
+
* umbrella root, CI — and made `orbitmap setup-agent` an undocumented second mandatory
|
|
401
|
+
* step. Detection is now only a way to *guess the default*; creating `CLAUDE.md` /
|
|
402
|
+
* `AGENTS.md` from nothing is a legitimate outcome (`writeBlock` has always had a
|
|
403
|
+
* "created" path).
|
|
404
|
+
*
|
|
405
|
+
* The agent type is resolved in this order:
|
|
406
|
+
* 1. `--agent <type>` — explicit, never overridden, works with no TTY and no files.
|
|
407
|
+
* 2. {@link detectAgent} — an existing `CLAUDE.md`/`.claude`/… in the current directory.
|
|
408
|
+
* 3. Interactive: ask, with "skip" as an offered answer.
|
|
409
|
+
* 4. Non-interactive with nothing to go on: skip, and say how to fix it.
|
|
410
|
+
*
|
|
411
|
+
* Rule 4 is deliberately a skip rather than a default. A scripted run has given the CLI
|
|
412
|
+
* no signal at all about which agent (if any) works in this directory, and the failure
|
|
413
|
+
* modes are asymmetric: a wrong guess writes an unwanted `CLAUDE.md` into a repository
|
|
414
|
+
* that a CI job may well commit, while a skip costs one documented flag. `--agent` makes
|
|
415
|
+
* the complete install available to scripts in the same single command, which is the
|
|
416
|
+
* point of the change; guessing is not needed for that.
|
|
417
|
+
*
|
|
418
|
+
* Nothing here prompts unless stdin is a TTY, so a scripted run can never block.
|
|
419
|
+
*/
|
|
350
420
|
async function installSkillsStep(options) {
|
|
351
421
|
if (options.skills === false)
|
|
352
422
|
return;
|
|
423
|
+
const agentType = await resolveSkillAgent(options);
|
|
424
|
+
if (!agentType)
|
|
425
|
+
return;
|
|
426
|
+
console.log('');
|
|
427
|
+
installAgentSkills(process.cwd(), agentType);
|
|
428
|
+
}
|
|
429
|
+
/** Decide which agent to install for, or `null` to install nothing. See {@link installSkillsStep}. */
|
|
430
|
+
async function resolveSkillAgent(options) {
|
|
431
|
+
// 1. Explicit flag wins outright — no detection, no question.
|
|
432
|
+
if (options.agent) {
|
|
433
|
+
const parsed = parseAgentType(options.agent);
|
|
434
|
+
if (!parsed) {
|
|
435
|
+
console.log('');
|
|
436
|
+
console.log(`Skills not installed: unknown agent type "${options.agent}". ` +
|
|
437
|
+
`Valid types: ${agentTypeNames()}.`);
|
|
438
|
+
// Setup itself succeeded — a bad value on an add-on flag must not undo the config
|
|
439
|
+
// and credentials already written, but it must not pass unnoticed either.
|
|
440
|
+
process.exitCode = 1;
|
|
441
|
+
return null;
|
|
442
|
+
}
|
|
443
|
+
return parsed;
|
|
444
|
+
}
|
|
445
|
+
const interactive = !!process.stdin.isTTY;
|
|
353
446
|
const detected = detectAgent();
|
|
354
|
-
|
|
447
|
+
// 2 + 3a. Something is already here — confirm it (or take it as given when scripted).
|
|
448
|
+
if (detected) {
|
|
449
|
+
if (!interactive)
|
|
450
|
+
return detected;
|
|
355
451
|
console.log('');
|
|
356
|
-
|
|
357
|
-
|
|
452
|
+
const answer = (await prompt(`Install OrbitMap skills for ${agentLabel(detected)}? [Y/n]`))
|
|
453
|
+
.trim()
|
|
454
|
+
.toLowerCase();
|
|
455
|
+
if (answer === 'n' || answer === 'no') {
|
|
456
|
+
console.log('Skipped. Install them later with `orbitmap setup-agent`.');
|
|
457
|
+
return null;
|
|
458
|
+
}
|
|
459
|
+
return detected;
|
|
358
460
|
}
|
|
461
|
+
// 3b. Empty directory, but a human is watching: ask instead of guessing or skipping.
|
|
462
|
+
if (interactive)
|
|
463
|
+
return askSkillAgent();
|
|
464
|
+
// 4. Scripted, nothing detected, no `--agent` — say so out loud, never silently.
|
|
359
465
|
console.log('');
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
466
|
+
console.log('Skills not installed: no coding agent config found here and no --agent given.');
|
|
467
|
+
console.log(`Re-run with \`--agent <${agentTypeNames()}>\`, or run \`orbitmap setup-agent\`.`);
|
|
468
|
+
return null;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Ask which coding agent the skills are for when the directory carries no marker.
|
|
472
|
+
*
|
|
473
|
+
* Uses `init`'s own shared readline interface rather than `setup-agent`'s `pickAgent`:
|
|
474
|
+
* a second interface opened mid-run swallows buffered lines when stdin is piped (the
|
|
475
|
+
* whole reason {@link promptInterface} exists), and this question sits in the middle of
|
|
476
|
+
* a sequence of others.
|
|
477
|
+
*/
|
|
478
|
+
async function askSkillAgent() {
|
|
479
|
+
console.log('');
|
|
480
|
+
console.log('No coding agent config found in this directory.');
|
|
481
|
+
console.log('OrbitMap can create one — the skills are what teach your agent the workflow.');
|
|
482
|
+
console.log('');
|
|
483
|
+
console.log('Install the OrbitMap skills for:');
|
|
484
|
+
AGENT_MENU_ORDER.forEach((agent, index) => {
|
|
485
|
+
console.log(` [${index + 1}] ${agentLabel(agent)} (${agentConfigFile(agent)})`);
|
|
486
|
+
});
|
|
487
|
+
console.log(' [0] Skip — install later with `orbitmap setup-agent`');
|
|
488
|
+
console.log('');
|
|
489
|
+
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
490
|
+
// No default passed to `prompt` — it would render as a second "[1]" next to the range.
|
|
491
|
+
// Enter means "the first entry", which the header line above states explicitly.
|
|
492
|
+
const answer = (await prompt(` Choice [0-${AGENT_MENU_ORDER.length}, Enter = 1]`)).trim();
|
|
493
|
+
if (answer === '')
|
|
494
|
+
return AGENT_MENU_ORDER[0];
|
|
495
|
+
if (answer === '0' || answer.toLowerCase() === 'n') {
|
|
496
|
+
console.log(' Skipped. Install them later with `orbitmap setup-agent`.');
|
|
497
|
+
return null;
|
|
498
|
+
}
|
|
499
|
+
const num = Number.parseInt(answer, 10);
|
|
500
|
+
if (num >= 1 && num <= AGENT_MENU_ORDER.length)
|
|
501
|
+
return AGENT_MENU_ORDER[num - 1];
|
|
502
|
+
console.log(` Please enter a number between 0 and ${AGENT_MENU_ORDER.length}.`);
|
|
364
503
|
}
|
|
365
|
-
|
|
504
|
+
// Three unusable answers: treat it as "not now" rather than writing files on a guess.
|
|
505
|
+
console.log(' Skipped. Install them later with `orbitmap setup-agent`.');
|
|
506
|
+
return null;
|
|
366
507
|
}
|
|
367
508
|
// ── MCP config generation ──
|
|
368
|
-
|
|
509
|
+
/**
|
|
510
|
+
* Print the MCP server block for the user to paste into their client config.
|
|
511
|
+
*
|
|
512
|
+
* The block is **masked** ({@link maskBlockForPrint}) exactly as `setup-mcp` masks the
|
|
513
|
+
* identical value. This used to print `Authorization: Bearer <the real key>` verbatim, so
|
|
514
|
+
* `orbitmap init --key … | tee build.log`, a CI job log, or a scrollback buffer captured
|
|
515
|
+
* the secret in plain text (CLAUDE.md "Secrets": never print or log it). The user does not
|
|
516
|
+
* need it echoed back — they just supplied it, and it is on disk in `credentials.json`.
|
|
517
|
+
*/
|
|
369
518
|
async function printMcpConfig(profile, apiKey, area) {
|
|
370
|
-
const
|
|
371
|
-
const mcpUrl = profilePath === '/' ? MCP_BASE_URL + '/' : MCP_BASE_URL + profilePath;
|
|
519
|
+
const mcpUrl = buildMcpUrl(profile);
|
|
372
520
|
const oauthCreds = await loadCredentials();
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
url: mcpUrl,
|
|
379
|
-
};
|
|
380
|
-
}
|
|
381
|
-
else if (apiKey) {
|
|
382
|
-
// Explicit API key — Bearer token config
|
|
383
|
-
config = {
|
|
384
|
-
type: 'http',
|
|
385
|
-
url: mcpUrl,
|
|
386
|
-
headers: {
|
|
387
|
-
Authorization: `Bearer ${apiKey}`,
|
|
388
|
-
...(area ? { 'X-Orbitmap-Area': area } : {}),
|
|
389
|
-
},
|
|
390
|
-
};
|
|
391
|
-
}
|
|
392
|
-
else if (oauthCreds) {
|
|
393
|
-
// OAuth credentials — clean config
|
|
394
|
-
config = {
|
|
395
|
-
type: 'http',
|
|
396
|
-
url: mcpUrl,
|
|
397
|
-
};
|
|
398
|
-
}
|
|
399
|
-
else {
|
|
400
|
-
return; // No credentials to generate config for
|
|
401
|
-
}
|
|
521
|
+
// Without an API key and without an OAuth session there is nothing to authenticate with,
|
|
522
|
+
// so there is no config worth printing.
|
|
523
|
+
if (!apiKey && !oauthCreds)
|
|
524
|
+
return;
|
|
525
|
+
const block = buildOrbitmapBlock({ profile, token: apiKey, areaSlug: area });
|
|
402
526
|
console.log('\n── MCP Server Config ──');
|
|
403
527
|
console.log(`Profile: ${profile} | URL: ${mcpUrl}`);
|
|
404
528
|
console.log('\nAdd this to your MCP client config (e.g. claude_desktop_config.json):\n');
|
|
405
|
-
console.log(`"orbitmap": ${JSON.stringify(
|
|
529
|
+
console.log(`"orbitmap": ${JSON.stringify(maskBlockForPrint(block), null, 2)}`);
|
|
530
|
+
if (block.headers?.['Authorization']) {
|
|
531
|
+
console.log('\nThe Authorization header is masked above — substitute your agent API key ' +
|
|
532
|
+
`(also stored in ${credentialsPath()}).`);
|
|
533
|
+
}
|
|
406
534
|
}
|
|
407
535
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/issues.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { createAdapter } from '../adapters/factory.js';
|
|
2
|
+
import { isObjectNumber, stripPrefix } from '../id-resolve.js';
|
|
2
3
|
import { formatOutput, printError, printSuccess, formatTable } from '../output.js';
|
|
3
4
|
const VALID_SEVERITIES = ['critical', 'high', 'medium', 'low'];
|
|
4
5
|
const VALID_RESOLVE_STATUSES = ['resolved', 'wont_fix', 'duplicate'];
|
|
5
6
|
const VALID_ISSUE_STATUSES = ['open', 'investigating', 'backlog', 'resolved', 'wont_fix', 'duplicate'];
|
|
6
7
|
const RESOLVE_TYPE_STATUSES = ['resolved', 'wont_fix', 'duplicate'];
|
|
7
|
-
function isObjectNumber(id) {
|
|
8
|
-
return /^([A-Z]{2}-)?[a-z0-9]{6}$/.test(id);
|
|
9
|
-
}
|
|
10
|
-
function stripPrefix(id) {
|
|
11
|
-
return id.replace(/^[A-Z]{2}-/, '');
|
|
12
|
-
}
|
|
13
8
|
// ── Commands ──
|
|
14
9
|
export async function issueRegisterCommand(options) {
|
|
15
10
|
if (options.severity && !VALID_SEVERITIES.includes(options.severity)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/commands/issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiEnF,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/D,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACrE,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACvG,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAEpE,
|
|
1
|
+
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/commands/issues.ts"],"names":[],"mappings":"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"}
|