@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,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":"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"}
@@ -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,6 @@
1
+ /**
2
+ * Logger exports for @ace-sdk/core
3
+ */
4
+ export type { ILogger, LoggerOptions } from './interface.js';
5
+ export { NoopLogger } from './noop.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ /**
2
+ * Logger exports for @ace-sdk/core
3
+ */
4
+ export { NoopLogger } from './noop.js';
5
+ //# sourceMappingURL=index.js.map
@@ -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,6 @@
1
+ /**
2
+ * Type exports for @ace-sdk/core
3
+ */
4
+ export { THOROUGHNESS_PRESETS } from './pattern.js';
5
+ export { DEFAULT_RUNTIME_SETTINGS } from './config.js';
6
+ //# sourceMappingURL=index.js.map
@@ -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"}