@agentuity/pi 1.0.36 → 3.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @agentuity/pi
2
+
3
+ Agentuity AI Gateway provider plugin for the Pi coding agent.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { ExtensionAPI } from '@mariozechner/pi-coding-agent';
2
- export declare function agentuityCoderHub(pi: ExtensionAPI): void;
3
- export default agentuityCoderHub;
1
+ import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';
2
+ export type KnownApi = 'openai-completions' | 'mistral-conversations' | 'openai-responses' | 'azure-openai-responses' | 'openai-codex-responses' | 'anthropic-messages' | 'bedrock-converse-stream' | 'google-generative-ai' | 'google-gemini-cli' | 'google-vertex';
3
+ export declare function setupAIGateway(pi: ExtensionAPI): Promise<void>;
4
+ export default setupAIGateway;
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,YAAY,EAGZ,MAAM,+BAA+B,CAAC;AA6CvC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,QA8LjD;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,QAAQ,GACjB,oBAAoB,GACpB,uBAAuB,GACvB,kBAAkB,GAClB,wBAAwB,GACxB,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,mBAAmB,GACnB,eAAe,CAAC;AA4ZnB,wBAAsB,cAAc,CAAC,EAAE,EAAE,YAAY,iBAepD;AAED,eAAe,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,196 +1,356 @@
1
- import { HubClient } from "./client.js";
2
- import { processActions } from "./handlers.js";
3
- const HUB_URL_ENV = 'AGENTUITY_CODER_HUB_URL';
4
- // All Pi events we subscribe to (order matters session_start is handled separately)
5
- const PROXY_EVENTS = [
6
- 'session_shutdown',
7
- 'session_before_switch',
8
- 'session_switch',
9
- 'session_before_fork',
10
- 'session_fork',
11
- 'session_before_compact',
12
- 'session_compact',
13
- 'before_agent_start',
14
- 'agent_start',
15
- 'agent_end',
16
- 'turn_start',
17
- 'turn_end',
18
- 'tool_call',
19
- 'tool_result',
20
- 'tool_execution_start',
21
- 'tool_execution_update',
22
- 'tool_execution_end',
23
- 'message_start',
24
- 'message_update',
25
- 'message_end',
26
- 'input',
27
- 'model_select',
28
- 'context',
29
- ];
30
- function log(msg) {
31
- console.error(`[agentuity-pi] ${msg}`);
32
- }
33
- export function agentuityCoderHub(pi) {
34
- const hubUrl = process.env[HUB_URL_ENV];
35
- // No-op if not configured
36
- if (!hubUrl) {
37
- return;
1
+ /**
2
+ * Agentuity AI Gateway Custom Provider Extension
3
+ *
4
+ * Registers models from the Agentuity AI Gateway using the appropriate API type
5
+ * based on model ID patterns. Models are loaded dynamically from the gateway's /models endpoint.
6
+ *
7
+ * Usage:
8
+ * Use /model to switch to aigateway models
9
+ */
10
+ import { execFileSync } from 'node:child_process';
11
+ import { existsSync } from 'node:fs';
12
+ import { delimiter, join } from 'node:path';
13
+ import { createMinimalLogger, StructuredError } from '@agentuity/core';
14
+ import { AIGatewayService, } from '@agentuity/core/aigateway';
15
+ import { createServerFetchAdapter } from '@agentuity/adapter';
16
+ const KNOWN_APIS = new Set([
17
+ 'openai-completions',
18
+ 'mistral-conversations',
19
+ 'openai-responses',
20
+ 'azure-openai-responses',
21
+ 'openai-codex-responses',
22
+ 'anthropic-messages',
23
+ 'bedrock-converse-stream',
24
+ 'google-generative-ai',
25
+ 'google-gemini-cli',
26
+ 'google-vertex',
27
+ ]);
28
+ const AIGatewayModelFetchError = StructuredError('AIGatewayModelFetchError')();
29
+ function parseFirstJsonObject(value) {
30
+ const start = value.indexOf('{');
31
+ if (start === -1) {
32
+ throw new SyntaxError('No JSON object found');
38
33
  }
39
- log(`Hub URL: ${hubUrl}`);
40
- const client = new HubClient();
41
- // Connect to the Hub and register tools/commands
42
- async function connectAndRegister() {
43
- if (client.connected)
44
- return;
45
- log('Connecting to Hub...');
46
- let initMsg;
47
- try {
48
- initMsg = await client.connect(hubUrl);
34
+ let depth = 0;
35
+ let inString = false;
36
+ let escaped = false;
37
+ for (let i = start; i < value.length; i++) {
38
+ const char = value[i];
39
+ if (escaped) {
40
+ escaped = false;
41
+ continue;
49
42
  }
50
- catch (err) {
51
- const msg = err instanceof Error ? err.message : String(err);
52
- log(`Failed to connect: ${msg}`);
53
- return;
43
+ if (char === '\\') {
44
+ escaped = true;
45
+ continue;
54
46
  }
55
- log(`Connected. Init: ${initMsg.tools?.length ?? 0} tools, ${initMsg.commands?.length ?? 0} commands`);
56
- // Register tools from Hub
57
- if (initMsg.tools) {
58
- for (const toolDef of initMsg.tools) {
59
- log(`Registering tool: ${toolDef.name}`);
60
- pi.registerTool({
61
- name: toolDef.name,
62
- label: toolDef.label,
63
- description: toolDef.description,
64
- parameters: toolDef.parameters,
65
- async execute(toolCallId, params, _signal, _onUpdate, ctx) {
66
- log(`Tool execute: ${toolDef.name}`);
67
- const id = client.nextId();
68
- let response;
69
- try {
70
- response = await client.send({
71
- id,
72
- type: 'tool',
73
- name: toolDef.name,
74
- toolCallId,
75
- params: params,
76
- });
77
- }
78
- catch {
79
- return {
80
- content: [
81
- {
82
- type: 'text',
83
- text: 'Error: Hub connection lost',
84
- },
85
- ],
86
- details: {},
87
- };
88
- }
89
- const result = await processActions(response.actions, ctx);
90
- if (result.returnValue !== undefined) {
91
- return result.returnValue;
92
- }
93
- return {
94
- content: [{ type: 'text', text: 'Done' }],
95
- details: {},
96
- };
97
- },
98
- });
99
- }
47
+ if (char === '"') {
48
+ inString = !inString;
49
+ continue;
100
50
  }
101
- // Register commands from Hub
102
- if (initMsg.commands) {
103
- for (const cmdDef of initMsg.commands) {
104
- log(`Registering command: /${cmdDef.name}`);
105
- pi.registerCommand(cmdDef.name, {
106
- description: cmdDef.description,
107
- handler: async (args, ctx) => {
108
- log(`Command execute: /${cmdDef.name}`);
109
- const id = client.nextId();
110
- let response;
111
- try {
112
- response = await client.send({
113
- id,
114
- type: 'command',
115
- name: cmdDef.name,
116
- args,
117
- });
118
- }
119
- catch {
120
- ctx.ui.notify('Hub connection lost', 'error');
121
- return;
122
- }
123
- await processActions(response.actions, ctx);
124
- },
125
- });
126
- }
51
+ if (inString) {
52
+ continue;
127
53
  }
128
- log('Registration complete');
129
- }
130
- // Helper to send event and process response actions
131
- async function sendEvent(eventName, data, ctx) {
132
- if (!client.connected)
133
- return undefined;
134
- const id = client.nextId();
135
- let response;
136
- try {
137
- response = await client.send({
138
- id,
139
- type: 'event',
140
- event: eventName,
141
- data,
142
- });
54
+ if (char === '{') {
55
+ depth++;
143
56
  }
144
- catch {
145
- return undefined;
57
+ else if (char === '}') {
58
+ depth--;
59
+ if (depth === 0) {
60
+ return JSON.parse(value.slice(start, i + 1));
61
+ }
146
62
  }
147
- const result = await processActions(response.actions, ctx);
148
- if (result.block)
149
- return result.block;
150
- if (result.returnValue !== undefined)
151
- return result.returnValue;
63
+ }
64
+ throw new SyntaxError('Unterminated JSON object');
65
+ }
66
+ function parseJson(value) {
67
+ const trimmed = value.trim();
68
+ if (trimmed.startsWith('[')) {
69
+ return JSON.parse(trimmed);
70
+ }
71
+ return parseFirstJsonObject(trimmed);
72
+ }
73
+ function getEnv(...keys) {
74
+ for (const key of keys) {
75
+ if (process.env[key]) {
76
+ return process.env[key];
77
+ }
78
+ }
79
+ }
80
+ function normalizeCredential(value) {
81
+ if (value === undefined || value === null) {
152
82
  return undefined;
153
83
  }
154
- // Serialize event data — strip non-serializable fields
155
- function serializeEvent(event) {
156
- const data = {};
157
- if (event && typeof event === 'object') {
158
- for (const [key, value] of Object.entries(event)) {
159
- if (typeof value !== 'function' && key !== 'signal') {
160
- try {
161
- JSON.stringify(value);
162
- data[key] = value;
163
- }
164
- catch {
165
- // Skip non-serializable values
84
+ const normalized = String(value).trim();
85
+ return normalized.length > 0 ? normalized : undefined;
86
+ }
87
+ function isKnownApi(api) {
88
+ return typeof api === 'string' && KNOWN_APIS.has(api);
89
+ }
90
+ function getRegion() {
91
+ return getEnv('AGENTUITY_REGION') ?? 'usc';
92
+ }
93
+ function getBaseUrl() {
94
+ const region = getRegion();
95
+ return `https://aigateway-${region}.agentuity.cloud`;
96
+ }
97
+ function getAgentuityCliPath() {
98
+ const path = process.env.PATH?.split(delimiter) ?? [];
99
+ for (const dir of path) {
100
+ const fn = join(dir, 'agentuity');
101
+ if (existsSync(fn)) {
102
+ return fn;
103
+ }
104
+ }
105
+ }
106
+ function fetchOrganizations() {
107
+ const agentuity = getAgentuityCliPath();
108
+ if (!agentuity) {
109
+ return [];
110
+ }
111
+ const res = execFileSync(agentuity, ['auth', 'whoami', '--json']);
112
+ const whoami = parseJson(res.toString());
113
+ return (whoami.organizations ?? []).filter((org) => typeof org?.id === 'string' &&
114
+ org.id.length > 0 &&
115
+ typeof org?.name === 'string' &&
116
+ org.name.length > 0);
117
+ }
118
+ function fetchRegions() {
119
+ const agentuity = getAgentuityCliPath();
120
+ if (!agentuity) {
121
+ return [];
122
+ }
123
+ const res = execFileSync(agentuity, ['cloud', 'region', 'list', '--json']);
124
+ const regions = parseJson(res.toString());
125
+ return (Array.isArray(regions) ? regions : []).filter((region) => typeof region?.region === 'string' &&
126
+ region.region.length > 0 &&
127
+ typeof region?.description === 'string' &&
128
+ region.description.length > 0);
129
+ }
130
+ function getCurrentOrgId() {
131
+ return normalizeCredential(getEnv('AGENTUITY_AIGATEWAY_ORGID', 'AGENTUITY_ORGID', 'AGENTUITY_CLOUD_ORG_ID', 'AGENTUITY_ORG_ID'));
132
+ }
133
+ async function fetchModels() {
134
+ const baseUrl = getBaseUrl();
135
+ let apiKey = normalizeCredential(getEnv('AGENTUITY_CODER_API_KEY', 'AGENTUITY_SDK_KEY', 'AGENTUITY_CLI_API_KEY', 'AGENTUITY_CLI_KEY'));
136
+ let orgId = normalizeCredential(getEnv('AGENTUITY_ORGID', 'AGENTUITY_CLOUD_ORG_ID', 'AGENTUITY_ORG_ID'));
137
+ if (!apiKey) {
138
+ let found = false;
139
+ const fn = getAgentuityCliPath();
140
+ if (fn) {
141
+ try {
142
+ const res = execFileSync(fn, ['auth', 'apikey', '--json']);
143
+ const apiKeyResult = parseJson(res.toString());
144
+ apiKey = normalizeCredential(apiKeyResult.apiKey);
145
+ found = true;
146
+ if (!orgId) {
147
+ const ores = execFileSync(fn, ['auth', 'org', 'current']);
148
+ orgId = normalizeCredential(ores);
149
+ if (!orgId) {
150
+ return {};
166
151
  }
167
152
  }
168
153
  }
154
+ catch (error) {
155
+ throw new AIGatewayModelFetchError({
156
+ message: 'Failed to fetch models from AI Gateway',
157
+ cause: error,
158
+ });
159
+ }
169
160
  }
170
- return data;
171
- }
172
- // Cast pi.on to generic handler since we iterate over a union of event names
173
- // TypeScript overloads require exact string literal matching which doesn't work in loops
174
- const onEvent = pi.on.bind(pi);
175
- // ── session_start: connect + register BEFORE Pi builds the tool list ──
176
- onEvent('session_start', async (event, ctx) => {
177
- await connectAndRegister();
178
- if (client.connected) {
179
- return sendEvent('session_start', serializeEvent(event), ctx);
161
+ if (!found) {
162
+ console.warn('AGENTUITY_SDK_KEY, AGENTUITY_CLI_API_KEY or AGENTUITY_CLI_KEY not set and cannot find the agentuity cli, cannot fetch models from AI Gateway');
163
+ return {};
180
164
  }
181
- });
182
- for (const eventName of PROXY_EVENTS) {
183
- onEvent(eventName, async (event, ctx) => {
184
- if (!client.connected)
185
- return undefined;
186
- return sendEvent(eventName, serializeEvent(event), ctx);
165
+ }
166
+ if (!apiKey) {
167
+ console.warn('Cannot determine the API key, cannot fetch models from AI Gateway');
168
+ return {};
169
+ }
170
+ process.env.AGENTUITY_AIGATEWAY_KEY = apiKey;
171
+ if (orgId) {
172
+ process.env.AGENTUITY_AIGATEWAY_ORGID = orgId;
173
+ }
174
+ try {
175
+ const service = new AIGatewayService(baseUrl, createServerFetchAdapter({ headers: {} }, createMinimalLogger()));
176
+ return await service.listModels();
177
+ }
178
+ catch (error) {
179
+ throw new AIGatewayModelFetchError({
180
+ message: 'Failed to fetch models from AI Gateway',
181
+ cause: error,
187
182
  });
188
183
  }
189
- // Clean up on shutdown
190
- pi.on('session_shutdown', async () => {
191
- log('Shutting down');
192
- client.close();
184
+ }
185
+ function sanitizeModalities(modalities) {
186
+ const sanitized = (modalities ?? []).filter((modality) => modality === 'text' || modality === 'image');
187
+ return sanitized.length > 0 ? sanitized : ['text'];
188
+ }
189
+ function toPiModel(m) {
190
+ return {
191
+ id: m.id,
192
+ name: m.name,
193
+ reasoning: m.reasoning ?? false,
194
+ input: sanitizeModalities(m.input_modalities),
195
+ contextWindow: m.context_window ?? 40000,
196
+ maxTokens: m.max_output_tokens ?? 64000,
197
+ cost: {
198
+ input: m.pricing?.input ?? 0,
199
+ output: m.pricing?.output ?? 0,
200
+ cacheRead: m.pricing?.cached_input ?? 0,
201
+ cacheWrite: 0,
202
+ },
203
+ compat: {
204
+ supportsDeveloperRole: false,
205
+ },
206
+ };
207
+ }
208
+ async function registerAIGatewayProviders(pi) {
209
+ const models = await fetchModels();
210
+ const baseUrl = getBaseUrl();
211
+ const allModels = [];
212
+ for (const providerModels of Object.values(models)) {
213
+ if (providerModels) {
214
+ allModels.push(...providerModels);
215
+ }
216
+ }
217
+ if (allModels.length === 0) {
218
+ return;
219
+ }
220
+ const modelsByApi = new Map();
221
+ for (const m of allModels) {
222
+ const apiType = m.api;
223
+ if (!isKnownApi(apiType)) {
224
+ continue;
225
+ }
226
+ const existing = modelsByApi.get(apiType) ?? [];
227
+ existing.push(toPiModel(m));
228
+ modelsByApi.set(apiType, existing);
229
+ }
230
+ const headers = {};
231
+ if (process.env.AGENTUITY_AIGATEWAY_ORGID) {
232
+ headers['x-agentuity-orgid'] = process.env.AGENTUITY_AIGATEWAY_ORGID;
233
+ }
234
+ for (const [apiType, providerModels] of modelsByApi) {
235
+ const apitok = apiType.split('-');
236
+ const name = apitok.length >= 2 ? apitok.slice(0, 2).join('-') : apitok[0];
237
+ const providerName = `agentuity/${name}`;
238
+ pi.registerProvider(providerName, {
239
+ baseUrl,
240
+ apiKey: 'AGENTUITY_AIGATEWAY_KEY',
241
+ headers,
242
+ authHeader: true,
243
+ api: apiType,
244
+ models: providerModels,
245
+ });
246
+ }
247
+ }
248
+ function registerRegionCommand(pi) {
249
+ pi.registerCommand('region', {
250
+ description: 'Select active Agentuity region',
251
+ handler: async (_args, ctx) => {
252
+ if (!ctx.hasUI) {
253
+ return;
254
+ }
255
+ let regions;
256
+ try {
257
+ regions = fetchRegions();
258
+ }
259
+ catch (error) {
260
+ ctx.ui.notify(`Failed to load Agentuity regions: ${String(error)}`, 'error');
261
+ return;
262
+ }
263
+ if (regions.length === 0) {
264
+ ctx.ui.notify('No Agentuity regions found.', 'warning');
265
+ return;
266
+ }
267
+ const currentRegion = getRegion();
268
+ const labels = regions.map((region) => {
269
+ const marker = region.region === currentRegion ? '* ' : '';
270
+ const defaultLabel = region.default ? ' default' : '';
271
+ return `${marker}${region.description} (${region.region})${defaultLabel}`;
272
+ });
273
+ const selected = await ctx.ui.select('Select Agentuity Region', labels);
274
+ if (!selected) {
275
+ return;
276
+ }
277
+ const selectedIndex = labels.indexOf(selected);
278
+ const region = regions[selectedIndex];
279
+ if (!region) {
280
+ return;
281
+ }
282
+ process.env.AGENTUITY_REGION = region.region;
283
+ ctx.ui.notify(`Using Agentuity region: ${region.description}`, 'info');
284
+ try {
285
+ await registerAIGatewayProviders(pi);
286
+ ctx.ui.notify('Agentuity AI Gateway models refreshed.', 'info');
287
+ }
288
+ catch (error) {
289
+ ctx.ui.notify(`Failed to refresh AI Gateway models: ${String(error)}`, 'error');
290
+ }
291
+ },
292
+ });
293
+ }
294
+ function registerOrganizationCommand(pi) {
295
+ pi.registerCommand('organization', {
296
+ description: 'Select active Agentuity organization',
297
+ handler: async (_args, ctx) => {
298
+ if (!ctx.hasUI) {
299
+ return;
300
+ }
301
+ let organizations;
302
+ try {
303
+ organizations = fetchOrganizations();
304
+ }
305
+ catch (error) {
306
+ ctx.ui.notify(`Failed to load Agentuity organizations: ${String(error)}`, 'error');
307
+ return;
308
+ }
309
+ if (organizations.length === 0) {
310
+ ctx.ui.notify('No Agentuity organizations found for the current CLI login.', 'warning');
311
+ return;
312
+ }
313
+ const currentOrgId = getCurrentOrgId();
314
+ const labels = organizations.map((org) => {
315
+ const marker = org.id === currentOrgId ? '* ' : '';
316
+ return `${marker}${org.name} (${org.id})`;
317
+ });
318
+ const selected = await ctx.ui.select('Select Agentuity Organization', labels);
319
+ if (!selected) {
320
+ return;
321
+ }
322
+ const selectedIndex = labels.indexOf(selected);
323
+ const organization = organizations[selectedIndex];
324
+ if (!organization) {
325
+ return;
326
+ }
327
+ process.env.AGENTUITY_AIGATEWAY_ORGID = organization.id;
328
+ process.env.AGENTUITY_ORGID = organization.id;
329
+ process.env.AGENTUITY_CLOUD_ORG_ID = organization.id;
330
+ process.env.AGENTUITY_ORG_ID = organization.id;
331
+ ctx.ui.notify(`Using Agentuity organization: ${organization.name}`, 'info');
332
+ try {
333
+ await registerAIGatewayProviders(pi);
334
+ ctx.ui.notify('Agentuity AI Gateway models refreshed.', 'info');
335
+ }
336
+ catch (error) {
337
+ ctx.ui.notify(`Failed to refresh AI Gateway models: ${String(error)}`, 'error');
338
+ }
339
+ },
340
+ });
341
+ }
342
+ export async function setupAIGateway(pi) {
343
+ registerOrganizationCommand(pi);
344
+ registerRegionCommand(pi);
345
+ let showedOrganizationPrompt = false;
346
+ pi.on('session_start', (_event, ctx) => {
347
+ if (showedOrganizationPrompt || !ctx.hasUI || getCurrentOrgId()) {
348
+ return;
349
+ }
350
+ showedOrganizationPrompt = true;
351
+ ctx.ui.notify('Use /organization to select an Agentuity organization for AI Gateway models.', 'info');
193
352
  });
353
+ await registerAIGatewayProviders(pi);
194
354
  }
195
- export default agentuityCoderHub;
355
+ export default setupAIGateway;
196
356
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACN,gBAAgB,GAGhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAmB9D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS;IAClC,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;IAClB,wBAAwB;IACxB,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;IACnB,eAAe;CACM,CAAC,CAAC;AAExB,MAAM,wBAAwB,GAAG,eAAe,CAAC,0BAA0B,CAAC,EAExE,CAAC;AAiBL,SAAS,oBAAoB,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClB,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACV,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACzB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,IAAI,WAAW,CAAC,0BAA0B,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,MAAM,CAAC,GAAG,IAAc;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC/B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS;IACjB,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU;IAClB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,qBAAqB,MAAM,kBAAkB,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAClC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB;IAC1B,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAoB,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CACzC,CAAC,GAAG,EAAgC,EAAE,CACrC,OAAO,GAAG,EAAE,EAAE,KAAK,QAAQ;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACjB,OAAO,GAAG,EAAE,IAAI,KAAK,QAAQ;QAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACpB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAsB,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,MAAM,EAA6B,EAAE,CACrC,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ;QAClC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ;QACvC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAC9B,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACvB,OAAO,mBAAmB,CACzB,MAAM,CACL,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,CAClB,CACD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW;IACzB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,mBAAmB,CAC/B,MAAM,CACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,CACnB,CACD,CAAC;IACF,IAAI,KAAK,GAAG,mBAAmB,CAC9B,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,CACvE,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;QACjC,IAAI,EAAE,EAAE,CAAC;YACR,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAuB,CAAC;gBACrE,MAAM,GAAG,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClD,KAAK,GAAG,IAAI,CAAC;gBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC1D,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACZ,OAAO,EAAE,CAAC;oBACX,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,wBAAwB,CAAC;oBAClC,OAAO,EAAE,wCAAwC;oBACjD,KAAK,EAAE,KAAK;iBACZ,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CACX,8IAA8I,CAC9I,CAAC;YACF,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAClF,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,KAAK,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,gBAAgB,CACnC,OAAO,EACP,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAChE,CAAC;QACF,OAAO,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,wBAAwB,CAAC;YAClC,OAAO,EAAE,wCAAwC;YACjD,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAgC;IAC3D,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1C,CAAC,QAAQ,EAAgC,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,CACvF,CAAC;IACF,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,CAAiB;IACnC,OAAO;QACN,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK;QAC/B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC7C,aAAa,EAAE,CAAC,CAAC,cAAc,IAAI,KAAK;QACxC,SAAS,EAAE,CAAC,CAAC,iBAAiB,IAAI,KAAK;QACvC,IAAI,EAAE;YACL,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;YAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;YAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;YACvC,UAAU,EAAE,CAAC;SACb;QACD,MAAM,EAAE;YACP,qBAAqB,EAAE,KAAK;SAC5B;KACD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,EAAgB;IACzD,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;IACR,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE/D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,SAAS;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAC3C,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,WAAW,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,aAAa,IAAI,EAAE,CAAC;QACzC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE;YACjC,OAAO;YACP,MAAM,EAAE,yBAAyB;YACjC,OAAO;YACP,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAgB;IAC9C,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE;QAC5B,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,GAA4B,EAAE,EAAE;YAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;YACR,CAAC;YAED,IAAI,OAA0B,CAAC;YAC/B,IAAI,CAAC;gBACJ,OAAO,GAAG,YAAY,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,qCAAqC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC7E,OAAO;YACR,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBACxD,OAAO;YACR,CAAC;YAED,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;YAC3E,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO;YACR,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC;gBACJ,MAAM,0BAA0B,CAAC,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAgB;IACpD,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE;QAClC,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,GAA4B,EAAE,EAAE;YAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;YACR,CAAC;YAED,IAAI,aAAsC,CAAC;YAC3C,IAAI,CAAC;gBACJ,aAAa,GAAG,kBAAkB,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2CAA2C,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACnF,OAAO;YACR,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6DAA6D,EAAE,SAAS,CAAC,CAAC;gBACxF,OAAO;YACR,CAAC;YAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO;YACR,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,YAAY,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,YAAY,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,YAAY,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAY,CAAC,EAAE,CAAC;YAE/C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAE5E,IAAI,CAAC;gBACJ,MAAM,0BAA0B,CAAC,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAgB;IACpD,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAChC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACtC,IAAI,wBAAwB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC;YACjE,OAAO;QACR,CAAC;QACD,wBAAwB,GAAG,IAAI,CAAC;QAChC,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,8EAA8E,EAC9E,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,0BAA0B,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,eAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agentuity/pi",
3
- "version": "1.0.36",
4
- "description": "Agentuity Coder Hub extension for Pi coding agent",
3
+ "version": "3.0.0-beta.3",
4
+ "description": "Agentuity AI Gateway provider plugin for Pi coding agent",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Agentuity employees and contributors",
7
7
  "type": "module",
@@ -20,17 +20,20 @@
20
20
  },
21
21
  "scripts": {
22
22
  "clean": "rm -rf dist tsconfig.tsbuildinfo",
23
- "build": "bunx tsc --build",
24
- "typecheck": "bunx tsc --noEmit",
23
+ "build": "tsgo --build --force",
24
+ "typecheck": "tsgo --noEmit",
25
25
  "prepublishOnly": "bun run clean && bun run build"
26
26
  },
27
+ "dependencies": {
28
+ "@agentuity/aigateway": "3.0.0-beta.3",
29
+ "@agentuity/adapter": "3.0.0-beta.3",
30
+ "@agentuity/core": "3.0.0-beta.3"
31
+ },
27
32
  "peerDependencies": {
28
- "@mariozechner/pi-coding-agent": "*",
29
- "@sinclair/typebox": "*"
33
+ "@earendil-works/pi-coding-agent": "^0.74.0"
30
34
  },
31
35
  "devDependencies": {
32
- "@mariozechner/pi-coding-agent": "^0.54.2",
33
- "@sinclair/typebox": "^0.34.48",
36
+ "@earendil-works/pi-coding-agent": "^0.74.0",
34
37
  "@types/bun": "^1.3.9",
35
38
  "bun-types": "^1.3.9",
36
39
  "typescript": "^5.9.0"
@@ -38,5 +41,10 @@
38
41
  "publishConfig": {
39
42
  "access": "public"
40
43
  },
41
- "sideEffects": false
44
+ "sideEffects": false,
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/agentuity/sdk.git",
48
+ "directory": "packages/pi"
49
+ }
42
50
  }