@patze/code-cli 0.43.1 → 0.55.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/CHANGELOG.md +256 -0
- package/README.md +84 -57
- package/VERSION +1 -1
- package/dist/backend/auth-token-kind.d.ts +3 -0
- package/dist/backend/auth-token-kind.d.ts.map +1 -0
- package/dist/backend/auth-token-kind.js +6 -0
- package/dist/backend/auth-token-kind.js.map +1 -0
- package/dist/backend/client.d.ts.map +1 -1
- package/dist/backend/client.js +7 -1
- package/dist/backend/client.js.map +1 -1
- package/dist/backend/execute-client.d.ts +1 -1
- package/dist/backend/execute-client.d.ts.map +1 -1
- package/dist/backend/execute-client.js +26 -0
- package/dist/backend/execute-client.js.map +1 -1
- package/dist/backend/plugin-session-client.d.ts +33 -0
- package/dist/backend/plugin-session-client.d.ts.map +1 -0
- package/dist/backend/plugin-session-client.js +108 -0
- package/dist/backend/plugin-session-client.js.map +1 -0
- package/dist/backend/runs-client.d.ts.map +1 -1
- package/dist/backend/runs-client.js +2 -1
- package/dist/backend/runs-client.js.map +1 -1
- package/dist/cli/auth/pairing-login.d.ts +10 -0
- package/dist/cli/auth/pairing-login.d.ts.map +1 -0
- package/dist/cli/auth/pairing-login.js +78 -0
- package/dist/cli/auth/pairing-login.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +10 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/exec.d.ts.map +1 -1
- package/dist/cli/commands/exec.js +33 -8
- package/dist/cli/commands/exec.js.map +1 -1
- package/dist/cli/commands/login.d.ts +1 -0
- package/dist/cli/commands/login.d.ts.map +1 -1
- package/dist/cli/commands/login.js +36 -5
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/runs-format.d.ts.map +1 -1
- package/dist/cli/commands/runs-format.js +2 -1
- package/dist/cli/commands/runs-format.js.map +1 -1
- package/dist/cli/commands/runs.d.ts.map +1 -1
- package/dist/cli/commands/runs.js +63 -5
- package/dist/cli/commands/runs.js.map +1 -1
- package/dist/cli/commands/status-format.d.ts.map +1 -1
- package/dist/cli/commands/status-format.js +4 -3
- package/dist/cli/commands/status-format.js.map +1 -1
- package/dist/cli/doctor/e2e-readiness.d.ts +12 -0
- package/dist/cli/doctor/e2e-readiness.d.ts.map +1 -0
- package/dist/cli/doctor/e2e-readiness.js +95 -0
- package/dist/cli/doctor/e2e-readiness.js.map +1 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +2 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
- package/dist/cli/interactive/agent-execute-turn.js +3 -1
- package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
- package/dist/cli/interactive/agent-turn-context.d.ts +2 -2
- package/dist/cli/interactive/agent-turn-context.d.ts.map +1 -1
- package/dist/cli/interactive/agent-turn-context.js +23 -8
- package/dist/cli/interactive/agent-turn-context.js.map +1 -1
- package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
- package/dist/cli/interactive/agent-turn.js +8 -7
- package/dist/cli/interactive/agent-turn.js.map +1 -1
- package/dist/cli/interactive/auth-credential-resolve.d.ts +20 -0
- package/dist/cli/interactive/auth-credential-resolve.d.ts.map +1 -0
- package/dist/cli/interactive/auth-credential-resolve.js +65 -0
- package/dist/cli/interactive/auth-credential-resolve.js.map +1 -0
- package/dist/cli/interactive/auth-gate.d.ts +1 -1
- package/dist/cli/interactive/auth-gate.d.ts.map +1 -1
- package/dist/cli/interactive/auth-gate.js +12 -3
- package/dist/cli/interactive/auth-gate.js.map +1 -1
- package/dist/cli/interactive/auth-readiness.d.ts +16 -0
- package/dist/cli/interactive/auth-readiness.d.ts.map +1 -0
- package/dist/cli/interactive/auth-readiness.js +50 -0
- package/dist/cli/interactive/auth-readiness.js.map +1 -0
- package/dist/cli/interactive/codex-feed-writer.d.ts.map +1 -1
- package/dist/cli/interactive/codex-feed-writer.js +4 -0
- package/dist/cli/interactive/codex-feed-writer.js.map +1 -1
- package/dist/cli/interactive/composer-edit-keys.d.ts +21 -0
- package/dist/cli/interactive/composer-edit-keys.d.ts.map +1 -0
- package/dist/cli/interactive/composer-edit-keys.js +57 -0
- package/dist/cli/interactive/composer-edit-keys.js.map +1 -0
- package/dist/cli/interactive/ensure-execute-auth.d.ts.map +1 -1
- package/dist/cli/interactive/ensure-execute-auth.js +8 -13
- package/dist/cli/interactive/ensure-execute-auth.js.map +1 -1
- package/dist/cli/interactive/header-refresh-triggers.d.ts +3 -0
- package/dist/cli/interactive/header-refresh-triggers.d.ts.map +1 -0
- package/dist/cli/interactive/header-refresh-triggers.js +16 -0
- package/dist/cli/interactive/header-refresh-triggers.js.map +1 -0
- package/dist/cli/interactive/header-refresh.d.ts +4 -0
- package/dist/cli/interactive/header-refresh.d.ts.map +1 -0
- package/dist/cli/interactive/header-refresh.js +33 -0
- package/dist/cli/interactive/header-refresh.js.map +1 -0
- package/dist/cli/interactive/header.d.ts +4 -1
- package/dist/cli/interactive/header.d.ts.map +1 -1
- package/dist/cli/interactive/header.js +44 -20
- package/dist/cli/interactive/header.js.map +1 -1
- package/dist/cli/interactive/interactive-footer-hints.d.ts +12 -0
- package/dist/cli/interactive/interactive-footer-hints.d.ts.map +1 -0
- package/dist/cli/interactive/interactive-footer-hints.js +32 -0
- package/dist/cli/interactive/interactive-footer-hints.js.map +1 -0
- package/dist/cli/interactive/interactive-model-apply.d.ts +15 -0
- package/dist/cli/interactive/interactive-model-apply.d.ts.map +1 -0
- package/dist/cli/interactive/interactive-model-apply.js +28 -0
- package/dist/cli/interactive/interactive-model-apply.js.map +1 -0
- package/dist/cli/interactive/interactive-ui.d.ts +13 -0
- package/dist/cli/interactive/interactive-ui.d.ts.map +1 -0
- package/dist/cli/interactive/interactive-ui.js +64 -0
- package/dist/cli/interactive/interactive-ui.js.map +1 -0
- package/dist/cli/interactive/launcher.d.ts.map +1 -1
- package/dist/cli/interactive/launcher.js +24 -17
- package/dist/cli/interactive/launcher.js.map +1 -1
- package/dist/cli/interactive/line-editor.d.ts +7 -2
- package/dist/cli/interactive/line-editor.d.ts.map +1 -1
- package/dist/cli/interactive/line-editor.js +133 -42
- package/dist/cli/interactive/line-editor.js.map +1 -1
- package/dist/cli/interactive/model-catalog-resolve.d.ts +11 -0
- package/dist/cli/interactive/model-catalog-resolve.d.ts.map +1 -0
- package/dist/cli/interactive/model-catalog-resolve.js +49 -0
- package/dist/cli/interactive/model-catalog-resolve.js.map +1 -0
- package/dist/cli/interactive/model-picker-panel.d.ts +22 -2
- package/dist/cli/interactive/model-picker-panel.d.ts.map +1 -1
- package/dist/cli/interactive/model-picker-panel.js +124 -30
- package/dist/cli/interactive/model-picker-panel.js.map +1 -1
- package/dist/cli/interactive/model-selector.d.ts.map +1 -1
- package/dist/cli/interactive/model-selector.js +3 -2
- package/dist/cli/interactive/model-selector.js.map +1 -1
- package/dist/cli/interactive/model-tty-picker.d.ts +3 -1
- package/dist/cli/interactive/model-tty-picker.d.ts.map +1 -1
- package/dist/cli/interactive/model-tty-picker.js +154 -24
- package/dist/cli/interactive/model-tty-picker.js.map +1 -1
- package/dist/cli/interactive/plain-codex-feed.d.ts.map +1 -1
- package/dist/cli/interactive/plain-codex-feed.js +48 -0
- package/dist/cli/interactive/plain-codex-feed.js.map +1 -1
- package/dist/cli/interactive/run-cancel.d.ts +23 -0
- package/dist/cli/interactive/run-cancel.d.ts.map +1 -0
- package/dist/cli/interactive/run-cancel.js +67 -0
- package/dist/cli/interactive/run-cancel.js.map +1 -0
- package/dist/cli/interactive/select-list-nav.d.ts +10 -0
- package/dist/cli/interactive/select-list-nav.d.ts.map +1 -0
- package/dist/cli/interactive/select-list-nav.js +45 -0
- package/dist/cli/interactive/select-list-nav.js.map +1 -0
- package/dist/cli/interactive/session-controller.d.ts +1 -0
- package/dist/cli/interactive/session-controller.d.ts.map +1 -1
- package/dist/cli/interactive/session-controller.js +5 -1
- package/dist/cli/interactive/session-controller.js.map +1 -1
- package/dist/cli/interactive/session-hints.d.ts +1 -0
- package/dist/cli/interactive/session-hints.d.ts.map +1 -1
- package/dist/cli/interactive/session-hints.js +24 -8
- package/dist/cli/interactive/session-hints.js.map +1 -1
- package/dist/cli/interactive/shell.d.ts.map +1 -1
- package/dist/cli/interactive/shell.js +19 -3
- package/dist/cli/interactive/shell.js.map +1 -1
- package/dist/cli/interactive/slash-dispatch.d.ts +2 -0
- package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
- package/dist/cli/interactive/slash-dispatch.js +55 -28
- package/dist/cli/interactive/slash-dispatch.js.map +1 -1
- package/dist/cli/interactive/slash-menu.d.ts.map +1 -1
- package/dist/cli/interactive/slash-menu.js +29 -2
- package/dist/cli/interactive/slash-menu.js.map +1 -1
- package/dist/cli/interactive/slash-registry.js +2 -2
- package/dist/cli/interactive/slash-registry.js.map +1 -1
- package/dist/cli/interactive/smoke-trust-fixture.d.ts +10 -0
- package/dist/cli/interactive/smoke-trust-fixture.d.ts.map +1 -0
- package/dist/cli/interactive/smoke-trust-fixture.js +66 -0
- package/dist/cli/interactive/smoke-trust-fixture.js.map +1 -0
- package/dist/cli/interactive/tools-catalog.d.ts.map +1 -1
- package/dist/cli/interactive/tools-catalog.js +17 -12
- package/dist/cli/interactive/tools-catalog.js.map +1 -1
- package/dist/cli/interactive/tty-arrow-selector.d.ts.map +1 -1
- package/dist/cli/interactive/tty-arrow-selector.js +5 -8
- package/dist/cli/interactive/tty-arrow-selector.js.map +1 -1
- package/dist/cli/interactive/tty-frame.d.ts +14 -0
- package/dist/cli/interactive/tty-frame.d.ts.map +1 -1
- package/dist/cli/interactive/tty-frame.js +127 -14
- package/dist/cli/interactive/tty-frame.js.map +1 -1
- package/dist/config/config.d.ts +2 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +8 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/web-ui.d.ts +5 -0
- package/dist/config/web-ui.d.ts.map +1 -0
- package/dist/config/web-ui.js +12 -0
- package/dist/config/web-ui.js.map +1 -0
- package/docs/beta-release-handoff.md +56 -29
- package/docs/internal-beta.md +6 -3
- package/docs/known-limitations.md +32 -19
- package/docs/release-checklist.md +11 -3
- package/opentui/src/App.tsx +636 -213
- package/package.json +6 -2
|
@@ -14,22 +14,70 @@ function formatPlainFeedLine(entry) {
|
|
|
14
14
|
}
|
|
15
15
|
export function createPlainCodexFeedRenderer(handlers, assistantTurnId = "plain") {
|
|
16
16
|
let items = [];
|
|
17
|
+
const emittedTextById = new Map();
|
|
18
|
+
const pendingDeferredIds = new Set();
|
|
19
|
+
const flushDeferredUpserts = () => {
|
|
20
|
+
for (const id of pendingDeferredIds) {
|
|
21
|
+
const entry = items.find((item) => item.id === id);
|
|
22
|
+
if (!entry || entry.kind === "assistant") {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const prior = emittedTextById.get(entry.id);
|
|
26
|
+
if (prior === entry.text) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
handlers.annotate(formatPlainFeedLine(entry));
|
|
30
|
+
emittedTextById.set(entry.id, entry.text);
|
|
31
|
+
}
|
|
32
|
+
pendingDeferredIds.clear();
|
|
33
|
+
};
|
|
34
|
+
const shouldDeferStreamingUpsert = (entry) => {
|
|
35
|
+
if (!emittedTextById.has(entry.id)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (entry.label === "think" && !entry.text.startsWith("✓") && !entry.text.startsWith("✗")) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
if (entry.label === "run" && entry.text.startsWith("●") && emittedTextById.get(entry.id)?.startsWith("●")) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (entry.kind === "tool" && entry.text.startsWith("●") && emittedTextById.get(entry.id)?.startsWith("●")) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
};
|
|
17
49
|
return {
|
|
18
50
|
reset() {
|
|
19
51
|
items = [];
|
|
52
|
+
emittedTextById.clear();
|
|
53
|
+
pendingDeferredIds.clear();
|
|
20
54
|
},
|
|
21
55
|
onAgentEvent(event) {
|
|
22
56
|
if (event.type === "assistant_delta") {
|
|
57
|
+
flushDeferredUpserts();
|
|
23
58
|
handlers.writeAssistant(event.text);
|
|
24
59
|
return;
|
|
25
60
|
}
|
|
61
|
+
if (event.type === "status" || event.type === "result") {
|
|
62
|
+
flushDeferredUpserts();
|
|
63
|
+
}
|
|
26
64
|
const result = applyAgentEventWithChanges(items, event, assistantTurnId);
|
|
27
65
|
items = result.items;
|
|
28
66
|
for (const entry of result.changed) {
|
|
29
67
|
if (entry.kind === "assistant") {
|
|
30
68
|
continue;
|
|
31
69
|
}
|
|
70
|
+
if (shouldDeferStreamingUpsert(entry)) {
|
|
71
|
+
pendingDeferredIds.add(entry.id);
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const prior = emittedTextById.get(entry.id);
|
|
75
|
+
if (prior === entry.text) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
32
78
|
handlers.annotate(formatPlainFeedLine(entry));
|
|
79
|
+
emittedTextById.set(entry.id, entry.text);
|
|
80
|
+
pendingDeferredIds.delete(entry.id);
|
|
33
81
|
}
|
|
34
82
|
},
|
|
35
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-codex-feed.js","sourceRoot":"","sources":["../../../src/cli/interactive/plain-codex-feed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,0BAA0B,GAE3B,MAAM,uBAAuB,CAAA;AAI9B,MAAM,WAAW,GAAG,CAAC,CAAA;AAErB,SAAS,mBAAmB,CAAC,KAA0B;IACrD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;QAC7C,CAAC,CAAC,KAAK,CAAC,IAAI;aACP,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAChB,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAA;AACpD,CAAC;AAOD,MAAM,UAAU,4BAA4B,CAC1C,QAA4B,EAC5B,eAAe,GAAG,OAAO;IAEzB,IAAI,KAAK,GAA0B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"plain-codex-feed.js","sourceRoot":"","sources":["../../../src/cli/interactive/plain-codex-feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ResolvedConfig } from "../../config/config.js";
|
|
2
|
+
import type { FetchLike } from "../../backend/preview-client.js";
|
|
3
|
+
import type { InteractiveSession } from "./session.js";
|
|
4
|
+
export type RunCancelOutcome = {
|
|
5
|
+
ok: true;
|
|
6
|
+
runId: string;
|
|
7
|
+
status: string;
|
|
8
|
+
phase?: string;
|
|
9
|
+
} | {
|
|
10
|
+
ok: false;
|
|
11
|
+
exitCode: number;
|
|
12
|
+
message: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function resolveCancelRunId(session: InteractiveSession, explicit?: string | null): string | null;
|
|
15
|
+
export declare function cancelPatzeCodeRun(input: {
|
|
16
|
+
cwd: string;
|
|
17
|
+
runId: string;
|
|
18
|
+
config?: ResolvedConfig;
|
|
19
|
+
fetchImpl?: FetchLike;
|
|
20
|
+
}): Promise<RunCancelOutcome>;
|
|
21
|
+
export declare function formatRunCancelLines(outcome: RunCancelOutcome): string[];
|
|
22
|
+
export declare function cancelPatzeCodeRunForSession(session: InteractiveSession, runId?: string | null, fetchImpl?: FetchLike): Promise<RunCancelOutcome>;
|
|
23
|
+
//# sourceMappingURL=run-cancel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-cancel.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/run-cancel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAMvG;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmC5B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAMxE;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,kBAAkB,EAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAc3B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { PatzeBackendClient } from "../../backend/client.js";
|
|
2
|
+
import { postRunCancel } from "../../backend/cancel-client.js";
|
|
3
|
+
import { isAuthConfigured } from "../../backend/auth.js";
|
|
4
|
+
import { loadConfig } from "../../config/config.js";
|
|
5
|
+
export function resolveCancelRunId(session, explicit) {
|
|
6
|
+
const trimmed = explicit?.trim();
|
|
7
|
+
if (trimmed) {
|
|
8
|
+
return trimmed;
|
|
9
|
+
}
|
|
10
|
+
return session.getLastRunId()?.trim() || null;
|
|
11
|
+
}
|
|
12
|
+
export async function cancelPatzeCodeRun(input) {
|
|
13
|
+
const config = input.config ?? loadConfig(input.cwd);
|
|
14
|
+
if (!isAuthConfigured(config)) {
|
|
15
|
+
return {
|
|
16
|
+
ok: false,
|
|
17
|
+
exitCode: 1,
|
|
18
|
+
message: "Auth incomplete — run `patze login` or set PATZE_CODE_* env vars.",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (!config.api) {
|
|
22
|
+
return { ok: false, exitCode: 2, message: "API URL not configured." };
|
|
23
|
+
}
|
|
24
|
+
const client = new PatzeBackendClient(config);
|
|
25
|
+
const result = await postRunCancel({
|
|
26
|
+
apiBase: client.baseUrl,
|
|
27
|
+
headers: client.buildHeaders(),
|
|
28
|
+
runId: input.runId,
|
|
29
|
+
fetchImpl: input.fetchImpl,
|
|
30
|
+
});
|
|
31
|
+
if (!result.ok) {
|
|
32
|
+
return {
|
|
33
|
+
ok: false,
|
|
34
|
+
exitCode: 2,
|
|
35
|
+
message: result.message,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
ok: true,
|
|
40
|
+
runId: result.runId,
|
|
41
|
+
status: result.status,
|
|
42
|
+
phase: result.phase,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function formatRunCancelLines(outcome) {
|
|
46
|
+
if (!outcome.ok) {
|
|
47
|
+
return [outcome.message];
|
|
48
|
+
}
|
|
49
|
+
const phase = outcome.phase ? ` · phase ${outcome.phase}` : "";
|
|
50
|
+
return [`Cancel requested for ${outcome.runId} (${outcome.status})${phase}.`];
|
|
51
|
+
}
|
|
52
|
+
export async function cancelPatzeCodeRunForSession(session, runId, fetchImpl) {
|
|
53
|
+
const resolved = resolveCancelRunId(session, runId);
|
|
54
|
+
if (!resolved) {
|
|
55
|
+
return {
|
|
56
|
+
ok: false,
|
|
57
|
+
exitCode: 2,
|
|
58
|
+
message: "No run id — pass one or complete a run first (/runs cancel <id>).",
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return cancelPatzeCodeRun({
|
|
62
|
+
cwd: session.cwd,
|
|
63
|
+
runId: resolved,
|
|
64
|
+
fetchImpl,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=run-cancel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-cancel.js","sourceRoot":"","sources":["../../../src/cli/interactive/run-cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAuB,MAAM,wBAAwB,CAAA;AAQxE,MAAM,UAAU,kBAAkB,CAAC,OAA2B,EAAE,QAAwB;IACtF,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAKxC;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,mEAAmE;SAC7E,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAA;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,OAAQ;QACxB,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAA;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAyB;IAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,OAAO,CAAC,wBAAwB,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAA2B,EAC3B,KAAqB,EACrB,SAAqB;IAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,mEAAmE;SAC7E,CAAA;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,QAAQ;QACf,SAAS;KACV,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Cap slash-menu rows in one composer redraw (TTY + OpenTUI parity). */
|
|
2
|
+
export declare const COMPOSER_MENU_MAX_ROWS = 6;
|
|
3
|
+
/** Soft ceiling on visual rows for anchored composer overlays. */
|
|
4
|
+
export declare const COMPOSER_FRAME_ROW_BUDGET = 22;
|
|
5
|
+
export type ListNavKey = "up" | "down" | "enter" | "escape";
|
|
6
|
+
export declare function moveListSelection(index: number, delta: number, count: number): number;
|
|
7
|
+
/** 1–9 jump highlight (Codex-style); returns null when digit is out of range. */
|
|
8
|
+
export declare function jumpListSelection(digit: string, count: number): number | null;
|
|
9
|
+
export declare function mapListNavKey(name: string | undefined, str: string | undefined): ListNavKey | null;
|
|
10
|
+
//# sourceMappingURL=select-list-nav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-list-nav.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/select-list-nav.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,kEAAkE;AAClE,eAAO,MAAM,yBAAyB,KAAK,CAAA;AAE3C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE3D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS7E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAqBlG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { moveSelection } from "./slash-menu.js";
|
|
2
|
+
/** Cap slash-menu rows in one composer redraw (TTY + OpenTUI parity). */
|
|
3
|
+
export const COMPOSER_MENU_MAX_ROWS = 6;
|
|
4
|
+
/** Soft ceiling on visual rows for anchored composer overlays. */
|
|
5
|
+
export const COMPOSER_FRAME_ROW_BUDGET = 22;
|
|
6
|
+
export function moveListSelection(index, delta, count) {
|
|
7
|
+
if (count <= 0) {
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
|
+
return moveSelection(index, delta, count);
|
|
11
|
+
}
|
|
12
|
+
/** 1–9 jump highlight (Codex-style); returns null when digit is out of range. */
|
|
13
|
+
export function jumpListSelection(digit, count) {
|
|
14
|
+
if (!/^[1-9]$/.test(digit)) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const jump = Number(digit) - 1;
|
|
18
|
+
if (jump >= count) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return jump;
|
|
22
|
+
}
|
|
23
|
+
export function mapListNavKey(name, str) {
|
|
24
|
+
const keyName = name ?? "";
|
|
25
|
+
if (keyName === "up" || str === "k" || keyName === "k") {
|
|
26
|
+
return "up";
|
|
27
|
+
}
|
|
28
|
+
if (keyName === "down" || str === "j" || keyName === "j") {
|
|
29
|
+
return "down";
|
|
30
|
+
}
|
|
31
|
+
if (keyName === "return" || keyName === "enter") {
|
|
32
|
+
return "enter";
|
|
33
|
+
}
|
|
34
|
+
if (keyName === "escape") {
|
|
35
|
+
return "escape";
|
|
36
|
+
}
|
|
37
|
+
if (str === "k") {
|
|
38
|
+
return "up";
|
|
39
|
+
}
|
|
40
|
+
if (str === "j") {
|
|
41
|
+
return "down";
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=select-list-nav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-list-nav.js","sourceRoot":"","sources":["../../../src/cli/interactive/select-list-nav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEvC,kEAAkE;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAI3C,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa;IAC3E,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAa;IAC5D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAwB,EAAE,GAAuB;IAC7E,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACzD,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/session-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/session-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAejD,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,mBAAmB,EAAE,UAAU,KAAK,IAAI,CAAA;IACtE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,iBAAiB,EAAE,MAAM,MAAM,EAAE,CAAA;IACjC,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAChC,CAAA;AA+CD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAKhC;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CAuJvB"}
|
|
@@ -10,6 +10,7 @@ import { runApplyConfirmationLine } from "../commands/apply.js";
|
|
|
10
10
|
import { loadPersistedSession, savePersistedSession } from "./session-store.js";
|
|
11
11
|
import { ensureExecuteAuthConfig } from "./ensure-execute-auth.js";
|
|
12
12
|
import { createTtyLiveFeedWriter, shouldUseTtyLiveFeed } from "./tty-live-feed.js";
|
|
13
|
+
import { maybeSeedTrustSmokeFixture } from "./smoke-trust-fixture.js";
|
|
13
14
|
function buildStreamSink(output, options, canStreamPartials) {
|
|
14
15
|
if (!canStreamPartials || !shouldUseTtyLiveFeed(options.interactive)) {
|
|
15
16
|
return {
|
|
@@ -44,7 +45,9 @@ function buildStreamSink(output, options, canStreamPartials) {
|
|
|
44
45
|
}
|
|
45
46
|
export async function prepareInteractiveController(options) {
|
|
46
47
|
await ensureExecuteAuthConfig(options.cwd);
|
|
47
|
-
|
|
48
|
+
const controller = createInteractiveController(options);
|
|
49
|
+
await maybeSeedTrustSmokeFixture(controller.session, options.cwd);
|
|
50
|
+
return controller;
|
|
48
51
|
}
|
|
49
52
|
export function createInteractiveController(options) {
|
|
50
53
|
const cwd = options.cwd;
|
|
@@ -158,6 +161,7 @@ export function createInteractiveController(options) {
|
|
|
158
161
|
exitCode: result.exitCode,
|
|
159
162
|
streamed: result.streamed,
|
|
160
163
|
clearVisibleTranscript: result.clearVisibleTranscript,
|
|
164
|
+
refreshHeader: result.refreshHeader,
|
|
161
165
|
};
|
|
162
166
|
};
|
|
163
167
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/cli/interactive/session-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/cli/interactive/session-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Cookbook-style empty session copy (TTY / OpenTUI). */
|
|
2
|
+
export declare function shouldShowEmptySessionHints(_cwd?: string): boolean;
|
|
2
3
|
export declare function buildEmptySessionHints(cwd?: string): string[];
|
|
3
4
|
export declare function resolveComposerPlaceholder(cwd?: string): string;
|
|
4
5
|
//# sourceMappingURL=session-hints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-hints.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/session-hints.ts"],"names":[],"mappings":"AAIA,yDAAyD;AACzD,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"session-hints.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/session-hints.ts"],"names":[],"mappings":"AAIA,yDAAyD;AACzD,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAqB7D;AAED,wBAAgB,0BAA0B,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAa/D"}
|
|
@@ -1,26 +1,42 @@
|
|
|
1
1
|
import { loadConfig } from "../../config/config.js";
|
|
2
|
-
import { isAuthConfigured } from "../../backend/auth.js";
|
|
3
2
|
import { needsAuthBeforeAgent } from "./auth-gate.js";
|
|
3
|
+
import { resolveAuthReadiness } from "./auth-readiness.js";
|
|
4
4
|
/** Cookbook-style empty session copy (TTY / OpenTUI). */
|
|
5
|
+
export function shouldShowEmptySessionHints(_cwd) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
5
8
|
export function buildEmptySessionHints(cwd) {
|
|
6
9
|
const config = loadConfig(cwd);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const readiness = resolveAuthReadiness(config);
|
|
11
|
+
if (!readiness.agentReady) {
|
|
12
|
+
if (readiness.missingUserId) {
|
|
13
|
+
return [
|
|
14
|
+
"Credentials set — add user id to run the agent.",
|
|
15
|
+
" /login <api> <token> <userId> · PATZE_CODE_USER_ID",
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
if (needsAuthBeforeAgent(config)) {
|
|
19
|
+
return [
|
|
20
|
+
"Welcome — sign in to run agent tasks.",
|
|
21
|
+
" patze login --pair --api <url> · /login · patze login …",
|
|
22
|
+
];
|
|
23
|
+
}
|
|
12
24
|
}
|
|
13
25
|
return [
|
|
14
|
-
"Describe a
|
|
26
|
+
"Describe a task, or type / for commands.",
|
|
15
27
|
" /help · /model · /models · /reset · Ctrl+C cancels an active run",
|
|
16
28
|
];
|
|
17
29
|
}
|
|
18
30
|
export function resolveComposerPlaceholder(cwd) {
|
|
19
31
|
const config = loadConfig(cwd);
|
|
32
|
+
const readiness = resolveAuthReadiness(config);
|
|
20
33
|
if (needsAuthBeforeAgent(config)) {
|
|
34
|
+
if (readiness.missingUserId) {
|
|
35
|
+
return "Add user id — /login … userId or PATZE_CODE_USER_ID";
|
|
36
|
+
}
|
|
21
37
|
return "Login first — /login or patze login …";
|
|
22
38
|
}
|
|
23
|
-
if (!
|
|
39
|
+
if (!readiness.credentialsConfigured) {
|
|
24
40
|
return "Describe a task… · /login when ready";
|
|
25
41
|
}
|
|
26
42
|
return "Describe a task… · / for commands";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-hints.js","sourceRoot":"","sources":["../../../src/cli/interactive/session-hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"session-hints.js","sourceRoot":"","sources":["../../../src/cli/interactive/session-hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,yDAAyD;AACzD,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACvD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,OAAO;gBACL,iDAAiD;gBACjD,wDAAwD;aACzD,CAAA;QACH,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,uCAAuC;gBACvC,+DAA+D;aAChE,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,0CAA0C;QAC1C,4EAA4E;KAC7E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,OAAO,qDAAqD,CAAA;QAC9D,CAAC;QACD,OAAO,uCAAuC,CAAA;IAChD,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACrC,OAAO,sCAAsC,CAAA;IAC/C,CAAC;IACD,OAAO,mCAAmC,CAAA;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAetD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAwDD,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAkHjC"}
|
|
@@ -4,9 +4,10 @@ import { createCodexFeedWriter, shouldUseCodexFeedWriter, } from "./codex-feed-w
|
|
|
4
4
|
import { INTERACTIVE_PROMPT } from "./header.js";
|
|
5
5
|
import { buildComposerChromeForSession } from "./composer-session-chrome.js";
|
|
6
6
|
import { resolveComposerPlaceholder } from "./auth-gate.js";
|
|
7
|
-
import { buildEmptySessionHints } from "./session-hints.js";
|
|
7
|
+
import { buildEmptySessionHints, shouldShowEmptySessionHints } from "./session-hints.js";
|
|
8
8
|
import { SlashLineEditor } from "./line-editor.js";
|
|
9
9
|
import { prepareInteractiveController } from "./session-controller.js";
|
|
10
|
+
import { countHeaderVisualRows, refreshTerminalHeader } from "./header-refresh.js";
|
|
10
11
|
async function runTurnWithCancel(rawLine, context) {
|
|
11
12
|
const assistantTurnId = String(Date.now());
|
|
12
13
|
const feedWriter = context.useCodexFeed
|
|
@@ -66,7 +67,19 @@ export async function runInteractiveShell(options = {}) {
|
|
|
66
67
|
for (const line of controller.renderHeaderLines()) {
|
|
67
68
|
output.line(line);
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
+
let headerRowCount = interactive
|
|
71
|
+
? countHeaderVisualRows(controller.renderHeaderLines(), process.stdout.columns || 80)
|
|
72
|
+
: 0;
|
|
73
|
+
const maybeRefreshHeader = () => {
|
|
74
|
+
if (!interactive || !process.stdout.isTTY) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const headerLines = controller.renderHeaderLines();
|
|
78
|
+
headerRowCount = refreshTerminalHeader(headerLines, headerRowCount);
|
|
79
|
+
};
|
|
80
|
+
const showEmptyHints = interactive &&
|
|
81
|
+
controller.session.snapshot().length === 0 &&
|
|
82
|
+
shouldShowEmptySessionHints(cwd);
|
|
70
83
|
if (showEmptyHints) {
|
|
71
84
|
output.line("");
|
|
72
85
|
for (const hint of buildEmptySessionHints(cwd)) {
|
|
@@ -85,7 +98,10 @@ export async function runInteractiveShell(options = {}) {
|
|
|
85
98
|
const processLine = async (rawLine) => {
|
|
86
99
|
const result = await runTurnWithCancel(rawLine, turnContext);
|
|
87
100
|
exitCode = result.exitCode;
|
|
88
|
-
if (result.
|
|
101
|
+
if (result.refreshHeader) {
|
|
102
|
+
maybeRefreshHeader();
|
|
103
|
+
}
|
|
104
|
+
if (result.streamed && interactive) {
|
|
89
105
|
process.stdout.write("\n");
|
|
90
106
|
}
|
|
91
107
|
return result.exitShell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/cli/interactive/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG/C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/cli/interactive/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export type SlashDispatchResult = {
|
|
|
19
19
|
streamed?: boolean;
|
|
20
20
|
/** OpenTUI/shell: wipe visible transcript after reset clear. */
|
|
21
21
|
clearVisibleTranscript?: boolean;
|
|
22
|
+
/** Repaint startup header card (model/auth changed). */
|
|
23
|
+
refreshHeader?: boolean;
|
|
22
24
|
};
|
|
23
25
|
export declare function dispatchSlashCommand(session: InteractiveSession, parsed: ParsedSlashInput, context?: SlashDispatchContext): Promise<SlashDispatchResult>;
|
|
24
26
|
export declare function dispatchAgentPrompt(session: InteractiveSession, text: string, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-dispatch.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/slash-dispatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slash-dispatch.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/slash-dispatch.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAmBxD,MAAM,MAAM,oBAAoB,GAAG;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,mBAAmB,EAAE,UAAU,KAAK,IAAI,CAAA;IACtE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAkG9B;AAycD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,mBAAmB,EAAE,UAAU,KAAK,IAAI,CAAA;CAClE,GACL,OAAO,CAAC,mBAAmB,CAAC,CAe9B"}
|