@gencode/shared 0.0.11 → 0.0.13

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.
@@ -102,6 +102,15 @@ export type AgentProgressEvent = (AgentProgressEventBase & {
102
102
  }) | (AgentProgressEventBase & {
103
103
  type: "title_updated";
104
104
  title: string;
105
+ }) | (AgentProgressEventBase & {
106
+ type: "ui_tool_request";
107
+ request: import("./ui-tool.js").UiToolRequest;
108
+ }) | (AgentProgressEventBase & {
109
+ type: "ui_tool_result";
110
+ requestId: string;
111
+ toolCallId: string;
112
+ toolName: string;
113
+ values: Record<string, unknown>;
105
114
  }) | AgentDiagnosticEvent;
106
115
  export declare function isAgentDiagnosticEvent(event: AgentProgressEvent): event is AgentDiagnosticEvent;
107
116
  //# sourceMappingURL=agent-progress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-progress.d.ts","sourceRoot":"","sources":["../src/agent-progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-progress.d.ts","sourceRoot":"","sources":["../src/agent-progress.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-progress.js","sourceRoot":"","sources":["../src/agent-progress.ts"],"names":[],"mappings":"AA8GA,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"agent-progress.js","sourceRoot":"","sources":["../src/agent-progress.ts"],"names":[],"mappings":"AA0HA,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,CAAC"}
package/dist/hitl.d.ts CHANGED
@@ -171,10 +171,35 @@ export type HitlHistoryEntry = {
171
171
  /** ISO-8601 timestamp of this log entry. */
172
172
  timestamp: string;
173
173
  };
174
+ /**
175
+ * The canonical set of tool names that are dedicated HITL interaction tools.
176
+ * Tools in this set are expected to produce transcript entries (assistant tool
177
+ * call + tool result) that form the human-interaction record. Tools NOT in
178
+ * this set (e.g. "exec", "apply_patch") may throw `HitlPauseSignal` for
179
+ * safety approvals, but their pauses should be transparent — no HITL artefacts
180
+ * should appear in the transcript.
181
+ */
182
+ export declare const HITL_TOOL_NAMES: ReadonlySet<string>;
183
+ /** Returns true when the tool name is a dedicated HITL interaction tool. */
184
+ export declare function isHitlTool(toolName: string): boolean;
174
185
  /** Type-guard: check whether a PausedRunState is still actionable. */
175
186
  export declare function isHitlPending(state: PausedRunState): boolean;
176
187
  /** Type-guard: check whether a PausedRunState has been resolved. */
177
188
  export declare function isHitlResolved(state: PausedRunState): boolean;
178
189
  /** Check whether a HITL request has expired based on its `expiresAt` field. */
179
190
  export declare function isHitlExpired(request: HitlRequest, now?: Date): boolean;
191
+ /**
192
+ * Parses a plain-text user response into a structured `HitlResolution`.
193
+ *
194
+ * This is designed for IM channels (快乐平安 IM, etc.) that cannot render
195
+ * rich UI components. The user simply replies with text like "同意", "拒绝",
196
+ * or free-form feedback.
197
+ *
198
+ * Matching logic:
199
+ * 1. If the text matches a choice label or known synonym → `action: "submit"` with that choice.
200
+ * 2. If the request accepts free text and no choice matched → `action: "submit"` with text value.
201
+ * 3. If the text looks like a cancellation keyword → `action: "cancel"`.
202
+ * 4. Otherwise → `action: "submit"` with text value (fallback to free text).
203
+ */
204
+ export declare function parseTextToResolution(text: string, request: HitlRequest): HitlResolution;
180
205
  //# sourceMappingURL=hitl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../src/hitl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../src/hitl.ts"],"names":[],"mappings":"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"}
package/dist/hitl.js CHANGED
@@ -14,6 +14,23 @@
14
14
  * 4. A single HitlRequest model covers approval / clarify / review.
15
15
  */
16
16
  // ─── Helpers ─────────────────────────────────────────────────────────────────
