@zoebuildsai/trace 1.5.0

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 (130) hide show
  1. package/.gitignore +115 -0
  2. package/.trace/progress.json +22 -0
  3. package/README.md +466 -0
  4. package/RELEASE-NOTES-1.5.0.md +410 -0
  5. package/STATUS.md +245 -0
  6. package/dist/auto-commit.d.ts +66 -0
  7. package/dist/auto-commit.d.ts.map +1 -0
  8. package/dist/auto-commit.js +180 -0
  9. package/dist/auto-commit.js.map +1 -0
  10. package/dist/cli.d.ts +7 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +246 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/commands.d.ts +46 -0
  15. package/dist/commands.d.ts.map +1 -0
  16. package/dist/commands.js +256 -0
  17. package/dist/commands.js.map +1 -0
  18. package/dist/diff.d.ts +23 -0
  19. package/dist/diff.d.ts.map +1 -0
  20. package/dist/diff.js +106 -0
  21. package/dist/diff.js.map +1 -0
  22. package/dist/github.d.ts.map +1 -0
  23. package/dist/github.js.map +1 -0
  24. package/dist/index-cache.d.ts +35 -0
  25. package/dist/index-cache.d.ts.map +1 -0
  26. package/dist/index-cache.js +114 -0
  27. package/dist/index-cache.js.map +1 -0
  28. package/dist/index.d.ts +15 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +25 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/storage.d.ts +45 -0
  33. package/dist/storage.d.ts.map +1 -0
  34. package/dist/storage.js +151 -0
  35. package/dist/storage.js.map +1 -0
  36. package/dist/sync.d.ts +60 -0
  37. package/dist/sync.js +184 -0
  38. package/dist/tags.d.ts +85 -0
  39. package/dist/tags.d.ts.map +1 -0
  40. package/dist/tags.js +219 -0
  41. package/dist/tags.js.map +1 -0
  42. package/dist/types.d.ts +102 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +6 -0
  45. package/dist/types.js.map +1 -0
  46. package/docs/.nojekyll +0 -0
  47. package/docs/README.md +73 -0
  48. package/docs/_config.yml +2 -0
  49. package/docs/index.html +960 -0
  50. package/docs-website/package.json +20 -0
  51. package/jest.config.js +21 -0
  52. package/package.json +50 -0
  53. package/scripts/init.ts +290 -0
  54. package/src/agent-audit.ts +270 -0
  55. package/src/agent-checkout.ts +227 -0
  56. package/src/agent-coordination.ts +318 -0
  57. package/src/async-queue.ts +203 -0
  58. package/src/auto-branching.ts +279 -0
  59. package/src/auto-commit.ts +166 -0
  60. package/src/cherry-pick.ts +252 -0
  61. package/src/chunked-upload.ts +224 -0
  62. package/src/cli-v2.ts +335 -0
  63. package/src/cli.ts +318 -0
  64. package/src/cliff-detection.ts +232 -0
  65. package/src/commands.ts +267 -0
  66. package/src/commit-hash-system.ts +351 -0
  67. package/src/compression.ts +176 -0
  68. package/src/conflict-resolution-ui.ts +277 -0
  69. package/src/conflict-visualization.ts +238 -0
  70. package/src/diff-formatter.ts +184 -0
  71. package/src/diff.ts +124 -0
  72. package/src/distributed-coordination.ts +273 -0
  73. package/src/git-interop.ts +316 -0
  74. package/src/index-cache.ts +88 -0
  75. package/src/index.ts +38 -0
  76. package/src/merge-engine.ts +143 -0
  77. package/src/message-search.ts +370 -0
  78. package/src/performance-monitoring.ts +236 -0
  79. package/src/rebase.ts +327 -0
  80. package/src/rollback.ts +215 -0
  81. package/src/semantic-grouping.ts +245 -0
  82. package/src/stage-area.ts +324 -0
  83. package/src/stash.ts +278 -0
  84. package/src/storage.ts +131 -0
  85. package/src/sync.ts +205 -0
  86. package/src/tags.ts +244 -0
  87. package/src/types.ts +119 -0
  88. package/src/webhooks.ts +119 -0
  89. package/src/workspace-isolation.ts +298 -0
  90. package/tests/auto-commit.test.ts +308 -0
  91. package/tests/checkout.test.ts +136 -0
  92. package/tests/commit.test.ts +118 -0
  93. package/tests/diff.test.ts +191 -0
  94. package/tests/github.test.ts +94 -0
  95. package/tests/integration.test.ts +267 -0
  96. package/tests/log.test.ts +125 -0
  97. package/tests/phase2-integration.test.ts +370 -0
  98. package/tests/storage.test.ts +167 -0
  99. package/tests/tags.test.ts +477 -0
  100. package/tests/types.test.ts +75 -0
  101. package/tests/v1.1/agent-audit.test.ts +472 -0
  102. package/tests/v1.1/agent-coordination.test.ts +308 -0
  103. package/tests/v1.1/async-queue.test.ts +253 -0
  104. package/tests/v1.1/comprehensive.test.ts +521 -0
  105. package/tests/v1.1/diff-formatter.test.ts +238 -0
  106. package/tests/v1.1/integration.test.ts +389 -0
  107. package/tests/v1.1/onboarding.test.ts +365 -0
  108. package/tests/v1.1/rollback.test.ts +370 -0
  109. package/tests/v1.1/semantic-grouping.test.ts +230 -0
  110. package/tests/v1.2/chunked-upload.test.ts +301 -0
  111. package/tests/v1.2/cliff-detection.test.ts +272 -0
  112. package/tests/v1.2/commit-hash-system.test.ts +288 -0
  113. package/tests/v1.2/compression.test.ts +220 -0
  114. package/tests/v1.2/conflict-visualization.test.ts +263 -0
  115. package/tests/v1.2/distributed.test.ts +261 -0
  116. package/tests/v1.2/performance-monitoring.test.ts +328 -0
  117. package/tests/v1.3/auto-branching.test.ts +270 -0
  118. package/tests/v1.3/message-search.test.ts +264 -0
  119. package/tests/v1.3/stage-area.test.ts +330 -0
  120. package/tests/v1.3/stash-rebase-cherry-pick.test.ts +361 -0
  121. package/tests/v1.4/cli.test.ts +171 -0
  122. package/tests/v1.4/conflict-resolution-advanced.test.ts +429 -0
  123. package/tests/v1.4/conflict-resolution-ui.test.ts +286 -0
  124. package/tests/v1.4/workspace-isolation-advanced.test.ts +382 -0
  125. package/tests/v1.4/workspace-isolation.test.ts +268 -0
  126. package/tests/v1.5/agent-coordination.real.test.ts +401 -0
  127. package/tests/v1.5/cli-v2.test.ts +354 -0
  128. package/tests/v1.5/git-interop.real.test.ts +358 -0
  129. package/tests/v1.5/integration-testing.real.test.ts +440 -0
  130. package/tsconfig.json +26 -0
