@litlab/audx 0.0.1 → 0.5.5

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.
Files changed (81) hide show
  1. package/README.md +96 -53
  2. package/dist/bin.js +1212 -0
  3. package/dist/cc-DgCkkqq8.js +13 -0
  4. package/dist/cc-he3fHS3P.js +12 -0
  5. package/dist/index.d.ts +723 -3
  6. package/dist/index.js +1534 -126
  7. package/dist/react.d.ts +583 -0
  8. package/dist/react.js +1556 -0
  9. package/package.json +64 -39
  10. package/schemas/pack.schema.json +4 -0
  11. package/schemas/patch.schema.json +857 -0
  12. package/dist/codegen/theme-codegen.d.ts +0 -12
  13. package/dist/codegen/theme-codegen.d.ts.map +0 -1
  14. package/dist/codegen/theme-codegen.js +0 -153
  15. package/dist/codegen/theme-codegen.js.map +0 -1
  16. package/dist/commands/add.d.ts +0 -2
  17. package/dist/commands/add.d.ts.map +0 -1
  18. package/dist/commands/add.js +0 -120
  19. package/dist/commands/add.js.map +0 -1
  20. package/dist/commands/diff.d.ts +0 -2
  21. package/dist/commands/diff.d.ts.map +0 -1
  22. package/dist/commands/diff.js +0 -103
  23. package/dist/commands/diff.js.map +0 -1
  24. package/dist/commands/generate.d.ts +0 -12
  25. package/dist/commands/generate.d.ts.map +0 -1
  26. package/dist/commands/generate.js +0 -96
  27. package/dist/commands/generate.js.map +0 -1
  28. package/dist/commands/init.d.ts +0 -2
  29. package/dist/commands/init.d.ts.map +0 -1
  30. package/dist/commands/init.js +0 -79
  31. package/dist/commands/init.js.map +0 -1
  32. package/dist/commands/list.d.ts +0 -14
  33. package/dist/commands/list.d.ts.map +0 -1
  34. package/dist/commands/list.js +0 -93
  35. package/dist/commands/list.js.map +0 -1
  36. package/dist/commands/remove.d.ts +0 -2
  37. package/dist/commands/remove.d.ts.map +0 -1
  38. package/dist/commands/remove.js +0 -71
  39. package/dist/commands/remove.js.map +0 -1
  40. package/dist/commands/theme.d.ts +0 -31
  41. package/dist/commands/theme.d.ts.map +0 -1
  42. package/dist/commands/theme.js +0 -142
  43. package/dist/commands/theme.js.map +0 -1
  44. package/dist/commands/update.d.ts +0 -2
  45. package/dist/commands/update.d.ts.map +0 -1
  46. package/dist/commands/update.js +0 -123
  47. package/dist/commands/update.js.map +0 -1
  48. package/dist/core/alias-resolver.d.ts +0 -24
  49. package/dist/core/alias-resolver.d.ts.map +0 -1
  50. package/dist/core/alias-resolver.js +0 -87
  51. package/dist/core/alias-resolver.js.map +0 -1
  52. package/dist/core/config.d.ts +0 -21
  53. package/dist/core/config.d.ts.map +0 -1
  54. package/dist/core/config.js +0 -43
  55. package/dist/core/config.js.map +0 -1
  56. package/dist/core/file-writer.d.ts +0 -14
  57. package/dist/core/file-writer.d.ts.map +0 -1
  58. package/dist/core/file-writer.js +0 -90
  59. package/dist/core/file-writer.js.map +0 -1
  60. package/dist/core/package-manager.d.ts +0 -3
  61. package/dist/core/package-manager.d.ts.map +0 -1
  62. package/dist/core/package-manager.js +0 -17
  63. package/dist/core/package-manager.js.map +0 -1
  64. package/dist/core/registry.d.ts +0 -18
  65. package/dist/core/registry.d.ts.map +0 -1
  66. package/dist/core/registry.js +0 -69
  67. package/dist/core/registry.js.map +0 -1
  68. package/dist/core/theme-manager.d.ts +0 -35
  69. package/dist/core/theme-manager.d.ts.map +0 -1
  70. package/dist/core/theme-manager.js +0 -94
  71. package/dist/core/theme-manager.js.map +0 -1
  72. package/dist/core/utils.d.ts +0 -22
  73. package/dist/core/utils.d.ts.map +0 -1
  74. package/dist/core/utils.js +0 -44
  75. package/dist/core/utils.js.map +0 -1
  76. package/dist/index.d.ts.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/types.d.ts +0 -116
  79. package/dist/types.d.ts.map +0 -1
  80. package/dist/types.js +0 -43
  81. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"alias-resolver.js","sourceRoot":"","sources":["../../src/core/alias-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { type AudxConfig } from "../types.js";
2
- /**
3
- * Check whether `audx.config.json` exists in the given project root.
4
- */
5
- export declare function exists(projectRoot: string): boolean;
6
- /**
7
- * Validate an unknown value against the AudxConfig Zod schema.
8
- * Returns the parsed config on success; throws a ZodError on failure.
9
- */
10
- export declare function validate(raw: unknown): AudxConfig;
11
- /**
12
- * Read and validate `audx.config.json` from the given project root.
13
- * Throws if the file doesn't exist, contains invalid JSON, or fails validation.
14
- */
15
- export declare function read(projectRoot: string): AudxConfig;
16
- /**
17
- * Serialize and write an AudxConfig to `audx.config.json` in the given project root.
18
- * Uses 2-space indentation for readability.
19
- */
20
- export declare function write(projectRoot: string, config: AudxConfig): void;
21
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,aAAa,CAAC;AAWhE;;GAEG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAEjD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAKpD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAInE"}
@@ -1,43 +0,0 @@
1
- import { readFileSync, writeFileSync, existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { audxConfigSchema } from "../types.js";
4
- const CONFIG_FILE_NAME = "audx.config.json";
5
- /**
6
- * Resolve the full path to the config file given a project root.
7
- */
8
- function configPath(projectRoot) {
9
- return join(projectRoot, CONFIG_FILE_NAME);
10
- }
11
- /**
12
- * Check whether `audx.config.json` exists in the given project root.
13
- */
14
- export function exists(projectRoot) {
15
- return existsSync(configPath(projectRoot));
16
- }
17
- /**
18
- * Validate an unknown value against the AudxConfig Zod schema.
19
- * Returns the parsed config on success; throws a ZodError on failure.
20
- */
21
- export function validate(raw) {
22
- return audxConfigSchema.parse(raw);
23
- }
24
- /**
25
- * Read and validate `audx.config.json` from the given project root.
26
- * Throws if the file doesn't exist, contains invalid JSON, or fails validation.
27
- */
28
- export function read(projectRoot) {
29
- const filePath = configPath(projectRoot);
30
- const content = readFileSync(filePath, "utf-8");
31
- const parsed = JSON.parse(content);
32
- return validate(parsed);
33
- }
34
- /**
35
- * Serialize and write an AudxConfig to `audx.config.json` in the given project root.
36
- * Uses 2-space indentation for readability.
37
- */
38
- export function write(projectRoot, config) {
39
- const filePath = configPath(projectRoot);
40
- const json = JSON.stringify(config, null, 2);
41
- writeFileSync(filePath, json + "\n", "utf-8");
42
- }
43
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C;;GAEG;AACH,SAAS,UAAU,CAAC,WAAmB;IACrC,OAAO,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,WAAmB;IACxC,OAAO,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,WAAmB;IACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,WAAmB,EAAE,MAAkB;IAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
@@ -1,14 +0,0 @@
1
- import type { AliasMap, AudxConfig, RegistryFile } from "../types.js";
2
- /**
3
- * Determine the target directory for a registry file based on its type and
4
- * path, write the file with rewritten imports, and return the written path.
5
- *
6
- * Returns `null` when the file already exists (idempotent skip for deps).
7
- */
8
- export declare function writeRegistryFile(file: RegistryFile, targetDir: string, aliasMap: AliasMap, config: AudxConfig): string | null;
9
- /**
10
- * Rewrite `@/lib/` and `@/hooks/` import patterns in registry file content
11
- * so they resolve correctly in the user's project.
12
- */
13
- export declare function rewriteImports(content: string, sourceFilePath: string, aliasMap: AliasMap, config: AudxConfig): string;
14
- //# sourceMappingURL=file-writer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-writer.d.ts","sourceRoot":"","sources":["../../src/core/file-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGtE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,UAAU,GACjB,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,UAAU,GACjB,MAAM,CA4BR"}
@@ -1,90 +0,0 @@
1
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
- import { basename, dirname, join } from "node:path";
3
- import { resolveImport } from "./alias-resolver.js";
4
- /**
5
- * Determine the target directory for a registry file based on its type and
6
- * path, write the file with rewritten imports, and return the written path.
7
- *
8
- * Returns `null` when the file already exists (idempotent skip for deps).
9
- */
10
- export function writeRegistryFile(file, targetDir, aliasMap, config) {
11
- const targetPath = resolveTargetPath(file, targetDir, config);
12
- // Skip dependency files that already exist (idempotent)
13
- if (isDependencyFile(file) && existsSync(targetPath)) {
14
- return null;
15
- }
16
- const rewritten = rewriteImports(file.content, targetPath, aliasMap, config);
17
- mkdirSync(dirname(targetPath), { recursive: true });
18
- writeFileSync(targetPath, rewritten, "utf-8");
19
- return targetPath;
20
- }
21
- /**
22
- * Rewrite `@/lib/` and `@/hooks/` import patterns in registry file content
23
- * so they resolve correctly in the user's project.
24
- */
25
- export function rewriteImports(content, sourceFilePath, aliasMap, config) {
26
- // Match import/export statements with @/lib/ or @/hooks/ paths
27
- const importPattern = /(from\s+["'])@\/(lib|hooks)\/([^"']+)(["'])/g;
28
- return content.replace(importPattern, (_match, prefix, category, moduleName, suffix) => {
29
- const targetModulePath = resolveModuleTargetPath(category, moduleName, config);
30
- const resolved = resolveImport(aliasMap, sourceFilePath, targetModulePath);
31
- return `${prefix}${resolved}${suffix}`;
32
- });
33
- }
34
- /**
35
- * Resolve the filesystem target path for a registry file based on its type
36
- * and the original registry path.
37
- */
38
- function resolveTargetPath(file, targetDir, config) {
39
- const fileName = basename(file.path);
40
- if (file.type === "registry:hook") {
41
- // Hooks go to a `hooks` directory sibling to libDir
42
- const hooksDir = join(dirname(config.libDir), "hooks");
43
- return join(hooksDir, fileName);
44
- }
45
- if (file.type === "registry:lib") {
46
- // Distinguish sound files from actual lib files by path pattern
47
- if (isSoundFilePath(file.path)) {
48
- return join(targetDir, fileName);
49
- }
50
- // Lib dependency files go to libDir
51
- return join(config.libDir, fileName);
52
- }
53
- // Fallback: write to targetDir (soundDir)
54
- return join(targetDir, fileName);
55
- }
56
- /**
57
- * Check whether a registry file path points to a sound module
58
- * (e.g. `registry/audx/sounds/click-001/click-001.ts`).
59
- */
60
- function isSoundFilePath(registryPath) {
61
- const normalised = registryPath.replace(/\\/g, "/");
62
- return normalised.includes("/sounds/");
63
- }
64
- /**
65
- * Check whether a file is a shared dependency (lib or hook) rather than
66
- * the primary sound module.
67
- */
68
- function isDependencyFile(file) {
69
- if (file.type === "registry:hook") {
70
- return true;
71
- }
72
- if (file.type === "registry:lib" && !isSoundFilePath(file.path)) {
73
- return true;
74
- }
75
- return false;
76
- }
77
- /**
78
- * Compute the project-relative target path for a module referenced by an
79
- * `@/lib/...` or `@/hooks/...` import, so the alias resolver can produce
80
- * the correct import specifier.
81
- */
82
- function resolveModuleTargetPath(category, moduleName, config) {
83
- if (category === "hooks") {
84
- const hooksDir = join(dirname(config.libDir), "hooks");
85
- return join(hooksDir, `${moduleName}.ts`);
86
- }
87
- // category === "lib"
88
- return join(config.libDir, `${moduleName}.ts`);
89
- }
90
- //# sourceMappingURL=file-writer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/core/file-writer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { PackageManager } from "../types.js";
2
- export declare function detectPackageManager(projectRoot: string): PackageManager;
3
- //# sourceMappingURL=package-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/core/package-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAOxE"}
@@ -1,17 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- const LOCK_FILE_PRECEDENCE = [
4
- { file: "bun.lock", manager: "bun" },
5
- { file: "pnpm-lock.yaml", manager: "pnpm" },
6
- { file: "yarn.lock", manager: "yarn" },
7
- { file: "package-lock.json", manager: "npm" },
8
- ];
9
- export function detectPackageManager(projectRoot) {
10
- for (const { file, manager } of LOCK_FILE_PRECEDENCE) {
11
- if (existsSync(join(projectRoot, file))) {
12
- return manager;
13
- }
14
- }
15
- return "npm";
16
- }
17
- //# sourceMappingURL=package-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/core/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,oBAAoB,GAAqD;IAC7E,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;IACpC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;IACtC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE;CAC9C,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,oBAAoB,EAAE,CAAC;QACrD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { RegistryItem, RegistryCatalog, GenerateSoundParams } from "../types.js";
2
- /**
3
- * Fetch a single registry item by name.
4
- * GET {registryUrl}/r/{name}.json
5
- */
6
- export declare function fetchItem(registryUrl: string, name: string): Promise<RegistryItem>;
7
- /**
8
- * Fetch the full registry catalog.
9
- * GET {registryUrl}/r/registry.json
10
- */
11
- export declare function fetchCatalog(registryUrl: string): Promise<RegistryCatalog>;
12
- /**
13
- * Generate a sound via the API.
14
- * POST {registryUrl}/api/generate-sound
15
- * Returns raw audio bytes as a Buffer.
16
- */
17
- export declare function generateSound(registryUrl: string, params: GenerateSoundParams): Promise<Buffer>;
18
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAmB1B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA6BjB"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Fetch a single registry item by name.
3
- * GET {registryUrl}/r/{name}.json
4
- */
5
- export async function fetchItem(registryUrl, name) {
6
- const url = `${registryUrl}/r/${name}.json`;
7
- let response;
8
- try {
9
- response = await fetch(url);
10
- }
11
- catch {
12
- throw new Error(`Could not reach the audx registry at ${registryUrl}. Check your network connection.`);
13
- }
14
- if (!response.ok) {
15
- throw new Error(`Failed to fetch '${name}': HTTP ${response.status}`);
16
- }
17
- return (await response.json());
18
- }
19
- /**
20
- * Fetch the full registry catalog.
21
- * GET {registryUrl}/r/registry.json
22
- */
23
- export async function fetchCatalog(registryUrl) {
24
- const url = `${registryUrl}/r/registry.json`;
25
- let response;
26
- try {
27
- response = await fetch(url);
28
- }
29
- catch {
30
- throw new Error(`Could not reach the audx registry at ${registryUrl}. Check your network connection.`);
31
- }
32
- if (!response.ok) {
33
- throw new Error(`Failed to fetch registry catalog: HTTP ${response.status}`);
34
- }
35
- return (await response.json());
36
- }
37
- /**
38
- * Generate a sound via the API.
39
- * POST {registryUrl}/api/generate-sound
40
- * Returns raw audio bytes as a Buffer.
41
- */
42
- export async function generateSound(registryUrl, params) {
43
- const url = `${registryUrl}/api/generate-sound`;
44
- let response;
45
- try {
46
- response = await fetch(url, {
47
- method: "POST",
48
- headers: { "Content-Type": "application/json" },
49
- body: JSON.stringify(params),
50
- });
51
- }
52
- catch {
53
- throw new Error(`Could not reach the audx registry at ${registryUrl}. Check your network connection.`);
54
- }
55
- if (!response.ok) {
56
- let errorMessage;
57
- try {
58
- const body = (await response.json());
59
- errorMessage = body.error ?? `HTTP ${response.status}`;
60
- }
61
- catch {
62
- errorMessage = `HTTP ${response.status}`;
63
- }
64
- throw new Error(errorMessage);
65
- }
66
- const arrayBuffer = await response.arrayBuffer();
67
- return Buffer.from(arrayBuffer);
68
- }
69
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,WAAmB,EACnB,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,WAAW,MAAM,IAAI,OAAO,CAAC;IAC5C,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,kCAAkC,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,WAAW,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB;IAEnB,MAAM,GAAG,GAAG,GAAG,WAAW,kBAAkB,CAAC;IAC7C,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,kCAAkC,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,0CAA0C,QAAQ,CAAC,MAAM,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,MAA2B;IAE3B,MAAM,GAAG,GAAG,GAAG,WAAW,qBAAqB,CAAC;IAChD,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,kCAAkC,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;YAC3D,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC"}
@@ -1,35 +0,0 @@
1
- import { type ThemeConfig, type SemanticSoundName } from "../types.js";
2
- /**
3
- * Check whether `audx.themes.json` exists in the given project root.
4
- */
5
- export declare function exists(projectRoot: string): boolean;
6
- /**
7
- * Read and validate `audx.themes.json` from the given project root.
8
- * Throws if the file doesn't exist, contains invalid JSON, or fails validation.
9
- */
10
- export declare function read(projectRoot: string): ThemeConfig;
11
- /**
12
- * Serialize and write a ThemeConfig to `audx.themes.json` in the given project root.
13
- * Uses 2-space indentation for readability.
14
- */
15
- export declare function write(projectRoot: string, config: ThemeConfig): void;
16
- /**
17
- * Return a new ThemeConfig with the active theme set to the given name.
18
- */
19
- export declare function setActiveTheme(config: ThemeConfig, themeName: string): ThemeConfig;
20
- /**
21
- * Return a new ThemeConfig with the given semantic name mapped to the sound path
22
- * in the active theme.
23
- */
24
- export declare function mapSound(config: ThemeConfig, semanticName: SemanticSoundName, soundPath: string): ThemeConfig;
25
- /**
26
- * Return a new ThemeConfig with a new theme entry where all 16 semantic names
27
- * are mapped to null.
28
- */
29
- export declare function createTheme(config: ThemeConfig, themeName: string): ThemeConfig;
30
- /**
31
- * Return a new ThemeConfig with all references to the given sound name set to null
32
- * across all themes.
33
- */
34
- export declare function removeSoundMappings(config: ThemeConfig, soundName: string): ThemeConfig;
35
- //# sourceMappingURL=theme-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/core/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAGvB,MAAM,aAAa,CAAC;AAWrB;;GAEG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAKrD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAIpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAChB,WAAW,CAEb;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,SAAS,EAAE,MAAM,GAChB,WAAW,CAab;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAChB,WAAW,CAYb;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAChB,WAAW,CAiBb"}
@@ -1,94 +0,0 @@
1
- import { readFileSync, writeFileSync, existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { themeConfigSchema, SEMANTIC_SOUND_NAMES, } from "../types.js";
4
- const THEME_FILE_NAME = "audx.themes.json";
5
- /**
6
- * Resolve the full path to the theme config file given a project root.
7
- */
8
- function themePath(projectRoot) {
9
- return join(projectRoot, THEME_FILE_NAME);
10
- }
11
- /**
12
- * Check whether `audx.themes.json` exists in the given project root.
13
- */
14
- export function exists(projectRoot) {
15
- return existsSync(themePath(projectRoot));
16
- }
17
- /**
18
- * Read and validate `audx.themes.json` from the given project root.
19
- * Throws if the file doesn't exist, contains invalid JSON, or fails validation.
20
- */
21
- export function read(projectRoot) {
22
- const filePath = themePath(projectRoot);
23
- const content = readFileSync(filePath, "utf-8");
24
- const parsed = JSON.parse(content);
25
- return themeConfigSchema.parse(parsed);
26
- }
27
- /**
28
- * Serialize and write a ThemeConfig to `audx.themes.json` in the given project root.
29
- * Uses 2-space indentation for readability.
30
- */
31
- export function write(projectRoot, config) {
32
- const filePath = themePath(projectRoot);
33
- const json = JSON.stringify(config, null, 2);
34
- writeFileSync(filePath, json + "\n", "utf-8");
35
- }
36
- /**
37
- * Return a new ThemeConfig with the active theme set to the given name.
38
- */
39
- export function setActiveTheme(config, themeName) {
40
- return { ...config, activeTheme: themeName };
41
- }
42
- /**
43
- * Return a new ThemeConfig with the given semantic name mapped to the sound path
44
- * in the active theme.
45
- */
46
- export function mapSound(config, semanticName, soundPath) {
47
- const activeTheme = config.activeTheme;
48
- const currentMappings = config.themes[activeTheme];
49
- return {
50
- ...config,
51
- themes: {
52
- ...config.themes,
53
- [activeTheme]: {
54
- ...currentMappings,
55
- [semanticName]: soundPath,
56
- },
57
- },
58
- };
59
- }
60
- /**
61
- * Return a new ThemeConfig with a new theme entry where all 16 semantic names
62
- * are mapped to null.
63
- */
64
- export function createTheme(config, themeName) {
65
- const emptyMappings = Object.fromEntries(SEMANTIC_SOUND_NAMES.map((name) => [name, null]));
66
- return {
67
- ...config,
68
- themes: {
69
- ...config.themes,
70
- [themeName]: emptyMappings,
71
- },
72
- };
73
- }
74
- /**
75
- * Return a new ThemeConfig with all references to the given sound name set to null
76
- * across all themes.
77
- */
78
- export function removeSoundMappings(config, soundName) {
79
- const updatedThemes = {};
80
- for (const [themeName, mappings] of Object.entries(config.themes)) {
81
- const updatedMappings = { ...mappings };
82
- for (const [key, value] of Object.entries(updatedMappings)) {
83
- if (value !== null && value.includes(soundName)) {
84
- updatedMappings[key] = null;
85
- }
86
- }
87
- updatedThemes[themeName] = updatedMappings;
88
- }
89
- return {
90
- ...config,
91
- themes: updatedThemes,
92
- };
93
- }
94
- //# sourceMappingURL=theme-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/core/theme-manager.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Utility functions for the generate command.
3
- *
4
- * - deriveKebabName: derives a kebab-case file name from a prompt string
5
- * - encodeAudioToDataUri / decodeDataUriToBuffer: base64 data URI round-trip
6
- */
7
- /**
8
- * Derive a kebab-case name from the first three words of a prompt.
9
- * Strips special characters, lowercases, and joins with hyphens.
10
- * Returns at most three segments.
11
- */
12
- export declare function deriveKebabName(prompt: string): string;
13
- /**
14
- * Encode a raw audio buffer as a data URI with audio/mpeg MIME type.
15
- */
16
- export declare function encodeAudioToDataUri(buffer: Buffer): string;
17
- /**
18
- * Decode a base64 data URI back to a Buffer.
19
- * Expects format: `data:<mime>;base64,<data>`
20
- */
21
- export declare function decodeDataUriToBuffer(dataUri: string): Buffer;
22
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CActD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO7D"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Utility functions for the generate command.
3
- *
4
- * - deriveKebabName: derives a kebab-case file name from a prompt string
5
- * - encodeAudioToDataUri / decodeDataUriToBuffer: base64 data URI round-trip
6
- */
7
- /**
8
- * Derive a kebab-case name from the first three words of a prompt.
9
- * Strips special characters, lowercases, and joins with hyphens.
10
- * Returns at most three segments.
11
- */
12
- export function deriveKebabName(prompt) {
13
- const words = prompt
14
- .replace(/[^a-zA-Z0-9\s]/g, "")
15
- .trim()
16
- .split(/\s+/)
17
- .filter((w) => w.length > 0)
18
- .slice(0, 3)
19
- .map((w) => w.toLowerCase());
20
- if (words.length === 0) {
21
- return "generated-sound";
22
- }
23
- return words.join("-");
24
- }
25
- /**
26
- * Encode a raw audio buffer as a data URI with audio/mpeg MIME type.
27
- */
28
- export function encodeAudioToDataUri(buffer) {
29
- const base64 = buffer.toString("base64");
30
- return `data:audio/mpeg;base64,${base64}`;
31
- }
32
- /**
33
- * Decode a base64 data URI back to a Buffer.
34
- * Expects format: `data:<mime>;base64,<data>`
35
- */
36
- export function decodeDataUriToBuffer(dataUri) {
37
- const commaIndex = dataUri.indexOf(",");
38
- if (commaIndex === -1) {
39
- throw new Error("Invalid data URI: missing comma separator");
40
- }
41
- const base64 = dataUri.slice(commaIndex + 1);
42
- return Buffer.from(base64, "base64");
43
- }
44
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM;SACjB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,0BAA0B,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}