@maiaos/agent 0.1.0-canary.2
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 +115 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/maia-auth.d.ts +23 -0
- package/dist/auth/maia-auth.d.ts.map +1 -0
- package/dist/auth/maia-auth.js +97 -0
- package/dist/auth/maia-auth.js.map +1 -0
- package/dist/auth/memory-credentials.d.ts +9 -0
- package/dist/auth/memory-credentials.d.ts.map +1 -0
- package/dist/auth/memory-credentials.js +23 -0
- package/dist/auth/memory-credentials.js.map +1 -0
- package/dist/extensions/goal/command.d.ts +28 -0
- package/dist/extensions/goal/command.d.ts.map +1 -0
- package/dist/extensions/goal/command.js +80 -0
- package/dist/extensions/goal/command.js.map +1 -0
- package/dist/extensions/goal/context.d.ts +24 -0
- package/dist/extensions/goal/context.d.ts.map +1 -0
- package/dist/extensions/goal/context.js +35 -0
- package/dist/extensions/goal/context.js.map +1 -0
- package/dist/extensions/goal/extension.d.ts +7 -0
- package/dist/extensions/goal/extension.d.ts.map +1 -0
- package/dist/extensions/goal/extension.js +179 -0
- package/dist/extensions/goal/extension.js.map +1 -0
- package/dist/extensions/goal/index.d.ts +2 -0
- package/dist/extensions/goal/index.d.ts.map +1 -0
- package/dist/extensions/goal/index.js +2 -0
- package/dist/extensions/goal/index.js.map +1 -0
- package/dist/extensions/goal/section.d.ts +22 -0
- package/dist/extensions/goal/section.d.ts.map +1 -0
- package/dist/extensions/goal/section.js +49 -0
- package/dist/extensions/goal/section.js.map +1 -0
- package/dist/extensions/process/extension.d.ts +3 -0
- package/dist/extensions/process/extension.d.ts.map +1 -0
- package/dist/extensions/process/extension.js +79 -0
- package/dist/extensions/process/extension.js.map +1 -0
- package/dist/extensions/process/index.d.ts +2 -0
- package/dist/extensions/process/index.d.ts.map +1 -0
- package/dist/extensions/process/index.js +2 -0
- package/dist/extensions/process/index.js.map +1 -0
- package/dist/extensions/process/manager.d.ts +30 -0
- package/dist/extensions/process/manager.d.ts.map +1 -0
- package/dist/extensions/process/manager.js +156 -0
- package/dist/extensions/process/manager.js.map +1 -0
- package/dist/extensions/prompt-section/index.d.ts +2 -0
- package/dist/extensions/prompt-section/index.d.ts.map +1 -0
- package/dist/extensions/prompt-section/index.js +2 -0
- package/dist/extensions/prompt-section/index.js.map +1 -0
- package/dist/extensions/prompt-section/prompt-section.d.ts +26 -0
- package/dist/extensions/prompt-section/prompt-section.d.ts.map +1 -0
- package/dist/extensions/prompt-section/prompt-section.js +28 -0
- package/dist/extensions/prompt-section/prompt-section.js.map +1 -0
- package/dist/extensions/safety/command-wrappers.d.ts +31 -0
- package/dist/extensions/safety/command-wrappers.d.ts.map +1 -0
- package/dist/extensions/safety/command-wrappers.js +247 -0
- package/dist/extensions/safety/command-wrappers.js.map +1 -0
- package/dist/extensions/safety/destructive-guard.d.ts +24 -0
- package/dist/extensions/safety/destructive-guard.d.ts.map +1 -0
- package/dist/extensions/safety/destructive-guard.js +178 -0
- package/dist/extensions/safety/destructive-guard.js.map +1 -0
- package/dist/extensions/safety/index.d.ts +3 -0
- package/dist/extensions/safety/index.d.ts.map +1 -0
- package/dist/extensions/safety/index.js +3 -0
- package/dist/extensions/safety/index.js.map +1 -0
- package/dist/extensions/safety/lifecycle.d.ts +3 -0
- package/dist/extensions/safety/lifecycle.d.ts.map +1 -0
- package/dist/extensions/safety/lifecycle.js +92 -0
- package/dist/extensions/safety/lifecycle.js.map +1 -0
- package/dist/extensions/safety/shell-tokens.d.ts +13 -0
- package/dist/extensions/safety/shell-tokens.d.ts.map +1 -0
- package/dist/extensions/safety/shell-tokens.js +115 -0
- package/dist/extensions/safety/shell-tokens.js.map +1 -0
- package/dist/extensions/search/bounds.d.ts +22 -0
- package/dist/extensions/search/bounds.d.ts.map +1 -0
- package/dist/extensions/search/bounds.js +35 -0
- package/dist/extensions/search/bounds.js.map +1 -0
- package/dist/extensions/search/extension.d.ts +7 -0
- package/dist/extensions/search/extension.d.ts.map +1 -0
- package/dist/extensions/search/extension.js +18 -0
- package/dist/extensions/search/extension.js.map +1 -0
- package/dist/extensions/search/index.d.ts +2 -0
- package/dist/extensions/search/index.d.ts.map +1 -0
- package/dist/extensions/search/index.js +2 -0
- package/dist/extensions/search/index.js.map +1 -0
- package/dist/extensions/tasks/context.d.ts +20 -0
- package/dist/extensions/tasks/context.d.ts.map +1 -0
- package/dist/extensions/tasks/context.js +36 -0
- package/dist/extensions/tasks/context.js.map +1 -0
- package/dist/extensions/tasks/extension.d.ts +7 -0
- package/dist/extensions/tasks/extension.d.ts.map +1 -0
- package/dist/extensions/tasks/extension.js +178 -0
- package/dist/extensions/tasks/extension.js.map +1 -0
- package/dist/extensions/tasks/index.d.ts +2 -0
- package/dist/extensions/tasks/index.d.ts.map +1 -0
- package/dist/extensions/tasks/index.js +2 -0
- package/dist/extensions/tasks/index.js.map +1 -0
- package/dist/extensions/tasks/summary.d.ts +20 -0
- package/dist/extensions/tasks/summary.d.ts.map +1 -0
- package/dist/extensions/tasks/summary.js +50 -0
- package/dist/extensions/tasks/summary.js.map +1 -0
- package/dist/extensions/title/extension.d.ts +4 -0
- package/dist/extensions/title/extension.d.ts.map +1 -0
- package/dist/extensions/title/extension.js +37 -0
- package/dist/extensions/title/extension.js.map +1 -0
- package/dist/extensions/title/index.d.ts +2 -0
- package/dist/extensions/title/index.d.ts.map +1 -0
- package/dist/extensions/title/index.js +2 -0
- package/dist/extensions/title/index.js.map +1 -0
- package/dist/extensions/title/title.d.ts +9 -0
- package/dist/extensions/title/title.d.ts.map +1 -0
- package/dist/extensions/title/title.js +92 -0
- package/dist/extensions/title/title.js.map +1 -0
- package/dist/home/index.d.ts +2 -0
- package/dist/home/index.d.ts.map +1 -0
- package/dist/home/index.js +2 -0
- package/dist/home/index.js.map +1 -0
- package/dist/home/maia-home.d.ts +17 -0
- package/dist/home/maia-home.d.ts.map +1 -0
- package/dist/home/maia-home.js +84 -0
- package/dist/home/maia-home.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/login/index.d.ts +2 -0
- package/dist/login/index.d.ts.map +1 -0
- package/dist/login/index.js +2 -0
- package/dist/login/index.js.map +1 -0
- package/dist/login/provider-login.d.ts +43 -0
- package/dist/login/provider-login.d.ts.map +1 -0
- package/dist/login/provider-login.js +153 -0
- package/dist/login/provider-login.js.map +1 -0
- package/dist/managed-worker/index.d.ts +2 -0
- package/dist/managed-worker/index.d.ts.map +1 -0
- package/dist/managed-worker/index.js +2 -0
- package/dist/managed-worker/index.js.map +1 -0
- package/dist/managed-worker/main.d.ts +3 -0
- package/dist/managed-worker/main.d.ts.map +1 -0
- package/dist/managed-worker/main.js +315693 -0
- package/dist/managed-worker/main.js.map +1 -0
- package/dist/managed-worker/main.meta.json +1 -0
- package/dist/managed-worker/operation-channel.d.ts +24 -0
- package/dist/managed-worker/operation-channel.d.ts.map +1 -0
- package/dist/managed-worker/operation-channel.js +145 -0
- package/dist/managed-worker/operation-channel.js.map +1 -0
- package/dist/managed-worker/protocol.d.ts +76 -0
- package/dist/managed-worker/protocol.d.ts.map +1 -0
- package/dist/managed-worker/protocol.js +318 -0
- package/dist/managed-worker/protocol.js.map +1 -0
- package/dist/managed-worker/worker.d.ts +38 -0
- package/dist/managed-worker/worker.d.ts.map +1 -0
- package/dist/managed-worker/worker.js +437 -0
- package/dist/managed-worker/worker.js.map +1 -0
- package/dist/resources/index.d.ts +2 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +2 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/resources.d.ts +21 -0
- package/dist/resources/resources.d.ts.map +1 -0
- package/dist/resources/resources.js +198 -0
- package/dist/resources/resources.js.map +1 -0
- package/dist/runner/index.d.ts +2 -0
- package/dist/runner/index.d.ts.map +1 -0
- package/dist/runner/index.js +2 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/runner.d.ts +31 -0
- package/dist/runner/runner.d.ts.map +1 -0
- package/dist/runner/runner.js +346 -0
- package/dist/runner/runner.js.map +1 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +3 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/kernel.d.ts +18 -0
- package/dist/runtime/kernel.d.ts.map +1 -0
- package/dist/runtime/kernel.js +23 -0
- package/dist/runtime/kernel.js.map +1 -0
- package/dist/runtime/runtime.d.ts +31 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.js +124 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/startup-network-policy.d.ts +9 -0
- package/dist/runtime/startup-network-policy.d.ts.map +1 -0
- package/dist/runtime/startup-network-policy.js +25 -0
- package/dist/runtime/startup-network-policy.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,GAIvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ExtensionFactory } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
/** The Session the kernel serves and the surface it serves it on. */
|
|
3
|
+
export type KernelSession = {
|
|
4
|
+
readonly durableSessionId?: string;
|
|
5
|
+
/**
|
|
6
|
+
* The standalone `maia agent` adds the `/goal` and `/tasks` commands, the
|
|
7
|
+
* goal and task prompt sections and session naming. A managed worker
|
|
8
|
+
* leaves commands, context and Session metadata to Maia Node.
|
|
9
|
+
*/
|
|
10
|
+
readonly standalone?: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The reviewed extensions every Maia agent session loads, in load order,
|
|
14
|
+
* with Session-local state under `stateRoot`. The D-067 tests pin the
|
|
15
|
+
* resulting extension, tool and command lists.
|
|
16
|
+
*/
|
|
17
|
+
export declare const kernelExtensionFactories: (stateRoot: string, session: KernelSession) => readonly ExtensionFactory[];
|
|
18
|
+
//# sourceMappingURL=kernel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/runtime/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AASxE,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cACxB,MAAM,WACR,aAAa,KACrB,SAAS,gBAAgB,EAU3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { makeGoalExtension } from "../extensions/goal/index.js";
|
|
2
|
+
import { processExtension } from "../extensions/process/index.js";
|
|
3
|
+
import { safetyExtension } from "../extensions/safety/index.js";
|
|
4
|
+
import { searchBoundsExtension } from "../extensions/search/index.js";
|
|
5
|
+
import { makeTasksExtension } from "../extensions/tasks/index.js";
|
|
6
|
+
import { titleExtension } from "../extensions/title/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* The reviewed extensions every Maia agent session loads, in load order,
|
|
9
|
+
* with Session-local state under `stateRoot`. The D-067 tests pin the
|
|
10
|
+
* resulting extension, tool and command lists.
|
|
11
|
+
*/
|
|
12
|
+
export const kernelExtensionFactories = (stateRoot, session) => {
|
|
13
|
+
const standalone = session.standalone === true;
|
|
14
|
+
return [
|
|
15
|
+
safetyExtension,
|
|
16
|
+
makeTasksExtension(stateRoot, session.durableSessionId, { standalone }),
|
|
17
|
+
makeGoalExtension(stateRoot, session.durableSessionId, { standalone }),
|
|
18
|
+
processExtension,
|
|
19
|
+
searchBoundsExtension,
|
|
20
|
+
...(standalone ? [titleExtension] : []),
|
|
21
|
+
];
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=kernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/runtime/kernel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAa9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,OAAsB,EACO,EAAE;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/C,OAAO;QACL,eAAe;QACf,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC;QACvE,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC;QACtE,gBAAgB;QAChB,qBAAqB;QACrB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type CreateAgentSessionRuntimeFactory, type SessionManager, type SessionStartEvent } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { type MaiaAgentProviderCredential } from "../auth/index.js";
|
|
3
|
+
export type { MaiaAgentProviderCredential } from "../auth/index.js";
|
|
4
|
+
export type MaiaAgentThinkingLevel = "high" | "low" | "medium" | "minimal" | "off" | "xhigh";
|
|
5
|
+
export type CreateMaiaAgentSessionInput = {
|
|
6
|
+
readonly agentDirectory: string;
|
|
7
|
+
readonly authPath?: string;
|
|
8
|
+
readonly cwd: string;
|
|
9
|
+
readonly durableSessionId?: string;
|
|
10
|
+
readonly extensionFlagValues?: ReadonlyMap<string, boolean | string>;
|
|
11
|
+
readonly extensionPaths?: readonly string[];
|
|
12
|
+
readonly model?: string;
|
|
13
|
+
readonly noExtensions?: boolean;
|
|
14
|
+
readonly persistAuth?: boolean;
|
|
15
|
+
readonly providerCredential?: MaiaAgentProviderCredential;
|
|
16
|
+
readonly sessionManager: SessionManager;
|
|
17
|
+
readonly sessionStartEvent?: SessionStartEvent;
|
|
18
|
+
/** The standalone `maia agent`; the managed worker leaves it unset. */
|
|
19
|
+
readonly standalone?: boolean;
|
|
20
|
+
readonly thinkingLevel?: MaiaAgentThinkingLevel;
|
|
21
|
+
readonly verbose?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare const createMaiaAgentSession: (input: CreateMaiaAgentSessionInput) => Promise<{
|
|
24
|
+
session: import("@earendil-works/pi-coding-agent").AgentSession;
|
|
25
|
+
extensionsResult: import("@earendil-works/pi-coding-agent").LoadExtensionsResult;
|
|
26
|
+
modelFallbackMessage?: string;
|
|
27
|
+
diagnostics: import("@earendil-works/pi-coding-agent").AgentSessionRuntimeDiagnostic[];
|
|
28
|
+
services: import("@earendil-works/pi-coding-agent").AgentSessionServices;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const createMaiaAgentRuntimeFactory: (options: Omit<CreateMaiaAgentSessionInput, "agentDirectory" | "cwd" | "sessionManager" | "sessionStartEvent">) => CreateAgentSessionRuntimeFactory;
|
|
31
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gCAAgC,EAGrC,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,kBAAkB,CAAC;AAS1B,YAAY,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAChC,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACrE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IAC1D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAwGF,eAAO,MAAM,sBAAsB,UAC1B,2BAA2B;;;;;;EA2BnC,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAE7B,IAAI,CACX,2BAA2B,EAC3B,gBAAgB,GAAG,KAAK,GAAG,gBAAgB,GAAG,mBAAmB,CAClE,KACA,gCAUC,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { createAgentSessionFromServices, createAgentSessionServices, ModelRuntime, SettingsManager, } from "@earendil-works/pi-coding-agent";
|
|
3
|
+
import { Effect, Option } from "effect";
|
|
4
|
+
import { createMemoryCredentials, } from "../auth/index.js";
|
|
5
|
+
import { resolveAgentResourcePlan } from "../resources/index.js";
|
|
6
|
+
import { kernelExtensionFactories } from "./kernel.js";
|
|
7
|
+
import { bindMaiaOwnedPiAgentDirectory, enforcePiStartupNetworkPolicy, } from "./startup-network-policy.js";
|
|
8
|
+
const resolveModel = (runtime, model) => {
|
|
9
|
+
if (model === undefined)
|
|
10
|
+
return;
|
|
11
|
+
const separator = model.indexOf("/");
|
|
12
|
+
if (separator < 1 || separator === model.length - 1) {
|
|
13
|
+
throw new Error("The model must use <provider/model> format.");
|
|
14
|
+
}
|
|
15
|
+
const resolved = runtime.getModel(model.slice(0, separator), model.slice(separator + 1));
|
|
16
|
+
if (resolved === undefined)
|
|
17
|
+
throw new Error(`Unknown Pi model: ${model}`);
|
|
18
|
+
return resolved;
|
|
19
|
+
};
|
|
20
|
+
// Pi discovers nothing on its own: no extensions (its built-ins included),
|
|
21
|
+
// Skills, prompt templates, themes or context files. In-memory settings trust
|
|
22
|
+
// the project, so Pi would also take .pi/SYSTEM.md and .pi/APPEND_SYSTEM.md
|
|
23
|
+
// from the working directory (or SYSTEM.md from the agent directory); without
|
|
24
|
+
// them Pi uses its own prompt.
|
|
25
|
+
const withoutDiscoveredResources = {
|
|
26
|
+
appendSystemPromptOverride: () => [],
|
|
27
|
+
noContextFiles: true,
|
|
28
|
+
noExtensions: true,
|
|
29
|
+
noPromptTemplates: true,
|
|
30
|
+
noSkills: true,
|
|
31
|
+
noThemes: true,
|
|
32
|
+
systemPromptOverride: () => Option.getOrUndefined(Option.none()),
|
|
33
|
+
};
|
|
34
|
+
const resourceLoaderOptions = async (input, stateRoot) => {
|
|
35
|
+
const resources = await Effect.runPromise(resolveAgentResourcePlan(input.cwd, {
|
|
36
|
+
extensions: input.noExtensions !== true,
|
|
37
|
+
}));
|
|
38
|
+
return {
|
|
39
|
+
additionalExtensionPaths: [
|
|
40
|
+
...resources.extensionPaths,
|
|
41
|
+
...(input.extensionPaths ?? []),
|
|
42
|
+
],
|
|
43
|
+
additionalSkillPaths: [...resources.skillPaths],
|
|
44
|
+
agentsFilesOverride: () => ({ agentsFiles: [...resources.agentsFiles] }),
|
|
45
|
+
extensionFactories: [...kernelExtensionFactories(stateRoot, input)],
|
|
46
|
+
...withoutDiscoveredResources,
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const createModelRuntime = (input) => {
|
|
50
|
+
const modelsPath = join(input.agentDirectory, "models.json");
|
|
51
|
+
if (input.persistAuth === true && input.providerCredential === undefined) {
|
|
52
|
+
if (input.authPath === undefined) {
|
|
53
|
+
throw new TypeError("persistAuth requires authPath.");
|
|
54
|
+
}
|
|
55
|
+
return ModelRuntime.create({
|
|
56
|
+
allowModelNetwork: false,
|
|
57
|
+
authPath: input.authPath,
|
|
58
|
+
modelsPath,
|
|
59
|
+
refreshOnCreate: false,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return ModelRuntime.create({
|
|
63
|
+
allowModelNetwork: false,
|
|
64
|
+
credentials: createMemoryCredentials(input.providerCredential),
|
|
65
|
+
modelsPath,
|
|
66
|
+
refreshOnCreate: false,
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
const createRuntimeServices = async (input) => {
|
|
70
|
+
const modelRuntime = await createModelRuntime(input);
|
|
71
|
+
const services = await createAgentSessionServices({
|
|
72
|
+
agentDir: input.agentDirectory,
|
|
73
|
+
cwd: input.cwd,
|
|
74
|
+
modelRuntime,
|
|
75
|
+
...(input.extensionFlagValues === undefined
|
|
76
|
+
? {}
|
|
77
|
+
: { extensionFlagValues: new Map(input.extensionFlagValues) }),
|
|
78
|
+
resourceLoaderOptions: await resourceLoaderOptions(input, join(input.agentDirectory, "state")),
|
|
79
|
+
settingsManager: SettingsManager.inMemory({
|
|
80
|
+
cacheWarming: "off",
|
|
81
|
+
enableInstallTelemetry: false,
|
|
82
|
+
quietStartup: input.verbose !== true,
|
|
83
|
+
}),
|
|
84
|
+
});
|
|
85
|
+
const fatal = services.diagnostics.find(({ type }) => type === "error");
|
|
86
|
+
if (fatal !== undefined)
|
|
87
|
+
throw new Error(fatal.message);
|
|
88
|
+
return services;
|
|
89
|
+
};
|
|
90
|
+
export const createMaiaAgentSession = async (input) => {
|
|
91
|
+
bindMaiaOwnedPiAgentDirectory(input.agentDirectory);
|
|
92
|
+
enforcePiStartupNetworkPolicy();
|
|
93
|
+
const services = await createRuntimeServices(input);
|
|
94
|
+
const result = await createAgentSessionFromServices({
|
|
95
|
+
...(input.model === undefined
|
|
96
|
+
? {}
|
|
97
|
+
: { model: resolveModel(services.modelRuntime, input.model) }),
|
|
98
|
+
services,
|
|
99
|
+
sessionManager: input.sessionManager,
|
|
100
|
+
...(input.sessionStartEvent === undefined
|
|
101
|
+
? {}
|
|
102
|
+
: { sessionStartEvent: input.sessionStartEvent }),
|
|
103
|
+
...(input.thinkingLevel === undefined
|
|
104
|
+
? {}
|
|
105
|
+
: { thinkingLevel: input.thinkingLevel }),
|
|
106
|
+
});
|
|
107
|
+
const errors = result.extensionsResult.errors;
|
|
108
|
+
if (errors.length > 0) {
|
|
109
|
+
throw new Error(`Pi extension loading failed: ${errors
|
|
110
|
+
.map(({ error, path }) => `${path}: ${error}`)
|
|
111
|
+
.join("; ")}`);
|
|
112
|
+
}
|
|
113
|
+
return { ...result, diagnostics: services.diagnostics, services };
|
|
114
|
+
};
|
|
115
|
+
export const createMaiaAgentRuntimeFactory = (options) => (input) => createMaiaAgentSession({
|
|
116
|
+
...options,
|
|
117
|
+
agentDirectory: input.agentDir,
|
|
118
|
+
cwd: input.cwd,
|
|
119
|
+
sessionManager: input.sessionManager,
|
|
120
|
+
...(input.sessionStartEvent === undefined
|
|
121
|
+
? {}
|
|
122
|
+
: { sessionStartEvent: input.sessionStartEvent }),
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Establishes a permanent process invariant before entering official Pi.
|
|
3
|
+
* Pi 1.0.0 uses these supported flags for automatic startup traffic;
|
|
4
|
+
* its explicitly selected model/provider transport remains available.
|
|
5
|
+
*/
|
|
6
|
+
export declare const enforcePiStartupNetworkPolicy: () => void;
|
|
7
|
+
/** Redirect official Pi config paths to a Maia-owned directory for this process. */
|
|
8
|
+
export declare const bindMaiaOwnedPiAgentDirectory: (agentDirectory: string) => void;
|
|
9
|
+
//# sourceMappingURL=startup-network-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-network-policy.d.ts","sourceRoot":"","sources":["../../src/runtime/startup-network-policy.ts"],"names":[],"mappings":"AA0BA;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAAO,IAMhD,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,6BAA6B,mBAAoB,MAAM,KAAG,IAGtE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
const OFFLINE_FLAG_VALUE = "1";
|
|
3
|
+
class PiStartupNetworkPolicy extends Context.Service()("@maiaos/agent/PiStartupNetworkPolicy") {
|
|
4
|
+
static layer = (environment) => Layer.succeed(PiStartupNetworkPolicy, PiStartupNetworkPolicy.of({
|
|
5
|
+
apply: Effect.sync(() => {
|
|
6
|
+
environment.PI_OFFLINE = OFFLINE_FLAG_VALUE;
|
|
7
|
+
environment.PI_SKIP_VERSION_CHECK = OFFLINE_FLAG_VALUE;
|
|
8
|
+
}),
|
|
9
|
+
}));
|
|
10
|
+
}
|
|
11
|
+
const applyPiStartupNetworkPolicy = PiStartupNetworkPolicy.use(({ apply }) => apply);
|
|
12
|
+
/**
|
|
13
|
+
* Establishes a permanent process invariant before entering official Pi.
|
|
14
|
+
* Pi 1.0.0 uses these supported flags for automatic startup traffic;
|
|
15
|
+
* its explicitly selected model/provider transport remains available.
|
|
16
|
+
*/
|
|
17
|
+
export const enforcePiStartupNetworkPolicy = () => {
|
|
18
|
+
Effect.runSync(applyPiStartupNetworkPolicy.pipe(Effect.provide(PiStartupNetworkPolicy.layer(process.env))));
|
|
19
|
+
};
|
|
20
|
+
/** Redirect official Pi config paths to a Maia-owned directory for this process. */
|
|
21
|
+
export const bindMaiaOwnedPiAgentDirectory = (agentDirectory) => {
|
|
22
|
+
const environment = process.env;
|
|
23
|
+
environment.PI_CODING_AGENT_DIR = agentDirectory;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=startup-network-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-network-policy.js","sourceRoot":"","sources":["../../src/runtime/startup-network-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAI/B,MAAM,sBAAuB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,sCAAsC,CAAC;IACzC,MAAM,CAAU,KAAK,GAAG,CAAC,WAAiC,EAAE,EAAE,CAC5D,KAAK,CAAC,OAAO,CACX,sBAAsB,EACtB,sBAAsB,CAAC,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACtB,WAAW,CAAC,UAAU,GAAG,kBAAkB,CAAC;YAC5C,WAAW,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;QACzD,CAAC,CAAC;KACH,CAAC,CACH,CAAC;CACL;AAED,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,GAAG,CAC5D,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAS,EAAE;IACtD,MAAM,CAAC,OAAO,CACZ,2BAA2B,CAAC,IAAI,CAC9B,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAC1D,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,cAAsB,EAAQ,EAAE;IAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAChC,WAAW,CAAC,mBAAmB,GAAG,cAAc,CAAC;AACnD,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@maiaos/agent",
|
|
3
|
+
"version": "0.1.0-canary.2",
|
|
4
|
+
"description": "Maia's AI coding agent (maia agent) and managed worker, built on the official Pi coding-agent SDK.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"maia",
|
|
7
|
+
"maiaos",
|
|
8
|
+
"ai-agent",
|
|
9
|
+
"coding-agent",
|
|
10
|
+
"pi",
|
|
11
|
+
"pi-coding-agent",
|
|
12
|
+
"cli",
|
|
13
|
+
"llm",
|
|
14
|
+
"typescript",
|
|
15
|
+
"effect"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://github.com/maiaos/maiaos/tree/main/packages/agent#readme",
|
|
18
|
+
"bugs": "https://github.com/maiaos/maiaos/issues",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/maiaos/maiaos.git",
|
|
22
|
+
"directory": "packages/agent"
|
|
23
|
+
},
|
|
24
|
+
"type": "module",
|
|
25
|
+
"sideEffects": false,
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./managed-worker": "./dist/managed-worker/main.js",
|
|
32
|
+
"./managed-worker/operation-channel": {
|
|
33
|
+
"types": "./dist/managed-worker/operation-channel.d.ts",
|
|
34
|
+
"import": "./dist/managed-worker/operation-channel.js"
|
|
35
|
+
},
|
|
36
|
+
"./managed-worker/protocol": {
|
|
37
|
+
"types": "./dist/managed-worker/protocol.d.ts",
|
|
38
|
+
"import": "./dist/managed-worker/protocol.js"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"bin": {
|
|
42
|
+
"maia-agent-worker": "./dist/managed-worker/main.js"
|
|
43
|
+
},
|
|
44
|
+
"files": [
|
|
45
|
+
"dist",
|
|
46
|
+
"README.md"
|
|
47
|
+
],
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": "24.22.1"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@earendil-works/pi-ai": "1.0.0",
|
|
56
|
+
"@earendil-works/pi-coding-agent": "1.0.0",
|
|
57
|
+
"effect": "4.0.0"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/node": "24.13.3",
|
|
61
|
+
"@typescript/native": "npm:typescript@7.0.2",
|
|
62
|
+
"@vllnt/typescript": "2.0.0-canary.a1749e0",
|
|
63
|
+
"esbuild": "0.28.1",
|
|
64
|
+
"eslint": "9.39.5",
|
|
65
|
+
"typescript": "npm:@typescript/typescript6@6.0.2"
|
|
66
|
+
},
|
|
67
|
+
"scripts": {
|
|
68
|
+
"build": "node -e \"require('node:fs').rmSync('dist',{force:true,recursive:true})\" && tsc --project tsconfig.build.json && node scripts/build-managed-worker.mjs",
|
|
69
|
+
"lint": "eslint src --max-warnings 0",
|
|
70
|
+
"test": "node -e \"require('node:fs').rmSync('.test-dist',{force:true,recursive:true})\" && tsc --project tsconfig.test.json && node --import ../../scripts/lib/test-environment.mjs --test --test-concurrency=2 --enable-source-maps \".test-dist/**/*.test.js\"",
|
|
71
|
+
"typecheck": "tsc --project tsconfig.json --noEmit"
|
|
72
|
+
}
|
|
73
|
+
}
|