@somewhere-tech/cli 0.37.1 → 0.37.3
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/dist/commands/advisor.js +40 -2
- package/dist/commands/advisor.js.map +1 -1
- package/dist/commands/docs.js +96 -32
- package/dist/commands/docs.js.map +1 -1
- package/dist/lib/advisor-runs.js +85 -0
- package/dist/lib/advisor-runs.js.map +1 -0
- package/dist/lib/init-agent-guide.js +9 -9
- package/dist/lib/skills-pack.generated.js +4 -4
- package/dist/lib/skills-pack.generated.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/commands/advisor.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { callAdvisorRun, consumeAdvisorRun } from '../lib/advisor-runs.js';
|
|
1
2
|
import { error, printJson } from '../lib/output.js';
|
|
2
3
|
import { callPlatformHelpTool } from '../lib/platform-tools.js';
|
|
3
4
|
import { loadConfig } from '../lib/config.js';
|
|
@@ -43,19 +44,48 @@ export async function callAnonymousAdvisor(question, context) {
|
|
|
43
44
|
throw new Error(`${message}${detail ? ` [${detail}]` : ''}`);
|
|
44
45
|
}
|
|
45
46
|
const answer = payload.data?.answer;
|
|
47
|
+
if (!answer && payload.data?.run_id) {
|
|
48
|
+
const run = await consumeAdvisorRun(JSON.stringify(payload.data), message => process.stderr.write(message + '\n'));
|
|
49
|
+
if (run?.incomplete)
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
if (run?.answer)
|
|
52
|
+
return run.answer;
|
|
53
|
+
throw new Error('Advisor run remains incomplete. Resume the saved request.');
|
|
54
|
+
}
|
|
46
55
|
if (!answer)
|
|
47
56
|
throw new Error('Advisor returned an empty response.');
|
|
48
57
|
return answer;
|
|
49
58
|
}
|
|
50
59
|
export function registerAdvisor(program) {
|
|
51
60
|
program
|
|
52
|
-
.command('advisor
|
|
61
|
+
.command('advisor [question]')
|
|
53
62
|
.description('Ask the somewhere.tech platform advisor; login adds linked-project context')
|
|
63
|
+
.option('--async', 'Use the durable Advisor candidate when enabled by the server')
|
|
64
|
+
.option('--resume <request-id>', 'Reconnect to the same saved Advisor request')
|
|
65
|
+
.option('--status <request-id>', 'Read one saved Advisor request status')
|
|
66
|
+
.option('--cancel <request-id>', 'Request cancellation of a saved Advisor run')
|
|
54
67
|
.option('--json', 'Print the advisor response in a JSON envelope')
|
|
55
68
|
.option('--file <path>', 'Attach a trimmed, redacted local file as context')
|
|
56
69
|
.option('--no-context', 'Do not attach the linked project, previous run, or file')
|
|
57
70
|
.action(async (question, opts) => {
|
|
58
71
|
try {
|
|
72
|
+
if (opts.async || opts.resume || opts.status || opts.cancel) {
|
|
73
|
+
if ([opts.resume, opts.status, opts.cancel].filter(Boolean).length > 1)
|
|
74
|
+
throw new Error('Use one resume, status or cancel operation.');
|
|
75
|
+
if (opts.file)
|
|
76
|
+
throw new Error('File excerpts are not retained by the durable Advisor candidate. Supply the question and command diagnostics.');
|
|
77
|
+
const config = loadConfig(), localContext = opts.context === false ? undefined : buildAdvisorContext(), context = config?.token && config.temporary !== true ? localContext : anonymousAdvisorContext(localContext);
|
|
78
|
+
const result = await callAdvisorRun({ question, context, requestId: opts.resume ?? opts.status ?? opts.cancel, operation: opts.cancel ? 'cancel' : opts.status ? 'status' : 'resume', wait: !opts.cancel && !opts.status, progress: message => process.stderr.write(message + '\n') });
|
|
79
|
+
if (opts.json)
|
|
80
|
+
printJson(result);
|
|
81
|
+
else
|
|
82
|
+
process.stdout.write((result.answer ?? JSON.stringify(result)) + '\n');
|
|
83
|
+
if (result.incomplete)
|
|
84
|
+
process.exitCode = 1;
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (!question)
|
|
88
|
+
throw new Error('Supply a question or a saved request to resume.');
|
|
59
89
|
const config = loadConfig();
|
|
60
90
|
const permanentCredential = !!config?.token && config.temporary !== true;
|
|
61
91
|
const localContext = opts.context === false ? undefined : buildAdvisorContext(opts.file);
|
|
@@ -64,12 +94,20 @@ export function registerAdvisor(program) {
|
|
|
64
94
|
// Only permanent credentials authorize the authenticated MCP path.
|
|
65
95
|
// Temporary deploy credentials use the public advisor's IP gate, while
|
|
66
96
|
// an expired or rejected permanent credential still fails closed here.
|
|
67
|
-
|
|
97
|
+
let answer = permanentCredential
|
|
68
98
|
? await callPlatformHelpTool('advisor', {
|
|
69
99
|
question,
|
|
70
100
|
...(context ? { context } : {}),
|
|
71
101
|
})
|
|
72
102
|
: await callAnonymousAdvisor(question, context);
|
|
103
|
+
if (permanentCredential) {
|
|
104
|
+
const run = await consumeAdvisorRun(answer, message => process.stderr.write(message + '\n'));
|
|
105
|
+
if (run) {
|
|
106
|
+
if (run.incomplete)
|
|
107
|
+
process.exitCode = 1;
|
|
108
|
+
answer = run.answer ?? JSON.stringify(run);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
73
111
|
if (opts.json) {
|
|
74
112
|
printJson({ question, answer });
|
|
75
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advisor.js","sourceRoot":"","sources":["../../src/commands/advisor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advisor.js","sourceRoot":"","sources":["../../src/commands/advisor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fetchWithProxy as fetch } from '../lib/http.js';
|
|
2
2
|
import { once } from 'node:events';
|
|
3
3
|
import { loadConfig } from '../lib/config.js';
|
|
4
|
-
import { dim, error, printJson } from '../lib/output.js';
|
|
4
|
+
import { dim, error, printJson, printJsonError } from '../lib/output.js';
|
|
5
5
|
import { callPlatformHelpTool } from './advisor.js';
|
|
6
6
|
// Platform docs from the CLI — works with ZERO credentials (tsk_497b7eeb /
|
|
7
7
|
// tsk_2ae9dce9 funnel work). The docs are public text URLs on the apex, so an
|
|
@@ -49,6 +49,40 @@ const ALIASES = {
|
|
|
49
49
|
* page carries its actual canonical body; do not reconstruct topics from
|
|
50
50
|
* references in the long-form corpus. */
|
|
51
51
|
const PUBLIC_MANIFEST_PATH = '/docs-manifest.json';
|
|
52
|
+
const DOCS_SECTION_MAX_CHARS = 12000;
|
|
53
|
+
/** Edit distance with a lexical tie-break keeps recovery suggestions stable. */
|
|
54
|
+
function closestMatches(wanted, candidates) {
|
|
55
|
+
const query = wanted.trim().toLowerCase();
|
|
56
|
+
const distance = (candidate) => {
|
|
57
|
+
let row = Array.from({ length: query.length + 1 }, (_, index) => index);
|
|
58
|
+
for (const char of candidate.toLowerCase()) {
|
|
59
|
+
const next = [row[0] + 1];
|
|
60
|
+
for (let index = 1; index <= query.length; index++) {
|
|
61
|
+
next[index] = Math.min(next[index - 1] + 1, row[index] + 1, row[index - 1] + (char === query[index - 1] ? 0 : 1));
|
|
62
|
+
}
|
|
63
|
+
row = next;
|
|
64
|
+
}
|
|
65
|
+
return row[query.length];
|
|
66
|
+
};
|
|
67
|
+
return [...new Set(candidates)].map((id) => ({ id, score: distance(id) }))
|
|
68
|
+
.sort((a, b) => a.score - b.score || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0))
|
|
69
|
+
.slice(0, 3).map(({ id }) => id);
|
|
70
|
+
}
|
|
71
|
+
function commandArg(value) {
|
|
72
|
+
return /^[a-zA-Z0-9._-]+$/.test(value) ? value : `'${value.replace(/'/g, "'\\''")}'`;
|
|
73
|
+
}
|
|
74
|
+
function reportDocsFailure(failure, json, topic) {
|
|
75
|
+
if (json) {
|
|
76
|
+
printJsonError(failure.error, failure.message, {
|
|
77
|
+
topic, hint: failure.hint, ...(failure.matches ? { matches: failure.matches } : {}),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
error(failure.message);
|
|
82
|
+
console.error(failure.hint);
|
|
83
|
+
}
|
|
84
|
+
process.exitCode = 1;
|
|
85
|
+
}
|
|
52
86
|
function parseSections(value, bodyLength) {
|
|
53
87
|
if (!Array.isArray(value))
|
|
54
88
|
return undefined;
|
|
@@ -56,43 +90,60 @@ function parseSections(value, bodyLength) {
|
|
|
56
90
|
if (!entry || typeof entry !== 'object')
|
|
57
91
|
return false;
|
|
58
92
|
const candidate = entry;
|
|
59
|
-
return typeof candidate.id === 'string' &&
|
|
93
|
+
return typeof candidate.id === 'string' && candidate.id.trim().length > 0
|
|
94
|
+
&& typeof candidate.heading === 'string' && candidate.heading.trim().length > 0
|
|
60
95
|
&& Number.isInteger(candidate.start) && Number.isInteger(candidate.end)
|
|
61
96
|
&& candidate.start >= 0 && candidate.start < candidate.end
|
|
62
97
|
&& candidate.end <= bodyLength;
|
|
63
98
|
});
|
|
64
99
|
return sections.map(({ id, heading, start, end }) => ({ id, heading, start, end }));
|
|
65
100
|
}
|
|
66
|
-
/**
|
|
67
|
-
* `body`, so every view falls back to the complete page rather than to less. */
|
|
101
|
+
/** Render indexed public views without expanding a failed section request. */
|
|
68
102
|
export function renderPublicDocsView(page, view) {
|
|
69
|
-
const full = renderPublicPage(page);
|
|
70
103
|
if (view.kind === 'full')
|
|
71
|
-
return { content:
|
|
104
|
+
return { content: renderPublicPage(page), view: 'full', complete: true };
|
|
72
105
|
if (view.kind === 'default') {
|
|
73
106
|
return page.summary
|
|
74
107
|
? { content: withNewline(page.summary), view: 'summary', complete: page.summary_complete === true }
|
|
75
|
-
: { content:
|
|
108
|
+
: { content: renderPublicPage(page), view: 'full', complete: true };
|
|
76
109
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
110
|
+
const sections = parseSections(page.sections, page.body.length);
|
|
111
|
+
const fail = (failure) => ({
|
|
112
|
+
content: '', view: 'section', complete: false, failure,
|
|
113
|
+
});
|
|
114
|
+
if (!sections?.length) {
|
|
115
|
+
return fail({
|
|
116
|
+
error: 'DOCS_SECTION_INDEX_UNAVAILABLE',
|
|
117
|
+
message: `No usable section index for "${page.id}".`,
|
|
118
|
+
hint: `Run: somewhere docs ${commandArg(page.id)} --full`,
|
|
119
|
+
});
|
|
84
120
|
}
|
|
85
|
-
const wanted = view.id.trim().toLowerCase();
|
|
86
|
-
const match =
|
|
121
|
+
const wanted = view.id.trim().replace(/^#+\s*/, '').toLowerCase();
|
|
122
|
+
const match = sections.find((section) => section.id.toLowerCase() === wanted)
|
|
123
|
+
?? sections.find((section) => headingText(section).toLowerCase() === wanted);
|
|
87
124
|
if (!match) {
|
|
88
|
-
const
|
|
125
|
+
const matches = closestMatches(wanted, sections.map(({ id }) => id));
|
|
126
|
+
return fail({
|
|
127
|
+
error: 'DOCS_SECTION_NOT_FOUND',
|
|
128
|
+
message: `No section "${view.id}" in ${page.id}. Closest sections: ${matches.join(', ')}.`,
|
|
129
|
+
matches,
|
|
130
|
+
hint: `Run: somewhere docs ${commandArg(page.id)} --section ${commandArg(matches[0])}`,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const text = page.body.slice(match.start, match.end);
|
|
134
|
+
const children = sections.filter((section) => section.start > match.start && section.end <= match.end)
|
|
135
|
+
.sort((a, b) => a.start - b.start);
|
|
136
|
+
if (text.trimEnd().length > DOCS_SECTION_MAX_CHARS && children.length > 0) {
|
|
137
|
+
const kilo = (chars) => chars < 1000 ? `${chars}` : `${(chars / 1000).toFixed(1)}k`;
|
|
138
|
+
const lead = page.body.slice(match.start, children[0].start).trimEnd();
|
|
139
|
+
const index = children.map((section) => `- ${section.id} · ${kilo(section.end - section.start)}`).join('\n');
|
|
89
140
|
return {
|
|
90
|
-
content:
|
|
91
|
-
|
|
92
|
-
complete: false,
|
|
141
|
+
content: `${lead}\n\nThis section is ${kilo(text.trimEnd().length)} chars; its subsections (id · size):\n`
|
|
142
|
+
+ `${index}\n\nOne subsection: somewhere docs ${commandArg(page.id)} --section <id>\n`,
|
|
143
|
+
view: 'section', complete: false,
|
|
93
144
|
};
|
|
94
145
|
}
|
|
95
|
-
return { content: withNewline(
|
|
146
|
+
return { content: withNewline(text), view: 'section', complete: false };
|
|
96
147
|
}
|
|
97
148
|
/** The platform prefixes docs tool responses with
|
|
98
149
|
* `[docs] topic=<t> view=<v> complete=<bool> ...`; older platforms do not. */
|
|
@@ -252,8 +303,11 @@ export function registerDocs(program) {
|
|
|
252
303
|
: ALIASES[requestedTopic.toLowerCase()];
|
|
253
304
|
const entry = key ? TOPICS[key] : undefined;
|
|
254
305
|
if (entry && view.kind === 'section') {
|
|
255
|
-
|
|
256
|
-
|
|
306
|
+
reportDocsFailure({
|
|
307
|
+
error: 'DOCS_SECTION_INDEX_UNAVAILABLE',
|
|
308
|
+
message: `"${requestedTopic}" is a whole-file quick link without sections.`,
|
|
309
|
+
hint: `Run: somewhere docs ${commandArg(key ?? requestedTopic)} --full`,
|
|
310
|
+
}, opts.json === true, requestedTopic);
|
|
257
311
|
return;
|
|
258
312
|
}
|
|
259
313
|
if (!entry) {
|
|
@@ -270,8 +324,9 @@ export function registerDocs(program) {
|
|
|
270
324
|
...(view.kind === 'section' ? { section: view.id } : {}),
|
|
271
325
|
});
|
|
272
326
|
const status = parseDocsStatusLine(content);
|
|
273
|
-
if (
|
|
274
|
-
|
|
327
|
+
if (/^Topic "[^\n]*" not found\./.test(content)
|
|
328
|
+
|| (view.kind === 'section' && (status.view !== 'section' || /(?:^|\n)No section "/.test(content)))) {
|
|
329
|
+
throw new Error('Authenticated docs did not return the requested view; trying the public index.');
|
|
275
330
|
}
|
|
276
331
|
if (opts.json)
|
|
277
332
|
printJson({ topic: requestedTopic, ...status, content });
|
|
@@ -288,8 +343,10 @@ export function registerDocs(program) {
|
|
|
288
343
|
const page = pages.find(({ id }) => id.toLowerCase() === requestedTopic.toLowerCase());
|
|
289
344
|
if (page) {
|
|
290
345
|
const rendered = renderPublicDocsView(page, view);
|
|
291
|
-
if (rendered.
|
|
292
|
-
|
|
346
|
+
if (rendered.failure) {
|
|
347
|
+
reportDocsFailure(rendered.failure, opts.json === true, page.id);
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
293
350
|
if (opts.json) {
|
|
294
351
|
printJson({
|
|
295
352
|
topic: page.id,
|
|
@@ -306,11 +363,18 @@ export function registerDocs(program) {
|
|
|
306
363
|
}
|
|
307
364
|
return;
|
|
308
365
|
}
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
366
|
+
const matches = closestMatches(requestedTopic, pages.map(({ id }) => id));
|
|
367
|
+
const question = /\s|\?/.test(requestedTopic);
|
|
368
|
+
const advisorQuestion = requestedTopic.replace(/[\\"$`]/g, '\\$&');
|
|
369
|
+
reportDocsFailure({
|
|
370
|
+
error: 'DOCS_TOPIC_NOT_FOUND',
|
|
371
|
+
message: `No documentation topic named "${requestedTopic}".`
|
|
372
|
+
+ (matches.length ? ` Closest topics: ${matches.join(', ')}.` : ''),
|
|
373
|
+
matches,
|
|
374
|
+
hint: question
|
|
375
|
+
? `For a construction question, run: somewhere advisor "${advisorQuestion}"`
|
|
376
|
+
: matches.length ? `Run: somewhere docs ${commandArg(matches[0])}` : 'Run: somewhere docs --list',
|
|
377
|
+
}, opts.json === true, requestedTopic);
|
|
314
378
|
}
|
|
315
379
|
catch (e) {
|
|
316
380
|
const publicFailure = e instanceof Error ? e.message : String(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { randomBytes, randomUUID } from 'node:crypto';
|
|
2
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { cliConfigDir, loadConfig } from './config.js';
|
|
5
|
+
import { fetchWithProxy } from './http.js';
|
|
6
|
+
import { redactAdvisorText } from './advisor-context.js';
|
|
7
|
+
const directory = () => join(cliConfigDir(), 'advisor-runs');
|
|
8
|
+
function path(id) { if (!/^[a-f0-9-]{36}$/i.test(id))
|
|
9
|
+
throw Error('Invalid Advisor request ID.'); return join(directory(), id + '.json'); }
|
|
10
|
+
function save(record) { mkdirSync(directory(), { recursive: true, mode: 0o700 }); chmodSync(directory(), 0o700); const target = path(record.request_id), temporary = target + '.' + randomUUID() + '.tmp'; writeFileSync(temporary, JSON.stringify(record), { mode: 0o600, flag: 'wx' }); renameSync(temporary, target); chmodSync(target, 0o600); }
|
|
11
|
+
function load(id) { if (!existsSync(path(id)))
|
|
12
|
+
throw Error('Advisor request was not found in this CLI configuration.'); return JSON.parse(readFileSync(path(id), 'utf8')); }
|
|
13
|
+
function url(suffix) { const result = new URL(process.env.SOMEWHERE_MCP_URL || 'https://mcp.somewhere.tech/mcp'); result.pathname = '/advisor/runs' + suffix; result.search = ''; result.hash = ''; return result.toString(); }
|
|
14
|
+
async function request(record, operation) {
|
|
15
|
+
const config = loadConfig(), token = record.owner_mode === 'account' && config?.temporary !== true ? config?.token : undefined;
|
|
16
|
+
if (record.owner_mode === 'account' && !token)
|
|
17
|
+
throw Error('Sign in to the account that owns this saved request.');
|
|
18
|
+
const res = await fetchWithProxy(url(operation === 'start' ? '' : '/' + record.run_id + (operation === 'status' ? '' : '/' + operation)), { method: operation === 'status' ? 'GET' : 'POST', headers: { 'Content-Type': 'application/json', 'User-Agent': 'somewhere-cli', ...(token ? { Authorization: 'Bearer ' + token } : { 'X-Advisor-Capability': record.capability }) }, ...(operation === 'start' ? { body: JSON.stringify(record.body) } : {}) }, 30000);
|
|
19
|
+
const payload = await res.json();
|
|
20
|
+
if (!res.ok || !payload.ok || !payload.data)
|
|
21
|
+
throw Error((payload.message || payload.error || 'Advisor transport failed.') + ' [HTTP ' + res.status + ']');
|
|
22
|
+
if (payload.data.run_id)
|
|
23
|
+
record.run_id = payload.data.run_id;
|
|
24
|
+
if (payload.data.status === 'settled' || payload.data.answer) {
|
|
25
|
+
delete record.body;
|
|
26
|
+
if (!record.run_id)
|
|
27
|
+
record.terminal = payload.data;
|
|
28
|
+
}
|
|
29
|
+
save(record);
|
|
30
|
+
return { ...payload.data, request_id: record.request_id };
|
|
31
|
+
}
|
|
32
|
+
/** Local identity is written before POST. Transport failure never creates another request. */
|
|
33
|
+
export async function callAdvisorRun(args) {
|
|
34
|
+
let record;
|
|
35
|
+
if (args.requestId)
|
|
36
|
+
record = load(args.requestId);
|
|
37
|
+
else {
|
|
38
|
+
if (!args.question)
|
|
39
|
+
throw Error('Supply a question or --resume <request-id>.');
|
|
40
|
+
const id = randomUUID(), created = Date.now(), context = args.context ? { ...args.context } : undefined;
|
|
41
|
+
if (context?.file)
|
|
42
|
+
delete context.file;
|
|
43
|
+
const config = loadConfig();
|
|
44
|
+
record = { owner_mode: config?.token && config.temporary !== true ? 'account' : 'anonymous', request_id: id, request_created_at: created, capability: randomBytes(32).toString('hex'), body: { question: redactAdvisorText(args.question), ...(context ? { context } : {}), request_id: id, request_created_at: created } };
|
|
45
|
+
save(record);
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
if (record.terminal)
|
|
49
|
+
return { ...record.terminal, request_id: record.request_id };
|
|
50
|
+
if (args.operation === 'cancel' && !record.run_id)
|
|
51
|
+
throw Error('Start acknowledgment is unavailable; no cancellation or replacement dispatch was attempted. Recover only this original request.');
|
|
52
|
+
let result = await request(record, record.run_id ? (args.operation ?? 'resume') : 'start');
|
|
53
|
+
if (args.wait === false || args.operation === 'status' || args.operation === 'cancel')
|
|
54
|
+
return result;
|
|
55
|
+
if (result.status !== 'settled' && !result.answer)
|
|
56
|
+
args.progress?.('Advisor is working. To reconnect: somewhere advisor --resume ' + record.request_id);
|
|
57
|
+
while (result.status !== 'settled' && !result.answer) {
|
|
58
|
+
await new Promise(resolve => setTimeout(resolve, Math.min(10000, Math.max(1000, (result.retry_after_seconds ?? 2) * 1000))));
|
|
59
|
+
result = await request(record, result.next_step === 'resume' ? 'resume' : 'status');
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
throw Error((error instanceof Error ? error.message : String(error)) + ' Resume only this request: somewhere advisor --resume ' + record.request_id);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** Adopt an unpaid legacy/native prepared handle before its first billable resume. */
|
|
68
|
+
export async function consumeAdvisorRun(text, progress) {
|
|
69
|
+
let parsed;
|
|
70
|
+
try {
|
|
71
|
+
parsed = JSON.parse(text);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
if (typeof parsed.run_id !== 'string' || typeof parsed.status !== 'string')
|
|
77
|
+
return null;
|
|
78
|
+
const config = loadConfig(), anonymous = typeof parsed.anonymous_capability === 'string', id = randomUUID();
|
|
79
|
+
if (!anonymous && (!config?.token || config.temporary === true))
|
|
80
|
+
throw Error('Sign in to the account that owns this Advisor run.');
|
|
81
|
+
const record = { owner_mode: anonymous ? 'anonymous' : 'account', request_id: id, request_created_at: Date.now(), capability: anonymous ? String(parsed.anonymous_capability) : randomBytes(32).toString('hex'), run_id: parsed.run_id };
|
|
82
|
+
save(record);
|
|
83
|
+
return callAdvisorRun({ requestId: id, operation: 'resume', progress });
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=advisor-runs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advisor-runs.js","sourceRoot":"","sources":["../../src/lib/advisor-runs.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,16 @@ import { SKILLS_DIR, skillNames } from './skills-pack.js';
|
|
|
5
5
|
export const AGENT_WORKFLOW = `## Getting started — build, deploy, verify
|
|
6
6
|
|
|
7
7
|
\`somewhere init --name <slug>\` in an empty folder writes a local React +
|
|
8
|
-
TypeScript starter without login.
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
TypeScript starter without login. The default includes working sign-in;
|
|
9
|
+
extend it using the README file map. Minimal/bare starters omit auth.
|
|
10
|
+
\`init --catalog --json\` lists modules for \`--features\`. No account yet?
|
|
11
11
|
\`npx @somewhere-tech/cli deploy\` publishes a temporary app and prints its live
|
|
12
12
|
URL, claim URL, and expiry. Login is needed for account-owned operations,
|
|
13
|
-
the email test inbox
|
|
13
|
+
the email test inbox and cron. On a hosted VM, after consent, \`somewhere login\` prints a
|
|
14
14
|
code a human approves in their browser; the machine stays signed in.
|
|
15
|
-
\`somewhere
|
|
16
|
-
\`somewhere
|
|
17
|
-
\`
|
|
15
|
+
Ask \`somewhere advisor "<question>"\` how to build or fix it. For a reference,
|
|
16
|
+
use \`somewhere docs <topic> --section <id>\`
|
|
17
|
+
(MCP: \`advisor({ question })\`, \`docs({ topic })\`, \`catalog\`).
|
|
18
18
|
|
|
19
19
|
After every change:
|
|
20
20
|
1. \`somewhere typecheck\`, then \`somewhere deploy\` (do not build first). Deploy
|
|
@@ -34,13 +34,13 @@ Routes: \`index.html\` loads \`src/main.tsx\`; every extensionless path with no
|
|
|
34
34
|
\`api/notes/[id].ts\` is \`/api/notes/:id\`; \`_\`-prefixed names are import-only
|
|
35
35
|
helpers. Avoid names differing only in letter case (\`SignIn.tsx\`, \`signin.tsx\`).
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
With auth enabled, \`api/auth/[...path].ts\` is
|
|
38
38
|
\`export { somewhereAuth as default } from '@somewhere-tech/sdk/server'\`; pages
|
|
39
39
|
use \`createSomewhereAuth()\` from \`@somewhere-tech/sdk/auth\` (no SDK:
|
|
40
40
|
\`docs({ topic: 'auth-client' })\`). \`auth.signUp({ email, password,
|
|
41
41
|
displayName? })\` / \`auth.signIn({ email, password })\` return the user or throw
|
|
42
42
|
with the message. Gate pages on \`auth.getState().status\` (React:
|
|
43
|
-
\`useAuthState()\`) as the starter's \`src/App.tsx\` does. Sign-up signs the user
|
|
43
|
+
\`useAuthState()\`) as the auth starter's \`src/App.tsx\` does. Sign-up signs the user
|
|
44
44
|
in with \`email_verified: false\`; unverified users can sign in and pass
|
|
45
45
|
\`auth: 'required'\`. \`sw.auth.requireUser(req)\` returns \`{ id, email,
|
|
46
46
|
role, email_verified, … }\` or throws 401 \`AUTH_REQUIRED\`;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export const BUNDLED_SKILLS_PACK = {
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"name": "somewhere-skills",
|
|
4
|
-
"version": "1+
|
|
5
|
-
"sha256": "
|
|
4
|
+
"version": "1+efd062ab7fba",
|
|
5
|
+
"sha256": "efd062ab7fba9b20d6229afba854ef03383a83a3b8c4206a1ab6bea3067f6898",
|
|
6
6
|
"files": [
|
|
7
7
|
{
|
|
8
8
|
"path": "deploy-verify-loop/SKILL.md",
|
|
@@ -21,8 +21,8 @@ export const BUNDLED_SKILLS_PACK = {
|
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"path": "troubleshooting/SKILL.md",
|
|
24
|
-
"sha256": "
|
|
25
|
-
"content": "---\nname: troubleshooting\ndescription: When a request fails, a deploy or save is refused, or the live app misbehaves and the cause is not obvious.\n---\n\n# Troubleshoot a failure\n\n## Read before guessing\n\n3. `somewhere browser` inspects a page; `somewhere logs --tail 10`, then\n `somewhere errors`: read the failure first.\n\nEvery JSON error from the platform now ships with a `hint` field that names the most relevant `docs` topic.\n\
|
|
24
|
+
"sha256": "6275138804adf14a03288d47fae24d14d668dd5ee1d5967653bd25e49145ea38",
|
|
25
|
+
"content": "---\nname: troubleshooting\ndescription: When a request fails, a deploy or save is refused, or the live app misbehaves and the cause is not obvious.\n---\n\n# Troubleshoot a failure\n\n## Read before guessing\n\n3. `somewhere browser` inspects a page; `somewhere logs --tail 10`, then\n `somewhere errors`: read the failure first.\n\nEvery JSON error from the platform now ships with a `hint` field that names the most relevant `docs` topic.\n\nAsk `somewhere advisor \"<question>\"` how to build or fix it. For a reference, use `somewhere docs <topic> --section <id>`\n\n## Limits the logs name\n\n| Ceiling | Value | Instead |\n|---|---|---|\n| Memory per request | about 256 MB | Stream or process in chunks; move heavy work to `sw.jobs` |\n| CPU time per request | about 30 s | Move long computation to `sw.jobs` |\n| Wall-clock time per request | about 300 s | Start the work with `sw.jobs` and return; poll the job |\n| Environment values | about 5 KB (5,120 bytes) for all of a project's values together | Keep large configuration in files; a save above the limit is refused with 413 `ENV_VALUE_TOO_LARGE` (one value) or `ENV_VALUES_TOO_LARGE` (all values together), naming the key and the limit |\n\n## Failure 1: FUNCTION_CPU_EXCEEDED or FUNCTION_MEMORY_EXCEEDED\n\nThe caller gets HTTP 500 in the platform's JSON error envelope, `{ ok: false, error, message, request_id }`, with `error` set to `FUNCTION_MEMORY_EXCEEDED` or `FUNCTION_CPU_EXCEEDED`, and the same code and message are recorded in the project's logs and errors. The fix is the \"Instead\" column: move the work to `sw.jobs`, or process it in smaller pieces.\n\n## Failure 2: a refused deploy\n\n`SCHEMA_DEPLOY_REFUSED` (409, at deploy) — `db/schema.ts` asked for something the deploy will not do silently\n\nDoes the file path match the URL? `api/users/[id].ts` serves `/api/users/123`. `api/users.ts` serves `/api/users`.\n\nSources (`somewhere docs <topic>`): getting-started, limits, sw.db, troubleshooting.\n"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"path": "realtime-and-background/SKILL.md",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-pack.generated.js","sourceRoot":"","sources":["../../src/lib/skills-pack.generated.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,kBAAkB;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,kEAAkE;IAC5E,OAAO,EAAE;QACP;YACE,MAAM,EAAE,6BAA6B;YACrC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,ypEAAypE;SACrqE;QACD;YACE,MAAM,EAAE,yBAAyB;YACjC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,48DAA48D;SACx9D;QACD;YACE,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,kjEAAkjE;SAC9jE;QACD;YACE,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"skills-pack.generated.js","sourceRoot":"","sources":["../../src/lib/skills-pack.generated.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,kBAAkB;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,kEAAkE;IAC5E,OAAO,EAAE;QACP;YACE,MAAM,EAAE,6BAA6B;YACrC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,ypEAAypE;SACrqE;QACD;YACE,MAAM,EAAE,yBAAyB;YACjC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,48DAA48D;SACx9D;QACD;YACE,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,kjEAAkjE;SAC9jE;QACD;YACE,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,s8DAAs8D;SACl9D;QACD;YACE,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,0yFAA0yF;SACtzF;QACD;YACE,MAAM,EAAE,+BAA+B;YACvC,QAAQ,EAAE,kEAAkE;YAC5E,SAAS,EAAE,+5CAA+5C;SAC36C;KACF;CACF,CAAC"}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@somewhere-tech/cli",
|
|
3
|
-
"version": "0.37.
|
|
3
|
+
"version": "0.37.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@somewhere-tech/cli",
|
|
9
|
-
"version": "0.37.
|
|
9
|
+
"version": "0.37.3",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"@modelcontextprotocol/sdk",
|
|
12
12
|
"chokidar",
|