@litlab/audx 0.0.1

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 (74) hide show
  1. package/README.md +86 -0
  2. package/dist/codegen/theme-codegen.d.ts +12 -0
  3. package/dist/codegen/theme-codegen.d.ts.map +1 -0
  4. package/dist/codegen/theme-codegen.js +153 -0
  5. package/dist/codegen/theme-codegen.js.map +1 -0
  6. package/dist/commands/add.d.ts +2 -0
  7. package/dist/commands/add.d.ts.map +1 -0
  8. package/dist/commands/add.js +120 -0
  9. package/dist/commands/add.js.map +1 -0
  10. package/dist/commands/diff.d.ts +2 -0
  11. package/dist/commands/diff.d.ts.map +1 -0
  12. package/dist/commands/diff.js +103 -0
  13. package/dist/commands/diff.js.map +1 -0
  14. package/dist/commands/generate.d.ts +12 -0
  15. package/dist/commands/generate.d.ts.map +1 -0
  16. package/dist/commands/generate.js +96 -0
  17. package/dist/commands/generate.js.map +1 -0
  18. package/dist/commands/init.d.ts +2 -0
  19. package/dist/commands/init.d.ts.map +1 -0
  20. package/dist/commands/init.js +79 -0
  21. package/dist/commands/init.js.map +1 -0
  22. package/dist/commands/list.d.ts +14 -0
  23. package/dist/commands/list.d.ts.map +1 -0
  24. package/dist/commands/list.js +93 -0
  25. package/dist/commands/list.js.map +1 -0
  26. package/dist/commands/remove.d.ts +2 -0
  27. package/dist/commands/remove.d.ts.map +1 -0
  28. package/dist/commands/remove.js +71 -0
  29. package/dist/commands/remove.js.map +1 -0
  30. package/dist/commands/theme.d.ts +31 -0
  31. package/dist/commands/theme.d.ts.map +1 -0
  32. package/dist/commands/theme.js +142 -0
  33. package/dist/commands/theme.js.map +1 -0
  34. package/dist/commands/update.d.ts +2 -0
  35. package/dist/commands/update.d.ts.map +1 -0
  36. package/dist/commands/update.js +123 -0
  37. package/dist/commands/update.js.map +1 -0
  38. package/dist/core/alias-resolver.d.ts +24 -0
  39. package/dist/core/alias-resolver.d.ts.map +1 -0
  40. package/dist/core/alias-resolver.js +87 -0
  41. package/dist/core/alias-resolver.js.map +1 -0
  42. package/dist/core/config.d.ts +21 -0
  43. package/dist/core/config.d.ts.map +1 -0
  44. package/dist/core/config.js +43 -0
  45. package/dist/core/config.js.map +1 -0
  46. package/dist/core/file-writer.d.ts +14 -0
  47. package/dist/core/file-writer.d.ts.map +1 -0
  48. package/dist/core/file-writer.js +90 -0
  49. package/dist/core/file-writer.js.map +1 -0
  50. package/dist/core/package-manager.d.ts +3 -0
  51. package/dist/core/package-manager.d.ts.map +1 -0
  52. package/dist/core/package-manager.js +17 -0
  53. package/dist/core/package-manager.js.map +1 -0
  54. package/dist/core/registry.d.ts +18 -0
  55. package/dist/core/registry.d.ts.map +1 -0
  56. package/dist/core/registry.js +69 -0
  57. package/dist/core/registry.js.map +1 -0
  58. package/dist/core/theme-manager.d.ts +35 -0
  59. package/dist/core/theme-manager.d.ts.map +1 -0
  60. package/dist/core/theme-manager.js +94 -0
  61. package/dist/core/theme-manager.js.map +1 -0
  62. package/dist/core/utils.d.ts +22 -0
  63. package/dist/core/utils.d.ts.map +1 -0
  64. package/dist/core/utils.js +44 -0
  65. package/dist/core/utils.js.map +1 -0
  66. package/dist/index.d.ts +3 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +126 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/types.d.ts +116 -0
  71. package/dist/types.d.ts.map +1 -0
  72. package/dist/types.js +43 -0
  73. package/dist/types.js.map +1 -0
  74. package/package.json +54 -0
