rhachet 1.19.8 → 1.19.9

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 (32) hide show
  1. package/dist/contract/cli/invokeAct.js +4 -2
  2. package/dist/contract/cli/invokeAct.js.map +1 -1
  3. package/dist/contract/cli/invokeAsk.js +8 -3
  4. package/dist/contract/cli/invokeAsk.js.map +1 -1
  5. package/dist/contract/cli/invokeRolesBoot.js +6 -6
  6. package/dist/contract/cli/invokeRolesCost.js +8 -8
  7. package/dist/contract/cli/invokeRolesInit.js +36 -10
  8. package/dist/contract/cli/invokeRolesInit.js.map +1 -1
  9. package/dist/contract/cli/invokeRolesLink.js +1 -1
  10. package/dist/contract/cli/invokeRun.js +7 -7
  11. package/dist/contract/cli/invokeRun.js.map +1 -1
  12. package/dist/domain.objects/RoleInitExecutable.d.ts +3 -3
  13. package/dist/domain.objects/RoleInitExecutable.js +1 -1
  14. package/dist/domain.objects/RoleSkillExecutable.d.ts +3 -3
  15. package/dist/domain.objects/RoleSkillExecutable.js +1 -1
  16. package/dist/domain.operations/actor/findActorRoleSkillBySlug.js +10 -10
  17. package/dist/domain.operations/actor/genActor.js +5 -5
  18. package/dist/domain.operations/invoke/bootRoleResources.d.ts +3 -3
  19. package/dist/domain.operations/invoke/bootRoleResources.js +6 -6
  20. package/dist/domain.operations/invoke/discoverInitExecutables.d.ts +3 -3
  21. package/dist/domain.operations/invoke/discoverInitExecutables.js +10 -10
  22. package/dist/domain.operations/invoke/discoverSkillExecutables.d.ts +3 -3
  23. package/dist/domain.operations/invoke/discoverSkillExecutables.js +10 -10
  24. package/dist/domain.operations/invoke/findUniqueInitExecutable.d.ts +3 -3
  25. package/dist/domain.operations/invoke/findUniqueInitExecutable.js +12 -12
  26. package/dist/domain.operations/invoke/findUniqueSkillExecutable.d.ts +3 -3
  27. package/dist/domain.operations/invoke/findUniqueSkillExecutable.js +12 -12
  28. package/dist/domain.operations/invoke/inferRepoByRole.d.ts +1 -1
  29. package/dist/domain.operations/invoke/inferRepoByRole.js +3 -3
  30. package/dist/domain.operations/role/getRoleFileCosts.d.ts +2 -2
  31. package/dist/domain.operations/role/getRoleFileCosts.js +2 -2
  32. package/package.json +1 -1
@@ -4,6 +4,7 @@ exports.invokeAct = void 0;
4
4
  const helpful_errors_1 = require("helpful-errors");
5
5
  const genActor_1 = require("../../domain.operations/actor/genActor");
6
6
  const assureFindRole_1 = require("../../domain.operations/invoke/assureFindRole");
7
+ const inferRepoByRole_1 = require("../../domain.operations/invoke/inferRepoByRole");
7
8
  const node_fs_1 = require("node:fs");
8
9
  const node_path_1 = require("node:path");
