@botiverse/oar 0.48.0 → 0.50.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.
- package/README.md +25 -1
- package/dist/contracts/failure.d.ts +35 -0
- package/dist/contracts/failure.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/provider-auth.d.ts +55 -1
- package/dist/contracts/provider-auth.d.ts.map +1 -1
- package/dist/contracts/records.d.ts +8 -10
- package/dist/contracts/records.d.ts.map +1 -1
- package/dist/contracts/session-options.d.ts +15 -5
- package/dist/contracts/session-options.d.ts.map +1 -1
- package/dist/contracts/session.d.ts +15 -3
- package/dist/contracts/session.d.ts.map +1 -1
- package/dist/observe/failure-advice.d.ts +11 -4
- package/dist/observe/failure-advice.d.ts.map +1 -1
- package/dist/observe/failure-advice.js +1 -1
- package/dist/observe/failure-advice.js.map +1 -1
- package/dist/observe/session-view-events.d.ts.map +1 -1
- package/dist/observe/session-view-events.js +3 -0
- package/dist/observe/session-view-events.js.map +1 -1
- package/dist/observe/session-view-fold.d.ts +2 -1
- package/dist/observe/session-view-fold.d.ts.map +1 -1
- package/dist/observe/session-view-fold.js +4 -7
- package/dist/observe/session-view-fold.js.map +1 -1
- package/dist/observe/session-view.d.ts +2 -0
- package/dist/observe/session-view.d.ts.map +1 -1
- package/dist/observe/session-view.js +1 -0
- package/dist/observe/session-view.js.map +1 -1
- package/dist/observe/usage.d.ts +23 -4
- package/dist/observe/usage.d.ts.map +1 -1
- package/dist/observe/usage.js +77 -18
- package/dist/observe/usage.js.map +1 -1
- package/dist/runtimes/antigravity/session.d.ts.map +1 -1
- package/dist/runtimes/antigravity/session.js +2 -2
- package/dist/runtimes/antigravity/session.js.map +1 -1
- package/dist/runtimes/claude/failure.d.ts +25 -4
- package/dist/runtimes/claude/failure.d.ts.map +1 -1
- package/dist/runtimes/claude/failure.js +38 -4
- package/dist/runtimes/claude/failure.js.map +1 -1
- package/dist/runtimes/claude/open-settings.d.ts +13 -3
- package/dist/runtimes/claude/open-settings.d.ts.map +1 -1
- package/dist/runtimes/claude/open-settings.js +94 -14
- package/dist/runtimes/claude/open-settings.js.map +1 -1
- package/dist/runtimes/claude/projection.d.ts +18 -3
- package/dist/runtimes/claude/projection.d.ts.map +1 -1
- package/dist/runtimes/claude/projection.js +29 -22
- package/dist/runtimes/claude/projection.js.map +1 -1
- package/dist/runtimes/claude/session.d.ts.map +1 -1
- package/dist/runtimes/claude/session.js +16 -11
- package/dist/runtimes/claude/session.js.map +1 -1
- package/dist/runtimes/claude/token-usage.d.ts +59 -0
- package/dist/runtimes/claude/token-usage.d.ts.map +1 -0
- package/dist/runtimes/claude/token-usage.js +135 -0
- package/dist/runtimes/claude/token-usage.js.map +1 -0
- package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
- package/dist/runtimes/codex/app-server-client.js +11 -8
- package/dist/runtimes/codex/app-server-client.js.map +1 -1
- package/dist/runtimes/codex/failure.d.ts +2 -4
- package/dist/runtimes/codex/failure.d.ts.map +1 -1
- package/dist/runtimes/codex/open.d.ts.map +1 -1
- package/dist/runtimes/codex/open.js +3 -2
- package/dist/runtimes/codex/open.js.map +1 -1
- package/dist/runtimes/codex/rpc-control.d.ts.map +1 -1
- package/dist/runtimes/codex/rpc-control.js +2 -1
- package/dist/runtimes/codex/rpc-control.js.map +1 -1
- package/dist/runtimes/codex/session.d.ts.map +1 -1
- package/dist/runtimes/codex/session.js +5 -6
- package/dist/runtimes/codex/session.js.map +1 -1
- package/dist/runtimes/grok/failure.js.map +1 -1
- package/dist/runtimes/kimi/session.d.ts.map +1 -1
- package/dist/runtimes/kimi/session.js +2 -2
- package/dist/runtimes/kimi/session.js.map +1 -1
- package/dist/runtimes/opencode/session.d.ts.map +1 -1
- package/dist/runtimes/opencode/session.js +3 -2
- package/dist/runtimes/opencode/session.js.map +1 -1
- package/dist/runtimes/pi/auth.d.ts +26 -5
- package/dist/runtimes/pi/auth.d.ts.map +1 -1
- package/dist/runtimes/pi/auth.js +53 -20
- package/dist/runtimes/pi/auth.js.map +1 -1
- package/dist/runtimes/pi/catalog.d.ts +3 -6
- package/dist/runtimes/pi/catalog.d.ts.map +1 -1
- package/dist/runtimes/pi/catalog.js +3 -11
- package/dist/runtimes/pi/catalog.js.map +1 -1
- package/dist/runtimes/pi/credentials.d.ts +6 -0
- package/dist/runtimes/pi/credentials.d.ts.map +1 -0
- package/dist/runtimes/pi/credentials.js +17 -0
- package/dist/runtimes/pi/credentials.js.map +1 -0
- package/dist/runtimes/pi/facade-runtime.d.ts +20 -0
- package/dist/runtimes/pi/facade-runtime.d.ts.map +1 -0
- package/dist/runtimes/pi/facade-runtime.js +23 -0
- package/dist/runtimes/pi/facade-runtime.js.map +1 -0
- package/dist/runtimes/pi/failure.d.ts +2 -4
- package/dist/runtimes/pi/failure.d.ts.map +1 -1
- package/dist/runtimes/pi/inventory.d.ts.map +1 -1
- package/dist/runtimes/pi/inventory.js +2 -1
- package/dist/runtimes/pi/inventory.js.map +1 -1
- package/dist/runtimes/pi/list-models.d.ts.map +1 -1
- package/dist/runtimes/pi/list-models.js +2 -1
- package/dist/runtimes/pi/list-models.js.map +1 -1
- package/dist/runtimes/pi/mcp.d.ts.map +1 -1
- package/dist/runtimes/pi/mcp.js +3 -2
- package/dist/runtimes/pi/mcp.js.map +1 -1
- package/dist/runtimes/pi/open.d.ts +1 -1
- package/dist/runtimes/pi/open.d.ts.map +1 -1
- package/dist/runtimes/pi/open.js +8 -4
- package/dist/runtimes/pi/open.js.map +1 -1
- package/dist/runtimes/pi/resolve.d.ts +9 -0
- package/dist/runtimes/pi/resolve.d.ts.map +1 -1
- package/dist/runtimes/pi/resolve.js +12 -0
- package/dist/runtimes/pi/resolve.js.map +1 -1
- package/dist/runtimes/pi/session.d.ts.map +1 -1
- package/dist/runtimes/pi/session.js +6 -7
- package/dist/runtimes/pi/session.js.map +1 -1
- package/dist/shared/acp/failure.js +2 -2
- package/dist/shared/acp/failure.js.map +1 -1
- package/dist/shared/acp/mcp-servers.d.ts +1 -1
- package/dist/shared/acp/mcp-servers.d.ts.map +1 -1
- package/dist/shared/acp/mcp-servers.js +1 -2
- package/dist/shared/acp/mcp-servers.js.map +1 -1
- package/dist/shared/acp/process.d.ts +3 -0
- package/dist/shared/acp/process.d.ts.map +1 -1
- package/dist/shared/acp/process.js +14 -1
- package/dist/shared/acp/process.js.map +1 -1
- package/dist/shared/acp/profile.d.ts +2 -3
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/profile.js +3 -4
- package/dist/shared/acp/profile.js.map +1 -1
- package/dist/shared/acp/session.d.ts.map +1 -1
- package/dist/shared/acp/session.js +7 -8
- package/dist/shared/acp/session.js.map +1 -1
- package/dist/shared/credential-redactor.d.ts +9 -0
- package/dist/shared/credential-redactor.d.ts.map +1 -0
- package/dist/shared/credential-redactor.js +75 -0
- package/dist/shared/credential-redactor.js.map +1 -0
- package/dist/shared/failure-class.d.ts +2 -3
- package/dist/shared/failure-class.d.ts.map +1 -1
- package/dist/shared/failure-class.js.map +1 -1
- package/dist/shared/mcp-servers.d.ts +1 -6
- package/dist/shared/mcp-servers.d.ts.map +1 -1
- package/dist/shared/mcp-servers.js +3 -18
- package/dist/shared/mcp-servers.js.map +1 -1
- package/dist/shared/native-error.d.ts +7 -0
- package/dist/shared/native-error.d.ts.map +1 -0
- package/dist/shared/native-error.js +20 -0
- package/dist/shared/native-error.js.map +1 -0
- package/dist/shared/redact-text.d.ts +3 -0
- package/dist/shared/redact-text.d.ts.map +1 -0
- package/dist/shared/redact-text.js +71 -0
- package/dist/shared/redact-text.js.map +1 -0
- package/dist/shared/seal-session.js +1 -1
- package/dist/shared/seal-session.js.map +1 -1
- package/dist/shared/session-credentials.d.ts +11 -0
- package/dist/shared/session-credentials.d.ts.map +1 -0
- package/dist/shared/session-credentials.js +45 -0
- package/dist/shared/session-credentials.js.map +1 -0
- package/dist/shared/session-kernel.d.ts +2 -1
- package/dist/shared/session-kernel.d.ts.map +1 -1
- package/dist/shared/session-kernel.js +7 -5
- package/dist/shared/session-kernel.js.map +1 -1
- package/package.json +1 -1
package/dist/runtimes/pi/auth.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { configurePiHttp } from "./http.js";
|
|
1
|
+
import { piFacadeRuntime } from "./facade-runtime.js";
|
|
3
2
|
export function toLoginEvent(event) {
|
|
4
3
|
switch (event.type) {
|
|
5
4
|
case "auth_url":
|
|
@@ -41,6 +40,29 @@ export function toLoginPrompt(prompt) {
|
|
|
41
40
|
...(prompt.placeholder === undefined ? {} : { placeholder: prompt.placeholder }),
|
|
42
41
|
};
|
|
43
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* One provider as pi's `/login` offers it (`getLoginProviderOptions`): its
|
|
45
|
+
* OAuth sign-in, then its API key, ambient when pi has no prompt for it (pi:
|
|
46
|
+
* "configured outside pi"). Undefined when it accepts neither.
|
|
47
|
+
*/
|
|
48
|
+
export function piLoginProvider(provider) {
|
|
49
|
+
const { oauth, apiKey } = provider.auth;
|
|
50
|
+
const methods = [];
|
|
51
|
+
if (oauth !== undefined) {
|
|
52
|
+
methods.push({
|
|
53
|
+
method: "oauth",
|
|
54
|
+
name: oauth.name,
|
|
55
|
+
subscription: oauth.isSubscription === true,
|
|
56
|
+
...(oauth.loginLabel === undefined ? {} : { loginLabel: oauth.loginLabel }),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (apiKey !== undefined) {
|
|
60
|
+
methods.push(apiKey.login === undefined
|
|
61
|
+
? { method: "api_key", name: apiKey.name, ambient: true }
|
|
62
|
+
: { method: "api_key", name: apiKey.name });
|
|
63
|
+
}
|
|
64
|
+
return methods.length === 0 ? undefined : { providerId: provider.id, name: provider.name, methods };
|
|
65
|
+
}
|
|
44
66
|
/** Bridge an oar {@link ProviderLoginInteraction} into Pi's interaction shape. */
|
|
45
67
|
function toPiInteraction(interaction) {
|
|
46
68
|
return {
|
|
@@ -54,15 +76,27 @@ function toPiInteraction(interaction) {
|
|
|
54
76
|
},
|
|
55
77
|
};
|
|
56
78
|
}
|
|
57
|
-
/**
|
|
58
|
-
|
|
79
|
+
/**
|
|
80
|
+
* A non-interactive interaction for `setApiKey`: it answers pi's key prompt
|
|
81
|
+
* (the first prompt, a secret) with the key and refuses any other, which stops
|
|
82
|
+
* the flow before pi stores anything. A flow that asks more (amazon-bedrock and
|
|
83
|
+
* google-vertex ask which credential first, the Cloudflare providers ask for
|
|
84
|
+
* account and gateway ids after the key) needs the person: `login`.
|
|
85
|
+
*/
|
|
86
|
+
function keyOnlyInteraction(providerId, apiKey) {
|
|
87
|
+
let keyGiven = false;
|
|
59
88
|
return {
|
|
60
89
|
onEvent: () => {
|
|
61
|
-
// A
|
|
90
|
+
// A key-only flow surfaces no URL or device code.
|
|
62
91
|
},
|
|
63
|
-
prompt: async () => {
|
|
92
|
+
prompt: async (prompt) => {
|
|
64
93
|
await Promise.resolve();
|
|
65
|
-
|
|
94
|
+
if (!keyGiven && prompt.kind === "secret") {
|
|
95
|
+
keyGiven = true;
|
|
96
|
+
return apiKey;
|
|
97
|
+
}
|
|
98
|
+
throw new Error(`${providerId}'s API-key login asks more than the key (${prompt.kind}: "${prompt.message}"): `
|
|
99
|
+
+ `use login("${providerId}", "api_key", interaction) instead of setApiKey`);
|
|
66
100
|
},
|
|
67
101
|
};
|
|
68
102
|
}
|
|
@@ -83,7 +117,9 @@ class PiProviderAuth {
|
|
|
83
117
|
configured: true,
|
|
84
118
|
method: check.type === "oauth" ? "oauth" : "api_key",
|
|
85
119
|
...(label === undefined ? {} : { label }),
|
|
86
|
-
|
|
120
|
+
// Pi's `isUsingSubscription`, read from this check: pi's own reads the
|
|
121
|
+
// availability snapshot, which `refreshOnCreate: false` leaves empty.
|
|
122
|
+
subscription: check.type === "oauth" && this.#runtime.getProvider(providerId)?.auth.oauth?.isSubscription === true,
|
|
87
123
|
};
|
|
88
124
|
}
|
|
89
125
|
async listProviders() {
|
|
@@ -93,6 +129,11 @@ class PiProviderAuth {
|
|
|
93
129
|
return status;
|
|
94
130
|
}));
|
|
95
131
|
}
|
|
132
|
+
loginProviders() {
|
|
133
|
+
// Pi's `/login` lists its providers by name.
|
|
134
|
+
const providers = this.#runtime.getProviders().toSorted((left, right) => left.name.localeCompare(right.name));
|
|
135
|
+
return providers.flatMap((provider) => piLoginProvider(provider) ?? []);
|
|
136
|
+
}
|
|
96
137
|
async status(providerId) {
|
|
97
138
|
const status = await this.#statusOf(providerId);
|
|
98
139
|
return status;
|
|
@@ -104,10 +145,10 @@ class PiProviderAuth {
|
|
|
104
145
|
return status;
|
|
105
146
|
}
|
|
106
147
|
async setApiKey(providerId, apiKey) {
|
|
107
|
-
// Persist the key by running
|
|
108
|
-
//
|
|
148
|
+
// Persist the key by running pi's api-key login flow, answering its key
|
|
149
|
+
// prompt and nothing else (see keyOnlyInteraction).
|
|
109
150
|
const authType = "api_key";
|
|
110
|
-
await this.#runtime.login(providerId, authType, toPiInteraction(
|
|
151
|
+
await this.#runtime.login(providerId, authType, toPiInteraction(keyOnlyInteraction(providerId, apiKey)));
|
|
111
152
|
}
|
|
112
153
|
async logout(providerId) {
|
|
113
154
|
await this.#runtime.logout(providerId);
|
|
@@ -115,15 +156,7 @@ class PiProviderAuth {
|
|
|
115
156
|
}
|
|
116
157
|
/** Create a {@link ProviderAuthFacade} backed by Pi's `ModelRuntime`. */
|
|
117
158
|
export async function createPiProviderAuth(options = {}) {
|
|
118
|
-
|
|
119
|
-
// the same settings (OAR_PI_AGENT_DIR ?? pi's agent dir) every pi entry
|
|
120
|
-
// point of the adapter reads, so login behaves like a session (see http.ts).
|
|
121
|
-
await configurePiHttp(SettingsManager.create(process.cwd(), process.env.OAR_PI_AGENT_DIR ?? getAgentDir()));
|
|
122
|
-
const runtime = await ModelRuntime.create({
|
|
123
|
-
...(options.authPath === undefined ? {} : { authPath: options.authPath }),
|
|
124
|
-
allowModelNetwork: false,
|
|
125
|
-
refreshOnCreate: false,
|
|
126
|
-
});
|
|
159
|
+
const runtime = await piFacadeRuntime(options, { allowModelNetwork: false, refreshOnCreate: false });
|
|
127
160
|
return new PiProviderAuth(runtime);
|
|
128
161
|
}
|
|
129
162
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/runtimes/pi/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/runtimes/pi/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { ModelCatalogFacade } from "../../contracts/model-catalog.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/** Path to Pi's `models.json`; `null` disables the static config. */
|
|
6
|
-
readonly modelsPath?: string | null;
|
|
7
|
-
}
|
|
2
|
+
import { type PiModelRuntimePaths } from "./facade-runtime.js";
|
|
3
|
+
/** `auth.json` and `models.json` default into the agent dir sessions use. */
|
|
4
|
+
export type PiModelCatalogOptions = PiModelRuntimePaths;
|
|
8
5
|
/** Create a {@link ModelCatalogFacade} backed by Pi's `ModelRegistry`. */
|
|
9
6
|
export declare function createPiModelCatalog(options?: PiModelCatalogOptions): Promise<ModelCatalogFacade>;
|
|
10
7
|
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAkEhF,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAExD,0EAA0E;AAC1E,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAG3G"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ModelRegistry, resolveCliModel } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { piFacadeRuntime } from "./facade-runtime.js";
|
|
3
3
|
function toCatalogModel(model) {
|
|
4
4
|
return {
|
|
5
5
|
id: model.id,
|
|
@@ -57,15 +57,7 @@ class PiModelCatalog {
|
|
|
57
57
|
}
|
|
58
58
|
/** Create a {@link ModelCatalogFacade} backed by Pi's `ModelRegistry`. */
|
|
59
59
|
export async function createPiModelCatalog(options = {}) {
|
|
60
|
-
|
|
61
|
-
// same settings (OAR_PI_AGENT_DIR ?? pi's agent dir) every pi entry point
|
|
62
|
-
// of the adapter reads, so the catalog behaves like a session (see http.ts).
|
|
63
|
-
await configurePiHttp(SettingsManager.create(process.cwd(), process.env.OAR_PI_AGENT_DIR ?? getAgentDir()));
|
|
64
|
-
const runtime = await ModelRuntime.create({
|
|
65
|
-
...(options.authPath === undefined ? {} : { authPath: options.authPath }),
|
|
66
|
-
...(options.modelsPath === undefined ? {} : { modelsPath: options.modelsPath }),
|
|
67
|
-
refreshOnCreate: false,
|
|
68
|
-
});
|
|
60
|
+
const runtime = await piFacadeRuntime(options, { refreshOnCreate: false });
|
|
69
61
|
return new PiModelCatalog(runtime);
|
|
70
62
|
}
|
|
71
63
|
//# sourceMappingURL=catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/runtimes/pi/catalog.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/runtimes/pi/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ExtensionFactory, ModelRegistry } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
/** Resolve only the selected model through the SDK's auth API. OAR never opens credential files. */
|
|
3
|
+
export declare function rememberPiKey(registry: ModelRegistry, model: Parameters<ModelRegistry["getApiKeyAndHeaders"]>[0] | undefined, add: (key: string | undefined) => void): Promise<void>;
|
|
4
|
+
/** Pi awaits model_select before returning from a model change, before its next provider request. */
|
|
5
|
+
export declare function piCredentialExtension(add: (key: string | undefined) => void): ExtensionFactory;
|
|
6
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEvF,oGAAoG;AACpG,wBAAsB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1L;AAED,qGAAqG;AACrG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,gBAAgB,CAI9F"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Resolve only the selected model through the SDK's auth API. OAR never opens credential files. */
|
|
2
|
+
export async function rememberPiKey(registry, model, add) {
|
|
3
|
+
if (model === undefined) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const auth = await registry.getApiKeyAndHeaders(model);
|
|
7
|
+
if (auth.ok) {
|
|
8
|
+
add(auth.apiKey);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/** Pi awaits model_select before returning from a model change, before its next provider request. */
|
|
12
|
+
export function piCredentialExtension(add) {
|
|
13
|
+
return (pi) => {
|
|
14
|
+
pi.on("model_select", async (event, context) => { await rememberPiKey(context.modelRegistry, event.model, add); });
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/runtimes/pi/credentials.ts"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAuB,EAAE,KAAsE,EAAE,GAAsC;IACzK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;AACpC,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,qBAAqB,CAAC,GAAsC;IAC1E,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModelRuntime } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
/** Where a facade's `ModelRuntime` keeps credentials and custom providers; both default into the agent dir. */
|
|
3
|
+
export interface PiModelRuntimePaths {
|
|
4
|
+
/** Path to Pi's `auth.json`; defaults to `auth.json` in the agent dir. */
|
|
5
|
+
readonly authPath?: string;
|
|
6
|
+
/** Path to Pi's `models.json`; defaults to `models.json` in the agent dir; `null` disables the static config. */
|
|
7
|
+
readonly modelsPath?: string | null;
|
|
8
|
+
}
|
|
9
|
+
type ModelRuntimeOptions = NonNullable<Parameters<typeof ModelRuntime.create>[0]>;
|
|
10
|
+
/**
|
|
11
|
+
* A `ModelRuntime` for a facade, reading the same agent dir as a session:
|
|
12
|
+
* `OAR_PI_AGENT_DIR`, else pi's own (`PI_CODING_AGENT_DIR` or `~/.pi/agent`).
|
|
13
|
+
* Left to pi, `auth.json` and `models.json` would come from pi's own dir even
|
|
14
|
+
* with `OAR_PI_AGENT_DIR` set, so a login would not reach the next session.
|
|
15
|
+
* Network calls (OAuth, catalog refresh) need the proxy plane first, from
|
|
16
|
+
* that dir's settings (see http.ts).
|
|
17
|
+
*/
|
|
18
|
+
export declare function piFacadeRuntime(paths: PiModelRuntimePaths, options: Omit<ModelRuntimeOptions, "authPath" | "modelsPath">): Promise<ModelRuntime>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=facade-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade-runtime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/facade-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAmB,MAAM,iCAAiC,CAAC;AAI7F,+GAA+G;AAC/G,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,KAAK,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAStJ"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { getAgentDir, ModelRuntime, SettingsManager } from "@earendil-works/pi-coding-agent";
|
|
3
|
+
import { configurePiHttp } from "./http.js";
|
|
4
|
+
import { piAgentDir } from "./resolve.js";
|
|
5
|
+
/**
|
|
6
|
+
* A `ModelRuntime` for a facade, reading the same agent dir as a session:
|
|
7
|
+
* `OAR_PI_AGENT_DIR`, else pi's own (`PI_CODING_AGENT_DIR` or `~/.pi/agent`).
|
|
8
|
+
* Left to pi, `auth.json` and `models.json` would come from pi's own dir even
|
|
9
|
+
* with `OAR_PI_AGENT_DIR` set, so a login would not reach the next session.
|
|
10
|
+
* Network calls (OAuth, catalog refresh) need the proxy plane first, from
|
|
11
|
+
* that dir's settings (see http.ts).
|
|
12
|
+
*/
|
|
13
|
+
export async function piFacadeRuntime(paths, options) {
|
|
14
|
+
const agentDir = piAgentDir(getAgentDir);
|
|
15
|
+
await configurePiHttp(SettingsManager.create(process.cwd(), agentDir));
|
|
16
|
+
return ModelRuntime.create({
|
|
17
|
+
...options,
|
|
18
|
+
authPath: paths.authPath ?? join(agentDir, "auth.json"),
|
|
19
|
+
// pi reads an absent modelsPath as its own dir's; null is what disables it.
|
|
20
|
+
modelsPath: paths.modelsPath === undefined ? join(agentDir, "models.json") : paths.modelsPath,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=facade-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade-runtime.js","sourceRoot":"","sources":["../../../src/runtimes/pi/facade-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAA0B,EAAE,OAA6D;IAC7H,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,OAAO,YAAY,CAAC,MAAM,CAAC;QACzB,GAAG,OAAO;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvD,4EAA4E;QAC5E,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;KAC9F,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FailedTurn } from "../../contracts/session.js";
|
|
2
2
|
/** The provider failure pi reported for a run. */
|
|
3
3
|
export interface PiProviderError {
|
|
4
4
|
readonly message: string;
|
|
@@ -6,7 +6,5 @@ export interface PiProviderError {
|
|
|
6
6
|
readonly overflow: boolean;
|
|
7
7
|
}
|
|
8
8
|
/** Classify the run pi failed with `error`. */
|
|
9
|
-
export declare function piFailure(error: PiProviderError):
|
|
10
|
-
kind: "failed";
|
|
11
|
-
}>;
|
|
9
|
+
export declare function piFailure(error: PiProviderError): FailedTurn;
|
|
12
10
|
//# sourceMappingURL=failure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/failure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/failure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAW7D,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAc5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAmC,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAmC,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAsD5H,eAAO,MAAM,QAAQ,6BAAsC,CAAC;AAC5D,eAAO,MAAM,OAAO,4BAAqC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { asRecord } from "../../shared/json.js";
|
|
2
2
|
import { inventoryOk, inventoryRead, unsupportedInventory, workspaceScope } from "../../shared/inventory.js";
|
|
3
|
+
import { piAgentDir } from "./resolve.js";
|
|
3
4
|
function piInventories(session, scope) {
|
|
4
5
|
return {
|
|
5
6
|
skills: () => {
|
|
@@ -31,7 +32,7 @@ function reader(select) {
|
|
|
31
32
|
// the eventual session is still disposed. No trust-store write or model prompt.
|
|
32
33
|
const result = await inventoryRead(async () => {
|
|
33
34
|
const sdk = await import("@earendil-works/pi-coding-agent");
|
|
34
|
-
const agentDir =
|
|
35
|
+
const agentDir = piAgentDir(() => sdk.getAgentDir());
|
|
35
36
|
const services = await sdk.createAgentSessionServices({ cwd: scope.cwd, agentDir });
|
|
36
37
|
const { session } = await sdk.createAgentSessionFromServices({
|
|
37
38
|
services, sessionManager: sdk.SessionManager.inMemory(scope.cwd),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/runtimes/pi/inventory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,aAAa,EAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAC5E,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAC1D,WAAW,CAeb;AAED,eAAO,MAAM,YAAY,EAAE,WA0BzB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { configurePiHttp } from "./http.js";
|
|
2
|
+
import { piAgentDir } from "./resolve.js";
|
|
2
3
|
import { projectPiModels } from "./model-projection.js";
|
|
3
4
|
export { projectPiModels } from "./model-projection.js";
|
|
4
5
|
/**
|
|
@@ -42,7 +43,7 @@ export function createPiListModels(createRuntime, thinkingLevelsOf) {
|
|
|
42
43
|
}
|
|
43
44
|
export const piListModels = createPiListModels(async (signal) => {
|
|
44
45
|
const { createAgentSessionServices, getAgentDir, SettingsManager } = await import("@earendil-works/pi-coding-agent");
|
|
45
|
-
const agentDir =
|
|
46
|
+
const agentDir = piAgentDir(getAgentDir);
|
|
46
47
|
// getAvailable() can refresh OAuth tokens over the network: the proxy
|
|
47
48
|
// plane first, from the same settings manager the services get (see
|
|
48
49
|
// http.ts).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAA0E,MAAM,uBAAuB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAA4E,EAC5E,gBAA2D;IAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QAC1C,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,2CAA2C,MAAM,EAAE,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC3E,MAAM,EAAE,0BAA0B,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,sEAAsE;IACtE,oEAAoE;IACpE,YAAY;IACZ,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ;QACR,eAAe;QACf,kBAAkB,EAAE,MAAM;QAC1B,qBAAqB,EAAE;YACrB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;SACrB;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC,EAAE,KAAK,IAAI,EAAE;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC7E,OAAO,0BAA0B,CAAC;AACpC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA2B5E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,GAAE,cAAc,CAAC,KAAK,CAAM,GAAG,eAAe,CAY5G;AAcD,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAKtE;AAmBD,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CACvF;AAKD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA+BhH"}
|
package/dist/runtimes/pi/mcp.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { sessionCredentialRedactor } from "../../shared/credential-redactor.js";
|
|
1
2
|
import { UnsupportedOptionError } from "../../contracts/errors.js";
|
|
2
3
|
import path from "node:path";
|
|
3
|
-
import { checkMcpServerNames, givenMcpServers, isHttpMcpServer
|
|
4
|
+
import { checkMcpServerNames, givenMcpServers, isHttpMcpServer } from "../../shared/mcp-servers.js";
|
|
4
5
|
/*
|
|
5
6
|
* SessionOptions.mcpServers on pi: the SDK's own MCP support, as the pi CLI
|
|
6
7
|
* runs it (pi-coding-agent 1.0.4). pi's MCP client is the built-in `mcp`
|
|
@@ -102,7 +103,7 @@ export async function piMcpExtensions(options, agentDir) {
|
|
|
102
103
|
}
|
|
103
104
|
checkPiMcpServerNames(servers);
|
|
104
105
|
const sdk = await import("@earendil-works/pi-coding-agent");
|
|
105
|
-
const redact =
|
|
106
|
+
const { redact } = sessionCredentialRedactor(options);
|
|
106
107
|
const failures = [];
|
|
107
108
|
const register = (pi) => {
|
|
108
109
|
for (const server of servers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/runtimes/pi/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/runtimes/pi/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,5 +53,5 @@ export declare const piRefusedSessionOptions: RefusedSessionOptions;
|
|
|
53
53
|
* then the session against an explicit SessionManager so resume and creation
|
|
54
54
|
* share one session directory.
|
|
55
55
|
*/
|
|
56
|
-
export declare function openPiAgentSession(options: SessionOptions): Promise<PiAgentSession>;
|
|
56
|
+
export declare function openPiAgentSession(options: SessionOptions, rememberKey?: (key: string | undefined) => void): Promise<PiAgentSession>;
|
|
57
57
|
//# sourceMappingURL=open.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAajE;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAC/C,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAKxE;AAED,sHAAsH;AACtH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;AAatF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAM/D;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,0BAA0B,IAAI,SAAS,MAAM,EAAE,CAAC;CACjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAMzF;AAED,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,EAAE,qBAGrC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAuG1I"}
|
package/dist/runtimes/pi/open.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { refuseSessionOptions } from "../../shared/session-options.js";
|
|
2
2
|
import { sessionEnvironment } from "../../shared/environment.js";
|
|
3
|
+
import { piCredentialExtension, rememberPiKey } from "./credentials.js";
|
|
3
4
|
import { configurePiHttp } from "./http.js";
|
|
4
5
|
import { disposePiAgentSession } from "./lifecycle.js";
|
|
5
6
|
import { piMcpExtensions, validatePiMcpEnvironment } from "./mcp.js";
|
|
6
|
-
import { piFindSessionFile, piResolveModel, piSessionDir } from "./resolve.js";
|
|
7
|
+
import { piAgentDir, piFindSessionFile, piResolveModel, piSessionDir } from "./resolve.js";
|
|
7
8
|
/*
|
|
8
9
|
* Opening the bundled pi SDK session: services, session file (create or
|
|
9
10
|
* resume by id), model resolution and read-back. The record-stream mapping
|
|
@@ -80,7 +81,7 @@ export const piRefusedSessionOptions = {
|
|
|
80
81
|
* then the session against an explicit SessionManager so resume and creation
|
|
81
82
|
* share one session directory.
|
|
82
83
|
*/
|
|
83
|
-
export async function openPiAgentSession(options) {
|
|
84
|
+
export async function openPiAgentSession(options, rememberKey) {
|
|
84
85
|
refuseSessionOptions(piRefusedSessionOptions, options);
|
|
85
86
|
validatePiMcpEnvironment(options);
|
|
86
87
|
const thinkingLevel = options.effort === undefined ? undefined : piThinkingLevel(options.effort);
|
|
@@ -89,7 +90,7 @@ export async function openPiAgentSession(options) {
|
|
|
89
90
|
// settings/sessions); same namespaced-env-pin pattern as OAR_CLAUDE_BIN.
|
|
90
91
|
// This is how a host (or the pi-aimock behavior backend) points the
|
|
91
92
|
// in-process model plane somewhere else.
|
|
92
|
-
const agentDir =
|
|
93
|
+
const agentDir = piAgentDir(() => sdk.getAgentDir());
|
|
93
94
|
// YOLO by default (repo policy): pi gates tool execution on project trust,
|
|
94
95
|
// which is an approval prompt no embedded host can answer; pre-trust the
|
|
95
96
|
// session cwd the same way pi's own Trust button would (auditable in
|
|
@@ -121,7 +122,7 @@ export async function openPiAgentSession(options) {
|
|
|
121
122
|
resourceLoaderOptions: {
|
|
122
123
|
...(options.systemPrompt === undefined ? {} : { systemPrompt: options.systemPrompt }),
|
|
123
124
|
...(options.appendSystemPrompt === undefined ? {} : { appendSystemPrompt: [options.appendSystemPrompt] }),
|
|
124
|
-
...(mcp ===
|
|
125
|
+
extensionFactories: [...(mcp?.extensions ?? []), ...(rememberKey === undefined ? [] : [{ name: "oar-credentials", factory: piCredentialExtension(rememberKey), hidden: true }])],
|
|
125
126
|
},
|
|
126
127
|
});
|
|
127
128
|
mcp?.check(services.resourceLoader.getExtensions().errors);
|
|
@@ -173,6 +174,9 @@ export async function openPiAgentSession(options) {
|
|
|
173
174
|
// default session_start reason: startup. bindExtensions emits it and
|
|
174
175
|
// awaits resource discovery, whether or not MCP was requested.
|
|
175
176
|
try {
|
|
177
|
+
if (rememberKey !== undefined) {
|
|
178
|
+
await rememberPiKey(new sdk.ModelRegistry(session.modelRuntime), session.model, rememberKey);
|
|
179
|
+
}
|
|
176
180
|
await session.bindExtensions({});
|
|
177
181
|
}
|
|
178
182
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,15 @@ export interface PiSessionLister {
|
|
|
11
11
|
export interface PiModelLookup<TModel> {
|
|
12
12
|
getModel(provider: string, modelId: string): TModel | undefined;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* pi's global config home (auth.json, models.json, settings, sessions) for
|
|
16
|
+
* every pi entry point: `OAR_PI_AGENT_DIR`, else pi's own (`fallback`, pi's
|
|
17
|
+
* `getAgentDir`: `PI_CODING_AGENT_DIR` or `~/.pi/agent`). Empty counts as
|
|
18
|
+
* unset, as pi treats an empty `PI_CODING_AGENT_DIR`; kept, it would join
|
|
19
|
+
* into relative paths and put auth.json in the working directory. Here, free
|
|
20
|
+
* of pi imports, so the entry points that load pi lazily can share it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function piAgentDir(fallback: () => string): string;
|
|
14
23
|
/**
|
|
15
24
|
* Mirrors pi's unexported `getDefaultSessionDirPath` (session-manager.js
|
|
16
25
|
* 0.84.2): the cwd is resolved, its leading separator dropped, every `/ \ :`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAcA,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CAC3E;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW3F"}
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAcA,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CAC3E;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,MAAM,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW3F"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { join, resolve } from "node:path";
|
|
2
2
|
import { RuntimeFailureError } from "../../contracts/runtime-failure-error.js";
|
|
3
|
+
/**
|
|
4
|
+
* pi's global config home (auth.json, models.json, settings, sessions) for
|
|
5
|
+
* every pi entry point: `OAR_PI_AGENT_DIR`, else pi's own (`fallback`, pi's
|
|
6
|
+
* `getAgentDir`: `PI_CODING_AGENT_DIR` or `~/.pi/agent`). Empty counts as
|
|
7
|
+
* unset, as pi treats an empty `PI_CODING_AGENT_DIR`; kept, it would join
|
|
8
|
+
* into relative paths and put auth.json in the working directory. Here, free
|
|
9
|
+
* of pi imports, so the entry points that load pi lazily can share it.
|
|
10
|
+
*/
|
|
11
|
+
export function piAgentDir(fallback) {
|
|
12
|
+
const pinned = process.env.OAR_PI_AGENT_DIR;
|
|
13
|
+
return pinned === undefined || pinned === "" ? fallback() : pinned;
|
|
14
|
+
}
|
|
3
15
|
/**
|
|
4
16
|
* Mirrors pi's unexported `getDefaultSessionDirPath` (session-manager.js
|
|
5
17
|
* 0.84.2): the cwd is resolved, its leading separator dropped, every `/ \ :`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AA6B/E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,EAAU,EACV,GAAW,EACX,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,cAAc,EAAE,kDAAkD,UAAU,GAAG;cAC7E,IAAI,QAAQ,CAAC,MAAM,6BAA6B,GAAG,+CAA+C,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,+EAA+E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAS,MAA6B,EAAE,KAAa;IACjF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,mBAAmB,CAC3B,mBAAmB,EACnB,YAAY,KAAK,gCAAgC,QAAQ,iBAAiB,OAAO,GAAG;cAClF,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/runtimes/pi/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AA6B/E;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,QAAsB;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,EAAU,EACV,GAAW,EACX,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,cAAc,EAAE,kDAAkD,UAAU,GAAG;cAC7E,IAAI,QAAQ,CAAC,MAAM,6BAA6B,GAAG,+CAA+C,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,+EAA+E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAS,MAA6B,EAAE,KAAa;IACjF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,mBAAmB,CAC3B,mBAAmB,EACnB,YAAY,KAAK,gCAAgC,QAAQ,iBAAiB,OAAO,GAAG;cAClF,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|