package/dist/tags.js ADDED
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ /**
3
+ * Tags Feature
4
+ *
5
+ * Create, list, delete, and checkout to semantic tags.
6
+ * - Store tags in refs/tags/
7
+ * - Tag metadata (created_at, description, creator)
8
+ * - Fast tag index for <50ms lookups
9
+ * - Unicode and special character support
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.TagManager = void 0;
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ class TagManager {
49
+ constructor(commands, basePath) {
50
+ this.tagIndex = new Map();
51
+ this.indexValid = false;
52
+ this.commands = commands;
53
+ // Derive tags directory from memory-git base path
54
+ const baseDir = basePath || path.join(process.env.HOME || '', '.openclaw/memory-git');
55
+ this.tagsDir = path.join(baseDir, 'refs', 'tags');
56
+ this.ensureTagsDir();
57
+ this.rebuildIndex();
58
+ }
59
+ /**
60
+ * Create a new tag at current HEAD
61
+ */
62
+ create(name, options = {}) {
63
+ this.validateTagName(name);
64
+ // Check if tag exists
65
+ if (this.tagIndex.has(name) && !options.force) {
66
+ throw new Error(`Tag '${name}' already exists. Use force: true to override.`);
67
+ }
68
+ // Get current HEAD commit
69
+ const log = this.commands.log(1);
70
+ if (log.length === 0) {
71
+ throw new Error('No commits to tag');
72
+ }
73
+ const commitHash = log[0].hash;
74
+ const now = Date.now();
75
+ // Filter options to extract metadata (skip 'force')
76
+ const metaEntries = Object.entries(options)
77
+ .filter(([k]) => k !== 'force');
78
+ const tag = {
79
+ name,
80
+ commit_hash: commitHash,
81
+ created_at: now,
82
+ metadata: metaEntries.length > 0 ? Object.fromEntries(metaEntries) : undefined,
83
+ };
84
+ // Save tag
85
+ this.saveTag(tag);
86
+ // Update index
87
+ this.tagIndex.set(name, tag);
88
+ return tag;
89
+ }
90
+ /**
91
+ * Get a tag by name
92
+ */
93
+ get(name) {
94
+ this.ensureIndexValid();
95
+ return this.tagIndex.get(name);
96
+ }
97
+ /**
98
+ * List all tags
99
+ */
100
+ list(options = {}) {
101
+ this.ensureIndexValid();
102
+ let tags = Array.from(this.tagIndex.values());
103
+ // Filter by pattern if provided
104
+ if (options.pattern) {
105
+ const regex = this.patternToRegex(options.pattern);
106
+ tags = tags.filter(t => regex.test(t.name));
107
+ }
108
+ // Sort
109
+ if (options.sortBy === 'name') {
110
+ tags.sort((a, b) => a.name.localeCompare(b.name));
111
+ }
112
+ else {
113
+ tags.sort((a, b) => a.created_at - b.created_at);
114
+ }
115
+ return tags;
116
+ }
117
+ /**
118
+ * Delete a tag
119
+ */
120
+ delete(name) {
121
+ if (!this.tagIndex.has(name)) {
122
+ throw new Error(`Tag '${name}' not found`);
123
+ }
124
+ const tagPath = this.getTagPath(name);
125
+ fs.unlinkSync(tagPath);
126
+ this.tagIndex.delete(name);
127
+ }
128
+ /**
129
+ * Checkout to a tagged commit
130
+ */
131
+ checkout(name, options = {}) {
132
+ const tag = this.get(name);
133
+ if (!tag) {
134
+ throw new Error(`Tag '${name}' not found`);
135
+ }
136
+ // Checkout to the commit
137
+ this.commands.checkout(tag.commit_hash, { force: options.force });
138
+ return true;
139
+ }
140
+ /**
141
+ * Rebuild the tag index
142
+ */
143
+ rebuildIndex() {
144
+ this.tagIndex.clear();
145
+ if (!fs.existsSync(this.tagsDir)) {
146
+ this.indexValid = true;
147
+ return;
148
+ }
149
+ const files = fs.readdirSync(this.tagsDir);
150
+ for (const file of files) {
151
+ try {
152
+ const tagPath = path.join(this.tagsDir, file);
153
+ const content = fs.readFileSync(tagPath, 'utf-8');
154
+ const tag = JSON.parse(content);
155
+ this.tagIndex.set(tag.name, tag);
156
+ }
157
+ catch (err) {
158
+ // Skip corrupt tag files
159
+ console.warn(`Failed to load tag ${file}:`, err);
160
+ }
161
+ }
162
+ this.indexValid = true;
163
+ }
164
+ /**
165
+ * Private: Ensure index is valid
166
+ */
167
+ ensureIndexValid() {
168
+ if (!this.indexValid) {
169
+ this.rebuildIndex();
170
+ }
171
+ }
172
+ /**
173
+ * Private: Validate tag name
174
+ */
175
+ validateTagName(name) {
176
+ if (!name || name.trim().length === 0) {
177
+ throw new Error('Tag name cannot be empty');
178
+ }
179
+ if (name.includes(' ')) {
180
+ throw new Error('Tag name cannot contain spaces');
181
+ }
182
+ }
183
+ /**
184
+ * Private: Ensure tags directory exists
185
+ */
186
+ ensureTagsDir() {
187
+ if (!fs.existsSync(this.tagsDir)) {
188
+ fs.mkdirSync(this.tagsDir, { recursive: true });
189
+ }
190
+ }
191
+ /**
192
+ * Private: Get tag file path
193
+ */
194
+ getTagPath(name) {
195
+ // Escape special characters for filesystem
196
+ const escaped = name.replace(/[\/\\:?*"<>|]/g, '_');
197
+ return path.join(this.tagsDir, escaped);
198
+ }
199
+ /**
200
+ * Private: Save tag to disk
201
+ */
202
+ saveTag(tag) {
203
+ const tagPath = this.getTagPath(tag.name);
204
+ const content = JSON.stringify(tag, null, 2);
205
+ fs.writeFileSync(tagPath, content, 'utf-8');
206
+ }
207
+ /**
208
+ * Private: Convert glob pattern to regex
209
+ */
210
+ patternToRegex(pattern) {
211
+ const escaped = pattern
212
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
213
+ .replace(/\*/g, '.*')
214
+ .replace(/\?/g, '.');
215
+ return new RegExp(`^${escaped}$`);
216
+ }
217
+ }
218
+ exports.TagManager = TagManager;
219
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Core types for Memory Git system
3
+ */
4
+ export interface CommitObject {
5
+ hash: string;
6
+ message: string;
7
+ timestamp: number;
8
+ author: string;
9
+ parent: string | null;
10
+ tree: TreeObject;
11
+ metadata?: Record<string, unknown>;
12
+ }
13
+ export interface TreeObject {
14
+ files: Map<string, FileEntry>;
15
+ hash: string;
16
+ }
17
+ export interface FileEntry {
18
+ path: string;
19
+ hash: string;
20
+ size: number;
21
+ mode: 'file' | 'deleted';
22
+ lastModified: number;
23
+ }
24
+ export interface DiffResult {
25
+ added: Map<string, string>;
26
+ modified: Map<string, DiffChange>;
27
+ deleted: Map<string, string>;
28
+ stats: DiffStats;
29
+ }
30
+ export interface DiffChange {
31
+ oldHash: string;
32
+ newHash: string;
33
+ lines?: LineDiff[];
34
+ }
35
+ export interface LineDiff {
36
+ type: 'add' | 'remove' | 'context';
37
+ content: string;
38
+ lineNum?: number;
39
+ }
40
+ export interface DiffStats {
41
+ filesChanged: number;
42
+ linesAdded: number;
43
+ linesRemoved: number;
44
+ totalChanges: number;
45
+ }
46
+ export interface StatusResult {
47
+ modified: string[];
48
+ added: string[];
49
+ deleted: string[];
50
+ untracked: string[];
51
+ clean: boolean;
52
+ }
53
+ export interface LogEntry {
54
+ hash: string;
55
+ message: string;
56
+ timestamp: number;
57
+ author: string;
58
+ shortHash: string;
59
+ }
60
+ export interface CommitOptions {
61
+ message: string;
62
+ author?: string;
63
+ metadata?: Record<string, unknown>;
64
+ }
65
+ export interface CheckoutOptions {
66
+ force?: boolean;
67
+ specific?: string[];
68
+ }
69
+ export interface DiffOptions {
70
+ lines?: boolean;
71
+ context?: number;
72
+ maxSize?: number;
73
+ }
74
+ export interface IndexCache {
75
+ timestamp: number;
76
+ files: Map<string, CachedFile>;
77
+ currentCommit: string;
78
+ }
79
+ export interface CachedFile {
80
+ path: string;
81
+ hash: string;
82
+ lastSeen: number;
83
+ modified: boolean;
84
+ }
85
+ export interface AutoCommitMetadata {
86
+ auto: boolean;
87
+ filesChanged: number;
88
+ files?: string[];
89
+ timestamp: number;
90
+ }
91
+ export interface TagInfo {
92
+ name: string;
93
+ commit_hash: string;
94
+ created_at: number;
95
+ description?: string;
96
+ }
97
+ export interface BranchInfo {
98
+ name: string;
99
+ head: string;
100
+ created_at: number;
101
+ }
102
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Core types for Memory Git system
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
package/docs/.nojekyll ADDED
File without changes
package/docs/README.md ADDED
@@ -0,0 +1,73 @@
1
+ # Trace Documentation Site
2
+
3
+ This is the documentation site for Trace v1.5.0, built with beautiful design and comprehensive guides.
4
+
5
+ ## Files
6
+
7
+ - **index.html** — Main documentation page with all content
8
+ - **_config.yml** — GitHub Pages configuration
9
+
10
+ ## Features
11
+
12
+ ### Design
13
+ - Relay-inspired color scheme (coral #FF6B6B with navy)
14
+ - Pixelated typography (Press Start 2P for headers)
15
+ - Glassmorphism cards with blur effects
16
+ - Smooth animations and transitions
17
+ - Fully responsive (mobile to desktop)
18
+
19
+ ### Content
20
+ - Quick start guide
21
+ - 6 use case examples
22
+ - 20+ command reference
23
+ - 6 version history cards
24
+ - 7-item roadmap
25
+ - Feature highlights
26
+
27
+ ### Technology
28
+ - Single HTML file (no build required)
29
+ - Embedded CSS and JavaScript
30
+ - No external dependencies
31
+ - GitHub Pages ready
32
+
33
+ ## Enabling GitHub Pages
34
+
35
+ 1. Go to: https://github.com/zoebuildsai/Trace/settings/pages
36
+ 2. Select branch: `main`
37
+ 3. Select folder: `/docs`
38
+ 4. Click Save
39
+
40
+ Site will be live at: https://zoebuildsai.github.io/Trace/
41
+
42
+ ## Local Preview
43
+
44
+ To preview locally, simply open `index.html` in a web browser.
45
+
46
+ ```bash
47
+ open docs/index.html # macOS
48
+ xdg-open docs/index.html # Linux
49
+ start docs/index.html # Windows
50
+ ```
51
+
52
+ ## Customization
53
+
54
+ The entire design is in `index.html`. Edit the `<style>` section to:
55
+ - Change colors (look for `--coral`, `--navy`, `--accent` variables)
56
+ - Update fonts (edit `@import` in `<head>`)
57
+ - Modify animations (edit `@keyframes` section)
58
+ - Add new sections (add `<section>` tags to HTML)
59
+
60
+ ## Files Deployed
61
+
62
+ When GitHub Pages is enabled, these files are served:
63
+ - `index.html` — Main page
64
+ - `_config.yml` — Configuration (optional)
65
+
66
+ All other repository files are not served on the documentation site.
67
+
68
+ ## Support
69
+
70
+ For issues or questions about Trace, visit:
71
+ - GitHub: https://github.com/zoebuildsai/Trace
72
+ - npm: https://www.npmjs.com/package/@zoebuildsai/trace
73
+ - GitHub Issues: https://github.com/zoebuildsai/Trace/issues
@@ -0,0 +1,2 @@
1
+ title: Chronicle
2
+ description: Multi-agent version control for the AI economy