@tencent-ai/agent-sdk 0.1.0-next.989 → 0.1.1-next.24f5d9f.20251221

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 (91) hide show
  1. package/README.md +73 -2
  2. package/cli/CHANGELOG.md +2418 -0
  3. package/cli/LICENSE.txt +19 -0
  4. package/cli/README.md +26 -0
  5. package/cli/bin/codebuddy +39 -0
  6. package/cli/dist/codebuddy.js +20 -0
  7. package/cli/package.json +45 -0
  8. package/cli/product.cloudhosted.json +242 -0
  9. package/cli/product.internal.json +244 -0
  10. package/cli/product.ioa.json +467 -0
  11. package/cli/product.json +948 -0
  12. package/cli/product.selfhosted.json +196 -0
  13. package/cli/vendor/ripgrep/COPYING +3 -0
  14. package/cli/vendor/ripgrep/arm64-darwin/rg +0 -0
  15. package/cli/vendor/ripgrep/arm64-darwin/ripgrep.node +0 -0
  16. package/cli/vendor/ripgrep/arm64-linux/rg +0 -0
  17. package/cli/vendor/ripgrep/arm64-linux/ripgrep.node +0 -0
  18. package/cli/vendor/ripgrep/x64-darwin/rg +0 -0
  19. package/cli/vendor/ripgrep/x64-darwin/ripgrep.node +0 -0
  20. package/cli/vendor/ripgrep/x64-linux/rg +0 -0
  21. package/cli/vendor/ripgrep/x64-linux/ripgrep.node +0 -0
  22. package/cli/vendor/ripgrep/x64-win32/rg.exe +0 -0
  23. package/cli/vendor/ripgrep/x64-win32/ripgrep.node +0 -0
  24. package/lib/errors.d.ts +10 -0
  25. package/lib/errors.d.ts.map +1 -0
  26. package/lib/errors.js +17 -0
  27. package/lib/errors.js.map +1 -0
  28. package/lib/index.d.ts +35 -0
  29. package/lib/index.d.ts.map +1 -0
  30. package/lib/index.js +38 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/package.spec.js +3 -2
  33. package/lib/package.spec.js.map +1 -1
  34. package/lib/query.d.ts +47 -0
  35. package/lib/query.d.ts.map +1 -0
  36. package/lib/query.js +314 -0
  37. package/lib/query.js.map +1 -0
  38. package/lib/session.d.ts +55 -0
  39. package/lib/session.d.ts.map +1 -0
  40. package/lib/session.js +205 -0
  41. package/lib/session.js.map +1 -0
  42. package/lib/transport/index.d.ts +104 -0
  43. package/lib/transport/index.d.ts.map +1 -0
  44. package/lib/transport/index.js +20 -0
  45. package/lib/transport/index.js.map +1 -0
  46. package/lib/transport/process-transport.d.ts +65 -0
  47. package/lib/transport/process-transport.d.ts.map +1 -0
  48. package/lib/transport/process-transport.js +380 -0
  49. package/lib/transport/process-transport.js.map +1 -0
  50. package/lib/types.d.ts +667 -0
  51. package/lib/types.d.ts.map +1 -0
  52. package/lib/types.js +56 -0
  53. package/lib/types.js.map +1 -0
  54. package/lib/utils/cli-resolver.d.ts +36 -0
  55. package/lib/utils/cli-resolver.d.ts.map +1 -0
  56. package/lib/utils/cli-resolver.js +123 -0
  57. package/lib/utils/cli-resolver.js.map +1 -0
  58. package/lib/utils/env-utils.d.ts +9 -0
  59. package/lib/utils/env-utils.d.ts.map +1 -0
  60. package/lib/utils/env-utils.js +19 -0
  61. package/lib/utils/env-utils.js.map +1 -0
  62. package/lib/utils/index.d.ts +8 -0
  63. package/lib/utils/index.d.ts.map +1 -0
  64. package/lib/utils/index.js +17 -0
  65. package/lib/utils/index.js.map +1 -0
  66. package/lib/utils/process.d.ts +8 -0
  67. package/lib/utils/process.d.ts.map +1 -0
  68. package/lib/utils/process.js +16 -0
  69. package/lib/utils/process.js.map +1 -0
  70. package/lib/utils/stream.d.ts +24 -0
  71. package/lib/utils/stream.d.ts.map +1 -0
  72. package/lib/utils/stream.js +85 -0
  73. package/lib/utils/stream.js.map +1 -0
  74. package/package.json +22 -14
  75. package/dist/agent-sdk.js +0 -1
  76. package/lib/common/application-utils.d.ts +0 -5
  77. package/lib/common/application-utils.d.ts.map +0 -1
  78. package/lib/common/application-utils.js +0 -18
  79. package/lib/common/application-utils.js.map +0 -1
  80. package/lib/common/component-registry.d.ts +0 -10
  81. package/lib/common/component-registry.d.ts.map +0 -1
  82. package/lib/common/component-registry.js +0 -50
  83. package/lib/common/component-registry.js.map +0 -1
  84. package/lib/common/index.d.ts +0 -4
  85. package/lib/common/index.d.ts.map +0 -1
  86. package/lib/common/index.js +0 -20
  87. package/lib/common/index.js.map +0 -1
  88. package/lib/common/services.d.ts +0 -8
  89. package/lib/common/services.d.ts.map +0 -1
  90. package/lib/common/services.js +0 -21
  91. package/lib/common/services.js.map +0 -1
