@gencode/uni 0.2.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.
Files changed (147) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +50 -0
  3. package/dist/shared/src/agent-progress.d.ts +133 -0
  4. package/dist/shared/src/agent-progress.d.ts.map +1 -0
  5. package/dist/shared/src/agent-progress.js +4 -0
  6. package/dist/shared/src/agent-progress.js.map +1 -0
  7. package/dist/shared/src/context-protocol.d.ts +83 -0
  8. package/dist/shared/src/context-protocol.d.ts.map +1 -0
  9. package/dist/shared/src/context-protocol.js +2 -0
  10. package/dist/shared/src/context-protocol.js.map +1 -0
  11. package/dist/shared/src/goal.d.ts +50 -0
  12. package/dist/shared/src/goal.d.ts.map +1 -0
  13. package/dist/shared/src/goal.js +11 -0
  14. package/dist/shared/src/goal.js.map +1 -0
  15. package/dist/shared/src/hitl.d.ts +214 -0
  16. package/dist/shared/src/hitl.d.ts.map +1 -0
  17. package/dist/shared/src/hitl.js +205 -0
  18. package/dist/shared/src/hitl.js.map +1 -0
  19. package/dist/shared/src/index.d.ts +16 -0
  20. package/dist/shared/src/index.d.ts.map +1 -0
  21. package/dist/shared/src/index.js +12 -0
  22. package/dist/shared/src/index.js.map +1 -0
  23. package/dist/shared/src/run-events.d.ts +129 -0
  24. package/dist/shared/src/run-events.d.ts.map +1 -0
  25. package/dist/shared/src/run-events.js +2 -0
  26. package/dist/shared/src/run-events.js.map +1 -0
  27. package/dist/shared/src/session.d.ts +37 -0
  28. package/dist/shared/src/session.d.ts.map +1 -0
  29. package/dist/shared/src/session.js +2 -0
  30. package/dist/shared/src/session.js.map +1 -0
  31. package/dist/shared/src/task-display.d.ts +3 -0
  32. package/dist/shared/src/task-display.d.ts.map +1 -0
  33. package/dist/shared/src/task-display.js +41 -0
  34. package/dist/shared/src/task-display.js.map +1 -0
  35. package/dist/shared/src/ui-tool.d.ts +94 -0
  36. package/dist/shared/src/ui-tool.d.ts.map +1 -0
  37. package/dist/shared/src/ui-tool.js +39 -0
  38. package/dist/shared/src/ui-tool.js.map +1 -0
  39. package/dist/uni/src/auth/api-key.d.ts +3 -0
  40. package/dist/uni/src/auth/api-key.d.ts.map +1 -0
  41. package/dist/uni/src/auth/api-key.js +8 -0
  42. package/dist/uni/src/auth/api-key.js.map +1 -0
  43. package/dist/uni/src/bin.d.ts +3 -0
  44. package/dist/uni/src/bin.d.ts.map +1 -0
  45. package/dist/uni/src/bin.js +4 -0
  46. package/dist/uni/src/bin.js.map +1 -0
  47. package/dist/uni/src/events/normalizer.d.ts +4 -0
  48. package/dist/uni/src/events/normalizer.d.ts.map +1 -0
  49. package/dist/uni/src/events/normalizer.js +72 -0
  50. package/dist/uni/src/events/normalizer.js.map +1 -0
  51. package/dist/uni/src/events/provider-events.d.ts +8 -0
  52. package/dist/uni/src/events/provider-events.d.ts.map +1 -0
  53. package/dist/uni/src/events/provider-events.js +317 -0
  54. package/dist/uni/src/events/provider-events.js.map +1 -0
  55. package/dist/uni/src/hooks.d.ts +8 -0
  56. package/dist/uni/src/hooks.d.ts.map +1 -0
  57. package/dist/uni/src/hooks.js +13 -0
  58. package/dist/uni/src/hooks.js.map +1 -0
  59. package/dist/uni/src/index.d.ts +10 -0
  60. package/dist/uni/src/index.d.ts.map +1 -0
  61. package/dist/uni/src/index.js +8 -0
  62. package/dist/uni/src/index.js.map +1 -0
  63. package/dist/uni/src/program.d.ts +3 -0
  64. package/dist/uni/src/program.d.ts.map +1 -0
  65. package/dist/uni/src/program.js +140 -0
  66. package/dist/uni/src/program.js.map +1 -0
  67. package/dist/uni/src/providers/acp.d.ts +3 -0
  68. package/dist/uni/src/providers/acp.d.ts.map +1 -0
  69. package/dist/uni/src/providers/acp.js +33 -0
  70. package/dist/uni/src/providers/acp.js.map +1 -0
  71. package/dist/uni/src/providers/claude-code.d.ts +3 -0
  72. package/dist/uni/src/providers/claude-code.d.ts.map +1 -0
  73. package/dist/uni/src/providers/claude-code.js +87 -0
  74. package/dist/uni/src/providers/claude-code.js.map +1 -0
  75. package/dist/uni/src/providers/codex.d.ts +3 -0
  76. package/dist/uni/src/providers/codex.d.ts.map +1 -0
  77. package/dist/uni/src/providers/codex.js +71 -0
  78. package/dist/uni/src/providers/codex.js.map +1 -0
  79. package/dist/uni/src/providers/opencode.d.ts +3 -0
  80. package/dist/uni/src/providers/opencode.d.ts.map +1 -0
  81. package/dist/uni/src/providers/opencode.js +47 -0
  82. package/dist/uni/src/providers/opencode.js.map +1 -0
  83. package/dist/uni/src/providers/pi.d.ts +3 -0
  84. package/dist/uni/src/providers/pi.d.ts.map +1 -0
  85. package/dist/uni/src/providers/pi.js +42 -0
  86. package/dist/uni/src/providers/pi.js.map +1 -0
  87. package/dist/uni/src/providers/registry.d.ts +3 -0
  88. package/dist/uni/src/providers/registry.d.ts.map +1 -0
  89. package/dist/uni/src/providers/registry.js +25 -0
  90. package/dist/uni/src/providers/registry.js.map +1 -0
  91. package/dist/uni/src/providers/spawned-provider.d.ts +22 -0
  92. package/dist/uni/src/providers/spawned-provider.d.ts.map +1 -0
  93. package/dist/uni/src/providers/spawned-provider.js +109 -0
  94. package/dist/uni/src/providers/spawned-provider.js.map +1 -0
  95. package/dist/uni/src/providers/types.d.ts +6 -0
  96. package/dist/uni/src/providers/types.d.ts.map +1 -0
  97. package/dist/uni/src/providers/types.js +2 -0
  98. package/dist/uni/src/providers/types.js.map +1 -0
  99. package/dist/uni/src/run.d.ts +3 -0
  100. package/dist/uni/src/run.d.ts.map +1 -0
  101. package/dist/uni/src/run.js +446 -0
  102. package/dist/uni/src/run.js.map +1 -0
  103. package/dist/uni/src/runtime-config.d.ts +40 -0
  104. package/dist/uni/src/runtime-config.d.ts.map +1 -0
  105. package/dist/uni/src/runtime-config.js +203 -0
  106. package/dist/uni/src/runtime-config.js.map +1 -0
  107. package/dist/uni/src/session/input.d.ts +3 -0
  108. package/dist/uni/src/session/input.d.ts.map +1 -0
  109. package/dist/uni/src/session/input.js +147 -0
  110. package/dist/uni/src/session/input.js.map +1 -0
  111. package/dist/uni/src/session/logger.d.ts +16 -0
  112. package/dist/uni/src/session/logger.d.ts.map +1 -0
  113. package/dist/uni/src/session/logger.js +66 -0
  114. package/dist/uni/src/session/logger.js.map +1 -0
  115. package/dist/uni/src/session/session-state.d.ts +19 -0
  116. package/dist/uni/src/session/session-state.d.ts.map +1 -0
  117. package/dist/uni/src/session/session-state.js +13 -0
  118. package/dist/uni/src/session/session-state.js.map +1 -0
  119. package/dist/uni/src/session/session-store.d.ts +23 -0
  120. package/dist/uni/src/session/session-store.d.ts.map +1 -0
  121. package/dist/uni/src/session/session-store.js +36 -0
  122. package/dist/uni/src/session/session-store.js.map +1 -0
  123. package/dist/uni/src/transports/composite-sink.d.ts +9 -0
  124. package/dist/uni/src/transports/composite-sink.d.ts.map +1 -0
  125. package/dist/uni/src/transports/composite-sink.js +17 -0
  126. package/dist/uni/src/transports/composite-sink.js.map +1 -0
  127. package/dist/uni/src/transports/event-sink.d.ts +6 -0
  128. package/dist/uni/src/transports/event-sink.d.ts.map +1 -0
  129. package/dist/uni/src/transports/event-sink.js +2 -0
  130. package/dist/uni/src/transports/event-sink.js.map +1 -0
  131. package/dist/uni/src/transports/http-callback-sink.d.ts +9 -0
  132. package/dist/uni/src/transports/http-callback-sink.d.ts.map +1 -0
  133. package/dist/uni/src/transports/http-callback-sink.js +20 -0
  134. package/dist/uni/src/transports/http-callback-sink.js.map +1 -0
  135. package/dist/uni/src/transports/websocket-auth.d.ts +8 -0
  136. package/dist/uni/src/transports/websocket-auth.d.ts.map +1 -0
  137. package/dist/uni/src/transports/websocket-auth.js +9 -0
  138. package/dist/uni/src/transports/websocket-auth.js.map +1 -0
  139. package/dist/uni/src/transports/websocket-sink.d.ts +24 -0
  140. package/dist/uni/src/transports/websocket-sink.d.ts.map +1 -0
  141. package/dist/uni/src/transports/websocket-sink.js +205 -0
  142. package/dist/uni/src/transports/websocket-sink.js.map +1 -0
  143. package/dist/uni/src/types.d.ts +239 -0
  144. package/dist/uni/src/types.d.ts.map +1 -0
  145. package/dist/uni/src/types.js +2 -0
  146. package/dist/uni/src/types.js.map +1 -0
  147. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-sink.d.ts","sourceRoot":"","sources":["../../../../src/transports/event-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-sink.js","sourceRoot":"","sources":["../../../../src/transports/event-sink.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { CallbackEventPayload } from "@gencode/shared";
