rhachet 1.13.11 → 1.13.13

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.
@@ -41,11 +41,15 @@ export interface Role {
41
41
  * .why = declares what the role can do
42
42
  * .how =
43
43
  * - dirs: directory-based skills (e.g., .sh scripts) for linking/booting
44
+ * - single { uri: string }: symlinks this dir as the full skills dir
45
+ * - array { uri: string }[]: symlinks each dir within the skills dir
44
46
  * - refs: programmatic RoleSkill references for execution
45
47
  */
46
48
  skills: {
47
49
  dirs: {
48
50
  uri: string;
51
+ } | {
52
+ uri: string;
49
53
  }[];
50
54
  refs: RoleSkill<any>[];
51
55
  };
@@ -53,10 +57,16 @@ export interface Role {
53
57
  * .what = the briefs curated for this role
54
58
  * .why = declares the library of knowledge this role can and should leverage
55
59
  * - enables reuse of the briefs, independent from the skills
60
+ * .how =
61
+ * - dirs: directory-based briefs for linking/booting
62
+ * - single { uri: string }: symlinks this dir as the full briefs dir
63
+ * - array { uri: string }[]: symlinks each dir within the briefs dir
56
64
  */
57
65
  briefs: {
58
66
  dirs: {
59
67
  uri: string;
68
+ } | {
69
+ uri: string;
60
70
  }[];
61
71
  };
62
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Role.js","sourceRoot":"","sources":["../../src/domain.objects/Role.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAgE9C,MAAa,IAAK,SAAQ,6BAAkB;;AAA5C,oBAEC;AADe,WAAM,GAAG,CAAC,MAAM,CAAU,CAAC"}
1
+ {"version":3,"file":"Role.js","sourceRoot":"","sources":["../../src/domain.objects/Role.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAsE9C,MAAa,IAAK,SAAQ,6BAAkB;;AAA5C,oBAEC;AADe,WAAM,GAAG,CAAC,MAAM,CAAU,CAAC"}
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * .what = creates symlinks for resource directories to a target directory
3
3
  * .why = enables role resources (briefs, skills, etc.) to be linked from node_modules or other sources
4
- * .how = creates symlinks for entire directories, returns count of leaf files
4
+ * .how =
5
+ * - single { uri: string }: symlinks the source dir directly as the target dir
6
+ * - array { uri: string }[]: removes deprecated symlinks, then symlinks each dir within target
7
+ * - returns count of leaf files
5
8
  */
6
9
  export declare const symlinkResourceDirectories: (options: {
7
- sourceDirs: Array<{
10
+ sourceDirs: {
11
+ uri: string;
12
+ } | Array<{
8
13
  uri: string;
9
14
  }>;
10
15
  targetDir: string;
@@ -51,25 +51,74 @@ const setDirectoryReadonlyExecutable = (dirPath) => {
51
51
  /**
52
52
  * .what = creates symlinks for resource directories to a target directory
53
53
  * .why = enables role resources (briefs, skills, etc.) to be linked from node_modules or other sources
54
- * .how = creates symlinks for entire directories, returns count of leaf files
54
+ * .how =
55
+ * - single { uri: string }: symlinks the source dir directly as the target dir
56
+ * - array { uri: string }[]: removes deprecated symlinks, then symlinks each dir within target
57
+ * - returns count of leaf files
55
58
  */
56
59
  const symlinkResourceDirectories = (options) => {
57
60
  const { sourceDirs, targetDir, resourceName } = options;
58
- if (sourceDirs.length === 0) {
59
- return 0;
61
+ // handle single-dir mode: symlink source dir directly as target dir
62
+ if (!Array.isArray(sourceDirs)) {
63
+ const sourcePath = (0, node_path_1.resolve)(process.cwd(), sourceDirs.uri);
64
+ if (!(0, node_fs_1.existsSync)(sourcePath))
65
+ return 0;
66
+ // remove existing target if present (symlink or directory)
67
+ const relativeTargetPath = (0, node_path_1.relative)(process.cwd(), targetDir);
68
+ if ((0, node_fs_1.existsSync)(targetDir)) {
69
+ try {
70
+ (0, node_fs_1.unlinkSync)(targetDir);
71
+ console.log(` ↻ ${relativeTargetPath} (updated)`);
72
+ }
73
+ catch {
74
+ (0, node_fs_1.rmSync)(targetDir, { recursive: true, force: true });
75
+ console.log(` ↻ ${relativeTargetPath} (updated)`);
76
+ }
77
+ }
78
+ else {
79
+ console.log(` + ${relativeTargetPath}`);
80
+ }
81
+ // create parent directory if needed
82
+ const targetParent = (0, node_path_1.resolve)(targetDir, '..');
83
+ (0, node_fs_1.mkdirSync)(targetParent, { recursive: true });
84
+ // create relative symlink: targetDir -> sourcePath
85
+ const relativeSource = (0, node_path_1.relative)(targetParent, sourcePath);
86
+ (0, node_fs_1.symlinkSync)(relativeSource, targetDir, 'dir');
87
+ setDirectoryReadonlyExecutable(sourcePath);
88
+ return countFilesInDirectory(sourcePath);
60
89
  }
90
+ // handle array-dir mode: symlink each dir within target dir
91
+ // calculate expected symlink names based on source directories
92
+ const expectedNames = new Set(sourceDirs.map((dir) => (0, node_path_1.basename)(dir.uri)));
93
+ // remove deprecated symlinks (ones that exist but are no longer in the config)
94
+ if ((0, node_fs_1.existsSync)(targetDir)) {
95
+ const existingEntries = (0, node_fs_1.readdirSync)(targetDir);
96
+ for (const entry of existingEntries) {
97
+ if (!expectedNames.has(entry)) {
98
+ const entryPath = (0, node_path_1.resolve)(targetDir, entry);
99
+ const relativeEntryPath = (0, node_path_1.relative)(process.cwd(), entryPath);
100
+ try {
101
+ (0, node_fs_1.unlinkSync)(entryPath);
102
+ }
103
+ catch {
104
+ (0, node_fs_1.rmSync)(entryPath, { recursive: true, force: true });
105
+ }
106
+ console.log(` - ${relativeEntryPath} (removed, no longer in role)`);
107
+ }
108
+ }
109
+ }
110
+ if (sourceDirs.length === 0)
111
+ return 0;
61
112
  let totalFileCount = 0;
62
113
  for (const sourceDir of sourceDirs) {
63
114
  const sourcePath = (0, node_path_1.resolve)(process.cwd(), sourceDir.uri);
64
- if (!(0, node_fs_1.existsSync)(sourcePath)) {
65
- continue; // Skip if source doesn't exist
66
- }
67
- // Create target directory parent if needed
115
+ if (!(0, node_fs_1.existsSync)(sourcePath))
116
+ continue;
117
+ // create target directory parent if needed
68
118
  (0, node_fs_1.mkdirSync)(targetDir, { recursive: true });
69
- // Create a unique target path for this source directory
70
- // Use the basename of the source directory to avoid conflicts
119
+ // create a unique target path for this source directory
71
120
  const targetPath = (0, node_path_1.resolve)(targetDir, (0, node_path_1.basename)(sourcePath));
72
- // Remove existing symlink/file if it exists
121
+ // remove existing symlink/file if it exists
73
122
  const relativeTargetPath = (0, node_path_1.relative)(process.cwd(), targetPath);
74
123
  if ((0, node_fs_1.existsSync)(targetPath)) {
75
124
  try {
@@ -84,24 +133,12 @@ const symlinkResourceDirectories = (options) => {
84
133
  else {
85
134
  console.log(` + ${relativeTargetPath}`);
86
135
  }
87
- // Create relative symlink from target directory to source directory
136
+ // create relative symlink from target directory to source directory
88
137
  const relativeSource = (0, node_path_1.relative)(targetDir, sourcePath);
89
- try {
90
- (0, node_fs_1.symlinkSync)(relativeSource, targetPath, 'dir');
91
- // set all files and directories to readonly+executable to prevent accidental or malicious overwrites while allowing skills to run
92
- setDirectoryReadonlyExecutable(sourcePath);
93
- // count the files in the source directory
94
- const fileCount = countFilesInDirectory(sourcePath);
95
- totalFileCount += fileCount;
96
- }
97
- catch (error) {
98
- if (error.code === 'EEXIST') {
99
- console.log(` ⚠️ ${relativeTargetPath} already exists (skipped)`);
100
- }
101
- else {
102
- throw error;
103
- }
104
- }
138
+ (0, node_fs_1.symlinkSync)(relativeSource, targetPath, 'dir');
139
+ setDirectoryReadonlyExecutable(sourcePath);
140
+ const fileCount = countFilesInDirectory(sourcePath);
141
+ totalFileCount += fileCount;
105
142
  }
106
143
  return totalFileCount;
107
144
  };
@@ -1 +1 @@
1
- {"version":3,"file":"symlinkResourceDirectories.js","sourceRoot":"","sources":["../../../../src/domain.operations/invoke/link/symlinkResourceDirectories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symlinkResourceDirectories.js","sourceRoot":"","sources":["../../../../src/domain.operations/invoke/link/symlinkResourceDirectories.ts"],"names":[],"mappings":"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"}
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.13.11",
5
+ "version": "1.13.13",
6
6
  "repository": "ehmpathy/rhachet",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet",
8
8
  "keywords": [
@@ -51,7 +51,7 @@
51
51
  "postversion": "git push origin HEAD --tags --no-verify",
52
52
  "prepare:husky": "husky install && chmod ug+x .husky/*",
53
53
  "prepare": "if [ -e .git ] && [ -z $CI ]; then npm run prepare:husky && npm run prepare:rhachet; fi",
54
- "prepare:rhachet": "rhachet init --force && rhachet roles link --role mechanic && .agent/repo=ehmpathy/role=mechanic/skills/.skills/init.claude.sh"
54
+ "prepare:rhachet": "rhachet init && rhachet roles link --role mechanic && .agent/repo=ehmpathy/role=mechanic/skills/.skills/init.claude.sh"
55
55
  },
56
56
  "dependencies": {
57
57
  "@ehmpathy/uni-time": "1.9.0",
@@ -89,8 +89,8 @@
89
89
  "esbuild-register": "3.6.0",
90
90
  "husky": "8.0.3",
91
91
  "jest": "30.2.0",
92
- "rhachet": "1.13.1",
93
- "rhachet-roles-ehmpathy": "1.15.1",
92
+ "rhachet": "1.13.11",
93
+ "rhachet-roles-ehmpathy": "1.15.12",
94
94
  "test-fns": "1.7.0",
95
95
  "tsc-alias": "1.8.10",
96
96
  "tsx": "~4.20.6",