document360-writer 0.2.1 → 0.3.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/dist/cli.js +65 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/allowProd.d.ts +3 -0
- package/dist/commands/allowProd.js +18 -0
- package/dist/commands/allowProd.js.map +1 -0
- package/dist/commands/clear.js +1 -1
- package/dist/commands/clear.js.map +1 -1
- package/dist/commands/help.js +2 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.js +4 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.js +15 -17
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/profile.d.ts +3 -0
- package/dist/commands/profile.js +16 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/rename.js +1 -1
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/resume.js +1 -1
- package/dist/commands/resume.js.map +1 -1
- package/dist/d360/authCli.d.ts +10 -0
- package/dist/d360/authCli.js +91 -0
- package/dist/d360/authCli.js.map +1 -0
- package/dist/d360/profileCli.d.ts +3 -0
- package/dist/d360/profileCli.js +54 -0
- package/dist/d360/profileCli.js.map +1 -0
- package/dist/oneShot.d.ts +2 -2
- package/dist/oneShot.js +59 -59
- package/dist/oneShot.js.map +1 -1
- package/dist/repl.d.ts +2 -2
- package/dist/repl.js +72 -82
- package/dist/repl.js.map +1 -1
- package/dist/tui/App.d.ts +9 -0
- package/dist/tui/App.js +413 -0
- package/dist/tui/App.js.map +1 -0
- package/dist/tui/catalog.d.ts +8 -0
- package/dist/tui/catalog.js +20 -0
- package/dist/tui/catalog.js.map +1 -0
- package/dist/tui/index.d.ts +3 -0
- package/dist/tui/index.js +24 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/markdown.d.ts +4 -0
- package/dist/tui/markdown.js +139 -0
- package/dist/tui/markdown.js.map +1 -0
- package/package.json +8 -5
- package/dist/agent.d.ts +0 -6
- package/dist/agent.js +0 -94
- package/dist/agent.js.map +0 -1
- package/dist/config.d.ts +0 -40
- package/dist/config.js +0 -42
- package/dist/config.js.map +0 -1
- package/dist/lib/auth.d.ts +0 -14
- package/dist/lib/auth.js +0 -25
- package/dist/lib/auth.js.map +0 -1
- package/dist/lib/messageQueue.d.ts +0 -9
- package/dist/lib/messageQueue.js +0 -40
- package/dist/lib/messageQueue.js.map +0 -1
- package/dist/lib/paths.d.ts +0 -9
- package/dist/lib/paths.js +0 -35
- package/dist/lib/paths.js.map +0 -1
- package/dist/lib/sessionStore.d.ts +0 -24
- package/dist/lib/sessionStore.js +0 -100
- package/dist/lib/sessionStore.js.map +0 -1
- package/dist/lib/titleGen.d.ts +0 -7
- package/dist/lib/titleGen.js +0 -64
- package/dist/lib/titleGen.js.map +0 -1
- package/skills/CLAUDE.md +0 -92
- package/skills/analyze-codebase/SKILL.md +0 -35
- package/skills/audit-docs/SKILL.md +0 -48
- package/skills/emit-screenshot-spec/SKILL.md +0 -82
- package/skills/gather-context-from-mcp/SKILL.md +0 -29
- package/skills/propose-structure/SKILL.md +0 -51
- package/skills/publish-to-d360/SKILL.md +0 -39
- package/skills/write-article/SKILL.md +0 -95
package/dist/oneShot.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { findByName, slugify, touchSession, upsertSession } from './lib/sessionStore.js';
|
|
4
|
-
import { accent, dim, error, muted } from './lib/colors.js';
|
|
1
|
+
import { createSession, resolveAuth, findByName, slugify, touchSession, upsertSession, resolveActiveProfile, } from 'document360-engine';
|
|
2
|
+
import { accent, dim, error, muted, warn } from './lib/colors.js';
|
|
5
3
|
/**
|
|
6
4
|
* Headless one-shot mode (`d360-writer --prompt "..."`), the writer's `claude -p`.
|
|
7
5
|
* Answer text streams to STDOUT (pipeable); banner, auth notice, tool indicators,
|
|
8
6
|
* and token counts go to STDERR. Exit codes: 0 success, 1 agent error, 2 usage.
|
|
9
7
|
*/
|
|
10
|
-
export async function runOnce(cwd, prompt, authMode, resumeName) {
|
|
8
|
+
export async function runOnce(cwd, prompt, authMode, resumeName, profileName, yes) {
|
|
11
9
|
const auth = resolveAuth(authMode);
|
|
12
10
|
if (auth.kind === 'none') {
|
|
13
11
|
console.error('');
|
|
@@ -19,6 +17,25 @@ export async function runOnce(cwd, prompt, authMode, resumeName) {
|
|
|
19
17
|
if (auth.kind === 'subscription') {
|
|
20
18
|
console.error(dim('Using your Claude subscription (no API key set).'));
|
|
21
19
|
}
|
|
20
|
+
// Production-profile guard: headless mode has no interactive confirm, so writes to a
|
|
21
|
+
// production profile require --yes. A config that EXISTS but is invalid must fail loud
|
|
22
|
+
// here — never silently skip the guard (a broken prod profile must not slip through).
|
|
23
|
+
let active = null;
|
|
24
|
+
try {
|
|
25
|
+
active = resolveActiveProfile(cwd, profileName);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error(error(`Document360 profile error: ${e.message}`));
|
|
29
|
+
process.exit(2);
|
|
30
|
+
}
|
|
31
|
+
if (active.production) {
|
|
32
|
+
console.error(warn(`⚠ Profile "${active.name}" is PRODUCTION.`));
|
|
33
|
+
if (!yes) {
|
|
34
|
+
console.error(error('Refusing to run against a production profile without --yes.'));
|
|
35
|
+
process.exit(2);
|
|
36
|
+
}
|
|
37
|
+
console.error(dim(' --yes given — proceeding against production.'));
|
|
38
|
+
}
|
|
22
39
|
let resumeUuid;
|
|
23
40
|
if (resumeName) {
|
|
24
41
|
const rec = findByName(cwd, resumeName);
|
|
@@ -30,62 +47,45 @@ export async function runOnce(cwd, prompt, authMode, resumeName) {
|
|
|
30
47
|
resumeUuid = rec.uuid;
|
|
31
48
|
console.error(dim(`Resuming "${rec.name}"`));
|
|
32
49
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
session
|
|
50
|
+
// On a production profile we only reach here with --yes (gated above), so writes
|
|
51
|
+
// are authorized; non-production profiles always allow writes.
|
|
52
|
+
const session = createSession({ cwd, resume: resumeUuid, profileName, allowProdWrites: yes === true });
|
|
36
53
|
let uuid = resumeUuid ?? null;
|
|
37
54
|
let exitCode = 1;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (msg.type === 'assistant') {
|
|
73
|
-
const message = msg.message;
|
|
74
|
-
for (const block of message?.content ?? []) {
|
|
75
|
-
const b = block;
|
|
76
|
-
if (b.type === 'tool_use')
|
|
77
|
-
console.error(muted(` ⚙ ${b.name ?? 'tool'}`));
|
|
78
|
-
}
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
if (msg.type === 'result') {
|
|
82
|
-
exitCode = msg.subtype === 'success' ? 0 : 1;
|
|
83
|
-
const usage = msg.usage;
|
|
84
|
-
if (usage)
|
|
85
|
-
console.error(dim(`(${usage.input_tokens ?? 0}→${usage.output_tokens ?? 0} tokens)`));
|
|
86
|
-
if (exitCode !== 0)
|
|
87
|
-
console.error(error(`agent finished with: ${msg.subtype}`));
|
|
88
|
-
break;
|
|
55
|
+
for await (const ev of session.send(prompt)) {
|
|
56
|
+
switch (ev.type) {
|
|
57
|
+
case 'session':
|
|
58
|
+
if (!uuid) {
|
|
59
|
+
uuid = ev.sessionId;
|
|
60
|
+
const now = new Date().toISOString();
|
|
61
|
+
upsertSession({
|
|
62
|
+
uuid,
|
|
63
|
+
name: slugify(prompt),
|
|
64
|
+
renamed: false,
|
|
65
|
+
titled: false, // one-shots skip LLM titling — nothing should delay exit
|
|
66
|
+
cwd,
|
|
67
|
+
firstPrompt: prompt,
|
|
68
|
+
createdAt: now,
|
|
69
|
+
updatedAt: now,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
case 'text':
|
|
74
|
+
process.stdout.write(ev.delta);
|
|
75
|
+
break;
|
|
76
|
+
case 'tool':
|
|
77
|
+
console.error(muted(` ⚙ ${ev.name}`));
|
|
78
|
+
break;
|
|
79
|
+
case 'result':
|
|
80
|
+
exitCode = ev.ok ? 0 : 1;
|
|
81
|
+
console.error(dim(`(${ev.inputTokens}→${ev.outputTokens} tokens)`));
|
|
82
|
+
if (!ev.ok)
|
|
83
|
+
console.error(error('agent finished with an error result'));
|
|
84
|
+
break;
|
|
85
|
+
case 'error':
|
|
86
|
+
console.error('');
|
|
87
|
+
console.error(error(`agent error: ${ev.message}`));
|
|
88
|
+
process.exit(1);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
if (uuid)
|
package/dist/oneShot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oneShot.js","sourceRoot":"","sources":["../src/oneShot.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"oneShot.js","sourceRoot":"","sources":["../src/oneShot.ts"],"names":[],"mappings":"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"}
|
package/dist/repl.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AuthMode } from '
|
|
1
|
+
import { type AuthMode } from 'document360-engine';
|
|
2
2
|
export type ReplContext = {
|
|
3
3
|
cwd: string;
|
|
4
4
|
restartAgent: () => void;
|
|
@@ -7,4 +7,4 @@ export type ReplContext = {
|
|
|
7
7
|
/** Pause the REPL's readline while another stdin consumer (e.g. the /resume picker) runs. */
|
|
8
8
|
withPausedInput: <T>(fn: () => Promise<T>) => Promise<T>;
|
|
9
9
|
};
|
|
10
|
-
export declare function runRepl(cwd?: string, authMode?: AuthMode): Promise<void>;
|
|
10
|
+
export declare function runRepl(cwd?: string, authMode?: AuthMode, profileName?: string): Promise<void>;
|
package/dist/repl.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline/promises';
|
|
2
|
-
import {
|
|
2
|
+
import { createSession, resolveAuth, getSession, setTitle, slugify, touchSession, upsertSession, generateTitle, resolveActiveProfile, decodeJwtClaims, isExpired, loadTokens, } from 'document360-engine';
|
|
3
3
|
import { slashCommands, parseSlash } from './commands/index.js';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { generateTitle } from './lib/titleGen.js';
|
|
7
|
-
import { accent, banner, dim, error, muted, ok } from './lib/colors.js';
|
|
8
|
-
export async function runRepl(cwd = process.cwd(), authMode = 'auto') {
|
|
4
|
+
import { accent, banner, dim, error, muted, ok, warn } from './lib/colors.js';
|
|
5
|
+
export async function runRepl(cwd = process.cwd(), authMode = 'auto', profileName) {
|
|
9
6
|
const auth = resolveAuth(authMode);
|
|
10
7
|
if (auth.kind === 'none') {
|
|
11
8
|
console.error('');
|
|
@@ -19,7 +16,7 @@ export async function runRepl(cwd = process.cwd(), authMode = 'auto') {
|
|
|
19
16
|
console.error('');
|
|
20
17
|
process.exit(2);
|
|
21
18
|
}
|
|
22
|
-
printWelcome(cwd);
|
|
19
|
+
printWelcome(cwd, profileName);
|
|
23
20
|
if (auth.kind === 'subscription') {
|
|
24
21
|
if (auth.stored) {
|
|
25
22
|
console.log(dim(' Using your Claude subscription (no API key set).'));
|
|
@@ -29,7 +26,8 @@ export async function runRepl(cwd = process.cwd(), authMode = 'auto') {
|
|
|
29
26
|
}
|
|
30
27
|
console.log('');
|
|
31
28
|
}
|
|
32
|
-
let
|
|
29
|
+
let allowProdWrites = false; // armed by /allow-prod for production profiles
|
|
30
|
+
let session = createSession({ cwd, profileName, allowProdWrites });
|
|
33
31
|
let tracker = { uuid: null, firstPrompt: null, titleFired: false };
|
|
34
32
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
35
33
|
// Buffering line reader: readline's promise API drops lines that arrive while
|
|
@@ -69,8 +67,8 @@ export async function runRepl(cwd = process.cwd(), authMode = 'auto') {
|
|
|
69
67
|
const ctx = {
|
|
70
68
|
cwd,
|
|
71
69
|
restartAgent: () => {
|
|
72
|
-
session.
|
|
73
|
-
session =
|
|
70
|
+
session.close();
|
|
71
|
+
session = createSession({ cwd, profileName, allowProdWrites });
|
|
74
72
|
tracker = { uuid: null, firstPrompt: null, titleFired: false };
|
|
75
73
|
},
|
|
76
74
|
currentUuid: () => tracker.uuid,
|
|
@@ -109,9 +107,16 @@ export async function runRepl(cwd = process.cwd(), authMode = 'auto') {
|
|
|
109
107
|
ctx.restartAgent();
|
|
110
108
|
continue;
|
|
111
109
|
}
|
|
110
|
+
if (result.kind === 'allow-prod') {
|
|
111
|
+
allowProdWrites = true;
|
|
112
|
+
ctx.restartAgent();
|
|
113
|
+
console.log(ok('✓ Production writes authorized for this session.'));
|
|
114
|
+
console.log('');
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
112
117
|
if (result.kind === 'resume') {
|
|
113
|
-
session.
|
|
114
|
-
session =
|
|
118
|
+
session.close();
|
|
119
|
+
session = createSession({ cwd, resume: result.uuid, profileName, allowProdWrites });
|
|
115
120
|
const rec = getSession(result.uuid);
|
|
116
121
|
tracker = { uuid: result.uuid, firstPrompt: rec?.firstPrompt ?? null, titleFired: true };
|
|
117
122
|
touchSession(result.uuid);
|
|
@@ -122,30 +127,48 @@ export async function runRepl(cwd = process.cwd(), authMode = 'auto') {
|
|
|
122
127
|
if (result.kind === 'forward-to-agent') {
|
|
123
128
|
if (!tracker.firstPrompt)
|
|
124
129
|
tracker.firstPrompt = result.prompt;
|
|
125
|
-
session
|
|
126
|
-
await consumeUntilResult(session.iterator, auth, tracker, cwd);
|
|
130
|
+
await runTurn(session, result.prompt, auth, tracker, cwd);
|
|
127
131
|
}
|
|
128
132
|
continue;
|
|
129
133
|
}
|
|
130
134
|
if (!tracker.firstPrompt)
|
|
131
135
|
tracker.firstPrompt = trimmed;
|
|
132
|
-
session
|
|
133
|
-
await consumeUntilResult(session.iterator, auth, tracker, cwd);
|
|
136
|
+
await runTurn(session, trimmed, auth, tracker, cwd);
|
|
134
137
|
}
|
|
135
138
|
}
|
|
136
139
|
finally {
|
|
137
|
-
session.
|
|
140
|
+
session.close();
|
|
138
141
|
rl.close();
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
|
-
function printWelcome(cwd) {
|
|
144
|
+
function printWelcome(cwd, profileName) {
|
|
142
145
|
console.log('');
|
|
143
146
|
console.log(banner('document360-writer'));
|
|
144
147
|
console.log(dim(` cwd: ${cwd}`));
|
|
148
|
+
console.log(d360StatusLine(cwd, profileName));
|
|
145
149
|
console.log(dim(' Type a prompt, or /help for slash commands. /exit to quit.'));
|
|
146
150
|
console.log('');
|
|
147
151
|
}
|
|
148
|
-
|
|
152
|
+
function d360StatusLine(cwd, profileName) {
|
|
153
|
+
try {
|
|
154
|
+
const active = resolveActiveProfile(cwd, profileName);
|
|
155
|
+
const prod = active.production ? warn(' ⚠ PRODUCTION') : '';
|
|
156
|
+
const tokens = loadTokens(active.name);
|
|
157
|
+
if (!tokens) {
|
|
158
|
+
return dim(` Document360: profile "${active.name}"${prod} — not logged in (d360-writer login)`);
|
|
159
|
+
}
|
|
160
|
+
const claims = { ...(decodeJwtClaims(tokens.idToken) ?? {}), ...(decodeJwtClaims(tokens.accessToken) ?? {}) };
|
|
161
|
+
const who = (claims['email'] ?? claims['preferred_username'] ?? 'signed in');
|
|
162
|
+
if (isExpired(tokens) && !tokens.refreshToken) {
|
|
163
|
+
return warn(` Document360: profile "${active.name}"${prod} — session expired (d360-writer login)`);
|
|
164
|
+
}
|
|
165
|
+
return dim(` Document360: ${who} · profile "${active.name}"${prod}`);
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
// Old-shape/invalid config — surface the migration hint.
|
|
169
|
+
return dim(` Document360: ${e.message.split('.')[0]}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
149
172
|
function printSignInHelp() {
|
|
150
173
|
console.error('');
|
|
151
174
|
console.error(`Sign in with your Claude subscription: run ${accent('claude')} once, then retry.`);
|
|
@@ -181,74 +204,41 @@ function fireTitleGeneration(tracker, cwd) {
|
|
|
181
204
|
})
|
|
182
205
|
.catch(() => { });
|
|
183
206
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
if (
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
207
|
+
/** Drive one user turn through the engine, rendering EngineEvents to the terminal. */
|
|
208
|
+
async function runTurn(session, text, auth, tracker, cwd) {
|
|
209
|
+
for await (const ev of session.send(text)) {
|
|
210
|
+
renderEvent(ev, tracker, cwd, auth);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
function renderEvent(ev, tracker, cwd, auth) {
|
|
214
|
+
switch (ev.type) {
|
|
215
|
+
case 'session':
|
|
216
|
+
if (!tracker.uuid)
|
|
217
|
+
registerSession(tracker, ev.sessionId, cwd);
|
|
218
|
+
break;
|
|
219
|
+
case 'text':
|
|
220
|
+
process.stdout.write(ev.delta);
|
|
221
|
+
break;
|
|
222
|
+
case 'tool':
|
|
223
|
+
process.stdout.write('\n');
|
|
224
|
+
console.log(muted(` ⚙ ${ev.name}`));
|
|
225
|
+
break;
|
|
226
|
+
case 'result':
|
|
227
|
+
process.stdout.write('\n');
|
|
228
|
+
console.log(dim(` (${ev.inputTokens}→${ev.outputTokens} tokens)`));
|
|
229
|
+
console.log('');
|
|
205
230
|
if (tracker.uuid) {
|
|
206
231
|
touchSession(tracker.uuid);
|
|
207
232
|
if (!tracker.titleFired)
|
|
208
233
|
fireTitleGeneration(tracker, cwd);
|
|
209
234
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const msg = raw;
|
|
218
|
-
if (msg.type === 'stream_event') {
|
|
219
|
-
const event = msg.event;
|
|
220
|
-
if (event?.delta && typeof event.delta.text === 'string') {
|
|
221
|
-
process.stdout.write(event.delta.text);
|
|
222
|
-
}
|
|
223
|
-
return false;
|
|
224
|
-
}
|
|
225
|
-
if (msg.type === 'assistant') {
|
|
226
|
-
const message = msg.message;
|
|
227
|
-
const blocks = message?.content ?? [];
|
|
228
|
-
let printedNewline = false;
|
|
229
|
-
for (const block of blocks) {
|
|
230
|
-
const b = block;
|
|
231
|
-
if (b.type === 'tool_use') {
|
|
232
|
-
if (!printedNewline) {
|
|
233
|
-
process.stdout.write('\n');
|
|
234
|
-
printedNewline = true;
|
|
235
|
-
}
|
|
236
|
-
console.log(muted(` ⚙ ${b.name ?? 'tool'}`));
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return false;
|
|
240
|
-
}
|
|
241
|
-
if (msg.type === 'result') {
|
|
242
|
-
const result = msg;
|
|
243
|
-
process.stdout.write('\n');
|
|
244
|
-
if (result.usage) {
|
|
245
|
-
const inT = result.usage.input_tokens ?? 0;
|
|
246
|
-
const outT = result.usage.output_tokens ?? 0;
|
|
247
|
-
console.log(dim(` (${inT}→${outT} tokens)`));
|
|
248
|
-
}
|
|
249
|
-
console.log('');
|
|
250
|
-
return true;
|
|
235
|
+
break;
|
|
236
|
+
case 'error':
|
|
237
|
+
console.error('');
|
|
238
|
+
console.error(error(`agent error: ${ev.message}`));
|
|
239
|
+
if (auth.kind === 'subscription' && ev.kind === 'auth')
|
|
240
|
+
printSignInHelp();
|
|
241
|
+
break;
|
|
251
242
|
}
|
|
252
|
-
return false;
|
|
253
243
|
}
|
|
254
244
|
//# sourceMappingURL=repl.js.map
|
package/dist/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ResolvedAuth } from 'document360-engine';
|
|
3
|
+
export type AppProps = {
|
|
4
|
+
cwd: string;
|
|
5
|
+
auth: ResolvedAuth;
|
|
6
|
+
profileName?: string;
|
|
7
|
+
version: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function App({ cwd, auth, profileName, version }: AppProps): React.ReactElement;
|