@planu/cli 0.19.0 → 0.21.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/dist/engine/analyzer.js +1 -1
- package/dist/engine/analyzer.js.map +1 -1
- package/dist/engine/doc-generator/per-spec-report/executive-report.d.ts +7 -0
- package/dist/engine/doc-generator/per-spec-report/executive-report.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/executive-report.js +33 -0
- package/dist/engine/doc-generator/per-spec-report/executive-report.js.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/html-wrapper.d.ts +6 -0
- package/dist/engine/doc-generator/per-spec-report/html-wrapper.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/html-wrapper.js +54 -0
- package/dist/engine/doc-generator/per-spec-report/html-wrapper.js.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/index.d.ts +7 -0
- package/dist/engine/doc-generator/per-spec-report/index.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/index.js +8 -0
- package/dist/engine/doc-generator/per-spec-report/index.js.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/mermaid-renderer.d.ts +12 -0
- package/dist/engine/doc-generator/per-spec-report/mermaid-renderer.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/mermaid-renderer.js +39 -0
- package/dist/engine/doc-generator/per-spec-report/mermaid-renderer.js.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/spec-data-extractor.d.ts +6 -0
- package/dist/engine/doc-generator/per-spec-report/spec-data-extractor.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/spec-data-extractor.js +26 -0
- package/dist/engine/doc-generator/per-spec-report/spec-data-extractor.js.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/spec-section-builders.d.ts +10 -0
- package/dist/engine/doc-generator/per-spec-report/spec-section-builders.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/spec-section-builders.js +121 -0
- package/dist/engine/doc-generator/per-spec-report/spec-section-builders.js.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/technical-report.d.ts +7 -0
- package/dist/engine/doc-generator/per-spec-report/technical-report.d.ts.map +1 -0
- package/dist/engine/doc-generator/per-spec-report/technical-report.js +50 -0
- package/dist/engine/doc-generator/per-spec-report/technical-report.js.map +1 -0
- package/dist/engine/doc-generator/team-generators.js +2 -2
- package/dist/engine/doc-generator/team-generators.js.map +1 -1
- package/dist/engine/doc-generator.d.ts.map +1 -1
- package/dist/engine/doc-generator.js +25 -0
- package/dist/engine/doc-generator.js.map +1 -1
- package/dist/engine/dor-dod/dor.js +2 -2
- package/dist/engine/dor-dod/dor.js.map +1 -1
- package/dist/engine/execution-plan/plan-utils.js +4 -4
- package/dist/engine/execution-plan/plan-utils.js.map +1 -1
- package/dist/engine/handoff-packager.js +2 -2
- package/dist/engine/handoff-packager.js.map +1 -1
- package/dist/engine/mermaid-extended.d.ts +14 -0
- package/dist/engine/mermaid-extended.d.ts.map +1 -0
- package/dist/engine/mermaid-extended.js +77 -0
- package/dist/engine/mermaid-extended.js.map +1 -0
- package/dist/engine/mermaid-generator.d.ts +1 -0
- package/dist/engine/mermaid-generator.d.ts.map +1 -1
- package/dist/engine/mermaid-generator.js +13 -0
- package/dist/engine/mermaid-generator.js.map +1 -1
- package/dist/engine/planu-config-writer.d.ts +22 -0
- package/dist/engine/planu-config-writer.d.ts.map +1 -0
- package/dist/engine/planu-config-writer.js +39 -0
- package/dist/engine/planu-config-writer.js.map +1 -0
- package/dist/engine/progress-writer.d.ts +10 -0
- package/dist/engine/progress-writer.d.ts.map +1 -0
- package/dist/engine/progress-writer.js +63 -0
- package/dist/engine/progress-writer.js.map +1 -0
- package/dist/engine/readiness-checker.js +4 -4
- package/dist/engine/readiness-checker.js.map +1 -1
- package/dist/engine/spec-versioner.d.ts +1 -1
- package/dist/engine/spec-versioner.js +3 -3
- package/dist/engine/spec-versioner.js.map +1 -1
- package/dist/engine/usage-tracker/core.d.ts +20 -0
- package/dist/engine/usage-tracker/core.d.ts.map +1 -0
- package/dist/engine/usage-tracker/core.js +68 -0
- package/dist/engine/usage-tracker/core.js.map +1 -0
- package/dist/engine/usage-tracker/index.d.ts +5 -0
- package/dist/engine/usage-tracker/index.d.ts.map +1 -0
- package/dist/engine/usage-tracker/index.js +6 -0
- package/dist/engine/usage-tracker/index.js.map +1 -0
- package/dist/engine/usage-tracker/rate-limiter.d.ts +14 -0
- package/dist/engine/usage-tracker/rate-limiter.d.ts.map +1 -0
- package/dist/engine/usage-tracker/rate-limiter.js +73 -0
- package/dist/engine/usage-tracker/rate-limiter.js.map +1 -0
- package/dist/engine/usage-tracker/stats.d.ts +11 -0
- package/dist/engine/usage-tracker/stats.d.ts.map +1 -0
- package/dist/engine/usage-tracker/stats.js +85 -0
- package/dist/engine/usage-tracker/stats.js.map +1 -0
- package/dist/engine/usage-tracker/trial.d.ts +22 -0
- package/dist/engine/usage-tracker/trial.d.ts.map +1 -0
- package/dist/engine/usage-tracker/trial.js +41 -0
- package/dist/engine/usage-tracker/trial.js.map +1 -0
- package/dist/engine/validator/checklist.js +2 -2
- package/dist/engine/validator/checklist.js.map +1 -1
- package/dist/engine/validator/dor-dod.js +2 -2
- package/dist/engine/validator/dor-dod.js.map +1 -1
- package/dist/engine/validator/extractors.js +2 -2
- package/dist/engine/validator/extractors.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/spec-store.d.ts.map +1 -1
- package/dist/storage/spec-store.js +14 -1
- package/dist/storage/spec-store.js.map +1 -1
- package/dist/storage/usage-store.d.ts +9 -0
- package/dist/storage/usage-store.d.ts.map +1 -0
- package/dist/storage/usage-store.js +74 -0
- package/dist/storage/usage-store.js.map +1 -0
- package/dist/tools/challenge-spec-helpers.js +4 -4
- package/dist/tools/challenge-spec-helpers.js.map +1 -1
- package/dist/tools/create-spec.d.ts.map +1 -1
- package/dist/tools/create-spec.js +33 -10
- package/dist/tools/create-spec.js.map +1 -1
- package/dist/tools/data-governance/audit-handler.js +4 -4
- package/dist/tools/data-governance/audit-handler.js.map +1 -1
- package/dist/tools/data-governance/detect-handler.js +2 -2
- package/dist/tools/data-governance/detect-handler.js.map +1 -1
- package/dist/tools/define-ui-contract.js +4 -4
- package/dist/tools/define-ui-contract.js.map +1 -1
- package/dist/tools/design-schema.js +4 -4
- package/dist/tools/design-schema.js.map +1 -1
- package/dist/tools/detect-contradictions.js +4 -4
- package/dist/tools/detect-contradictions.js.map +1 -1
- package/dist/tools/detect-drift.js +2 -2
- package/dist/tools/detect-drift.js.map +1 -1
- package/dist/tools/generate-adr/helpers.js +4 -4
- package/dist/tools/generate-adr/helpers.js.map +1 -1
- package/dist/tools/generate-execution-plan.js +1 -1
- package/dist/tools/generate-execution-plan.js.map +1 -1
- package/dist/tools/init-project/handler.d.ts.map +1 -1
- package/dist/tools/init-project/handler.js +18 -0
- package/dist/tools/init-project/handler.js.map +1 -1
- package/dist/tools/orchestrate-distribution.d.ts.map +1 -1
- package/dist/tools/orchestrate-distribution.js +19 -12
- package/dist/tools/orchestrate-distribution.js.map +1 -1
- package/dist/tools/reconcile-spec.js +13 -13
- package/dist/tools/reconcile-spec.js.map +1 -1
- package/dist/tools/register-spec-tools/core-spec-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-tools/core-spec-tools.js +1 -1
- package/dist/tools/register-spec-tools/core-spec-tools.js.map +1 -1
- package/dist/tools/register-usage-tools.d.ts +3 -0
- package/dist/tools/register-usage-tools.d.ts.map +1 -0
- package/dist/tools/register-usage-tools.js +33 -0
- package/dist/tools/register-usage-tools.js.map +1 -0
- package/dist/tools/reverse-engineer/handler.js +2 -2
- package/dist/tools/reverse-engineer/handler.js.map +1 -1
- package/dist/tools/schemas/lifecycle.d.ts +2 -0
- package/dist/tools/schemas/lifecycle.d.ts.map +1 -1
- package/dist/tools/schemas/lifecycle.js +3 -1
- package/dist/tools/schemas/lifecycle.js.map +1 -1
- package/dist/tools/security-check.js +4 -4
- package/dist/tools/security-check.js.map +1 -1
- package/dist/tools/summarize-spec.js +8 -8
- package/dist/tools/summarize-spec.js.map +1 -1
- package/dist/tools/update-status.d.ts.map +1 -1
- package/dist/tools/update-status.js +15 -0
- package/dist/tools/update-status.js.map +1 -1
- package/dist/tools/usage-report.d.ts +3 -0
- package/dist/tools/usage-report.d.ts.map +1 -0
- package/dist/tools/usage-report.js +35 -0
- package/dist/tools/usage-report.js.map +1 -0
- package/dist/tools/usage-stats.d.ts +3 -0
- package/dist/tools/usage-stats.d.ts.map +1 -0
- package/dist/tools/usage-stats.js +33 -0
- package/dist/tools/usage-stats.js.map +1 -0
- package/dist/types/common/tech-enums.d.ts +2 -2
- package/dist/types/common/tech-enums.d.ts.map +1 -1
- package/dist/types/docs.d.ts +25 -0
- package/dist/types/docs.d.ts.map +1 -1
- package/dist/types/estimation.d.ts +2 -2
- package/dist/types/estimation.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/project/core.d.ts +7 -0
- package/dist/types/project/core.d.ts.map +1 -1
- package/dist/types/spec/core.d.ts +6 -3
- package/dist/types/spec/core.d.ts.map +1 -1
- package/dist/types/spec/inputs.d.ts +5 -2
- package/dist/types/spec/inputs.d.ts.map +1 -1
- package/dist/types/usage.d.ts +69 -0
- package/dist/types/usage.d.ts.map +1 -0
- package/dist/types/usage.js +4 -0
- package/dist/types/usage.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { UsageEvent, PricingTier } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new UsageEvent object. Does NOT persist — that is storage's job.
|
|
4
|
+
*/
|
|
5
|
+
export declare function recordUsageEvent(toolName: string, tier: PricingTier, success: boolean): UsageEvent;
|
|
6
|
+
/**
|
|
7
|
+
* Returns events within the specified time period relative to now.
|
|
8
|
+
* 'all' returns the full array unchanged.
|
|
9
|
+
*/
|
|
10
|
+
export declare function filterEventsByPeriod(events: readonly UsageEvent[], period: '7d' | '30d' | 'all'): readonly UsageEvent[];
|
|
11
|
+
/**
|
|
12
|
+
* Counts events whose timestamp matches the given YYYY-MM-DD date string.
|
|
13
|
+
* Comparison is based on UTC date extraction from ISO 8601 timestamps.
|
|
14
|
+
*/
|
|
15
|
+
export declare function countEventsForDate(events: readonly UsageEvent[], date: string): number;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the most recent event's timestamp, or null if the array is empty.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getLastEventTimestamp(events: readonly UsageEvent[]): string | null;
|
|
20
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/engine/usage-tracker/core.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMpE;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACf,UAAU,CAOZ;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAC3B,SAAS,UAAU,EAAE,CAcvB;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKtF;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,GAAG,IAAI,CAalF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// engine/usage-tracker/core.ts — Core usage event recording and filtering logic.
|
|
2
|
+
// All functions are pure (no I/O). Storage layer handles persistence.
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Event creation
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new UsageEvent object. Does NOT persist — that is storage's job.
|
|
8
|
+
*/
|
|
9
|
+
export function recordUsageEvent(toolName, tier, success) {
|
|
10
|
+
return {
|
|
11
|
+
toolName,
|
|
12
|
+
tier,
|
|
13
|
+
timestamp: new Date().toISOString(),
|
|
14
|
+
success,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Period filtering
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
/**
|
|
21
|
+
* Returns events within the specified time period relative to now.
|
|
22
|
+
* 'all' returns the full array unchanged.
|
|
23
|
+
*/
|
|
24
|
+
export function filterEventsByPeriod(events, period) {
|
|
25
|
+
if (period === 'all') {
|
|
26
|
+
return events;
|
|
27
|
+
}
|
|
28
|
+
const now = Date.now();
|
|
29
|
+
const periodDays = period === '7d' ? 7 : 30;
|
|
30
|
+
const cutoffMs = periodDays * 24 * 60 * 60 * 1000;
|
|
31
|
+
const cutoffTime = now - cutoffMs;
|
|
32
|
+
return events.filter((event) => {
|
|
33
|
+
const eventTime = new Date(event.timestamp).getTime();
|
|
34
|
+
return eventTime >= cutoffTime;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Date-based counting
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
/**
|
|
41
|
+
* Counts events whose timestamp matches the given YYYY-MM-DD date string.
|
|
42
|
+
* Comparison is based on UTC date extraction from ISO 8601 timestamps.
|
|
43
|
+
*/
|
|
44
|
+
export function countEventsForDate(events, date) {
|
|
45
|
+
return events.filter((event) => {
|
|
46
|
+
const eventDate = event.timestamp.slice(0, 10);
|
|
47
|
+
return eventDate === date;
|
|
48
|
+
}).length;
|
|
49
|
+
}
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Timestamp helpers
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
/**
|
|
54
|
+
* Returns the most recent event's timestamp, or null if the array is empty.
|
|
55
|
+
*/
|
|
56
|
+
export function getLastEventTimestamp(events) {
|
|
57
|
+
if (events.length === 0) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
let latest = events[0];
|
|
61
|
+
for (const event of events) {
|
|
62
|
+
if (event.timestamp > (latest?.timestamp ?? '')) {
|
|
63
|
+
latest = event;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return latest?.timestamp ?? null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/engine/usage-tracker/core.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,sEAAsE;AAItE,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAiB,EACjB,OAAgB;IAEhB,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA6B,EAC7B,MAA4B;IAE5B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC;IAElC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,OAAO,SAAS,IAAI,UAAU,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA6B,EAAE,IAAY;IAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,SAAS,KAAK,IAAI,CAAC;IAC5B,CAAC,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { recordUsageEvent, filterEventsByPeriod, countEventsForDate, getLastEventTimestamp, } from './core.js';
|
|
2
|
+
export { calculateUsageStats, formatStatsAsMarkdown } from './stats.js';
|
|
3
|
+
export { TRIAL_DAYS, calculateDaysSinceFirstRun, isTrialActive, getTrialLimits } from './trial.js';
|
|
4
|
+
export { COOLDOWN_MS, checkDailyLimit, checkCooldown } from './rate-limiter.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/usage-tracker/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// engine/usage-tracker/index.ts — Barrel re-export for usage-tracker engine module.
|
|
2
|
+
export { recordUsageEvent, filterEventsByPeriod, countEventsForDate, getLastEventTimestamp, } from './core.js';
|
|
3
|
+
export { calculateUsageStats, formatStatsAsMarkdown } from './stats.js';
|
|
4
|
+
export { TRIAL_DAYS, calculateDaysSinceFirstRun, isTrialActive, getTrialLimits } from './trial.js';
|
|
5
|
+
export { COOLDOWN_MS, checkDailyLimit, checkCooldown } from './rate-limiter.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/usage-tracker/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RateLimitResult } from '../../types/index.js';
|
|
2
|
+
/** Minimum milliseconds required between consecutive tool calls. */
|
|
3
|
+
export declare const COOLDOWN_MS = 2000;
|
|
4
|
+
/**
|
|
5
|
+
* Checks whether the caller has exceeded the daily call limit.
|
|
6
|
+
* Returns an allowed result when maxCalls is -1 (unlimited).
|
|
7
|
+
*/
|
|
8
|
+
export declare function checkDailyLimit(callCount: number, maxCalls: number): RateLimitResult;
|
|
9
|
+
/**
|
|
10
|
+
* Checks whether enough time has passed since the last tool call.
|
|
11
|
+
* Passes when lastCallAt is null (no previous call recorded).
|
|
12
|
+
*/
|
|
13
|
+
export declare function checkCooldown(lastCallAt: string | null, now: Date): RateLimitResult;
|
|
14
|
+
//# sourceMappingURL=rate-limiter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/engine/usage-tracker/rate-limiter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,oEAAoE;AACpE,eAAO,MAAM,WAAW,OAAO,CAAC;AAMhC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CA2BpF;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,eAAe,CA6BnF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// engine/usage-tracker/rate-limiter.ts — Rate limiting logic (pure functions, no I/O).
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Constants
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/** Minimum milliseconds required between consecutive tool calls. */
|
|
6
|
+
export const COOLDOWN_MS = 2000;
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Daily limit check
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
/**
|
|
11
|
+
* Checks whether the caller has exceeded the daily call limit.
|
|
12
|
+
* Returns an allowed result when maxCalls is -1 (unlimited).
|
|
13
|
+
*/
|
|
14
|
+
export function checkDailyLimit(callCount, maxCalls) {
|
|
15
|
+
if (maxCalls === -1) {
|
|
16
|
+
return {
|
|
17
|
+
allowed: true,
|
|
18
|
+
reason: null,
|
|
19
|
+
message: 'Unlimited calls available.',
|
|
20
|
+
remainingCalls: -1,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const remaining = maxCalls - callCount;
|
|
24
|
+
if (remaining <= 0) {
|
|
25
|
+
return {
|
|
26
|
+
allowed: false,
|
|
27
|
+
reason: 'daily_limit',
|
|
28
|
+
message: `Daily call limit of ${String(maxCalls)} reached. Limit resets at midnight UTC.`,
|
|
29
|
+
remainingCalls: 0,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
allowed: true,
|
|
34
|
+
reason: null,
|
|
35
|
+
message: `${String(remaining)} of ${String(maxCalls)} daily calls remaining.`,
|
|
36
|
+
remainingCalls: remaining,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Cooldown check
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
/**
|
|
43
|
+
* Checks whether enough time has passed since the last tool call.
|
|
44
|
+
* Passes when lastCallAt is null (no previous call recorded).
|
|
45
|
+
*/
|
|
46
|
+
export function checkCooldown(lastCallAt, now) {
|
|
47
|
+
if (lastCallAt === null) {
|
|
48
|
+
return {
|
|
49
|
+
allowed: true,
|
|
50
|
+
reason: null,
|
|
51
|
+
message: 'No previous call recorded.',
|
|
52
|
+
remainingCalls: -1,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const lastCallMs = new Date(lastCallAt).getTime();
|
|
56
|
+
const elapsedMs = now.getTime() - lastCallMs;
|
|
57
|
+
if (elapsedMs < COOLDOWN_MS) {
|
|
58
|
+
const waitMs = COOLDOWN_MS - elapsedMs;
|
|
59
|
+
return {
|
|
60
|
+
allowed: false,
|
|
61
|
+
reason: 'cooldown',
|
|
62
|
+
message: `Rate limit: please wait ${String(waitMs)}ms before the next call.`,
|
|
63
|
+
remainingCalls: -1,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
allowed: true,
|
|
68
|
+
reason: null,
|
|
69
|
+
message: 'Cooldown period elapsed.',
|
|
70
|
+
remainingCalls: -1,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=rate-limiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/engine/usage-tracker/rate-limiter.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,oEAAoE;AACpE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAEhC,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,QAAgB;IACjE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,4BAA4B;YACrC,cAAc,EAAE,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEvC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,uBAAuB,MAAM,CAAC,QAAQ,CAAC,yCAAyC;YACzF,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,yBAAyB;QAC7E,cAAc,EAAE,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,UAAyB,EAAE,GAAS;IAChE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,4BAA4B;YACrC,cAAc,EAAE,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC;IAE7C,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,2BAA2B,MAAM,CAAC,MAAM,CAAC,0BAA0B;YAC5E,cAAc,EAAE,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,0BAA0B;QACnC,cAAc,EAAE,CAAC,CAAC;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { UsageEvent, UsageStats, PricingTier } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Computes full UsageStats from a set of events and runtime context.
|
|
4
|
+
* All parameters are passed in — no I/O performed here.
|
|
5
|
+
*/
|
|
6
|
+
export declare function calculateUsageStats(events: readonly UsageEvent[], activeSpecs: number, activeProjects: number, currentTier: PricingTier, daysSinceFirstRun: number, isTrialActive: boolean, remainingDailyCalls: number): UsageStats;
|
|
7
|
+
/**
|
|
8
|
+
* Formats a UsageStats object as a readable markdown report.
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatStatsAsMarkdown(stats: UsageStats): string;
|
|
11
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/engine/usage-tracker/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMhF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,OAAO,EACtB,mBAAmB,EAAE,MAAM,GAC1B,UAAU,CAuBZ;AAoBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA8C/D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// engine/usage-tracker/stats.ts — Usage statistics calculation (pure functions, no I/O).
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Stats calculation
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/**
|
|
6
|
+
* Computes full UsageStats from a set of events and runtime context.
|
|
7
|
+
* All parameters are passed in — no I/O performed here.
|
|
8
|
+
*/
|
|
9
|
+
export function calculateUsageStats(events, activeSpecs, activeProjects, currentTier, daysSinceFirstRun, isTrialActive, remainingDailyCalls) {
|
|
10
|
+
const callsByTool = {};
|
|
11
|
+
const callsByTier = {};
|
|
12
|
+
for (const event of events) {
|
|
13
|
+
callsByTool[event.toolName] = (callsByTool[event.toolName] ?? 0) + 1;
|
|
14
|
+
callsByTier[event.tier] = (callsByTier[event.tier] ?? 0) + 1;
|
|
15
|
+
}
|
|
16
|
+
const topTools = buildTopTools(callsByTool, 10);
|
|
17
|
+
return {
|
|
18
|
+
totalCalls: events.length,
|
|
19
|
+
callsByTool,
|
|
20
|
+
callsByTier,
|
|
21
|
+
topTools,
|
|
22
|
+
activeSpecs,
|
|
23
|
+
activeProjects,
|
|
24
|
+
currentTier,
|
|
25
|
+
daysSinceFirstRun,
|
|
26
|
+
isTrialActive,
|
|
27
|
+
remainingDailyCalls,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
// Top tools helper
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
function buildTopTools(callsByTool, limit) {
|
|
34
|
+
return Object.entries(callsByTool)
|
|
35
|
+
.map(([name, count]) => ({ name, count }))
|
|
36
|
+
.sort((a, b) => b.count - a.count)
|
|
37
|
+
.slice(0, limit);
|
|
38
|
+
}
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Markdown formatting
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
/**
|
|
43
|
+
* Formats a UsageStats object as a readable markdown report.
|
|
44
|
+
*/
|
|
45
|
+
export function formatStatsAsMarkdown(stats) {
|
|
46
|
+
const lines = [];
|
|
47
|
+
lines.push('## Usage Statistics');
|
|
48
|
+
lines.push('');
|
|
49
|
+
lines.push(`**Tier:** ${stats.currentTier}`);
|
|
50
|
+
lines.push(`**Days since first run:** ${String(stats.daysSinceFirstRun)}`);
|
|
51
|
+
lines.push(`**Trial active:** ${stats.isTrialActive ? 'Yes' : 'No'}`);
|
|
52
|
+
lines.push(`**Total calls:** ${String(stats.totalCalls)}`);
|
|
53
|
+
lines.push(`**Active specs:** ${String(stats.activeSpecs)}`);
|
|
54
|
+
lines.push(`**Active projects:** ${String(stats.activeProjects)}`);
|
|
55
|
+
if (stats.remainingDailyCalls >= 0) {
|
|
56
|
+
lines.push(`**Remaining daily calls:** ${String(stats.remainingDailyCalls)}`);
|
|
57
|
+
}
|
|
58
|
+
lines.push('');
|
|
59
|
+
lines.push('### Top Tools');
|
|
60
|
+
lines.push('');
|
|
61
|
+
lines.push('| Tool | Calls |');
|
|
62
|
+
lines.push('|------|-------|');
|
|
63
|
+
for (const tool of stats.topTools) {
|
|
64
|
+
lines.push(`| ${tool.name} | ${String(tool.count)} |`);
|
|
65
|
+
}
|
|
66
|
+
if (stats.topTools.length === 0) {
|
|
67
|
+
lines.push('| *(no calls yet)* | 0 |');
|
|
68
|
+
}
|
|
69
|
+
lines.push('');
|
|
70
|
+
lines.push('### Calls by Tier');
|
|
71
|
+
lines.push('');
|
|
72
|
+
lines.push('| Tier | Calls |');
|
|
73
|
+
lines.push('|------|-------|');
|
|
74
|
+
const tierEntries = Object.entries(stats.callsByTier);
|
|
75
|
+
if (tierEntries.length === 0) {
|
|
76
|
+
lines.push('| *(none)* | 0 |');
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
for (const [tier, count] of tierEntries) {
|
|
80
|
+
lines.push(`| ${tier} | ${String(count)} |`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return lines.join('\n');
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/engine/usage-tracker/stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Number of days in the full trial period. */
|
|
2
|
+
export declare const TRIAL_DAYS = 14;
|
|
3
|
+
/**
|
|
4
|
+
* Returns the number of whole days elapsed since the given ISO 8601 timestamp.
|
|
5
|
+
*/
|
|
6
|
+
export declare function calculateDaysSinceFirstRun(firstRunAt: string): number;
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if the installation is still within the 14-day trial period.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isTrialActive(firstRunAt: string): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Returns tool/spec/daily-call limits based on the current trial status.
|
|
13
|
+
*
|
|
14
|
+
* - Day 1–14 (trial active): { tools: 20, specs: 5, dailyCalls: 50 }
|
|
15
|
+
* - Day 15+ (trial expired): { tools: 10, specs: 3, dailyCalls: 30 }
|
|
16
|
+
*/
|
|
17
|
+
export declare function getTrialLimits(firstRunAt: string): {
|
|
18
|
+
tools: number;
|
|
19
|
+
specs: number;
|
|
20
|
+
dailyCalls: number;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=trial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trial.d.ts","sourceRoot":"","sources":["../../../src/engine/usage-tracker/trial.ts"],"names":[],"mappings":"AAMA,+CAA+C;AAC/C,eAAO,MAAM,UAAU,KAAK,CAAC;AAQ7B;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzD;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAKA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// engine/usage-tracker/trial.ts — Trial period logic (pure functions, no I/O).
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Constants
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/** Number of days in the full trial period. */
|
|
6
|
+
export const TRIAL_DAYS = 14;
|
|
7
|
+
const MS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
// Trial calculations
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
/**
|
|
12
|
+
* Returns the number of whole days elapsed since the given ISO 8601 timestamp.
|
|
13
|
+
*/
|
|
14
|
+
export function calculateDaysSinceFirstRun(firstRunAt) {
|
|
15
|
+
const firstRunMs = new Date(firstRunAt).getTime();
|
|
16
|
+
const nowMs = Date.now();
|
|
17
|
+
const elapsedMs = nowMs - firstRunMs;
|
|
18
|
+
return Math.floor(elapsedMs / MS_PER_DAY);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns true if the installation is still within the 14-day trial period.
|
|
22
|
+
*/
|
|
23
|
+
export function isTrialActive(firstRunAt) {
|
|
24
|
+
return calculateDaysSinceFirstRun(firstRunAt) < TRIAL_DAYS;
|
|
25
|
+
}
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Limit resolution
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
/**
|
|
30
|
+
* Returns tool/spec/daily-call limits based on the current trial status.
|
|
31
|
+
*
|
|
32
|
+
* - Day 1–14 (trial active): { tools: 20, specs: 5, dailyCalls: 50 }
|
|
33
|
+
* - Day 15+ (trial expired): { tools: 10, specs: 3, dailyCalls: 30 }
|
|
34
|
+
*/
|
|
35
|
+
export function getTrialLimits(firstRunAt) {
|
|
36
|
+
if (isTrialActive(firstRunAt)) {
|
|
37
|
+
return { tools: 20, specs: 5, dailyCalls: 50 };
|
|
38
|
+
}
|
|
39
|
+
return { tools: 10, specs: 3, dailyCalls: 30 };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=trial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trial.js","sourceRoot":"","sources":["../../../src/engine/usage-tracker/trial.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,OAAO,0BAA0B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAK/C,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -24,14 +24,14 @@ function buildCompletenessItems(spec) {
|
|
|
24
24
|
id: 'cl-comp-1',
|
|
25
25
|
question: 'Does the spec have clear acceptance criteria?',
|
|
26
26
|
category: 'completeness',
|
|
27
|
-
answer: spec.
|
|
27
|
+
answer: spec.specPath ? 'pending' : 'no',
|
|
28
28
|
autoChecked: false,
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
id: 'cl-comp-2',
|
|
32
32
|
question: 'Is the technical design documented in FICHA-TECNICA?',
|
|
33
33
|
category: 'completeness',
|
|
34
|
-
answer: spec.
|
|
34
|
+
answer: spec.technicalPath ? 'pending' : 'no',
|
|
35
35
|
autoChecked: false,
|
|
36
36
|
},
|
|
37
37
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../src/engine/validator/checklist.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAItD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,QAAkB,EAAE;IAChE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GACT,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK;QACL,WAAW;QACX,UAAU;QACV,KAAK;QACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAU;IACxC,OAAO;QACL;YACE,EAAE,EAAE,WAAW;YACf,QAAQ,EAAE,+CAA+C;YACzD,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../src/engine/validator/checklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ function buildDoRSpecItems(spec) {
|
|
|
39
39
|
category: 'spec',
|
|
40
40
|
required: true,
|
|
41
41
|
autoCheck: true,
|
|
42
|
-
status: spec.
|
|
42
|
+
status: spec.specPath ? 'passed' : 'failed',
|
|
43
43
|
},
|
|
44
44
|
];
|
|
45
45
|
}
|
|
@@ -51,7 +51,7 @@ function buildDoRTechnicalItems(spec) {
|
|
|
51
51
|
category: 'design',
|
|
52
52
|
required: true,
|
|
53
53
|
autoCheck: true,
|
|
54
|
-
status: spec.
|
|
54
|
+
status: spec.technicalPath ? 'passed' : 'failed',
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
id: 'dor-7',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dor-dod.js","sourceRoot":"","sources":["../../../src/engine/validator/dor-dod.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAW3E,SAAS,iBAAiB,CAAC,IAAU;IACnC,OAAO;QACL;YACE,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SACpD;QACD;YACE,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SAC5E;QACD;YACE,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SAC3E;QACD;YACE,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SAC3D;QACD;YACE,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"dor-dod.js","sourceRoot":"","sources":["../../../src/engine/validator/dor-dod.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export async function extractCriteria(spec) {
|
|
|
8
8
|
const criteria = [];
|
|
9
9
|
// Extract from HU.md — look for acceptance criteria sections
|
|
10
10
|
try {
|
|
11
|
-
const huContent = await readFile(spec.
|
|
11
|
+
const huContent = await readFile(spec.specPath, 'utf-8');
|
|
12
12
|
const acSection = extractSection(huContent, 'acceptance criteria', 'criterios de aceptaci');
|
|
13
13
|
if (acSection) {
|
|
14
14
|
const items = extractListItems(acSection);
|
|
@@ -28,7 +28,7 @@ export async function extractCriteria(spec) {
|
|
|
28
28
|
}
|
|
29
29
|
// Extract from FICHA-TECNICA.md — look for technical requirements
|
|
30
30
|
try {
|
|
31
|
-
const fichaContent = await readFile(spec.
|
|
31
|
+
const fichaContent = await readFile(spec.technicalPath, 'utf-8');
|
|
32
32
|
const reqSection = extractSection(fichaContent, 'requirements', 'requisitos', 'technical', 'implementation');
|
|
33
33
|
if (reqSection) {
|
|
34
34
|
const items = extractListItems(reqSection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractors.js","sourceRoot":"","sources":["../../../src/engine/validator/extractors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,yEAAyE;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,6DAA6D;IAC7D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"extractors.js","sourceRoot":"","sources":["../../../src/engine/validator/extractors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { registerCheckConfigHealthTool } from './tools/check-config-health.js';
|
|
|
21
21
|
import { registerAgentTools } from './tools/register-agent-tools.js';
|
|
22
22
|
import { registerWorkflowTools } from './tools/register-workflow-tools.js';
|
|
23
23
|
import { registerLicenseTools } from './tools/register-license-tools.js';
|
|
24
|
+
import { registerUsageTools } from './tools/register-usage-tools.js';
|
|
24
25
|
import { PLANU_VERSION } from './config/version.js';
|
|
25
26
|
import { handleActivateLicense } from './tools/activate-license.js';
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
@@ -93,6 +94,7 @@ registerCheckConfigHealthTool(server);
|
|
|
93
94
|
registerAgentTools(server);
|
|
94
95
|
registerWorkflowTools(server);
|
|
95
96
|
registerLicenseTools(server);
|
|
97
|
+
registerUsageTools(server);
|
|
96
98
|
// ---------------------------------------------------------------------------
|
|
97
99
|
// Start server
|
|
98
100
|
// ---------------------------------------------------------------------------
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,+CAA+C;AAC/C,mFAAmF;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,aAAa;CACvB,EACD;IACE,YAAY,EAAE;QACZ,6FAA6F;QAC7F,EAAE;QACF,wDAAwD;QACxD,EAAE;QACF,wFAAwF;QACxF,0FAA0F;QAC1F,qFAAqF;QACrF,8EAA8E;QAC9E,yEAAyE;QACzE,6EAA6E;QAC7E,6EAA6E;QAC7E,+HAA+H;QAC/H,oGAAoG;QACpG,qFAAqF;QACrF,2FAA2F;QAC3F,oGAAoG;QACpG,gHAAgH;QAChH,0FAA0F;QAC1F,qFAAqF;QACrF,gGAAgG;QAChG,yEAAyE;QACzE,kGAAkG;QAClG,sHAAsH;QACtH,yFAAyF;QACzF,yEAAyE;QACzE,qFAAqF;QACrF,EAAE;QACF,6DAA6D;QAC7D,sEAAsE;QACtE,+EAA+E;QAC/E,kFAAkF;QAClF,gFAAgF;QAChF,EAAE;QACF,iDAAiD;QACjD,mHAAmH;QACnH,wHAAwH;QACxH,wFAAwF;QACxF,uGAAuG;QACvG,4IAA4I;KAC7I,CAAC,IAAI,CAAC,IAAI,CAAC;CACb,CACF,CAAC;AAEF,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAChC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,6BAA6B,CAAC,MAAM,CAAC,CAAC;AACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAE3B,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,KAAK,UAAU,IAAI;IACjB,6DAA6D;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7D,sDAAsD;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAc,EAAE,EAAE;IACjD,sBAAsB;IACtB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAe,EAAE,EAAE;IACnD,sBAAsB;IACtB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -6,4 +6,5 @@ export * as knowledgeStore from './knowledge-store.js';
|
|
|
6
6
|
export * as globalStore from './global-store.js';
|
|
7
7
|
export * as decisionStore from './decision-store.js';
|
|
8
8
|
export * as licenseStore from './license-store.js';
|
|
9
|
+
export * as usageStore from './usage-store.js';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC"}
|
package/dist/storage/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export * as knowledgeStore from './knowledge-store.js';
|
|
|
7
7
|
export * as globalStore from './global-store.js';
|
|
8
8
|
export * as decisionStore from './decision-store.js';
|
|
9
9
|
export * as licenseStore from './license-store.js';
|
|
10
|
+
export * as usageStore from './usage-store.js';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EACL,eAAe,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EACL,eAAe,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-store.d.ts","sourceRoot":"","sources":["../../src/storage/spec-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-store.d.ts","sourceRoot":"","sources":["../../src/storage/spec-store.ts"],"names":[],"mappings":"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"}
|