package/lib/query.js ADDED
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ /**
3
+ * Query Implementation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Query = void 0;
7
+ exports.query = query;
8
+ const transport_1 = require("./transport");
9
+ const types_1 = require("./types");
10
+ /**
11
+ * Create a query for interacting with the agent.
12
+ */
13
+ function query(params) {
14
+ return new Query(params.prompt, params.options);
15
+ }
16
+ /**
17
+ * Query class - an AsyncGenerator that yields messages.
18
+ */
19
+ class Query {
20
+ constructor(prompt, options) {
21
+ var _a;
22
+ this.prompt = prompt;
23
+ this.options = options;
24
+ this.initialized = false;
25
+ this.hookCallbacks = new Map();
26
+ this.iterator = null;
27
+ this.transport = (0, transport_1.createTransport)({
28
+ executablePath: options === null || options === void 0 ? void 0 : options.pathToClaudeCodeExecutable,
29
+ cwd: options === null || options === void 0 ? void 0 : options.cwd,
30
+ env: options === null || options === void 0 ? void 0 : options.env,
31
+ permissionMode: options === null || options === void 0 ? void 0 : options.permissionMode,
32
+ // Model options
33
+ model: options === null || options === void 0 ? void 0 : options.model,
34
+ fallbackModel: options === null || options === void 0 ? void 0 : options.fallbackModel,
35
+ maxTurns: options === null || options === void 0 ? void 0 : options.maxTurns,
36
+ // Tool options
37
+ allowedTools: options === null || options === void 0 ? void 0 : options.allowedTools,
38
+ disallowedTools: options === null || options === void 0 ? void 0 : options.disallowedTools,
39
+ // Session options
40
+ continue: options === null || options === void 0 ? void 0 : options.continue,
41
+ resume: options === null || options === void 0 ? void 0 : options.resume,
42
+ forkSession: options === null || options === void 0 ? void 0 : options.forkSession,
43
+ // MCP options
44
+ mcpServers: options === null || options === void 0 ? void 0 : options.mcpServers,
45
+ strictMcpConfig: options === null || options === void 0 ? void 0 : options.strictMcpConfig,
46
+ // Settings
47
+ settingSources: options === null || options === void 0 ? void 0 : options.settingSources,
48
+ additionalDirectories: options === null || options === void 0 ? void 0 : options.additionalDirectories,
49
+ // Output options
50
+ includePartialMessages: options === null || options === void 0 ? void 0 : options.includePartialMessages,
51
+ // Extra args
52
+ extraArgs: options === null || options === void 0 ? void 0 : options.extraArgs,
53
+ stderr: options === null || options === void 0 ? void 0 : options.stderr,
54
+ });
55
+ this.abortController = (_a = options === null || options === void 0 ? void 0 : options.abortController) !== null && _a !== void 0 ? _a : new AbortController();
56
+ this.registerHooks(options === null || options === void 0 ? void 0 : options.hooks);
57
+ }
58
+ // ============= AsyncGenerator Implementation =============
59
+ [Symbol.asyncIterator]() {
60
+ if (!this.iterator) {
61
+ this.iterator = this.createIterator();
62
+ }
63
+ return this.iterator;
64
+ }
65
+ async next() {
66
+ return this[Symbol.asyncIterator]().next();
67
+ }
68
+ async return() {
69
+ await this.interrupt();
70
+ return { done: true, value: undefined };
71
+ }
72
+ async throw(e) {
73
+ await this.interrupt();
74
+ throw e;
75
+ }
76
+ // ============= Control Methods =============
77
+ async interrupt() {
78
+ try {
79
+ await this.transport.sendControlRequest({
80
+ subtype: 'interrupt',
81
+ reason: 'User interrupt',
82
+ });
83
+ }
84
+ catch (_a) {
85
+ // Ignore errors during interrupt
86
+ }
87
+ // Don't close transport - let the iterator continue to receive
88
+ // the result message and close naturally
89
+ }
90
+ async setPermissionMode(mode) {
91
+ await this.transport.sendControlRequest({
92
+ subtype: 'set_permission_mode',
93
+ mode,
94
+ });
95
+ }
96
+ async setModel(model) {
97
+ await this.transport.sendControlRequest({
98
+ subtype: 'set_model',
99
+ model,
100
+ });
101
+ }
102
+ async setMaxThinkingTokens(maxThinkingTokens) {
103
+ await this.transport.sendControlRequest({
104
+ subtype: 'set_max_thinking_tokens',
105
+ max_thinking_tokens: maxThinkingTokens,
106
+ });
107
+ }
108
+ // ============= Query Methods =============
109
+ async supportedCommands() {
110
+ var _a;
111
+ const response = await this.transport.sendControlRequest({
112
+ subtype: 'initialize',
113
+ });
114
+ return (_a = response.commands) !== null && _a !== void 0 ? _a : [];
115
+ }
116
+ async supportedModels() {
117
+ var _a;
118
+ const response = await this.transport.sendControlRequest({
119
+ subtype: 'initialize',
120
+ });
121
+ return (_a = response.models) !== null && _a !== void 0 ? _a : [];
122
+ }
123
+ async mcpServerStatus() {
124
+ var _a;
125
+ const response = await this.transport.sendControlRequest({
126
+ subtype: 'mcp_status',
127
+ });
128
+ return (_a = response.mcp_servers) !== null && _a !== void 0 ? _a : [];
129
+ }
130
+ async accountInfo() {
131
+ var _a;
132
+ const response = await this.transport.sendControlRequest({
133
+ subtype: 'initialize',
134
+ });
135
+ return (_a = response.account) !== null && _a !== void 0 ? _a : {};
136
+ }
137
+ async streamInput(stream) {
138
+ for await (const message of stream) {
139
+ this.transport.sendUserMessage(message);
140
+ }
141
+ }
142
+ // ============= Private Methods =============
143
+ async *createIterator() {
144
+ var _a;
145
+ try {
146
+ await this.initialize();
147
+ await this.sendPrompt();
148
+ for await (const message of this.transport.messages()) {
149
+ if (this.abortController.signal.aborted) {
150
+ break;
151
+ }
152
+ if ((0, types_1.isControlRequest)(message)) {
153
+ await this.handleControlRequest(message);
154
+ continue;
155
+ }
156
+ if ((0, types_1.isMessage)(message)) {
157
+ if (message.type === 'stream_event' &&
158
+ !((_a = this.options) === null || _a === void 0 ? void 0 : _a.includePartialMessages)) {
159
+ continue;
160
+ }
161
+ yield message;
162
+ if (message.type === 'result') {
163
+ break;
164
+ }
165
+ }
166
+ }
167
+ }
168
+ finally {
169
+ this.transport.close();
170
+ }
171
+ }
172
+ async initialize() {
173
+ var _a, _b, _c;
174
+ if (this.initialized) {
175
+ return;
176
+ }
177
+ const systemPrompt = typeof ((_a = this.options) === null || _a === void 0 ? void 0 : _a.systemPrompt) === 'string'
178
+ ? this.options.systemPrompt
179
+ : undefined;
180
+ const appendSystemPrompt = typeof ((_b = this.options) === null || _b === void 0 ? void 0 : _b.systemPrompt) === 'object'
181
+ ? this.options.systemPrompt.append
182
+ : undefined;
183
+ const initRequest = {
184
+ subtype: 'initialize',
185
+ hooks: this.buildHooksConfig(),
186
+ systemPrompt,
187
+ appendSystemPrompt,
188
+ agents: (_c = this.options) === null || _c === void 0 ? void 0 : _c.agents,
189
+ };
190
+ await this.transport.sendControlRequest(initRequest);
191
+ this.initialized = true;
192
+ }
193
+ async sendPrompt() {
194
+ if (typeof this.prompt === 'string') {
195
+ this.transport.sendUserMessage(this.prompt);
196
+ }
197
+ else {
198
+ for await (const message of this.prompt) {
199
+ this.transport.sendUserMessage(message);
200
+ }
201
+ }
202
+ }
203
+ async handleControlRequest(request) {
204
+ const { subtype } = request.request;
205
+ if (subtype === 'hook_callback') {
206
+ await this.handleHookCallback(request);
207
+ }
208
+ else if (subtype === 'can_use_tool') {
209
+ await this.handlePermissionRequest(request);
210
+ }
211
+ }
212
+ async handlePermissionRequest(request) {
213
+ var _a;
214
+ const permRequest = request.request;
215
+ const { tool_name, input, tool_use_id, agent_id, permission_suggestions, blocked_path, decision_reason, } = permRequest;
216
+ const canUseTool = (_a = this.options) === null || _a === void 0 ? void 0 : _a.canUseTool;
217
+ // If no canUseTool callback provided, deny by default
218
+ if (!canUseTool) {
219
+ this.transport.sendControlResponse(request.request_id, {
220
+ allowed: false,
221
+ reason: 'No permission handler provided',
222
+ tool_use_id,
223
+ });
224
+ return;
225
+ }
226
+ try {
227
+ const result = await canUseTool(tool_name, input, {
228
+ signal: this.abortController.signal,
229
+ suggestions: permission_suggestions,
230
+ blockedPath: blocked_path,
231
+ decisionReason: decision_reason,
232
+ toolUseID: tool_use_id,
233
+ agentID: agent_id,
234
+ });
235
+ if (result.behavior === 'allow') {
236
+ this.transport.sendControlResponse(request.request_id, {
237
+ allowed: true,
238
+ updatedInput: result.updatedInput,
239
+ tool_use_id,
240
+ });
241
+ }
242
+ else {
243
+ this.transport.sendControlResponse(request.request_id, {
244
+ allowed: false,
245
+ reason: result.message,
246
+ interrupt: result.interrupt,
247
+ tool_use_id,
248
+ });
249
+ }
250
+ }
251
+ catch (error) {
252
+ this.transport.sendControlResponse(request.request_id, {
253
+ allowed: false,
254
+ reason: error instanceof Error ? error.message : String(error),
255
+ tool_use_id,
256
+ });
257
+ }
258
+ }
259
+ async handleHookCallback(request) {
260
+ const { callback_id, input, tool_use_id } = request.request;
261
+ const callback = this.hookCallbacks.get(callback_id);
262
+ let response = { continue: true };
263
+ if (callback) {
264
+ try {
265
+ response = await callback(input, tool_use_id, { signal: this.abortController.signal });
266
+ }
267
+ catch (error) {
268
+ response = {
269
+ continue: false,
270
+ stopReason: error instanceof Error ? error.message : String(error),
271
+ };
272
+ }
273
+ }
274
+ this.transport.sendControlResponse(request.request_id, response);
275
+ }
276
+ registerHooks(hooks) {
277
+ if (!hooks) {
278
+ return;
279
+ }
280
+ this.registeredHooks = hooks;
281
+ // Build callback ID mapping for each hook - must match buildHooksConfig
282
+ for (const [event, matchers] of Object.entries(hooks)) {
283
+ if (!matchers) {
284
+ continue;
285
+ }
286
+ matchers.forEach((matcher, matcherIndex) => {
287
+ matcher.hooks.forEach((hook, hookIndex) => {
288
+ const callbackId = `hook_${event}_${matcherIndex}_${hookIndex}`;
289
+ this.hookCallbacks.set(callbackId, hook);
290
+ });
291
+ });
292
+ }
293
+ }
294
+ buildHooksConfig() {
295
+ if (!this.registeredHooks) {
296
+ return undefined;
297
+ }
298
+ const config = {};
299
+ for (const [event, matchers] of Object.entries(this.registeredHooks)) {
300
+ if (!matchers) {
301
+ continue;
302
+ }
303
+ const hookEvent = event;
304
+ config[hookEvent] = matchers.map((matcher, matcherIndex) => ({
305
+ matcher: matcher.matcher,
306
+ hookCallbackIds: matcher.hooks.map((_, hookIndex) => `hook_${event}_${matcherIndex}_${hookIndex}`),
307
+ timeout: matcher.timeout,
308
+ }));
309
+ }
310
+ return Object.keys(config).length > 0 ? config : undefined;
311
+ }
312
+ }
313
+ exports.Query = Query;
314
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA4BH,sBAKC;AA/BD,2CAA8D;AAqB9D,mCAAsD;AAEtD;;GAEG;AACH,SAAgB,KAAK,CAAC,MAGrB;IACG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAa,KAAK;IAOd,YACY,MAA2C,EAC3C,OAAiB;;QADjB,WAAM,GAAN,MAAM,CAAqC;QAC3C,YAAO,GAAP,OAAO,CAAU;QAPrB,gBAAW,GAAG,KAAK,CAAC;QAEpB,kBAAa,GAAgI,IAAI,GAAG,EAAE,CAAC;QACvJ,aAAQ,GAAyC,IAAI,CAAC;QAM1D,IAAI,CAAC,SAAS,GAAG,IAAA,2BAAe,EAAC;YAC7B,cAAc,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,0BAA0B;YACnD,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;YACjB,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;YACjB,cAAc,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;YACvC,gBAAgB;YAChB,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;YACrB,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;YACrC,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YAC3B,eAAe;YACf,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;YACnC,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;YACzC,kBAAkB;YAClB,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YAC3B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;YACvB,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;YACjC,cAAc;YACd,UAAU,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAC/B,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;YACzC,WAAW;YACX,cAAc,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;YACvC,qBAAqB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB;YACrD,iBAAiB;YACjB,sBAAsB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB;YACvD,aAAa;YACb,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;YAC7B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,IAAI,eAAe,EAAE,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,4DAA4D;IAE5D,CAAC,MAAM,CAAC,aAAa,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,CAAQ;QAChB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC;IACZ,CAAC;IAED,8CAA8C;IAE9C,KAAK,CAAC,SAAS;QACX,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBACpC,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,gBAAgB;aAC3B,CAAC,CAAC;QACP,CAAC;QAAC,WAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;QACD,+DAA+D;QAC/D,yCAAyC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAoB;QACxC,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACpC,OAAO,EAAE,qBAAqB;YAC9B,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACpC,OAAO,EAAE,WAAW;YACpB,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,iBAAgC;QACvD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACpC,OAAO,EAAE,yBAAyB;YAClC,mBAAmB,EAAE,iBAAiB;SACzC,CAAC,CAAC;IACP,CAAC;IAED,4CAA4C;IAE5C,KAAK,CAAC,iBAAiB;;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAgC;YACpF,OAAO,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,MAAA,QAAQ,CAAC,QAAQ,mCAAI,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,eAAe;;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAA2B;YAC/E,OAAO,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe;;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAsC;YAC1F,OAAO,EAAE,YAAqB;SACjC,CAAC,CAAC;QACH,OAAO,MAAA,QAAQ,CAAC,WAAW,mCAAI,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW;;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAA4B;YAChF,OAAO,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,MAAA,QAAQ,CAAC,OAAO,mCAAI,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkC;QAChD,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,8CAA8C;IAEtC,KAAK,CAAC,CAAC,cAAc;;QACzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM;gBACV,CAAC;gBAED,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAyB,CAAC,CAAC;oBAC3D,SAAS;gBACb,CAAC;gBAED,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;oBACrB,IACI,OAAO,CAAC,IAAI,KAAK,cAAc;wBAC/B,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,sBAAsB,CAAA,EACvC,CAAC;wBACC,SAAS;oBACb,CAAC;oBAED,MAAM,OAAO,CAAC;oBAEd,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5B,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU;;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,CAAA,KAAK,QAAQ;YAC/D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,kBAAkB,GAAG,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,CAAA,KAAK,QAAQ;YACrE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM;YAClC,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,WAAW,GAA6B;YAC1C,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC9B,YAAY;YACZ,kBAAkB;YAClB,MAAM,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM;SAC/B,CAAC;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAuB;QACtD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAEpC,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,OAAuB;;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAmC,CAAC;QAChE,MAAM,EACF,SAAS,EACT,KAAK,EACL,WAAW,EACX,QAAQ,EACR,sBAAsB,EACtB,YAAY,EACZ,eAAe,GAClB,GAAG,WAAW,CAAC;QAEhB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;QAE5C,sDAAsD;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;gBACnD,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,gCAAgC;gBACxC,WAAW;aACd,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAqB,MAAM,UAAU,CAC7C,SAAS,EACT,KAAK,EACL;gBACI,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;gBACnC,WAAW,EAAE,sBAAwD;gBACrE,WAAW,EAAE,YAAY;gBACzB,cAAc,EAAE,eAAe;gBAC/B,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,QAAQ;aACpB,CACJ,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;oBACnD,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW;iBACd,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;oBACnD,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW;iBACd,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;gBACnD,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC9D,WAAW;aACd,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAuB;QACpD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAqC,CAAC;QAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,QAAQ,GAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAElD,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC;gBACD,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,GAAG;oBACP,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACrE,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAmC,CAAC,CAAC;IAChG,CAAC;IAIO,aAAa,CACjB,KAAyD;QAEzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,wEAAwE;QACxE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,SAAS;YACb,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;oBACtC,MAAM,UAAU,GAAG,QAAQ,KAAK,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;oBAChE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAsC,EAAE,CAAC;QAErD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,SAAS;YACb,CAAC;YAED,MAAM,SAAS,GAAG,KAAkB,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAChD,QAAQ,KAAK,IAAI,YAAY,IAAI,SAAS,EAAE,CAC/C;gBACD,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B,CAAC,CAAC,CAAC;QACR,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;CACJ;AA/VD,sBA+VC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * V2 Session API
3
+ *
4
+ * Multi-turn conversation support.
5
+ */
6
+ import type { Message, UserMessage, ResultMessage, SessionOptions } from './types';
7
+ /**
8
+ * Create a new session for multi-turn conversations.
9
+ */
10
+ export declare function createSession(options: SessionOptions): SessionImpl;
11
+ /**
12
+ * Resume an existing session by ID.
13
+ */
14
+ export declare function resumeSession(sessionId: string, options: SessionOptions): SessionImpl;
15
+ /**
16
+ * One-shot convenience function for single prompts.
17
+ */
18
+ export declare function prompt(message: string, options: SessionOptions): Promise<ResultMessage>;
19
+ /**
20
+ * Session class for multi-turn conversations.
21
+ */
22
+ export declare class SessionImpl {
23
+ private options;
24
+ private transport;
25
+ private _sessionId;
26
+ private initialized;
27
+ private closed;
28
+ private messageIterator;
29
+ private abortController;
30
+ constructor(options: SessionOptions, resumeSessionId?: string);
31
+ /**
32
+ * The session ID. Available after receiving the first message.
33
+ */
34
+ get sessionId(): string;
35
+ /**
36
+ * Send a message to the agent.
37
+ */
38
+ send(message: string | UserMessage): Promise<void>;
39
+ /**
40
+ * Stream messages from the agent.
41
+ */
42
+ stream(): AsyncGenerator<Message, void>;
43
+ /**
44
+ * Close the session.
45
+ */
46
+ close(): void;
47
+ /**
48
+ * Async disposal support.
49
+ */
50
+ [Symbol.asyncDispose](): Promise<void>;
51
+ private initialize;
52
+ private handleControlRequest;
53
+ private handlePermissionRequest;
54
+ }
55
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACR,OAAO,EACP,WAAW,EACX,aAAa,EACb,cAAc,EAKjB,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,WAAW,CAElE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,WAAW,CAErF;AAED;;GAEG;AACH,wBAAsB,MAAM,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;GAEG;AACH,qBAAa,WAAW;IAShB,OAAO,CAAC,OAAO;IARnB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAwE;IAC/F,OAAO,CAAC,eAAe,CAAkB;gBAG7B,OAAO,EAAE,cAAc,EAC/B,eAAe,CAAC,EAAE,MAAM;IAU5B;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAKtB;IAED;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD;;OAEG;IACI,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IA4C9C;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;YAM9B,UAAU;YAcV,oBAAoB;YAWpB,uBAAuB;CA4DxC"}
package/lib/session.js ADDED
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * V2 Session API
4
+ *
5
+ * Multi-turn conversation support.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SessionImpl = void 0;
9
+ exports.createSession = createSession;
10
+ exports.resumeSession = resumeSession;
11
+ exports.prompt = prompt;
12
+ const transport_1 = require("./transport");
13
+ const types_1 = require("./types");
14
+ /**
15
+ * Create a new session for multi-turn conversations.
16
+ */
17
+ function createSession(options) {
18
+ return new SessionImpl(options);
19
+ }
20
+ /**
21
+ * Resume an existing session by ID.
22
+ */
23
+ function resumeSession(sessionId, options) {
24
+ return new SessionImpl(options, sessionId);
25
+ }
26
+ /**
27
+ * One-shot convenience function for single prompts.
28
+ */
29
+ async function prompt(message, options) {
30
+ const session = createSession(options);
31
+ try {
32
+ await session.send(message);
33
+ for await (const msg of session.stream()) {
34
+ if (msg.type === 'result') {
35
+ return msg;
36
+ }
37
+ }
38
+ throw new Error('No result message received');
39
+ }
40
+ finally {
41
+ session.close();
42
+ }
43
+ }
44
+ /**
45
+ * Session class for multi-turn conversations.
46
+ */
47
+ class SessionImpl {
48
+ constructor(options, resumeSessionId) {
49
+ this.options = options;
50
+ this.initialized = false;
51
+ this.closed = false;
52
+ this.messageIterator = null;
53
+ this.transport = (0, transport_1.createTransport)({
54
+ executablePath: options.pathToClaudeCodeExecutable,
55
+ env: options.env,
56
+ });
57
+ this._sessionId = resumeSessionId !== null && resumeSessionId !== void 0 ? resumeSessionId : '';
58
+ this.abortController = new AbortController();
59
+ }
60
+ /**
61
+ * The session ID. Available after receiving the first message.
62
+ */
63
+ get sessionId() {
64
+ if (!this._sessionId) {
65
+ throw new Error('Session not initialized. sessionId is available after receiving the first message.');
66
+ }
67
+ return this._sessionId;
68
+ }
69
+ /**
70
+ * Send a message to the agent.
71
+ */
72
+ async send(message) {
73
+ if (this.closed) {
74
+ throw new Error('Session is closed');
75
+ }
76
+ if (!this.initialized) {
77
+ await this.initialize();
78
+ }
79
+ this.transport.sendUserMessage(message);
80
+ }
81
+ /**
82
+ * Stream messages from the agent.
83
+ */
84
+ async *stream() {
85
+ if (this.closed) {
86
+ return;
87
+ }
88
+ if (!this.initialized) {
89
+ await this.initialize();
90
+ }
91
+ // Reuse the same iterator across multiple receive() calls
92
+ if (!this.messageIterator) {
93
+ this.messageIterator = this.transport.messages();
94
+ }
95
+ while (true) {
96
+ const { value: message, done } = await this.messageIterator.next();
97
+ if (done || this.closed) {
98
+ break;
99
+ }
100
+ // Handle control requests
101
+ if ((0, types_1.isControlRequest)(message)) {
102
+ await this.handleControlRequest(message);
103
+ continue;
104
+ }
105
+ // Yield messages
106
+ if ((0, types_1.isMessage)(message)) {
107
+ // Extract session ID from first message
108
+ if (!this._sessionId && 'session_id' in message) {
109
+ this._sessionId = message.session_id;
110
+ }
111
+ yield message;
112
+ // Stop on result message (end of turn)
113
+ if (message.type === 'result') {
114
+ break;
115
+ }
116
+ }
117
+ }
118
+ }
119
+ /**
120
+ * Close the session.
121
+ */
122
+ close() {
123
+ if (this.closed) {
124
+ return;
125
+ }
126
+ this.closed = true;
127
+ this.transport.close();
128
+ }
129
+ /**
130
+ * Async disposal support.
131
+ */
132
+ async [Symbol.asyncDispose]() {
133
+ this.close();
134
+ }
135
+ // ============= Private Methods =============
136
+ async initialize() {
137
+ if (this.initialized) {
138
+ return;
139
+ }
140
+ await this.transport.sendControlRequest({
141
+ subtype: 'initialize',
142
+ systemPrompt: undefined,
143
+ appendSystemPrompt: undefined,
144
+ });
145
+ this.initialized = true;
146
+ }
147
+ async handleControlRequest(request) {
148
+ const { subtype } = request.request;
149
+ if (subtype === 'hook_callback') {
150
+ // Default: continue
151
+ this.transport.sendControlResponse(request.request_id, { continue: true });
152
+ }
153
+ else if (subtype === 'can_use_tool') {
154
+ await this.handlePermissionRequest(request);
155
+ }
156
+ }
157
+ async handlePermissionRequest(request) {
158
+ const permRequest = request.request;
159
+ const { tool_name, input, tool_use_id, agent_id, permission_suggestions, blocked_path, decision_reason, } = permRequest;
160
+ const canUseTool = this.options.canUseTool;
161
+ // If no canUseTool callback provided, deny by default
162
+ if (!canUseTool) {
163
+ this.transport.sendControlResponse(request.request_id, {
164
+ allowed: false,
165
+ reason: 'No permission handler provided',
166
+ tool_use_id,
167
+ });
168
+ return;
169
+ }
170
+ try {
171
+ const result = await canUseTool(tool_name, input, {
172
+ signal: this.abortController.signal,
173
+ suggestions: permission_suggestions,
174
+ blockedPath: blocked_path,
175
+ decisionReason: decision_reason,
176
+ toolUseID: tool_use_id,
177
+ agentID: agent_id,
178
+ });
179
+ if (result.behavior === 'allow') {
180
+ this.transport.sendControlResponse(request.request_id, {
181
+ allowed: true,
182
+ updatedInput: result.updatedInput,
183
+ tool_use_id,
184
+ });
185
+ }
186
+ else {
187
+ this.transport.sendControlResponse(request.request_id, {
188
+ allowed: false,
189
+ reason: result.message,
190
+ interrupt: result.interrupt,
191
+ tool_use_id,
192
+ });
193
+ }
194
+ }
195
+ catch (error) {
196
+ this.transport.sendControlResponse(request.request_id, {
197
+ allowed: false,
198
+ reason: error instanceof Error ? error.message : String(error),
199
+ tool_use_id,
200
+ });
201
+ }
202
+ }
203
+ }
204
+ exports.SessionImpl = SessionImpl;
205
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAkBH,sCAEC;AAKD,sCAEC;AAKD,wBAmBC;AAjDD,2CAA8D;AAW9D,mCAAsD;AAEtD;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAuB;IACjD,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB,EAAE,OAAuB;IACpE,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM,CACxB,OAAe,EACf,OAAuB;IAEvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACP,OAAO,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAa,WAAW;IAQpB,YACY,OAAuB,EAC/B,eAAwB;QADhB,YAAO,GAAP,OAAO,CAAgB;QAN3B,gBAAW,GAAG,KAAK,CAAC;QACpB,WAAM,GAAG,KAAK,CAAC;QACf,oBAAe,GAAmE,IAAI,CAAC;QAO3F,IAAI,CAAC,SAAS,GAAG,IAAA,2BAAe,EAAC;YAC7B,cAAc,EAAE,OAAO,CAAC,0BAA0B;YAClD,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAA6B;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,MAAM;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAEnE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM;YACV,CAAC;YAED,0BAA0B;YAC1B,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAyB,CAAC,CAAC;gBAC3D,SAAS;YACb,CAAC;YAED,iBAAiB;YACjB,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;gBACrB,wCAAwC;gBACxC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;oBAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBACzC,CAAC;gBAED,MAAM,OAAO,CAAC;gBAEd,uCAAuC;gBACvC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,8CAA8C;IAEtC,KAAK,CAAC,UAAU;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACpC,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE,SAAS;YACvB,kBAAkB,EAAE,SAAS;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAuB;QACtD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAEpC,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAC9B,oBAAoB;YACpB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,OAAuB;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAmC,CAAC;QAChE,MAAM,EACF,SAAS,EACT,KAAK,EACL,WAAW,EACX,QAAQ,EACR,sBAAsB,EACtB,YAAY,EACZ,eAAe,GAClB,GAAG,WAAW,CAAC;QAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAE3C,sDAAsD;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;gBACnD,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,gCAAgC;gBACxC,WAAW;aACd,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAqB,MAAM,UAAU,CAC7C,SAAS,EACT,KAAK,EACL;gBACI,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;gBACnC,WAAW,EAAE,sBAAwD;gBACrE,WAAW,EAAE,YAAY;gBACzB,cAAc,EAAE,eAAe;gBAC/B,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,QAAQ;aACpB,CACJ,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;oBACnD,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW;iBACd,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;oBACnD,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW;iBACd,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;gBACnD,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC9D,WAAW;aACd,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ;AAtMD,kCAsMC"}