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