dino-spec 13.6.0 → 14.0.1

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 (88) hide show
  1. package/bin/dino-hud.js +1 -1
  2. package/bin/dino.js +1 -1
  3. package/dist/core/agents/context-isolation.js +26 -26
  4. package/dist/core/context/__tests__/budget-thresholds.test.d.ts +5 -0
  5. package/dist/core/context/__tests__/budget-thresholds.test.d.ts.map +1 -0
  6. package/dist/core/context/__tests__/budget-thresholds.test.js +223 -0
  7. package/dist/core/context/__tests__/budget-thresholds.test.js.map +1 -0
  8. package/dist/core/context/__tests__/compaction-engine.test.d.ts +5 -0
  9. package/dist/core/context/__tests__/compaction-engine.test.d.ts.map +1 -0
  10. package/dist/core/context/__tests__/compaction-engine.test.js +474 -0
  11. package/dist/core/context/__tests__/compaction-engine.test.js.map +1 -0
  12. package/dist/core/context/__tests__/output-persistence.test.d.ts +5 -0
  13. package/dist/core/context/__tests__/output-persistence.test.d.ts.map +1 -0
  14. package/dist/core/context/__tests__/output-persistence.test.js +246 -0
  15. package/dist/core/context/__tests__/output-persistence.test.js.map +1 -0
  16. package/dist/core/context/budget-thresholds.d.ts +167 -0
  17. package/dist/core/context/budget-thresholds.d.ts.map +1 -0
  18. package/dist/core/context/budget-thresholds.js +234 -0
  19. package/dist/core/context/budget-thresholds.js.map +1 -0
  20. package/dist/core/context/compaction-engine.d.ts +193 -0
  21. package/dist/core/context/compaction-engine.d.ts.map +1 -0
  22. package/dist/core/context/compaction-engine.js +376 -0
  23. package/dist/core/context/compaction-engine.js.map +1 -0
  24. package/dist/core/context/index.d.ts +7 -3
  25. package/dist/core/context/index.d.ts.map +1 -1
  26. package/dist/core/context/index.js +22 -3
  27. package/dist/core/context/index.js.map +1 -1
  28. package/dist/core/context/output-persistence.d.ts +142 -0
  29. package/dist/core/context/output-persistence.d.ts.map +1 -0
  30. package/dist/core/context/output-persistence.js +242 -0
  31. package/dist/core/context/output-persistence.js.map +1 -0
  32. package/dist/core/environment/__tests__/pre-verify.test.d.ts +5 -0
  33. package/dist/core/environment/__tests__/pre-verify.test.d.ts.map +1 -0
  34. package/dist/core/environment/__tests__/pre-verify.test.js +343 -0
  35. package/dist/core/environment/__tests__/pre-verify.test.js.map +1 -0
  36. package/dist/core/environment/index.d.ts +8 -0
  37. package/dist/core/environment/index.d.ts.map +1 -0
  38. package/dist/core/environment/index.js +7 -0
  39. package/dist/core/environment/index.js.map +1 -0
  40. package/dist/core/environment/pre-verify.d.ts +63 -0
  41. package/dist/core/environment/pre-verify.d.ts.map +1 -0
  42. package/dist/core/environment/pre-verify.js +221 -0
  43. package/dist/core/environment/pre-verify.js.map +1 -0
  44. package/dist/core/environment/types.d.ts +37 -0
  45. package/dist/core/environment/types.d.ts.map +1 -0
  46. package/dist/core/environment/types.js +5 -0
  47. package/dist/core/environment/types.js.map +1 -0
  48. package/dist/core/intelligence/context-budget.d.ts +10 -5
  49. package/dist/core/intelligence/context-budget.d.ts.map +1 -1
  50. package/dist/core/intelligence/context-budget.js +12 -5
  51. package/dist/core/intelligence/context-budget.js.map +1 -1
  52. package/dist/mcp/__tests__/dynamic-updates.test.d.ts +5 -0
  53. package/dist/mcp/__tests__/dynamic-updates.test.d.ts.map +1 -0
  54. package/dist/mcp/__tests__/dynamic-updates.test.js +314 -0
  55. package/dist/mcp/__tests__/dynamic-updates.test.js.map +1 -0
  56. package/dist/mcp/dynamic-updates.d.ts +167 -0
  57. package/dist/mcp/dynamic-updates.d.ts.map +1 -0
  58. package/dist/mcp/dynamic-updates.js +313 -0
  59. package/dist/mcp/dynamic-updates.js.map +1 -0
  60. package/dist/mcp/index.d.ts +4 -2
  61. package/dist/mcp/index.d.ts.map +1 -1
  62. package/dist/mcp/index.js +5 -2
  63. package/dist/mcp/index.js.map +1 -1
  64. package/dist/mcp/registry.d.ts +4 -4
  65. package/dist/mcp/registry.d.ts.map +1 -1
  66. package/dist/mcp/registry.js +16 -16
  67. package/dist/mcp/registry.js.map +1 -1
  68. package/dist/mcp/tools/__tests__/environment.test.d.ts +5 -0
  69. package/dist/mcp/tools/__tests__/environment.test.d.ts.map +1 -0
  70. package/dist/mcp/tools/__tests__/environment.test.js +219 -0
  71. package/dist/mcp/tools/__tests__/environment.test.js.map +1 -0
  72. package/dist/mcp/tools/environment.d.ts +27 -0
  73. package/dist/mcp/tools/environment.d.ts.map +1 -0
  74. package/dist/mcp/tools/environment.js +97 -0
  75. package/dist/mcp/tools/environment.js.map +1 -0
  76. package/dist/mcp/tools/index.d.ts +3 -1
  77. package/dist/mcp/tools/index.d.ts.map +1 -1
  78. package/dist/mcp/tools/index.js +13 -1
  79. package/dist/mcp/tools/index.js.map +1 -1
  80. package/dist/mcp/tools/output-persistence.d.ts +44 -0
  81. package/dist/mcp/tools/output-persistence.d.ts.map +1 -0
  82. package/dist/mcp/tools/output-persistence.js +208 -0
  83. package/dist/mcp/tools/output-persistence.js.map +1 -0
  84. package/dist/mcp-server.d.ts +2 -1
  85. package/dist/mcp-server.d.ts.map +1 -1
  86. package/dist/mcp-server.js +27 -2
  87. package/dist/mcp-server.js.map +1 -1
  88. package/package.json +1 -1
