@neta-art/generation 0.1.1 → 0.1.3
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 +69 -0
- package/dist/{builtins-BuI-rf8X.d.ts → builtins-BJ2_TVlr.d.ts} +54 -3
- package/dist/builtins-BJ2_TVlr.d.ts.map +1 -0
- package/dist/{builtins-B1AheaEa.js → builtins-FumzmWvj.js} +248 -1
- package/dist/builtins-FumzmWvj.js.map +1 -0
- package/dist/builtins.d.ts +1 -1
- package/dist/builtins.js +1 -1
- package/dist/cli/index.js +84 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/export-config-D8By2_r7.js +1263 -0
- package/dist/export-config-D8By2_r7.js.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -655
- package/models/suno_music.yaml +265 -0
- package/package.json +15 -16
- package/dist/builtins-B1AheaEa.js.map +0 -1
- package/dist/builtins-BuI-rf8X.d.ts.map +0 -1
- package/dist/export-config-Bwqnn7Vs.js +0 -128
- package/dist/export-config-Bwqnn7Vs.js.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\nimport { listBuiltinGenerationModels } from \"../builtins.js\";\nimport { stringifyGenerationModelDeclaration } from \"../config.js\";\nimport { exportBuiltinModelConfig, exportBuiltinModelConfigs } from \"../export-config.js\";\n\nfunction usage(): never {\n console.log(`neta-generation\n\nUsage:\n neta-generation models list\n neta-generation models export <model> --out <file>\n neta-generation models export-all --out <directory>\n`);\n process.exit(1);\n}\n\nfunction readOption(args: string[], name: string): string | null {\n const index = args.indexOf(name);\n if (index < 0) return null;\n return args[index + 1] ?? null;\n}\n\nasync function main() {\n const args = process.argv.slice(2);\n if (args[0] !== \"models\") usage();\n\n switch (args[1]) {\n case \"list\": {\n for (const model of listBuiltinGenerationModels()) console.log(model.model);\n return;\n }\n case \"export\": {\n const model = args[2];\n const out = readOption(args, \"--out\");\n if (!model || !out) usage();\n await mkdir(dirname(out), { recursive: true });\n await exportBuiltinModelConfig(model, out);\n console.log(out);\n return;\n }\n case \"export-all\": {\n const out = readOption(args, \"--out\");\n if (!out) usage();\n await exportBuiltinModelConfigs(out);\n console.log(out);\n return;\n }\n case \"dump\": {\n const out = readOption(args, \"--out\");\n const models = listBuiltinGenerationModels();\n if (out) {\n await mkdir(out, { recursive: true });\n await Promise.all(\n models.map((model) =>\n writeFile(join(out, `${model.model}.yaml`), stringifyGenerationModelDeclaration(model)),\n ),\n );\n }\n return;\n }\n default:\n usage();\n }\n}\n\nmain().catch((error) => {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n});\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","names":["values: string[]","content: GenerationContentBlock[]"],"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\nimport { listBuiltinGenerationModels } from \"../builtins.js\";\nimport { createGenerationClient } from \"../client.js\";\nimport { stringifyGenerationModelDeclaration } from \"../config.js\";\nimport { exportBuiltinModelConfig, exportBuiltinModelConfigs } from \"../export-config.js\";\nimport type { GenerationContentBlock } from \"../types.js\";\n\nfunction usage(): never {\n console.log(`neta-generation\n\nUsage:\n neta-generation generate <model> --prompt <text> [--param key=value] [--image-url <url>] [--out <directory>] [--debug] [--debug-sensitive] [--no-debug-response-body]\n neta-generation models list\n neta-generation models export <model> --out <file>\n neta-generation models export-all --out <directory>\n\nEnvironment:\n NETA_ROUTER_API_KEY API key used by generate\n`);\n process.exit(1);\n}\n\nfunction readOption(args: string[], name: string): string | null {\n const index = args.indexOf(name);\n if (index < 0) return null;\n return args[index + 1] ?? null;\n}\n\nfunction readOptions(args: string[], name: string): string[] {\n const values: string[] = [];\n for (let index = 0; index < args.length; index += 1) {\n const value = args[index + 1];\n if (args[index] === name && value) values.push(value);\n }\n return values;\n}\n\nfunction hasFlag(args: string[], name: string): boolean {\n return args.includes(name);\n}\n\nfunction parseParameterValue(raw: string): unknown {\n if (raw.startsWith(\"json:\")) return JSON.parse(raw.slice(5));\n if (raw === \"true\") return true;\n if (raw === \"false\") return false;\n return raw;\n}\n\nfunction parseParameter(value: string): [string, unknown] {\n const separator = value.indexOf(\"=\");\n if (separator <= 0) throw new Error(`Invalid --param value: ${value}`);\n return [value.slice(0, separator), parseParameterValue(value.slice(separator + 1))];\n}\n\nfunction outputSummary(block: GenerationContentBlock): unknown {\n if (block.type === \"text\") return block;\n return {\n type: block.type,\n source:\n block.source.type === \"url\"\n ? block.source\n : {\n type: \"base64\",\n mediaType: block.source.mediaType,\n bytes: Buffer.byteLength(block.source.data, \"base64\"),\n },\n meta: block.meta,\n };\n}\n\nasync function writeOutputFiles(directory: string, output: GenerationContentBlock[]): Promise<void> {\n await mkdir(directory, { recursive: true });\n await Promise.all(\n output.map(async (block, index) => {\n if (\n (block.type !== \"image\" && block.type !== \"video\" && block.type !== \"audio\") ||\n block.source.type !== \"base64\"\n ) {\n return;\n }\n const extension = block.source.mediaType.split(\"/\")[1]?.split(\"+\")[0] || block.type;\n await writeFile(\n join(directory, `${String(index + 1).padStart(2, \"0\")}.${extension}`),\n Buffer.from(block.source.data, \"base64\"),\n );\n }),\n );\n}\n\nasync function main() {\n const args = process.argv.slice(2);\n if (args[0] === \"generate\") {\n const model = args[1];\n const prompt = readOption(args, \"--prompt\");\n const apiKey = process.env.NETA_ROUTER_API_KEY;\n if (!model || !prompt || !apiKey) usage();\n\n const outputDirectory = readOption(args, \"--out\");\n const content: GenerationContentBlock[] = [\n { type: \"text\", text: prompt },\n ...readOptions(args, \"--image-url\").map((url) => ({\n type: \"image\" as const,\n source: { type: \"url\" as const, url },\n })),\n ];\n const parameters = Object.fromEntries(readOptions(args, \"--param\").map(parseParameter));\n const baseUrl = readOption(args, \"--base-url\");\n const debug = hasFlag(args, \"--debug\")\n ? {\n enabled: true,\n includeSensitive: hasFlag(args, \"--debug-sensitive\"),\n includeResponseBody: !hasFlag(args, \"--no-debug-response-body\"),\n }\n : undefined;\n const client = createGenerationClient({\n apiKey,\n ...(baseUrl ? { baseUrl } : {}),\n ...(debug ? { debug } : {}),\n });\n const output = await client.generate({ model, content, parameters });\n if (outputDirectory) await writeOutputFiles(outputDirectory, output);\n console.log(JSON.stringify(output.map(outputSummary), null, 2));\n return;\n }\n\n if (args[0] !== \"models\") usage();\n\n switch (args[1]) {\n case \"list\": {\n for (const model of listBuiltinGenerationModels()) console.log(model.model);\n return;\n }\n case \"export\": {\n const model = args[2];\n const out = readOption(args, \"--out\");\n if (!model || !out) usage();\n await mkdir(dirname(out), { recursive: true });\n await exportBuiltinModelConfig(model, out);\n console.log(out);\n return;\n }\n case \"export-all\": {\n const out = readOption(args, \"--out\");\n if (!out) usage();\n await exportBuiltinModelConfigs(out);\n console.log(out);\n return;\n }\n case \"dump\": {\n const out = readOption(args, \"--out\");\n const models = listBuiltinGenerationModels();\n if (out) {\n await mkdir(out, { recursive: true });\n await Promise.all(\n models.map((model) =>\n writeFile(join(out, `${model.model}.yaml`), stringifyGenerationModelDeclaration(model)),\n ),\n );\n }\n return;\n }\n default:\n usage();\n }\n}\n\nmain().catch((error) => {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n});\n"],"mappings":"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"}
|