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
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
export type AgentType = 'claude' | 'gemini' | 'codex' | 'cursor' | 'windsurf' | 'generic';
|
|
2
|
+
/**
|
|
3
|
+
* Menu order for "which agent are you using?" — shared with `init`, which asks the same
|
|
4
|
+
* question through its own readline interface (see the note on {@link pickAgent}).
|
|
5
|
+
* The first entry is also the documented default when a caller needs one.
|
|
6
|
+
*/
|
|
7
|
+
export declare const AGENT_MENU_ORDER: readonly AgentType[];
|
|
2
8
|
export declare function detectAgent(cwdOverride?: string): AgentType | null;
|
|
3
9
|
/** Human label for an agent type (for prompts in other commands, e.g. `init`). */
|
|
4
10
|
export declare function agentLabel(agentType: AgentType): string;
|
|
11
|
+
/** The config file an agent type's instruction block is written to (e.g. `CLAUDE.md`). */
|
|
12
|
+
export declare function agentConfigFile(agentType: AgentType): string;
|
|
13
|
+
/** Every accepted `--agent` value, in menu order, for help text and error messages. */
|
|
14
|
+
export declare function agentTypeNames(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Parse a user-supplied `--agent` value. Returns `null` for anything unknown so the
|
|
17
|
+
* caller can print its own error — `init` and `setup-agent` both accept the flag and
|
|
18
|
+
* must reject the same set of values the same way.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseAgentType(value: string): AgentType | null;
|
|
5
21
|
/**
|
|
6
22
|
* Install the OrbitMap skills for one agent, non-interactively and idempotently.
|
|
7
23
|
* Claude Code → `.claude/skills/<name>/SKILL.md` × 4 + the CLAUDE.md hook block;
|
|
@@ -10,7 +10,20 @@ const AGENTS = {
|
|
|
10
10
|
windsurf: { label: 'Windsurf', file: '.windsurfrules' },
|
|
11
11
|
generic: { label: 'Other / Generic', file: 'AGENTS.md' },
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Menu order for "which agent are you using?" — shared with `init`, which asks the same
|
|
15
|
+
* question through its own readline interface (see the note on {@link pickAgent}).
|
|
16
|
+
* The first entry is also the documented default when a caller needs one.
|
|
17
|
+
*/
|
|
18
|
+
export const AGENT_MENU_ORDER = [
|
|
19
|
+
'claude',
|
|
20
|
+
'gemini',
|
|
21
|
+
'codex',
|
|
22
|
+
'cursor',
|
|
23
|
+
'windsurf',
|
|
24
|
+
'generic',
|
|
25
|
+
];
|
|
26
|
+
const MENU_ORDER = [...AGENT_MENU_ORDER];
|
|
14
27
|
// Where the Claude skills are installed (project-level skill directory).
|
|
15
28
|
const SKILLS_ROOT = path.join('.claude', 'skills');
|
|
16
29
|
/** Relative path of a skill's SKILL.md, e.g. `.claude/skills/orbitmap/SKILL.md`. */
|
|
@@ -149,6 +162,26 @@ function setupGeneric(cwd, agentType) {
|
|
|
149
162
|
export function agentLabel(agentType) {
|
|
150
163
|
return AGENTS[agentType].label;
|
|
151
164
|
}
|
|
165
|
+
/** The config file an agent type's instruction block is written to (e.g. `CLAUDE.md`). */
|
|
166
|
+
export function agentConfigFile(agentType) {
|
|
167
|
+
return AGENTS[agentType].file;
|
|
168
|
+
}
|
|
169
|
+
/** Every accepted `--agent` value, in menu order, for help text and error messages. */
|
|
170
|
+
export function agentTypeNames() {
|
|
171
|
+
return AGENT_MENU_ORDER.join(', ');
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Parse a user-supplied `--agent` value. Returns `null` for anything unknown so the
|
|
175
|
+
* caller can print its own error — `init` and `setup-agent` both accept the flag and
|
|
176
|
+
* must reject the same set of values the same way.
|
|
177
|
+
*/
|
|
178
|
+
export function parseAgentType(value) {
|
|
179
|
+
const key = value.trim().toLowerCase();
|
|
180
|
+
// `in` would also match inherited members, so `--agent constructor` (or `tostring`,
|
|
181
|
+
// `valueof`, `__proto__`) would parse as a valid type and then blow up in `path.join`
|
|
182
|
+
// with an `undefined` filename. Own properties only.
|
|
183
|
+
return Object.hasOwn(AGENTS, key) ? key : null;
|
|
184
|
+
}
|
|
152
185
|
/**
|
|
153
186
|
* Install the OrbitMap skills for one agent, non-interactively and idempotently.
|
|
154
187
|
* Claude Code → `.claude/skills/<name>/SKILL.md` × 4 + the CLAUDE.md hook block;
|
|
@@ -167,13 +200,13 @@ export function installAgentSkills(cwd, agentType) {
|
|
|
167
200
|
export async function setupAgentCommand(options) {
|
|
168
201
|
let agentType;
|
|
169
202
|
if (options.agent) {
|
|
170
|
-
const
|
|
171
|
-
if (!
|
|
172
|
-
console.error(`Error: Unknown agent type "${options.agent}". Valid types: ${
|
|
203
|
+
const parsed = parseAgentType(options.agent);
|
|
204
|
+
if (!parsed) {
|
|
205
|
+
console.error(`Error: Unknown agent type "${options.agent}". Valid types: ${agentTypeNames()}`);
|
|
173
206
|
process.exitCode = 1;
|
|
174
207
|
return;
|
|
175
208
|
}
|
|
176
|
-
agentType =
|
|
209
|
+
agentType = parsed;
|
|
177
210
|
}
|
|
178
211
|
else {
|
|
179
212
|
const detected = detectAgent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../src/commands/setup-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AASlC,MAAM,MAAM,GAAgC;IAC1C,MAAM,EAAI,EAAE,KAAK,EAAE,aAAa,EAAM,IAAI,EAAE,WAAW,EAAE;IACzD,MAAM,EAAI,EAAE,KAAK,EAAE,YAAY,EAAO,IAAI,EAAE,WAAW,EAAE;IACzD,KAAK,EAAK,EAAE,KAAK,EAAE,eAAe,EAAI,IAAI,EAAE,WAAW,EAAE;IACzD,MAAM,EAAI,EAAE,KAAK,EAAE,QAAQ,EAAW,IAAI,EAAE,cAAc,EAAE;IAC5D,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAS,IAAI,EAAE,gBAAgB,EAAE;IAC9D,OAAO,EAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;CAC1D,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../src/commands/setup-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import readline from 'node:readline';
|
|
4
|
-
import { validateProfile
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const GITIGNORE_FILE = '.gitignore';
|
|
4
|
+
import { validateProfile } from '../oauth.js';
|
|
5
|
+
import { ensureGitignore } from '../doc-cache.js';
|
|
6
|
+
import { buildOrbitmapBlock, maskBlockForPrint, MCP_FILE, } from '../mcp-config.js';
|
|
8
7
|
async function prompt(question, defaultValue) {
|
|
9
8
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
10
9
|
return new Promise((resolve) => {
|
|
@@ -53,32 +52,6 @@ async function promptAuthMethod() {
|
|
|
53
52
|
console.log('Please enter 1 or 2.');
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
|
-
function buildMcpUrl(profile) {
|
|
57
|
-
const profilePath = profileToPath(profile);
|
|
58
|
-
return profilePath === '/' ? `${MCP_BASE_URL}/` : `${MCP_BASE_URL}${profilePath}`;
|
|
59
|
-
}
|
|
60
|
-
function buildOrbitmapBlock(params) {
|
|
61
|
-
const url = buildMcpUrl(params.profile);
|
|
62
|
-
if (params.token) {
|
|
63
|
-
const headers = {
|
|
64
|
-
Authorization: `Bearer ${params.token}`,
|
|
65
|
-
};
|
|
66
|
-
if (params.areaSlug) {
|
|
67
|
-
headers['X-Orbitmap-Area'] = params.areaSlug;
|
|
68
|
-
}
|
|
69
|
-
return { type: 'http', url, headers };
|
|
70
|
-
}
|
|
71
|
-
return { type: 'http', url };
|
|
72
|
-
}
|
|
73
|
-
function maskBlockForPrint(block) {
|
|
74
|
-
if (!block.headers)
|
|
75
|
-
return block;
|
|
76
|
-
const maskedHeaders = { ...block.headers };
|
|
77
|
-
if (maskedHeaders.Authorization?.startsWith('Bearer ')) {
|
|
78
|
-
maskedHeaders.Authorization = 'Bearer orbitmap_****';
|
|
79
|
-
}
|
|
80
|
-
return { ...block, headers: maskedHeaders };
|
|
81
|
-
}
|
|
82
55
|
function loadMcpConfig(filePath) {
|
|
83
56
|
if (!fs.existsSync(filePath)) {
|
|
84
57
|
return { config: { mcpServers: {} }, existed: false };
|
|
@@ -100,16 +73,6 @@ function loadMcpConfig(filePath) {
|
|
|
100
73
|
}
|
|
101
74
|
return { config, existed: true };
|
|
102
75
|
}
|
|
103
|
-
function gitignoreCoversMcpFile(cwd) {
|
|
104
|
-
const gitignorePath = path.join(cwd, GITIGNORE_FILE);
|
|
105
|
-
if (!fs.existsSync(gitignorePath))
|
|
106
|
-
return false;
|
|
107
|
-
const content = fs.readFileSync(gitignorePath, 'utf-8');
|
|
108
|
-
return content
|
|
109
|
-
.split(/\r?\n/)
|
|
110
|
-
.map((line) => line.trim())
|
|
111
|
-
.some((line) => line === MCP_FILE || line === `/${MCP_FILE}`);
|
|
112
|
-
}
|
|
113
76
|
export async function setupMcpCommand(options = {}) {
|
|
114
77
|
if (options.token && options.oauth) {
|
|
115
78
|
console.error('Error: --token and --oauth are mutually exclusive.');
|
|
@@ -193,8 +156,16 @@ export async function setupMcpCommand(options = {}) {
|
|
|
193
156
|
console.log(`\nFile: ${mcpFilePath}`);
|
|
194
157
|
console.log(`Profile: ${profile} | URL: ${block.url}`);
|
|
195
158
|
console.log('\n"orbitmap": ' + JSON.stringify(maskBlockForPrint(block), null, 2));
|
|
196
|
-
if (authMode === 'token'
|
|
197
|
-
|
|
159
|
+
if (authMode === 'token') {
|
|
160
|
+
// .mcp.json now carries a Bearer token — write it into .gitignore rather than just
|
|
161
|
+
// warning about it (the warning here used to be the whole mitigation, and it was
|
|
162
|
+
// routinely ignored: this same file pattern is committed with its token in
|
|
163
|
+
// orbitmap-mcp today). `ensureGitignore` is idempotent and reports what it actually
|
|
164
|
+
// wrote, so a re-run stays quiet instead of claiming an edit it did not make.
|
|
165
|
+
const added = ensureGitignore([MCP_FILE], cwd);
|
|
166
|
+
if (added.length > 0) {
|
|
167
|
+
console.log(`Added ${MCP_FILE} to .gitignore (it contains a Bearer token).`);
|
|
168
|
+
}
|
|
198
169
|
}
|
|
199
170
|
}
|
|
200
171
|
//# sourceMappingURL=setup-mcp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/task.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { createAdapter } from '../adapters/factory.js';
|
|
2
2
|
import { formatOutput, printError, formatTable } from '../output.js';
|
|
3
|
-
function isObjectNumber(id) {
|
|
4
|
-
return /^([A-Z]{2}-)?[a-z0-9]{6}$/.test(id);
|
|
5
|
-
}
|
|
6
|
-
function stripPrefix(id) {
|
|
7
|
-
return id.replace(/^[A-Z]{2}-/, '');
|
|
8
|
-
}
|
|
9
3
|
function formatDocLine(d) {
|
|
10
4
|
let line = `${d.title} (${d.type}`;
|
|
11
5
|
if (d.sections_count !== undefined)
|
|
@@ -79,13 +73,9 @@ export function printTaskDetail(response) {
|
|
|
79
73
|
export async function taskCommand(idOrNumber, options) {
|
|
80
74
|
try {
|
|
81
75
|
const client = await createAdapter(options.area);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
response = (await client.getTask(idOrNumber));
|
|
88
|
-
}
|
|
76
|
+
// `getTask` accepts a uuid, `TS-uw9yh5` or the bare code and routes a by-number reference
|
|
77
|
+
// to the by-number endpoint itself — one request either way (see `id-resolve.ts`).
|
|
78
|
+
const response = (await client.getTask(idOrNumber));
|
|
89
79
|
if (options.json) {
|
|
90
80
|
console.log(formatOutput(response, true));
|
|
91
81
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAuErE,SAAS,
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,22 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
1
|
+
import { type OrbitMapConfig } from './project-config.js';
|
|
2
|
+
/**
|
|
3
|
+
* The **global** `~/.orbitmap/config.json`: loading it, migrating it forward, saving it,
|
|
4
|
+
* and resolving cloud credentials from it. The config *schema* and the project-scoped
|
|
5
|
+
* `.orbitmap/config.json` walk-up live in `project-config.ts`; the paths themselves live in
|
|
6
|
+
* `paths.ts`. See `docs/adr/0002-project-scoped-config.md`.
|
|
7
|
+
*/
|
|
8
|
+
export type { OrbitMapConfig, OrbitMapMode } from './project-config.js';
|
|
9
|
+
export { resolveProjectConfigField, type ResolvedProjectField } from './project-config.js';
|
|
10
|
+
/**
|
|
11
|
+
* Version stamped into every config file this module writes (ADR 0002). It is also the
|
|
12
|
+
* migration gate: a global config already carrying this version has been through
|
|
13
|
+
* {@link migrateGlobalConfig} and is never re-examined, on this run or any later one.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CURRENT_SCHEMA_VERSION = 1;
|
|
16
|
+
/**
|
|
17
|
+
* The only supported Agent API host. Every default in the CLI resolves here — do not
|
|
18
|
+
* hardcode a base URL anywhere else, and never ship a hosting-provider origin
|
|
19
|
+
* (it lets callers bypass whatever fronts the public domain).
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_API_HOST = "https://app.orbitmap.ai";
|
|
22
|
+
/** Default Agent API base URL: {@link DEFAULT_API_HOST} + the `/api/agent` prefix. */
|
|
23
|
+
export declare const DEFAULT_API_URL = "https://app.orbitmap.ai/api/agent";
|
|
24
|
+
/** Reset the once-per-process migration latch. Tests only. */
|
|
25
|
+
export declare function resetConfigMigrationForTests(): void;
|
|
26
|
+
/** Load `~/.orbitmap/config.json` (or the XDG/legacy equivalent). Runs the one-time
|
|
27
|
+
* migration in {@link migrateGlobalConfig} as a side effect. */
|
|
14
28
|
export declare function loadConfig(): Promise<OrbitMapConfig>;
|
|
15
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Write the global `~/.orbitmap/config.json` (or its relocated equivalent).
|
|
31
|
+
*
|
|
32
|
+
* A **merge**, not a replace: keys already in the file that `config` does not set are kept
|
|
33
|
+
* (see {@link mergeIntoFile}). Never writes `api_key` — route secrets through
|
|
34
|
+
* `saveAgentProfile` in `oauth.ts` instead.
|
|
35
|
+
*/
|
|
36
|
+
export declare function saveGlobalConfig(config: OrbitMapConfig): Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Write `<dir>/.orbitmap/config.json` (`dir` defaults to `process.cwd()`) and return its
|
|
39
|
+
* path. Committable — never write `api_key` or any other secret here.
|
|
40
|
+
*
|
|
41
|
+
* A **merge**, like {@link saveGlobalConfig}: this file is meant to be committed, so a
|
|
42
|
+
* teammate re-running `orbitmap init` in a checkout must not silently drop the `mode` (or
|
|
43
|
+
* any future field) the repository already agreed on — a loss that would then propagate to
|
|
44
|
+
* everyone through git.
|
|
45
|
+
*/
|
|
46
|
+
export declare function saveProjectConfig(config: OrbitMapConfig, dir?: string): Promise<string>;
|
|
16
47
|
export interface ResolvedAuth {
|
|
17
48
|
apiKey: string;
|
|
18
49
|
apiUrl: string;
|
|
19
|
-
area?: string;
|
|
20
50
|
}
|
|
21
|
-
export
|
|
22
|
-
|
|
51
|
+
export interface ResolveAuthOptions {
|
|
52
|
+
/** Directory the project-config walk-up starts from (defaults to `process.cwd()`). */
|
|
53
|
+
cwd?: string;
|
|
54
|
+
/** Pre-loaded global config, to avoid a second read of the same file. */
|
|
55
|
+
config?: OrbitMapConfig;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve cloud-mode credentials. Per-field layering (ADR 0002), first match wins:
|
|
59
|
+
*
|
|
60
|
+
* - **API key**: `ORBITMAP_API_KEY` env → the resolved agent's profile in
|
|
61
|
+
* `~/.orbitmap/credentials.json` → a legacy `api_key` still sitting in the global config
|
|
62
|
+
* because {@link migrateGlobalConfig} could not write (see there).
|
|
63
|
+
* - **agent** (which profile to use, when the key isn't given directly by env):
|
|
64
|
+
* `ORBITMAP_AGENT` env → nearest `.orbitmap/config.json` that sets `agent` → global
|
|
65
|
+
* config `agent` → `"default"`.
|
|
66
|
+
* - **API URL**: `ORBITMAP_API_URL` env → {@link DEFAULT_API_URL}. There is deliberately no
|
|
67
|
+
* config-file override any more — a single supported host means nothing should be able to
|
|
68
|
+
* pin a stale one (see ADR 0002).
|
|
69
|
+
*
|
|
70
|
+
* **Area is deliberately not resolved here.** There is exactly one area ladder, `resolveArea`
|
|
71
|
+
* in `workspace-resolve.ts`; a second, shorter copy here used to disagree with it about the
|
|
72
|
+
* `link.json` rung. `createClient` applies the resolved area.
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveAuth(options?: ResolveAuthOptions): Promise<ResolvedAuth>;
|