use-vibes 0.19.29-dev-cli → 0.19.32-dev-cli

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 (102) hide show
  1. package/LICENSE.md +232 -0
  2. package/README.md +49 -0
  3. package/RELEASE-NOTES.md +21 -0
  4. package/bin.d.ts +2 -0
  5. package/bin.js +12 -0
  6. package/bin.js.map +1 -0
  7. package/{esm/cli → cli}/exec/info.d.ts +0 -1
  8. package/cli/exec/info.js +16 -0
  9. package/cli/exec/info.js.map +1 -0
  10. package/cli/exec/result-to-exit-code.d.ts +3 -0
  11. package/cli/exec/result-to-exit-code.js +8 -0
  12. package/cli/exec/result-to-exit-code.js.map +1 -0
  13. package/{esm/cli → cli}/exec/skills.d.ts +0 -1
  14. package/cli/exec/skills.js +11 -0
  15. package/cli/exec/skills.js.map +1 -0
  16. package/{esm/cli → cli}/exec/system.d.ts +0 -1
  17. package/cli/exec/system.js +20 -0
  18. package/cli/exec/system.js.map +1 -0
  19. package/{esm/cli → cli}/exec/whoami.d.ts +0 -1
  20. package/cli/exec/whoami.js +11 -0
  21. package/cli/exec/whoami.js.map +1 -0
  22. package/{esm/cli → cli}/executable.d.ts +2 -4
  23. package/cli/executable.js +2 -0
  24. package/cli/executable.js.map +1 -0
  25. package/{esm/commands/cli-output.d.ts → commands/cli-output-node.d.ts} +0 -1
  26. package/{esm/commands/cli-output.js → commands/cli-output-node.js} +1 -0
  27. package/commands/cli-output-node.js.map +1 -0
  28. package/commands/config.d.ts +15 -0
  29. package/commands/config.js +26 -0
  30. package/commands/config.js.map +1 -0
  31. package/commands/info.d.ts +6 -0
  32. package/{esm/commands → commands}/info.js +8 -8
  33. package/commands/info.js.map +1 -0
  34. package/{esm/commands → commands}/resolve-target.d.ts +0 -1
  35. package/{esm/commands → commands}/resolve-target.js +3 -2
  36. package/commands/resolve-target.js.map +1 -0
  37. package/commands/skills.d.ts +3 -0
  38. package/{esm/commands → commands}/skills.js +3 -2
  39. package/commands/skills.js.map +1 -0
  40. package/commands/system.d.ts +6 -0
  41. package/{esm/commands → commands}/system.js +5 -4
  42. package/commands/system.js.map +1 -0
  43. package/commands/whoami.d.ts +3 -0
  44. package/commands/whoami.js +5 -0
  45. package/commands/whoami.js.map +1 -0
  46. package/{esm/dispatcher.d.ts → dispatcher.d.ts} +0 -2
  47. package/{esm/dispatcher.js → dispatcher.js} +7 -20
  48. package/dispatcher.js.map +1 -0
  49. package/{esm/index.d.ts → index.d.ts} +0 -1
  50. package/index.js +2 -0
  51. package/index.js.map +1 -0
  52. package/package.json +20 -17
  53. package/tsconfig.json +22 -0
  54. package/esm/bin.d.ts +0 -3
  55. package/esm/bin.d.ts.map +0 -1
  56. package/esm/bin.js +0 -13
  57. package/esm/cli/exec/handle-register.d.ts +0 -3
  58. package/esm/cli/exec/handle-register.d.ts.map +0 -1
  59. package/esm/cli/exec/handle-register.js +0 -18
  60. package/esm/cli/exec/info.d.ts.map +0 -1
  61. package/esm/cli/exec/info.js +0 -18
  62. package/esm/cli/exec/login.d.ts +0 -3
  63. package/esm/cli/exec/login.d.ts.map +0 -1
  64. package/esm/cli/exec/login.js +0 -32
  65. package/esm/cli/exec/skills.d.ts.map +0 -1
  66. package/esm/cli/exec/skills.js +0 -13
  67. package/esm/cli/exec/system.d.ts.map +0 -1
  68. package/esm/cli/exec/system.js +0 -23
  69. package/esm/cli/exec/whoami.d.ts.map +0 -1
  70. package/esm/cli/exec/whoami.js +0 -13
  71. package/esm/cli/executable.d.ts.map +0 -1
  72. package/esm/cli/executable.js +0 -1
  73. package/esm/commands/cli-output.d.ts.map +0 -1
  74. package/esm/commands/config.d.ts +0 -13
  75. package/esm/commands/config.d.ts.map +0 -1
  76. package/esm/commands/config.js +0 -36
  77. package/esm/commands/handle-register.d.ts +0 -19
  78. package/esm/commands/handle-register.d.ts.map +0 -1
  79. package/esm/commands/handle-register.js +0 -65
  80. package/esm/commands/info.d.ts +0 -8
  81. package/esm/commands/info.d.ts.map +0 -1
  82. package/esm/commands/login-platform-node.d.ts +0 -3
  83. package/esm/commands/login-platform-node.d.ts.map +0 -1
  84. package/esm/commands/login-platform-node.js +0 -56
  85. package/esm/commands/login.d.ts +0 -22
  86. package/esm/commands/login.d.ts.map +0 -1
  87. package/esm/commands/login.js +0 -127
  88. package/esm/commands/resolve-target.d.ts.map +0 -1
  89. package/esm/commands/skills.d.ts +0 -4
  90. package/esm/commands/skills.d.ts.map +0 -1
  91. package/esm/commands/system.d.ts +0 -7
  92. package/esm/commands/system.d.ts.map +0 -1
  93. package/esm/commands/vibes-api.d.ts +0 -15
  94. package/esm/commands/vibes-api.d.ts.map +0 -1
  95. package/esm/commands/vibes-api.js +0 -51
  96. package/esm/commands/whoami.d.ts +0 -21
  97. package/esm/commands/whoami.d.ts.map +0 -1
  98. package/esm/commands/whoami.js +0 -102
  99. package/esm/dispatcher.d.ts.map +0 -1
  100. package/esm/index.d.ts.map +0 -1
  101. package/esm/index.js +0 -14
  102. package/esm/package.json +0 -3
