@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.
- package/README.md +54 -0
- package/dist/cache/index.d.ts +8 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/local-cache.d.ts +72 -0
- package/dist/cache/local-cache.d.ts.map +1 -0
- package/dist/cache/local-cache.js +227 -0
- package/dist/cache/local-cache.js.map +1 -0
- package/dist/cache/session-storage.d.ts +76 -0
- package/dist/cache/session-storage.d.ts.map +1 -0
- package/dist/cache/session-storage.js +237 -0
- package/dist/cache/session-storage.js.map +1 -0
- package/dist/client/ace-client.d.ts +199 -0
- package/dist/client/ace-client.d.ts.map +1 -0
- package/dist/client/ace-client.js +454 -0
- package/dist/client/ace-client.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -0
- package/dist/config/context.d.ts +48 -0
- package/dist/config/context.d.ts.map +1 -0
- package/dist/config/context.js +147 -0
- package/dist/config/context.js.map +1 -0
- package/dist/config/helpers.d.ts +79 -0
- package/dist/config/helpers.d.ts.map +1 -0
- package/dist/config/helpers.js +173 -0
- package/dist/config/helpers.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +58 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +275 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/migration.d.ts +29 -0
- package/dist/config/migration.d.ts.map +1 -0
- package/dist/config/migration.js +137 -0
- package/dist/config/migration.js.map +1 -0
- package/dist/config/xdg.d.ts +62 -0
- package/dist/config/xdg.d.ts.map +1 -0
- package/dist/config/xdg.js +168 -0
- package/dist/config/xdg.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/index.d.ts +6 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +5 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/interface.d.ts +73 -0
- package/dist/logger/interface.d.ts.map +1 -0
- package/dist/logger/interface.js +11 -0
- package/dist/logger/interface.js.map +1 -0
- package/dist/logger/noop.d.ts +32 -0
- package/dist/logger/noop.d.ts.map +1 -0
- package/dist/logger/noop.js +53 -0
- package/dist/logger/noop.js.map +1 -0
- package/dist/types/config.d.ts +94 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +26 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/pattern.d.ts +246 -0
- package/dist/types/pattern.d.ts.map +1 -0
- package/dist/types/pattern.js +22 -0
- package/dist/types/pattern.js.map +1 -0
- package/dist/utils/code-extractor.d.ts +34 -0
- package/dist/utils/code-extractor.d.ts.map +1 -0
- package/dist/utils/code-extractor.js +116 -0
- package/dist/utils/code-extractor.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/semver.d.ts +41 -0
- package/dist/utils/semver.d.ts.map +1 -0
- package/dist/utils/semver.js +90 -0
- package/dist/utils/semver.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XDG Base Directory Specification support for ACE config files
|
|
3
|
+
*
|
|
4
|
+
* New default path: ~/.config/ace/config.json (XDG standard)
|
|
5
|
+
* Legacy fallback: ~/.ace/config.json (backward compatibility)
|
|
6
|
+
*
|
|
7
|
+
* @package @ace-sdk/core
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import * as os from 'os';
|
|
12
|
+
/**
|
|
13
|
+
* Expand shell variables in a path string
|
|
14
|
+
*
|
|
15
|
+
* Supports:
|
|
16
|
+
* - Tilde expansion: ~/path → /home/user/path
|
|
17
|
+
* - Simple variables: $HOME → /home/user
|
|
18
|
+
* - Braced variables: ${HOME} → /home/user
|
|
19
|
+
* - Default values: ${VAR:-default} → default (if VAR not set)
|
|
20
|
+
* - Nested defaults: ${XDG_CONFIG_HOME:-${HOME}/.config}
|
|
21
|
+
*
|
|
22
|
+
* @param pathString Path with potential shell variables
|
|
23
|
+
* @returns Expanded absolute path
|
|
24
|
+
*/
|
|
25
|
+
export function expandPath(pathString) {
|
|
26
|
+
if (!pathString)
|
|
27
|
+
return pathString;
|
|
28
|
+
// Step 1: Expand tilde to home directory
|
|
29
|
+
if (pathString.startsWith('~/')) {
|
|
30
|
+
pathString = path.join(os.homedir(), pathString.slice(2));
|
|
31
|
+
}
|
|
32
|
+
else if (pathString === '~') {
|
|
33
|
+
pathString = os.homedir();
|
|
34
|
+
}
|
|
35
|
+
// Step 2: Expand environment variables with default value support
|
|
36
|
+
let previousPath = '';
|
|
37
|
+
let iterations = 0;
|
|
38
|
+
const maxIterations = 10; // Prevent infinite loops
|
|
39
|
+
while (pathString !== previousPath && iterations < maxIterations) {
|
|
40
|
+
previousPath = pathString;
|
|
41
|
+
iterations++;
|
|
42
|
+
// Match simple ${VAR} (no colon or default)
|
|
43
|
+
pathString = pathString.replace(/\$\{([^}:]+)\}/g, (match, varName) => {
|
|
44
|
+
return process.env[varName] || match;
|
|
45
|
+
});
|
|
46
|
+
// Match simple $VAR (without braces)
|
|
47
|
+
pathString = pathString.replace(/\$([A-Z_][A-Z0-9_]*)/g, (match, varName) => {
|
|
48
|
+
return process.env[varName] || match;
|
|
49
|
+
});
|
|
50
|
+
// Match ${VAR:-default}
|
|
51
|
+
pathString = pathString.replace(/\$\{([^}:]+):-([^}]*(?:\{[^}]*\}[^}]*)*)\}/g, (_match, varName, defaultValue) => {
|
|
52
|
+
const envValue = process.env[varName];
|
|
53
|
+
if (envValue) {
|
|
54
|
+
return envValue;
|
|
55
|
+
}
|
|
56
|
+
return defaultValue;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return pathString;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Autodiscover config file path following XDG Base Directory specification
|
|
63
|
+
*
|
|
64
|
+
* Priority:
|
|
65
|
+
* 1. XDG path: ~/.config/ace/config.json (or $XDG_CONFIG_HOME/ace/config.json)
|
|
66
|
+
* 2. Legacy path: ~/.ace/config.json (backward compatibility with warning)
|
|
67
|
+
* 3. Default: XDG path (even if doesn't exist yet)
|
|
68
|
+
*/
|
|
69
|
+
export function autodiscoverConfigPath(logger) {
|
|
70
|
+
// XDG path (new standard)
|
|
71
|
+
const xdgHome = process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config');
|
|
72
|
+
const xdgPath = path.join(xdgHome, 'ace', 'config.json');
|
|
73
|
+
if (fs.existsSync(xdgPath)) {
|
|
74
|
+
return xdgPath;
|
|
75
|
+
}
|
|
76
|
+
// Legacy path (backward compatibility)
|
|
77
|
+
const legacyPath = path.join(os.homedir(), '.ace', 'config.json');
|
|
78
|
+
if (fs.existsSync(legacyPath)) {
|
|
79
|
+
logger?.warn('Using legacy config path: ~/.ace/config.json');
|
|
80
|
+
logger?.info('Run migration to move to XDG standard path: ~/.config/ace/config.json');
|
|
81
|
+
return legacyPath;
|
|
82
|
+
}
|
|
83
|
+
// Default to XDG path (will be created when config is saved)
|
|
84
|
+
return xdgPath;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the legacy config path for migration purposes
|
|
88
|
+
*/
|
|
89
|
+
export function getLegacyConfigPath() {
|
|
90
|
+
return path.join(os.homedir(), '.ace', 'config.json');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the XDG config path
|
|
94
|
+
*/
|
|
95
|
+
export function getXdgConfigPath() {
|
|
96
|
+
const xdgHome = process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config');
|
|
97
|
+
return path.join(xdgHome, 'ace', 'config.json');
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Auto-migrate config from legacy path to XDG path
|
|
101
|
+
*
|
|
102
|
+
* Migration strategy:
|
|
103
|
+
* - Only migrate if legacy exists and XDG doesn't
|
|
104
|
+
* - Create XDG directory with secure permissions (0700)
|
|
105
|
+
* - Copy config to XDG path with secure permissions (0600)
|
|
106
|
+
* - Rename legacy config to .bak (don't delete)
|
|
107
|
+
* - Print clear migration messages
|
|
108
|
+
*
|
|
109
|
+
* @returns The config path to use (XDG path after migration)
|
|
110
|
+
*/
|
|
111
|
+
export function autoMigrateConfig(logger) {
|
|
112
|
+
const legacyPath = getLegacyConfigPath();
|
|
113
|
+
const xdgPath = getXdgConfigPath();
|
|
114
|
+
// Only migrate if legacy exists and XDG doesn't
|
|
115
|
+
if (fs.existsSync(legacyPath) && !fs.existsSync(xdgPath)) {
|
|
116
|
+
try {
|
|
117
|
+
logger?.info('Migrating ACE config to XDG standard path...');
|
|
118
|
+
// Create XDG directory with secure permissions
|
|
119
|
+
const xdgDir = path.dirname(xdgPath);
|
|
120
|
+
fs.mkdirSync(xdgDir, { recursive: true, mode: 0o700 });
|
|
121
|
+
// Copy config file
|
|
122
|
+
fs.copyFileSync(legacyPath, xdgPath);
|
|
123
|
+
// Set secure permissions on config file
|
|
124
|
+
fs.chmodSync(xdgPath, 0o600);
|
|
125
|
+
// Create backup of legacy config (don't delete!)
|
|
126
|
+
const backupPath = `${legacyPath}.bak`;
|
|
127
|
+
fs.renameSync(legacyPath, backupPath);
|
|
128
|
+
logger?.success('Config migrated successfully!');
|
|
129
|
+
logger?.info(`From: ${legacyPath}`);
|
|
130
|
+
logger?.info(`To: ${xdgPath}`);
|
|
131
|
+
logger?.info(`Backup: ${backupPath}`);
|
|
132
|
+
return xdgPath;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
logger?.warn(`Migration failed (non-critical): ${error instanceof Error ? error.message : String(error)}`);
|
|
136
|
+
logger?.info('Continuing with legacy path...');
|
|
137
|
+
return legacyPath;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// If XDG already exists, use it
|
|
141
|
+
if (fs.existsSync(xdgPath)) {
|
|
142
|
+
return xdgPath;
|
|
143
|
+
}
|
|
144
|
+
// If legacy exists (but XDG also exists - shouldn't happen), use XDG
|
|
145
|
+
if (fs.existsSync(legacyPath)) {
|
|
146
|
+
return legacyPath;
|
|
147
|
+
}
|
|
148
|
+
// Neither exists - return XDG path (will be created when config is saved)
|
|
149
|
+
return xdgPath;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Ensure config directory exists with secure permissions
|
|
153
|
+
*/
|
|
154
|
+
export function ensureConfigDirectory(configPath) {
|
|
155
|
+
const configDir = path.dirname(configPath);
|
|
156
|
+
if (!fs.existsSync(configDir)) {
|
|
157
|
+
fs.mkdirSync(configDir, { recursive: true, mode: 0o700 });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Set secure permissions on config file
|
|
162
|
+
*/
|
|
163
|
+
export function setSecurePermissions(configPath) {
|
|
164
|
+
if (fs.existsSync(configPath)) {
|
|
165
|
+
fs.chmodSync(configPath, 0o600);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=xdg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xdg.js","sourceRoot":"","sources":["../../src/config/xdg.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAEnC,yCAAyC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC9B,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,kEAAkE;IAClE,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,yBAAyB;IAEnD,OAAO,UAAU,KAAK,YAAY,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QACjE,YAAY,GAAG,UAAU,CAAC;QAC1B,UAAU,EAAE,CAAC;QAEb,4CAA4C;QAC5C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACpE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;YAC/G,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAgB;IACrD,0BAA0B;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAEzD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uCAAuC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC7D,MAAM,EAAE,IAAI,CAAC,uEAAuE,CAAC,CAAC;QACtF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB;IAChD,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,gDAAgD;IAChD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAE7D,+CAA+C;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvD,mBAAmB;YACnB,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAErC,wCAAwC;YACxC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE7B,iDAAiD;YACjD,MAAM,UAAU,GAAG,GAAG,UAAU,MAAM,CAAC;YACvC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEtC,MAAM,EAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;YAEtC,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,IAAI,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3G,MAAM,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,qEAAqE;IACrE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ace-sdk/core - ACE Core Library
|
|
3
|
+
*
|
|
4
|
+
* Shared library for ACE (Agentic Context Engineering) pattern learning.
|
|
5
|
+
* Provides HTTP client, caching, configuration management, and types.
|
|
6
|
+
*
|
|
7
|
+
* @package @ace-sdk/core
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
export type { TrajectoryStep, BulletSection, PlaybookBullet, DomainsSummary, StructuredPlaybook, DeltaOperationType, DeltaOperation, Reflection, ExecutionTrace, PlaybookStats, TokenMetadata, SearchResponseWithMetadata, PlaybookResponseWithMetadata, BootstrapResponse, BootstrapMode, ThoroughnessLevel, ThoroughnessPreset, LearningStatistics, LearningResponse } from './types/pattern.js';
|
|
11
|
+
export { THOROUGHNESS_PRESETS } from './types/pattern.js';
|
|
12
|
+
export type { OrgConfig, AceConfig, AceContext, ServerConfig, AceRuntimeSettings, ResolvedContext, ResolveContextOptions } from './types/config.js';
|
|
13
|
+
export { DEFAULT_RUNTIME_SETTINGS } from './types/config.js';
|
|
14
|
+
export type { ILogger } from './logger/interface.js';
|
|
15
|
+
export { NoopLogger } from './logger/noop.js';
|
|
16
|
+
export { loadConfig, getConfigPath, isConfigured } from './config/loader.js';
|
|
17
|
+
export type { ConfigOverrides, LoadConfigResult } from './config/loader.js';
|
|
18
|
+
export { expandPath, autodiscoverConfigPath, getLegacyConfigPath, getXdgConfigPath, autoMigrateConfig, ensureConfigDirectory, setSecurePermissions } from './config/xdg.js';
|
|
19
|
+
export { migrateConfig, checkAndMigrate, autoMigrate } from './config/migration.js';
|
|
20
|
+
export { getTokenForOrg, getOrgName, listOrganizations, projectBelongsToOrg, extractOrgIdFromToken, getProjectsForOrg, isMultiOrgMode, validateConfig } from './config/helpers.js';
|
|
21
|
+
export { resolveContext, isValidOrgId, isValidProjectId, createContext } from './config/context.js';
|
|
22
|
+
export { AceClient } from './client/ace-client.js';
|
|
23
|
+
export type { AceClientOptions } from './client/ace-client.js';
|
|
24
|
+
export { LocalCacheService } from './cache/local-cache.js';
|
|
25
|
+
export type { CacheConfig } from './cache/local-cache.js';
|
|
26
|
+
export { SessionStorage } from './cache/session-storage.js';
|
|
27
|
+
export type { SessionStorageConfig, SessionPin, SessionPinResult } from './cache/session-storage.js';
|
|
28
|
+
export type { SemanticVersion } from './utils/semver.js';
|
|
29
|
+
export { parseVersion, compareVersions, satisfiesVersion } from './utils/semver.js';
|
|
30
|
+
export type { CodeBlock } from './utils/code-extractor.js';
|
|
31
|
+
export { extractFunctionBodies, isInteresting, extractCodeBlocksFromMarkdown, extractAddedLinesFromDiff } from './utils/code-extractor.js';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,YAAY,EAEV,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EAGb,aAAa,EACb,0BAA0B,EAC1B,4BAA4B,EAG5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAGlB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,YAAY,EAEV,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAM7D,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,OAAO,EAEL,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAEL,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,EAEL,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAEL,cAAc,EACf,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAMpC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAEL,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAEL,qBAAqB,EACrB,aAAa,EACb,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ace-sdk/core - ACE Core Library
|
|
3
|
+
*
|
|
4
|
+
* Shared library for ACE (Agentic Context Engineering) pattern learning.
|
|
5
|
+
* Provides HTTP client, caching, configuration management, and types.
|
|
6
|
+
*
|
|
7
|
+
* @package @ace-sdk/core
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
export { THOROUGHNESS_PRESETS } from './types/pattern.js';
|
|
11
|
+
export { DEFAULT_RUNTIME_SETTINGS } from './types/config.js';
|
|
12
|
+
export { NoopLogger } from './logger/noop.js';
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Configuration
|
|
15
|
+
// =============================================================================
|
|
16
|
+
export {
|
|
17
|
+
// Config loader
|
|
18
|
+
loadConfig, getConfigPath, isConfigured } from './config/loader.js';
|
|
19
|
+
export {
|
|
20
|
+
// XDG path handling
|
|
21
|
+
expandPath, autodiscoverConfigPath, getLegacyConfigPath, getXdgConfigPath, autoMigrateConfig, ensureConfigDirectory, setSecurePermissions } from './config/xdg.js';
|
|
22
|
+
export {
|
|
23
|
+
// Config migration
|
|
24
|
+
migrateConfig, checkAndMigrate, autoMigrate } from './config/migration.js';
|
|
25
|
+
export {
|
|
26
|
+
// Config helpers
|
|
27
|
+
getTokenForOrg, getOrgName, listOrganizations, projectBelongsToOrg, extractOrgIdFromToken, getProjectsForOrg, isMultiOrgMode, validateConfig } from './config/helpers.js';
|
|
28
|
+
export {
|
|
29
|
+
// Context resolution
|
|
30
|
+
resolveContext, isValidOrgId, isValidProjectId, createContext } from './config/context.js';
|
|
31
|
+
// =============================================================================
|
|
32
|
+
// Client
|
|
33
|
+
// =============================================================================
|
|
34
|
+
export { AceClient } from './client/ace-client.js';
|
|
35
|
+
// =============================================================================
|
|
36
|
+
// Cache
|
|
37
|
+
// =============================================================================
|
|
38
|
+
export {
|
|
39
|
+
// Local SQLite cache
|
|
40
|
+
LocalCacheService } from './cache/local-cache.js';
|
|
41
|
+
export {
|
|
42
|
+
// Session storage for pattern pinning
|
|
43
|
+
SessionStorage } from './cache/session-storage.js';
|
|
44
|
+
export {
|
|
45
|
+
// Semantic versioning
|
|
46
|
+
parseVersion, compareVersions, satisfiesVersion } from './utils/semver.js';
|
|
47
|
+
export {
|
|
48
|
+
// Code extraction
|
|
49
|
+
extractFunctionBodies, isInteresting, extractCodeBlocksFromMarkdown, extractAddedLinesFromDiff } from './utils/code-extractor.js';
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmCH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAa1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAO7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,OAAO;AACL,gBAAgB;AAChB,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAI5B,OAAO;AACL,oBAAoB;AACpB,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO;AACL,mBAAmB;AACnB,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO;AACL,iBAAiB;AACjB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO;AACL,qBAAqB;AACrB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO;AACL,qBAAqB;AACrB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAIhC,OAAO;AACL,sCAAsC;AACtC,cAAc,EACf,MAAM,4BAA4B,CAAC;AAcpC,OAAO;AACL,sBAAsB;AACtB,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAI3B,OAAO;AACL,kBAAkB;AAClB,qBAAqB,EACrB,aAAa,EACb,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Interface for ACE Core
|
|
3
|
+
*
|
|
4
|
+
* This interface abstracts logging so that ace-core can be used
|
|
5
|
+
* by both CLI (with chalk, ora, spinners) and MCP (simple console.error)
|
|
6
|
+
* without any CLI-specific dependencies.
|
|
7
|
+
*
|
|
8
|
+
* @package @ace-sdk/core
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Logger options that control output behavior
|
|
12
|
+
*/
|
|
13
|
+
export interface LoggerOptions {
|
|
14
|
+
/** If true, output only JSON (no human-readable messages) */
|
|
15
|
+
json?: boolean;
|
|
16
|
+
/** If true, suppress all non-essential output */
|
|
17
|
+
quiet?: boolean;
|
|
18
|
+
/** If true, enable verbose debug output */
|
|
19
|
+
verbose?: boolean;
|
|
20
|
+
/** If true, enable trace-level debug output (very detailed) */
|
|
21
|
+
trace?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Logger interface for ACE operations
|
|
25
|
+
*
|
|
26
|
+
* Implementations:
|
|
27
|
+
* - CliLogger: Uses chalk colors, ora spinners (in @ace-sdk/cli)
|
|
28
|
+
* - McpLogger: Simple console.error output (in @ace-sdk/mcp)
|
|
29
|
+
* - NoopLogger: Silent logger for testing or when no output desired
|
|
30
|
+
*/
|
|
31
|
+
export interface ILogger {
|
|
32
|
+
/**
|
|
33
|
+
* Log debug message (only shown in verbose mode)
|
|
34
|
+
*/
|
|
35
|
+
debug(message: string, data?: unknown): void;
|
|
36
|
+
/**
|
|
37
|
+
* Log informational message
|
|
38
|
+
*/
|
|
39
|
+
info(message: string, data?: unknown): void;
|
|
40
|
+
/**
|
|
41
|
+
* Log success message
|
|
42
|
+
*/
|
|
43
|
+
success(message: string, data?: unknown): void;
|
|
44
|
+
/**
|
|
45
|
+
* Log warning message
|
|
46
|
+
*/
|
|
47
|
+
warn(message: string, data?: unknown): void;
|
|
48
|
+
/**
|
|
49
|
+
* Log error message
|
|
50
|
+
*/
|
|
51
|
+
error(message: string, error?: Error | string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Log trace message (only shown in trace mode, very detailed)
|
|
54
|
+
*/
|
|
55
|
+
trace(message: string, data?: unknown): void;
|
|
56
|
+
/**
|
|
57
|
+
* Check if in JSON output mode
|
|
58
|
+
*/
|
|
59
|
+
isJson(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if in quiet mode
|
|
62
|
+
*/
|
|
63
|
+
isQuiet(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Check if in verbose mode
|
|
66
|
+
*/
|
|
67
|
+
isVerbose(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Check if in trace mode
|
|
70
|
+
*/
|
|
71
|
+
isTrace(): boolean;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/logger/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE7C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE7C;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC;IAErB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Interface for ACE Core
|
|
3
|
+
*
|
|
4
|
+
* This interface abstracts logging so that ace-core can be used
|
|
5
|
+
* by both CLI (with chalk, ora, spinners) and MCP (simple console.error)
|
|
6
|
+
* without any CLI-specific dependencies.
|
|
7
|
+
*
|
|
8
|
+
* @package @ace-sdk/core
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/logger/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* No-op Logger Implementation
|
|
3
|
+
*
|
|
4
|
+
* Silent logger that discards all output.
|
|
5
|
+
* Used as default when no logger is provided.
|
|
6
|
+
*
|
|
7
|
+
* @package @ace-sdk/core
|
|
8
|
+
*/
|
|
9
|
+
import { ILogger, LoggerOptions } from './interface.js';
|
|
10
|
+
/**
|
|
11
|
+
* NoopLogger - Silent logger implementation
|
|
12
|
+
*
|
|
13
|
+
* All methods are no-ops. Use this when:
|
|
14
|
+
* - You want silent operation
|
|
15
|
+
* - You're running tests
|
|
16
|
+
* - You don't want any console output
|
|
17
|
+
*/
|
|
18
|
+
export declare class NoopLogger implements ILogger {
|
|
19
|
+
private options;
|
|
20
|
+
constructor(options?: LoggerOptions);
|
|
21
|
+
debug(_message: string, _data?: unknown): void;
|
|
22
|
+
info(_message: string, _data?: unknown): void;
|
|
23
|
+
success(_message: string, _data?: unknown): void;
|
|
24
|
+
warn(_message: string, _data?: unknown): void;
|
|
25
|
+
error(_message: string, _error?: Error | string): void;
|
|
26
|
+
trace(_message: string, _data?: unknown): void;
|
|
27
|
+
isJson(): boolean;
|
|
28
|
+
isQuiet(): boolean;
|
|
29
|
+
isVerbose(): boolean;
|
|
30
|
+
isTrace(): boolean;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=noop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/logger/noop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,OAAO;IACxC,OAAO,CAAC,OAAO,CAAgB;gBAEnB,OAAO,GAAE,aAAkB;IAIvC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAIhD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAItD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9C,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,OAAO;IAIlB,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* No-op Logger Implementation
|
|
3
|
+
*
|
|
4
|
+
* Silent logger that discards all output.
|
|
5
|
+
* Used as default when no logger is provided.
|
|
6
|
+
*
|
|
7
|
+
* @package @ace-sdk/core
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* NoopLogger - Silent logger implementation
|
|
11
|
+
*
|
|
12
|
+
* All methods are no-ops. Use this when:
|
|
13
|
+
* - You want silent operation
|
|
14
|
+
* - You're running tests
|
|
15
|
+
* - You don't want any console output
|
|
16
|
+
*/
|
|
17
|
+
export class NoopLogger {
|
|
18
|
+
options;
|
|
19
|
+
constructor(options = {}) {
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
22
|
+
debug(_message, _data) {
|
|
23
|
+
// No-op
|
|
24
|
+
}
|
|
25
|
+
info(_message, _data) {
|
|
26
|
+
// No-op
|
|
27
|
+
}
|
|
28
|
+
success(_message, _data) {
|
|
29
|
+
// No-op
|
|
30
|
+
}
|
|
31
|
+
warn(_message, _data) {
|
|
32
|
+
// No-op
|
|
33
|
+
}
|
|
34
|
+
error(_message, _error) {
|
|
35
|
+
// No-op
|
|
36
|
+
}
|
|
37
|
+
trace(_message, _data) {
|
|
38
|
+
// No-op
|
|
39
|
+
}
|
|
40
|
+
isJson() {
|
|
41
|
+
return this.options.json ?? false;
|
|
42
|
+
}
|
|
43
|
+
isQuiet() {
|
|
44
|
+
return this.options.quiet ?? true; // Default to quiet for NoopLogger
|
|
45
|
+
}
|
|
46
|
+
isVerbose() {
|
|
47
|
+
return this.options.verbose ?? false;
|
|
48
|
+
}
|
|
49
|
+
isTrace() {
|
|
50
|
+
return this.options.trace ?? false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=noop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noop.js","sourceRoot":"","sources":["../../src/logger/noop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACb,OAAO,CAAgB;IAE/B,YAAY,UAAyB,EAAE;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,KAAe;QACrC,QAAQ;IACV,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,KAAe;QACpC,QAAQ;IACV,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,KAAe;QACvC,QAAQ;IACV,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,KAAe;QACpC,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,MAAuB;QAC7C,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,KAAe;QACrC,QAAQ;IACV,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACpC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,kCAAkC;IACvE,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACvC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACE Configuration Types
|
|
3
|
+
* @package @ace-sdk/core
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Organization-specific configuration (v3.8.1)
|
|
7
|
+
*/
|
|
8
|
+
export interface OrgConfig {
|
|
9
|
+
orgName: string;
|
|
10
|
+
apiToken: string;
|
|
11
|
+
projects: string[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* ACE Configuration (loaded from config file)
|
|
15
|
+
*/
|
|
16
|
+
export interface AceConfig {
|
|
17
|
+
serverUrl: string;
|
|
18
|
+
apiToken: string;
|
|
19
|
+
projectId: string;
|
|
20
|
+
cacheTtlMinutes: number;
|
|
21
|
+
orgs?: Record<string, OrgConfig>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Server-side runtime settings (v3.9.0+)
|
|
25
|
+
* Retrieved from GET /api/v1/config
|
|
26
|
+
* Drives CLI behavior instead of hardcoded defaults
|
|
27
|
+
*/
|
|
28
|
+
export interface AceRuntimeSettings {
|
|
29
|
+
searchTopK?: number;
|
|
30
|
+
searchThreshold?: number;
|
|
31
|
+
learningEnabled?: boolean;
|
|
32
|
+
learningMinTokens?: number;
|
|
33
|
+
learningMinConfidence?: number;
|
|
34
|
+
summarizationStyle?: 'short' | 'detailed' | 'technical';
|
|
35
|
+
summarizationMaxTokens?: number;
|
|
36
|
+
patternMinHelpful?: number;
|
|
37
|
+
patternDefaultSection?: string;
|
|
38
|
+
bootstrapDefaultMode?: 'hybrid' | 'git-history' | 'local-files' | 'docs-only';
|
|
39
|
+
bootstrapDefaultThoroughness?: 'light' | 'medium' | 'deep';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Server-side configuration (v3.6.0+)
|
|
43
|
+
* Retrieved from GET /api/v1/config
|
|
44
|
+
*/
|
|
45
|
+
export interface ServerConfig {
|
|
46
|
+
dedup_similarity_threshold?: number;
|
|
47
|
+
dedup_enabled?: boolean;
|
|
48
|
+
constitution_threshold?: number;
|
|
49
|
+
pruning_threshold?: number;
|
|
50
|
+
max_playbook_tokens?: number | null;
|
|
51
|
+
token_budget_enforcement?: boolean;
|
|
52
|
+
max_batch_size?: number;
|
|
53
|
+
auto_learning_enabled?: boolean;
|
|
54
|
+
reflector_enabled?: boolean;
|
|
55
|
+
curator_enabled?: boolean;
|
|
56
|
+
search_top_k?: number;
|
|
57
|
+
runtime_settings?: AceRuntimeSettings;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* ACE Runtime Context (v3.9.0+)
|
|
61
|
+
* Combines local connection config with server-derived runtime settings
|
|
62
|
+
*
|
|
63
|
+
* This is the complete context needed for operations, including
|
|
64
|
+
* both connection details and behavior-driving settings from the server.
|
|
65
|
+
*/
|
|
66
|
+
export interface AceContext {
|
|
67
|
+
serverUrl: string;
|
|
68
|
+
apiToken: string;
|
|
69
|
+
projectId: string;
|
|
70
|
+
orgId?: string;
|
|
71
|
+
cacheTtlMinutes: number;
|
|
72
|
+
runtimeSettings: AceRuntimeSettings;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Default runtime settings used when server doesn't provide overrides
|
|
76
|
+
*/
|
|
77
|
+
export declare const DEFAULT_RUNTIME_SETTINGS: AceRuntimeSettings;
|
|
78
|
+
/**
|
|
79
|
+
* Resolved context with org and project IDs
|
|
80
|
+
*/
|
|
81
|
+
export interface ResolvedContext {
|
|
82
|
+
orgId: string;
|
|
83
|
+
projectId: string;
|
|
84
|
+
source: 'flags' | 'env' | 'file' | 'default';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Options for context resolution
|
|
88
|
+
*/
|
|
89
|
+
export interface ResolveContextOptions {
|
|
90
|
+
org?: string;
|
|
91
|
+
project?: string;
|
|
92
|
+
cwd?: string;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAEjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,kBAAkB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAGhC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,oBAAoB,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;IAC9E,4BAA4B,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAE3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IAEzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,eAAe,EAAE,MAAM,CAAC;IAGxB,eAAe,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAqBtC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACE Configuration Types
|
|
3
|
+
* @package @ace-sdk/core
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Default runtime settings used when server doesn't provide overrides
|
|
7
|
+
*/
|
|
8
|
+
export const DEFAULT_RUNTIME_SETTINGS = {
|
|
9
|
+
// Semantic search
|
|
10
|
+
searchTopK: 10,
|
|
11
|
+
searchThreshold: 0.75,
|
|
12
|
+
// Learning behavior
|
|
13
|
+
learningEnabled: true,
|
|
14
|
+
learningMinTokens: 100,
|
|
15
|
+
learningMinConfidence: 0.30,
|
|
16
|
+
// Summarization
|
|
17
|
+
summarizationStyle: 'detailed',
|
|
18
|
+
summarizationMaxTokens: 1000,
|
|
19
|
+
// Pattern retrieval
|
|
20
|
+
patternMinHelpful: 0,
|
|
21
|
+
patternDefaultSection: undefined,
|
|
22
|
+
// Bootstrap
|
|
23
|
+
bootstrapDefaultMode: 'hybrid',
|
|
24
|
+
bootstrapDefaultThoroughness: 'medium'
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6FH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IAC1D,kBAAkB;IAClB,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,IAAI;IAErB,oBAAoB;IACpB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,GAAG;IACtB,qBAAqB,EAAE,IAAI;IAE3B,gBAAgB;IAChB,kBAAkB,EAAE,UAAU;IAC9B,sBAAsB,EAAE,IAAI;IAE5B,oBAAoB;IACpB,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,SAAS;IAEhC,YAAY;IACZ,oBAAoB,EAAE,QAAQ;IAC9B,4BAA4B,EAAE,QAAQ;CACvC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type exports for @ace-sdk/core
|
|
3
|
+
*/
|
|
4
|
+
export type { TrajectoryStep, ExecutionTrace, BulletSection, PlaybookBullet, DomainsSummary, StructuredPlaybook, DeltaOperationType, DeltaOperation, Reflection, PlaybookStats, TokenMetadata, SearchResponseWithMetadata, PlaybookResponseWithMetadata, BootstrapResponse, BootstrapMode, ThoroughnessLevel, ThoroughnessPreset, LearningStatistics, LearningResponse } from './pattern.js';
|
|
5
|
+
export { THOROUGHNESS_PRESETS } from './pattern.js';
|
|
6
|
+
export type { OrgConfig, AceConfig, AceRuntimeSettings, ServerConfig, AceContext, ResolvedContext, ResolveContextOptions } from './config.js';
|
|
7
|
+
export { DEFAULT_RUNTIME_SETTINGS } from './config.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,YAAY,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAapD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|