@corenel/term 0.3.0 → 0.5.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/session.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';
2
2
  import type OpenAI from 'openai';
3
- import type { AgentEvent, AgentTool, AskAnswers, AskQuestion, CompressionConfig, PermissionDecision, Policy, ToolContext } from '@corenel/protocol';
3
+ import type { AgentEvent, AgentTool, ApprovalSuggestion, AskAnswers, AskQuestion, CompressionConfig, PermissionDecision, Policy, PromptAnswer, SuggestionChoice, ToolContext } from '@corenel/protocol';
4
4
  import { type RunAgentArgs, type RunAgentResult } from '@corenel/harness/core/loop';
5
+ import type { SkillEntry } from '@corenel/harness/tools/skillTool';
5
6
  import { type ModelRates } from '@corenel/harness/core/pricing';
6
7
  import type { PermissionService } from '@corenel/harness/guardrail/permission-service';
7
8
  import { type CommittedItem, type McpServerView, type PaletteEntry, type TuiState } from './state';
@@ -9,6 +10,7 @@ import { type ContextSnapshot } from './contextText';
9
10
  import { type ReadExisting } from './writePreview';
10
11
  import { type SessionPersistence } from './persist';
11
12
  import type { PolicySource } from './policySource';
13
+ export { parseSuggestionChoice, suggestionKeys, suggestionLine, suggestionOutcome } from './approvalText';
12
14
  /** The system prompt, as something that can be RE-DERIVED rather than fixed at
13
15
  * construction. A bare string is fine for a host that never changes it (`corenel
14
16
  * run`, tests); a thunk is what makes `/mode`/`/persona` real -- each of those
@@ -24,6 +26,10 @@ export interface TermSessionDeps {
24
26
  cwd: string;
25
27
  model: string;
26
28
  system?: SystemSource;
29
+ /** The enabled skills, read fresh each turn so one enabled mid-session is
30
+ * offered on the next. The loop turns them into a system-prompt index plus
31
+ * `use_skill` (harness tools/skillTool.ts). Absent = no skills. */
32
+ skills?: () => Promise<SkillEntry[]>;
27
33
  client: OpenAI;
28
34
  tools: AgentTool[];
29
35
  /** Per-1M-token rates for `model`, or null when nothing prices it -- used to
@@ -49,9 +55,12 @@ export interface TermSessionDeps {
49
55
  * guess. */
50
56
  contextWindow?: () => number | null;
51
57
  /** The models this host knows about, for `/model` (list only). The model is
52
- * FIXED once a session begins -- `resolveContextWindow(model)` runs ONCE at
53
- * launch (packages/cli/src/cli.ts's `resolvedWindow`) and sizes rung-2
54
- * compaction from it; switching to a model with a SMALLER window mid-session
58
+ * FIXED once a session begins -- `resolveContextWindow(model)` resolves it
59
+ * at launch (packages/cli/src/cli.ts's `resolvedWindow`), and a later
60
+ * hydration from the backend's own catalog may raise or lower that number
61
+ * in place (see the same file's `compression.contextWindow` mutation), but
62
+ * the MODEL itself never changes mid-session and sizes rung-2 compaction
63
+ * throughout; switching to a model with a SMALLER window mid-session
55
64
  * would leave compaction sized for the larger one and the loop would meet
56
65
  * the context wall as a fatal 400 instead of compacting in time. So `/model
57
66
  * <id>` refuses (see `runModelCommand`) and there is no `setModel` dep --
@@ -159,6 +168,9 @@ export interface TermSessionDeps {
159
168
  * `/mcp login` registers afresh. See the CLI's `McpAdmin.forget` for why
160
169
  * this is always a local write. */
161
170
  forgetMcpServer?: (name: string) => Promise<void>;
171
+ /** Persist the user's answer to an approval suggestion (plan 2). Absent: the
172
+ * session never shows one. Supplied by the host from its approvals service. */
173
+ saveApprovalChoice?: (s: ApprovalSuggestion, choice: SuggestionChoice) => Promise<void>;
162
174
  }
163
175
  /** Deltas arrive per token; re-rendering React that often thrashes for output
164
176
  * no eye can follow. They coalesce on this interval instead. */
