@nuvin/session 0.3.0-rc.4 → 0.3.0-rc.6
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/chunk-2CZWHODV.js +204 -0
- package/dist/{chunk-UKDIV6I5.js → chunk-2IGB2A4W.js} +89 -5
- package/dist/{chunk-5XT7AOI2.js → chunk-MKPANFIF.js} +1 -1
- package/dist/{chunk-4UBSHJWS.js → chunk-NDRIMBWT.js} +2 -0
- package/dist/client/data-client.d.ts +2 -0
- package/dist/client/data-client.d.ts.map +1 -1
- package/dist/client/http-data-client.d.ts.map +1 -1
- package/dist/client/index.js +44 -8
- package/dist/client/session-client.d.ts +13 -2
- package/dist/client/session-client.d.ts.map +1 -1
- package/dist/controller/index.js +40 -5
- package/dist/controller/session-controller.d.ts +10 -1
- package/dist/controller/session-controller.d.ts.map +1 -1
- package/dist/grant/index.js +2 -2
- package/dist/protocol/background-work.d.ts +26 -0
- package/dist/protocol/background-work.d.ts.map +1 -0
- package/dist/protocol/data-rpc.d.ts +2 -0
- package/dist/protocol/data-rpc.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +2 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +17 -5
- package/dist/protocol/types.d.ts +88 -13
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/state/display-text.d.ts +13 -1
- package/dist/state/display-text.d.ts.map +1 -1
- package/dist/state/index.d.ts +1 -0
- package/dist/state/index.d.ts.map +1 -1
- package/dist/state/index.js +13 -1
- package/dist/state/messages.d.ts +20 -2
- package/dist/state/messages.d.ts.map +1 -1
- package/dist/state/session.d.ts.map +1 -1
- package/dist/state/subagent-report.d.ts +42 -0
- package/dist/state/subagent-report.d.ts.map +1 -0
- package/dist/test-utils/index.js +4 -4
- package/package.json +2 -2
- package/dist/chunk-6QNR3TBF.js +0 -6
- /package/dist/{chunk-7LEIACBZ.js → chunk-5PHEC5GZ.js} +0 -0
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
export declare const DISPLAY_TEXT_MAX_BYTES = 512;
|
|
2
|
+
export type SanitizeDisplayTextOptions = {
|
|
3
|
+
/** UTF-8 byte cap. Defaults to DISPLAY_TEXT_MAX_BYTES. Infinity = unbounded. */
|
|
4
|
+
maxBytes?: number;
|
|
5
|
+
/** C0/C1 code points to keep (everything else in those ranges is still dropped). */
|
|
6
|
+
preserveControlCodePoints?: ReadonlySet<number>;
|
|
7
|
+
};
|
|
2
8
|
/**
|
|
3
9
|
* Removes control characters and terminal escape sequences, then retains at
|
|
4
10
|
* most the first 512 UTF-8 bytes without splitting a Unicode code point.
|
|
5
11
|
* Uses web-platform APIs only so state summaries are safe to build in clients.
|
|
6
12
|
*/
|
|
7
|
-
export declare function sanitizeBoundedDisplayText(text: string): string;
|
|
13
|
+
export declare function sanitizeBoundedDisplayText(text: string, options?: SanitizeDisplayTextOptions): string;
|
|
14
|
+
/**
|
|
15
|
+
* Strips CSI/OSC/C0 like {@link sanitizeBoundedDisplayText} but keeps tab/newline
|
|
16
|
+
* and applies no byte cap. Used for subagent-report bodies so live deliveries
|
|
17
|
+
* match reloaded transcript text.
|
|
18
|
+
*/
|
|
19
|
+
export declare function sanitizeMultilineDisplayText(text: string): string;
|
|
8
20
|
//# sourceMappingURL=display-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-text.d.ts","sourceRoot":"","sources":["../../src/state/display-text.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"display-text.d.ts","sourceRoot":"","sources":["../../src/state/display-text.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAK1C,MAAM,MAAM,0BAA0B,GAAG;IACvC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjD,CAAC;AAkBF;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,0BAA0B,GACnC,MAAM,CAqHR;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjE"}
|
package/dist/state/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
|
package/dist/state/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
DISPLAY_TEXT_MAX_BYTES,
|
|
8
8
|
appendErrorMessage,
|
|
9
9
|
appendInfoMessage,
|
|
10
|
+
appendSubagentReportMessage,
|
|
10
11
|
appendUserMessage,
|
|
11
12
|
appendWarningMessage,
|
|
12
13
|
applyAgentEvent,
|
|
@@ -21,22 +22,28 @@ import {
|
|
|
21
22
|
enqueueQuestion,
|
|
22
23
|
isProviderRetryMessage,
|
|
23
24
|
isToolAutoApprovedForMode,
|
|
25
|
+
parseSubagentReportHeader,
|
|
24
26
|
reduceSessionEvent,
|
|
25
27
|
removeApproval,
|
|
26
28
|
removeQuestion,
|
|
29
|
+
resolveSubagentReport,
|
|
27
30
|
sanitizeBoundedDisplayText,
|
|
31
|
+
sanitizeCoordinatorDeliveryText,
|
|
32
|
+
sanitizeMultilineDisplayText,
|
|
28
33
|
scopedToolKey,
|
|
29
34
|
setToolMessageApprovalKind,
|
|
30
35
|
setToolMessageHidden,
|
|
31
36
|
setToolMessageStatus,
|
|
32
37
|
settleAllLiveReasoning,
|
|
38
|
+
splitSanitizableDelivery,
|
|
33
39
|
summarizeToolCallInput
|
|
34
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-2IGB2A4W.js";
|
|
35
41
|
export {
|
|
36
42
|
BACKGROUNDLESS_TOOLS,
|
|
37
43
|
DISPLAY_TEXT_MAX_BYTES,
|
|
38
44
|
appendErrorMessage,
|
|
39
45
|
appendInfoMessage,
|
|
46
|
+
appendSubagentReportMessage,
|
|
40
47
|
appendUserMessage,
|
|
41
48
|
appendWarningMessage,
|
|
42
49
|
applyAgentEvent,
|
|
@@ -52,15 +59,20 @@ export {
|
|
|
52
59
|
enqueueQuestion,
|
|
53
60
|
isProviderRetryMessage,
|
|
54
61
|
isToolAutoApprovedForMode,
|
|
62
|
+
parseSubagentReportHeader,
|
|
55
63
|
reduceSessionEvent,
|
|
56
64
|
removeApproval,
|
|
57
65
|
removeQuestion,
|
|
58
66
|
resolveGrantDir,
|
|
67
|
+
resolveSubagentReport,
|
|
59
68
|
sanitizeBoundedDisplayText,
|
|
69
|
+
sanitizeCoordinatorDeliveryText,
|
|
70
|
+
sanitizeMultilineDisplayText,
|
|
60
71
|
scopedToolKey,
|
|
61
72
|
setToolMessageApprovalKind,
|
|
62
73
|
setToolMessageHidden,
|
|
63
74
|
setToolMessageStatus,
|
|
64
75
|
settleAllLiveReasoning,
|
|
76
|
+
splitSanitizableDelivery,
|
|
65
77
|
summarizeToolCallInput
|
|
66
78
|
};
|
package/dist/state/messages.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { AgentEvent, JsonObject, JsonValue } from "@nuvin/agent-core/shared";
|
|
1
|
+
import type { AgentEvent, JsonObject, JsonValue, ModelUsageTotals } from "@nuvin/agent-core/shared";
|
|
2
|
+
import type { ResolvedSubagentReport, SubagentReportStatus } from "./subagent-report.ts";
|
|
2
3
|
export type ToolMessageStatus = "approved" | "error" | "ok" | "pending" | "rejected" | "running";
|
|
3
4
|
export type ProviderRetryAttemptRecord = {
|
|
4
5
|
failedAttempt: number;
|
|
@@ -36,6 +37,22 @@ export type BasicTuiMessage = {
|
|
|
36
37
|
createdAt?: number;
|
|
37
38
|
providerRetry?: ProviderRetryMessageDetail;
|
|
38
39
|
};
|
|
40
|
+
/** Terminal subagent-turn delivery rendered as a dedicated row (spec
|
|
41
|
+
* 2026-08-27-subagent-report-row-design.md). Presentation-only kind: never
|
|
42
|
+
* projected into provider payloads. */
|
|
43
|
+
export type SubagentReportTuiMessage = {
|
|
44
|
+
id: string;
|
|
45
|
+
/** Tool-call ancestry for nested rendering; omitted for root messages. */
|
|
46
|
+
toolCallPath?: string[];
|
|
47
|
+
role: "subagent-report";
|
|
48
|
+
agentId: string;
|
|
49
|
+
runId: string;
|
|
50
|
+
status: SubagentReportStatus;
|
|
51
|
+
/** Report body without the runtime-authored header line. */
|
|
52
|
+
text: string;
|
|
53
|
+
/** Whole-conversation cumulative usage; absent on legacy report rows. */
|
|
54
|
+
usage?: ModelUsageTotals;
|
|
55
|
+
};
|
|
39
56
|
export type ToolTuiMessage = {
|
|
40
57
|
approvalKind?: "auto" | "user";
|
|
41
58
|
completedAt?: number;
|
|
@@ -82,7 +99,7 @@ type StreamPreviewAcc = {
|
|
|
82
99
|
/** Exact `\n` count in the full trailing-whitespace run (not just its capped tail). */
|
|
83
100
|
trailingWsNewlines: number;
|
|
84
101
|
};
|
|
85
|
-
export type TuiMessage = BasicTuiMessage | ToolTuiMessage;
|
|
102
|
+
export type TuiMessage = BasicTuiMessage | ToolTuiMessage | SubagentReportTuiMessage;
|
|
86
103
|
export type ProviderRetryTuiMessage = BasicTuiMessage & {
|
|
87
104
|
role: "warning";
|
|
88
105
|
providerRetry: ProviderRetryMessageDetail;
|
|
@@ -119,6 +136,7 @@ export declare function createMessageStateFromMessages(messages: TuiMessage[]):
|
|
|
119
136
|
export declare function appendUserMessage(state: MessageState, text: string, attachmentLabels?: string[], createdAt?: number): MessageState;
|
|
120
137
|
export declare function appendErrorMessage(state: MessageState, text: string): MessageState;
|
|
121
138
|
export declare function appendInfoMessage(state: MessageState, text: string): MessageState;
|
|
139
|
+
export declare function appendSubagentReportMessage(state: MessageState, report: ResolvedSubagentReport): MessageState;
|
|
122
140
|
export declare function appendWarningMessage(state: MessageState, text: string): MessageState;
|
|
123
141
|
/**
|
|
124
142
|
* Applies an agent event to message state. Nested agent events carry their
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/state/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAEV,UAAU,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/state/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAiF9B,wBAAgB,sBAAsB,IAAI,gBAAgB,CAgBzD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,gBAAgB,CA8JhG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Runtime-authored terminal-delivery grammar (delegated-lifecycle-registry.ts). */
|
|
2
|
+
import type { ModelUsageTotals, SubagentReportMeta } from "@nuvin/agent-core/shared";
|
|
3
|
+
export type SubagentReportStatus = "completed" | "failed" | "aborted";
|
|
4
|
+
export type SubagentReportHeader = {
|
|
5
|
+
agentId: string;
|
|
6
|
+
runId: string;
|
|
7
|
+
status: SubagentReportStatus;
|
|
8
|
+
/** Delivery text after the header line, verbatim. "" when absent. */
|
|
9
|
+
body: string;
|
|
10
|
+
};
|
|
11
|
+
export type ResolvedSubagentReport = SubagentReportHeader & {
|
|
12
|
+
usage?: ModelUsageTotals;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Parse strictly line 1 of a parent-side subagent report delivery. Only
|
|
16
|
+
* runtime-composed deliveries may match (anti-spoof invariant, spec §8):
|
|
17
|
+
* forged headers echoed mid-body by child models can never parse because
|
|
18
|
+
* they sit after the authoritative line 1.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseSubagentReportHeader(text: string): SubagentReportHeader | undefined;
|
|
21
|
+
export declare function resolveSubagentReport(text: string, meta?: SubagentReportMeta): ResolvedSubagentReport | undefined;
|
|
22
|
+
export type SanitizableDeliverySplit = {
|
|
23
|
+
/** Runtime-authored line 1, verbatim (registry grammar holds). */
|
|
24
|
+
headerLine: string;
|
|
25
|
+
/** Everything after the header line and its `\n`, verbatim. "" when absent. */
|
|
26
|
+
body: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Splits a coordinator delivery into its header line and body when — and only
|
|
30
|
+
* when — the FIRST line fully satisfies the same anchored grammar used by
|
|
31
|
+
* parseSubagentReportHeader. Non-header-shaped text returns undefined so the
|
|
32
|
+
* caller keeps full sanitization.
|
|
33
|
+
*/
|
|
34
|
+
export declare function splitSanitizableDelivery(text: string): SanitizableDeliverySplit | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Sanitizes a coordinator delivery while preserving the runtime-authored
|
|
37
|
+
* header line verbatim, newline included. Header-shaped bodies keep tab/LF
|
|
38
|
+
* and are not 512-capped; every other text keeps the full control-character
|
|
39
|
+
* and escape-sequence sanitization of sanitizeBoundedDisplayText.
|
|
40
|
+
*/
|
|
41
|
+
export declare function sanitizeCoordinatorDeliveryText(text: string): string;
|
|
42
|
+
//# sourceMappingURL=subagent-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-report.d.ts","sourceRoot":"","sources":["../../src/state/subagent-report.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAIrF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,oBAAoB,CAAC;IAC7B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG;IAC1D,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAYxF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,kBAAkB,GACxB,sBAAsB,GAAG,SAAS,CAYpC;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAO3F;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpE"}
|
package/dist/test-utils/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-5PHEC5GZ.js";
|
|
2
2
|
import {
|
|
3
3
|
PROTOCOL_VERSION
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-2CZWHODV.js";
|
|
5
5
|
import {
|
|
6
6
|
generateGrantKeyPair,
|
|
7
7
|
signGrant
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-MKPANFIF.js";
|
|
9
|
+
import "../chunk-NDRIMBWT.js";
|
|
10
10
|
|
|
11
11
|
// src/test-utils/fake-relay.ts
|
|
12
12
|
import { randomUUID } from "crypto";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuvin/session",
|
|
3
|
-
"version": "0.3.0-rc.
|
|
3
|
+
"version": "0.3.0-rc.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Headless session layer for Nuvin: state reducers, wire protocol, session controller",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"ws": "^8.20.0",
|
|
53
|
-
"@nuvin/agent-core": "^0.3.0-rc.
|
|
53
|
+
"@nuvin/agent-core": "^0.3.0-rc.5"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/node": "^22.0.0",
|
package/dist/chunk-6QNR3TBF.js
DELETED
|
File without changes
|