package/dist/index.js ADDED
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from "node:module";
3
+ import { Command } from "commander";
4
+ const require = createRequire(import.meta.url);
5
+ const pkg = require("../package.json");
6
+ const program = new Command();
7
+ program.name("audx").version(pkg.version).description(pkg.description);
8
+ // ── init ────────────────────────────────────────────────────────────────────
9
+ program
10
+ .command("init")
11
+ .description("Initialize audx in the current project")
12
+ .action(async () => {
13
+ const { initCommand } = await import("./commands/init.js");
14
+ await initCommand(process.cwd());
15
+ });
16
+ // ── add ─────────────────────────────────────────────────────────────────────
17
+ program
18
+ .command("add")
19
+ .description("Add sounds from the audx registry")
20
+ .argument("<sounds...>", "Sound names to add")
21
+ .action(async (sounds) => {
22
+ const { addCommand } = await import("./commands/add.js");
23
+ await addCommand(sounds, process.cwd());
24
+ });
25
+ // ── list ────────────────────────────────────────────────────────────────────
26
+ program
27
+ .command("list")
28
+ .description("List available sounds in the registry")
29
+ .option("--tag <tag>", "Filter by tag")
30
+ .option("--search <query>", "Search by name, description, or tags")
31
+ .action(async (options) => {
32
+ const { listCommand } = await import("./commands/list.js");
33
+ await listCommand(process.cwd(), options);
34
+ });
35
+ // ── remove ──────────────────────────────────────────────────────────────────
36
+ program
37
+ .command("remove")
38
+ .description("Remove installed sounds")
39
+ .argument("<sounds...>", "Sound names to remove")
40
+ .action(async (sounds) => {
41
+ const { removeCommand } = await import("./commands/remove.js");
42
+ await removeCommand(sounds, process.cwd());
43
+ });
44
+ // ── diff ────────────────────────────────────────────────────────────────────
45
+ program
46
+ .command("diff")
47
+ .description("Check for updates to installed sounds")
48
+ .action(async () => {
49
+ const { diffCommand } = await import("./commands/diff.js");
50
+ await diffCommand(process.cwd());
51
+ });
52
+ // ── update ──────────────────────────────────────────────────────────────────
53
+ program
54
+ .command("update")
55
+ .description("Update installed sounds from the registry")
56
+ .argument("[sound-name]", "Specific sound to update")
57
+ .action(async (soundName) => {
58
+ const { updateCommand } = await import("./commands/update.js");
59
+ await updateCommand(soundName, process.cwd());
60
+ });
61
+ // ── generate ────────────────────────────────────────────────────────────────
62
+ program
63
+ .command("generate")
64
+ .description("Generate a sound from a text prompt")
65
+ .argument("<prompt>", "Text prompt describing the sound")
66
+ .option("--name <name>", "Custom name for the generated sound")
67
+ .option("--duration <seconds>", "Duration in seconds (0.5–22)")
68
+ .action(async (prompt, options) => {
69
+ const { generateCommand } = await import("./commands/generate.js");
70
+ await generateCommand(prompt, options, process.cwd());
71
+ });
72
+ // ── theme (parent with subcommands) ────────────────────────────────────────
73
+ const theme = program.command("theme").description("Manage sound themes");
74
+ theme
75
+ .command("init")
76
+ .description("Initialize theme configuration")
77
+ .action(async () => {
78
+ const { themeInitCommand } = await import("./commands/theme.js");
79
+ await themeInitCommand(process.cwd());
80
+ });
81
+ theme
82
+ .command("set")
83
+ .description("Set the active theme")
84
+ .argument("<theme-name>", "Theme name to activate")
85
+ .action(async (themeName) => {
86
+ const { themeSetCommand } = await import("./commands/theme.js");
87
+ themeSetCommand(themeName, process.cwd());
88
+ });
89
+ theme
90
+ .command("map")
91
+ .description("Map a semantic name to an installed sound")
92
+ .argument("<semantic-name>", "Semantic sound name (e.g., success, error)")
93
+ .argument("<sound-name>", "Installed sound name")
94
+ .action(async (semanticName, soundName) => {
95
+ const { themeMapCommand } = await import("./commands/theme.js");
96
+ themeMapCommand(semanticName, soundName, process.cwd());
97
+ });
98
+ theme
99
+ .command("create")
100
+ .description("Create a new theme")
101
+ .argument("<theme-name>", "Name for the new theme")
102
+ .action(async (themeName) => {
103
+ const { themeCreateCommand } = await import("./commands/theme.js");
104
+ themeCreateCommand(themeName, process.cwd());
105
+ });
106
+ theme
107
+ .command("list")
108
+ .description("List all themes")
109
+ .action(async () => {
110
+ const { themeListCommand } = await import("./commands/theme.js");
111
+ themeListCommand(process.cwd());
112
+ });
113
+ theme
114
+ .command("generate")
115
+ .description("Generate sound-theme.ts from theme configuration")
116
+ .action(async () => {
117
+ const { themeGenerateCommand } = await import("./commands/theme.js");
118
+ themeGenerateCommand(process.cwd());
119
+ });
120
+ // ── Parse and run ───────────────────────────────────────────────────────────
121
+ // Requirement 1.6 — display help when invoked without subcommand
122
+ if (process.argv.length <= 2) {
123
+ program.help();
124
+ }
125
+ program.parse();
126
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { z } from "zod";
2
+ export declare const SEMANTIC_SOUND_NAMES: readonly ["success", "error", "warning", "info", "click", "back", "enter", "delete", "copy", "paste", "scroll", "hover", "toggle", "notify", "complete", "loading"];
3
+ export type SemanticSoundName = (typeof SEMANTIC_SOUND_NAMES)[number];
4
+ export type PackageManager = "bun" | "pnpm" | "yarn" | "npm";
5
+ export declare const audxConfigSchema: z.ZodObject<{
6
+ $schema: z.ZodOptional<z.ZodString>;
7
+ soundDir: z.ZodString;
8
+ libDir: z.ZodString;
9
+ registryUrl: z.ZodString;
10
+ packageManager: z.ZodEnum<["npm", "pnpm", "yarn", "bun"]>;
11
+ aliases: z.ZodObject<{
12
+ lib: z.ZodString;
13
+ hooks: z.ZodString;
14
+ sounds: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ lib: string;
17
+ hooks: string;
18
+ sounds: string;
19
+ }, {
20
+ lib: string;
21
+ hooks: string;
22
+ sounds: string;
23
+ }>;
24
+ installedSounds: z.ZodRecord<z.ZodString, z.ZodObject<{
25
+ files: z.ZodArray<z.ZodString, "many">;
26
+ installedAt: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ files: string[];
29
+ installedAt: string;
30
+ }, {
31
+ files: string[];
32
+ installedAt: string;
33
+ }>>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ soundDir: string;
36
+ libDir: string;
37
+ registryUrl: string;
38
+ packageManager: "bun" | "pnpm" | "yarn" | "npm";
39
+ aliases: {
40
+ lib: string;
41
+ hooks: string;
42
+ sounds: string;
43
+ };
44
+ installedSounds: Record<string, {
45
+ files: string[];
46
+ installedAt: string;
47
+ }>;
48
+ $schema?: string | undefined;
49
+ }, {
50
+ soundDir: string;
51
+ libDir: string;
52
+ registryUrl: string;
53
+ packageManager: "bun" | "pnpm" | "yarn" | "npm";
54
+ aliases: {
55
+ lib: string;
56
+ hooks: string;
57
+ sounds: string;
58
+ };
59
+ installedSounds: Record<string, {
60
+ files: string[];
61
+ installedAt: string;
62
+ }>;
63
+ $schema?: string | undefined;
64
+ }>;
65
+ export type AudxConfig = z.infer<typeof audxConfigSchema>;
66
+ export declare const themeConfigSchema: z.ZodObject<{
67
+ activeTheme: z.ZodString;
68
+ themes: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["success", "error", "warning", "info", "click", "back", "enter", "delete", "copy", "paste", "scroll", "hover", "toggle", "notify", "complete", "loading"]>, z.ZodNullable<z.ZodString>>>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ activeTheme: string;
71
+ themes: Record<string, Partial<Record<"success" | "error" | "warning" | "info" | "click" | "back" | "enter" | "delete" | "copy" | "paste" | "scroll" | "hover" | "toggle" | "notify" | "complete" | "loading", string | null>>>;
72
+ }, {
73
+ activeTheme: string;
74
+ themes: Record<string, Partial<Record<"success" | "error" | "warning" | "info" | "click" | "back" | "enter" | "delete" | "copy" | "paste" | "scroll" | "hover" | "toggle" | "notify" | "complete" | "loading", string | null>>>;
75
+ }>;
76
+ export type ThemeConfig = z.infer<typeof themeConfigSchema>;
77
+ export interface RegistryFile {
78
+ path: string;
79
+ content: string;
80
+ type: string;
81
+ }
82
+ export interface RegistryItem {
83
+ $schema: string;
84
+ name: string;
85
+ type: string;
86
+ title: string;
87
+ author?: string;
88
+ description: string;
89
+ files: RegistryFile[];
90
+ meta?: {
91
+ duration: number;
92
+ format: string;
93
+ sizeKb: number;
94
+ license: string;
95
+ tags: string[];
96
+ };
97
+ }
98
+ export interface RegistryCatalog {
99
+ $schema: string;
100
+ name: string;
101
+ homepage: string;
102
+ items: RegistryItem[];
103
+ }
104
+ export interface AliasMap {
105
+ hasAliases: boolean;
106
+ patterns: Array<{
107
+ alias: string;
108
+ paths: string[];
109
+ }>;
110
+ }
111
+ export interface GenerateSoundParams {
112
+ text: string;
113
+ duration_seconds?: number;
114
+ prompt_influence?: number;
115
+ }
116
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB,qKAiBvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAItE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAI7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,eAAO,MAAM,iBAAiB;;;;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;CACF;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;CACtB;AAID,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC,CAAC;CACH;AAID,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B"}
package/dist/types.js ADDED
@@ -0,0 +1,43 @@
1
+ import { z } from "zod";
2
+ // ── Semantic Sound Names ────────────────────────────────────────────────────
3
+ export const SEMANTIC_SOUND_NAMES = [
4
+ "success",
5
+ "error",
6
+ "warning",
7
+ "info",
8
+ "click",
9
+ "back",
10
+ "enter",
11
+ "delete",
12
+ "copy",
13
+ "paste",
14
+ "scroll",
15
+ "hover",
16
+ "toggle",
17
+ "notify",
18
+ "complete",
19
+ "loading",
20
+ ];
21
+ // ── AudxConfig (audx.config.json) ───────────────────────────────────────────
22
+ export const audxConfigSchema = z.object({
23
+ $schema: z.string().optional(),
24
+ soundDir: z.string(),
25
+ libDir: z.string(),
26
+ registryUrl: z.string().url(),
27
+ packageManager: z.enum(["npm", "pnpm", "yarn", "bun"]),
28
+ aliases: z.object({
29
+ lib: z.string(),
30
+ hooks: z.string(),
31
+ sounds: z.string(),
32
+ }),
33
+ installedSounds: z.record(z.string(), z.object({
34
+ files: z.array(z.string()),
35
+ installedAt: z.string().datetime(),
36
+ })),
37
+ });
38
+ // ── ThemeConfig (audx.themes.json) ──────────────────────────────────────────
39
+ export const themeConfigSchema = z.object({
40
+ activeTheme: z.string(),
41
+ themes: z.record(z.string(), z.record(z.enum(SEMANTIC_SOUND_NAMES), z.string().nullable())),
42
+ });
43
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,SAAS;IACT,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;CACA,CAAC;AAQX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC7B,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,MAAM,CACxB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC;QACR,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CACF;CACD,CAAC,CAAC;AAIH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC7D;CACD,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@litlab/audx",
3
+ "version": "0.0.1",
4
+ "description": "CLI tool for distributing and managing UI sounds from the audx registry",
5
+ "type": "module",
6
+ "bin": {
7
+ "audx": "dist/index.js"
8
+ },
9
+ "main": "dist/index.js",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "dev": "tsc --watch",
16
+ "test": "vitest --run",
17
+ "test:watch": "vitest",
18
+ "prepublishOnly": "npm run build"
19
+ },
20
+ "keywords": [
21
+ "audx",
22
+ "audio",
23
+ "sounds",
24
+ "ui-sounds",
25
+ "cli",
26
+ "sound-effects",
27
+ "theme",
28
+ "registry"
29
+ ],
30
+ "author": "audx",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/ommgh/audx.git",
35
+ "directory": "package"
36
+ },
37
+ "homepage": "https://audx.dev",
38
+ "bugs": {
39
+ "url": "https://github.com/ommgh/audx/issues"
40
+ },
41
+ "dependencies": {
42
+ "commander": "^13.1.0",
43
+ "zod": "^3.25.67"
44
+ },
45
+ "devDependencies": {
46
+ "typescript": "^5.8.3",
47
+ "vitest": "^3.2.3",
48
+ "fast-check": "^4.1.1",
49
+ "@types/node": "^22.15.0"
50
+ },
51
+ "engines": {
52
+ "node": ">=18.0.0"
53
+ }
54
+ }