@@ -207,6 +219,12 @@ export declare class TermSession {
207
219
  private turnId;
208
220
  private activeTurn;
209
221
  private pending;
222
+ /** The tool name a `pending` permission ask is FOR -- set only by
223
+ * `askPermission`, never by `askUser` (a question is not tied to one tool).
224
+ * Consumed once by `resolvePending` to decide whether a denied ask should
225
+ * drop a held suggestion for the same tool (final review M3). */
226
+ private pendingAskTool;
227
+ private heldSuggestion;
210
228
  private draining;
211
229
  private historyGen;
212
230
  private settling;
@@ -408,14 +426,18 @@ export declare class TermSession {
408
426
  openMcpManager(): Promise<void>;
409
427
  /** esc, or any other reason the overlay should close -- a no-op unless the
410
428
  * manager is actually the modal open right now, so it can never steal a
411
- * permission or question modal's close. */
429
+ * permission or question modal's close. Restores a held suggestion (final
430
+ * review M3) rather than just clearing the modal -- otherwise an offer held
431
+ * behind this overlay came back only when some LATER, unrelated permission
432
+ * ask happened to resolve. */
412
433
  closeMcpManager(): void;
413
434
  /** `/help` with no argument, from the Ink face only -- see the module doc
414
435
  * above. */
415
436
  openHelp(): void;
416
437
  /** esc, or any other reason the overlay should close -- a no-op unless the
417
438
  * help overlay is actually the modal open right now, so it can never steal
418
- * a permission, question, or MCP modal's close. */
439
+ * a permission, question, or MCP modal's close. Restores a held suggestion
440
+ * (final review M3) -- see closeMcpManager's doc. */
419
441
  closeHelp(): void;
420
442
  /** The data `formatContext` (contextText.ts) needs, assembled from
421
443
  * `TuiState`'s own accumulators and the two host-supplied static facts
@@ -430,7 +452,9 @@ export declare class TermSession {
430
452
  openContext(): void;
431
453
  /** esc, or any other reason the context overlay should close -- a no-op
432
454
  * unless the context overlay is actually the modal open right now, so it
433
- * can never steal a permission, question, help, or MCP modal's close. */
455
+ * can never steal a permission, question, help, or MCP modal's close.
456
+ * Restores a held suggestion (final review M3) -- see closeMcpManager's
457
+ * doc. */
434
458
  closeContext(): void;
435
459
  /** Up/down inside the overlay -- wraps, and does nothing with zero rows. */
436
460
  moveMcpSelection(delta: number): void;
@@ -500,7 +524,7 @@ export declare class TermSession {
500
524
  askPermission(req: {
501
525
  tool: string;
502
526
  input: unknown;
503
- }): Promise<PermissionDecision>;
527
+ }): Promise<PermissionDecision | PromptAnswer>;
504
528
  askUser(questions: AskQuestion[]): Promise<AskAnswers | null>;
505
529
  /** The view's answer to whichever modal is open. */
506
530
  answer(value: PermissionDecision | AskAnswers | null): void;
@@ -512,5 +536,24 @@ export declare class TermSession {
512
536
  * outcome that `askUserTool` (packages/harness/tools/builtins.ts) checks for. */
513
537
  private forceClosePending;
514
538
  private resolvePending;
539
+ /** Restore whatever suggestion is held (if any) as the visible modal,
540
+ * dropping it instead if `dropForTool` names the tool it is for. Shared by
541
+ * every path that can uncover a held offer: answering a permission/question
542
+ * ask (`resolvePending`), and closing the help/MCP/context overlays -- all
543
+ * of which used to just clear the modal, silently losing a held offer until
544
+ * some LATER, unrelated permission answer happened to surface it (final
545
+ * review M3). */
546
+ private restoreHeldSuggestion;
547
+ /** Offer a standing approval. Shown now if nothing is open, otherwise held
548
+ * until the open prompt is answered; a newer offer replaces a held one. */
549
+ offerApprovalSuggestion(s: ApprovalSuggestion): void;
550
+ /** Arm a widening choice (`workspace` / `global`) without granting it yet --
551
+ * only a following Enter (`respondApprovalSuggestion`) does that. See
552
+ * ApprovalSuggestionView's doc (final review I1). A no-op if the suggestion
553
+ * modal is not open. */
554
+ armApprovalSuggestion(choice: SuggestionChoice): void;
555
+ respondApprovalSuggestion(choice: SuggestionChoice): Promise<void>;
556
+ /** Escape: ignore the offer. Writes nothing (plan Task 5: ignoring is not a choice). */
557
+ dismissApprovalSuggestion(): void;
515
558
  }
516
559
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import {
2
2
  DELTA_FLUSH_MS,
3
3
  TOOL_DELTA_CAP,
4
- TermSession
5
- } from "./chunk-HUVRQX53.js";
6
- import "./chunk-2MGDL3I4.js";
7
- import "./chunk-5RPHYXND.js";
4
+ TermSession,
5
+ parseSuggestionChoice,
6
+ suggestionKeys,
7
+ suggestionLine,
8
+ suggestionOutcome
9
+ } from "./chunk-IF6DCCK2.js";
10
+ import "./chunk-MAZLORMD.js";
11
+ import "./chunk-TWFWLEIP.js";
8
12
  import "./chunk-M44CET5L.js";
9
13
  import "./chunk-I44FC7PE.js";
10
14
  import "./chunk-TYP4MMO7.js";
