@nuvin/session 0.1.1-rc.2 → 0.2.0-rc.10

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.
Files changed (51) hide show
  1. package/dist/{chunk-WB4FEWBI.js → chunk-3CVYVANJ.js} +1 -1
  2. package/dist/chunk-7LEIACBZ.js +85 -0
  3. package/dist/{chunk-COVRYM64.js → chunk-KQHHBUVY.js} +137 -47
  4. package/dist/client/daemon-client.d.ts.map +1 -1
  5. package/dist/client/data-client.d.ts +10 -15
  6. package/dist/client/data-client.d.ts.map +1 -1
  7. package/dist/client/directory.d.ts +12 -14
  8. package/dist/client/directory.d.ts.map +1 -1
  9. package/dist/client/http-data-client.d.ts +5 -0
  10. package/dist/client/http-data-client.d.ts.map +1 -1
  11. package/dist/client/index.js +299 -40
  12. package/dist/client/session-client.d.ts +30 -4
  13. package/dist/client/session-client.d.ts.map +1 -1
  14. package/dist/client/websocket.d.ts.map +1 -1
  15. package/dist/controller/agent-channel.d.ts +10 -5
  16. package/dist/controller/agent-channel.d.ts.map +1 -1
  17. package/dist/controller/index.js +323 -48
  18. package/dist/controller/session-controller.d.ts +15 -14
  19. package/dist/controller/session-controller.d.ts.map +1 -1
  20. package/dist/controller/test-utils.d.ts +3 -1
  21. package/dist/controller/test-utils.d.ts.map +1 -1
  22. package/dist/protocol/data-rpc.d.ts +13 -14
  23. package/dist/protocol/data-rpc.d.ts.map +1 -1
  24. package/dist/protocol/history-text.d.ts +4 -0
  25. package/dist/protocol/history-text.d.ts.map +1 -0
  26. package/dist/protocol/index.d.ts +1 -0
  27. package/dist/protocol/index.d.ts.map +1 -1
  28. package/dist/protocol/index.js +12 -4
  29. package/dist/protocol/model-identity.d.ts +7 -0
  30. package/dist/protocol/model-identity.d.ts.map +1 -1
  31. package/dist/protocol/types.d.ts +339 -35
  32. package/dist/protocol/types.d.ts.map +1 -1
  33. package/dist/protocol/version.d.ts +1 -1
  34. package/dist/state/approvals.d.ts +4 -15
  35. package/dist/state/approvals.d.ts.map +1 -1
  36. package/dist/state/index.d.ts +2 -0
  37. package/dist/state/index.d.ts.map +1 -1
  38. package/dist/state/index.js +15 -9
  39. package/dist/state/messages.d.ts +12 -2
  40. package/dist/state/messages.d.ts.map +1 -1
  41. package/dist/state/questions.d.ts +5 -0
  42. package/dist/state/questions.d.ts.map +1 -0
  43. package/dist/state/session.d.ts.map +1 -1
  44. package/dist/state/tool-key.d.ts +2 -0
  45. package/dist/state/tool-key.d.ts.map +1 -0
  46. package/dist/state/tool-preview.d.ts +5 -0
  47. package/dist/state/tool-preview.d.ts.map +1 -1
  48. package/dist/state/tool-preview.js +81 -29
  49. package/dist/test-utils/index.js +2 -2
  50. package/package.json +3 -3
  51. package/dist/chunk-7HGJO7ZX.js +0 -9
@@ -1,14 +1,17 @@
1
1
  import type { AgentMetricsSnapshot } from "@nuvin/agent-core/agent";
2
- import { type AgentInput, type AskUserAnswers, type Message } from "@nuvin/agent-core/shared";
3
- import type { McpAuthFlowState, McpViewState, ServerEvent, SessionMeta, SessionSnapshot, SlashCommandDescriptor, WorkflowProgressDelta } from "../protocol/types.ts";
2
+ import { type AgentInput, type AgentSubmission, type AskUserAnswers, type Message, type SteeringInputDrain } from "@nuvin/agent-core/shared";
3
+ import type { BashPolicyApprovalDiagnostics, McpAuthFlowState, McpViewState, PersistBashPermissionRequest, PersistBashPermissionResult, ServerEvent, SessionMeta, SessionSnapshot, SlashCommandDescriptor, WorkflowProgressDelta } from "../protocol/types.ts";
4
4
  import { type SessionApprovalMode } from "../state/approvals.ts";