9
10
  /**
@@ -28,12 +29,13 @@ const invokeAct = ({ program, registries, brains, hooks, }) => {
28
29
  // validate brains are available
29
30
  if (brains.length === 0)
30
31
  throw new helpful_errors_1.BadRequestError('no brains available. add getBrainRepls() to your rhachet.use.ts');
31
- // find the role
32
+ // find the role and repo
32
33
  const role = (0, assureFindRole_1.assureFindRole)({ registries, slug: opts.role });
33
34
  if (!role)
34
35
  throw new helpful_errors_1.BadRequestError(`role "${opts.role}" not found`, {
35
36
  availableRoles: registries.flatMap((r) => r.roles.map((rr) => rr)),
36
37
  });
38
+ const repo = (0, inferRepoByRole_1.inferRepoByRole)({ registries, slugRole: opts.role });
37
39
  // resolve brain reference if provided
38
40
  let brainRef;
39
41
  if (opts.brain) {
@@ -64,7 +66,7 @@ const invokeAct = ({ program, registries, brains, hooks, }) => {
64
66
  for (let attempt = 1; attempt <= attempts; attempt++) {
65
67
  // log which skill will run
66
68
  console.log(``);
67
- console.log(`🔩 skill "${opts.skill}" from role="${opts.role}" attempt=${attempt}/${attempts}`);
69
+ console.log(`🔩 act rigid skill repo=${repo.slug}/role=${opts.role}/skill=${opts.skill} attempt=${attempt}/${attempts}`);
68
70
  console.log(``);
69
71
  // invoke actor.act with skill
70
72
  const result = await actor.act({
@@ -1 +1 @@
1
- {"version":3,"file":"invokeAct.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAct.ts"],"names":[],"mappings":";;;AACA,mDAAiD;AAKjD,oEAAiE;AACjE,iFAA8E;AAE9E,qCAAwC;AACxC,yCAAoC;AAEpC;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,UAAU,EACV,MAAM,EACN,KAAK,GAMN,EAAQ,EAAE;IACT,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,iCAAiC,CAAC;SAC9C,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SACrD,cAAc,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;SAC/D,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;SACxD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CACL,kBAAkB,EAClB,sDAAsD,CACvD;SACA,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;SACtE,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE9B,uBAAuB;IACvB,UAAU,CAAC,MAAM,CACf,KAAK,EAAE,IAQN,EAAE,EAAE;QACH,gCAAgC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACrB,MAAM,IAAI,gCAAe,CACvB,iEAAiE,CAClE,CAAC;QAEJ,gBAAgB;QAChB,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,gCAAe,CAAC,SAAS,IAAI,CAAC,IAAI,aAAa,EAAE;gBACzD,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;aACnE,CAAC,CAAC;QAEL,sCAAsC;QACtC,IAAI,QAAoD,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,+DAA+D;YAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,eAAe,KAAK,CAAC,CAAC;gBACxB,MAAM,IAAI,gCAAe,CACvB,yBAAyB,IAAI,CAAC,KAAK,wBAAwB,CAC5D,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAChB,MAAM,IAAI,gCAAe,CACvB,yBAAyB,IAAI,CAAC,KAAK,wBAAwB,CAC5D,CAAC;YACJ,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5B,CAAC;QAED,yCAAyC;QACzC,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzC,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3D,yBAAyB;QACzB,MAAM,cAAc,GAAG,KAAK,EAAE,gBAAgB;YAC5C,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACjE,CAAC,CAAC,SAAS,CAAC;QAEd,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,oCAAoC;QACpC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAC9B,MAAM,IAAI,gCAAe,CAAC,mCAAmC,CAAC,CAAC;QAEjE,iCAAiC;QACjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YACrD,2BAA2B;YAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CACT,aAAa,IAAI,CAAC,KAAK,gBAAgB,IAAI,CAAC,IAAI,aAAa,OAAO,IAAI,QAAQ,EAAE,CACnF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,8BAA8B;YAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;gBAC7B,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;aACxC,CAAC,CAAC;YAEH,gBAAgB;YAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,oDAAoD;gBACpD,MAAM,UAAU,GACd,QAAQ,GAAG,CAAC;oBACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,OAAO,IAAI,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClB,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;gBACxD,IAAA,uBAAa,EAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,mBAAmB;gBACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAvHW,QAAA,SAAS,aAuHpB"}
1
+ {"version":3,"file":"invokeAct.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAct.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const helpful_errors_1 = require("helpful-errors");
5
5
  const genActor_1 = require("../../domain.operations/actor/genActor");
6
6
  const assureFindRole_1 = require("../../domain.operations/invoke/assureFindRole");
7
7
  const onInvokeAskInput_1 = require("../../domain.operations/invoke/hooks/onInvokeAskInput");
8
+ const inferRepoByRole_1 = require("../../domain.operations/invoke/inferRepoByRole");
8
9
  const performInCurrentThread_1 = require("../../domain.operations/invoke/performInCurrentThread");
9
10
  const performInIsolatedThreads_1 = require("../../domain.operations/invoke/performInIsolatedThreads");
10
11
  /**
@@ -48,8 +49,12 @@ const performAskViaActorMode = async (input) => {
48
49
  if (!input.opts.ask)
49
50
  throw new helpful_errors_1.BadRequestError('--ask is required (e.g., --ask "review my code")');
50
51
  // log which role will be asked
52
+ const repo = (0, inferRepoByRole_1.inferRepoByRole)({
53
+ registries: input.registries,
54
+ slugRole: input.opts.role,
55
+ });
51
56
  console.log(``);
52
- console.log(`🌊 ask role="${input.opts.role}"`);
57
+ console.log(`💧 ask fluid skill repo=${repo.slug}/role=${input.opts.role}`);
53
58
  console.log(``);
54
59
  // invoke actor.ask
55
60
  const result = await actor.ask({ prompt: input.opts.ask });
@@ -112,14 +117,14 @@ const invokeAsk = ({ program, registries, brains, ...input }) => {
112
117
  hooks: input.hooks,
113
118
  });
114
119
  }
115
- // 🌊 actor-mode: invoke fluid conversation via brain.repl
120
+ // 💧 actor-mode: invoke fluid conversation via brain.repl
116
121
  if (isActorMode) {
117
122
  const role = (0, assureFindRole_1.assureFindRole)({ registries, slug: opts.role });
118
123
  if (!role)
119
124
  throw new helpful_errors_1.BadRequestError(`role "${opts.role}" not found`, {
120
125
  availableRoles: registries.flatMap((r) => r.roles),
121
126
  });
122
- return await performAskViaActorMode({ opts, role, brains });
127
+ return await performAskViaActorMode({ opts, role, brains, registries });
123
128
  }
124
129
  // neither mode matched - unexpected
125
130
  throw new helpful_errors_1.UnexpectedCodePathError('invokeAsk: neither stitch-mode nor actor-mode matched', { opts });
@@ -1 +1 @@
1
- {"version":3,"file":"invokeAsk.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAsk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invokeAsk.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAsk.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,9 @@ const invokeRolesBoot = ({ command, registries, }) => {
20
20
  // require --role for all cases
21
21
  if (!opts.role)
22
22
  helpful_errors_1.BadRequestError.throw('--role is required (e.g., --role mechanic)');
23
- const roleSlug = opts.role;
24
- // resolve repoSlug
25
- const repoSlug = (() => {
23
+ const slugRole = opts.role;
24
+ // resolve slugRepo
25
+ const slugRepo = (() => {
26
26
  // normalize "this"/"THIS"/".this" to ".this"
27
27
  const normalized = opts.repo?.trim().toLowerCase();
28
28
  if (normalized === 'this' || normalized === '.this')
@@ -30,15 +30,15 @@ const invokeRolesBoot = ({ command, registries, }) => {
30
30
  // otherwise lookup from registries
31
31
  const repo = opts.repo
32
32
  ? registries.find((r) => r.slug === opts.repo)
33
- : (0, inferRepoByRole_1.inferRepoByRole)({ registries, roleSlug });
33
+ : (0, inferRepoByRole_1.inferRepoByRole)({ registries, slugRole });
34
34
  if (!repo)
35
35
  helpful_errors_1.BadRequestError.throw(`No repo found with slug "${opts.repo}"`);
36
36
  return repo.slug;
37
37
  })();
38
38
  // boot the role resources
39
39
  await (0, bootRoleResources_1.bootRoleResources)({
40
- repoSlug,
41
- roleSlug,
40
+ slugRepo,
41
+ slugRole,
42
42
  ifPresent: opts.ifPresent ?? false,
43
43
  });
44
44
  });
@@ -22,24 +22,24 @@ const invokeRolesCost = ({ command, registries, }) => {
22
22
  // validate role is provided
23
23
  if (!opts.role)
24
24
  helpful_errors_1.BadRequestError.throw('--role is required (e.g., --role mechanic)');
25
- const roleSlug = opts.role;
25
+ const slugRole = opts.role;
26
26
  // resolve repo from option or inference
27
27
  const repo = opts.repo
28
28
  ? registries.find((r) => r.slug === opts.repo)
29
- : (0, inferRepoByRole_1.inferRepoByRole)({ registries, roleSlug });
29
+ : (0, inferRepoByRole_1.inferRepoByRole)({ registries, slugRole });
30
30
  if (!repo)
31
31
  helpful_errors_1.BadRequestError.throw(`No repo found with slug "${opts.repo}"`);
32
32
  // build role directory path
33
- const roleDir = (0, node_path_1.resolve)(process.cwd(), '.agent', `repo=${repo.slug}`, `role=${roleSlug}`);
33
+ const roleDir = (0, node_path_1.resolve)(process.cwd(), '.agent', `repo=${repo.slug}`, `role=${slugRole}`);
34
34
  // check if role directory exists
35
35
  if (!(0, node_fs_1.existsSync)(roleDir)) {
36
- helpful_errors_1.BadRequestError.throw(`Role directory not found: ${roleDir}\nRun "rhachet roles link --repo ${repo.slug} --role ${roleSlug}" first`);
36
+ helpful_errors_1.BadRequestError.throw(`Role directory not found: ${roleDir}\nRun "rhachet roles link --repo ${repo.slug} --role ${slugRole}" first`);
37
37
  }
38
38
  // get file costs
39
39
  const fileCosts = (0, getRoleFileCosts_1.getRoleFileCosts)({
40
40
  roleDir,
41
- repoSlug: repo.slug,
42
- roleSlug,
41
+ slugRepo: repo.slug,
42
+ slugRole,
43
43
  });
44
44
  // handle empty role
45
45
  if (fileCosts.length === 0) {
@@ -54,10 +54,10 @@ const invokeRolesCost = ({ command, registries, }) => {
54
54
  const costFormatted = summary.totalCost < 0.01 ? `< $0.01` : (0, formatCostTree_1.formatCost)(summary.totalCost);
55
55
  // print header
56
56
  console.log(``);
57
- console.log(`🌊 Role Cost Report: ${roleSlug} @ ${repo.slug}`);
57
+ console.log(`🌊 Role Cost Report: ${slugRole} @ ${repo.slug}`);
58
58
  console.log(``);
59
59
  // print tree structure with costs
60
- const rootPath = `.agent/repo=${repo.slug}/role=${roleSlug}`;
60
+ const rootPath = `.agent/repo=${repo.slug}/role=${slugRole}`;
61
61
  const tree = (0, formatCostTree_1.formatCostTree)({ fileCosts, rootPath });
62
62
  console.log(tree);
63
63
  console.log(``);
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.invokeRolesInit = void 0;
4
27
  const helpful_errors_1 = require("helpful-errors");
@@ -7,6 +30,7 @@ const executeInit_1 = require("../../domain.operations/invoke/executeInit");
7
30
  const findUniqueInitExecutable_1 = require("../../domain.operations/invoke/findUniqueInitExecutable");
8
31
  const inferRepoByRole_1 = require("../../domain.operations/invoke/inferRepoByRole");
9
32
  const node_child_process_1 = require("node:child_process");
33
+ const path = __importStar(require("node:path"));
10
34
  /**
11
35
  * .what = extracts all args after 'init' command from process.argv
12
36
  * .why = captures full arg list for passthrough to init script
@@ -36,13 +60,13 @@ const invokeRolesInit = ({ command, registries, }) => {
36
60
  // handle --command mode: run a specific init from linked inits directory
37
61
  if (opts.command) {
38
62
  const init = (0, findUniqueInitExecutable_1.findUniqueInitExecutable)({
39
- repoSlug: opts.repo,
40
- roleSlug: opts.role,
41
- initSlug: opts.command,
63
+ slugRepo: opts.repo,
64
+ slugRole: opts.role,
65
+ slugInit: opts.command,
42
66
  });
43
67
  // log which init will run
44
68
  console.log(``);
45
- console.log(`🔧 init "${init.slug}" from repo=${init.repoSlug} role=${init.roleSlug}`);
69
+ console.log(`🔧 run init repo=${init.slugRepo}/role=${init.slugRole}/init=${init.slug}`);
46
70
  console.log(``);
47
71
  // get all args after 'init' for passthrough
48
72
  const rawArgs = getRawArgsAfterInit();
@@ -56,7 +80,7 @@ const invokeRolesInit = ({ command, registries, }) => {
56
80
  const role = (0, assureFindRole_1.assureFindRole)({ registries, slug: opts.role });
57
81
  const repo = opts.repo
58
82
  ? registries.find((r) => r.slug === opts.repo)
59
- : (0, inferRepoByRole_1.inferRepoByRole)({ registries, roleSlug: opts.role });
83
+ : (0, inferRepoByRole_1.inferRepoByRole)({ registries, slugRole: opts.role });
60
84
  if (!repo)
61
85
  helpful_errors_1.BadRequestError.throw(`No repo found with slug "${opts.repo}"`);
62
86
  // check if role has init commands
@@ -68,11 +92,13 @@ const invokeRolesInit = ({ command, registries, }) => {
68
92
  return;
69
93
  }
70
94
  console.log(``);
71
- console.log(`🔧 Init role "${role.slug}" from repo "${repo.slug}"`);
72
- console.log(``);
95
+ console.log(`🔧 run init repo=${repo.slug}/role=${role.slug}`);
73
96
  // execute each command sequentially with explicit stdin passthrough
74
- for (const { cmd } of execCmds) {
75
- console.log(` ▸ ${cmd}`);
97
+ for (let i = 0; i < execCmds.length; i++) {
98
+ const { cmd } = execCmds[i];
99
+ const cmdRelative = path.relative(process.cwd(), cmd);
100
+ const branch = i === execCmds.length - 1 ? '└─' : '├─';
101
+ console.log(` ${branch} ${cmdRelative}`);
76
102
  const result = (0, node_child_process_1.spawnSync)(cmd, [], {
77
103
  cwd: process.cwd(),
78
104
  stdio: [process.stdin, process.stdout, process.stderr],
@@ -84,7 +110,7 @@ const invokeRolesInit = ({ command, registries, }) => {
84
110
  }
85
111
  }
86
112
  console.log(``);
87
- console.log(`✨ Role "${role.slug}" initialized successfully.`);
113
+ console.log(`✨ repo=${repo.slug}/role=${role.slug} init complete`);
88
114
  console.log(``);
89
115
  });
90
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"invokeRolesInit.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeRolesInit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invokeRolesInit.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeRolesInit.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ const invokeRolesLink = ({ command, registries, }) => {
26
26
  const role = (0, assureFindRole_1.assureFindRole)({ registries, slug: opts.role });
27
27
  const repo = opts.repo
28
28
  ? registries.find((r) => r.slug === opts.repo)
29
- : (0, inferRepoByRole_1.inferRepoByRole)({ registries, roleSlug: opts.role });
29
+ : (0, inferRepoByRole_1.inferRepoByRole)({ registries, slugRole: opts.role });
30
30
  if (!repo)
31
31
  helpful_errors_1.BadRequestError.throw(`No repo found with slug "${opts.repo}"`);
32
32
  console.log(``);
@@ -25,7 +25,7 @@ const performRunViaActorMode = async (input) => {
25
25
  const actor = (0, genActor_1.genActor)({ role: input.role, brains: input.brains });
26
26
  // log which skill will run
27
27
  console.log(``);
28
- console.log(`🪨 skill "${input.opts.skill}" from role="${input.opts.role}"`);
28
+ console.log(`🪨 run solid skill role=${input.opts.role}/skill=${input.opts.skill}`);
29
29
  console.log(``);
30
30
  // parse skill input from remaining args
31
31
  const rawArgs = getRawArgsAfterRun();
@@ -40,13 +40,13 @@ const performRunViaActorMode = async (input) => {
40
40
  const performRunViaCommandMode = (input) => {
41
41
  // discover skill via .agent/ dirs
42
42
  const skill = (0, findUniqueSkillExecutable_1.findUniqueSkillExecutable)({
43
- repoSlug: input.opts.repo,
44
- roleSlug: input.opts.role,
45
- skillSlug: input.opts.skill,
43
+ slugRepo: input.opts.repo,
44
+ slugRole: input.opts.role,
45
+ slugSkill: input.opts.skill,
46
46
  });
47
47
  // log which skill will run
48
48
  console.log(``);
49
- console.log(`🪨 skill "${skill.slug}" from repo=${skill.repoSlug} role=${skill.roleSlug}`);
49
+ console.log(`🪨 run solid skill repo=${skill.slugRepo}/role=${skill.slugRole}/skill=${skill.slug}`);
50
50
  console.log(``);
51
51
  // get all args after 'run' for passthrough
52
52
  const rawArgs = getRawArgsAfterRun();
@@ -110,7 +110,7 @@ exports.invokeRun = invokeRun;
110
110
  * .what = parses raw CLI args into object for skill input
111
111
  * .why = converts --key value pairs to { key: value } object
112
112
  */
