@ace-sdk/core 1.0.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 (86) hide show
  1. package/README.md +54 -0
  2. package/dist/cache/index.d.ts +8 -0
  3. package/dist/cache/index.d.ts.map +1 -0
  4. package/dist/cache/index.js +6 -0
  5. package/dist/cache/index.js.map +1 -0
  6. package/dist/cache/local-cache.d.ts +72 -0
  7. package/dist/cache/local-cache.d.ts.map +1 -0
  8. package/dist/cache/local-cache.js +227 -0
  9. package/dist/cache/local-cache.js.map +1 -0
  10. package/dist/cache/session-storage.d.ts +76 -0
  11. package/dist/cache/session-storage.d.ts.map +1 -0
  12. package/dist/cache/session-storage.js +237 -0
  13. package/dist/cache/session-storage.js.map +1 -0
  14. package/dist/client/ace-client.d.ts +199 -0
  15. package/dist/client/ace-client.d.ts.map +1 -0
  16. package/dist/client/ace-client.js +454 -0
  17. package/dist/client/ace-client.js.map +1 -0
  18. package/dist/client/index.d.ts +6 -0
  19. package/dist/client/index.d.ts.map +1 -0
  20. package/dist/client/index.js +5 -0
  21. package/dist/client/index.js.map +1 -0
  22. package/dist/config/context.d.ts +48 -0
  23. package/dist/config/context.d.ts.map +1 -0
  24. package/dist/config/context.js +147 -0
  25. package/dist/config/context.js.map +1 -0
  26. package/dist/config/helpers.d.ts +79 -0
  27. package/dist/config/helpers.d.ts.map +1 -0
  28. package/dist/config/helpers.js +173 -0
  29. package/dist/config/helpers.js.map +1 -0
  30. package/dist/config/index.d.ts +10 -0
  31. package/dist/config/index.d.ts.map +1 -0
  32. package/dist/config/index.js +9 -0
  33. package/dist/config/index.js.map +1 -0
  34. package/dist/config/loader.d.ts +58 -0
  35. package/dist/config/loader.d.ts.map +1 -0
  36. package/dist/config/loader.js +275 -0
  37. package/dist/config/loader.js.map +1 -0
  38. package/dist/config/migration.d.ts +29 -0
  39. package/dist/config/migration.d.ts.map +1 -0
  40. package/dist/config/migration.js +137 -0
  41. package/dist/config/migration.js.map +1 -0
  42. package/dist/config/xdg.d.ts +62 -0
  43. package/dist/config/xdg.d.ts.map +1 -0
  44. package/dist/config/xdg.js +168 -0
  45. package/dist/config/xdg.js.map +1 -0
  46. package/dist/index.d.ts +32 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +50 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/logger/index.d.ts +6 -0
  51. package/dist/logger/index.d.ts.map +1 -0
  52. package/dist/logger/index.js +5 -0
  53. package/dist/logger/index.js.map +1 -0
  54. package/dist/logger/interface.d.ts +73 -0
  55. package/dist/logger/interface.d.ts.map +1 -0
  56. package/dist/logger/interface.js +11 -0
  57. package/dist/logger/interface.js.map +1 -0
  58. package/dist/logger/noop.d.ts +32 -0
  59. package/dist/logger/noop.d.ts.map +1 -0
  60. package/dist/logger/noop.js +53 -0
  61. package/dist/logger/noop.js.map +1 -0
  62. package/dist/types/config.d.ts +94 -0
  63. package/dist/types/config.d.ts.map +1 -0
  64. package/dist/types/config.js +26 -0
  65. package/dist/types/config.js.map +1 -0
  66. package/dist/types/index.d.ts +8 -0
  67. package/dist/types/index.d.ts.map +1 -0
  68. package/dist/types/index.js +6 -0
  69. package/dist/types/index.js.map +1 -0
  70. package/dist/types/pattern.d.ts +246 -0
  71. package/dist/types/pattern.d.ts.map +1 -0
  72. package/dist/types/pattern.js +22 -0
  73. package/dist/types/pattern.js.map +1 -0
  74. package/dist/utils/code-extractor.d.ts +34 -0
  75. package/dist/utils/code-extractor.d.ts.map +1 -0
  76. package/dist/utils/code-extractor.js +116 -0
  77. package/dist/utils/code-extractor.js.map +1 -0
  78. package/dist/utils/index.d.ts +8 -0
  79. package/dist/utils/index.d.ts.map +1 -0
  80. package/dist/utils/index.js +6 -0
  81. package/dist/utils/index.js.map +1 -0
  82. package/dist/utils/semver.d.ts +41 -0
  83. package/dist/utils/semver.d.ts.map +1 -0
  84. package/dist/utils/semver.js +90 -0
  85. package/dist/utils/semver.js.map +1 -0
  86. package/package.json +58 -0
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Code Engine ACE - Type Definitions
3
+ * @package @ace-sdk/core
4
+ */
5
+ export interface TrajectoryStep {
6
+ step: number;
7
+ action: string;
8
+ args: Record<string, any>;
9
+ result?: any;
10
+ }
11
+ export interface ExecutionTrace {
12
+ task: string;
13
+ trajectory: TrajectoryStep[] | string[];
14
+ result: {
15
+ success: boolean;
16
+ output: string;
17
+ error?: string;
18
+ };
19
+ playbook_used: string[];
20
+ timestamp: string;
21
+ }
22
+ export type BulletSection = 'strategies_and_hard_rules' | 'useful_code_snippets' | 'troubleshooting_and_pitfalls' | 'apis_to_use';
23
+ export interface PlaybookBullet {
24
+ id: string;
25
+ section: BulletSection;
26
+ content: string;
27
+ domain?: string;
28
+ concrete_domain?: string;
29
+ helpful: number;
30
+ harmful: number;
31
+ confidence: number;
32
+ evidence: string[];
33
+ observations: number;
34
+ created_at: string;
35
+ last_used: string;
36
+ }
37
+ /**
38
+ * Domain Summary - Summarizes abstract and concrete domains in results
39
+ */
40
+ export interface DomainsSummary {
41
+ abstract: string[];
42
+ concrete: string[];
43
+ }
44
+ export interface StructuredPlaybook {
45
+ strategies_and_hard_rules: PlaybookBullet[];
46
+ useful_code_snippets: PlaybookBullet[];
47
+ troubleshooting_and_pitfalls: PlaybookBullet[];
48
+ apis_to_use: PlaybookBullet[];
49
+ }
50
+ export type DeltaOperationType = 'ADD' | 'UPDATE' | 'DELETE';
51
+ export interface DeltaOperation {
52
+ type: DeltaOperationType;
53
+ section?: BulletSection;
54
+ content?: string;
55
+ bullet_id?: string;
56
+ helpful_delta?: number;
57
+ harmful_delta?: number;
58
+ confidence?: number;
59
+ evidence?: string[];
60
+ reason?: string;
61
+ }
62
+ export interface Reflection {
63
+ operations: DeltaOperation[];
64
+ summary: string;
65
+ }
66
+ export interface PlaybookStats {
67
+ total_bullets?: number;
68
+ total_patterns?: number;
69
+ by_section: Record<BulletSection, number>;
70
+ top_helpful: PlaybookBullet[];
71
+ top_harmful: PlaybookBullet[];
72
+ avg_confidence: number;
73
+ }
74
+ /**
75
+ * Token usage metadata from ACE server (v3.3.1+)
76
+ *
77
+ * The server calculates token counts using tiktoken 0.12.0 for ~90% accuracy
78
+ * vs Claude API. Metadata helps track efficiency gains from semantic search
79
+ * vs full playbook retrieval.
80
+ *
81
+ * @since v3.8.0 (server v3.3.1+)
82
+ */
83
+ export interface TokenMetadata {
84
+ /**
85
+ * Number of tokens in the returned response
86
+ * Calculated using tiktoken 0.12.0 on server side
87
+ */
88
+ tokens_in_response: number;
89
+ /**
90
+ * Tokens saved compared to fetching full playbook
91
+ * Only present for semantic search results
92
+ */
93
+ tokens_saved_vs_full_playbook?: number;
94
+ /**
95
+ * Efficiency gain as percentage string (e.g., "83%")
96
+ * Only present for semantic search results
97
+ */
98
+ efficiency_gain?: string;
99
+ /**
100
+ * Total tokens in full playbook
101
+ * Used as baseline for efficiency calculations
102
+ */
103
+ full_playbook_size?: number;
104
+ /**
105
+ * Which cache tier served this response
106
+ * Only present for client-side cache hits (not server responses)
107
+ */
108
+ cache_tier?: 'ram' | 'sqlite' | 'server';
109
+ /**
110
+ * Response latency in milliseconds
111
+ * Client-side measured from request start to response end
112
+ */
113
+ latency_ms?: number;
114
+ }
115
+ /**
116
+ * Search response with optional token metadata (v3.8.0+)
117
+ *
118
+ * Returned by ace_search when include_metadata=true (default).
119
+ * Provides semantic search results plus token usage statistics.
120
+ *
121
+ * @since v3.8.0 (server v3.3.1+)
122
+ */
123
+ export interface SearchResponseWithMetadata {
124
+ /** Patterns matching the search query above threshold */
125
+ similar_patterns: PlaybookBullet[];
126
+ /** Number of patterns returned */
127
+ count: number;
128
+ /** Similarity threshold used (0.0-1.0) */
129
+ threshold: number;
130
+ /** Maximum patterns to return (server respects client request) */
131
+ top_k?: number;
132
+ /** Summary of domains in results */
133
+ domains_summary?: DomainsSummary;
134
+ /**
135
+ * Optional token usage metadata
136
+ * Present when include_metadata=true (server default)
137
+ * Absent for cache hits or when explicitly disabled
138
+ */
139
+ metadata?: TokenMetadata;
140
+ }
141
+ /**
142
+ * Playbook response with optional token metadata (v3.8.0+)
143
+ *
144
+ * Returned by ace_get_playbook when include_metadata=true (default).
145
+ * Provides full playbook plus token usage statistics.
146
+ *
147
+ * @since v3.8.0 (server v3.3.1+)
148
+ */
149
+ export interface PlaybookResponseWithMetadata {
150
+ /** Structured playbook with 4 sections */
151
+ playbook: StructuredPlaybook;
152
+ /** Total number of bullets across all sections */
153
+ total_bullets: number;
154
+ /**
155
+ * Optional token usage metadata
156
+ * Present when include_metadata=true (server default)
157
+ * Absent for cache hits or when explicitly disabled
158
+ */
159
+ metadata?: TokenMetadata;
160
+ }
161
+ export interface BootstrapResponse {
162
+ success: boolean;
163
+ blocks_received: number;
164
+ patterns_extracted: number;
165
+ compression_percentage: number;
166
+ patterns_after_dedup?: number;
167
+ compression_ratio?: string;
168
+ by_section: {
169
+ strategies_and_hard_rules: number;
170
+ useful_code_snippets: number;
171
+ troubleshooting_and_pitfalls: number;
172
+ apis_to_use: number;
173
+ };
174
+ average_confidence: number;
175
+ analysis_time_seconds: number;
176
+ }
177
+ export type BootstrapMode = 'hybrid' | 'both' | 'local-files' | 'git-history' | 'docs-only';
178
+ export type ThoroughnessLevel = 'light' | 'medium' | 'deep';
179
+ export interface ThoroughnessPreset {
180
+ max_files: number;
181
+ commit_limit: number;
182
+ days_back: number;
183
+ }
184
+ export declare const THOROUGHNESS_PRESETS: Record<ThoroughnessLevel, ThoroughnessPreset>;
185
+ /**
186
+ * Learning statistics returned from /traces endpoint (v3.10.0+)
187
+ *
188
+ * Provides detailed feedback about pattern creation/updates after
189
+ * submitting an execution trace for learning.
190
+ *
191
+ * @since v1.0.13 (server v3.10.0+)
192
+ */
193
+ export interface LearningStatistics {
194
+ /** Number of new patterns created */
195
+ patterns_created: number;
196
+ /** Number of existing patterns updated (helpful scores, evidence) */
197
+ patterns_updated: number;
198
+ /** Number of low-quality patterns removed */
199
+ patterns_pruned: number;
200
+ /** Number of duplicate patterns merged */
201
+ patterns_deduplicated: number;
202
+ /** Breakdown of patterns by playbook section */
203
+ by_section: {
204
+ strategies_and_hard_rules: number;
205
+ useful_code_snippets: number;
206
+ troubleshooting_and_pitfalls: number;
207
+ apis_to_use: number;
208
+ };
209
+ /** Average confidence score of created/updated patterns (0.0-1.0) */
210
+ average_confidence: number;
211
+ /** Net increase in helpful scores across all patterns */
212
+ helpful_delta: number;
213
+ /** Total number of patterns marked helpful */
214
+ helpful_count: number;
215
+ /** Total number of patterns marked harmful */
216
+ harmful_count: number;
217
+ /** Server analysis processing time in seconds */
218
+ analysis_time_seconds: number;
219
+ }
220
+ /**
221
+ * Response from /traces POST endpoint (v3.10.0+)
222
+ *
223
+ * Enhanced in v3.10.0 to include detailed learning statistics.
224
+ * Falls back gracefully for older servers without statistics.
225
+ *
226
+ * @since v1.0.13 (server v3.10.0+)
227
+ */
228
+ export interface LearningResponse {
229
+ /** Whether the trace was successfully stored */
230
+ stored: boolean;
231
+ /** Echo of the task description */
232
+ task?: string;
233
+ /** ISO 8601 timestamp of submission */
234
+ timestamp?: string;
235
+ /** Whether server performed analysis */
236
+ analysis_performed: boolean;
237
+ /** Whether learning is enabled on the server */
238
+ server_learning_enabled?: boolean;
239
+ /**
240
+ * Detailed learning statistics
241
+ * Present when server v3.10.0+ and analysis_performed=true
242
+ * Absent for older servers or when analysis fails
243
+ */
244
+ learning_statistics?: LearningStatistics;
245
+ }
246
+ //# sourceMappingURL=pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/types/pattern.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Code Engine ACE - Type Definitions
3
+ * @package @ace-sdk/core
4
+ */
5
+ export const THOROUGHNESS_PRESETS = {
6
+ light: {
7
+ max_files: 1000,
8
+ commit_limit: 100,
9
+ days_back: 30
10
+ },
11
+ medium: {
12
+ max_files: 5000,
13
+ commit_limit: 500,
14
+ days_back: 90
15
+ },
16
+ deep: {
17
+ max_files: -1, // unlimited
18
+ commit_limit: 1000,
19
+ days_back: 180
20
+ }
21
+ };
22
+ //# sourceMappingURL=pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/types/pattern.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2PH,MAAM,CAAC,MAAM,oBAAoB,GAAkD;IACjF,KAAK,EAAE;QACL,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,EAAE;KACd;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,CAAC,EAAG,YAAY;QAC5B,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,GAAG;KACf;CACF,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Code extraction utilities for bootstrap pattern learning
3
+ * Extracts complete, reusable code blocks instead of summaries
4
+ *
5
+ * @package @ace-sdk/core
6
+ */
7
+ export interface CodeBlock {
8
+ code: string;
9
+ lines: string[];
10
+ name: string;
11
+ type: 'function' | 'async_function' | 'arrow_function' | 'class_method';
12
+ file: string;
13
+ }
14
+ /**
15
+ * Extract complete function bodies from source code
16
+ * Includes relevant imports with each function
17
+ */
18
+ export declare function extractFunctionBodies(content: string, filePath: string): CodeBlock[];
19
+ /**
20
+ * Determine if a code block is "interesting" enough to include
21
+ * Filters for: async/await, error handling, API calls, database usage
22
+ */
23
+ export declare function isInteresting(code: string): boolean;
24
+ /**
25
+ * Extract code blocks from markdown
26
+ * Finds ```language blocks and returns complete code with context
27
+ */
28
+ export declare function extractCodeBlocksFromMarkdown(markdown: string): string[];
29
+ /**
30
+ * Extract added code lines from git diff
31
+ * Filters for lines starting with '+' (added lines)
32
+ */
33
+ export declare function extractAddedLinesFromDiff(diff: string): string;
34
+ //# sourceMappingURL=code-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/code-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACxE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CA4DpF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgBnD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa9D"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Code extraction utilities for bootstrap pattern learning
3
+ * Extracts complete, reusable code blocks instead of summaries
4
+ *
5
+ * @package @ace-sdk/core
6
+ */
7
+ /**
8
+ * Extract complete function bodies from source code
9
+ * Includes relevant imports with each function
10
+ */
11
+ export function extractFunctionBodies(content, filePath) {
12
+ const blocks = [];
13
+ // Pattern 1: Regular functions (function name() { ... })
14
+ const funcRegex = /(async\s+)?function\s+(\w+)\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/gm;
15
+ // Pattern 2: Arrow functions (const name = async () => { ... })
16
+ const arrowRegex = /const\s+(\w+)\s*=\s*(async\s*)?\([^)]*\)\s*=>\s*\{([\s\S]*?)\n\}/gm;
17
+ // Pattern 3: Class methods (async methodName() { ... })
18
+ const methodRegex = /(async\s+)?([\w]+)\s*\([^)]*\)\s*\{([\s\S]*?)\n\s{2}\}/gm;
19
+ // Extract regular functions
20
+ for (const match of content.matchAll(funcRegex)) {
21
+ const fullCode = match[0];
22
+ blocks.push({
23
+ code: fullCode,
24
+ lines: fullCode.split('\n'),
25
+ name: match[2],
26
+ type: match[1] ? 'async_function' : 'function',
27
+ file: filePath
28
+ });
29
+ }
30
+ // Extract arrow functions
31
+ for (const match of content.matchAll(arrowRegex)) {
32
+ const fullCode = match[0];
33
+ blocks.push({
34
+ code: fullCode,
35
+ lines: fullCode.split('\n'),
36
+ name: match[1],
37
+ type: 'arrow_function',
38
+ file: filePath
39
+ });
40
+ }
41
+ // Extract class methods
42
+ for (const match of content.matchAll(methodRegex)) {
43
+ const fullCode = match[0];
44
+ // Skip if it's a getter/setter or constructor
45
+ const name = match[2];
46
+ if (name && !['get', 'set', 'constructor'].includes(name)) {
47
+ blocks.push({
48
+ code: fullCode,
49
+ lines: fullCode.split('\n'),
50
+ name: name,
51
+ type: 'class_method',
52
+ file: filePath
53
+ });
54
+ }
55
+ }
56
+ // Extract all imports from the file
57
+ const imports = content.match(/^import .* from .*;$/gm) || [];
58
+ // Prepend imports to each code block
59
+ return blocks.map(block => ({
60
+ ...block,
61
+ code: imports.length > 0 ? [...imports, '', block.code].join('\n') : block.code
62
+ }));
63
+ }
64
+ /**
65
+ * Determine if a code block is "interesting" enough to include
66
+ * Filters for: async/await, error handling, API calls, database usage
67
+ */
68
+ export function isInteresting(code) {
69
+ return (code.includes('async ') ||
70
+ code.includes('await ') ||
71
+ code.includes('try {') ||
72
+ code.includes('catch (') ||
73
+ // API/HTTP patterns
74
+ /\.(get|post|put|delete|patch)\(/.test(code) ||
75
+ // Database patterns
76
+ /\.(findMany|findUnique|findFirst|create|update|delete|upsert)\(/.test(code) ||
77
+ // Common framework patterns
78
+ code.includes('useEffect') ||
79
+ code.includes('useState') ||
80
+ // Import statements (always interesting)
81
+ code.includes('import '));
82
+ }
83
+ /**
84
+ * Extract code blocks from markdown
85
+ * Finds ```language blocks and returns complete code with context
86
+ */
87
+ export function extractCodeBlocksFromMarkdown(markdown) {
88
+ const codeBlocks = [];
89
+ // Match code blocks: ```language\n...\n```
90
+ const codeBlockRegex = /```(\w+)?\n([\s\S]*?)```/g;
91
+ for (const match of markdown.matchAll(codeBlockRegex)) {
92
+ const code = match[2].trim();
93
+ // Only include code blocks that are substantial and interesting
94
+ if (code.length > 50 && isInteresting(code)) {
95
+ codeBlocks.push(code);
96
+ }
97
+ }
98
+ return codeBlocks;
99
+ }
100
+ /**
101
+ * Extract added code lines from git diff
102
+ * Filters for lines starting with '+' (added lines)
103
+ */
104
+ export function extractAddedLinesFromDiff(diff) {
105
+ const lines = diff.split('\n');
106
+ const addedLines = [];
107
+ for (const line of lines) {
108
+ // Skip diff metadata lines (+++, @@, etc)
109
+ if (line.startsWith('+') && !line.startsWith('+++') && !line.startsWith('+++ ')) {
110
+ // Remove the '+' prefix
111
+ addedLines.push(line.substring(1));
112
+ }
113
+ }
114
+ return addedLines.join('\n');
115
+ }
116
+ //# sourceMappingURL=code-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-extractor.js","sourceRoot":"","sources":["../../src/utils/code-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Utility exports for @ace-sdk/core
3
+ */
4
+ export type { SemanticVersion } from './semver.js';
5
+ export { parseVersion, compareVersions, satisfiesVersion } from './semver.js';
6
+ export type { CodeBlock } from './code-extractor.js';
7
+ export { extractFunctionBodies, isInteresting, extractCodeBlocksFromMarkdown, extractAddedLinesFromDiff } from './code-extractor.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Utility exports for @ace-sdk/core
3
+ */
4
+ export { parseVersion, compareVersions, satisfiesVersion } from './semver.js';
5
+ export { extractFunctionBodies, isInteresting, extractCodeBlocksFromMarkdown, extractAddedLinesFromDiff } from './code-extractor.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Semantic Version Utilities
3
+ * Implements semantic versioning comparison per semver.org spec
4
+ *
5
+ * @package @ace-sdk/core
6
+ */
7
+ export interface SemanticVersion {
8
+ major: number;
9
+ minor: number;
10
+ patch: number;
11
+ prerelease?: string;
12
+ build?: string;
13
+ }
14
+ /**
15
+ * Parse semantic version string
16
+ * Format: MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
17
+ *
18
+ * Examples:
19
+ * - 3.6.2
20
+ * - 3.7.0-beta.1
21
+ * - 3.7.0+20251101
22
+ */
23
+ export declare function parseVersion(version: string): SemanticVersion;
24
+ /**
25
+ * Compare two version strings
26
+ * Returns:
27
+ * 1 if a > b
28
+ * 0 if a === b
29
+ * -1 if a < b
30
+ */
31
+ export declare function compareVersions(a: string, b: string): number;
32
+ /**
33
+ * Check if current version satisfies required version
34
+ * Supports range syntax:
35
+ * - >=3.6.0 (greater than or equal)
36
+ * - ^3.6.0 (compatible with, same major)
37
+ * - ~3.6.0 (approximately equivalent, same major.minor)
38
+ * - 3.6.0 (exact match)
39
+ */
40
+ export declare function satisfiesVersion(current: string, required: string): boolean;
41
+ //# sourceMappingURL=semver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../src/utils/semver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAe7D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAwB3E"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Semantic Version Utilities
3
+ * Implements semantic versioning comparison per semver.org spec
4
+ *
5
+ * @package @ace-sdk/core
6
+ */
7
+ /**
8
+ * Parse semantic version string
9
+ * Format: MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
10
+ *
11
+ * Examples:
12
+ * - 3.6.2
13
+ * - 3.7.0-beta.1
14
+ * - 3.7.0+20251101
15
+ */
16
+ export function parseVersion(version) {
17
+ const regex = /^(\d+)\.(\d+)\.(\d+)(?:-([^+]+))?(?:\+(.+))?$/;
18
+ const match = version.match(regex);
19
+ if (!match) {
20
+ throw new Error(`Invalid semantic version: ${version}`);
21
+ }
22
+ return {
23
+ major: parseInt(match[1], 10),
24
+ minor: parseInt(match[2], 10),
25
+ patch: parseInt(match[3], 10),
26
+ prerelease: match[4],
27
+ build: match[5]
28
+ };
29
+ }
30
+ /**
31
+ * Compare two version strings
32
+ * Returns:
33
+ * 1 if a > b
34
+ * 0 if a === b
35
+ * -1 if a < b
36
+ */
37
+ export function compareVersions(a, b) {
38
+ const vA = parseVersion(a);
39
+ const vB = parseVersion(b);
40
+ // Compare major
41
+ if (vA.major !== vB.major)
42
+ return vA.major - vB.major;
43
+ // Compare minor
44
+ if (vA.minor !== vB.minor)
45
+ return vA.minor - vB.minor;
46
+ // Compare patch
47
+ if (vA.patch !== vB.patch)
48
+ return vA.patch - vB.patch;
49
+ // Compare prerelease (stable > prerelease)
50
+ if (vA.prerelease && !vB.prerelease)
51
+ return -1;
52
+ if (!vA.prerelease && vB.prerelease)
53
+ return 1;
54
+ if (vA.prerelease && vB.prerelease) {
55
+ return vA.prerelease.localeCompare(vB.prerelease);
56
+ }
57
+ // Versions are equal (ignore build metadata per semver spec)
58
+ return 0;
59
+ }
60
+ /**
61
+ * Check if current version satisfies required version
62
+ * Supports range syntax:
63
+ * - >=3.6.0 (greater than or equal)
64
+ * - ^3.6.0 (compatible with, same major)
65
+ * - ~3.6.0 (approximately equivalent, same major.minor)
66
+ * - 3.6.0 (exact match)
67
+ */
68
+ export function satisfiesVersion(current, required) {
69
+ // Support range syntax: >=3.6.0
70
+ if (required.startsWith('>=')) {
71
+ return compareVersions(current, required.slice(2)) >= 0;
72
+ }
73
+ // Support caret range: ^3.6.0 (allows 3.6.x and 3.7.x, but not 4.0.0)
74
+ if (required.startsWith('^')) {
75
+ const base = parseVersion(required.slice(1));
76
+ const curr = parseVersion(current);
77
+ return curr.major === base.major && compareVersions(current, required.slice(1)) >= 0;
78
+ }
79
+ // Support tilde range: ~3.6.0 (allows 3.6.x only, not 3.7.0)
80
+ if (required.startsWith('~')) {
81
+ const base = parseVersion(required.slice(1));
82
+ const curr = parseVersion(current);
83
+ return curr.major === base.major &&
84
+ curr.minor === base.minor &&
85
+ compareVersions(current, required.slice(1)) >= 0;
86
+ }
87
+ // Exact match
88
+ return compareVersions(current, required) === 0;
89
+ }
90
+ //# sourceMappingURL=semver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sourceRoot":"","sources":["../../src/utils/semver.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@ace-sdk/core",
3
+ "version": "1.0.0",
4
+ "description": "ACE Core - Shared library for ACE pattern learning (HTTP client, caching, config, types)",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "watch": "tsc --watch",
17
+ "clean": "rm -rf dist",
18
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
19
+ "prepublishOnly": "npm run build"
20
+ },
21
+ "keywords": [
22
+ "ace",
23
+ "pattern-learning",
24
+ "playbook",
25
+ "agentic",
26
+ "context-engineering",
27
+ "code-engine"
28
+ ],
29
+ "author": {
30
+ "name": "CE.NET Team",
31
+ "email": "ace@code-engine.net"
32
+ },
33
+ "license": "MIT",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/ce-dot-net/ace-sdk.git",
37
+ "directory": "packages/core"
38
+ },
39
+ "dependencies": {
40
+ "better-sqlite3": "^12.4.6",
41
+ "linguist-js": "^2.9.2"
42
+ },
43
+ "devDependencies": {
44
+ "@types/better-sqlite3": "^7.6.13",
45
+ "@types/node": "^24.10.1",
46
+ "typescript": "^5.9.3"
47
+ },
48
+ "engines": {
49
+ "node": ">=20.0.0"
50
+ },
51
+ "files": [
52
+ "dist/**/*",
53
+ "README.md"
54
+ ],
55
+ "publishConfig": {
56
+ "access": "public"
57
+ }
58
+ }