5
5
  import type { AgentChannel } from "./agent-channel.ts";
6
+ export declare function formatBashPolicyDenial(diagnostics: BashPolicyApprovalDiagnostics): string;
6
7
  /** Subset of Agent the controller needs — structurally satisfied by @nuvin/agent-core Agent. */
7
8
  export type AgentLike = {
8
9
  messages: Message[];
9
10
  send(input: AgentInput, opts: {
10
11
  streaming: boolean;
11
12
  signal: AbortSignal;
13
+ drainSteering?: SteeringInputDrain;
14
+ submission: AgentSubmission;
12
15
  }): Promise<unknown>;
13
16
  };
14
17
  export type GuardResult = {
@@ -43,8 +46,6 @@ export interface SessionControllerDeps {
43
46
  compaction?: CompactionHooks;
44
47
  /** UserPromptSubmit hook gate; absent = no guarding (test/dev mode). */
45
48
  guardPrompt?: (input: AgentInput) => Promise<GuardResult>;
46
- /** Defaults to isAutoApprovedTool from ../state. */
47
- isAutoApproved?: (toolName: string) => boolean;
48
49
  /** Injectable clock for deterministic tests. Defaults to Date.now. */
49
50
  now?: () => number;
50
51
  /** Format an unknown error for the transcript. Defaults to String(error). */
@@ -62,6 +63,10 @@ export interface SessionControllerDeps {
62
63
  export type SubmitOptions = {
63
64
  displayText: string;
64
65
  attachmentLabels?: string[];
66
+ /** Immutable ownership metadata forwarded with this exact agent send. */
67
+ submission?: AgentSubmission;
68
+ /** Optional caller cancellation that remains linked for the full turn. */
69
+ signal?: AbortSignal;
65
70
  /**
66
71
  * When true, submit emits no `user-message` event (slash-initiated turns
67
72
  * already echoed their text). `displayText` may be `""` in that case.
@@ -84,27 +89,21 @@ export interface SessionController {
84
89
  compaction?: CompactionHooks;
85
90
  guardPrompt?: (input: AgentInput) => Promise<GuardResult>;
86
91
  }): void;
87
- /**
88
- * Settle a pending question by id.
89
- *
90
- * Single-active-question is the current protocol invariant: when parallel
91
- * sub-agents ask concurrently, only the latest question is surfaced as
92
- * `question.active` in state. All resolvers survive in the internal map, so
93
- * answering any questionId settles the matching ask correctly.
94
- */
92
+ /** Settle a pending question by id. */
95
93
  answerQuestion(questionId: string, answers: AskUserAnswers): boolean;
96
94
  /** Emit an error line into the replicated transcript. */
97
95
  appendError(message: string): void;
98
96
  /** Emit an info line into the replicated transcript (slash output, system notices). */
99
97
  appendInfo(message: string): void;
100
- close(): void;
98
+ close(): Promise<void>;
101
99
  /**
102
100
  * Cancel a queued (not-yet-running) submission by its `turn-status.queued` id.
103
101
  * Returns true if an item was removed, false if the id was unknown (already
104
102
  * drained or never existed) — a race-safe no-op the host still acks ok.
105
103
  */
106
104
  dequeue(queuedId: string): boolean;
107
- decideApproval(toolCallId: string, decision: "a" | "n" | "y", comment?: string, grantDir?: string): boolean;
105
+ decideApproval(toolCallId: string, decision: "a" | "n" | "y", comment?: string, grantDir?: string, parentToolCallId?: string): boolean;
106
+ persistBashPermission(toolCallId: string, request: PersistBashPermissionRequest, parentToolCallId?: string): Promise<PersistBashPermissionResult | undefined>;
108
107
  /** Echo a user-style message without starting a turn (slash commands echo their invocation). */
109
108
  echoUserMessage(text: string, attachmentLabels?: string[]): void;
110
109
  /**
@@ -115,6 +114,8 @@ export interface SessionController {
115
114
  getSnapshot(): SessionSnapshot;
116
115
  /** Return whether a host-controlled server operation currently owns busy state. */
117
116
  isHostBusy(): boolean;
117
+ /** Return whether an agent turn is currently active, independent of host busy state. */
118
+ isTurnActive(): boolean;
118
119
  onEvent(listener: (event: ServerEvent) => void): () => void;
119
120
  /**
120
121
  * Replace the server-executed slash-command descriptors surfaced in the attach
@@ -1 +1 @@
1
- {"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../src/controller/session-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../src/controller/session-controller.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
+ import type { AgentInput, SteeringInputDrain } from "@nuvin/agent-core/shared";
1
2
  import type { ServerEvent } from "../protocol/types.ts";
2
3
  import { AgentChannel } from "./agent-channel.ts";
3
4
  import type { SessionControllerDeps } from "./session-controller.ts";
4
5
  export declare function makeDeps(overrides?: Partial<SessionControllerDeps>): {
5
6
  channel: AgentChannel;
6
7
  deps: SessionControllerDeps;
7
- send: import("vitest").Mock<(_input: unknown, _opts: {
8
+ send: import("vitest").Mock<(_input: AgentInput, _opts: {
8
9
  streaming: boolean;
9
10
  signal: AbortSignal;
11
+ drainSteering?: SteeringInputDrain;
10
12
  }) => Promise<void>>;
11
13
  };
12
14
  export declare function collectEvents(controller: {
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/controller/test-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,wBAAgB,QAAQ,CAAC,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM;;;yCAGpD,OAAO,SAAS;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE;EAa7E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE;IAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAAE,iBAI7F"}
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/controller/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAW,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,wBAAgB,QAAQ,CAAC,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM;;;yCAIzD,UAAU,SACX;QACL,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,WAAW,CAAC;QACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;KACpC;EAcN;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE;IAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAAE,iBAI7F"}
@@ -1,5 +1,5 @@
1
- import type { ConfigMutationResult, HistoryPage, ProfileSummary, ProviderConfigSummary, ProviderCredentialInput, ProviderSurfaceId, SessionSnapshot, WorkspaceConfigSummary } from "./types.ts";
2
- export type DataRpcErrorCode = "invalid-input" | "not-found" | "conflict" | "unsupported" | "unauthorized" | "daemon-offline" | "internal";
1
+ import type { ConfigMutationResult, HistoryPage, ListHistoryParams, ListHistoryWorkspacesParams, ListHistoryWorkspacesResult, ListWorkspaceHistoryParams, PersistenceIdentity, ProfileSummary, ProviderConfigSummary, ProviderCredentialInput, ProviderSurfaceId, SessionSnapshot, WorkspaceConfigSummary, WorkspaceHistoryPage } from "./types.ts";
2
+ export type DataRpcErrorCode = "invalid-input" | "not-found" | "conflict" | "unsupported" | "unauthorized" | "daemon-offline" | "transcript-unavailable" | "transcript-corrupt" | "history-state-conflict" | "ambiguous-session-identity" | "invalid-history-cursor" | "internal";
3
3
  export type DataRpcError = {
4
4
  code: DataRpcErrorCode;
5
5
  message: string;
@@ -30,26 +30,25 @@ export type UpdateWorkspaceInput = ProfileScope & {
30
30
  export type DataRpcSchema = {
31
31
  "get-transcript": {
32
32
  params: {
33
- historyId: string;
34
- workspace?: string;
35
- profile?: string;
33
+ identity: PersistenceIdentity;
36
34
  };
37
35
  result: SessionSnapshot;
38
36
  };
39
37
  "list-history": {
40
- params: {
41
- profile?: string;
42
- cwd?: string;
43
- limit?: number;
44
- cursor?: string;
45
- };
38
+ params: ListHistoryParams;
46
39
  result: HistoryPage;
47
40
  };
41
+ "list-history-workspaces": {
42
+ params: ListHistoryWorkspacesParams;
43
+ result: ListHistoryWorkspacesResult;
44
+ };
45
+ "list-workspace-history": {
46
+ params: ListWorkspaceHistoryParams;
47
+ result: WorkspaceHistoryPage;
48
+ };
48
49
  "delete-session": {
49
50
  params: {
50
- historyId: string;
51
- workspace?: string;
52
- profile?: string;
51
+ identity: PersistenceIdentity;
53
52
  };
54
53
  result: {
55
54
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"data-rpc.d.ts","sourceRoot":"","sources":["../../src/protocol/data-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,WAAW,GACX,UAAU,GACV,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,UAAU,CAAC;AAEf,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,gBAAgB,EAAE;QAChB,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACpE,MAAM,EAAE,eAAe,CAAC;KACzB,CAAC;IACF,cAAc,EAAE;QACd,MAAM,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5E,MAAM,EAAE,WAAW,CAAC;KACrB,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACpE,MAAM,EAAE;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE,CAAC;KACtB,CAAC;IACF,iBAAiB,EAAE;QACjB,MAAM,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7B,MAAM,EAAE,sBAAsB,EAAE,CAAC;KAClC,CAAC;IACF,kBAAkB,EAAE;QAClB,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1D,MAAM,EAAE,sBAAsB,CAAC;KAChC,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,EAAE,cAAc,EAAE,CAAC;KAC1B,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,EAAE,qBAAqB,EAAE,CAAC;KACjC,CAAC;IACF,cAAc,EAAE;QACd,MAAM,EAAE,gBAAgB,CAAC;QACzB,MAAM,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,EAAE;QACjB,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;KACpC,CAAC;IACF,sBAAsB,EAAE;QACtB,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;KACpC,CAAC;IACF,mBAAmB,EAAE;QACnB,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,uBAAuB,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtF,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;KACpC,CAAC;IACF,qBAAqB,EAAE;QACrB,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;KACpC,CAAC;IACF,kBAAkB,EAAE;QAClB,MAAM,EAAE,oBAAoB,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,MAAM,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;KACtD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC;AAChD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"data-rpc.d.ts","sourceRoot":"","sources":["../../src/protocol/data-rpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function sanitizeHistoryDisplayText(value: string): string;
2
+ export declare function normalizeHistoryText(value: string): string;
3
+ export declare function escapeLikeLiteral(value: string): string;
4
+ //# sourceMappingURL=history-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-text.d.ts","sourceRoot":"","sources":["../../src/protocol/history-text.ts"],"names":[],"mappings":"AAsEA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -1,5 +1,6 @@
1
1
  export * from "./daemon-directory.ts";
2
2
  export * from "./data-rpc.ts";
3
+ export * from "./history-text.ts";
3
4
  export * from "./model-identity.ts";
4
5
  export * from "./types.ts";
5
6
  export * from "./version.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -1,9 +1,13 @@
1
1
  import {
2
- modelNameFromIdentity
3
- } from "../chunk-7HGJO7ZX.js";
2
+ escapeLikeLiteral,
3
+ modelNameFromIdentity,
4
+ normalizeHistoryText,
5
+ providerFromIdentity,
6
+ sanitizeHistoryDisplayText
7
+ } from "../chunk-7LEIACBZ.js";
4
8
  import {
5
9
  PROTOCOL_VERSION
6
- } from "../chunk-WB4FEWBI.js";
10
+ } from "../chunk-3CVYVANJ.js";
7
11
  import {
8
12
  GRANT_CAPABILITIES,
9
13
  PROVIDER_SURFACE_IDS
@@ -12,5 +16,9 @@ export {
12
16
  GRANT_CAPABILITIES,
13
17
  PROTOCOL_VERSION,
14
18
  PROVIDER_SURFACE_IDS,
15
- modelNameFromIdentity
19
+ escapeLikeLiteral,
20
+ modelNameFromIdentity,
21
+ normalizeHistoryText,
22
+ providerFromIdentity,
23
+ sanitizeHistoryDisplayText
16
24
  };
@@ -4,4 +4,11 @@
4
4
  * separator — remaining colons belong to the model id (e.g. `model:variant`).
5
5
  */
6
6
  export declare function modelNameFromIdentity(modelIdentity: string): string;
7
+ /**
8
+ * Project a qualified model identity (`provider:model`) up to its provider
9
+ * name. Returns `undefined` for provider-less identities (bare `model` and
10
+ * provider-less `:model:variant`). Mirrors {@link modelNameFromIdentity}: only
11
+ * the first colon is the separator.
12
+ */
13
+ export declare function providerFromIdentity(modelIdentity: string): string | undefined;
7
14
  //# sourceMappingURL=model-identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-identity.d.ts","sourceRoot":"","sources":["../../src/protocol/model-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGnE"}
1
+ {"version":3,"file":"model-identity.d.ts","sourceRoot":"","sources":["../../src/protocol/model-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI9E"}