2
+ import type { EventSink } from "./event-sink.js";
3
+ export declare class HttpCallbackSink implements EventSink {
4
+ private readonly url;
5
+ constructor(url: string);
6
+ send(event: CallbackEventPayload): Promise<void>;
7
+ close(): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=http-callback-sink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-callback-sink.d.ts","sourceRoot":"","sources":["../../../../src/transports/http-callback-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,gBAAiB,YAAW,SAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAElC,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAchD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,20 @@
1
+ export class HttpCallbackSink {
2
+ url;
3
+ constructor(url) {
4
+ this.url = url;
5
+ }
6
+ async send(event) {
7
+ const response = await fetch(this.url, {
8
+ method: "POST",
9
+ headers: {
10
+ "content-type": "application/json",
11
+ },
12
+ body: JSON.stringify(event),
13
+ });
14
+ if (!response.ok) {
15
+ throw new Error(`Callback failed with status ${response.status}`);
16
+ }
17
+ }
18
+ async close() { }
19
+ }
20
+ //# sourceMappingURL=http-callback-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-callback-sink.js","sourceRoot":"","sources":["../../../../src/transports/http-callback-sink.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,KAAK,CAAC,IAAI,CAAC,KAA2B;QACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;CAChC"}
@@ -0,0 +1,8 @@
1
+ export type WebSocketAuthStrategy = {
2
+ kind: "none";
3
+ } | {
4
+ kind: "query_token";
5
+ token: string;
6
+ };
7
+ export declare function buildWebSocketConnectionUrl(url: string, auth: WebSocketAuthStrategy): string;
8
+ //# sourceMappingURL=websocket-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-auth.d.ts","sourceRoot":"","sources":["../../../../src/transports/websocket-auth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAQ5F"}
@@ -0,0 +1,9 @@
1
+ export function buildWebSocketConnectionUrl(url, auth) {
2
+ if (auth.kind === "none") {
3
+ return url;
4
+ }
5
+ const resolved = new URL(url);
6
+ resolved.searchParams.set("authToken", auth.token);
7
+ return resolved.toString();
8
+ }
9
+ //# sourceMappingURL=websocket-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-auth.js","sourceRoot":"","sources":["../../../../src/transports/websocket-auth.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,2BAA2B,CAAC,GAAW,EAAE,IAA2B;IAClF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { CallbackEventPayload, Channel, StreamEventName } from "@gencode/shared";
2
+ import type { EventSink } from "./event-sink.js";
3
+ export declare class WebSocketSink implements EventSink {
4
+ private readonly url;
5
+ private readonly events;
6
+ private readonly authToken?;
7
+ private socket;
8
+ private connectPromise;
9
+ private enabled;
10
+ private textSequence;
11
+ constructor(url: string, events: Set<StreamEventName>, authToken?: string | undefined);
12
+ send(event: CallbackEventPayload): Promise<void>;
13
+ sendTextDelta(params: {
14
+ sessionId: string;
15
+ channel: Channel;
16
+ messageId?: string;
17
+ user?: string;
18
+ text: string;
19
+ }): Promise<void>;
20
+ close(): Promise<void>;
21
+ private ensureConnected;
22
+ private toEnvelope;
23
+ }
24
+ //# sourceMappingURL=websocket-sink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-sink.d.ts","sourceRoot":"","sources":["../../../../src/transports/websocket-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA+DjD,qBAAa,aAAc,YAAW,SAAS;IAO3C,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAR7B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAK;gBAGN,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,YAAA;IAG/B,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD,aAAa,CAAC,MAAM,EAAE;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBd,eAAe;IAsC7B,OAAO,CAAC,UAAU;CAkDnB"}
@@ -0,0 +1,205 @@
1
+ import { buildWebSocketConnectionUrl } from "./websocket-auth.js";
2
+ function getWebSocketConstructor() {
3
+ const ctor = globalThis.WebSocket;
4
+ if (!ctor) {
5
+ throw new Error("WebSocket is not available in this runtime");
6
+ }
7
+ return ctor;
8
+ }
9
+ function resolveAuthStrategy(token) {
10
+ return token ? { kind: "query_token", token } : { kind: "none" };
11
+ }
12
+ function once(socket, event, listener) {
13
+ if (typeof socket.once === "function") {
14
+ socket.once(event, listener);
15
+ return;
16
+ }
17
+ if (typeof socket.addEventListener === "function" && typeof socket.removeEventListener === "function") {
18
+ const wrapped = (...args) => {
19
+ socket.removeEventListener?.(event, wrapped);
20
+ listener(...args);
21
+ };
22
+ socket.addEventListener(event, wrapped);
23
+ return;
24
+ }
25
+ throw new Error(`WebSocket does not support one-time listener registration for "${event}"`);
26
+ }
27
+ function on(socket, event, listener) {
28
+ if (typeof socket.on === "function") {
29
+ socket.on(event, listener);
30
+ return;
31
+ }
32
+ if (typeof socket.addEventListener === "function") {
33
+ socket.addEventListener(event, listener);
34
+ return;
35
+ }
36
+ throw new Error(`WebSocket does not support listener registration for "${event}"`);
37
+ }
38
+ export class WebSocketSink {
39
+ url;
40
+ events;
41
+ authToken;
42
+ socket = null;
43
+ connectPromise = null;
44
+ enabled = true;
45
+ textSequence = 0;
46
+ constructor(url, events, authToken) {
47
+ this.url = url;
48
+ this.events = events;
49
+ this.authToken = authToken;
50
+ }
51
+ async send(event) {
52
+ const envelope = this.toEnvelope(event);
53
+ if (!envelope || !this.enabled) {
54
+ return;
55
+ }
56
+ try {
57
+ await this.ensureConnected();
58
+ const WebSocketCtor = getWebSocketConstructor();
59
+ if (!this.socket || this.socket.readyState !== WebSocketCtor.OPEN) {
60
+ return;
61
+ }
62
+ this.socket.send(JSON.stringify(envelope));
63
+ }
64
+ catch {
65
+ this.enabled = false;
66
+ }
67
+ }
68
+ async sendTextDelta(params) {
69
+ if (!this.enabled || !this.events.has("text")) {
70
+ return;
71
+ }
72
+ this.textSequence += 1;
73
+ const envelope = {
74
+ type: "text",
75
+ sessionId: params.sessionId,
76
+ messageId: params.messageId,
77
+ channel: params.channel,
78
+ user: params.user,
79
+ timestamp: new Date().toISOString(),
80
+ sequence: this.textSequence,
81
+ delta: params.text,
82
+ };
83
+ try {
84
+ await this.ensureConnected();
85
+ const WebSocketCtor = getWebSocketConstructor();
86
+ if (!this.socket || this.socket.readyState !== WebSocketCtor.OPEN) {
87
+ return;
88
+ }
89
+ this.socket.send(JSON.stringify(envelope));
90
+ }
91
+ catch {
92
+ this.enabled = false;
93
+ }
94
+ }
95
+ async close() {
96
+ this.enabled = false;
97
+ const socket = this.socket;
98
+ this.socket = null;
99
+ this.connectPromise = null;
100
+ if (!socket) {
101
+ return;
102
+ }
103
+ const WebSocketCtor = getWebSocketConstructor();
104
+ if (socket.readyState === WebSocketCtor.CLOSED) {
105
+ return;
106
+ }
107
+ await new Promise((resolve) => {
108
+ once(socket, "close", () => resolve());
109
+ socket.close();
110
+ });
111
+ }
112
+ async ensureConnected() {
113
+ if (!this.enabled) {
114
+ return;
115
+ }
116
+ const WebSocketCtor = getWebSocketConstructor();
117
+ if (this.socket && this.socket.readyState === WebSocketCtor.OPEN) {
118
+ return;
119
+ }
120
+ if (this.connectPromise) {
121
+ await this.connectPromise;
122
+ return;
123
+ }
124
+ const connectionUrl = buildWebSocketConnectionUrl(this.url, resolveAuthStrategy(this.authToken));
125
+ const socket = new WebSocketCtor(connectionUrl);
126
+ this.connectPromise = new Promise((resolve, reject) => {
127
+ once(socket, "open", () => {
128
+ this.socket = socket;
129
+ on(socket, "close", () => {
130
+ if (this.socket === socket) {
131
+ this.socket = null;
132
+ }
133
+ });
134
+ resolve();
135
+ });
136
+ once(socket, "error", (err) => {
137
+ reject(err);
138
+ });
139
+ });
140
+ try {
141
+ await this.connectPromise;
142
+ }
143
+ finally {
144
+ this.connectPromise = null;
145
+ }
146
+ }
147
+ toEnvelope(event) {
148
+ const timestamp = new Date().toISOString();
149
+ switch (event.type) {
150
+ case "start":
151
+ if (!this.events.has("start"))
152
+ return null;
153
+ return { ...event, timestamp };
154
+ case "done":
155
+ if (!this.events.has("done"))
156
+ return null;
157
+ return { ...event, timestamp };
158
+ case "error":
159
+ if (!this.events.has("error"))
160
+ return null;
161
+ return { ...event, timestamp };
162
+ case "hitl":
163
+ if (!this.events.has("hitl"))
164
+ return null;
165
+ return { ...event, timestamp };
166
+ case "title_updated":
167
+ if (!this.events.has("title_updated"))
168
+ return null;
169
+ return { ...event, timestamp };
170
+ case "session_reset":
171
+ return null;
172
+ case "progress":
173
+ if (event.event.type === "text") {
174
+ if (!this.events.has("text"))
175
+ return null;
176
+ this.textSequence += 1;
177
+ return {
178
+ type: "text",
179
+ sessionId: event.sessionId,
180
+ messageId: event.messageId,
181
+ channel: event.channel,
182
+ user: event.user,
183
+ timestamp,
184
+ sequence: this.textSequence,
185
+ delta: event.event.text,
186
+ };
187
+ }
188
+ if (event.event.type === "stream_text_delta") {
189
+ return null;
190
+ }
191
+ if (!this.events.has("progress"))
192
+ return null;
193
+ return {
194
+ type: "progress",
195
+ sessionId: event.sessionId,
196
+ messageId: event.messageId,
197
+ channel: event.channel,
198
+ user: event.user,
199
+ timestamp,
200
+ event: event.event,
201
+ };
202
+ }
203
+ }
204
+ }
205
+ //# sourceMappingURL=websocket-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-sink.js","sourceRoot":"","sources":["../../../../src/transports/websocket-sink.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,239 @@
1
+ import type { AgentProgressEvent, CallbackEventPayload, Channel, RunResultPayload, StreamEventName } from "@gencode/shared";
2
+ export type UniRuntimeAgent = "claude-code" | "codex" | "opencode" | "pi" | "acp";
3
+ export type UniOutputFormat = "text" | "json";
4
+ export type UniProviderModelConfig = {
5
+ name?: string;
6
+ apiKey?: string;
7
+ baseUrl?: string;
8
+ model?: string;
9
+ thinking?: string;
10
+ env?: Record<string, string>;
11
+ codexWireApi?: string;
12
+ codexHttpHeaders?: Record<string, string>;
13
+ };
14
+ export type UniClaudeCodeConfig = {
15
+ cliPath?: string;
16
+ cliArgsFlag?: string;
17
+ mode?: "default" | "acceptEdits" | "plan" | "auto" | "bypassPermissions" | "dontAsk" | "yolo";
18
+ reasoningEffort?: "low" | "medium" | "high" | "max";
19
+ systemPrompt?: string;
20
+ allowedTools?: string[];
21
+ disallowedTools?: string[];
22
+ maxContextTokens?: number;
23
+ routerUrl?: string;
24
+ routerApiKey?: string;
25
+ env?: Record<string, string>;
26
+ provider?: UniProviderModelConfig;
27
+ };
28
+ export type UniCodexConfig = {
29
+ cliPath?: string;
30
+ mode?: "suggest" | "auto-edit" | "full-auto" | "yolo";
31
+ backend?: "exec" | "app_server";
32
+ appServerUrl?: string;
33
+ codexHome?: string;
34
+ reasoningEffort?: "low" | "medium" | "high" | "xhigh";
35
+ provider?: UniProviderModelConfig;
36
+ env?: Record<string, string>;
37
+ };
38
+ export type UniOpenCodeConfig = {
39
+ command?: string;
40
+ mode?: "default" | "yolo";
41
+ env?: Record<string, string>;
42
+ provider?: UniProviderModelConfig;
43
+ };
44
+ export type UniPiConfig = {
45
+ command?: string;
46
+ mode?: "default" | "yolo";
47
+ thinking?: "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
48
+ env?: Record<string, string>;
49
+ };
50
+ export type UniAcpConfig = {
51
+ command?: string;
52
+ args?: string[];
53
+ env?: Record<string, string>;
54
+ authMethod?: string;
55
+ displayName?: string;
56
+ };
57
+ export type UniRuntimeConfig = {
58
+ command?: string;
59
+ args?: string[];
60
+ env?: Record<string, string>;
61
+ claudeCode?: UniClaudeCodeConfig;
62
+ codex?: UniCodexConfig;
63
+ opencode?: UniOpenCodeConfig;
64
+ pi?: UniPiConfig;
65
+ acp?: UniAcpConfig;
66
+ };
67
+ export type UniUnsupportedFeature = "agent" | "skillsLoadPaths" | "pluginsConfig" | "resumeRequestId" | "resumeInputJson" | "resumeFromFile";
68
+ export type UniProviderCapability = "session-resume" | "text-stream" | "tool-events" | "hitl" | "websocket" | "callback" | "acp";
69
+ export type UniProviderEvent = {
70
+ type: "session_started";
71
+ sessionId: string;
72
+ } | {
73
+ type: "text_delta";
74
+ text: string;
75
+ } | {
76
+ type: "message";
77
+ text: string;
78
+ } | {
79
+ type: "title";
80
+ title: string;
81
+ } | {
82
+ type: "tool_start";
83
+ toolCallId: string;
84
+ name: string;
85
+ input: unknown;
86
+ } | {
87
+ type: "tool_end";
88
+ toolCallId: string;
89
+ name: string;
90
+ input: unknown;
91
+ output: string;
92
+ isError: boolean;
93
+ } | {
94
+ type: "diagnostic";
95
+ level: "info" | "warn" | "error";
96
+ scope: "runner" | "session" | "plugin" | "skill" | "memory" | "tool";
97
+ phase: string;
98
+ message: string;
99
+ details?: Record<string, unknown>;
100
+ } | {
101
+ type: "error";
102
+ message: string;
103
+ recoverable?: boolean;
104
+ } | {
105
+ type: "done";
106
+ text?: string;
107
+ usage?: RunResultPayload["usage"];
108
+ } | {
109
+ type: "raw";
110
+ payload: unknown;
111
+ };
112
+ export type UniToolHookContext = {
113
+ runtimeAgent: UniRuntimeAgent;
114
+ sessionId?: string;
115
+ messageId?: string;
116
+ channel: Channel;
117
+ projectDir?: string;
118
+ };
119
+ export type UniBeforeToolCallEvent = {
120
+ toolCallId: string;
121
+ toolName: string;
122
+ params: Record<string, unknown>;
123
+ };
124
+ export type UniAfterToolCallEvent = {
125
+ toolCallId: string;
126
+ toolName: string;
127
+ params: Record<string, unknown>;
128
+ result?: unknown;
129
+ error?: string;
130
+ durationMs?: number;
131
+ };
132
+ export type UniRuntimeHooks = {
133
+ beforeToolCall?: (event: UniBeforeToolCallEvent, ctx: UniToolHookContext) => void | Promise<void>;
134
+ afterToolCall?: (event: UniAfterToolCallEvent, ctx: UniToolHookContext) => void | Promise<void>;
135
+ };
136
+ export type UniRunOptions = {
137
+ runtimeAgent: UniRuntimeAgent;
138
+ dataDir?: string;
139
+ projectDir?: string;
140
+ agent?: string;
141
+ user?: string;
142
+ message?: string;
143
+ fromFile?: string;
144
+ skillsLoadPaths?: string;
145
+ sessionId?: string;
146
+ sessionStore?: string;
147
+ messageId?: string;
148
+ channel?: Channel;
149
+ baseUrl?: string;
150
+ apiKey?: string;
151
+ authToken?: string;
152
+ model?: string;
153
+ contextWindow?: string | number;
154
+ flashModel?: string;
155
+ callbackUrl?: string;
156
+ streamUrl?: string;
157
+ streamAuthToken?: string;
158
+ streamEvents?: string;
159
+ timeout?: string | number;
160
+ output?: UniOutputFormat;
161
+ pluginsConfig?: string;
162
+ resumeRequestId?: string;
163
+ resumeInputJson?: string;
164
+ resumeFromFile?: string;
165
+ runtimeConfig?: UniRuntimeConfig;
166
+ runtimeHooks?: UniRuntimeHooks;
167
+ runtimeProviderFactory?: (runtimeAgent: UniRuntimeAgent) => UniProvider | undefined;
168
+ onProgress?: (event: AgentProgressEvent) => Promise<void> | void;
169
+ onExternalEvent?: (event: CallbackEventPayload) => Promise<void> | void;
170
+ };
171
+ export type UniResolvedRunInput = {
172
+ kind: "text";
173
+ message: string;
174
+ } | {
175
+ kind: "messages";
176
+ messages: unknown[];
177
+ singleUserText?: string;
178
+ };
179
+ export type UniResolvedRunConfig = {
180
+ runtimeAgent: UniRuntimeAgent;
181
+ dataDir: string;
182
+ projectDir?: string;
183
+ sessionId?: string;
184
+ sessionStore: string;
185
+ messageId?: string;
186
+ channel: Channel;
187
+ baseUrl?: string;
188
+ apiKey: string;
189
+ authToken?: string;
190
+ model?: string;
191
+ contextWindow?: number;
192
+ flashModel?: string;
193
+ callbackUrl?: string;
194
+ streamUrl?: string;
195
+ streamAuthToken?: string;
196
+ streamEvents: Set<StreamEventName>;
197
+ timeoutMs: number;
198
+ output: UniOutputFormat;
199
+ runtimeConfig: UniRuntimeConfig;
200
+ input: UniResolvedRunInput;
201
+ user?: string;
202
+ };
203
+ export type UniRunResult = RunResultPayload & {
204
+ runtimeAgent: UniRuntimeAgent;
205
+ sessionId: string;
206
+ progressEvents: AgentProgressEvent[];
207
+ externalEvents: CallbackEventPayload[];
208
+ };
209
+ export type UniProviderContext = {
210
+ runtimeAgent: UniRuntimeAgent;
211
+ dataDir: string;
212
+ projectDir?: string;
213
+ sessionId?: string;
214
+ messageId?: string;
215
+ channel: Channel;
216
+ baseUrl?: string;
217
+ apiKey?: string;
218
+ authToken?: string;
219
+ model?: string;
220
+ contextWindow?: number;
221
+ flashModel?: string;
222
+ timeoutMs: number;
223
+ runtimeConfig: UniRuntimeConfig;
224
+ input: UniResolvedRunInput;
225
+ signal: AbortSignal;
226
+ };
227
+ export type UniProviderResult = {
228
+ sessionId?: string;
229
+ text?: string;
230
+ usage?: RunResultPayload["usage"];
231
+ title?: string;
232
+ error?: string;
233
+ };
234
+ export type UniProvider = {
235
+ readonly runtimeAgent: UniRuntimeAgent;
236
+ readonly capabilities: ReadonlySet<UniProviderCapability>;
237
+ run(context: UniProviderContext, emit: (event: UniProviderEvent) => Promise<void>): Promise<UniProviderResult>;
238
+ };
239
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@gencode/uni",
3
+ "version": "0.2.0",
4
+ "type": "module",
5
+ "bin": {
6
+ "gencode-uni": "./dist/uni/src/bin.js"
7
+ },
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/uni/src/index.d.ts",
11
+ "default": "./dist/uni/src/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "dependencies": {
22
+ "commander": "^14.0.3",
23
+ "gensign-node": "latest",
24
+ "@gencode/shared": "0.2.0"
25
+ },
26
+ "devDependencies": {
27
+ "@types/node": "^22.0.0",
28
+ "@vitest/coverage-v8": "^4.0.18",
29
+ "typescript": "^5.9.3",
30
+ "vitest": "^4.0.18"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc --project tsconfig.json",
34
+ "test": "vitest run",
35
+ "test:coverage": "vitest run --coverage",
36
+ "typecheck": "tsc --noEmit"
37
+ }
38
+ }