@@ -13,5 +17,9 @@ import "./chunk-CB5RFNB4.js";
13
17
  export {
14
18
  DELTA_FLUSH_MS,
15
19
  TOOL_DELTA_CAP,
16
- TermSession
20
+ TermSession,
21
+ parseSuggestionChoice,
22
+ suggestionKeys,
23
+ suggestionLine,
24
+ suggestionOutcome
17
25
  };
package/dist/state.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AskQuestion, Usage } from '@corenel/protocol';
1
+ import type { ApprovalSuggestion, AskQuestion, SuggestionChoice, Usage } from '@corenel/protocol';
2
2
  import type { WritePreview } from './writePreview';
3
3
  /** One selectable id for a host-supplied capability (`/mode`, `/persona`,
4
4
  * `/skill`, `/strategy`) -- a mode/persona/skill/strategy as DATA, never as a
@@ -129,7 +129,31 @@ export interface HelpView {
129
129
  export interface ContextView {
130
130
  kind: 'context';
131
131
  }
132
- export type Modal = PermissionAsk | UserAsk | McpManager | HelpView | ContextView;
132
+ /** A standing-approval offer (plan 2). NOT a pending ask: nothing waits on it,
133
+ * the turn keeps running, and Escape ignores it without writing anything.
134
+ *
135
+ * `openedAt` and `armedChoice` exist for one reason (final review I1): a
136
+ * standing-approval grant must be a deliberate keystroke, never a keystroke
137
+ * typed for something else. `openedAt` is the timestamp the offer became
138
+ * VISIBLE (set again each time a held offer is restored, not just on the
139
+ * first offer) -- a face ignores every key for a short arm delay after that,
140
+ * so a burst of type-ahead lands on nothing. `armedChoice` holds a choice
141
+ * that WIDENS access (`workspace` / `global`) once its key is pressed, but
142
+ * does not yet grant it -- only a following Enter does. `not-now` and `never`
143
+ * never widen anything, so they still apply on their own keystroke, without
144
+ * arming or Enter. */
145
+ export interface ApprovalSuggestionView {
146
+ kind: 'suggestion';
147
+ suggestion: ApprovalSuggestion;
148
+ openedAt: number;
149
+ armedChoice: SuggestionChoice | null;
150
+ }
151
+ /** How long a face ignores every key after a suggestion becomes visible
152
+ * (final review I1). Long enough to eat a burst of type-ahead landing right
153
+ * as the offer appears, short enough that a deliberate answer never feels
154
+ * delayed. */
155
+ export declare const SUGGESTION_ARM_DELAY_MS = 400;
156
+ export type Modal = PermissionAsk | UserAsk | McpManager | HelpView | ContextView | ApprovalSuggestionView;
133
157
  export type TodoStatus = 'pending' | 'in_progress' | 'completed' | 'blocked';
134
158
  /** A local mirror of the harness's `todo_write` tool contract (see
135
159
  * packages/harness/tools/todo.ts) — kept local rather than imported so this
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/state.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import {
2
+ SUGGESTION_ARM_DELAY_MS,
2
3
  emptyState,
3
4
  parseTodos
4
- } from "./chunk-2MGDL3I4.js";
5
+ } from "./chunk-MAZLORMD.js";
5
6
  export {
7
+ SUGGESTION_ARM_DELAY_MS,
6
8
  emptyState,
7
9
  parseTodos
8
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corenel/term",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Corenel's terminal face — a headless chat controller plus its Ink views. `./session` is ink-free and shared with the CLI's readline fallback; only `./ink` pulls React. dist/ is bundled (see build.mjs), but @corenel/harness and @corenel/protocol stay EXTERNAL to that bundle — they are real runtime dependencies, declared below, so the CLI and term share exactly one harness module instance (see build.mjs for why two instances is a governance hole, not a cosmetic bug).",
6
6
  "exports": {
@@ -46,8 +46,8 @@
46
46
  "ink-text-input": "^6.0.0",
47
47
  "openai": "^4.77.0",
48
48
  "react": "^18.3.1",
49
- "@corenel/harness": "0.8.0",
50
- "@corenel/protocol": "0.7.3"
49
+ "@corenel/harness": "0.11.0",
50
+ "@corenel/protocol": "0.10.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/node": "^24.13.1",
@@ -55,11 +55,11 @@
55
55
  "esbuild": "^0.21.5",
56
56
  "ink-testing-library": "^4.0.0",
57
57
  "typescript": "^5.9.3",
58
- "@corenel/tools-node": "0.4.0"
58
+ "@corenel/tools-node": "0.5.1"
59
59
  },
60
60
  "license": "Elastic-2.0",
61
61
  "engines": {
62
- "node": ">=18"
62
+ "node": ">=22"
63
63
  },
64
64
  "files": [
65
65
  "dist",