17
+ /**
18
+ * The canonical set of tool names that are dedicated HITL interaction tools.
19
+ * Tools in this set are expected to produce transcript entries (assistant tool
20
+ * call + tool result) that form the human-interaction record. Tools NOT in
21
+ * this set (e.g. "exec", "apply_patch") may throw `HitlPauseSignal` for
22
+ * safety approvals, but their pauses should be transparent — no HITL artefacts
23
+ * should appear in the transcript.
24
+ */
25
+ export const HITL_TOOL_NAMES = new Set([
26
+ "request_approval",
27
+ "clarify",
28
+ "request_review",
29
+ ]);
30
+ /** Returns true when the tool name is a dedicated HITL interaction tool. */
31
+ export function isHitlTool(toolName) {
32
+ return HITL_TOOL_NAMES.has(toolName);
33
+ }
17
34
  /** Type-guard: check whether a PausedRunState is still actionable. */
18
35
  export function isHitlPending(state) {
19
36
  return state.status === "pending";
@@ -28,4 +45,128 @@ export function isHitlExpired(request, now = new Date()) {
28
45
  return false;
29
46
  return now >= new Date(request.expiresAt);
30
47
  }
48
+ // ─── Text-based resolution parsing ──────────────────────────────────────────
49
+ /**
50
+ * Synonyms for approval / denial / revision / rejection / cancellation actions,
51
+ * used by IM channels that can only send plain text.
52
+ */
53
+ const HITL_ACTION_SYNONYMS = new Map([
54
+ ["同意", "approve"],
55
+ ["批准", "approve"],
56
+ ["通过", "approve"],
57
+ ["允许", "approve"],
58
+ ["好的", "approve"],
59
+ ["好", "approve"],
60
+ ["可以", "approve"],
61
+ ["确认", "approve"],
62
+ ["ok", "approve"],
63
+ ["yes", "approve"],
64
+ ["approve", "approve"],
65
+ ["y", "approve"],
66
+ ["拒绝", "deny"],
67
+ ["不同意", "deny"],
68
+ ["不行", "deny"],
69
+ ["不可以", "deny"],
70
+ ["否决", "deny"],
71
+ ["no", "deny"],
72
+ ["deny", "deny"],
73
+ ["n", "deny"],
74
+ ["取消", "cancel"],
75
+ ["cancel", "cancel"],
76
+ ["需要修改", "revise"],
77
+ ["修改", "revise"],
78
+ ["revise", "revise"],
79
+ ["reject", "reject"],
80
+ ]);
81
+ /**
82
+ * Attempts to match user-provided plain text against the choices defined in
83
+ * a HitlRequest. Matching is performed in order:
84
+ * 1. Exact label match (case-insensitive)
85
+ * 2. Exact choice ID match (case-insensitive)
86
+ * 3. Synonym table lookup via `HITL_ACTION_SYNONYMS`
87
+ *
88
+ * @param text - The user's plain text input (already trimmed).
89
+ * @param request - The HitlRequest containing the choice definitions.
90
+ * @returns The matched choice ID, or `null` if no match is found.
91
+ */
92
+ function matchTextToChoice(text, request) {
93
+ const trimmed = text.trim().toLowerCase();
94
+ if (!trimmed)
95
+ return null;
96
+ // 1. Direct match on choice labels (case-insensitive)
97
+ if (request.input.mode === "choice") {
98
+ for (const choice of request.input.choices) {
99
+ if (choice.label.toLowerCase() === trimmed)
100
+ return choice.id;
101
+ if (choice.id.toLowerCase() === trimmed)
102
+ return choice.id;
103
+ }
104
+ }
105
+ // 2. Synonym table
106
+ const synonym = HITL_ACTION_SYNONYMS.get(trimmed);
107
+ if (synonym && request.input.mode === "choice") {
108
+ const matched = request.input.choices.find((c) => c.id === synonym);
109
+ if (matched)
110
+ return matched.id;
111
+ }
112
+ return null;
113
+ }
114
+ /**
115
+ * Parses a plain-text user response into a structured `HitlResolution`.
116
+ *
117
+ * This is designed for IM channels (快乐平安 IM, etc.) that cannot render
118
+ * rich UI components. The user simply replies with text like "同意", "拒绝",
119
+ * or free-form feedback.
120
+ *
121
+ * Matching logic:
122
+ * 1. If the text matches a choice label or known synonym → `action: "submit"` with that choice.
123
+ * 2. If the request accepts free text and no choice matched → `action: "submit"` with text value.
124
+ * 3. If the text looks like a cancellation keyword → `action: "cancel"`.
125
+ * 4. Otherwise → `action: "submit"` with text value (fallback to free text).
126
+ */
127
+ export function parseTextToResolution(text, request) {
128
+ const trimmed = text.trim();
129
+ const now = new Date().toISOString();
130
+ // Check for cancel
131
+ const cancelKeywords = ["取消", "cancel"];
132
+ if (cancelKeywords.includes(trimmed.toLowerCase())) {
133
+ return {
134
+ requestId: request.requestId,
135
+ sessionId: request.sessionId,
136
+ action: "cancel",
137
+ submittedAt: now,
138
+ };
139
+ }
140
+ // Try to match against choices
141
+ const matchedChoiceId = matchTextToChoice(trimmed, request);
142
+ if (matchedChoiceId) {
143
+ return {
144
+ requestId: request.requestId,
145
+ sessionId: request.sessionId,
146
+ action: "submit",
147
+ values: { selectedChoiceIds: [matchedChoiceId] },
148
+ submittedAt: now,
149
+ };
150
+ }
151
+ // Free text input — either the input mode accepts it, or we fall back
152
+ const allowsFreeText = request.input.mode === "text" ||
153
+ (request.input.mode === "choice" && request.input.allowFreeText === true);
154
+ if (allowsFreeText || request.input.mode === "form") {
155
+ return {
156
+ requestId: request.requestId,
157
+ sessionId: request.sessionId,
158
+ action: "submit",
159
+ values: { text: trimmed },
160
+ submittedAt: now,
161
+ };
162
+ }
163
+ // Last resort for choice-only: treat as free text anyway since IM has no UI
164
+ return {
165
+ requestId: request.requestId,
166
+ sessionId: request.sessionId,
167
+ action: "submit",
168
+ values: { text: trimmed },
169
+ submittedAt: now,
170
+ };
171
+ }
31
172
  //# sourceMappingURL=hitl.js.map
package/dist/hitl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.js","sourceRoot":"","sources":["../src/hitl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgMH,gFAAgF;AAEhF,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,KAAqB;IACjD,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;AACpC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;AACrC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,MAAY,IAAI,IAAI,EAAE;IACxE,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"hitl.js","sourceRoot":"","sources":["../src/hitl.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export { isAgentDiagnosticEvent } from "./agent-progress.js";
5
5
  export type { AgentCustomProgressEvent, AgentDiagnosticEvent, AgentDiagnosticLevel, AgentDiagnosticScope, AgentProgressEvent, AgentProgressEventBase, } from "./agent-progress.js";
6
6
  export type { CallbackEventPayload, Channel, RunResultPayload, StreamEnvelope, StreamEventName, } from "./run-events.js";
7
7
  export type { CollapseSpan, CompressionLayer, ContextCompactionState, ReadStateRecord, SessionMemorySnapshot, SessionContextSnapshot, SnipRecord, ToolResultReference, ToolResultBudgetRecord, } from "./context-protocol.js";
8
- export { isHitlPending, isHitlResolved, isHitlExpired } from "./hitl.js";
8
+ export { isHitlPending, isHitlResolved, isHitlExpired, isHitlTool, HITL_TOOL_NAMES, parseTextToResolution } from "./hitl.js";
9
9
  export type { HitlKind, HitlChoice, HitlChoiceInput, HitlTextInput, HitlFormInput, HitlInputSchema, HitlPreview, HitlPolicy, HitlRequest, HitlResolution, HitlCheckpointPhase, HitlCheckpoint, HitlToolContext, HitlStatus, PausedRunState, HitlHistoryEntry, } from "./hitl.js";
10
+ export { validateUiToolResult } from "./ui-tool.js";
11
+ export type { UiToolUiExtension, UiToolFieldType, UiToolFieldSchema, UiToolSchema, UiToolRequest, UiToolResult, UiToolPendingStatus, UiToolPausedState, UiToolValidationError, UiToolValidationResult, } from "./ui-tool.js";
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,gBAAgB,GACjB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC7H,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -3,5 +3,7 @@
3
3
  */
4
4
  export { isAgentDiagnosticEvent } from "./agent-progress.js";
5
5
  // HITL protocol types
6
- export { isHitlPending, isHitlResolved, isHitlExpired } from "./hitl.js";
6
+ export { isHitlPending, isHitlResolved, isHitlExpired, isHitlTool, HITL_TOOL_NAMES, parseTextToResolution } from "./hitl.js";
7
+ // UI Tool protocol types
8
+ export { validateUiToolResult } from "./ui-tool.js";
7
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA4B7D,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA4B7D,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAoB7H,yBAAyB;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentProgressEvent } from "./agent-progress.js";
2
2
  import type { HitlKind, HitlRequest } from "./hitl.js";
3
+ import type { UiToolSchema, UiToolUiExtension } from "./ui-tool.js";
3
4
  export type Channel = "H5" | "WEB" | "KLPA" | "TASK" | "CRON" | "EIP_ASSISTANT" | (string & {});
4
5
  type EventEnvelopeBase = {
5
6
  sessionId: string;
@@ -21,6 +22,13 @@ export type RunResultPayload = {
21
22
  kind: HitlKind;
22
23
  title: string;
23
24
  };
25
+ uiToolPending?: {
26
+ requestId: string;
27
+ toolName: string;
28
+ toolCallId: string;
29
+ schema: UiToolSchema;
30
+ uiExtension?: UiToolUiExtension;
31
+ };
24
32
  context?: {
25
33
  snapshotPath: string;
26
34
  toolResultsDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../src/run-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../src/run-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * UI Tool protocol types for AIMax.
3
+ *
4
+ * UI Tools are a special category of agent tools that, when invoked by the LLM,
5
+ * immediately pause the agent loop and request structured user input through
6
+ * a front-end rendered form. Unlike HITL, UI tools are lightweight and do not
7
+ * persist pause state to disk — the interrupt is transient and resolved within
8
+ * the same CLI invocation when the user submits data.
9
+ *
10
+ * Design:
11
+ * 1. The agent calls a registered UI tool.
12
+ * 2. The tool execution returns a UiToolPauseSignal (thrown as an error).
13
+ * 3. The runner catches the signal, emits `ui_tool_request` progress event,
14
+ * and ends the current run with a `uiToolPending` marker.
15
+ * 4. The front-end renders the form described by `UiToolSchema`.
16
+ * 5. On user submit, the CLI is re-invoked with the UI tool result.
17
+ * 6. The result is validated against the schema (or custom validator),
18
+ * written as a `tool_result` entry in the transcript, and the agent
19
+ * loop resumes.
20
+ */
21
+ /** Supported primitive field types for UI tool forms. */
22
+ export type UiToolFieldType = "string" | "number" | "boolean" | "date" | "select" | "multiselect" | "textarea" | "file";
23
+ /** Describes a single field in a UI tool form. */
24
+ export type UiToolFieldSchema = {
25
+ /** Machine-readable field key (used in the submitted values object). */
26
+ name: string;
27
+ /** Human-readable label rendered next to the input. */
28
+ label: string;
29
+ /** The input type. */
30
+ type: UiToolFieldType;
31
+ /** Whether the field is required (defaults to false). */
32
+ required?: boolean;
33
+ /** Placeholder text shown inside the input. */
34
+ placeholder?: string;
35
+ /** Help text / description shown below the field. */
36
+ description?: string;
37
+ /** Default value for the field. */
38
+ defaultValue?: unknown;
39
+ /** For "select" / "multiselect": the available options. */
40
+ options?: Array<{
41
+ value: string;
42
+ label: string;
43
+ }>;
44
+ /** JSON-Schema-style validation hints (e.g. minLength, pattern). */
45
+ validation?: Record<string, unknown>;
46
+ };
47
+ /** Describes the full form that the front-end should render. */
48
+ export type UiToolSchema = {
49
+ /** Short title displayed at the top of the form dialog. */
50
+ title: string;
51
+ /** Optional longer description / instructions. */
52
+ description?: string;
53
+ /** Ordered list of fields. */
54
+ fields: UiToolFieldSchema[];
55
+ };
56
+ /** Optional JSON-safe payload for highly custom front-end rendering. */
57
+ export type UiToolUiExtension = Record<string, unknown>;
58
+ /** Emitted as a progress event when a UI tool is invoked. */
59
+ export type UiToolRequest = {
60
+ /** Unique request identifier (UUID). */
61
+ requestId: string;
62
+ /** Session that produced this request. */
63
+ sessionId: string;
64
+ /** The tool name that triggered the UI. */
65
+ toolName: string;
66
+ /** The tool call ID from the LLM. */
67
+ toolCallId: string;
68
+ /** The form schema for the front-end. */
69
+ schema: UiToolSchema;
70
+ /** Optional custom rendering payload for front-end integrations. */
71
+ uiExtension?: UiToolUiExtension;
72
+ /** ISO-8601 creation timestamp. */
73
+ createdAt: string;
74
+ };
75
+ /** User-submitted result for a UI tool request. */
76
+ export type UiToolResult = {
77
+ /** Must match the original `UiToolRequest.requestId`. */
78
+ requestId: string;
79
+ /** Must match the original session. */
80
+ sessionId: string;
81
+ /** The tool call ID to which this result corresponds. */
82
+ toolCallId: string;
83
+ /** The tool name. */
84
+ toolName: string;
85
+ /** Submitted field values keyed by field name. */
86
+ values: Record<string, unknown>;
87
+ /** ISO-8601 submission timestamp. */
88
+ submittedAt: string;
89
+ };
90
+ /** Persisted status for a pending UI tool request. */
91
+ export type UiToolPendingStatus = "pending" | "resolved";
92
+ /** Persisted UI tool pause state written into the session directory. */
93
+ export type UiToolPausedState = {
94
+ /** Schema version for forward-compatibility. */
95
+ version: 1;
96
+ /** Session identifier. */
97
+ sessionId: string;
98
+ /** Original UI tool request metadata. */
99
+ request: UiToolRequest;
100
+ /** Current lifecycle status. */
101
+ status: UiToolPendingStatus;
102
+ /** Present once the user has submitted the form. */
103
+ result?: UiToolResult;
104
+ /** ISO-8601 creation timestamp. */
105
+ createdAt: string;
106
+ /** ISO-8601 last-update timestamp. */
107
+ updatedAt: string;
108
+ };
109
+ /** A single validation error for a specific field. */
110
+ export type UiToolValidationError = {
111
+ field: string;
112
+ message: string;
113
+ };
114
+ /** Result of validating a UI tool submission. */
115
+ export type UiToolValidationResult = {
116
+ valid: true;
117
+ } | {
118
+ valid: false;
119
+ errors: UiToolValidationError[];
120
+ };
121
+ /**
122
+ * Validates submitted values against a UiToolSchema using built-in rules.
123
+ *
124
+ * This performs structural validation: required-field checks, type checks,
125
+ * and select-option membership. Callers can layer custom validators on top.
126
+ */
127
+ export declare function validateUiToolResult(schema: UiToolSchema, values: Record<string, unknown>): UiToolValidationResult;
128
+ //# sourceMappingURL=ui-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-tool.d.ts","sourceRoot":"","sources":["../src/ui-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * UI Tool protocol types for AIMax.
3
+ *
4
+ * UI Tools are a special category of agent tools that, when invoked by the LLM,
5
+ * immediately pause the agent loop and request structured user input through
6
+ * a front-end rendered form. Unlike HITL, UI tools are lightweight and do not
7
+ * persist pause state to disk — the interrupt is transient and resolved within
8
+ * the same CLI invocation when the user submits data.
9
+ *
10
+ * Design:
11
+ * 1. The agent calls a registered UI tool.
12
+ * 2. The tool execution returns a UiToolPauseSignal (thrown as an error).
13
+ * 3. The runner catches the signal, emits `ui_tool_request` progress event,
14
+ * and ends the current run with a `uiToolPending` marker.
15
+ * 4. The front-end renders the form described by `UiToolSchema`.
16
+ * 5. On user submit, the CLI is re-invoked with the UI tool result.
17
+ * 6. The result is validated against the schema (or custom validator),
18
+ * written as a `tool_result` entry in the transcript, and the agent
19
+ * loop resumes.
20
+ */
21
+ /**
22
+ * Validates submitted values against a UiToolSchema using built-in rules.
23
+ *
24
+ * This performs structural validation: required-field checks, type checks,
25
+ * and select-option membership. Callers can layer custom validators on top.
26
+ */
27
+ export function validateUiToolResult(schema, values) {
28
+ const errors = [];
29
+ for (const field of schema.fields) {
30
+ const value = values[field.name];
31
+ // Required check: empty string is only considered missing for string-like types
32
+ if (field.required) {
33
+ const isStringLike = field.type === "string" || field.type === "textarea" || field.type === "date" || field.type === "select" || field.type === "file";
34
+ const isMissing = value === undefined || value === null || (isStringLike && value === "");
35
+ if (isMissing) {
36
+ errors.push({ field: field.name, message: `Field "${field.label}" is required.` });
37
+ continue;
38
+ }
39
+ }
40
+ // Skip further checks if the value is absent and not required
41
+ if (value === undefined || value === null) {
42
+ continue;
43
+ }
44
+ // Type checks
45
+ switch (field.type) {
46
+ case "string":
47
+ case "textarea":
48
+ case "date":
49
+ if (typeof value !== "string") {
50
+ errors.push({ field: field.name, message: `Field "${field.label}" must be a string.` });
51
+ }
52
+ break;
53
+ case "number":
54
+ if (typeof value !== "number" || Number.isNaN(value)) {
55
+ errors.push({ field: field.name, message: `Field "${field.label}" must be a number.` });
56
+ }
57
+ break;
58
+ case "boolean":
59
+ if (typeof value !== "boolean") {
60
+ errors.push({ field: field.name, message: `Field "${field.label}" must be a boolean.` });
61
+ }
62
+ break;
63
+ case "select":
64
+ if (typeof value !== "string") {
65
+ errors.push({ field: field.name, message: `Field "${field.label}" must be a string.` });
66
+ }
67
+ else if (field.options && !field.options.some((opt) => opt.value === value)) {
68
+ errors.push({
69
+ field: field.name,
70
+ message: `Field "${field.label}" has an invalid option "${value}".`,
71
+ });
72
+ }
73
+ break;
74
+ case "multiselect":
75
+ if (!Array.isArray(value)) {
76
+ errors.push({ field: field.name, message: `Field "${field.label}" must be an array.` });
77
+ }
78
+ else if (field.options) {
79
+ const validValues = new Set(field.options.map((opt) => opt.value));
80
+ for (const item of value) {
81
+ if (typeof item !== "string" || !validValues.has(item)) {
82
+ errors.push({
83
+ field: field.name,
84
+ message: `Field "${field.label}" contains invalid option "${String(item)}".`,
85
+ });
86
+ break;
87
+ }
88
+ }
89
+ }
90
+ break;
91
+ case "file":
92
+ if (typeof value !== "string") {
93
+ errors.push({ field: field.name, message: `Field "${field.label}" must be a string (file path or data URI).` });
94
+ }
95
+ break;
96
+ }
97
+ }
98
+ return errors.length === 0 ? { valid: true } : { valid: false, errors };
99
+ }
100
+ //# sourceMappingURL=ui-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-tool.js","sourceRoot":"","sources":["../src/ui-tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gencode/shared",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./config": {