113
- const parseArgsToObject = (rawArgs, skillSlug) => {
113
+ const parseArgsToObject = (rawArgs, slugSkill) => {
114
114
  const result = {};
115
115
  let i = 0;
116
116
  while (i < rawArgs.length) {
@@ -125,7 +125,7 @@ const parseArgsToObject = (rawArgs, skillSlug) => {
125
125
  continue;
126
126
  }
127
127
  // skip the skill slug value if it matches
128
- if (arg === skillSlug) {
128
+ if (arg === slugSkill) {
129
129
  i++;
130
130
  continue;
131
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invokeRun.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeRun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invokeRun.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeRun.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,13 @@ export interface RoleInitExecutable {
17
17
  * .what = the repo (registry) this init belongs to
18
18
  * .example = "ehmpathy", ".this"
19
19
  */
20
- repoSlug: string;
20
+ slugRepo: string;
21
21
  /**
22
22
  * .what = the role this init belongs to
23
23
  * .example = "mechanic", "designer"
24
24
  */
25
- roleSlug: string;
25
+ slugRole: string;
26
26
  }
27
27
  export declare class RoleInitExecutable extends DomainLiteral<RoleInitExecutable> implements RoleInitExecutable {
28
- static unique: readonly ["repoSlug", "roleSlug", "slug"];
28
+ static unique: readonly ["slugRepo", "slugRole", "slug"];
29
29
  }
@@ -5,5 +5,5 @@ const domain_objects_1 = require("domain-objects");
5
5
  class RoleInitExecutable extends domain_objects_1.DomainLiteral {
6
6
  }
7
7
  exports.RoleInitExecutable = RoleInitExecutable;
8
- RoleInitExecutable.unique = ['repoSlug', 'roleSlug', 'slug'];
8
+ RoleInitExecutable.unique = ['slugRepo', 'slugRole', 'slug'];
9
9
  //# sourceMappingURL=RoleInitExecutable.js.map
@@ -17,13 +17,13 @@ export interface RoleSkillExecutable {
17
17
  * .what = the repo (registry) this skill belongs to
18
18
  * .example = "ehmpathy", ".this"
19
19
  */
20
- repoSlug: string;
20
+ slugRepo: string;
21
21
  /**
22
22
  * .what = the role this skill belongs to
23
23
  * .example = "mechanic", "designer"
24
24
  */
25
- roleSlug: string;
25
+ slugRole: string;
26
26
  }
27
27
  export declare class RoleSkillExecutable extends DomainLiteral<RoleSkillExecutable> implements RoleSkillExecutable {
28
- static unique: readonly ["repoSlug", "roleSlug", "slug"];
28
+ static unique: readonly ["slugRepo", "slugRole", "slug"];
29
29
  }
@@ -5,5 +5,5 @@ const domain_objects_1 = require("domain-objects");
5
5
  class RoleSkillExecutable extends domain_objects_1.DomainLiteral {
6
6
  }
7
7
  exports.RoleSkillExecutable = RoleSkillExecutable;
8
- RoleSkillExecutable.unique = ['repoSlug', 'roleSlug', 'slug'];
8
+ RoleSkillExecutable.unique = ['slugRepo', 'slugRole', 'slug'];
9
9
  //# sourceMappingURL=RoleSkillExecutable.js.map
@@ -18,14 +18,14 @@ const findActorRoleSkillBySlug = (input) => {
18
18
  if (skillSchema) {
19
19
  // find executable from .agent/ dirs (skill schema defines type, but executable runs)
20
20
  const executables = (0, discoverSkillExecutables_1.discoverSkillExecutables)({
21
- roleSlug: input.role.slug,
22
- skillSlug: input.slug,
21
+ slugRole: input.role.slug,
22
+ slugSkill: input.slug,
23
23
  });
24
24
  // fail fast if skill is declared but no executable found
25
25
  if (executables.length === 0)
26
26
  throw new helpful_errors_1.BadRequestError(`skill "${input.slug}" declared in role.skills.${input.route} but no executable found in .agent/`, {
27
- skillSlug: input.slug,
28
- roleSlug: input.role.slug,
27
+ slugSkill: input.slug,
28
+ slugRole: input.role.slug,
29
29
  route: input.route,
30
30
  hint: `create .agent/repo=.this/role=${input.role.slug}/skills/${input.slug}.sh`,
31
31
  });
@@ -39,22 +39,22 @@ const findActorRoleSkillBySlug = (input) => {
39
39
  }
40
40
  // fall back to .agent/ discovery (executable exists but no schema)
41
41
  const executables = (0, discoverSkillExecutables_1.discoverSkillExecutables)({
42
- roleSlug: input.role.slug,
43
- skillSlug: input.slug,
42
+ slugRole: input.role.slug,
43
+ slugSkill: input.slug,
44
44
  });
45
45
  // executable exists but no schema = not usable via actor contracts
46
46
  if (executables.length > 0)
47
47
  throw new helpful_errors_1.BadRequestError(`skill "${input.slug}" found in .agent/ but lacks schema in role.skills.${input.route}`, {
48
- skillSlug: input.slug,
49
- roleSlug: input.role.slug,
48
+ slugSkill: input.slug,
49
+ slugRole: input.role.slug,
50
50
  route: input.route,
51
51
  hint: `add schema to role.skills.${input.route}.${input.slug} to use via actor contracts`,
52
52
  executable: executables[0],
53
53
  });
54
54
  // skill not found
55
55
  throw new helpful_errors_1.BadRequestError(`skill not found: ${input.slug}`, {
56
- skillSlug: input.slug,
57
- roleSlug: input.role.slug,
56
+ slugSkill: input.slug,
57
+ slugRole: input.role.slug,
58
58
  route: input.route,
59
59
  availableSolidSkills: input.role.skills.solid
60
60
  ? Object.keys(input.role.skills.solid)
@@ -22,7 +22,7 @@ const findActorRoleSkillBySlug_1 = require("./findActorRoleSkillBySlug");
22
22
  const genActor = (input) => {
23
23
  // validate that at least one brain is provided
24
24
  if (input.brains.length === 0)
25
- throw new helpful_errors_1.BadRequestError('genActor requires at least one brain in allowlist', { roleSlug: input.role.slug });
25
+ throw new helpful_errors_1.BadRequestError('genActor requires at least one brain in allowlist', { slugRole: input.role.slug });
26
26
  // extract default brain (first in list)
27
27
  const defaultBrain = input.brains[0];
28
28
  // create bound .act() method with strong types
@@ -40,10 +40,10 @@ const genActor = (input) => {
40
40
  throw new helpful_errors_1.BadRequestError('actor.act expects exactly one skill entry', {
41
41
  entriesCount: entries.length,
42
42
  });
43
- const [skillSlug, skillArgs] = entries[0];
43
+ const [slugSkill, skillArgs] = entries[0];
44
44
  // resolve skill from role
45
45
  const skillResolved = (0, findActorRoleSkillBySlug_1.findActorRoleSkillBySlug)({
46
- slug: skillSlug,
46
+ slug: slugSkill,
47
47
  role: input.role,
48
48
  route: 'rigid',
49
49
  });
@@ -63,10 +63,10 @@ const genActor = (input) => {
63
63
  throw new helpful_errors_1.BadRequestError('actor.run expects exactly one skill entry', {
64
64
  entriesCount: entries.length,
65
65
  });
66
- const [skillSlug, skillArgs] = entries[0];
66
+ const [slugSkill, skillArgs] = entries[0];
67
67
  // resolve skill from role
68
68
  const skillResolved = (0, findActorRoleSkillBySlug_1.findActorRoleSkillBySlug)({
69
- slug: skillSlug,
69
+ slug: slugSkill,
70
70
  role: input.role,
71
71
  route: 'solid',
72
72
  });
@@ -3,8 +3,8 @@
3
3
  * .why = outputs role resources with stats for context loading
4
4
  * .how = reads files from .agent/repo=$repo/role=$role and prints them with formatting
5
5
  */
6
- export declare const bootRoleResources: ({ repoSlug, roleSlug, ifPresent, }: {
7
- repoSlug: string;
8
- roleSlug: string;
6
+ export declare const bootRoleResources: ({ slugRepo, slugRole, ifPresent, }: {
7
+ slugRepo: string;
8
+ slugRole: string;
9
9
  ifPresent: boolean;
10
10
  }) => Promise<void>;
@@ -27,17 +27,17 @@ const getAllFilesFromDir = (dir) => {
27
27
  * .why = outputs role resources with stats for context loading
28
28
  * .how = reads files from .agent/repo=$repo/role=$role and prints them with formatting
29
29
  */
30
- const bootRoleResources = async ({ repoSlug, roleSlug, ifPresent, }) => {
31
- const isRepoThis = repoSlug === '.this';
32
- const roleDir = (0, node_path_1.resolve)(process.cwd(), '.agent', `repo=${repoSlug}`, `role=${roleSlug}`);
30
+ const bootRoleResources = async ({ slugRepo, slugRole, ifPresent, }) => {
31
+ const isRepoThis = slugRepo === '.this';
32
+ const roleDir = (0, node_path_1.resolve)(process.cwd(), '.agent', `repo=${slugRepo}`, `role=${slugRole}`);
33
33
  // check if role directory exists
34
34
  if (!(0, node_fs_1.existsSync)(roleDir)) {
35
35
  // if --if-present, exit silently without error
36
36
  if (ifPresent)
37
37
  return;
38
38
  const hint = isRepoThis
39
- ? `Create .agent/repo=.this/role=${roleSlug}/[briefs,skills] directories`
40
- : `Run "rhachet roles link --repo ${repoSlug} --role ${roleSlug}" first`;
39
+ ? `Create .agent/repo=.this/role=${slugRole}/[briefs,skills] directories`
40
+ : `Run "rhachet roles link --repo ${slugRepo} --role ${slugRole}" first`;
41
41
  throw new Error(`Role directory not found: ${roleDir}\n${hint}`);
42
42
  }
43
43
  // recursively read all files, then filter to readme, briefs, and skills
@@ -98,7 +98,7 @@ const bootRoleResources = async ({ repoSlug, roleSlug, ifPresent, }) => {
98
98
  printStats();
99
99
  // print each file
100
100
  for (const filepath of relevantFiles) {
101
- const relativePath = `.agent/repo=${repoSlug}/role=${roleSlug}/${(0, node_path_1.relative)(roleDir, filepath)}`;
101
+ const relativePath = `.agent/repo=${slugRepo}/role=${slugRole}/${(0, node_path_1.relative)(roleDir, filepath)}`;
102
102
  const isSkill = filepath.startsWith(skillsDir);
103
103
  const isReadme = filepath === readmePath;
104
104
  const tagName = isSkill ? 'skill' : isReadme ? 'readme' : 'brief';
@@ -4,7 +4,7 @@ import { RoleInitExecutable } from '../../domain.objects/RoleInitExecutable';
4
4
  * .why = enables `rhachet roles init --command` to find and execute inits
5
5
  */
6
6
  export declare const discoverInitExecutables: (input: {
7
- repoSlug?: string;
8
- roleSlug?: string;
9
- initSlug?: string;
7
+ slugRepo?: string;
8
+ slugRole?: string;
9
+ slugInit?: string;
10
10
  }) => RoleInitExecutable[];
@@ -51,31 +51,31 @@ const discoverInitExecutables = (input) => {
51
51
  const repoEntries = (0, node_fs_1.readdirSync)(agentDir).filter((entry) => entry.startsWith('repo='));
52
52
  const inits = [];
53
53
  for (const repoEntry of repoEntries) {
54
- const repoSlug = repoEntry.replace('repo=', '');
55
- // filter by repoSlug if specified
56
- if (input.repoSlug && repoSlug !== input.repoSlug)
54
+ const slugRepo = repoEntry.replace('repo=', '');
55
+ // filter by slugRepo if specified
56
+ if (input.slugRepo && slugRepo !== input.slugRepo)
57
57
  continue;
58
58
  const repoDir = (0, node_path_1.resolve)(agentDir, repoEntry);
59
59
  // discover role directories
60
60
  const roleEntries = (0, node_fs_1.readdirSync)(repoDir).filter((entry) => entry.startsWith('role='));
61
61
  for (const roleEntry of roleEntries) {
62
- const roleSlug = roleEntry.replace('role=', '');
63
- // filter by roleSlug if specified
64
- if (input.roleSlug && roleSlug !== input.roleSlug)
62
+ const slugRole = roleEntry.replace('role=', '');
63
+ // filter by slugRole if specified
64
+ if (input.slugRole && slugRole !== input.slugRole)
65
65
  continue;
66
66
  const initsDir = (0, node_path_1.resolve)(repoDir, roleEntry, 'inits');
67
67
  // get all files from inits directory
68
68
  const initFiles = getAllFilesFromDir(initsDir);
69
69
  for (const initPath of initFiles) {
70
70
  const slug = extractSlugFromPath({ initsDir, filePath: initPath });
71
- // filter by initSlug if specified
72
- if (input.initSlug && slug !== input.initSlug)
71
+ // filter by slugInit if specified
72
+ if (input.slugInit && slug !== input.slugInit)
73
73
  continue;
74
74
  inits.push(new RoleInitExecutable_1.RoleInitExecutable({
75
75
  slug,
76
76
  path: initPath,
77
- repoSlug,
78
- roleSlug,
77
+ slugRepo,
78
+ slugRole,
79
79
  }));
80
80
  }
81
81
  }
@@ -4,7 +4,7 @@ import { RoleSkillExecutable } from '../../domain.objects/RoleSkillExecutable';
4
4
  * .why = enables `rhachet run --skill` to find and execute skills
5
5
  */
6
6
  export declare const discoverSkillExecutables: (input: {
7
- repoSlug?: string;
8
- roleSlug?: string;
9
- skillSlug?: string;
7
+ slugRepo?: string;
8
+ slugRole?: string;
9
+ slugSkill?: string;
10
10
  }) => RoleSkillExecutable[];
@@ -49,17 +49,17 @@ const discoverSkillExecutables = (input) => {
49
49
  const repoEntries = (0, node_fs_1.readdirSync)(agentDir).filter((entry) => entry.startsWith('repo='));
50
50
  const skills = [];
51
51
  for (const repoEntry of repoEntries) {
52
- const repoSlug = repoEntry.replace('repo=', '');
53
- // filter by repoSlug if specified
54
- if (input.repoSlug && repoSlug !== input.repoSlug)
52
+ const slugRepo = repoEntry.replace('repo=', '');
53
+ // filter by slugRepo if specified
54
+ if (input.slugRepo && slugRepo !== input.slugRepo)
55
55
  continue;
56
56
  const repoDir = (0, node_path_1.resolve)(agentDir, repoEntry);
57
57
  // discover role directories
58
58
  const roleEntries = (0, node_fs_1.readdirSync)(repoDir).filter((entry) => entry.startsWith('role='));
59
59
  for (const roleEntry of roleEntries) {
60
- const roleSlug = roleEntry.replace('role=', '');
61
- // filter by roleSlug if specified
62
- if (input.roleSlug && roleSlug !== input.roleSlug)
60
+ const slugRole = roleEntry.replace('role=', '');
61
+ // filter by slugRole if specified
62
+ if (input.slugRole && slugRole !== input.slugRole)
63
63
  continue;
64
64
  const skillsDir = (0, node_path_1.resolve)(repoDir, roleEntry, 'skills');
65
65
  // get all files from skills directory
@@ -67,14 +67,14 @@ const discoverSkillExecutables = (input) => {
67
67
  for (const skillPath of skillFiles) {
68
68
  const filename = (0, node_path_1.basename)(skillPath);
69
69
  const slug = extractSlugFromFilename(filename);
70
- // filter by skillSlug if specified
71
- if (input.skillSlug && slug !== input.skillSlug)
70
+ // filter by slugSkill if specified
71
+ if (input.slugSkill && slug !== input.slugSkill)
72
72
  continue;
73
73
  skills.push(new RoleSkillExecutable_1.RoleSkillExecutable({
74
74
  slug,
75
75
  path: skillPath,
76
- repoSlug,
77
- roleSlug,
76
+ slugRepo,
77
+ slugRole,
78
78
  }));
79
79
  }
80
80
  }
@@ -4,7 +4,7 @@ import type { RoleInitExecutable } from '../../domain.objects/RoleInitExecutable
4
4
  * .why = ensures unambiguous init resolution before execution
5
5
  */
6
6
  export declare const findUniqueInitExecutable: (input: {
7
- repoSlug?: string;
8
- roleSlug?: string;
9
- initSlug: string;
7
+ slugRepo?: string;
8
+ slugRole?: string;
9
+ slugInit: string;
10
10
  }) => RoleInitExecutable;
@@ -10,30 +10,30 @@ const discoverInitExecutables_1 = require("./discoverInitExecutables");
10
10
  const findUniqueInitExecutable = (input) => {
11
11
  // discover inits with filters
12
12
  const matches = (0, discoverInitExecutables_1.discoverInitExecutables)({
13
- repoSlug: input.repoSlug,
14
- roleSlug: input.roleSlug,
15
- initSlug: input.initSlug,
13
+ slugRepo: input.slugRepo,
14
+ slugRole: input.slugRole,
15
+ slugInit: input.slugInit,
16
16
  });
17
17
  // handle no matches
18
18
  if (matches.length === 0) {
19
19
  const filters = [
20
- input.repoSlug ? `--repo ${input.repoSlug}` : null,
21
- input.roleSlug ? `--role ${input.roleSlug}` : null,
20
+ input.slugRepo ? `--repo ${input.slugRepo}` : null,
21
+ input.slugRole ? `--role ${input.slugRole}` : null,
22
22
  ]
23
23
  .filter(Boolean)
24
24
  .join(' ');
25
25
  const hint = filters
26
- ? `no init "${input.initSlug}" found with ${filters}`
27
- : `no init "${input.initSlug}" found in any linked role`;
26
+ ? `no init "${input.slugInit}" found with ${filters}`
27
+ : `no init "${input.slugInit}" found in any linked role`;
28
28
  // discover all available inits to show suggestions
29
29
  const allInits = (0, discoverInitExecutables_1.discoverInitExecutables)({
30
- repoSlug: input.repoSlug,
31
- roleSlug: input.roleSlug,
30
+ slugRepo: input.slugRepo,
31
+ slugRole: input.slugRole,
32
32
  });
33
33
  const suggestions = allInits.length > 0
34
34
  ? `\n\navailable inits:\n${allInits
35
35
  .slice(0, 5)
36
- .map((s) => ` - ${s.slug} (repo=${s.repoSlug} role=${s.roleSlug})`)
36
+ .map((s) => ` - ${s.slug} (repo=${s.slugRepo} role=${s.slugRole})`)
37
37
  .join('\n')}${allInits.length > 5 ? `\n ... and ${allInits.length - 5} more` : ''}`
38
38
  : '';
39
39
  const tip = `\n\ntip: did you \`npx rhachet roles link\` the --role this init comes from?`;
@@ -42,9 +42,9 @@ const findUniqueInitExecutable = (input) => {
42
42
  // handle multiple matches
43
43
  if (matches.length > 1) {
44
44
  const matchList = matches
45
- .map((m) => ` - repo=${m.repoSlug} role=${m.roleSlug}`)
45
+ .map((m) => ` - repo=${m.slugRepo} role=${m.slugRole}`)
46
46
  .join('\n');
47
- helpful_errors_1.BadRequestError.throw(`multiple inits found for "${input.initSlug}":\n${matchList}\n\nuse --repo and/or --role to disambiguate`, { input, matches });
47
+ helpful_errors_1.BadRequestError.throw(`multiple inits found for "${input.slugInit}":\n${matchList}\n\nuse --repo and/or --role to disambiguate`, { input, matches });
48
48
  }
49
49
  // return unique match
50
50
  return matches[0];
@@ -4,7 +4,7 @@ import type { RoleSkillExecutable } from '../../domain.objects/RoleSkillExecutab
4
4
  * .why = ensures unambiguous skill resolution before execution
5
5
  */
6
6
  export declare const findUniqueSkillExecutable: (input: {
7
- repoSlug?: string;
8
- roleSlug?: string;
9
- skillSlug: string;
7
+ slugRepo?: string;
8
+ slugRole?: string;
9
+ slugSkill: string;
10
10
  }) => RoleSkillExecutable;
@@ -10,30 +10,30 @@ const discoverSkillExecutables_1 = require("./discoverSkillExecutables");
10
10
  const findUniqueSkillExecutable = (input) => {
11
11
  // discover skills with filters
12
12
  const matches = (0, discoverSkillExecutables_1.discoverSkillExecutables)({
13
- repoSlug: input.repoSlug,
14
- roleSlug: input.roleSlug,
15
- skillSlug: input.skillSlug,
13
+ slugRepo: input.slugRepo,
14
+ slugRole: input.slugRole,
15
+ slugSkill: input.slugSkill,
16
16
  });
17
17
  // handle no matches
18
18
  if (matches.length === 0) {
19
19
  const filters = [
20
- input.repoSlug ? `--repo ${input.repoSlug}` : null,
21
- input.roleSlug ? `--role ${input.roleSlug}` : null,
20
+ input.slugRepo ? `--repo ${input.slugRepo}` : null,
21
+ input.slugRole ? `--role ${input.slugRole}` : null,
22
22
  ]
23
23
  .filter(Boolean)
24
24
  .join(' ');
25
25
  const hint = filters
26
- ? `no skill "${input.skillSlug}" found with ${filters}`
27
- : `no skill "${input.skillSlug}" found in any linked role`;
26
+ ? `no skill "${input.slugSkill}" found with ${filters}`
27
+ : `no skill "${input.slugSkill}" found in any linked role`;
28
28
  // discover all available skills to show suggestions
29
29
  const allSkills = (0, discoverSkillExecutables_1.discoverSkillExecutables)({
30
- repoSlug: input.repoSlug,
31
- roleSlug: input.roleSlug,
30
+ slugRepo: input.slugRepo,
31
+ slugRole: input.slugRole,
32
32
  });
33
33
  const suggestions = allSkills.length > 0
34
34
  ? `\n\navailable skills:\n${allSkills
35
35
  .slice(0, 5)
36
- .map((s) => ` - ${s.slug} (repo=${s.repoSlug} role=${s.roleSlug})`)
36
+ .map((s) => ` - ${s.slug} (repo=${s.slugRepo} role=${s.slugRole})`)
37
37
  .join('\n')}${allSkills.length > 5 ? `\n ... and ${allSkills.length - 5} more` : ''}`
38
38
  : '';
39
39
  const tip = `\n\ntip: did you \`npx rhachet roles link\` the --role this skill comes from?`;
@@ -42,9 +42,9 @@ const findUniqueSkillExecutable = (input) => {
42
42
  // handle multiple matches
43
43
  if (matches.length > 1) {
44
44
  const matchList = matches
45
- .map((m) => ` - repo=${m.repoSlug} role=${m.roleSlug}`)
45
+ .map((m) => ` - repo=${m.slugRepo} role=${m.slugRole}`)
46
46
  .join('\n');
47
- helpful_errors_1.BadRequestError.throw(`multiple skills found for "${input.skillSlug}":\n${matchList}\n\nuse --repo and/or --role to disambiguate`, { input, matches });
47
+ helpful_errors_1.BadRequestError.throw(`multiple skills found for "${input.slugSkill}":\n${matchList}\n\nuse --repo and/or --role to disambiguate`, { input, matches });
48
48
  }
49
49
  // return unique match
50
50
  return matches[0];
@@ -6,5 +6,5 @@ import type { RoleRegistry } from '../../domain.objects/RoleRegistry';
6
6
  */
7
7
  export declare const inferRepoByRole: (input: {
8
8
  registries: RoleRegistry[];
9
- roleSlug: string;
9
+ slugRole: string;
10
10
  }) => RoleRegistry;
@@ -9,17 +9,17 @@ const helpful_errors_1 = require("helpful-errors");
9
9
  */
10
10
  const inferRepoByRole = (input) => {
11
11
  // Find all registries (repos) that have the specified role
12
- const matchingRepos = input.registries.filter((registry) => registry.roles.some((role) => role.slug === input.roleSlug));
12
+ const matchingRepos = input.registries.filter((registry) => registry.roles.some((role) => role.slug === input.slugRole));
13
13
  // Handle unique match
14
14
  if (matchingRepos.length === 1)
15
15
  return matchingRepos[0];
16
16
  // Handle ambiguous case
17
17
  if (matchingRepos.length > 1) {
18
18
  const repoList = matchingRepos.map((r) => ` - ${r.slug}`).join('\n');
19
- helpful_errors_1.BadRequestError.throw(`Multiple repos have role "${input.roleSlug}":\n${repoList}\nPlease specify --repo to disambiguate.`);
19
+ helpful_errors_1.BadRequestError.throw(`Multiple repos have role "${input.slugRole}":\n${repoList}\nPlease specify --repo to disambiguate.`);
20
20
  }
21
21
  // Handle not found case
22
- helpful_errors_1.BadRequestError.throw(`No repo has role "${input.roleSlug}".\nCheck that the role exists in your registries.`);
22
+ helpful_errors_1.BadRequestError.throw(`No repo has role "${input.slugRole}".\nCheck that the role exists in your registries.`);
23
23
  };
24
24
  exports.inferRepoByRole = inferRepoByRole;
25
25
  //# sourceMappingURL=inferRepoByRole.js.map
@@ -24,8 +24,8 @@ export declare const getAllFiles: (dir: string) => string[];
24
24
  */
25
25
  export declare const getRoleFileCosts: (input: {
26
26
  roleDir: string;
27
- repoSlug: string;
28
- roleSlug: string;
27
+ slugRepo: string;
28
+ slugRole: string;
29
29
  }) => FileCost[];
30
30
  /**
31
31
  * .what = aggregates file costs into summary statistics
@@ -31,7 +31,7 @@ exports.getAllFiles = getAllFiles;
31
31
  * .how = reads files, applies skill doc extraction, computes tokens
32
32
  */
33
33
  const getRoleFileCosts = (input) => {
34
- const { roleDir, repoSlug, roleSlug } = input;
34
+ const { roleDir, slugRepo, slugRole } = input;
35
35
  // define directories for type classification
36
36
  const briefsDir = (0, node_path_1.resolve)(roleDir, 'briefs');
37
37
  const skillsDir = (0, node_path_1.resolve)(roleDir, 'skills');
@@ -59,7 +59,7 @@ const getRoleFileCosts = (input) => {
59
59
  : 'other';
60
60
  return {
61
61
  path: filepath,
62
- relativePath: `.agent/repo=${repoSlug}/role=${roleSlug}/${(0, node_path_1.relative)(roleDir, filepath)}`,
62
+ relativePath: `.agent/repo=${slugRepo}/role=${slugRole}/${(0, node_path_1.relative)(roleDir, filepath)}`,
63
63
  chars,
64
64
  tokens,
65
65
  cost,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "rhachet",
3
3
  "author": "ehmpathy",
4
4
  "description": "A framework for reliable, thorough thought. Weave threads of thought via stitches.",
5
- "version": "1.19.8",
5
+ "version": "1.19.9",
6
6
  "repository": "ehmpathy/rhachet",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet",
8
8
  "keywords": [