@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,198 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { access, lstat, readdir, readFile } from "node:fs/promises";
|
|
3
|
+
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { Effect } from "effect";
|
|
5
|
+
const DIGEST_PATTERN = /^sha256:[a-f0-9]{64}$/u;
|
|
6
|
+
const CONFIG_PATH = join(".maia", "maia.json");
|
|
7
|
+
export class AgentResourceError extends Error {
|
|
8
|
+
_tag = "AgentResourceError";
|
|
9
|
+
constructor(message) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = "AgentResourceError";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const exists = async (path) => access(path).then(() => true, () => false);
|
|
15
|
+
const isWithin = (parent, target) => {
|
|
16
|
+
const path = relative(parent, target);
|
|
17
|
+
return path === "" || (!path.startsWith(`..${sep}`) && path !== "..");
|
|
18
|
+
};
|
|
19
|
+
const requireRelativePath = (value, label) => {
|
|
20
|
+
if (typeof value !== "string" ||
|
|
21
|
+
value.length === 0 ||
|
|
22
|
+
isAbsolute(value) ||
|
|
23
|
+
value.split(/[\\/]/u).includes("..")) {
|
|
24
|
+
throw new AgentResourceError(`${label} must be a safe relative path.`);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
};
|
|
28
|
+
const parsePinnedResources = (value, label) => {
|
|
29
|
+
if (!Array.isArray(value)) {
|
|
30
|
+
throw new AgentResourceError(`${label} must be an array.`);
|
|
31
|
+
}
|
|
32
|
+
return value.map((entry, index) => {
|
|
33
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
|
|
34
|
+
throw new AgentResourceError(`${label}[${String(index)}] is invalid.`);
|
|
35
|
+
}
|
|
36
|
+
const path = Reflect.get(entry, "path");
|
|
37
|
+
const sha256 = Reflect.get(entry, "sha256");
|
|
38
|
+
if (typeof sha256 !== "string" || !DIGEST_PATTERN.test(sha256)) {
|
|
39
|
+
throw new AgentResourceError(`${label}[${String(index)}].sha256 must be a sha256 digest.`);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
path: requireRelativePath(path, `${label}[${String(index)}].path`),
|
|
43
|
+
sha256,
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const requireRecord = (value, message) => {
|
|
48
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
throw new AgentResourceError(message);
|
|
52
|
+
};
|
|
53
|
+
const requireAgentResources = (root, includeExtensions) => {
|
|
54
|
+
const agent = requireRecord(Reflect.get(root, "agent"), ".maia/maia.json has an unsupported schema.");
|
|
55
|
+
if (Reflect.get(agent, "runtime") !== "pi" ||
|
|
56
|
+
Reflect.get(agent, "transport") !== "managed") {
|
|
57
|
+
throw new AgentResourceError(".maia/maia.json must select the managed Pi agent runtime.");
|
|
58
|
+
}
|
|
59
|
+
const resources = requireRecord(Reflect.get(agent, "resources"), "The agent resource configuration is missing.");
|
|
60
|
+
if (includeExtensions &&
|
|
61
|
+
Reflect.get(resources, "extensionPolicy") !== "explicit") {
|
|
62
|
+
throw new AgentResourceError("Project extensions must use explicit policy.");
|
|
63
|
+
}
|
|
64
|
+
return resources;
|
|
65
|
+
};
|
|
66
|
+
const parseAgentConfig = (input, includeExtensions) => {
|
|
67
|
+
const root = requireRecord(input, ".maia/maia.json must contain an object.");
|
|
68
|
+
if (Reflect.get(root, "schemaVersion") !== 1) {
|
|
69
|
+
throw new AgentResourceError(".maia/maia.json has an unsupported schema.");
|
|
70
|
+
}
|
|
71
|
+
const resources = requireAgentResources(root, includeExtensions);
|
|
72
|
+
return {
|
|
73
|
+
...(includeExtensions
|
|
74
|
+
? {
|
|
75
|
+
extensionRoot: requireRelativePath(Reflect.get(resources, "extensionRoot"), "agent.resources.extensionRoot"),
|
|
76
|
+
}
|
|
77
|
+
: {}),
|
|
78
|
+
extensions: includeExtensions
|
|
79
|
+
? parsePinnedResources(Reflect.get(resources, "extensions"), "agent.resources.extensions")
|
|
80
|
+
: [],
|
|
81
|
+
skills: parsePinnedResources(Reflect.get(resources, "skills"), "agent.resources.skills"),
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
const digestDirectory = async (hash, root, path) => {
|
|
85
|
+
const directoryEntries = await readdir(path);
|
|
86
|
+
await directoryEntries
|
|
87
|
+
.toSorted()
|
|
88
|
+
.reduce((pending, entry) => pending.then(() => addDigestFile(hash, root, join(path, entry))), Promise.resolve());
|
|
89
|
+
};
|
|
90
|
+
const addDigestFile = async (hash, root, path) => {
|
|
91
|
+
const statistics = await lstat(path);
|
|
92
|
+
if (statistics.isSymbolicLink()) {
|
|
93
|
+
throw new AgentResourceError(`Pinned resources may not contain symbolic links: ${path}`);
|
|
94
|
+
}
|
|
95
|
+
if (statistics.isDirectory())
|
|
96
|
+
return digestDirectory(hash, root, path);
|
|
97
|
+
if (!statistics.isFile()) {
|
|
98
|
+
throw new AgentResourceError(`Pinned resources must contain only directories and regular files: ${path}`);
|
|
99
|
+
}
|
|
100
|
+
const content = await readFile(path);
|
|
101
|
+
const name = relative(root, path).replaceAll(sep, "/") || ".";
|
|
102
|
+
hash.update(`${name}\0${String(content.byteLength)}\0`);
|
|
103
|
+
hash.update(content);
|
|
104
|
+
};
|
|
105
|
+
export const digestAgentResource = async (path) => {
|
|
106
|
+
const absolutePath = resolve(path);
|
|
107
|
+
const hash = createHash("sha256");
|
|
108
|
+
await addDigestFile(hash, absolutePath, absolutePath);
|
|
109
|
+
return `sha256:${hash.digest("hex")}`;
|
|
110
|
+
};
|
|
111
|
+
const findAncestor = async (current, marker) => {
|
|
112
|
+
if (await exists(join(current, marker)))
|
|
113
|
+
return current;
|
|
114
|
+
const parent = dirname(current);
|
|
115
|
+
return parent === current ? undefined : findAncestor(parent, marker);
|
|
116
|
+
};
|
|
117
|
+
const findProjectRoot = (cwd) => findAncestor(resolve(cwd), CONFIG_PATH);
|
|
118
|
+
const findContextRoot = async (cwd, projectRoot) => projectRoot ?? (await findAncestor(resolve(cwd), ".git")) ?? resolve(cwd);
|
|
119
|
+
const contextDirectories = (current, root) => current === root
|
|
120
|
+
? [root]
|
|
121
|
+
: [...contextDirectories(dirname(current), root), current];
|
|
122
|
+
const readAgentsFile = async (directory) => {
|
|
123
|
+
const path = join(directory, "AGENTS.md");
|
|
124
|
+
return (await exists(path))
|
|
125
|
+
? { content: await readFile(path, "utf8"), path }
|
|
126
|
+
: undefined;
|
|
127
|
+
};
|
|
128
|
+
const loadAgentsFiles = async (cwd, contextRoot) => {
|
|
129
|
+
const directories = contextDirectories(resolve(cwd), contextRoot);
|
|
130
|
+
const files = await Promise.all(directories.map(readAgentsFile));
|
|
131
|
+
return files.filter((file) => file !== undefined);
|
|
132
|
+
};
|
|
133
|
+
const verifyPinnedResource = async (root, resource, label) => {
|
|
134
|
+
const path = resolve(root, resource.path);
|
|
135
|
+
if (!isWithin(root, path)) {
|
|
136
|
+
throw new AgentResourceError(`${label} escapes its configured root.`);
|
|
137
|
+
}
|
|
138
|
+
const digest = await digestAgentResource(path).catch((error) => {
|
|
139
|
+
if (error instanceof AgentResourceError)
|
|
140
|
+
throw error;
|
|
141
|
+
throw new AgentResourceError(`${label} cannot be read: ${path}`);
|
|
142
|
+
});
|
|
143
|
+
if (digest !== resource.sha256) {
|
|
144
|
+
throw new AgentResourceError(`${label} digest mismatch for '${resource.path}': expected ${resource.sha256}, received ${digest}.`);
|
|
145
|
+
}
|
|
146
|
+
return path;
|
|
147
|
+
};
|
|
148
|
+
const verifyPinnedResources = (root, resources, label) => Promise.all(resources.map((resource) => verifyPinnedResource(root, resource, label)));
|
|
149
|
+
const readAgentConfig = async (projectRoot, includeExtensions) => {
|
|
150
|
+
const configPath = join(projectRoot, CONFIG_PATH);
|
|
151
|
+
try {
|
|
152
|
+
return parseAgentConfig(JSON.parse(await readFile(configPath, "utf8")), includeExtensions);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
if (error instanceof AgentResourceError)
|
|
156
|
+
throw error;
|
|
157
|
+
throw new AgentResourceError(`${configPath} is not valid JSON.`);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const resolveExtensionPaths = async (maiaRoot, config) => {
|
|
161
|
+
if (config.extensionRoot === undefined)
|
|
162
|
+
return [];
|
|
163
|
+
const extensionRoot = resolve(maiaRoot, config.extensionRoot);
|
|
164
|
+
if (!isWithin(maiaRoot, extensionRoot)) {
|
|
165
|
+
throw new AgentResourceError("The project extension root escapes .maia.");
|
|
166
|
+
}
|
|
167
|
+
return verifyPinnedResources(extensionRoot, config.extensions, "Project extension");
|
|
168
|
+
};
|
|
169
|
+
const resolveConfiguredPlan = async (cwd, projectRoot, includeExtensions) => {
|
|
170
|
+
const config = await readAgentConfig(projectRoot, includeExtensions);
|
|
171
|
+
const maiaRoot = join(projectRoot, ".maia");
|
|
172
|
+
return {
|
|
173
|
+
agentsFiles: await loadAgentsFiles(cwd, projectRoot),
|
|
174
|
+
extensionPaths: await resolveExtensionPaths(maiaRoot, config),
|
|
175
|
+
projectRoot,
|
|
176
|
+
skillPaths: await verifyPinnedResources(maiaRoot, config.skills, "Project skill"),
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
const resolveAgentResourcePlanPromise = async (cwd, options) => {
|
|
180
|
+
const normalizedCwd = resolve(cwd);
|
|
181
|
+
const projectRoot = await findProjectRoot(normalizedCwd);
|
|
182
|
+
if (projectRoot !== undefined) {
|
|
183
|
+
return resolveConfiguredPlan(normalizedCwd, projectRoot, options.extensions !== false);
|
|
184
|
+
}
|
|
185
|
+
const contextRoot = await findContextRoot(normalizedCwd, projectRoot);
|
|
186
|
+
return {
|
|
187
|
+
agentsFiles: await loadAgentsFiles(normalizedCwd, contextRoot),
|
|
188
|
+
extensionPaths: [],
|
|
189
|
+
skillPaths: [],
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
export const resolveAgentResourcePlan = (cwd, options = {}) => Effect.tryPromise({
|
|
193
|
+
catch: (error) => error instanceof AgentResourceError
|
|
194
|
+
? error
|
|
195
|
+
: new AgentResourceError("Maia agent resources could not be loaded."),
|
|
196
|
+
try: () => resolveAgentResourcePlanPromise(cwd, options),
|
|
197
|
+
});
|
|
198
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/resources/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,GAEb,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type MaiaAgentThinkingLevel } from "../runtime/index.js";
|
|
2
|
+
export type AgentOptions = {
|
|
3
|
+
readonly continueSession: boolean;
|
|
4
|
+
readonly extensionFlagValues: ReadonlyMap<string, boolean | string>;
|
|
5
|
+
readonly extensionPaths: readonly string[];
|
|
6
|
+
readonly help: boolean;
|
|
7
|
+
readonly jsonEvents: boolean;
|
|
8
|
+
readonly model?: string;
|
|
9
|
+
readonly noExtensions: boolean;
|
|
10
|
+
readonly noSession: boolean;
|
|
11
|
+
readonly print: boolean;
|
|
12
|
+
readonly prompt?: string;
|
|
13
|
+
readonly thinkingLevel?: MaiaAgentThinkingLevel;
|
|
14
|
+
readonly verbose: boolean;
|
|
15
|
+
readonly version: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type AgentIo = {
|
|
18
|
+
readonly stderr: (text: string) => void;
|
|
19
|
+
readonly stdout: (text: string) => void;
|
|
20
|
+
};
|
|
21
|
+
export type RunMaiaAgentOptions = {
|
|
22
|
+
readonly cwd?: string;
|
|
23
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
24
|
+
readonly io?: AgentIo;
|
|
25
|
+
readonly stdinIsTty?: boolean;
|
|
26
|
+
readonly stdoutIsTty?: boolean;
|
|
27
|
+
};
|
|
28
|
+
export declare const parseAgentOptions: (arguments_: readonly string[]) => AgentOptions;
|
|
29
|
+
export declare const resolveAgentPrompt: (arguments_: readonly string[], booleanFlags: ReadonlySet<string>) => string | undefined;
|
|
30
|
+
export declare const runMaiaAgent: (arguments_: readonly string[], options?: RunMaiaAgentOptions) => Promise<number>;
|
|
31
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"AAkBA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAW7B,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACpE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAyJF,eAAO,MAAM,iBAAiB,eAChB,SAAS,MAAM,EAAE,KAC5B,YAqBF,CAAC;AAqEF,eAAO,MAAM,kBAAkB,eACjB,SAAS,MAAM,EAAE,gBACf,WAAW,CAAC,MAAM,CAAC,KAChC,MAAM,GAAG,SAAoD,CAAC;AAkNjE,eAAO,MAAM,YAAY,eACX,SAAS,MAAM,EAAE,YACpB,mBAAmB,KAC3B,OAAO,CAAC,MAAM,CAsBhB,CAAC"}
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { join, resolve } from "node:path";
|
|
4
|
+
import { createAgentSessionRuntime, InteractiveMode, runPrintMode, SessionManager, } from "@earendil-works/pi-coding-agent";
|
|
5
|
+
import { parseMaiaUserToml, resolveMaiaAgentDirectory, resolveMaiaAuthPath, resolveMaiaConfigPath, } from "../home/index.js";
|
|
6
|
+
import { digestAgentResource } from "../resources/index.js";
|
|
7
|
+
import { bindMaiaOwnedPiAgentDirectory, createMaiaAgentRuntimeFactory, enforcePiStartupNetworkPolicy, } from "../runtime/index.js";
|
|
8
|
+
const THINKING_LEVELS = new Set([
|
|
9
|
+
"off",
|
|
10
|
+
"minimal",
|
|
11
|
+
"low",
|
|
12
|
+
"medium",
|
|
13
|
+
"high",
|
|
14
|
+
"xhigh",
|
|
15
|
+
]);
|
|
16
|
+
const defaultIo = {
|
|
17
|
+
stderr: (text) => process.stderr.write(text),
|
|
18
|
+
stdout: (text) => process.stdout.write(text),
|
|
19
|
+
};
|
|
20
|
+
const usage = "Usage: maia agent [--continue] [-e|--extension <path>] [-ne|--no-extensions] [--model <provider/model>] [--thinking <level>] [--print|--json-events] [--no-session] [--verbose] [extension flags] [--] [prompt]\n maia agent login";
|
|
21
|
+
const LOGIN_USAGE = "Usage: maia agent login";
|
|
22
|
+
const readOptionValue = (arguments_, index, option) => {
|
|
23
|
+
const value = arguments_[index + 1];
|
|
24
|
+
if (value === undefined || value.startsWith("--")) {
|
|
25
|
+
throw new Error(`Option '${option}' requires a value.`);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
};
|
|
29
|
+
const initialParseState = {
|
|
30
|
+
continueSession: false,
|
|
31
|
+
extensionFlagValues: new Map(),
|
|
32
|
+
extensionPaths: [],
|
|
33
|
+
help: false,
|
|
34
|
+
jsonEvents: false,
|
|
35
|
+
noExtensions: false,
|
|
36
|
+
noSession: false,
|
|
37
|
+
optionsEnded: false,
|
|
38
|
+
print: false,
|
|
39
|
+
promptTokens: [],
|
|
40
|
+
verbose: false,
|
|
41
|
+
version: false,
|
|
42
|
+
};
|
|
43
|
+
const parseThinkingLevel = (value) => {
|
|
44
|
+
if (THINKING_LEVELS.has(value))
|
|
45
|
+
return value;
|
|
46
|
+
throw new Error("Option '--thinking' must be off, minimal, low, medium, high, or xhigh.");
|
|
47
|
+
};
|
|
48
|
+
const flagUpdate = (argument) => {
|
|
49
|
+
if (argument === "--continue" || argument === "-c") {
|
|
50
|
+
return { continueSession: true };
|
|
51
|
+
}
|
|
52
|
+
if (argument === "--help" || argument === "-h")
|
|
53
|
+
return { help: true };
|
|
54
|
+
if (argument === "--version" || argument === "-v")
|
|
55
|
+
return { version: true };
|
|
56
|
+
if (argument === "--json-events")
|
|
57
|
+
return { jsonEvents: true, print: true };
|
|
58
|
+
if (argument === "-ne" || argument === "--no-extensions") {
|
|
59
|
+
return { noExtensions: true };
|
|
60
|
+
}
|
|
61
|
+
if (argument === "--no-session")
|
|
62
|
+
return { noSession: true };
|
|
63
|
+
if (argument === "--print" || argument === "-p")
|
|
64
|
+
return { print: true };
|
|
65
|
+
if (argument === "--verbose")
|
|
66
|
+
return { verbose: true };
|
|
67
|
+
throw new Error(`Unknown maia agent option: ${argument}`);
|
|
68
|
+
};
|
|
69
|
+
const extensionFlagUpdate = (arguments_, argument, current) => {
|
|
70
|
+
const separator = argument.indexOf("=");
|
|
71
|
+
const name = argument.slice(2, separator === -1 ? undefined : separator);
|
|
72
|
+
if (name.length === 0)
|
|
73
|
+
throw new Error("Extension flag name is empty.");
|
|
74
|
+
const next = arguments_[1];
|
|
75
|
+
const value = (() => {
|
|
76
|
+
if (separator !== -1)
|
|
77
|
+
return argument.slice(separator + 1);
|
|
78
|
+
return next !== undefined && !next.startsWith("-") && !next.startsWith("@")
|
|
79
|
+
? next
|
|
80
|
+
: true;
|
|
81
|
+
})();
|
|
82
|
+
return {
|
|
83
|
+
consumed: separator === -1 && value !== true ? 2 : 1,
|
|
84
|
+
update: {
|
|
85
|
+
extensionFlagValues: new Map(current).set(name, value),
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
const VALUE_OPTIONS = new Set(["--extension", "-e", "--model", "--thinking"]);
|
|
90
|
+
const KNOWN_LONG_FLAGS = new Set([
|
|
91
|
+
"--continue",
|
|
92
|
+
"--help",
|
|
93
|
+
"--json-events",
|
|
94
|
+
"--no-extensions",
|
|
95
|
+
"--no-session",
|
|
96
|
+
"--print",
|
|
97
|
+
"--verbose",
|
|
98
|
+
"--version",
|
|
99
|
+
]);
|
|
100
|
+
const valueOptionUpdate = (arguments_, argument, state) => {
|
|
101
|
+
const value = readOptionValue(arguments_, 0, argument);
|
|
102
|
+
if (argument === "--extension" || argument === "-e") {
|
|
103
|
+
return { extensionPaths: [...state.extensionPaths, value] };
|
|
104
|
+
}
|
|
105
|
+
if (argument === "--model")
|
|
106
|
+
return { model: value };
|
|
107
|
+
return { thinkingLevel: parseThinkingLevel(value) };
|
|
108
|
+
};
|
|
109
|
+
const optionUpdate = (arguments_, argument, state) => {
|
|
110
|
+
if (VALUE_OPTIONS.has(argument)) {
|
|
111
|
+
return {
|
|
112
|
+
consumed: 2,
|
|
113
|
+
update: valueOptionUpdate(arguments_, argument, state),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (argument.startsWith("--") && !KNOWN_LONG_FLAGS.has(argument)) {
|
|
117
|
+
return extensionFlagUpdate(arguments_, argument, state.extensionFlagValues);
|
|
118
|
+
}
|
|
119
|
+
return { consumed: 1, update: flagUpdate(argument) };
|
|
120
|
+
};
|
|
121
|
+
const parseAgentTokens = (arguments_, state = initialParseState) => {
|
|
122
|
+
const argument = arguments_[0];
|
|
123
|
+
if (argument === undefined)
|
|
124
|
+
return state;
|
|
125
|
+
if (state.optionsEnded || (!argument.startsWith("-") && argument !== "-ne")) {
|
|
126
|
+
return parseAgentTokens(arguments_.slice(1), {
|
|
127
|
+
...state,
|
|
128
|
+
promptTokens: [...state.promptTokens, argument],
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
if (argument === "--") {
|
|
132
|
+
return parseAgentTokens(arguments_.slice(1), {
|
|
133
|
+
...state,
|
|
134
|
+
optionsEnded: true,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
const { consumed, update } = optionUpdate(arguments_, argument, state);
|
|
138
|
+
return parseAgentTokens(arguments_.slice(consumed), { ...state, ...update });
|
|
139
|
+
};
|
|
140
|
+
export const parseAgentOptions = (arguments_) => {
|
|
141
|
+
const state = parseAgentTokens(arguments_);
|
|
142
|
+
if (state.continueSession && state.noSession) {
|
|
143
|
+
throw new Error("Options '--continue' and '--no-session' cannot be combined.");
|
|
144
|
+
}
|
|
145
|
+
if (state.print &&
|
|
146
|
+
!state.help &&
|
|
147
|
+
!state.version &&
|
|
148
|
+
state.extensionFlagValues.size === 0 &&
|
|
149
|
+
state.promptTokens.length === 0) {
|
|
150
|
+
throw new Error("Print mode requires a prompt.");
|
|
151
|
+
}
|
|
152
|
+
const { optionsEnded: _, promptTokens, ...options } = state;
|
|
153
|
+
return {
|
|
154
|
+
...options,
|
|
155
|
+
...(promptTokens.length === 0 ? {} : { prompt: promptTokens.join(" ") }),
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
const SHORT_FLAGS = new Set(["-c", "-h", "-ne", "-p", "-v"]);
|
|
159
|
+
const registeredBooleanFlags = (runtime) => new Set(runtime.services.resourceLoader
|
|
160
|
+
.getExtensions()
|
|
161
|
+
.extensions.flatMap((extension) => [...extension.flags.values()]
|
|
162
|
+
.filter(({ type }) => type === "boolean")
|
|
163
|
+
.map(({ name }) => name)));
|
|
164
|
+
const extensionFlagConsumesValue = (argument, booleanFlags) => !KNOWN_LONG_FLAGS.has(argument) &&
|
|
165
|
+
!SHORT_FLAGS.has(argument) &&
|
|
166
|
+
!argument.includes("=") &&
|
|
167
|
+
!booleanFlags.has(argument.slice(2));
|
|
168
|
+
const resolvePromptTokens = (arguments_, booleanFlags, state) => {
|
|
169
|
+
const argument = arguments_[0];
|
|
170
|
+
if (argument === undefined)
|
|
171
|
+
return state.prompt;
|
|
172
|
+
if (argument === "--") {
|
|
173
|
+
return resolvePromptTokens(arguments_.slice(1), booleanFlags, {
|
|
174
|
+
...state,
|
|
175
|
+
optionsEnded: true,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
if (state.optionsEnded || !argument.startsWith("-")) {
|
|
179
|
+
return resolvePromptTokens(arguments_.slice(1), booleanFlags, {
|
|
180
|
+
...state,
|
|
181
|
+
prompt: [...state.prompt, argument],
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
const consumed = VALUE_OPTIONS.has(argument) ||
|
|
185
|
+
extensionFlagConsumesValue(argument, booleanFlags)
|
|
186
|
+
? 2
|
|
187
|
+
: 1;
|
|
188
|
+
return resolvePromptTokens(arguments_.slice(consumed), booleanFlags, state);
|
|
189
|
+
};
|
|
190
|
+
const resolvePrompt = (arguments_, booleanFlags) => {
|
|
191
|
+
const prompt = resolvePromptTokens(arguments_, booleanFlags, {
|
|
192
|
+
optionsEnded: false,
|
|
193
|
+
prompt: [],
|
|
194
|
+
});
|
|
195
|
+
return prompt.length === 0 ? undefined : prompt.join(" ");
|
|
196
|
+
};
|
|
197
|
+
export const resolveAgentPrompt = (arguments_, booleanFlags) => resolvePrompt(arguments_, booleanFlags);
|
|
198
|
+
const withResolvedPrompt = (arguments_, options, runtime) => {
|
|
199
|
+
const { prompt: _, ...withoutPrompt } = options;
|
|
200
|
+
const prompt = resolvePrompt(arguments_, registeredBooleanFlags(runtime));
|
|
201
|
+
if (options.print &&
|
|
202
|
+
!options.help &&
|
|
203
|
+
!options.version &&
|
|
204
|
+
prompt === undefined) {
|
|
205
|
+
throw new Error("Print mode requires a prompt.");
|
|
206
|
+
}
|
|
207
|
+
return prompt === undefined ? withoutPrompt : { ...withoutPrompt, prompt };
|
|
208
|
+
};
|
|
209
|
+
const sessionDirectory = (agentDirectory, cwd) => join(agentDirectory, "sessions", createHash("sha256").update(resolve(cwd)).digest("hex"));
|
|
210
|
+
const createSessionManager = (options, cwd, directory) => {
|
|
211
|
+
if (options.noSession)
|
|
212
|
+
return SessionManager.inMemory(cwd);
|
|
213
|
+
return options.continueSession
|
|
214
|
+
? SessionManager.continueRecent(cwd, directory)
|
|
215
|
+
: SessionManager.create(cwd, directory);
|
|
216
|
+
};
|
|
217
|
+
const formatAgentHelp = (runtime) => {
|
|
218
|
+
const flags = runtime.services.resourceLoader
|
|
219
|
+
.getExtensions()
|
|
220
|
+
.extensions.flatMap((extension) => [...extension.flags.values()]);
|
|
221
|
+
const extensionFlags = flags.length > 0
|
|
222
|
+
? `\nExtension CLI flags:\n${flags
|
|
223
|
+
.map((flag) => ` --${flag.name}${flag.type === "string" ? " <value>" : ""}${flag.description === undefined ? "" : ` ${flag.description}`}`)
|
|
224
|
+
.join("\n")}\n`
|
|
225
|
+
: "";
|
|
226
|
+
return `${usage}\n\nPi-compatible extension surface:\n -e, --extension <path> Load an explicit extension\n -ne, --no-extensions Skip discovered extensions\n --<extension-flag> Pass a registered extension flag\n${extensionFlags}`;
|
|
227
|
+
};
|
|
228
|
+
const runRuntime = async (runtime, options, io) => {
|
|
229
|
+
try {
|
|
230
|
+
if (options.help) {
|
|
231
|
+
io.stdout(formatAgentHelp(runtime));
|
|
232
|
+
return 0;
|
|
233
|
+
}
|
|
234
|
+
if (options.print) {
|
|
235
|
+
return await runPrintMode(runtime, {
|
|
236
|
+
initialMessage: options.prompt,
|
|
237
|
+
mode: options.jsonEvents ? "json" : "text",
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
await new InteractiveMode(runtime, {
|
|
241
|
+
initialMessage: options.prompt,
|
|
242
|
+
verbose: options.verbose,
|
|
243
|
+
}).run();
|
|
244
|
+
return 0;
|
|
245
|
+
}
|
|
246
|
+
finally {
|
|
247
|
+
await runtime.dispose();
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
const configuredAgentModel = (environment) => {
|
|
251
|
+
try {
|
|
252
|
+
const parsed = parseMaiaUserToml(readFileSync(resolveMaiaConfigPath(environment), "utf8"));
|
|
253
|
+
return parsed.agent.model;
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
return undefined;
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
const resolveAgentDirectory = (options) => {
|
|
260
|
+
const cwd = resolve(options.cwd ?? process.cwd());
|
|
261
|
+
const environment = options.env ?? process.env;
|
|
262
|
+
const agentDirectory = resolveMaiaAgentDirectory(environment);
|
|
263
|
+
bindMaiaOwnedPiAgentDirectory(agentDirectory);
|
|
264
|
+
return { agentDirectory, cwd, environment };
|
|
265
|
+
};
|
|
266
|
+
const isTty = (value, fallback) => Boolean(value ?? fallback);
|
|
267
|
+
const isInteractiveTerminal = (options) => isTty(options.stdinIsTty, process.stdin.isTTY) &&
|
|
268
|
+
isTty(options.stdoutIsTty, process.stdout.isTTY);
|
|
269
|
+
const runtimeFactoryInput = (parsed, cwd, environment) => {
|
|
270
|
+
const model = parsed.model ?? configuredAgentModel(environment);
|
|
271
|
+
return {
|
|
272
|
+
authPath: resolveMaiaAuthPath(environment),
|
|
273
|
+
extensionFlagValues: parsed.extensionFlagValues,
|
|
274
|
+
extensionPaths: parsed.extensionPaths.map((path) => resolve(cwd, path)),
|
|
275
|
+
...(model === undefined ? {} : { model }),
|
|
276
|
+
noExtensions: parsed.noExtensions,
|
|
277
|
+
persistAuth: true,
|
|
278
|
+
standalone: true,
|
|
279
|
+
...(parsed.thinkingLevel === undefined
|
|
280
|
+
? {}
|
|
281
|
+
: { thinkingLevel: parsed.thinkingLevel }),
|
|
282
|
+
verbose: parsed.verbose,
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
const createSessionRuntime = async (arguments_, options) => {
|
|
286
|
+
const parsed = parseAgentOptions(arguments_);
|
|
287
|
+
const { agentDirectory, cwd, environment } = resolveAgentDirectory(options);
|
|
288
|
+
const runtime = await createAgentSessionRuntime(createMaiaAgentRuntimeFactory(runtimeFactoryInput(parsed, cwd, environment)), {
|
|
289
|
+
agentDir: agentDirectory,
|
|
290
|
+
cwd,
|
|
291
|
+
sessionManager: createSessionManager(parsed, cwd, sessionDirectory(agentDirectory, cwd)),
|
|
292
|
+
});
|
|
293
|
+
return { parsed, runtime };
|
|
294
|
+
};
|
|
295
|
+
const runAgentSession = async (arguments_, options) => {
|
|
296
|
+
const { parsed, runtime } = await createSessionRuntime(arguments_, options);
|
|
297
|
+
return runRuntime(runtime, withResolvedPrompt(arguments_, parsed, runtime), options.io ?? defaultIo);
|
|
298
|
+
};
|
|
299
|
+
const runLoginCommand = async (arguments_, options, io) => {
|
|
300
|
+
if (arguments_.length === 1 &&
|
|
301
|
+
(arguments_[0] === "-h" || arguments_[0] === "--help")) {
|
|
302
|
+
io.stdout(`${LOGIN_USAGE}\n`);
|
|
303
|
+
return 0;
|
|
304
|
+
}
|
|
305
|
+
if (arguments_.length > 0) {
|
|
306
|
+
throw new Error(LOGIN_USAGE);
|
|
307
|
+
}
|
|
308
|
+
if (!isInteractiveTerminal(options)) {
|
|
309
|
+
throw new Error("Login requires an interactive terminal. Run maia agent and enter /login.");
|
|
310
|
+
}
|
|
311
|
+
io.stdout("Type /login to authenticate. Credentials are stored in Maia-owned auth.json.\n");
|
|
312
|
+
return runAgentSession(["--no-session"], options);
|
|
313
|
+
};
|
|
314
|
+
const runDigestCommand = async (arguments_, io) => {
|
|
315
|
+
const path = arguments_[0];
|
|
316
|
+
if (path === undefined || arguments_.length !== 1) {
|
|
317
|
+
throw new Error("Usage: maia agent extension digest <path>");
|
|
318
|
+
}
|
|
319
|
+
io.stdout(`${await digestAgentResource(path)}\n`);
|
|
320
|
+
return 0;
|
|
321
|
+
};
|
|
322
|
+
export const runMaiaAgent = async (arguments_, options = {}) => {
|
|
323
|
+
enforcePiStartupNetworkPolicy();
|
|
324
|
+
const io = options.io ?? defaultIo;
|
|
325
|
+
try {
|
|
326
|
+
if (arguments_[0] === "login") {
|
|
327
|
+
return await runLoginCommand(arguments_.slice(1), options, io);
|
|
328
|
+
}
|
|
329
|
+
if (arguments_[0] === "extension" && arguments_[1] === "digest") {
|
|
330
|
+
return await runDigestCommand(arguments_.slice(2), io);
|
|
331
|
+
}
|
|
332
|
+
const parsed = parseAgentOptions(arguments_);
|
|
333
|
+
if (parsed.version) {
|
|
334
|
+
const { VERSION } = await import("@earendil-works/pi-coding-agent");
|
|
335
|
+
io.stdout(`maia agent ${VERSION}\n`);
|
|
336
|
+
return 0;
|
|
337
|
+
}
|
|
338
|
+
return await runAgentSession(arguments_, options);
|
|
339
|
+
}
|
|
340
|
+
catch (error) {
|
|
341
|
+
const message = error instanceof Error ? error.message : "Unknown error.";
|
|
342
|
+
io.stderr(`maia agent: ${message}\n${usage}\n`);
|
|
343
|
+
return 2;
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createMaiaAgentRuntimeFactory, createMaiaAgentSession, type CreateMaiaAgentSessionInput, type MaiaAgentProviderCredential, type MaiaAgentThinkingLevel, } from "./runtime.js";
|
|
2
|
+
export { bindMaiaOwnedPiAgentDirectory, enforcePiStartupNetworkPolicy, } from "./startup-network-policy.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC"}
|