create-cf-open-agents-api 0.2.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/LICENSE +202 -0
- package/NOTICE +25 -0
- package/README.md +96 -0
- package/dist/answers.d.ts +30 -0
- package/dist/answers.js +83 -0
- package/dist/answers.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +31 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/doctor.d.ts +51 -0
- package/dist/commands/doctor.js +26 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +177 -0
- package/dist/commands/init.js +85 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/setup.d.ts +67 -0
- package/dist/commands/setup.js +31 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/vendor.d.ts +69 -0
- package/dist/commands/vendor.js +37 -0
- package/dist/commands/vendor.js.map +1 -0
- package/dist/doctor.d.ts +26 -0
- package/dist/doctor.js +136 -0
- package/dist/doctor.js.map +1 -0
- package/dist/exec.d.ts +16 -0
- package/dist/exec.js +33 -0
- package/dist/exec.js.map +1 -0
- package/dist/fs.d.ts +24 -0
- package/dist/fs.js +54 -0
- package/dist/fs.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +37 -0
- package/dist/init.js +179 -0
- package/dist/init.js.map +1 -0
- package/dist/jsonc.d.ts +17 -0
- package/dist/jsonc.js +55 -0
- package/dist/jsonc.js.map +1 -0
- package/dist/plan.d.ts +23 -0
- package/dist/plan.js +36 -0
- package/dist/plan.js.map +1 -0
- package/dist/project.d.ts +62 -0
- package/dist/project.js +52 -0
- package/dist/project.js.map +1 -0
- package/dist/setup.d.ts +26 -0
- package/dist/setup.js +139 -0
- package/dist/setup.js.map +1 -0
- package/dist/steps/agents-file.d.ts +5 -0
- package/dist/steps/agents-file.js +19 -0
- package/dist/steps/agents-file.js.map +1 -0
- package/dist/steps/dev-vars.d.ts +17 -0
- package/dist/steps/dev-vars.js +65 -0
- package/dist/steps/dev-vars.js.map +1 -0
- package/dist/steps/entry.d.ts +7 -0
- package/dist/steps/entry.js +36 -0
- package/dist/steps/entry.js.map +1 -0
- package/dist/steps/gitignore.d.ts +5 -0
- package/dist/steps/gitignore.js +20 -0
- package/dist/steps/gitignore.js.map +1 -0
- package/dist/steps/package-json.d.ts +12 -0
- package/dist/steps/package-json.js +45 -0
- package/dist/steps/package-json.js.map +1 -0
- package/dist/steps/standalone.d.ts +8 -0
- package/dist/steps/standalone.js +18 -0
- package/dist/steps/standalone.js.map +1 -0
- package/dist/steps/tsconfig.d.ts +4 -0
- package/dist/steps/tsconfig.js +18 -0
- package/dist/steps/tsconfig.js.map +1 -0
- package/dist/steps/vendor.d.ts +30 -0
- package/dist/steps/vendor.js +158 -0
- package/dist/steps/vendor.js.map +1 -0
- package/dist/steps/wrangler.d.ts +35 -0
- package/dist/steps/wrangler.js +197 -0
- package/dist/steps/wrangler.js.map +1 -0
- package/dist/templates/agents.d.ts +27 -0
- package/dist/templates/agents.js +265 -0
- package/dist/templates/agents.js.map +1 -0
- package/dist/templates/standalone.d.ts +12 -0
- package/dist/templates/standalone.js +44 -0
- package/dist/templates/standalone.js.map +1 -0
- package/dist/token.d.ts +3 -0
- package/dist/token.js +7 -0
- package/dist/token.js.map +1 -0
- package/dist/ui.d.ts +33 -0
- package/dist/ui.js +82 -0
- package/dist/ui.js.map +1 -0
- package/dist/vendor.d.ts +9 -0
- package/dist/vendor.js +14 -0
- package/dist/vendor.js.map +1 -0
- package/dist/versions.d.ts +30 -0
- package/dist/versions.js +33 -0
- package/dist/versions.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { PROVIDER_VERSIONS } from "../versions.js";
|
|
2
|
+
export const PROVIDERS = [
|
|
3
|
+
"openai",
|
|
4
|
+
"anthropic",
|
|
5
|
+
"workers-ai",
|
|
6
|
+
"openai-compatible",
|
|
7
|
+
];
|
|
8
|
+
export const HARNESSES = ["codex", "claude-code", "opencode"];
|
|
9
|
+
const WIDTH = 100;
|
|
10
|
+
export const PRESET_NAMES = {
|
|
11
|
+
codex: "coding",
|
|
12
|
+
"claude-code": "claude",
|
|
13
|
+
opencode: "opencode",
|
|
14
|
+
};
|
|
15
|
+
const DEFAULT_MODELS = {
|
|
16
|
+
openai: "gpt-6-astra",
|
|
17
|
+
anthropic: "claude-opus-5",
|
|
18
|
+
"workers-ai": "@cf/zai-org/glm-4.7-flash",
|
|
19
|
+
};
|
|
20
|
+
/** The secret the generated composition reads for the provider, if any. */
|
|
21
|
+
export function providerSecret(provider) {
|
|
22
|
+
switch (provider) {
|
|
23
|
+
case "openai":
|
|
24
|
+
return "OPENAI_API_KEY";
|
|
25
|
+
case "anthropic":
|
|
26
|
+
return "ANTHROPIC_API_KEY";
|
|
27
|
+
case "openai-compatible":
|
|
28
|
+
return "MODEL_API_KEY";
|
|
29
|
+
default:
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** npm packages the composition imports, pinned like the workspace example. */
|
|
34
|
+
export function providerPackages(input) {
|
|
35
|
+
const packages = {};
|
|
36
|
+
for (const module of collect(input).imports.keys()) {
|
|
37
|
+
if (module === "@ai-sdk/openai" || module === "workers-ai-provider") {
|
|
38
|
+
packages["@ai-sdk/openai"] = PROVIDER_VERSIONS["@ai-sdk/openai"];
|
|
39
|
+
packages["@ai-sdk/provider"] = PROVIDER_VERSIONS["@ai-sdk/provider"];
|
|
40
|
+
}
|
|
41
|
+
if (module === "@ai-sdk/anthropic")
|
|
42
|
+
packages[module] = PROVIDER_VERSIONS["@ai-sdk/anthropic"];
|
|
43
|
+
if (module === "workers-ai-provider")
|
|
44
|
+
packages[module] = PROVIDER_VERSIONS["workers-ai-provider"];
|
|
45
|
+
}
|
|
46
|
+
return packages;
|
|
47
|
+
}
|
|
48
|
+
function nativeEntry(name, protocol, baseURL, secret, model) {
|
|
49
|
+
return {
|
|
50
|
+
name,
|
|
51
|
+
lines: [
|
|
52
|
+
`${name}: () =>`,
|
|
53
|
+
" nativeModel({",
|
|
54
|
+
` protocol: "${protocol}",`,
|
|
55
|
+
` baseURL: "${baseURL}",`,
|
|
56
|
+
` apiKey: env.${secret},`,
|
|
57
|
+
` model: "${model}",`,
|
|
58
|
+
" }),",
|
|
59
|
+
],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function arrowEntry(name, expression, indent) {
|
|
63
|
+
const inline = `${name}: () => ${expression},`;
|
|
64
|
+
const lines = indent + inline.length <= WIDTH ? [inline] : [`${name}: () =>`, ` ${expression},`];
|
|
65
|
+
return { name, lines };
|
|
66
|
+
}
|
|
67
|
+
function openaiPieces(input, pieces) {
|
|
68
|
+
const secret = "OPENAI_API_KEY";
|
|
69
|
+
pieces.bindings.add(`${secret}: string;`);
|
|
70
|
+
const portable = input.harnesses.filter((harness) => harness !== "codex");
|
|
71
|
+
if (input.harnesses.includes("codex")) {
|
|
72
|
+
pieces.helpers.add("nativeModel");
|
|
73
|
+
pieces.models.push(nativeEntry("codex", "responses", "https://api.openai.com/v1", secret, DEFAULT_MODELS.openai));
|
|
74
|
+
pieces.presets.push({ name: "coding", harness: "codex", model: "codex", webSearch: true });
|
|
75
|
+
}
|
|
76
|
+
if (portable.length > 0) {
|
|
77
|
+
pieces.helpers.add("aiSDKModel");
|
|
78
|
+
pieces.imports.set("@ai-sdk/openai", ["createOpenAI"]);
|
|
79
|
+
pieces.models.push(arrowEntry("primary", `aiSDKModel(createOpenAI({ apiKey: env.${secret} })("${DEFAULT_MODELS.openai}"))`, 6));
|
|
80
|
+
}
|
|
81
|
+
for (const harness of portable)
|
|
82
|
+
pieces.presets.push({
|
|
83
|
+
name: PRESET_NAMES[harness],
|
|
84
|
+
harness,
|
|
85
|
+
model: "primary",
|
|
86
|
+
webSearch: false,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function anthropicPieces(input, pieces) {
|
|
90
|
+
const secret = "ANTHROPIC_API_KEY";
|
|
91
|
+
pieces.bindings.add(`${secret}: string;`);
|
|
92
|
+
const portable = input.harnesses.filter((harness) => harness !== "claude-code");
|
|
93
|
+
if (input.harnesses.includes("claude-code")) {
|
|
94
|
+
pieces.helpers.add("nativeModel");
|
|
95
|
+
pieces.models.push(nativeEntry("claude", "anthropic", "https://api.anthropic.com/v1", secret, DEFAULT_MODELS.anthropic));
|
|
96
|
+
pieces.presets.push({
|
|
97
|
+
name: "claude",
|
|
98
|
+
harness: "claude-code",
|
|
99
|
+
model: "claude",
|
|
100
|
+
webSearch: true,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
if (portable.length > 0) {
|
|
104
|
+
pieces.helpers.add("aiSDKModel");
|
|
105
|
+
pieces.imports.set("@ai-sdk/anthropic", ["createAnthropic"]);
|
|
106
|
+
pieces.models.push(arrowEntry("primary", `aiSDKModel(createAnthropic({ apiKey: env.${secret} })("${DEFAULT_MODELS.anthropic}"))`, 6));
|
|
107
|
+
}
|
|
108
|
+
for (const harness of portable)
|
|
109
|
+
pieces.presets.push({
|
|
110
|
+
name: PRESET_NAMES[harness],
|
|
111
|
+
harness,
|
|
112
|
+
model: "primary",
|
|
113
|
+
webSearch: false,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function workersEntry(pieces) {
|
|
117
|
+
pieces.helpers.add("aiSDKModel");
|
|
118
|
+
pieces.imports.set("workers-ai-provider", ["createWorkersAI"]);
|
|
119
|
+
pieces.bindings.add("AI: Ai;");
|
|
120
|
+
pieces.models.push(arrowEntry("workers", `aiSDKModel(createWorkersAI({ binding: env.AI })("${DEFAULT_MODELS["workers-ai"]}"))`, 6));
|
|
121
|
+
}
|
|
122
|
+
function workersAiPieces(input, pieces) {
|
|
123
|
+
workersEntry(pieces);
|
|
124
|
+
for (const harness of input.harnesses)
|
|
125
|
+
pieces.presets.push({
|
|
126
|
+
name: PRESET_NAMES[harness],
|
|
127
|
+
harness,
|
|
128
|
+
model: "workers",
|
|
129
|
+
webSearch: false,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function compatiblePieces(input, pieces) {
|
|
133
|
+
const secret = "MODEL_API_KEY";
|
|
134
|
+
pieces.bindings.add(`${secret}: string;`);
|
|
135
|
+
pieces.helpers.add("openAICompatibleModel");
|
|
136
|
+
pieces.models.push({
|
|
137
|
+
name: "compatible",
|
|
138
|
+
lines: [
|
|
139
|
+
"compatible: () =>",
|
|
140
|
+
" openAICompatibleModel({",
|
|
141
|
+
` baseURL: "${input.baseURL ?? "https://example.com/v1"}",`,
|
|
142
|
+
` apiKey: env.${secret},`,
|
|
143
|
+
` model: "${input.model ?? "model"}",`,
|
|
144
|
+
" }),",
|
|
145
|
+
],
|
|
146
|
+
});
|
|
147
|
+
for (const harness of input.harnesses)
|
|
148
|
+
pieces.presets.push({
|
|
149
|
+
name: PRESET_NAMES[harness],
|
|
150
|
+
harness,
|
|
151
|
+
model: "compatible",
|
|
152
|
+
webSearch: false,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
function collect(input) {
|
|
156
|
+
const pieces = {
|
|
157
|
+
imports: new Map(),
|
|
158
|
+
helpers: new Set(),
|
|
159
|
+
bindings: new Set(["API_TOKEN: string;"]),
|
|
160
|
+
models: [],
|
|
161
|
+
presets: [],
|
|
162
|
+
};
|
|
163
|
+
switch (input.provider) {
|
|
164
|
+
case "openai":
|
|
165
|
+
openaiPieces(input, pieces);
|
|
166
|
+
break;
|
|
167
|
+
case "anthropic":
|
|
168
|
+
anthropicPieces(input, pieces);
|
|
169
|
+
break;
|
|
170
|
+
case "workers-ai":
|
|
171
|
+
workersAiPieces(input, pieces);
|
|
172
|
+
break;
|
|
173
|
+
default:
|
|
174
|
+
compatiblePieces(input, pieces);
|
|
175
|
+
}
|
|
176
|
+
if (input.workersAi && input.provider !== "workers-ai") {
|
|
177
|
+
workersEntry(pieces);
|
|
178
|
+
const harness = input.harnesses.includes("codex") ? "codex" : (input.harnesses[0] ?? "codex");
|
|
179
|
+
pieces.presets.push({ name: "workers", harness, model: "workers", webSearch: false });
|
|
180
|
+
}
|
|
181
|
+
return pieces;
|
|
182
|
+
}
|
|
183
|
+
/** The provider secret with a `.dev.vars` comment naming the presets that need it. */
|
|
184
|
+
export function describeSecret(input) {
|
|
185
|
+
const name = providerSecret(input.provider);
|
|
186
|
+
if (!name)
|
|
187
|
+
return;
|
|
188
|
+
const presets = collect(input).presets.map((preset) => preset.name);
|
|
189
|
+
const needing = presets.filter((preset) => preset !== "workers");
|
|
190
|
+
const free = presets.filter((preset) => preset === "workers");
|
|
191
|
+
const list = needing.length > 1 ? `${needing.slice(0, -1).join(", ")} and ${needing.at(-1)}` : needing[0];
|
|
192
|
+
const plural = needing.length > 1 ? "presets" : "preset";
|
|
193
|
+
const tail = free.length > 0
|
|
194
|
+
? `; leave empty to use only ${free.map((preset) => `\`${preset}\``).join(", ")}.`
|
|
195
|
+
: ".";
|
|
196
|
+
return { name, comment: `# Required for the ${list} ${plural}${tail}` };
|
|
197
|
+
}
|
|
198
|
+
const quoted = (values) => values.map((value) => `"${value}"`).join(", ");
|
|
199
|
+
function presetLines(preset, presets) {
|
|
200
|
+
const delegates = presets
|
|
201
|
+
.filter((other) => other !== preset && other.name !== "workers")
|
|
202
|
+
.map((other) => other.name);
|
|
203
|
+
const fields = [`harness: "${preset.harness}"`, `model: "${preset.model}"`];
|
|
204
|
+
if (preset.name !== "workers" && delegates.length > 0)
|
|
205
|
+
fields.push(`delegates: [${quoted(delegates)}]`);
|
|
206
|
+
if (preset.webSearch)
|
|
207
|
+
fields.push("webSearch: true");
|
|
208
|
+
const inline = ` ${preset.name}: { ${fields.join(", ")} },`;
|
|
209
|
+
if (inline.length <= WIDTH)
|
|
210
|
+
return [inline];
|
|
211
|
+
return [` ${preset.name}: {`, ...fields.map((field) => ` ${field},`), " },"];
|
|
212
|
+
}
|
|
213
|
+
const sortedNames = (names) => [...names].sort((a, b) => a.replace(/^type /, "").localeCompare(b.replace(/^type /, ""), "en"));
|
|
214
|
+
function importLines(pieces) {
|
|
215
|
+
const modules = new Map(pieces.imports);
|
|
216
|
+
modules.set("cf-open-agents-api/cloudflare", [
|
|
217
|
+
"type AgentBindings",
|
|
218
|
+
"bearerTenant",
|
|
219
|
+
"type ContainerBindings",
|
|
220
|
+
"defineAgentWorker",
|
|
221
|
+
]);
|
|
222
|
+
modules.set("cf-open-agents-api/models", sortedNames(pieces.helpers));
|
|
223
|
+
return [...modules.keys()]
|
|
224
|
+
.sort((a, b) => a.localeCompare(b, "en"))
|
|
225
|
+
.flatMap((module) => {
|
|
226
|
+
const names = sortedNames(modules.get(module) ?? []);
|
|
227
|
+
const inline = `import { ${names.join(", ")} } from "${module}";`;
|
|
228
|
+
if (inline.length <= WIDTH)
|
|
229
|
+
return [inline];
|
|
230
|
+
return ["import {", ...names.map((name) => ` ${name},`), `} from "${module}";`];
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/** Renders the composition module; the standalone form is byte-identical to examples/worker/src/index.ts. */
|
|
234
|
+
export function renderComposition(input) {
|
|
235
|
+
const pieces = collect(input);
|
|
236
|
+
const lines = [
|
|
237
|
+
...importLines(pieces),
|
|
238
|
+
"",
|
|
239
|
+
"interface Bindings extends AgentBindings, ContainerBindings {",
|
|
240
|
+
...sortedNames(pieces.bindings).map((binding) => ` ${binding}`),
|
|
241
|
+
"}",
|
|
242
|
+
"",
|
|
243
|
+
"// Wrangler binds the Durable Objects by these export names and the private model",
|
|
244
|
+
"// gateway by the `Models` entrypoint; keep them as they are.",
|
|
245
|
+
"export const { Agents, Models, SessionDO, TenantCatalogDO, HarnessDO, SandboxDO, ContainerProxy } =",
|
|
246
|
+
" defineAgentWorker<Bindings>({",
|
|
247
|
+
" // `delegates` lists the presets a session may start subagents on when",
|
|
248
|
+
" // multi_agent is enabled; children share the parent's sandbox.",
|
|
249
|
+
" // `webSearch` declares that the alias's model connection provides hosted web search.",
|
|
250
|
+
" agents: {",
|
|
251
|
+
...pieces.presets.flatMap((preset) => presetLines(preset, pieces.presets)),
|
|
252
|
+
" },",
|
|
253
|
+
" // Each entry is a factory: a preset is built only when a session selects it, so a",
|
|
254
|
+
" // deployment without one provider's credentials can still serve the other presets.",
|
|
255
|
+
" models: (env) => ({",
|
|
256
|
+
...pieces.models.flatMap((entry) => entry.lines.map((line) => ` ${line}`)),
|
|
257
|
+
" }),",
|
|
258
|
+
' authenticate: (request, env) => bearerTenant(request, env.API_TOKEN, "default"),',
|
|
259
|
+
" });",
|
|
260
|
+
];
|
|
261
|
+
if (input.standalone)
|
|
262
|
+
lines.push("export default Agents;");
|
|
263
|
+
return `${lines.join("\n")}\n`;
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface SkeletonInput {
|
|
2
|
+
name: string;
|
|
3
|
+
/** `workers_dev: true` publishes the HTTP API on a workers.dev subdomain. */
|
|
4
|
+
publicRoute: boolean;
|
|
5
|
+
today: string;
|
|
6
|
+
}
|
|
7
|
+
/** A minimal Wrangler configuration; `upsertWranglerConfig` adds the bindings. */
|
|
8
|
+
export declare function wranglerSkeleton(input: SkeletonInput): string;
|
|
9
|
+
/** Name, scripts and nothing else; `ensurePackageJson` adds the pinned dependencies. */
|
|
10
|
+
export declare function packageSkeleton(input: SkeletonInput): string;
|
|
11
|
+
export declare function tsconfigSkeleton(): string;
|
|
12
|
+
export declare function gitignoreSkeleton(): string;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** A minimal Wrangler configuration; `upsertWranglerConfig` adds the bindings. */
|
|
2
|
+
export function wranglerSkeleton(input) {
|
|
3
|
+
return `${JSON.stringify({
|
|
4
|
+
$schema: "node_modules/wrangler/config-schema.json",
|
|
5
|
+
name: input.name,
|
|
6
|
+
workers_dev: input.publicRoute,
|
|
7
|
+
preview_urls: false,
|
|
8
|
+
main: "src/index.ts",
|
|
9
|
+
compatibility_date: input.today,
|
|
10
|
+
compatibility_flags: ["nodejs_compat"],
|
|
11
|
+
observability: { enabled: true, traces: { enabled: true } },
|
|
12
|
+
}, null, 2)}\n`;
|
|
13
|
+
}
|
|
14
|
+
/** Name, scripts and nothing else; `ensurePackageJson` adds the pinned dependencies. */
|
|
15
|
+
export function packageSkeleton(input) {
|
|
16
|
+
return `${JSON.stringify({
|
|
17
|
+
name: input.name,
|
|
18
|
+
private: true,
|
|
19
|
+
type: "module",
|
|
20
|
+
scripts: {
|
|
21
|
+
dev: "wrangler dev",
|
|
22
|
+
deploy: "wrangler deploy",
|
|
23
|
+
types: "wrangler types",
|
|
24
|
+
},
|
|
25
|
+
}, null, 2)}\n`;
|
|
26
|
+
}
|
|
27
|
+
export function tsconfigSkeleton() {
|
|
28
|
+
return `${JSON.stringify({
|
|
29
|
+
compilerOptions: {
|
|
30
|
+
target: "ES2024",
|
|
31
|
+
module: "ESNext",
|
|
32
|
+
moduleResolution: "Bundler",
|
|
33
|
+
strict: true,
|
|
34
|
+
noEmit: true,
|
|
35
|
+
skipLibCheck: true,
|
|
36
|
+
types: ["@cloudflare/workers-types"],
|
|
37
|
+
},
|
|
38
|
+
include: ["src", "env.d.ts"],
|
|
39
|
+
}, null, 2)}\n`;
|
|
40
|
+
}
|
|
41
|
+
export function gitignoreSkeleton() {
|
|
42
|
+
return ["node_modules/", ".wrangler/", "env.d.ts", ""].join("\n");
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=standalone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../../src/templates/standalone.ts"],"names":[],"mappings":"AAOA,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,KAAoB;IACnD,OAAO,GAAG,IAAI,CAAC,SAAS,CACtB;QACE,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,cAAc;QACpB,kBAAkB,EAAE,KAAK,CAAC,KAAK;QAC/B,mBAAmB,EAAE,CAAC,eAAe,CAAC;QACtC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;KAC5D,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAC;AACR,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,OAAO,GAAG,IAAI,CAAC,SAAS,CACtB;QACE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,GAAG,EAAE,cAAc;YACnB,MAAM,EAAE,iBAAiB;YACzB,KAAK,EAAE,gBAAgB;SACxB;KACF,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,GAAG,IAAI,CAAC,SAAS,CACtB;QACE,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,CAAC,2BAA2B,CAAC;SACrC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;KAC7B,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC"}
|
package/dist/token.d.ts
ADDED
package/dist/token.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
/** Two UUIDs without dashes: 64 hex characters, well above the 32 `bearerTenant` requires. */
|
|
3
|
+
export function randomToken() {
|
|
4
|
+
return `${randomUUID()}${randomUUID()}`.replaceAll("-", "");
|
|
5
|
+
}
|
|
6
|
+
export const MINIMUM_TOKEN_LENGTH = 32;
|
|
7
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,8FAA8F;AAC9F,MAAM,UAAU,WAAW;IACzB,OAAO,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC"}
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Plan } from "./plan.js";
|
|
2
|
+
export interface Choice<T extends string> {
|
|
3
|
+
value: T;
|
|
4
|
+
label: string;
|
|
5
|
+
hint?: string;
|
|
6
|
+
}
|
|
7
|
+
/** Every question the CLI asks; `--yes` answers each with its initial value. */
|
|
8
|
+
export interface Prompter {
|
|
9
|
+
text(message: string, initial: string): Promise<string>;
|
|
10
|
+
select<T extends string>(message: string, choices: readonly Choice<T>[], initial: T): Promise<T>;
|
|
11
|
+
multiselect<T extends string>(message: string, choices: readonly Choice<T>[], initial: readonly T[]): Promise<T[]>;
|
|
12
|
+
confirm(message: string, initial: boolean): Promise<boolean>;
|
|
13
|
+
password(message: string): Promise<string>;
|
|
14
|
+
}
|
|
15
|
+
export interface Reporter {
|
|
16
|
+
intro(title: string): void;
|
|
17
|
+
info(message: string): void;
|
|
18
|
+
warn(message: string): void;
|
|
19
|
+
/** Runs a slow step with a spinner; the label is replaced by the result. */
|
|
20
|
+
spin<T>(label: string, work: () => Promise<T>, done: (result: T) => string): Promise<T>;
|
|
21
|
+
note(message: string, title: string): void;
|
|
22
|
+
/** The final report: what was created, updated and skipped, under a one-line verdict. */
|
|
23
|
+
plan(plan: Plan, title: string): void;
|
|
24
|
+
outro(message: string): void;
|
|
25
|
+
}
|
|
26
|
+
/** Interactive prompts on a terminal. */
|
|
27
|
+
export declare function clackPrompter(): Prompter;
|
|
28
|
+
/** `--yes`: every answer is the default. */
|
|
29
|
+
export declare function defaultPrompter(): Prompter;
|
|
30
|
+
export declare function clackReporter(): Reporter;
|
|
31
|
+
/** Plain lines for non-interactive runs and tests. */
|
|
32
|
+
export declare function plainReporter(write?: (line: string) => void): Reporter;
|
|
33
|
+
export declare const interactive: () => boolean;
|
package/dist/ui.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as clack from "@clack/prompts";
|
|
2
|
+
import { CliError } from "./plan.js";
|
|
3
|
+
const cancelled = () => {
|
|
4
|
+
clack.cancel("Cancelled.");
|
|
5
|
+
throw new CliError("Cancelled.");
|
|
6
|
+
};
|
|
7
|
+
function unwrap(value) {
|
|
8
|
+
if (clack.isCancel(value))
|
|
9
|
+
return cancelled();
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
/** clack's Option type is conditional on the value type, which a generic cannot resolve. */
|
|
13
|
+
const options = (choices) => choices.map((choice) => ({ ...choice }));
|
|
14
|
+
/** Interactive prompts on a terminal. */
|
|
15
|
+
export function clackPrompter() {
|
|
16
|
+
return {
|
|
17
|
+
text: async (message, initial) => unwrap(await clack.text({ message, placeholder: initial, defaultValue: initial })) || initial,
|
|
18
|
+
select: async (message, choices, initial) => unwrap(await clack.select({ message, options: options(choices), initialValue: initial })),
|
|
19
|
+
multiselect: async (message, choices, initial) => unwrap(await clack.multiselect({
|
|
20
|
+
message,
|
|
21
|
+
options: options(choices),
|
|
22
|
+
initialValues: [...initial],
|
|
23
|
+
required: false,
|
|
24
|
+
})),
|
|
25
|
+
confirm: async (message, initial) => unwrap(await clack.confirm({ message, initialValue: initial })),
|
|
26
|
+
password: async (message) => unwrap(await clack.password({ message })),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/** `--yes`: every answer is the default. */
|
|
30
|
+
export function defaultPrompter() {
|
|
31
|
+
return {
|
|
32
|
+
text: (_message, initial) => Promise.resolve(initial),
|
|
33
|
+
select: (_message, _choices, initial) => Promise.resolve(initial),
|
|
34
|
+
multiselect: (_message, _choices, initial) => Promise.resolve([...initial]),
|
|
35
|
+
confirm: (_message, initial) => Promise.resolve(initial),
|
|
36
|
+
password: () => Promise.reject(new CliError("A secret value is needed; run without --yes or pass --from-env.")),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function clackReporter() {
|
|
40
|
+
return {
|
|
41
|
+
intro: (title) => clack.intro(title),
|
|
42
|
+
info: (message) => clack.log.info(message),
|
|
43
|
+
warn: (message) => clack.log.warn(message),
|
|
44
|
+
spin: async (label, work, done) => {
|
|
45
|
+
const spinner = clack.spinner();
|
|
46
|
+
spinner.start(label);
|
|
47
|
+
try {
|
|
48
|
+
const result = await work();
|
|
49
|
+
spinner.stop(done(result));
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
spinner.error(label);
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
note: (message, title) => clack.note(message, title),
|
|
58
|
+
plan: (plan, title) => {
|
|
59
|
+
clack.note(plan.body(), title);
|
|
60
|
+
clack.outro(title);
|
|
61
|
+
},
|
|
62
|
+
outro: (message) => clack.outro(message),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/** Plain lines for non-interactive runs and tests. */
|
|
66
|
+
export function plainReporter(write = (line) => console.log(line)) {
|
|
67
|
+
return {
|
|
68
|
+
intro: (title) => write(title),
|
|
69
|
+
info: (message) => write(`ℹ ${message}`),
|
|
70
|
+
warn: (message) => write(`⚠ ${message}`),
|
|
71
|
+
spin: async (label, work, done) => {
|
|
72
|
+
const result = await work();
|
|
73
|
+
write(done(result));
|
|
74
|
+
return result;
|
|
75
|
+
},
|
|
76
|
+
note: (message, title) => write(`\n${title}\n${message}`),
|
|
77
|
+
plan: (plan, title) => write(`\n${plan.render(title)}`),
|
|
78
|
+
outro: (message) => write(`\n${message}`),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export const interactive = () => process.stdin.isTTY && process.stdout.isTTY;
|
|
82
|
+
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/vendor.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StepResult } from "./plan.js";
|
|
2
|
+
export interface VendorCommandOptions {
|
|
3
|
+
dir: string;
|
|
4
|
+
ref?: string;
|
|
5
|
+
source?: string;
|
|
6
|
+
force: boolean;
|
|
7
|
+
dryRun: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function runVendor(options: VendorCommandOptions): Promise<StepResult>;
|
package/dist/vendor.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { ensureVendor } from "./steps/vendor.js";
|
|
3
|
+
import { CLI_VERSION } from "./versions.js";
|
|
4
|
+
export function runVendor(options) {
|
|
5
|
+
return ensureVendor({
|
|
6
|
+
root: resolve(options.dir),
|
|
7
|
+
version: CLI_VERSION,
|
|
8
|
+
ref: options.ref,
|
|
9
|
+
source: options.source,
|
|
10
|
+
force: options.force,
|
|
11
|
+
dryRun: options.dryRun,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=vendor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor.js","sourceRoot":"","sources":["../src/vendor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,MAAM,UAAU,SAAS,CAAC,OAA6B;IACrD,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,WAAW;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins the generated project receives. They must agree with the workspace manifests;
|
|
3
|
+
* `test/versions.test.mjs` compares them with packages/agent-api, examples/worker and
|
|
4
|
+
* the root package.json.
|
|
5
|
+
*/
|
|
6
|
+
export declare const LIBRARY_NAME = "cf-open-agents-api";
|
|
7
|
+
export declare const CLI_NAME = "create-cf-open-agents-api";
|
|
8
|
+
export declare const GITHUB_REPOSITORY = "inaridiy/CF-Open-Agents-API";
|
|
9
|
+
export declare const VENDOR_DIRECTORY = ".cf-open-agents-api";
|
|
10
|
+
/** `ctx.exports`, which the Container SDK needs, is on by default from this compatibility date. */
|
|
11
|
+
export declare const CTX_EXPORTS_DATE = "2025-11-17";
|
|
12
|
+
export declare const PEER_VERSIONS: {
|
|
13
|
+
readonly effect: "3.22.2";
|
|
14
|
+
readonly openai: "7.15.0";
|
|
15
|
+
readonly ai: "7.0.97";
|
|
16
|
+
readonly zod: "4.6.2";
|
|
17
|
+
};
|
|
18
|
+
export declare const PROVIDER_VERSIONS: {
|
|
19
|
+
readonly "@ai-sdk/openai": "4.0.65";
|
|
20
|
+
readonly "@ai-sdk/provider": "4.0.13";
|
|
21
|
+
readonly "@ai-sdk/anthropic": "4.0.53";
|
|
22
|
+
readonly "workers-ai-provider": "4.0.0";
|
|
23
|
+
};
|
|
24
|
+
export declare const TOOLCHAIN_VERSIONS: {
|
|
25
|
+
readonly wrangler: "4.131.1";
|
|
26
|
+
readonly "@cloudflare/workers-types": "5.20260911.1";
|
|
27
|
+
readonly typescript: "5.9.3";
|
|
28
|
+
};
|
|
29
|
+
/** The CLI's own version; the library, the vendored snapshot tag and the CLI share it. */
|
|
30
|
+
export declare const CLI_VERSION: string;
|
package/dist/versions.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
/**
|
|
3
|
+
* Pins the generated project receives. They must agree with the workspace manifests;
|
|
4
|
+
* `test/versions.test.mjs` compares them with packages/agent-api, examples/worker and
|
|
5
|
+
* the root package.json.
|
|
6
|
+
*/
|
|
7
|
+
export const LIBRARY_NAME = "cf-open-agents-api";
|
|
8
|
+
export const CLI_NAME = "create-cf-open-agents-api";
|
|
9
|
+
export const GITHUB_REPOSITORY = "inaridiy/CF-Open-Agents-API";
|
|
10
|
+
export const VENDOR_DIRECTORY = ".cf-open-agents-api";
|
|
11
|
+
/** `ctx.exports`, which the Container SDK needs, is on by default from this compatibility date. */
|
|
12
|
+
export const CTX_EXPORTS_DATE = "2025-11-17";
|
|
13
|
+
export const PEER_VERSIONS = {
|
|
14
|
+
effect: "3.22.2",
|
|
15
|
+
openai: "7.15.0",
|
|
16
|
+
ai: "7.0.97",
|
|
17
|
+
zod: "4.6.2",
|
|
18
|
+
};
|
|
19
|
+
export const PROVIDER_VERSIONS = {
|
|
20
|
+
"@ai-sdk/openai": "4.0.65",
|
|
21
|
+
"@ai-sdk/provider": "4.0.13",
|
|
22
|
+
"@ai-sdk/anthropic": "4.0.53",
|
|
23
|
+
"workers-ai-provider": "4.0.0",
|
|
24
|
+
};
|
|
25
|
+
export const TOOLCHAIN_VERSIONS = {
|
|
26
|
+
wrangler: "4.131.1",
|
|
27
|
+
"@cloudflare/workers-types": "5.20260911.1",
|
|
28
|
+
typescript: "5.9.3",
|
|
29
|
+
};
|
|
30
|
+
const manifest = createRequire(import.meta.url)("../package.json");
|
|
31
|
+
/** The CLI's own version; the library, the vendored snapshot tag and the CLI share it. */
|
|
32
|
+
export const CLI_VERSION = manifest.version;
|
|
33
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD,mGAAmG;AACnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,OAAO;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE,QAAQ;IAC1B,kBAAkB,EAAE,QAAQ;IAC5B,mBAAmB,EAAE,QAAQ;IAC7B,qBAAqB,EAAE,OAAO;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,SAAS;IACnB,2BAA2B,EAAE,cAAc;IAC3C,UAAU,EAAE,OAAO;CACX,CAAC;AAEX,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAC;AAC1F,0FAA0F;AAC1F,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "create-cf-open-agents-api",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Add the CF-Open-Agents-API to an existing Cloudflare Workers project or create a new one: bindings, composition, Docker image snapshot, dev vars, buckets and secrets",
|
|
5
|
+
"homepage": "https://github.com/inaridiy/CF-Open-Agents-API#readme",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/inaridiy/CF-Open-Agents-API/issues"
|
|
8
|
+
},
|
|
9
|
+
"license": "Apache-2.0",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/inaridiy/CF-Open-Agents-API.git",
|
|
13
|
+
"directory": "packages/create-cf-open-agents-api"
|
|
14
|
+
},
|
|
15
|
+
"bin": {
|
|
16
|
+
"create-cf-open-agents-api": "./dist/cli.js"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE",
|
|
22
|
+
"NOTICE"
|
|
23
|
+
],
|
|
24
|
+
"type": "module",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"default": "./dist/index.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public",
|
|
33
|
+
"provenance": true,
|
|
34
|
+
"tag": "alpha"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@clack/prompts": "1.8.1",
|
|
38
|
+
"gunshi": "0.37.2",
|
|
39
|
+
"jsonc-parser": "3.3.1"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@ai-sdk/anthropic": "4.0.53",
|
|
43
|
+
"@ai-sdk/openai": "4.0.65",
|
|
44
|
+
"@ai-sdk/provider": "4.0.13",
|
|
45
|
+
"ai": "7.0.97",
|
|
46
|
+
"workers-ai-provider": "4.0.0"
|
|
47
|
+
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=24"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsc -p tsconfig.build.json"
|
|
53
|
+
}
|
|
54
|
+
}
|