@useactor/core 0.1.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/dist/ai-sdk-provider.d.ts +54 -0
- package/dist/ai-sdk-provider.d.ts.map +1 -0
- package/dist/ai-sdk-provider.js +335 -0
- package/dist/ai-sdk-provider.js.map +1 -0
- package/dist/app-runtime.d.ts +83 -0
- package/dist/app-runtime.d.ts.map +1 -0
- package/dist/app-runtime.js +504 -0
- package/dist/app-runtime.js.map +1 -0
- package/dist/artifacts.d.ts +49 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +50 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/cli-defined-tools.d.ts +17 -0
- package/dist/cli-defined-tools.d.ts.map +1 -0
- package/dist/cli-defined-tools.js +146 -0
- package/dist/cli-defined-tools.js.map +1 -0
- package/dist/codex-oauth-provider.d.ts +30 -0
- package/dist/codex-oauth-provider.d.ts.map +1 -0
- package/dist/codex-oauth-provider.js +453 -0
- package/dist/codex-oauth-provider.js.map +1 -0
- package/dist/events.d.ts +133 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +46 -0
- package/dist/events.js.map +1 -0
- package/dist/feedback.d.ts +29 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +62 -0
- package/dist/feedback.js.map +1 -0
- package/dist/history.d.ts +34 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +118 -0
- package/dist/history.js.map +1 -0
- package/dist/in-memory-runtime.d.ts +12 -0
- package/dist/in-memory-runtime.d.ts.map +1 -0
- package/dist/in-memory-runtime.js +491 -0
- package/dist/in-memory-runtime.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations.d.ts +37 -0
- package/dist/integrations.d.ts.map +1 -0
- package/dist/integrations.js +48 -0
- package/dist/integrations.js.map +1 -0
- package/dist/local-event-logger.d.ts +19 -0
- package/dist/local-event-logger.d.ts.map +1 -0
- package/dist/local-event-logger.js +163 -0
- package/dist/local-event-logger.js.map +1 -0
- package/dist/local-event-schema.d.ts +99 -0
- package/dist/local-event-schema.d.ts.map +1 -0
- package/dist/local-event-schema.js +43 -0
- package/dist/local-event-schema.js.map +1 -0
- package/dist/local-tools.d.ts +99 -0
- package/dist/local-tools.d.ts.map +1 -0
- package/dist/local-tools.js +418 -0
- package/dist/local-tools.js.map +1 -0
- package/dist/mcp-server-config.d.ts +16 -0
- package/dist/mcp-server-config.d.ts.map +1 -0
- package/dist/mcp-server-config.js +75 -0
- package/dist/mcp-server-config.js.map +1 -0
- package/dist/mock-provider.d.ts +8 -0
- package/dist/mock-provider.d.ts.map +1 -0
- package/dist/mock-provider.js +47 -0
- package/dist/mock-provider.js.map +1 -0
- package/dist/model-catalog.d.ts +24 -0
- package/dist/model-catalog.d.ts.map +1 -0
- package/dist/model-catalog.js +92 -0
- package/dist/model-catalog.js.map +1 -0
- package/dist/monoid-integration.d.ts +33 -0
- package/dist/monoid-integration.d.ts.map +1 -0
- package/dist/monoid-integration.js +184 -0
- package/dist/monoid-integration.js.map +1 -0
- package/dist/openai-oauth.d.ts +69 -0
- package/dist/openai-oauth.d.ts.map +1 -0
- package/dist/openai-oauth.js +127 -0
- package/dist/openai-oauth.js.map +1 -0
- package/dist/permission-grant-store.d.ts +7 -0
- package/dist/permission-grant-store.d.ts.map +1 -0
- package/dist/permission-grant-store.js +77 -0
- package/dist/permission-grant-store.js.map +1 -0
- package/dist/permission-grants.d.ts +38 -0
- package/dist/permission-grants.d.ts.map +1 -0
- package/dist/permission-grants.js +93 -0
- package/dist/permission-grants.js.map +1 -0
- package/dist/personas.d.ts +51 -0
- package/dist/personas.d.ts.map +1 -0
- package/dist/personas.js +137 -0
- package/dist/personas.js.map +1 -0
- package/dist/project-tool-registry.d.ts +16 -0
- package/dist/project-tool-registry.d.ts.map +1 -0
- package/dist/project-tool-registry.js +86 -0
- package/dist/project-tool-registry.js.map +1 -0
- package/dist/projects.d.ts +88 -0
- package/dist/projects.d.ts.map +1 -0
- package/dist/projects.js +243 -0
- package/dist/projects.js.map +1 -0
- package/dist/prompt-context.d.ts +13 -0
- package/dist/prompt-context.d.ts.map +1 -0
- package/dist/prompt-context.js +170 -0
- package/dist/prompt-context.js.map +1 -0
- package/dist/proposed-plan.d.ts +24 -0
- package/dist/proposed-plan.d.ts.map +1 -0
- package/dist/proposed-plan.js +74 -0
- package/dist/proposed-plan.js.map +1 -0
- package/dist/providers.d.ts +53 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +31 -0
- package/dist/providers.js.map +1 -0
- package/dist/question-requests.d.ts +39 -0
- package/dist/question-requests.d.ts.map +1 -0
- package/dist/question-requests.js +135 -0
- package/dist/question-requests.js.map +1 -0
- package/dist/renderer-api.d.ts +52 -0
- package/dist/renderer-api.d.ts.map +1 -0
- package/dist/renderer-api.js +2 -0
- package/dist/renderer-api.js.map +1 -0
- package/dist/runtime-tool-execution.d.ts +22 -0
- package/dist/runtime-tool-execution.d.ts.map +1 -0
- package/dist/runtime-tool-execution.js +245 -0
- package/dist/runtime-tool-execution.js.map +1 -0
- package/dist/runtime.d.ts +154 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +184 -0
- package/dist/runtime.js.map +1 -0
- package/dist/secrets.d.ts +75 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +255 -0
- package/dist/secrets.js.map +1 -0
- package/dist/session-actions.d.ts +45 -0
- package/dist/session-actions.d.ts.map +1 -0
- package/dist/session-actions.js +393 -0
- package/dist/session-actions.js.map +1 -0
- package/dist/skills.d.ts +43 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +333 -0
- package/dist/skills.js.map +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/setup.js +17 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/tool-requests.d.ts +58 -0
- package/dist/tool-requests.d.ts.map +1 -0
- package/dist/tool-requests.js +122 -0
- package/dist/tool-requests.js.map +1 -0
- package/dist/tools.d.ts +45 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +50 -0
- package/dist/tools.js.map +1 -0
- package/dist/wyrdos-integration.d.ts +32 -0
- package/dist/wyrdos-integration.d.ts.map +1 -0
- package/dist/wyrdos-integration.js +183 -0
- package/dist/wyrdos-integration.js.map +1 -0
- package/package.json +51 -0
package/dist/projects.js
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { readActorConfig, updateActorConfig } from "@useactor/storage";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
export function createProjectRecord(input, options) {
|
|
4
|
+
const name = normalizeRequiredString(input.name, "Project name");
|
|
5
|
+
return validateProjectRecord({
|
|
6
|
+
id: input.id ?? options.id,
|
|
7
|
+
name,
|
|
8
|
+
createdAt: options.now,
|
|
9
|
+
updatedAt: options.now,
|
|
10
|
+
...(input.wyrdosContainerId ? { wyrdosContainerId: normalizeOptionalString(input.wyrdosContainerId) } : {}),
|
|
11
|
+
...(input.monoidContainerId ? { monoidContainerId: normalizeOptionalString(input.monoidContainerId) } : {}),
|
|
12
|
+
...(input.githubRepoUrl ? { githubRepoUrl: normalizeUrl(input.githubRepoUrl, "GitHub repo URL") } : {}),
|
|
13
|
+
...(input.desktopFolder ? { desktopFolder: normalizeOptionalString(input.desktopFolder) } : {}),
|
|
14
|
+
...(input.rootPath ? { rootPath: normalizeOptionalString(input.rootPath) } : {}),
|
|
15
|
+
...(input.links ? { links: normalizeLinks(input.links) } : {}),
|
|
16
|
+
...(input.enabledTools ? { enabledTools: normalizeStringList(input.enabledTools, "enabled tool") } : {}),
|
|
17
|
+
...(input.integrations ? { integrations: normalizeIntegrations(input.integrations) } : {}),
|
|
18
|
+
...(input.instructions ? { instructions: normalizeOptionalString(input.instructions) } : {}),
|
|
19
|
+
...(input.defaultModel ? { defaultModel: input.defaultModel } : {}),
|
|
20
|
+
...(input.defaultPersonaId ? { defaultPersonaId: input.defaultPersonaId } : {})
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export function updateProjectRecord(existing, input, options) {
|
|
24
|
+
return validateProjectRecord({
|
|
25
|
+
...existing,
|
|
26
|
+
updatedAt: options.now,
|
|
27
|
+
...(input.name !== undefined ? { name: normalizeRequiredString(input.name, "Project name") } : {}),
|
|
28
|
+
...(input.wyrdosContainerId !== undefined
|
|
29
|
+
? { wyrdosContainerId: normalizeOptionalString(input.wyrdosContainerId) }
|
|
30
|
+
: {}),
|
|
31
|
+
...(input.monoidContainerId !== undefined
|
|
32
|
+
? { monoidContainerId: normalizeOptionalString(input.monoidContainerId) }
|
|
33
|
+
: {}),
|
|
34
|
+
...(input.githubRepoUrl !== undefined
|
|
35
|
+
? { githubRepoUrl: normalizeUrl(input.githubRepoUrl, "GitHub repo URL") }
|
|
36
|
+
: {}),
|
|
37
|
+
...(input.desktopFolder !== undefined
|
|
38
|
+
? { desktopFolder: normalizeOptionalString(input.desktopFolder) }
|
|
39
|
+
: {}),
|
|
40
|
+
...(input.rootPath !== undefined ? { rootPath: normalizeOptionalString(input.rootPath) } : {}),
|
|
41
|
+
...(input.links !== undefined ? { links: normalizeLinks(input.links) } : {}),
|
|
42
|
+
...(input.enabledTools !== undefined
|
|
43
|
+
? { enabledTools: normalizeStringList(input.enabledTools, "enabled tool") }
|
|
44
|
+
: {}),
|
|
45
|
+
...(input.integrations !== undefined ? { integrations: normalizeIntegrations(input.integrations) } : {}),
|
|
46
|
+
...(input.instructions !== undefined
|
|
47
|
+
? { instructions: normalizeOptionalString(input.instructions) }
|
|
48
|
+
: {}),
|
|
49
|
+
...(input.defaultModel !== undefined ? { defaultModel: input.defaultModel } : {}),
|
|
50
|
+
...(input.defaultPersonaId !== undefined ? { defaultPersonaId: input.defaultPersonaId } : {})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export function validateProjectRecord(record) {
|
|
54
|
+
normalizeRequiredString(record.id, "Project id");
|
|
55
|
+
normalizeRequiredString(record.name, "Project name");
|
|
56
|
+
normalizeRequiredString(record.createdAt, "Project createdAt");
|
|
57
|
+
normalizeRequiredString(record.updatedAt, "Project updatedAt");
|
|
58
|
+
if (record.defaultModel) {
|
|
59
|
+
normalizeRequiredString(record.defaultModel.providerId, "Project model providerId");
|
|
60
|
+
normalizeRequiredString(record.defaultModel.modelId, "Project model modelId");
|
|
61
|
+
}
|
|
62
|
+
if (record.githubRepoUrl) {
|
|
63
|
+
normalizeUrl(record.githubRepoUrl, "GitHub repo URL");
|
|
64
|
+
}
|
|
65
|
+
if (record.links) {
|
|
66
|
+
normalizeLinks(record.links);
|
|
67
|
+
}
|
|
68
|
+
if (record.enabledTools) {
|
|
69
|
+
normalizeStringList(record.enabledTools, "enabled tool");
|
|
70
|
+
}
|
|
71
|
+
if (record.integrations) {
|
|
72
|
+
normalizeIntegrations(record.integrations);
|
|
73
|
+
}
|
|
74
|
+
return record;
|
|
75
|
+
}
|
|
76
|
+
export async function createProject(options) {
|
|
77
|
+
const now = (options.now ?? (() => new Date()))().toISOString();
|
|
78
|
+
const project = createProjectRecord(options.input, {
|
|
79
|
+
id: options.input.id ?? options.createId?.() ?? `project_${randomUUID()}`,
|
|
80
|
+
now
|
|
81
|
+
});
|
|
82
|
+
await updateActorConfig({
|
|
83
|
+
...options,
|
|
84
|
+
update(config) {
|
|
85
|
+
const projects = getProjectMap(config);
|
|
86
|
+
if (projects[project.id]) {
|
|
87
|
+
throw new Error(`Project already exists: ${project.id}`);
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
...config,
|
|
91
|
+
cli: {
|
|
92
|
+
...(config.cli ?? {}),
|
|
93
|
+
projects: {
|
|
94
|
+
...projects,
|
|
95
|
+
[project.id]: project
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return project;
|
|
102
|
+
}
|
|
103
|
+
export async function listProjects(options) {
|
|
104
|
+
const config = await readActorConfig(options);
|
|
105
|
+
return Object.values(getProjectMap(config)).sort((a, b) => a.name.localeCompare(b.name));
|
|
106
|
+
}
|
|
107
|
+
export async function getProject(projectId, options) {
|
|
108
|
+
const config = await readActorConfig(options);
|
|
109
|
+
return getProjectMap(config)[projectId];
|
|
110
|
+
}
|
|
111
|
+
export async function updateProject(options) {
|
|
112
|
+
let nextProject;
|
|
113
|
+
await updateActorConfig({
|
|
114
|
+
...options,
|
|
115
|
+
update(config) {
|
|
116
|
+
const projects = getProjectMap(config);
|
|
117
|
+
const existing = projects[options.projectId];
|
|
118
|
+
if (!existing) {
|
|
119
|
+
throw new Error(`Project not found: ${options.projectId}`);
|
|
120
|
+
}
|
|
121
|
+
nextProject = updateProjectRecord(existing, options.input, {
|
|
122
|
+
now: (options.now ?? (() => new Date()))().toISOString()
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
...config,
|
|
126
|
+
cli: {
|
|
127
|
+
...(config.cli ?? {}),
|
|
128
|
+
projects: {
|
|
129
|
+
...projects,
|
|
130
|
+
[options.projectId]: nextProject
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
if (!nextProject) {
|
|
137
|
+
throw new Error(`Project not found after update: ${options.projectId}`);
|
|
138
|
+
}
|
|
139
|
+
return nextProject;
|
|
140
|
+
}
|
|
141
|
+
export async function enableProjectIntegration(options) {
|
|
142
|
+
const existing = await getProject(options.projectId, options);
|
|
143
|
+
if (!existing) {
|
|
144
|
+
throw new Error(`Project not found: ${options.projectId}`);
|
|
145
|
+
}
|
|
146
|
+
const integrations = normalizeIntegrations([
|
|
147
|
+
...(existing.integrations ?? []),
|
|
148
|
+
{ providerId: options.providerId, ...(options.resourceId ? { resourceId: options.resourceId } : {}) }
|
|
149
|
+
]);
|
|
150
|
+
const deduped = dedupeIntegrations(integrations);
|
|
151
|
+
return updateProject({
|
|
152
|
+
projectId: options.projectId,
|
|
153
|
+
input: { integrations: deduped },
|
|
154
|
+
...(options.env ? { env: options.env } : {}),
|
|
155
|
+
...(options.homedirPath ? { homedirPath: options.homedirPath } : {}),
|
|
156
|
+
...(options.homedirResolver ? { homedirResolver: options.homedirResolver } : {}),
|
|
157
|
+
...(options.now ? { now: options.now } : {})
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
export async function disableProjectIntegration(options) {
|
|
161
|
+
const existing = await getProject(options.projectId, options);
|
|
162
|
+
if (!existing) {
|
|
163
|
+
throw new Error(`Project not found: ${options.projectId}`);
|
|
164
|
+
}
|
|
165
|
+
const integrations = (existing.integrations ?? []).filter((integration) => integration.providerId !== options.providerId ||
|
|
166
|
+
(options.resourceId !== undefined && integration.resourceId !== options.resourceId));
|
|
167
|
+
return updateProject({
|
|
168
|
+
projectId: options.projectId,
|
|
169
|
+
input: { integrations },
|
|
170
|
+
...(options.env ? { env: options.env } : {}),
|
|
171
|
+
...(options.homedirPath ? { homedirPath: options.homedirPath } : {}),
|
|
172
|
+
...(options.homedirResolver ? { homedirResolver: options.homedirResolver } : {}),
|
|
173
|
+
...(options.now ? { now: options.now } : {})
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
export async function listProjectIntegrations(projectId, options) {
|
|
177
|
+
const project = await getProject(projectId, options);
|
|
178
|
+
if (!project) {
|
|
179
|
+
throw new Error(`Project not found: ${projectId}`);
|
|
180
|
+
}
|
|
181
|
+
return project.integrations ?? [];
|
|
182
|
+
}
|
|
183
|
+
function getProjectMap(config) {
|
|
184
|
+
const projects = config.cli?.projects;
|
|
185
|
+
if (!projects || typeof projects !== "object" || Array.isArray(projects)) {
|
|
186
|
+
return {};
|
|
187
|
+
}
|
|
188
|
+
return Object.fromEntries(Object.entries(projects).map(([projectId, project]) => [
|
|
189
|
+
projectId,
|
|
190
|
+
validateProjectRecord(project)
|
|
191
|
+
]));
|
|
192
|
+
}
|
|
193
|
+
function normalizeRequiredString(value, label) {
|
|
194
|
+
const normalized = value.trim();
|
|
195
|
+
if (!normalized) {
|
|
196
|
+
throw new Error(`${label} is required.`);
|
|
197
|
+
}
|
|
198
|
+
return normalized;
|
|
199
|
+
}
|
|
200
|
+
function normalizeOptionalString(value) {
|
|
201
|
+
return value.trim();
|
|
202
|
+
}
|
|
203
|
+
function normalizeUrl(value, label) {
|
|
204
|
+
const normalized = normalizeRequiredString(value, label);
|
|
205
|
+
try {
|
|
206
|
+
const url = new URL(normalized);
|
|
207
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
208
|
+
throw new Error();
|
|
209
|
+
}
|
|
210
|
+
return url.toString();
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
throw new Error(`${label} must be an http(s) URL.`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function normalizeLinks(links) {
|
|
217
|
+
return links.map((link) => ({
|
|
218
|
+
label: normalizeRequiredString(link.label, "Project link label"),
|
|
219
|
+
url: normalizeUrl(link.url, "Project link URL")
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
function normalizeStringList(values, label) {
|
|
223
|
+
return [...new Set(values.map((value) => normalizeRequiredString(value, label)))].sort();
|
|
224
|
+
}
|
|
225
|
+
function normalizeIntegrations(integrations) {
|
|
226
|
+
return integrations.map((integration) => ({
|
|
227
|
+
providerId: normalizeRequiredString(integration.providerId, "Project integration providerId"),
|
|
228
|
+
...(integration.resourceId ? { resourceId: normalizeOptionalString(integration.resourceId) } : {})
|
|
229
|
+
}));
|
|
230
|
+
}
|
|
231
|
+
function dedupeIntegrations(integrations) {
|
|
232
|
+
const byKey = new Map();
|
|
233
|
+
for (const integration of integrations) {
|
|
234
|
+
const key = `${integration.providerId}:${integration.resourceId ?? ""}`;
|
|
235
|
+
byKey.set(key, integration);
|
|
236
|
+
}
|
|
237
|
+
return [...byKey.values()].sort((a, b) => {
|
|
238
|
+
const left = `${a.providerId}:${a.resourceId ?? ""}`;
|
|
239
|
+
const right = `${b.providerId}:${b.resourceId ?? ""}`;
|
|
240
|
+
return left.localeCompare(right);
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CollaborationMode, ModelRef, PersonaRef, ProjectRef, SessionMessage } from "./runtime.js";
|
|
2
|
+
import { type SkillMetadata } from "./skills.js";
|
|
3
|
+
import type { ToolDescriptor } from "./tools.js";
|
|
4
|
+
export interface PromptContextOptions {
|
|
5
|
+
readonly now?: () => Date;
|
|
6
|
+
readonly platform?: NodeJS.Platform;
|
|
7
|
+
readonly model?: ModelRef;
|
|
8
|
+
readonly tools?: readonly ToolDescriptor[];
|
|
9
|
+
readonly skills?: readonly SkillMetadata[];
|
|
10
|
+
readonly collaborationMode?: CollaborationMode;
|
|
11
|
+
}
|
|
12
|
+
export declare function buildPromptContextMessages(messages: readonly SessionMessage[], persona: PersonaRef | undefined, project: ProjectRef | undefined, options?: PromptContextOptions): readonly SessionMessage[];
|
|
13
|
+
//# sourceMappingURL=prompt-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-context.d.ts","sourceRoot":"","sources":["../src/prompt-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,OAAO,GAAE,oBAAyB,GACjC,SAAS,cAAc,EAAE,CAmF3B"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { createSessionMessage } from "./runtime.js";
|
|
2
|
+
import { buildSkillsPromptSection } from "./skills.js";
|
|
3
|
+
export function buildPromptContextMessages(messages, persona, project, options = {}) {
|
|
4
|
+
const contextMessages = [actorHarnessContext(options)];
|
|
5
|
+
if (options.collaborationMode === "plan") {
|
|
6
|
+
contextMessages.push(planModeContext());
|
|
7
|
+
}
|
|
8
|
+
const skillsContext = buildSkillsPromptSection(options.skills ?? []);
|
|
9
|
+
if (skillsContext) {
|
|
10
|
+
contextMessages.push(createSessionMessage({
|
|
11
|
+
id: "actor_skills_context",
|
|
12
|
+
message: { role: "system", content: skillsContext },
|
|
13
|
+
createdAt: new Date(0).toISOString(),
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
if (persona) {
|
|
17
|
+
contextMessages.push(createSessionMessage({
|
|
18
|
+
id: `persona_context_${persona.id}`,
|
|
19
|
+
message: {
|
|
20
|
+
role: "system",
|
|
21
|
+
content: [
|
|
22
|
+
`Persona: ${persona.name}`,
|
|
23
|
+
persona.instructions,
|
|
24
|
+
!project ? runtimeEnvironmentContext(project, options) : undefined,
|
|
25
|
+
]
|
|
26
|
+
.filter(Boolean)
|
|
27
|
+
.join("\n"),
|
|
28
|
+
},
|
|
29
|
+
createdAt: new Date(0).toISOString(),
|
|
30
|
+
persona,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
if (project) {
|
|
34
|
+
const context = [
|
|
35
|
+
`Project: ${project.name}`,
|
|
36
|
+
project.rootPath ? `Root: ${project.rootPath}` : undefined,
|
|
37
|
+
project.githubRepoUrl ? `GitHub: ${project.githubRepoUrl}` : undefined,
|
|
38
|
+
project.enabledTools?.length
|
|
39
|
+
? `Enabled tools: ${project.enabledTools.join(", ")}`
|
|
40
|
+
: undefined,
|
|
41
|
+
project.integrations?.length
|
|
42
|
+
? `Enabled integrations: ${project.integrations
|
|
43
|
+
.map((integration) => integration.providerId)
|
|
44
|
+
.join(", ")}`
|
|
45
|
+
: undefined,
|
|
46
|
+
project.instructions
|
|
47
|
+
? `Instructions:\n${project.instructions}`
|
|
48
|
+
: undefined,
|
|
49
|
+
runtimeEnvironmentContext(project, options),
|
|
50
|
+
]
|
|
51
|
+
.filter(Boolean)
|
|
52
|
+
.join("\n");
|
|
53
|
+
contextMessages.push(createSessionMessage({
|
|
54
|
+
id: `project_context_${project.id}`,
|
|
55
|
+
message: { role: "system", content: context },
|
|
56
|
+
createdAt: new Date(0).toISOString(),
|
|
57
|
+
project,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
if (!persona && !project) {
|
|
61
|
+
contextMessages.push(createSessionMessage({
|
|
62
|
+
id: "runtime_environment_context",
|
|
63
|
+
message: {
|
|
64
|
+
role: "system",
|
|
65
|
+
content: runtimeEnvironmentContext(project, options),
|
|
66
|
+
},
|
|
67
|
+
createdAt: new Date(0).toISOString(),
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
return [...contextMessages, ...messages];
|
|
71
|
+
}
|
|
72
|
+
function planModeContext() {
|
|
73
|
+
return {
|
|
74
|
+
id: "actor_plan_mode_context",
|
|
75
|
+
role: "system",
|
|
76
|
+
content: [
|
|
77
|
+
"# Collaboration Mode: Plan",
|
|
78
|
+
"",
|
|
79
|
+
"You are in Plan Mode. Your job is to chat your way to a decision-complete execution plan before implementation.",
|
|
80
|
+
"",
|
|
81
|
+
"Do not edit files, write repo-tracked files, run migrations/codegen, or carry out implementation work in Plan Mode. You may inspect files, search the repo, and run non-mutating checks that help produce the plan.",
|
|
82
|
+
"",
|
|
83
|
+
"Before asking the user questions, first ground yourself in the environment through non-mutating exploration when repo context is available. Ask only for preferences, tradeoffs, or missing intent that cannot be discovered.",
|
|
84
|
+
"",
|
|
85
|
+
"When the plan is complete, output exactly one final plan wrapped in tags:",
|
|
86
|
+
"<proposed_plan>",
|
|
87
|
+
"Markdown plan content here.",
|
|
88
|
+
"</proposed_plan>",
|
|
89
|
+
"",
|
|
90
|
+
"The `<proposed_plan>` block should include a title, concise summary, implementation changes, tests, and assumptions/defaults. Do not ask whether to proceed in the final plan.",
|
|
91
|
+
].join("\n"),
|
|
92
|
+
createdAt: new Date(0).toISOString(),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function actorHarnessContext(options) {
|
|
96
|
+
return createSessionMessage({
|
|
97
|
+
id: "actor_harness_context",
|
|
98
|
+
message: {
|
|
99
|
+
role: "system",
|
|
100
|
+
content: [
|
|
101
|
+
"Actor harness contract:",
|
|
102
|
+
"- You are running inside Actor, a local-first agent workbench for CLI and desktop sessions.",
|
|
103
|
+
"- Treat @useactor/core as the authority for runtime behavior, tool execution, approvals, and session history.",
|
|
104
|
+
"- Inspect relevant project files before changing them. Keep edits scoped to the user's request and existing project conventions.",
|
|
105
|
+
"- Read-only inspection tools may run directly. File writes, edits, shell commands, and external service mutations are approval-gated by Actor.",
|
|
106
|
+
"- Never claim local files are inaccessible when read/search tools are available.",
|
|
107
|
+
"- If a tool is denied, redirected, malformed, unavailable, or fails, continue from the visible result instead of assuming it executed.",
|
|
108
|
+
"- Report verification honestly. Mention checks that passed, failed, or could not run.",
|
|
109
|
+
modelContext(options.model),
|
|
110
|
+
toolContext(options.tools),
|
|
111
|
+
skillCreationContext(options.tools),
|
|
112
|
+
]
|
|
113
|
+
.filter(Boolean)
|
|
114
|
+
.join("\n"),
|
|
115
|
+
},
|
|
116
|
+
createdAt: new Date(0).toISOString(),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function modelContext(model) {
|
|
120
|
+
if (!model) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
return [
|
|
124
|
+
"Selected model:",
|
|
125
|
+
`provider: ${model.providerId}`,
|
|
126
|
+
`model: ${model.modelId}`,
|
|
127
|
+
model.variantId ? `variant: ${model.variantId}` : undefined,
|
|
128
|
+
]
|
|
129
|
+
.filter(Boolean)
|
|
130
|
+
.join("\n");
|
|
131
|
+
}
|
|
132
|
+
function toolContext(tools) {
|
|
133
|
+
if (!tools?.length) {
|
|
134
|
+
return "Available tools: none registered for this session.";
|
|
135
|
+
}
|
|
136
|
+
return [
|
|
137
|
+
"Available Actor tools:",
|
|
138
|
+
...tools.map((tool) => [
|
|
139
|
+
`- ${tool.id}`,
|
|
140
|
+
`name: ${tool.name}`,
|
|
141
|
+
`permission: ${tool.permissionPolicy}`,
|
|
142
|
+
`description: ${tool.description}`,
|
|
143
|
+
].join(" | ")),
|
|
144
|
+
].join("\n");
|
|
145
|
+
}
|
|
146
|
+
function skillCreationContext(tools) {
|
|
147
|
+
if (!tools?.some((tool) => tool.id === "skill")) {
|
|
148
|
+
return undefined;
|
|
149
|
+
}
|
|
150
|
+
return [
|
|
151
|
+
"Skill creation:",
|
|
152
|
+
"- When the user asks to create a skill and does not specify scope, ask whether it should be project-specific or global before writing it.",
|
|
153
|
+
"- Use the skill tool for skill creation. Project-specific saves to the project .actor/skills directory. Global saves to ACTOR_HOME/skills, not Codex.",
|
|
154
|
+
"- If the skill already exists, ask before overwriting and only set overwrite after explicit user confirmation.",
|
|
155
|
+
].join("\n");
|
|
156
|
+
}
|
|
157
|
+
function runtimeEnvironmentContext(project, options) {
|
|
158
|
+
const now = options.now ?? (() => new Date());
|
|
159
|
+
return [
|
|
160
|
+
"Environment:",
|
|
161
|
+
project?.rootPath ? `cwd: ${project.rootPath}` : undefined,
|
|
162
|
+
project?.rootPath ? `root: ${project.rootPath}` : undefined,
|
|
163
|
+
`platform: ${options.platform ?? process.platform}`,
|
|
164
|
+
`date: ${now().toISOString().slice(0, 10)}`,
|
|
165
|
+
"Use list/read/grep/glob-style tools for inspection before editing when they are available.",
|
|
166
|
+
]
|
|
167
|
+
.filter(Boolean)
|
|
168
|
+
.join("\n");
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=prompt-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-context.js","sourceRoot":"","sources":["../src/prompt-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAQpD,OAAO,EAAE,wBAAwB,EAAsB,MAAM,aAAa,CAAC;AAY3E,MAAM,UAAU,0BAA0B,CACxC,QAAmC,EACnC,OAA+B,EAC/B,OAA+B,EAC/B,UAAgC,EAAE;IAElC,MAAM,eAAe,GAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzE,IAAI,OAAO,CAAC,iBAAiB,KAAK,MAAM,EAAE,CAAC;QACzC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,CAAC,IAAI,CAClB,oBAAoB,CAAC;YACnB,EAAE,EAAE,sBAAsB;YAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YACnD,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;SACrC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,CAAC,IAAI,CAClB,oBAAoB,CAAC;YACnB,EAAE,EAAE,mBAAmB,OAAO,CAAC,EAAE,EAAE;YACnC,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;oBACP,YAAY,OAAO,CAAC,IAAI,EAAE;oBAC1B,OAAO,CAAC,YAAY;oBACpB,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;iBACnE;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,IAAI,CAAC;aACd;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACpC,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG;YACd,YAAY,OAAO,CAAC,IAAI,EAAE;YAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;YAC1D,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;YACtE,OAAO,CAAC,YAAY,EAAE,MAAM;gBAC1B,CAAC,CAAC,kBAAkB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrD,CAAC,CAAC,SAAS;YACb,OAAO,CAAC,YAAY,EAAE,MAAM;gBAC1B,CAAC,CAAC,yBAAyB,OAAO,CAAC,YAAY;qBAC1C,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;qBAC5C,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjB,CAAC,CAAC,SAAS;YACb,OAAO,CAAC,YAAY;gBAClB,CAAC,CAAC,kBAAkB,OAAO,CAAC,YAAY,EAAE;gBAC1C,CAAC,CAAC,SAAS;YACb,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC;SAC5C;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,eAAe,CAAC,IAAI,CAClB,oBAAoB,CAAC;YACnB,EAAE,EAAE,mBAAmB,OAAO,CAAC,EAAE,EAAE;YACnC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;YAC7C,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACpC,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,CAClB,oBAAoB,CAAC;YACnB,EAAE,EAAE,6BAA6B;YACjC,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC;aACrD;YACD,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;SACrC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,4BAA4B;YAC5B,EAAE;YACF,iHAAiH;YACjH,EAAE;YACF,qNAAqN;YACrN,EAAE;YACF,+NAA+N;YAC/N,EAAE;YACF,2EAA2E;YAC3E,iBAAiB;YACjB,6BAA6B;YAC7B,kBAAkB;YAClB,EAAE;YACF,gLAAgL;SACjL,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA6B;IACxD,OAAO,oBAAoB,CAAC;QAC1B,EAAE,EAAE,uBAAuB;QAC3B,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,yBAAyB;gBACzB,6FAA6F;gBAC7F,+GAA+G;gBAC/G,kIAAkI;gBAClI,gJAAgJ;gBAChJ,kFAAkF;gBAClF,wIAAwI;gBACxI,uFAAuF;gBACvF,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC3B,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC1B,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;aACpC;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC;SACd;QACD,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAA2B;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,aAAa,KAAK,CAAC,UAAU,EAAE;QAC/B,UAAU,KAAK,CAAC,OAAO,EAAE;QACzB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;KAC5D;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAA4C;IAC/D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,oDAAoD,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,wBAAwB;QACxB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB;YACE,KAAK,IAAI,CAAC,EAAE,EAAE;YACd,SAAS,IAAI,CAAC,IAAI,EAAE;YACpB,eAAe,IAAI,CAAC,gBAAgB,EAAE;YACtC,gBAAgB,IAAI,CAAC,WAAW,EAAE;SACnC,CAAC,IAAI,CAAC,KAAK,CAAC,CACd;KACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA4C;IAE5C,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,2IAA2I;QAC3I,uJAAuJ;QACvJ,gHAAgH;KACjH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,OAA+B,EAC/B,OAA6B;IAE7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO;QACL,cAAc;QACd,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1D,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC3D,aAAa,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;QACnD,SAAS,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC3C,4FAA4F;KAC7F;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type ProposedPlanSegment = {
|
|
2
|
+
readonly type: "normal";
|
|
3
|
+
readonly text: string;
|
|
4
|
+
} | {
|
|
5
|
+
readonly type: "plan_start";
|
|
6
|
+
} | {
|
|
7
|
+
readonly type: "plan_delta";
|
|
8
|
+
readonly text: string;
|
|
9
|
+
} | {
|
|
10
|
+
readonly type: "plan_end";
|
|
11
|
+
};
|
|
12
|
+
export interface ProposedPlanChunk {
|
|
13
|
+
readonly visibleText: string;
|
|
14
|
+
readonly segments: readonly ProposedPlanSegment[];
|
|
15
|
+
}
|
|
16
|
+
export declare class ProposedPlanParser {
|
|
17
|
+
private buffer;
|
|
18
|
+
private inPlan;
|
|
19
|
+
push(text: string): ProposedPlanChunk;
|
|
20
|
+
finish(): ProposedPlanChunk;
|
|
21
|
+
private drain;
|
|
22
|
+
}
|
|
23
|
+
export declare function stripProposedPlanBlocks(text: string): string;
|
|
24
|
+
//# sourceMappingURL=proposed-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposed-plan.d.ts","sourceRoot":"","sources":["../src/proposed-plan.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAS;IAEvB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAKrC,MAAM,IAAI,iBAAiB;IAI3B,OAAO,CAAC,KAAK;CAgDd;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5D"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
const OPEN_TAG = "<proposed_plan>";
|
|
2
|
+
const CLOSE_TAG = "</proposed_plan>";
|
|
3
|
+
export class ProposedPlanParser {
|
|
4
|
+
buffer = "";
|
|
5
|
+
inPlan = false;
|
|
6
|
+
push(text) {
|
|
7
|
+
this.buffer += text;
|
|
8
|
+
return this.drain(false);
|
|
9
|
+
}
|
|
10
|
+
finish() {
|
|
11
|
+
return this.drain(true);
|
|
12
|
+
}
|
|
13
|
+
drain(finish) {
|
|
14
|
+
let visibleText = "";
|
|
15
|
+
const segments = [];
|
|
16
|
+
while (this.buffer.length > 0) {
|
|
17
|
+
const tag = this.inPlan ? CLOSE_TAG : OPEN_TAG;
|
|
18
|
+
const tagIndex = this.buffer.indexOf(tag);
|
|
19
|
+
if (tagIndex >= 0) {
|
|
20
|
+
const before = this.buffer.slice(0, tagIndex);
|
|
21
|
+
if (before) {
|
|
22
|
+
if (this.inPlan) {
|
|
23
|
+
segments.push({ type: "plan_delta", text: before });
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
visibleText += before;
|
|
27
|
+
segments.push({ type: "normal", text: before });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
this.buffer = this.buffer.slice(tagIndex + tag.length);
|
|
31
|
+
if (this.inPlan) {
|
|
32
|
+
this.inPlan = false;
|
|
33
|
+
segments.push({ type: "plan_end" });
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.inPlan = true;
|
|
37
|
+
segments.push({ type: "plan_start" });
|
|
38
|
+
}
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const holdLength = finish ? 0 : longestTagPrefixSuffix(this.buffer, tag);
|
|
42
|
+
const flushLength = this.buffer.length - holdLength;
|
|
43
|
+
if (flushLength <= 0) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
const text = this.buffer.slice(0, flushLength);
|
|
47
|
+
this.buffer = this.buffer.slice(flushLength);
|
|
48
|
+
if (this.inPlan) {
|
|
49
|
+
segments.push({ type: "plan_delta", text });
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
visibleText += text;
|
|
53
|
+
segments.push({ type: "normal", text });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return { visibleText, segments };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function stripProposedPlanBlocks(text) {
|
|
60
|
+
const parser = new ProposedPlanParser();
|
|
61
|
+
const first = parser.push(text);
|
|
62
|
+
const final = parser.finish();
|
|
63
|
+
return `${first.visibleText}${final.visibleText}`;
|
|
64
|
+
}
|
|
65
|
+
function longestTagPrefixSuffix(value, tag) {
|
|
66
|
+
const max = Math.min(value.length, tag.length - 1);
|
|
67
|
+
for (let length = max; length > 0; length -= 1) {
|
|
68
|
+
if (tag.startsWith(value.slice(-length))) {
|
|
69
|
+
return length;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=proposed-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposed-plan.js","sourceRoot":"","sources":["../src/proposed-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ModelRef, ActorId } from "./runtime.js";
|
|
2
|
+
import type { ProviderSecretRef } from "./secrets.js";
|
|
3
|
+
export type ProviderCatalogAuthMethod = ApiKeyAuthMethod | OAuthAuthMethod | SubscriptionAuthMethod | NoAuthMethod;
|
|
4
|
+
export interface ApiKeyAuthMethod {
|
|
5
|
+
readonly type: "api_key";
|
|
6
|
+
readonly secretRef: ProviderSecretRef;
|
|
7
|
+
}
|
|
8
|
+
export interface OAuthAuthMethod {
|
|
9
|
+
readonly type: "oauth";
|
|
10
|
+
readonly accessTokenRef: ProviderSecretRef;
|
|
11
|
+
readonly refreshTokenRef?: ProviderSecretRef;
|
|
12
|
+
readonly accountId?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SubscriptionAuthMethod {
|
|
15
|
+
readonly type: "subscription";
|
|
16
|
+
readonly accountId?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface NoAuthMethod {
|
|
19
|
+
readonly type: "none";
|
|
20
|
+
}
|
|
21
|
+
export type ModelModality = "text" | "image" | "audio" | "video";
|
|
22
|
+
export type ModelProviderOptions = Record<string, Record<string, unknown>>;
|
|
23
|
+
export interface ModelVariantConfig {
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly description?: string;
|
|
27
|
+
readonly providerOptions?: ModelProviderOptions;
|
|
28
|
+
}
|
|
29
|
+
export interface ModelCatalogConfig {
|
|
30
|
+
readonly id: string;
|
|
31
|
+
readonly providerId: ActorId;
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly defaultVariantId?: string;
|
|
34
|
+
readonly contextWindow?: number;
|
|
35
|
+
readonly inputModalities?: readonly ModelModality[];
|
|
36
|
+
readonly outputModalities?: readonly ModelModality[];
|
|
37
|
+
readonly variants?: readonly ModelVariantConfig[];
|
|
38
|
+
}
|
|
39
|
+
export interface ProviderCatalogConfig {
|
|
40
|
+
readonly id: ActorId;
|
|
41
|
+
readonly name: string;
|
|
42
|
+
readonly authMethod: ProviderCatalogAuthMethod;
|
|
43
|
+
readonly defaultModelId?: string;
|
|
44
|
+
readonly availableModels: readonly ModelCatalogConfig[];
|
|
45
|
+
}
|
|
46
|
+
export interface ModelSelection extends ModelRef {
|
|
47
|
+
readonly modelName: string;
|
|
48
|
+
readonly variantName?: string;
|
|
49
|
+
readonly providerOptions?: ModelProviderOptions;
|
|
50
|
+
}
|
|
51
|
+
export declare function selectDefaultModel(provider: ProviderCatalogConfig): ModelRef | undefined;
|
|
52
|
+
export declare function selectModelVariant(provider: ProviderCatalogConfig, modelId: string, variantId?: string): ModelSelection | undefined;
|
|
53
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GACjC,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,YAAY,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACjD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,QAAQ,GAAG,SAAS,CAgBxF;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,GAAG,SAAS,CAiB5B"}
|