Lines 1158-1198javascript
1163 if (cancelled) return;
1165 abortController.abort();
1167 await session?.abort();
1177async function defaultCreatePiSession(ctx) {
1178 const spec = "@earendil-works/pi-coding-agent";
1179 const mod = await import(spec);
1180 const { AuthStorage, ModelRegistry, SessionManager, createAgentSession, defineTool, resolveCliModel } = mod;
MediumDynamic Require
Package source references dynamic require/import behavior.
dist/main.jsView on unpkg · L1178 1181 const authStorage = AuthStorage.create();
1182 for (const [key, value] of Object.entries(ctx.runtimeEnv ?? {})) {
1183 const provider = PROVIDER_BY_ENV[key];
1184 if (provider) authStorage.setRuntimeApiKey(provider, value);
1186 const modelRegistry = ModelRegistry.create(authStorage);
1188 if (ctx.config.model) {
1189 const resolved = resolveCliModel({ cliModel: ctx.config.model, modelRegistry });
1190 if (!resolved?.error) model = resolved?.model;
1192 const stageComplete = defineTool({
1193 name: PI_STAGE_COMPLETE_TOOL,
1194 label: "Stage complete",
1195 description: "End the current stage and hand off a one-sentence summary of what was accomplished.",
1196 parameters: { type: "object", properties: { summary: { type: "string" } }, required: ["summary"] },
1197 execute: async () => ({ content: [{ type: "text", text: "Stage marked complete." }], details: {} })