@@ -1,12 +1,13 @@
1
1
  /**
2
- * Context Management Module - v13.3.0
2
+ * Context Management Module - v14.0.0
3
3
  *
4
4
  * Tools for managing context window efficiently.
5
5
  * Includes tool result protection, clearing recommendations,
6
6
  * just-in-time context retrieval, automated clearing,
7
7
  * summarization before clearing (v9.6.0), lazy context
8
- * loading (v10.1.0), auto-lazy context (v12.5.0), and
9
- * auto context engineering (v13.3.0).
8
+ * loading (v10.1.0), auto-lazy context (v12.5.0),
9
+ * auto context engineering (v13.3.0), and
10
+ * optimized budget thresholds (v14.0.0).
10
11
  */
11
12
  export {
12
13
  // Constants
@@ -159,4 +160,22 @@ calculateStalenessScore, calculateRedundancyScore, calculateFragmentationScore,
159
160
  calculateFocusFragmentationScore, calculateFocusDistribution,
160
161
  // Formatting
161
162
  formatHealthReport, formatHealthStatus, } from './context-health.js';
163
+ // Budget thresholds (v14.0.0)
164
+ export {
165
+ // Constants
166
+ OPTIMIZED_BUDGET_THRESHOLDS, LEGACY_BUDGET_THRESHOLDS, DEFAULT_SAFETY_MARGIN, DEFAULT_THRESHOLD_CONFIG,
167
+ // Functions
168
+ getThresholdLevel, calculateThresholdResult, loadThresholdConfig, isLegacyThresholds, getThresholdRecommendations, formatThresholdResult, calculateSafeCapacity, getEffectiveLimit, } from './budget-thresholds.js';
169
+ // Output persistence (v14.0.0)
170
+ export {
171
+ // Constants
172
+ OUTPUT_SIZE_THRESHOLD, OUTPUT_DIR, OUTPUT_RETENTION_DAYS,
173
+ // Functions
174
+ shouldPersist, persistOutput, readPersistedOutput, getOutputMetadata, listPersistedOutputs, cleanupExpiredOutputs, getPersistedOutputsStats, generateContentHash, generateOutputFilename, createFileReference, parseFileReference, formatPersistenceResult, } from './output-persistence.js';
175
+ // Auto compaction engine (v14.0.0)
176
+ export {
177
+ // Constants
178
+ AUTO_COMPACT_THRESHOLD, COMPACT_OUTPUT_DIR, AUTO_COMPACT_FEATURE_FLAG,
179
+ // Functions
180
+ shouldAutoCompact, getUsagePercent, generateSessionId, extractDecisions, extractBlockers, extractProgress, createStructuredCompaction, persistStructuredCompaction, listCompactions, runAutoCompaction, formatCompactionEngineResult, getCompactionEngineStats, } from './compaction-engine.js';
162
181
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/context/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/context/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Output Persistence - v14.0.0
3
+ *
4
+ * Persists large tool outputs to disk to reduce context usage.
5
+ * When tool outputs exceed the threshold (30K chars), they are
6
+ * saved to .dino/outputs/ and a file reference is returned instead.
7
+ *
8
+ * Features:
9
+ * - Automatic size detection
10
+ * - Content hashing for deduplication
11
+ * - File reference format for retrieval
12
+ * - Automatic cleanup of old outputs
13
+ * - Integration with MCP tool results
14
+ *
15
+ * Reference: Anthropic context engineering best practices
16
+ */
17
+ /**
18
+ * Output size threshold in characters
19
+ * Outputs larger than this will be persisted to disk
20
+ */
21
+ export declare const OUTPUT_SIZE_THRESHOLD = 30000;
22
+ /**
23
+ * Directory for persisted outputs
24
+ */
25
+ export declare const OUTPUT_DIR = ".dino/outputs";
26
+ /**
27
+ * Default retention period in days
28
+ */
29
+ export declare const OUTPUT_RETENTION_DAYS = 7;
30
+ /**
31
+ * Persisted output metadata
32
+ */
33
+ export interface PersistedOutput {
34
+ /** File path where output is stored */
35
+ path: string;
36
+ /** Content hash for deduplication */
37
+ hash: string;
38
+ /** Original content size in characters */
39
+ sizeChars: number;
40
+ /** ISO timestamp when created */
41
+ createdAt: string;
42
+ /** ISO timestamp when output expires */
43
+ expiresAt: string;
44
+ /** Original source identifier (e.g., tool name) */
45
+ source?: string;
46
+ }
47
+ /**
48
+ * Output persistence result
49
+ */
50
+ export interface OutputPersistenceResult {
51
+ /** Whether output was persisted to disk */
52
+ persisted: boolean;
53
+ /** File path (if persisted) or original content (if not) */
54
+ reference: string;
55
+ /** Original content size in characters */
56
+ originalSize: number;
57
+ /** Token estimate for original content */
58
+ estimatedTokens: number;
59
+ /** Token savings if persisted (original - reference) */
60
+ tokensSaved: number;
61
+ }
62
+ /**
63
+ * Persistence options
64
+ */
65
+ export interface PersistenceOptions {
66
+ /** Size threshold in characters (default: 30K) */
67
+ threshold?: number;
68
+ /** Retention period in days (default: 7) */
69
+ retentionDays?: number;
70
+ /** Source identifier for tracking */
71
+ source?: string;
72
+ /** Force persistence even if below threshold */
73
+ force?: boolean;
74
+ }
75
+ /**
76
+ * Generate content hash (first 8 characters of SHA-256)
77
+ */
78
+ export declare function generateContentHash(content: string): string;
79
+ /**
80
+ * Generate output filename
81
+ * Format: {ISO-timestamp}-{hash}.txt
82
+ */
83
+ export declare function generateOutputFilename(content: string): string;
84
+ /**
85
+ * Calculate expiration date
86
+ */
87
+ export declare function calculateExpirationDate(retentionDays?: number): string;
88
+ /**
89
+ * Estimate tokens from character count
90
+ * Uses conservative 4 chars per token for English text
91
+ */
92
+ export declare function estimateTokensFromChars(chars: number): number;
93
+ /**
94
+ * Check if output should be persisted based on size
95
+ */
96
+ export declare function shouldPersist(content: string, options?: PersistenceOptions): boolean;
97
+ /**
98
+ * Create a file reference string for persisted output
99
+ * Format: [Output persisted to: .dino/outputs/filename.txt (X chars, ~Y tokens)]
100
+ */
101
+ export declare function createFileReference(path: string, sizeChars: number): string;
102
+ /**
103
+ * Parse file reference to extract path
104
+ * Returns null if not a valid file reference
105
+ */
106
+ export declare function parseFileReference(reference: string): string | null;
107
+ /**
108
+ * Persist output to disk
109
+ */
110
+ export declare function persistOutput(content: string, projectDir?: string, options?: PersistenceOptions): Promise<OutputPersistenceResult>;
111
+ /**
112
+ * Read persisted output from disk
113
+ */
114
+ export declare function readPersistedOutput(filePath: string, projectDir?: string): Promise<string | null>;
115
+ /**
116
+ * Get metadata for persisted output
117
+ */
118
+ export declare function getOutputMetadata(filePath: string, projectDir?: string): Promise<PersistedOutput | null>;
119
+ /**
120
+ * List all persisted outputs
121
+ */
122
+ export declare function listPersistedOutputs(projectDir?: string): Promise<PersistedOutput[]>;
123
+ /**
124
+ * Clean up expired outputs
125
+ * Returns number of files cleaned up
126
+ */
127
+ export declare function cleanupExpiredOutputs(projectDir?: string): Promise<number>;
128
+ /**
129
+ * Get total size of persisted outputs
130
+ */
131
+ export declare function getPersistedOutputsStats(projectDir?: string): Promise<{
132
+ count: number;
133
+ totalChars: number;
134
+ estimatedTokensSaved: number;
135
+ oldestOutput: string | null;
136
+ newestOutput: string | null;
137
+ }>;
138
+ /**
139
+ * Format persistence result for display
140
+ */
141
+ export declare function formatPersistenceResult(result: OutputPersistenceResult): string;
142
+ //# sourceMappingURL=output-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-persistence.d.ts","sourceRoot":"","sources":["../../../src/core/context/output-persistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Output Persistence - v14.0.0
3
+ *
4
+ * Persists large tool outputs to disk to reduce context usage.
5
+ * When tool outputs exceed the threshold (30K chars), they are
6
+ * saved to .dino/outputs/ and a file reference is returned instead.
7
+ *
8
+ * Features:
9
+ * - Automatic size detection
10
+ * - Content hashing for deduplication
11
+ * - File reference format for retrieval
12
+ * - Automatic cleanup of old outputs
13
+ * - Integration with MCP tool results
14
+ *
15
+ * Reference: Anthropic context engineering best practices
16
+ */
17
+ import { join } from 'path';
18
+ import { createHash } from 'crypto';
19
+ import { FileSystem } from '../../utils/file-system.js';
20
+ /**
21
+ * Output size threshold in characters
22
+ * Outputs larger than this will be persisted to disk
23
+ */
24
+ export const OUTPUT_SIZE_THRESHOLD = 30_000;
25
+ /**
26
+ * Directory for persisted outputs
27
+ */
28
+ export const OUTPUT_DIR = '.dino/outputs';
29
+ /**
30
+ * Default retention period in days
31
+ */
32
+ export const OUTPUT_RETENTION_DAYS = 7;
33
+ /**
34
+ * Generate content hash (first 8 characters of SHA-256)
35
+ */
36
+ export function generateContentHash(content) {
37
+ return createHash('sha256').update(content).digest('hex').slice(0, 8);
38
+ }
39
+ /**
40
+ * Generate output filename
41
+ * Format: {ISO-timestamp}-{hash}.txt
42
+ */
43
+ export function generateOutputFilename(content) {
44
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
45
+ const hash = generateContentHash(content);
46
+ return `${timestamp}-${hash}.txt`;
47
+ }
48
+ /**
49
+ * Calculate expiration date
50
+ */
51
+ export function calculateExpirationDate(retentionDays = OUTPUT_RETENTION_DAYS) {
52
+ const expirationDate = new Date();
53
+ expirationDate.setDate(expirationDate.getDate() + retentionDays);
54
+ return expirationDate.toISOString();
55
+ }
56
+ /**
57
+ * Estimate tokens from character count
58
+ * Uses conservative 4 chars per token for English text
59
+ */
60
+ export function estimateTokensFromChars(chars) {
61
+ return Math.ceil(chars / 4);
62
+ }
63
+ /**
64
+ * Check if output should be persisted based on size
65
+ */
66
+ export function shouldPersist(content, options = {}) {
67
+ if (options.force) {
68
+ return true;
69
+ }
70
+ const threshold = options.threshold ?? OUTPUT_SIZE_THRESHOLD;
71
+ return content.length > threshold;
72
+ }
73
+ /**
74
+ * Create a file reference string for persisted output
75
+ * Format: [Output persisted to: .dino/outputs/filename.txt (X chars, ~Y tokens)]
76
+ */
77
+ export function createFileReference(path, sizeChars) {
78
+ const tokens = estimateTokensFromChars(sizeChars);
79
+ return `[Output persisted to: ${path} (${sizeChars.toLocaleString()} chars, ~${tokens.toLocaleString()} tokens)]`;
80
+ }
81
+ /**
82
+ * Parse file reference to extract path
83
+ * Returns null if not a valid file reference
84
+ */
85
+ export function parseFileReference(reference) {
86
+ const match = reference.match(/\[Output persisted to: ([^\s]+)\s+\(/);
87
+ return match ? match[1] : null;
88
+ }
89
+ /**
90
+ * Persist output to disk
91
+ */
92
+ export async function persistOutput(content, projectDir = process.cwd(), options = {}) {
93
+ const originalSize = content.length;
94
+ const estimatedTokens = estimateTokensFromChars(originalSize);
95
+ // Check if should persist
96
+ if (!shouldPersist(content, options)) {
97
+ return {
98
+ persisted: false,
99
+ reference: content,
100
+ originalSize,
101
+ estimatedTokens,
102
+ tokensSaved: 0,
103
+ };
104
+ }
105
+ // Ensure output directory exists
106
+ const outputDir = join(projectDir, OUTPUT_DIR);
107
+ await FileSystem.createDirectory(outputDir);
108
+ // Generate filename and path
109
+ const filename = generateOutputFilename(content);
110
+ const outputPath = join(outputDir, filename);
111
+ const relativePath = join(OUTPUT_DIR, filename);
112
+ // Write content to file
113
+ await FileSystem.writeFile(outputPath, content);
114
+ // Create metadata
115
+ const metadata = {
116
+ path: relativePath,
117
+ hash: generateContentHash(content),
118
+ sizeChars: originalSize,
119
+ createdAt: new Date().toISOString(),
120
+ expiresAt: calculateExpirationDate(options.retentionDays),
121
+ source: options.source,
122
+ };
123
+ // Write metadata file
124
+ const metadataPath = outputPath.replace('.txt', '.meta.json');
125
+ await FileSystem.writeJson(metadataPath, metadata);
126
+ // Create file reference
127
+ const reference = createFileReference(relativePath, originalSize);
128
+ const referenceTokens = estimateTokensFromChars(reference.length);
129
+ return {
130
+ persisted: true,
131
+ reference,
132
+ originalSize,
133
+ estimatedTokens,
134
+ tokensSaved: estimatedTokens - referenceTokens,
135
+ };
136
+ }
137
+ /**
138
+ * Read persisted output from disk
139
+ */
140
+ export async function readPersistedOutput(filePath, projectDir = process.cwd()) {
141
+ // Handle both relative and absolute paths
142
+ const absolutePath = filePath.startsWith(projectDir)
143
+ ? filePath
144
+ : join(projectDir, filePath);
145
+ return FileSystem.readFileSafe(absolutePath);
146
+ }
147
+ /**
148
+ * Get metadata for persisted output
149
+ */
150
+ export async function getOutputMetadata(filePath, projectDir = process.cwd()) {
151
+ const absolutePath = filePath.startsWith(projectDir)
152
+ ? filePath
153
+ : join(projectDir, filePath);
154
+ const metadataPath = absolutePath.replace('.txt', '.meta.json');
155
+ return FileSystem.readJsonSafe(metadataPath);
156
+ }
157
+ /**
158
+ * List all persisted outputs
159
+ */
160
+ export async function listPersistedOutputs(projectDir = process.cwd()) {
161
+ const outputDir = join(projectDir, OUTPUT_DIR);
162
+ if (!(await FileSystem.exists(outputDir))) {
163
+ return [];
164
+ }
165
+ const files = await FileSystem.listDirectory(outputDir);
166
+ const outputs = [];
167
+ for (const file of files) {
168
+ if (file.endsWith('.meta.json')) {
169
+ const metadata = await FileSystem.readJsonSafe(join(outputDir, file));
170
+ if (metadata) {
171
+ outputs.push(metadata);
172
+ }
173
+ }
174
+ }
175
+ return outputs;
176
+ }
177
+ /**
178
+ * Clean up expired outputs
179
+ * Returns number of files cleaned up
180
+ */
181
+ export async function cleanupExpiredOutputs(projectDir = process.cwd()) {
182
+ const outputs = await listPersistedOutputs(projectDir);
183
+ const now = new Date();
184
+ let cleaned = 0;
185
+ for (const output of outputs) {
186
+ const expiresAt = new Date(output.expiresAt);
187
+ if (expiresAt < now) {
188
+ const outputPath = join(projectDir, output.path);
189
+ const metadataPath = outputPath.replace('.txt', '.meta.json');
190
+ try {
191
+ await FileSystem.remove(outputPath);
192
+ await FileSystem.remove(metadataPath);
193
+ cleaned++;
194
+ }
195
+ catch {
196
+ // Ignore deletion errors
197
+ }
198
+ }
199
+ }
200
+ return cleaned;
201
+ }
202
+ /**
203
+ * Get total size of persisted outputs
204
+ */
205
+ export async function getPersistedOutputsStats(projectDir = process.cwd()) {
206
+ const outputs = await listPersistedOutputs(projectDir);
207
+ if (outputs.length === 0) {
208
+ return {
209
+ count: 0,
210
+ totalChars: 0,
211
+ estimatedTokensSaved: 0,
212
+ oldestOutput: null,
213
+ newestOutput: null,
214
+ };
215
+ }
216
+ const totalChars = outputs.reduce((sum, o) => sum + o.sizeChars, 0);
217
+ const estimatedTokensSaved = estimateTokensFromChars(totalChars);
218
+ // Sort by creation date
219
+ outputs.sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
220
+ return {
221
+ count: outputs.length,
222
+ totalChars,
223
+ estimatedTokensSaved,
224
+ oldestOutput: outputs[0].createdAt,
225
+ newestOutput: outputs[outputs.length - 1].createdAt,
226
+ };
227
+ }
228
+ /**
229
+ * Format persistence result for display
230
+ */
231
+ export function formatPersistenceResult(result) {
232
+ if (!result.persisted) {
233
+ return `Output not persisted (${result.originalSize.toLocaleString()} chars, below threshold)`;
234
+ }
235
+ return [
236
+ `Output persisted successfully`,
237
+ `- Original size: ${result.originalSize.toLocaleString()} chars (~${result.estimatedTokens.toLocaleString()} tokens)`,
238
+ `- Tokens saved: ~${result.tokensSaved.toLocaleString()}`,
239
+ `- Reference: ${result.reference}`,
240
+ ].join('\n');
241
+ }
242
+ //# sourceMappingURL=output-persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-persistence.js","sourceRoot":"","sources":["../../../src/core/context/output-persistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Environment Pre-Verification Tests - v14.0.0
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=pre-verify.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-verify.test.d.ts","sourceRoot":"","sources":["../../../../src/core/environment/__tests__/pre-verify.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}