@@ -1,7 +1,7 @@
1
1
  import { Result, exception2Result } from "@adviser/cement";
2
2
  import { getLlmCatalog } from "@vibes.diy/prompts";
3
- import { defaultCliOutput } from "./cli-output.js";
4
- export async function runSkills(output = defaultCliOutput) {
3
+ export async function runSkills(runtime) {
4
+ const { output } = runtime;
5
5
  const rCatalog = await exception2Result(() => getLlmCatalog());
6
6
  if (rCatalog.isErr()) {
7
7
  return Result.Err(`Failed to load skills catalog: ${rCatalog.Err().message}`);
@@ -11,3 +11,4 @@ export async function runSkills(output = defaultCliOutput) {
11
11
  }
12
12
  return Result.Ok(undefined);
13
13
  }
14
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../jsr/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAmB,EAAyB;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,GAAG,CAAC,kCAAkC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAAA,CAC7B"}
@@ -0,0 +1,6 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { CliRuntime } from "../cli/executable.js";
3
+ export interface RunSystemOptions {
4
+ readonly skillsCsv?: string;
5
+ }
6
+ export declare function runSystem(options: RunSystemOptions, runtime: CliRuntime): Promise<Result<void>>;
@@ -1,6 +1,5 @@
1
1
  import { Result, exception2Result } from "@adviser/cement";
2
2
  import { makeBaseSystemPrompt, getDefaultDependencies, getLlmCatalogNames } from "@vibes.diy/prompts";
3
- import { defaultCliOutput } from "./cli-output.js";
4
3
  function parseSkillsCsv(options) {
5
4
  const skillsCsv = options.skillsCsv;
6
5
  if (typeof skillsCsv === "undefined") {
@@ -33,14 +32,15 @@ async function resolveSkills(parsedSkills) {
33
32
  }
34
33
  }
35
34
  }
36
- export async function runSystem(options, output = defaultCliOutput) {
35
+ export async function runSystem(options, runtime) {
36
+ const { output } = runtime;
37
37
  const rParsedSkills = parseSkillsCsv(options);
38
38
  if (rParsedSkills.isErr()) {
39
- return Result.Err(rParsedSkills.Err());
39
+ return Result.Err(rParsedSkills);
40
40
  }
41
41
  const rSelectedSkills = await resolveSkills(rParsedSkills.Ok());
42
42
  if (rSelectedSkills.isErr()) {
43
- return Result.Err(rSelectedSkills.Err());
43
+ return Result.Err(rSelectedSkills);
44
44
  }
45
45
  const selectedSkills = rSelectedSkills.Ok();
46
46
  const rValidNames = await exception2Result(() => getLlmCatalogNames());
@@ -67,3 +67,4 @@ export async function runSystem(options, output = defaultCliOutput) {
67
67
  output.stdout(rPrompt.Ok().systemPrompt);
68
68
  return Result.Ok(undefined);
69
69
  }
70
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../jsr/commands/system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { CliRuntime } from "../cli/executable.js";
3
+ export declare function runWhoami(_runtime: CliRuntime): Promise<Result<void>>;
@@ -0,0 +1,5 @@
1
+ import { Result } from "@adviser/cement";
2
+ export function runWhoami(_runtime) {
3
+ return Promise.resolve(Result.Err("Not logged in. Run: use-vibes login"));
4
+ }
5
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../jsr/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,UAAU,SAAS,CAAC,QAAoB,EAAyB;IACrE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;AAAA,CAC3E"}
@@ -1,5 +1,3 @@
1
1
  import type { CliRuntime } from "./cli/executable.js";
2
2
  export type { CliRuntime } from "./cli/executable.js";
3
- export type { LoginPlatform } from "./commands/login.js";
4
3
  export declare function dispatch(cliArgs: readonly string[], runtime: CliRuntime): Promise<void>;
5
- //# sourceMappingURL=dispatcher.d.ts.map
@@ -1,10 +1,13 @@
1
- import { loginExec } from "./cli/exec/login.js";
2
1
  import { whoamiExec } from "./cli/exec/whoami.js";
3
2
  import { skillsExec } from "./cli/exec/skills.js";
4
3
  import { systemExec } from "./cli/exec/system.js";
5
4
  import { infoExec } from "./cli/exec/info.js";
6
- import { handleRegisterExec } from "./cli/exec/handle-register.js";
7
- const commands = [loginExec, whoamiExec, skillsExec, systemExec, infoExec, handleRegisterExec];
5
+ const commands = [
6
+ whoamiExec,
7
+ skillsExec,
8
+ systemExec,
9
+ infoExec,
10
+ ];
8
11
  function printHelp(output) {
9
12
  output.stdout("use-vibes — Build and deploy React + Fireproof apps\n\n");
10
13
  output.stdout("Commands:\n");
@@ -19,23 +22,6 @@ export async function dispatch(cliArgs, runtime) {
19
22
  return;
20
23
  }
21
24
  const token = cliArgs[0];
22
- // Handle nested "handle register" command
23
- if (token === "handle") {
24
- if (cliArgs.length < 2 || cliArgs[1] === "--help" || cliArgs[1] === "-h") {
25
- runtime.output.stdout("use-vibes handle — Manage handles\n\n");
26
- runtime.output.stdout("Commands:\n");
27
- runtime.output.stdout(` register ${handleRegisterExec.description}\n`);
28
- return;
29
- }
30
- if (cliArgs[1] === "register") {
31
- const code = await handleRegisterExec.run([...cliArgs.slice(2)], runtime);
32
- runtime.setExitCode(code);
33
- return;
34
- }
35
- runtime.output.stderr(`Unknown handle subcommand: ${cliArgs[1]}\n`);
36
- runtime.setExitCode(1);
37
- return;
38
- }
39
25
  const exec = commands.find((c) => c.name === token);
40
26
  if (!exec) {
41
27
  runtime.output.stderr(`Unknown command: ${token}\n`);
@@ -45,3 +31,4 @@ export async function dispatch(cliArgs, runtime) {
45
31
  const code = await exec.run([...cliArgs.slice(1)], runtime);
46
32
  runtime.setExitCode(code);
47
33
  }
34
+ //# sourceMappingURL=dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../jsr/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,MAAM,QAAQ,GAAiC;IAC7C,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;CACT,CAAC;AAEF,SAAS,SAAS,CAAC,MAA4B,EAAQ;IACrD,MAAM,CAAC,MAAM,CAAC,2DAAyD,CAAC,CAAC;IACzE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;AAAA,CACtD;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAA0B,EAAE,OAAmB,EAAiB;IAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAAA,CAC3B"}
@@ -1,2 +1 @@
1
1
  export { useFireproof, fireproof, ImgFile, toCloud, type Fireproof, callAI, callAi, type CallAI, ImgGen, type ImgGenProps, useVibes, type UseVibesOptions, type UseVibesResult, type VibeDocument, generateInstallId, useMobile, } from "@vibes.diy/use-vibes-base";
2
- //# sourceMappingURL=index.d.ts.map
package/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { useFireproof, fireproof, ImgFile, toCloud, callAI, callAi, ImgGen, useVibes, generateInstallId, useMobile, } from "@vibes.diy/use-vibes-base";
2
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EAIP,MAAM,EACN,MAAM,EAIN,MAAM,EAIN,QAAQ,EAMR,iBAAiB,EAGjB,SAAS,GACV,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "use-vibes",
3
- "version": "0.19.29-dev-cli",
3
+ "version": "0.19.32-dev-cli",
4
+ "type": "module",
4
5
  "description": "Transform any DOM element into an AI-powered micro-app",
5
6
  "keywords": [
6
7
  "ai",
@@ -11,29 +12,31 @@
11
12
  "esm",
12
13
  "typescript"
13
14
  ],
14
- "license": "Apache-2.0",
15
- "module": "./esm/index.js",
16
- "exports": {
17
- "./index.js": {
18
- "import": "./esm/index.js"
19
- }
20
- },
21
- "scripts": {},
22
- "bin": {
23
- "use-vibes": "./esm/bin.js"
24
- },
25
- "type": "module",
26
15
  "contributors": [
27
16
  "J Chris Anderson",
28
17
  "Meno Abels"
29
18
  ],
19
+ "license": "Apache-2.0",
30
20
  "dependencies": {
31
- "@adviser/cement": "^0.5.32",
32
- "@vibes.diy/prompts": "*",
33
- "@vibes.diy/use-vibes-base": "*"
21
+ "@adviser/cement": "~0.5.32",
22
+ "@fireproof/core": "~0.24.12",
23
+ "@fireproof/core-keybag": "~0.24.12",
24
+ "@fireproof/core-runtime": "~0.24.12",
25
+ "@fireproof/core-types-base": "~0.24.12",
26
+ "@fireproof/core-types-protocols-cloud": "~0.24.12",
27
+ "@fireproof/use-fireproof": "~0.24.12",
28
+ "@vibes.diy/prompts": "^0.19.32-dev-cli",
29
+ "@vibes.diy/use-vibes-base": "^0.19.32-dev-cli",
30
+ "cmd-ts": "~0.15.0",
31
+ "find-up": "~8.0.0"
34
32
  },
35
33
  "peerDependencies": {
36
34
  "react": ">=19.1.0"
37
35
  },
38
- "_generatedBy": "dnt@dev"
36
+ "scripts": {
37
+ "build": "core-cli tsc",
38
+ "test": "vitest run",
39
+ "test:cli": "pnpm --dir ../tests run test:cli",
40
+ "check:cli": "pnpm exec eslint ./dispatcher.ts ./cli/ ./commands/ ../tests/cli/"
41
+ }
39
42
  }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "extends": [
3
+ "/home/runner/work/vibes.diy/vibes.diy/tsconfig.dist.json"
4
+ ],
5
+ "compilerOptions": {
6
+ "outDir": "../npm/",
7
+ "noEmit": false
8
+ },
9
+ "include": [
10
+ "**/*",
11
+ "**/*"
12
+ ],
13
+ "exclude": [
14
+ "../tests/**/*",
15
+ "node_modules",
16
+ "dist",
17
+ "node_modules",
18
+ "dist",
19
+ ".git",
20
+ ".vscode"
21
+ ]
22
+ }
package/esm/bin.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=bin.d.ts.map
package/esm/bin.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/esm/bin.js DELETED
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env node
2
- // Node CLI entry point — compiled by dnt with #!/usr/bin/env node shebang.
3
- // For Deno, use main.deno.ts instead.
4
- import { defaultCliOutput } from "./commands/cli-output.js";
5
- import { nodeLoginPlatform } from "./commands/login-platform-node.js";
6
- import { dispatch } from "./dispatcher.js";
7
- await dispatch(process.argv.slice(2), {
8
- output: defaultCliOutput,
9
- setExitCode(code) {
10
- process.exitCode = code;
11
- },
12
- loginPlatform: nodeLoginPlatform,
13
- });
@@ -1,3 +0,0 @@
1
- import type { CommandExecutable } from "../executable.js";
2
- export declare const handleRegisterExec: CommandExecutable;
3
- //# sourceMappingURL=handle-register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-register.d.ts","sourceRoot":"","sources":["../../../src/cli/exec/handle-register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,kBAAkB,EAAE,iBAgBhC,CAAC"}
@@ -1,18 +0,0 @@
1
- import { runRegisterHandle } from "../../commands/handle-register.js";
2
- export const handleRegisterExec = {
3
- name: "handle register",
4
- description: "Register a handle slug",
5
- async run(argv, runtime) {
6
- if (argv.length > 1) {
7
- runtime.output.stderr("handle register accepts at most one slug argument\n");
8
- return 1;
9
- }
10
- const slug = argv.length > 0 ? argv[0] : undefined;
11
- const result = await runRegisterHandle({ slug }, runtime.output);
12
- if (result.isErr()) {
13
- runtime.output.stderr(String(result.Err()) + "\n");
14
- return 1;
15
- }
16
- return 0;
17
- },
18
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cli/exec/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,QAAQ,EAAE,iBAgBtB,CAAC"}
@@ -1,18 +0,0 @@
1
- import { runInfo } from "../../commands/info.js";
2
- export const infoExec = {
3
- name: "info",
4
- description: "Show resolved config and target",
5
- async run(argv, runtime) {
6
- if (argv.length > 1) {
7
- runtime.output.stderr("info accepts at most one target argument\n");
8
- return 1;
9
- }
10
- const target = argv.length > 0 ? argv[0] : undefined;
11
- const result = await runInfo({ target }, runtime.output);
12
- if (result.isErr()) {
13
- runtime.output.stderr(String(result.Err()) + "\n");
14
- return 1;
15
- }
16
- return 0;
17
- },
18
- };
@@ -1,3 +0,0 @@
1
- import type { CommandExecutable } from "../executable.js";
2
- export declare const loginExec: CommandExecutable;
3
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/exec/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsB1D,eAAO,MAAM,SAAS,EAAE,iBAYvB,CAAC"}
@@ -1,32 +0,0 @@
1
- import { runLogin } from "../../commands/login.js";
2
- function parseArgs(argv) {
3
- let caUrl;
4
- let timeout = 120;
5
- let forceRenew = false;
6
- for (let i = 0; i < argv.length; i++) {
7
- const arg = argv[i];
8
- if (arg === "--ca-url" && i + 1 < argv.length) {
9
- caUrl = argv[++i];
10
- }
11
- else if (arg === "--timeout" && i + 1 < argv.length) {
12
- timeout = parseInt(argv[++i], 10);
13
- }
14
- else if (arg === "--force-renew") {
15
- forceRenew = true;
16
- }
17
- }
18
- return { caUrl, timeout, forceRenew };
19
- }
20
- export const loginExec = {
21
- name: "login",
22
- description: "Authenticate with vibes.diy",
23
- async run(argv, runtime) {
24
- const args = parseArgs(argv);
25
- const result = await runLogin(args, runtime.output, runtime.loginPlatform);
26
- if (result.isErr()) {
27
- runtime.output.stderr(String(result.Err()) + "\n");
28
- return 1;
29
- }
30
- return 0;
31
- },
32
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/cli/exec/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,UAAU,EAAE,iBAWxB,CAAC"}
@@ -1,13 +0,0 @@
1
- import { runSkills } from "../../commands/skills.js";
2
- export const skillsExec = {
3
- name: "skills",
4
- description: "List available skills",
5
- async run(_argv, runtime) {
6
- const result = await runSkills(runtime.output);
7
- if (result.isErr()) {
8
- runtime.output.stderr(String(result.Err()) + "\n");
9
- return 1;
10
- }
11
- return 0;
12
- },
13
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/cli/exec/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,UAAU,EAAE,iBAsBxB,CAAC"}
@@ -1,23 +0,0 @@
1
- import { runSystem } from "../../commands/system.js";
2
- export const systemExec = {
3
- name: "system",
4
- description: "Emit system prompt",
5
- async run(argv, runtime) {
6
- let skillsCsv;
7
- for (let i = 0; i < argv.length; i++) {
8
- if (argv[i] === "--skills" && i + 1 < argv.length) {
9
- skillsCsv = argv[++i];
10
- }
11
- else if (argv[i] === "--skills") {
12
- // --skills with no value: fall back to defaults
13
- skillsCsv = undefined;
14
- }
15
- }
16
- const result = await runSystem({ skillsCsv }, runtime.output);
17
- if (result.isErr()) {
18
- runtime.output.stderr(String(result.Err()) + "\n");
19
- return 1;
20
- }
21
- return 0;
22
- },
23
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../../src/cli/exec/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,UAAU,EAAE,iBAWxB,CAAC"}
@@ -1,13 +0,0 @@
1
- import { runWhoami } from "../../commands/whoami.js";
2
- export const whoamiExec = {
3
- name: "whoami",
4
- description: "Print device identity and linked handles",
5
- async run(_argv, runtime) {
6
- const result = await runWhoami(runtime.output);
7
- if (result.isErr()) {
8
- runtime.output.stderr(String(result.Err()) + "\n");
9
- return 1;
10
- }
11
- return 0;
12
- },
13
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../../src/cli/executable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-output.d.ts","sourceRoot":"","sources":["../../src/commands/cli-output.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAID,eAAO,MAAM,gBAAgB,EAAE,SAG9B,CAAC"}
@@ -1,13 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- declare const VibesJsonType: import("arktype/internal/variants/object.ts").ObjectType<{
3
- app: string;
4
- targets?: Record<string, unknown> | undefined;
5
- }, {}>;
6
- export type VibesConfig = typeof VibesJsonType.infer;
7
- export interface FoundConfig {
8
- readonly path: string;
9
- readonly config: VibesConfig;
10
- }
11
- export declare function findVibesJson(startDir: string): Promise<Result<FoundConfig>>;
12
- export {};
13
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAoB,MAAM,iBAAiB,CAAC;AAG3D,QAAA,MAAM,aAAa;;;MAGjB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,KAAK,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CA+BlF"}
@@ -1,36 +0,0 @@
1
- import { readFile } from "node:fs/promises";
2
- import { join, dirname } from "node:path";
3
- import { Result, exception2Result } from "@adviser/cement";
4
- import { type } from "arktype";
5
- const VibesJsonType = type({
6
- app: "string > 0",
7
- "targets?": "Record<string, unknown>",
8
- });
9
- export async function findVibesJson(startDir) {
10
- let dir = startDir;
11
- for (;;) {
12
- const candidate = join(dir, "vibes.json");
13
- const readResult = await exception2Result(() => readFile(candidate, "utf-8"));
14
- if (readResult.isErr()) {
15
- const err = readResult.Err();
16
- if (typeof err === "object" && err !== null && "code" in err && err.code === "ENOENT") {
17
- const parent = dirname(dir);
18
- if (parent === dir) {
19
- return Result.Err("No vibes.json found (searched up to filesystem root)");
20
- }
21
- dir = parent;
22
- continue;
23
- }
24
- return Result.Err(`Error reading ${candidate}: ${err}`);
25
- }
26
- const parseResult = exception2Result(() => JSON.parse(readResult.Ok()));
27
- if (parseResult.isErr()) {
28
- return Result.Err(`Invalid JSON in ${candidate}: ${parseResult.Err()}`);
29
- }
30
- const validated = VibesJsonType(parseResult.Ok());
31
- if (validated instanceof type.errors) {
32
- return Result.Err(`Invalid vibes.json at ${candidate}: ${validated.summary}`);
33
- }
34
- return Result.Ok({ path: candidate, config: validated });
35
- }
36
- }
@@ -1,19 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import type { CliOutput } from "./cli-output.js";
3
- import type { ReqRegisterHandle, ResRegisterHandle } from "@vibes.diy/api-types";
4
- export interface RunRegisterHandleOptions {
5
- readonly slug?: string;
6
- }
7
- export interface RegisterHandleDeps {
8
- readonly api?: RegisterHandleApi;
9
- }
10
- export interface RegisterHandleResultLike {
11
- isErr(): boolean;
12
- Err(): unknown;
13
- Ok(): ResRegisterHandle;
14
- }
15
- export interface RegisterHandleApi {
16
- registerHandle(req: Omit<ReqRegisterHandle, "type" | "auth">): Promise<RegisterHandleResultLike>;
17
- }
18
- export declare function runRegisterHandle(options: RunRegisterHandleOptions, output: CliOutput, deps?: RegisterHandleDeps): Promise<Result<void>>;
19
- //# sourceMappingURL=handle-register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-register.d.ts","sourceRoot":"","sources":["../../src/commands/handle-register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,IAAI,OAAO,CAAC;IACjB,GAAG,IAAI,OAAO,CAAC;IACf,EAAE,IAAI,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAClG;AA0CD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAgCvB"}
@@ -1,65 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { createCliVibesApi, getCliDashAuth } from "./vibes-api.js";
3
- function hasMessage(value) {
4
- if (typeof value !== "object" || value === null) {
5
- return false;
6
- }
7
- if (!("message" in value)) {
8
- return false;
9
- }
10
- return typeof Reflect.get(value, "message") === "string";
11
- }
12
- function toErrorMessage(error) {
13
- if (typeof error === "string") {
14
- return error;
15
- }
16
- if (hasMessage(error)) {
17
- return error.message;
18
- }
19
- return String(error);
20
- }
21
- function toRegisterReq(slug) {
22
- if (typeof slug === "undefined") {
23
- return Result.Ok({});
24
- }
25
- const trimmed = slug.trim();
26
- if (trimmed.length === 0) {
27
- return Result.Err("Handle slug must not be empty");
28
- }
29
- const withoutAt = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
30
- if (withoutAt.length === 0) {
31
- return Result.Err("Handle slug must not be empty");
32
- }
33
- return Result.Ok({ userSlug: withoutAt });
34
- }
35
- function emitRegistered(output, registered) {
36
- output.stdout(`handle: @${registered.userSlug}\n`);
37
- output.stdout(`created: ${registered.created}\n`);
38
- }
39
- export async function runRegisterHandle(options, output, deps = {}) {
40
- const rReq = toRegisterReq(options.slug);
41
- if (rReq.isErr()) {
42
- return Result.Err(rReq.Err());
43
- }
44
- const api = await (async function resolveApi() {
45
- if (deps.api) {
46
- return Result.Ok(deps.api);
47
- }
48
- const rAuth = await getCliDashAuth();
49
- if (rAuth.isErr()) {
50
- return Result.Err(toErrorMessage(rAuth.Err()));
51
- }
52
- return Result.Ok(createCliVibesApi({
53
- getToken: () => Promise.resolve(rAuth),
54
- }));
55
- })();
56
- if (api.isErr()) {
57
- return Result.Err(api.Err());
58
- }
59
- const rRegistered = await api.Ok().registerHandle(rReq.Ok());
60
- if (rRegistered.isErr()) {
61
- return Result.Err(toErrorMessage(rRegistered.Err()));
62
- }
63
- emitRegistered(output, rRegistered.Ok());
64
- return Result.Ok(undefined);
65
- }
@@ -1,8 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import type { CliOutput } from "./cli-output.js";
3
- export interface RunInfoOptions {
4
- readonly target?: string;
5
- readonly startDir?: string;
6
- }
7
- export declare function runInfo(opts: RunInfoOptions, output: CliOutput): Promise<Result<void>>;
8
- //# sourceMappingURL=info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAoB5F"}
@@ -1,3 +0,0 @@
1
- import type { LoginPlatform } from "./login.js";
2
- export declare const nodeLoginPlatform: LoginPlatform;
3
- //# sourceMappingURL=login-platform-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-platform-node.d.ts","sourceRoot":"","sources":["../../src/commands/login-platform-node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQhD,eAAO,MAAM,iBAAiB,EAAE,aA8C/B,CAAC"}