@moldea.ai/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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +135 -0
  3. package/dist/adapter/index.d.ts +48 -0
  4. package/dist/adapter/index.d.ts.map +1 -0
  5. package/dist/adapter-availability/index.d.ts +15 -0
  6. package/dist/adapter-availability/index.d.ts.map +1 -0
  7. package/dist/adapter-execution/index.d.ts +31 -0
  8. package/dist/adapter-execution/index.d.ts.map +1 -0
  9. package/dist/adapter-validation/index.d.ts +44 -0
  10. package/dist/adapter-validation/index.d.ts.map +1 -0
  11. package/dist/adapter.js +0 -0
  12. package/dist/agent-asset-validation/index.d.ts +34 -0
  13. package/dist/agent-asset-validation/index.d.ts.map +1 -0
  14. package/dist/agent-assets/index.d.ts +38 -0
  15. package/dist/agent-assets/index.d.ts.map +1 -0
  16. package/dist/canonical-discovery/index.d.ts +47 -0
  17. package/dist/canonical-discovery/index.d.ts.map +1 -0
  18. package/dist/canonical-discovery-validation/index.d.ts +26 -0
  19. package/dist/canonical-discovery-validation/index.d.ts.map +1 -0
  20. package/dist/constants/index.d.ts +6 -0
  21. package/dist/constants/index.d.ts.map +1 -0
  22. package/dist/contracts/index.d.ts +178 -0
  23. package/dist/contracts/index.d.ts.map +1 -0
  24. package/dist/core/index.d.ts +13 -0
  25. package/dist/core/index.d.ts.map +1 -0
  26. package/dist/decision/index.d.ts +16 -0
  27. package/dist/decision/index.d.ts.map +1 -0
  28. package/dist/decision-graph/index.d.ts +28 -0
  29. package/dist/decision-graph/index.d.ts.map +1 -0
  30. package/dist/decision-graph-validation/index.d.ts +25 -0
  31. package/dist/decision-graph-validation/index.d.ts.map +1 -0
  32. package/dist/decision-validation/index.d.ts +34 -0
  33. package/dist/decision-validation/index.d.ts.map +1 -0
  34. package/dist/diagnostic-utilities/index.d.ts +62 -0
  35. package/dist/diagnostic-utilities/index.d.ts.map +1 -0
  36. package/dist/diagnostics/index.d.ts +43 -0
  37. package/dist/diagnostics/index.d.ts.map +1 -0
  38. package/dist/exceptions/index.d.ts +38 -0
  39. package/dist/exceptions/index.d.ts.map +1 -0
  40. package/dist/format/index.d.ts +80 -0
  41. package/dist/format/index.d.ts.map +1 -0
  42. package/dist/format-validation/index.d.ts +51 -0
  43. package/dist/format-validation/index.d.ts.map +1 -0
  44. package/dist/format.js +0 -0
  45. package/dist/immutable/index.d.ts +13 -0
  46. package/dist/immutable/index.d.ts.map +1 -0
  47. package/dist/index.d.ts +8 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +4609 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/manifest/index.d.ts +32 -0
  52. package/dist/manifest/index.d.ts.map +1 -0
  53. package/dist/manifest-relationship-validation/index.d.ts +18 -0
  54. package/dist/manifest-relationship-validation/index.d.ts.map +1 -0
  55. package/dist/manifest-validation/index.d.ts +28 -0
  56. package/dist/manifest-validation/index.d.ts.map +1 -0
  57. package/dist/mirrors/index.d.ts +35 -0
  58. package/dist/mirrors/index.d.ts.map +1 -0
  59. package/dist/options/index.d.ts +26 -0
  60. package/dist/options/index.d.ts.map +1 -0
  61. package/dist/project-assets/index.d.ts +56 -0
  62. package/dist/project-assets/index.d.ts.map +1 -0
  63. package/dist/project-index/index.d.ts +20 -0
  64. package/dist/project-index/index.d.ts.map +1 -0
  65. package/dist/project-inspection/index.d.ts +23 -0
  66. package/dist/project-inspection/index.d.ts.map +1 -0
  67. package/dist/repository-inspection-session/index.d.ts +22 -0
  68. package/dist/repository-inspection-session/index.d.ts.map +1 -0
  69. package/dist/repository-reference-validation/index.d.ts +25 -0
  70. package/dist/repository-reference-validation/index.d.ts.map +1 -0
  71. package/dist/repository-text/index.d.ts +27 -0
  72. package/dist/repository-text/index.d.ts.map +1 -0
  73. package/dist/runtime-guidance/index.d.ts +32 -0
  74. package/dist/runtime-guidance/index.d.ts.map +1 -0
  75. package/dist/runtime-placeholder-validation/index.d.ts +17 -0
  76. package/dist/runtime-placeholder-validation/index.d.ts.map +1 -0
  77. package/dist/source-location/index.d.ts +11 -0
  78. package/dist/source-location/index.d.ts.map +1 -0
  79. package/dist/text/index.d.ts +33 -0
  80. package/dist/text/index.d.ts.map +1 -0
  81. package/dist/universal-project-inspection/index.d.ts +35 -0
  82. package/dist/universal-project-inspection/index.d.ts.map +1 -0
  83. package/dist/yaml/index.d.ts +40 -0
  84. package/dist/yaml/index.d.ts.map +1 -0
  85. package/package.json +62 -0
@@ -0,0 +1,178 @@
1
+ import type { IRepositoryPath, IRepositoryReader } from '@moldea.ai/repository';
2
+ import type { IRuntimeAdapter, IRuntimeAdapterEvidence } from '../adapter/index.js';
3
+ import type { ICoreDiagnostic, IDiagnostic } from '../diagnostics/index.js';
4
+ import type { IAgentManifestEntry, IMoldeaManifestV1, IParsedDecision, IRelationshipManifestEntry, IRepositoryFormatVersion, IUnresolvedRequirementManifestEntry } from '../format/index.js';
5
+ export interface ICoreResourceLimits {
6
+ readonly maxEntries: number;
7
+ readonly maxTotalBytesRead: number;
8
+ readonly maxFileBytes: number;
9
+ readonly maxManifestBytes: number;
10
+ readonly maxDiagnostics: number;
11
+ readonly maxEvidence: number;
12
+ }
13
+ export interface ICoreOptions {
14
+ readonly adapters?: readonly IRuntimeAdapter[];
15
+ readonly limits?: Partial<ICoreResourceLimits>;
16
+ }
17
+ export type ITextDocumentContent = string | Uint8Array;
18
+ export interface ITextDocumentInput {
19
+ readonly path: IRepositoryPath;
20
+ readonly content: ITextDocumentContent;
21
+ }
22
+ export interface INormalizedText {
23
+ readonly value: string;
24
+ readonly utf8ByteLength: number;
25
+ readonly scalarLength: number;
26
+ }
27
+ export interface ITextNormalizationResult {
28
+ readonly valid: boolean;
29
+ readonly text: INormalizedText | null;
30
+ readonly diagnostics: readonly ICoreDiagnostic[];
31
+ }
32
+ declare const contentDigestBrand: unique symbol;
33
+ export type IContentDigest = string & {
34
+ readonly [contentDigestBrand]: true;
35
+ };
36
+ export interface IContentDigestResult {
37
+ readonly valid: boolean;
38
+ readonly text: INormalizedText | null;
39
+ readonly digest: IContentDigest | null;
40
+ readonly diagnostics: readonly ICoreDiagnostic[];
41
+ }
42
+ export interface IManifestParseResult {
43
+ readonly valid: boolean;
44
+ readonly asset: IIndexedTextAsset | null;
45
+ readonly manifest: IMoldeaManifestV1 | null;
46
+ readonly diagnostics: readonly ICoreDiagnostic[];
47
+ }
48
+ export interface IDecisionParseResult {
49
+ readonly valid: boolean;
50
+ readonly decision: IParsedDecision | null;
51
+ readonly diagnostics: readonly ICoreDiagnostic[];
52
+ }
53
+ export interface IProjectInspectionInput {
54
+ readonly repository: IRepositoryReader;
55
+ readonly signal?: AbortSignal;
56
+ }
57
+ export interface IProjectInspectionResult {
58
+ readonly valid: boolean;
59
+ readonly formatVersion: IRepositoryFormatVersion | null;
60
+ readonly project: IMoldeaProjectIndex | null;
61
+ readonly evidence: readonly IRuntimeAdapterEvidence[];
62
+ readonly diagnostics: readonly IDiagnostic[];
63
+ }
64
+ export interface IIndexedTextAsset {
65
+ readonly path: IRepositoryPath;
66
+ readonly content: string;
67
+ readonly digest: IContentDigest;
68
+ readonly utf8ByteLength: number;
69
+ readonly scalarLength: number;
70
+ }
71
+ export interface IIndexedDescriptionAsset {
72
+ readonly asset: IIndexedTextAsset;
73
+ readonly value: string;
74
+ readonly scalarLength: number;
75
+ }
76
+ export interface IIndexedContextAsset {
77
+ readonly asset: IIndexedTextAsset;
78
+ readonly relationships: IRelationshipManifestEntry | null;
79
+ }
80
+ export interface IIndexedDecision {
81
+ readonly decision: IParsedDecision;
82
+ readonly relationships: IRelationshipManifestEntry | null;
83
+ }
84
+ export interface IIndexedRuntimeGuidance {
85
+ readonly asset: IIndexedTextAsset;
86
+ }
87
+ export interface IIndexedMirror {
88
+ readonly path: IRepositoryPath;
89
+ readonly digest: IContentDigest;
90
+ readonly canonicalDigest: IContentDigest;
91
+ }
92
+ export interface IIndexedAgent {
93
+ readonly id: string;
94
+ readonly declaration: IAgentManifestEntry;
95
+ readonly description: IIndexedDescriptionAsset;
96
+ readonly instruction: IIndexedTextAsset;
97
+ readonly handoffDescription: IIndexedDescriptionAsset | null;
98
+ readonly context: readonly IRepositoryPath[];
99
+ readonly decisions: readonly IRepositoryPath[];
100
+ readonly mirrors: readonly IIndexedMirror[];
101
+ }
102
+ export interface IIndexedManifest {
103
+ readonly asset: IIndexedTextAsset;
104
+ readonly value: IMoldeaManifestV1;
105
+ }
106
+ export interface IMoldeaProjectIndex {
107
+ readonly formatVersion: 1;
108
+ readonly manifest: IIndexedManifest;
109
+ readonly project: IIndexedTextAsset;
110
+ readonly context: readonly IIndexedContextAsset[];
111
+ readonly decisions: readonly IIndexedDecision[];
112
+ readonly runtimes: readonly IIndexedRuntimeGuidance[];
113
+ readonly agents: readonly IIndexedAgent[];
114
+ readonly unresolved: Readonly<Record<string, IUnresolvedRequirementManifestEntry>>;
115
+ }
116
+ export interface ICore {
117
+ /**
118
+ * Validates and normalizes one supplied text document.
119
+ * @param input The logical path and decoded string or exact source bytes.
120
+ * @returns The frozen normalized text or structural text diagnostics.
121
+ * @throws
122
+ * - INVALID_REPOSITORY_PATH: The repository path is invalid.
123
+ * - INVALID_ARGUMENT: The Core operation received an invalid argument.
124
+ * - RESOURCE_LIMIT_EXCEEDED: A Core resource limit was exceeded.
125
+ */
126
+ normalizeText(input: ITextDocumentInput): ITextNormalizationResult;
127
+ /**
128
+ * Calculates a normalized SHA-256 digest for one supplied text document.
129
+ * @param input The logical path and decoded string or exact source bytes.
130
+ * @returns A promise resolving to the frozen digest result or structural text diagnostics.
131
+ * @throws
132
+ * - INVALID_REPOSITORY_PATH: The repository path is invalid.
133
+ * - INVALID_ARGUMENT: The Core operation received an invalid argument.
134
+ * - RESOURCE_LIMIT_EXCEEDED: A Core resource limit was exceeded.
135
+ */
136
+ calculateContentDigest(input: ITextDocumentInput): Promise<IContentDigestResult>;
137
+ /**
138
+ * Parses and validates one complete version 1 manifest document.
139
+ * @param input The canonical logical path and exact manifest text or bytes.
140
+ * @returns A promise resolving to the frozen all-or-nothing manifest result.
141
+ * @throws
142
+ * - INVALID_REPOSITORY_PATH: The repository path is invalid.
143
+ * - INVALID_ARGUMENT: The Core operation received an invalid argument.
144
+ * - RESOURCE_LIMIT_EXCEEDED: A Core resource limit was exceeded.
145
+ */
146
+ parseManifest(input: ITextDocumentInput): Promise<IManifestParseResult>;
147
+ /**
148
+ * Parses and validates one complete decision document.
149
+ * @param input The canonical logical path and exact decision text or bytes.
150
+ * @returns A promise resolving to the frozen all-or-nothing decision result.
151
+ * @throws
152
+ * - INVALID_REPOSITORY_PATH: The repository path is invalid.
153
+ * - INVALID_ARGUMENT: The Core operation received an invalid argument.
154
+ * - RESOURCE_LIMIT_EXCEEDED: A Core resource limit was exceeded.
155
+ */
156
+ parseDecision(input: ITextDocumentInput): Promise<IDecisionParseResult>;
157
+ /**
158
+ * Inspects one coherent repository snapshot through universal and configured adapter validation.
159
+ * @param input The source-neutral reader and optional shared cancellation signal.
160
+ * @returns A promise resolving to the frozen all-or-nothing project inspection result.
161
+ * @throws
162
+ * - INVALID_ARGUMENT: The Core operation received an invalid argument.
163
+ * - INVALID_REPOSITORY_PATH: A repository path is invalid.
164
+ * - ENTRY_NOT_FOUND: A discovered file disappeared from the reader snapshot.
165
+ * - ENTRY_NOT_FILE: A discovered file changed type during inspection.
166
+ * - ENTRY_NOT_DIRECTORY: A discovered directory changed type during inspection.
167
+ * - ACCESS_DENIED: Access to the repository source was denied.
168
+ * - SOURCE_UNAVAILABLE: The repository source is unavailable.
169
+ * - SNAPSHOT_CHANGED: The repository snapshot changed during inspection.
170
+ * - INVALID_SOURCE_DATA: The repository reader returned invalid contract data.
171
+ * - RESOURCE_LIMIT_EXCEEDED: A Core or repository resource limit was exceeded.
172
+ * - ABORTED: Project inspection or a repository operation was aborted.
173
+ * - ADAPTER_EXECUTION_FAILED: A runtime adapter failed or returned an invalid result.
174
+ */
175
+ inspectProject(input: IProjectInspectionInput): Promise<IProjectInspectionResult>;
176
+ }
177
+ export {};
178
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ICore, ICoreOptions } from '../contracts/index.js';
2
+ /**
3
+ * Creates one immutable Core instance from detached configuration snapshots.
4
+ * @param options Optional runtime adapters and resource-limit overrides.
5
+ * @returns A frozen Core instance safe for concurrent independent operations.
6
+ * @throws
7
+ * - DUPLICATE_ADAPTER_ID: A runtime adapter ID is registered more than once.
8
+ * - RESERVED_ADAPTER_ID: A reserved runtime adapter ID was supplied.
9
+ * - INVALID_ADAPTER_DEFINITION: A runtime adapter definition is invalid.
10
+ * - INVALID_RESOURCE_LIMIT: A Core resource limit is invalid.
11
+ */
12
+ export declare const createCore: (options?: ICoreOptions) => ICore;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EAGb,MAAM,uBAAuB,CAAC;AAQ/B;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,YAAY,KAAG,KAmBnD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { IDecisionParseResult, ITextDocumentInput } from '../contracts/index.js';
2
+ import type { ICoreOperation } from '../exceptions/index.js';
3
+ import { type ICoreOptionsSnapshot } from '../options/index.js';
4
+ /**
5
+ * Parses and validates one complete decision document without resolving cross-file relationships.
6
+ * @param input The canonical logical path and exact decision text or bytes.
7
+ * @param options The immutable Core limits and adapter snapshots.
8
+ * @param operation The owning public or repository-level operation for typed failures.
9
+ * @returns A frozen all-or-nothing decision parse result.
10
+ * @throws
11
+ * - INVALID_REPOSITORY_PATH: The repository path is invalid.
12
+ * - INVALID_ARGUMENT: The Core operation received an invalid argument.
13
+ * - RESOURCE_LIMIT_EXCEEDED: A Core resource limit was exceeded.
14
+ */
15
+ export declare const parseDecisionDocument: (input: ITextDocumentInput, options: ICoreOptionsSnapshot, operation?: Extract<ICoreOperation, "parse-decision" | "inspect-project">) => Promise<IDecisionParseResult>;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decision/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAEpB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAsC,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAKpG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,kBAAkB,EACzB,SAAS,oBAAoB,EAC7B,YAAW,OAAO,CAAC,cAAc,EAAE,gBAAgB,GAAG,iBAAiB,CAAoB,KAC1F,OAAO,CAAC,oBAAoB,CAmE9B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type IRepositoryPath, type IRepositoryReader } from '@moldea.ai/repository';
2
+ import type { ICoreDiagnostic } from '../diagnostics/index.js';
3
+ import type { IParsedDecision } from '../format/index.js';
4
+ import { type ICoreOptionsSnapshot } from '../options/index.js';
5
+ export interface IDecisionGraphResult {
6
+ readonly valid: boolean;
7
+ readonly decisions: readonly IParsedDecision[];
8
+ readonly diagnostics: readonly ICoreDiagnostic[];
9
+ }
10
+ /**
11
+ * Reads, parses, and validates every discovered decision through one repository snapshot.
12
+ * @param repository The coherent source-neutral repository reader.
13
+ * @param paths The decision candidates retained by canonical discovery.
14
+ * @param options The immutable Core limits and adapter snapshots.
15
+ * @param signal Optional cancellation forwarded to every repository read.
16
+ * @returns A deeply immutable internal decision set and its deterministic diagnostics.
17
+ * @throws
18
+ * - ENTRY_NOT_FOUND: A discovered decision disappeared from the reader snapshot.
19
+ * - ENTRY_NOT_FILE: A discovered decision is no longer a regular file.
20
+ * - ACCESS_DENIED: Access to the repository source was denied.
21
+ * - SOURCE_UNAVAILABLE: The repository source is unavailable.
22
+ * - SNAPSHOT_CHANGED: The repository snapshot changed during decision reads.
23
+ * - INVALID_SOURCE_DATA: The repository reader returned invalid contract data.
24
+ * - RESOURCE_LIMIT_EXCEEDED: A Core or repository resource limit was exceeded.
25
+ * - ABORTED: Decision inspection or a repository operation was aborted.
26
+ */
27
+ export declare const readDecisionGraph: (repository: IRepositoryReader, paths: readonly IRepositoryPath[], options: ICoreOptionsSnapshot, signal?: AbortSignal) => Promise<IDecisionGraphResult>;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decision-graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAsC,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGpG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,iBAAiB,EAC7B,OAAO,SAAS,eAAe,EAAE,EACjC,SAAS,oBAAoB,EAC7B,SAAS,WAAW,KACnB,OAAO,CAAC,oBAAoB,CA8C9B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { IRepositoryPath } from '@moldea.ai/repository';
2
+ import type { ICoreResourceLimits } from '../contracts/index.js';
3
+ import type { ICoreDiagnostic } from '../diagnostics/index.js';
4
+ import type { IDecisionStatus } from '../format/index.js';
5
+ export interface IDecisionGraphNode {
6
+ readonly id: string;
7
+ readonly path: IRepositoryPath;
8
+ readonly status: IDecisionStatus;
9
+ readonly supersedes: readonly string[];
10
+ }
11
+ export interface IDecisionGraphCandidate {
12
+ readonly id: string | null;
13
+ readonly path: IRepositoryPath;
14
+ readonly decision: IDecisionGraphNode | null;
15
+ }
16
+ /**
17
+ * Validates every trustworthy cross-file relationship in one decision candidate set.
18
+ * @param candidates Discovered candidates with valid parsed decisions where available.
19
+ * @param limits The immutable Core limits governing repository-level diagnostics.
20
+ * @returns Deterministically sorted, deeply immutable graph diagnostics.
21
+ * @throws
22
+ * - RESOURCE_LIMIT_EXCEEDED: The repository-level diagnostic budget was exceeded.
23
+ */
24
+ export declare const validateDecisionGraph: (candidates: readonly IDecisionGraphCandidate[], limits: ICoreResourceLimits) => readonly ICoreDiagnostic[];
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decision-graph-validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAGD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC9C;AA8RD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,SAAS,uBAAuB,EAAE,EAC9C,QAAQ,mBAAmB,KAC1B,SAAS,eAAe,EAW1B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { IRepositoryPath } from '@moldea.ai/repository';
2
+ import { type ICoreDiagnosticCollector } from '../diagnostic-utilities/index.js';
3
+ import type { ISourceRange } from '../diagnostics/index.js';
4
+ import type { IParsedDecision } from '../format/index.js';
5
+ import type { ISourceLocator } from '../source-location/index.js';
6
+ import type { IYamlNode } from '../yaml/index.js';
7
+ interface IDecisionValidationContext {
8
+ readonly decisionId: string | null;
9
+ readonly diagnostics: ICoreDiagnosticCollector;
10
+ readonly path: IRepositoryPath;
11
+ }
12
+ /**
13
+ * Locates exact decision frontmatter delimiters and preserves the complete Markdown body.
14
+ * @param value The complete normalized decision document.
15
+ * @param locator The full-document scalar-aware source locator.
16
+ * @param context The decision diagnostic context.
17
+ * @returns The YAML prefix and exact body, or `null` when delimiters are unavailable.
18
+ */
19
+ export declare const extractDecisionSections: (value: string, locator: ISourceLocator, context: IDecisionValidationContext) => {
20
+ readonly body: string;
21
+ readonly bodyRange: ISourceRange;
22
+ readonly yaml: string;
23
+ } | null;
24
+ /**
25
+ * Validates one parsed decision-frontmatter mapping without resolving other files.
26
+ * @param node The strict parser-neutral YAML root.
27
+ * @param context The decision diagnostic context.
28
+ * @returns Canonical decision metadata when every document-level rule is valid.
29
+ */
30
+ export declare const validateDecisionFrontmatter: (node: IYamlNode, context: IDecisionValidationContext) => Pick<IParsedDecision, "createdAt" | "status" | "supersedes"> | null;
31
+ /** Adds the decision-body diagnostic when the preserved Markdown has no content. */
32
+ export declare const validateDecisionBody: (body: string, range: ISourceRange, context: IDecisionValidationContext) => boolean;
33
+ export {};
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decision-validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,UAAU,0BAA0B;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC;AAiMD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,EACb,SAAS,cAAc,EACvB,SAAS,0BAA0B,KAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IA4CvF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GACtC,MAAM,SAAS,EACf,SAAS,0BAA0B,KAClC,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC,GAAG,IAsBjE,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,OAAO,YAAY,EACnB,SAAS,0BAA0B,KAClC,OAYF,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { IRepositoryPath } from '@moldea.ai/repository';
2
+ import type { ICoreResourceLimits } from '../contracts/index.js';
3
+ import type { ICoreDiagnostic, ICoreDiagnosticCode, IDiagnostic, IDiagnosticDetails, IDiagnosticEntity, ISourceRange } from '../diagnostics/index.js';
4
+ import { type ICoreOperation } from '../exceptions/index.js';
5
+ export interface ICoreDiagnosticInput {
6
+ readonly code: ICoreDiagnosticCode;
7
+ readonly details?: Readonly<Record<string, string | number | boolean | null>>;
8
+ readonly entity?: IDiagnosticEntity | null;
9
+ readonly path: IRepositoryPath | null;
10
+ readonly pointer?: string | null;
11
+ readonly range?: ISourceRange | null;
12
+ }
13
+ export interface ICoreDiagnosticCollector {
14
+ add(input: ICoreDiagnosticInput): void;
15
+ merge(input: ICoreDiagnosticInput): void;
16
+ finalize(): readonly ICoreDiagnostic[];
17
+ readonly size: number;
18
+ }
19
+ /** Creates a detached limits view with one diagnostic budget for a complete Core operation. */
20
+ export declare const createCoreOperationResourceLimits: (limits: ICoreResourceLimits) => ICoreResourceLimits;
21
+ /** Registers raw diagnostics against the shared operation budget before normalization. */
22
+ export declare const registerCoreDiagnosticCandidates: (limits: ICoreResourceLimits, amount: number, operation: ICoreOperation, fallbackCount?: number, adapterId?: string) => number;
23
+ /**
24
+ * Normalizes trusted JSON-scalar diagnostic metadata.
25
+ * @param details The optional detached metadata record.
26
+ * @returns A frozen null-prototype record with canonical key order.
27
+ */
28
+ export declare const normalizeDiagnosticDetails: (details: Readonly<Record<string, string | number | boolean | null>> | undefined) => IDiagnosticDetails;
29
+ /**
30
+ * Normalizes a trusted diagnostic entity into canonical key order.
31
+ * @param entity The optional diagnostic entity.
32
+ * @returns The frozen normalized entity or `null`.
33
+ */
34
+ export declare const normalizeDiagnosticEntity: (entity: IDiagnosticEntity | null | undefined) => IDiagnosticEntity | null;
35
+ /** Serializes unordered diagnostic details with explicit exact-code-point key ordering. */
36
+ export declare const serializeDiagnosticDetails: (details: IDiagnosticDetails) => string;
37
+ /**
38
+ * Creates one normalized, immutable Core diagnostic.
39
+ * @param input The trusted Core-owned diagnostic fields to normalize.
40
+ * @returns A deeply immutable public diagnostic value.
41
+ */
42
+ export declare const createCoreDiagnostic: (input: ICoreDiagnosticInput) => ICoreDiagnostic;
43
+ /**
44
+ * Deduplicates and sorts already-normalized Core and adapter diagnostics.
45
+ * @param candidates The immutable diagnostics to combine.
46
+ * @returns A frozen deterministic diagnostic collection.
47
+ */
48
+ export declare const normalizeDiagnostics: (candidates: readonly IDiagnostic[]) => readonly IDiagnostic[];
49
+ /**
50
+ * Creates a deterministic, deduplicating diagnostic collector for one operation.
51
+ * @param limits The Core resource limits governing diagnostic output.
52
+ * @param operation The operation reported by resource failures.
53
+ * @returns A collector that freezes and sorts its final diagnostic array.
54
+ */
55
+ export declare const createCoreDiagnosticCollector: (limits: ICoreResourceLimits, operation: ICoreOperation) => ICoreDiagnosticCollector;
56
+ /**
57
+ * Escapes one JSON Pointer reference token.
58
+ * @param value The decoded mapping key or array index token.
59
+ * @returns The RFC 6901 escaped token.
60
+ */
61
+ export declare const escapeJsonPointerSegment: (value: string) => string;
62
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diagnostic-utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA0GrF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,QAAQ,IAAI,SAAS,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAYD,+FAA+F;AAC/F,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,mBAAmB,KAC1B,mBAWF,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,gCAAgC,GAC3C,QAAQ,mBAAmB,EAC3B,QAAQ,MAAM,EACd,WAAW,cAAc,EACzB,sBAAiB,EACjB,YAAY,MAAM,KACjB,MAkBF,CAAC;AAUF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,KAC9E,kBASF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,iBAAiB,GAAG,IAAI,GAAG,SAAS,KAC3C,iBAAiB,GAAG,IAWtB,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,GAAI,SAAS,kBAAkB,KAAG,MAMxE,CAAC;AAgGF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,oBAAoB,KAAG,eAiBlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,SAAS,WAAW,EAAE,KACjC,SAAS,WAAW,EActB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,mBAAmB,EAC3B,WAAW,cAAc,KACxB,wBA4BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,MAExD,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { IRepositoryPath } from '@moldea.ai/repository';
2
+ export interface ISourcePosition {
3
+ readonly line: number;
4
+ readonly column: number;
5
+ readonly offset: number;
6
+ }
7
+ export interface ISourceRange {
8
+ readonly start: ISourcePosition;
9
+ readonly end: ISourcePosition;
10
+ }
11
+ export type ICapabilityKind = 'tool' | 'skill';
12
+ export interface IDiagnosticEntity {
13
+ readonly agentId?: string;
14
+ readonly capabilityKind?: ICapabilityKind;
15
+ readonly capabilityId?: string;
16
+ readonly decisionId?: string;
17
+ readonly variableId?: string;
18
+ readonly adapterId?: string;
19
+ }
20
+ export type IDiagnosticDetails = Readonly<Record<string, string | number | boolean | null>>;
21
+ export type ICoreDiagnosticCode = 'MOLDEA_MANIFEST_MISSING' | 'MOLDEA_MANIFEST_PATH_INVALID' | 'MOLDEA_PROJECT_FILE_MISSING' | 'MOLDEA_PROJECT_FILE_EMPTY' | 'MOLDEA_ENTRY_TYPE_INVALID' | 'MOLDEA_CANONICAL_PATH_UNRECOGNIZED' | 'MOLDEA_CANONICAL_ASSET_SYMLINK' | 'MOLDEA_TEXT_INVALID_UTF8' | 'MOLDEA_TEXT_INVALID_UNICODE' | 'MOLDEA_TEXT_NUL_FORBIDDEN' | 'MOLDEA_TEXT_EMPTY' | 'MOLDEA_YAML_MALFORMED' | 'MOLDEA_YAML_MULTIPLE_DOCUMENTS' | 'MOLDEA_YAML_FEATURE_UNSUPPORTED' | 'MOLDEA_YAML_DUPLICATE_KEY' | 'MOLDEA_MANIFEST_ROOT_INVALID' | 'MOLDEA_MANIFEST_VERSION_MISSING' | 'MOLDEA_MANIFEST_VERSION_INVALID' | 'MOLDEA_MANIFEST_VERSION_UNSUPPORTED' | 'MOLDEA_MANIFEST_PROPERTY_UNKNOWN' | 'MOLDEA_MANIFEST_VALUE_INVALID' | 'MOLDEA_ID_INVALID' | 'MOLDEA_ID_RESERVED' | 'MOLDEA_ID_DUPLICATE' | 'MOLDEA_VARIABLE_ID_INVALID' | 'MOLDEA_PATH_INVALID' | 'MOLDEA_GLOB_INVALID' | 'MOLDEA_PATH_DUPLICATE' | 'MOLDEA_PATTERN_DUPLICATE' | 'MOLDEA_IMPACT_PATH_MISSING' | 'MOLDEA_IMPACT_PATH_NOT_FILE' | 'MOLDEA_REFERENCE_MISSING' | 'MOLDEA_REFERENCE_NOT_FILE' | 'MOLDEA_REFERENCE_SYMLINK' | 'MOLDEA_SYMBOL_INVALID' | 'MOLDEA_SYMBOL_FORBIDDEN' | 'MOLDEA_CONTEXT_PATH_INVALID' | 'MOLDEA_CONTEXT_RELATIONSHIP_EMPTY' | 'MOLDEA_CONTEXT_FILE_EMPTY' | 'MOLDEA_RUNTIME_GUIDANCE_MISSING' | 'MOLDEA_RUNTIME_GUIDANCE_EMPTY' | 'MOLDEA_DECISION_FILENAME_INVALID' | 'MOLDEA_DECISION_FRONTMATTER_MISSING' | 'MOLDEA_DECISION_FRONTMATTER_INVALID' | 'MOLDEA_DECISION_PROPERTY_UNKNOWN' | 'MOLDEA_DECISION_STATUS_INVALID' | 'MOLDEA_DECISION_CREATED_AT_INVALID' | 'MOLDEA_DECISION_TIMESTAMP_MISMATCH' | 'MOLDEA_DECISION_BODY_EMPTY' | 'MOLDEA_DECISION_ID_DUPLICATE' | 'MOLDEA_DECISION_REFERENCE_MISSING' | 'MOLDEA_DECISION_SELF_SUPERSESSION' | 'MOLDEA_DECISION_SUPERSESSION_CYCLE' | 'MOLDEA_DECISION_SUPERSESSION_STATUS_INVALID' | 'MOLDEA_DECISION_SUPERSEDED_ORPHAN' | 'MOLDEA_DECISION_RELATIONSHIP_INACTIVE' | 'MOLDEA_AGENT_DIRECTORY_UNREGISTERED' | 'MOLDEA_AGENT_DIRECTORY_MISSING' | 'MOLDEA_AGENT_DESCRIPTION_MISSING' | 'MOLDEA_AGENT_DESCRIPTION_INVALID' | 'MOLDEA_AGENT_INSTRUCTION_MISSING' | 'MOLDEA_AGENT_INSTRUCTION_EMPTY' | 'MOLDEA_AGENT_IDENTITY_INVALID' | 'MOLDEA_AGENT_HANDOFF_DESCRIPTION_INVALID' | 'MOLDEA_RUNTIME_ID_INVALID' | 'MOLDEA_RUNTIME_ADAPTER_UNAVAILABLE' | 'MOLDEA_RUNTIME_ADAPTER_FORMAT_UNSUPPORTED' | 'MOLDEA_VARIABLE_PLACEHOLDER_MALFORMED' | 'MOLDEA_VARIABLE_UNDECLARED' | 'MOLDEA_VARIABLE_UNUSED' | 'MOLDEA_VARIABLE_PROVIDER_UNDECLARED' | 'MOLDEA_CAPABILITY_DESCRIPTION_MISSING' | 'MOLDEA_CAPABILITY_DESCRIPTION_INVALID' | 'MOLDEA_TOOL_IMPLEMENTATION_MISSING' | 'MOLDEA_SKILL_IMPLEMENTATION_MISSING' | 'MOLDEA_MIRROR_PATH_INVALID' | 'MOLDEA_MIRROR_PATH_INSIDE_MOLDEA' | 'MOLDEA_MIRROR_PATH_DUPLICATE' | 'MOLDEA_MIRROR_MISSING' | 'MOLDEA_MIRROR_NOT_FILE' | 'MOLDEA_MIRROR_SYMLINK' | 'MOLDEA_MIRROR_STALE';
22
+ export interface ICoreDiagnostic {
23
+ readonly source: 'core';
24
+ readonly code: ICoreDiagnosticCode;
25
+ readonly message: string;
26
+ readonly path: IRepositoryPath | null;
27
+ readonly pointer: string | null;
28
+ readonly range: ISourceRange | null;
29
+ readonly entity: IDiagnosticEntity | null;
30
+ readonly details: IDiagnosticDetails;
31
+ }
32
+ export interface IAdapterDiagnostic {
33
+ readonly source: string;
34
+ readonly code: string;
35
+ readonly message: string;
36
+ readonly path: IRepositoryPath | null;
37
+ readonly pointer: string | null;
38
+ readonly range: ISourceRange | null;
39
+ readonly entity: IDiagnosticEntity | null;
40
+ readonly details: IDiagnosticDetails;
41
+ }
42
+ export type IDiagnostic = ICoreDiagnostic | IAdapterDiagnostic;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diagnostics/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Exception } from 'error-message-utils';
2
+ export type ICoreConfigurationErrorCode = 'DUPLICATE_ADAPTER_ID' | 'RESERVED_ADAPTER_ID' | 'INVALID_ADAPTER_DEFINITION' | 'INVALID_RESOURCE_LIMIT';
3
+ export type ICoreOperationErrorCode = 'INVALID_ARGUMENT' | 'ABORTED' | 'RESOURCE_LIMIT_EXCEEDED' | 'ADAPTER_EXECUTION_FAILED';
4
+ export type ICoreOperation = 'create-core' | 'normalize-text' | 'calculate-content-digest' | 'parse-manifest' | 'parse-decision' | 'inspect-project' | 'validate-adapter';
5
+ export interface ICoreConfigurationExceptionOptions {
6
+ readonly code: ICoreConfigurationErrorCode;
7
+ readonly operation: ICoreOperation;
8
+ readonly adapterId?: string;
9
+ readonly cause?: unknown;
10
+ }
11
+ export interface ICoreOperationExceptionOptions {
12
+ readonly code: ICoreOperationErrorCode;
13
+ readonly operation: ICoreOperation;
14
+ readonly adapterId?: string;
15
+ readonly agentId?: string;
16
+ readonly limit?: string;
17
+ readonly cause?: unknown;
18
+ }
19
+ /** Represents invalid immutable Core configuration. */
20
+ export declare class CoreConfigurationException extends Exception {
21
+ readonly code: ICoreConfigurationErrorCode;
22
+ readonly operation: ICoreOperation;
23
+ readonly adapterId: string | null;
24
+ /** Creates a configuration exception with safe adapter metadata. */
25
+ constructor(options: ICoreConfigurationExceptionOptions);
26
+ }
27
+ /** Represents an operational failure that prevented Core from completing. */
28
+ export declare class CoreOperationException extends Exception {
29
+ readonly code: ICoreOperationErrorCode;
30
+ readonly operation: ICoreOperation;
31
+ readonly retryable: boolean;
32
+ readonly adapterId: string | null;
33
+ readonly agentId: string | null;
34
+ readonly limit: string | null;
35
+ /** Creates an operation exception with derived retry and safe scope metadata. */
36
+ constructor(options: ICoreOperationExceptionOptions);
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,2BAA2B,GACnC,sBAAsB,GACtB,qBAAqB,GACrB,4BAA4B,GAC5B,wBAAwB,CAAC;AAE7B,MAAM,MAAM,uBAAuB,GACjC,kBAAkB,GAAG,SAAS,GAAG,yBAAyB,GAAG,0BAA0B,CAAC;AAE1F,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,gBAAgB,GAChB,0BAA0B,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAoCD,uDAAuD;AACvD,qBAAa,0BAA2B,SAAQ,SAAS;IACvD,SAAyB,IAAI,EAAE,2BAA2B,CAAC;IAE3D,SAAgB,SAAS,EAAE,cAAc,CAAC;IAE1C,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,oEAAoE;gBACjD,OAAO,EAAE,kCAAkC;CAQ/D;AAED,6EAA6E;AAC7E,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,SAAyB,IAAI,EAAE,uBAAuB,CAAC;IAEvD,SAAgB,SAAS,EAAE,cAAc,CAAC;IAE1C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,SAAgB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvC,SAAgB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,iFAAiF;gBAC9D,OAAO,EAAE,8BAA8B;CAW3D"}
@@ -0,0 +1,80 @@
1
+ import type { IRepositoryPath } from '@moldea.ai/repository';
2
+ import type { IIndexedTextAsset } from '../contracts/index.js';
3
+ export type IRepositoryFormatVersion = 1;
4
+ export interface IRepositoryReference {
5
+ readonly path: IRepositoryPath;
6
+ readonly symbol?: string;
7
+ }
8
+ export interface IRelationshipManifestEntry {
9
+ readonly bindings?: readonly IRepositoryReference[];
10
+ readonly affectedBy?: readonly string[];
11
+ }
12
+ export interface IRuntimeManifestEntry {
13
+ readonly id: string;
14
+ readonly guidance?: IRepositoryPath;
15
+ }
16
+ export interface IRuntimeVariableManifestEntry {
17
+ readonly description: string;
18
+ }
19
+ export interface IAgentBindingsManifestEntry {
20
+ readonly runtimeAgent?: IRepositoryReference;
21
+ readonly inputSchema?: IRepositoryReference;
22
+ readonly outputSchema?: IRepositoryReference;
23
+ readonly instructionLoader?: IRepositoryReference;
24
+ readonly variableProviders?: Readonly<Record<string, IRepositoryReference>>;
25
+ }
26
+ export interface IToolManifestEntry {
27
+ readonly name: string;
28
+ readonly description: string;
29
+ readonly implementation: IRepositoryReference;
30
+ readonly registration?: IRepositoryReference;
31
+ readonly inputSchema?: IRepositoryReference;
32
+ readonly outputSchema?: IRepositoryReference;
33
+ readonly affectedBy?: readonly string[];
34
+ }
35
+ export interface ISkillManifestEntry {
36
+ readonly name: string;
37
+ readonly description: string;
38
+ readonly implementation: IRepositoryReference;
39
+ readonly registration?: IRepositoryReference;
40
+ readonly affectedBy?: readonly string[];
41
+ }
42
+ export type IUnresolvedRequirementEffect = 'blocking' | 'warning' | 'informational';
43
+ export interface IUnresolvedRequirementManifestEntry {
44
+ readonly category: string;
45
+ readonly effect: IUnresolvedRequirementEffect;
46
+ readonly description: string;
47
+ readonly resolution: string;
48
+ readonly related?: readonly IRepositoryReference[];
49
+ readonly reference?: string;
50
+ }
51
+ export interface IAgentManifestEntry {
52
+ readonly runtime: IRuntimeManifestEntry;
53
+ readonly context?: readonly IRepositoryPath[];
54
+ readonly decisions?: readonly IRepositoryPath[];
55
+ readonly variables?: Readonly<Record<string, IRuntimeVariableManifestEntry>>;
56
+ readonly bindings?: IAgentBindingsManifestEntry;
57
+ readonly tools?: Readonly<Record<string, IToolManifestEntry>>;
58
+ readonly skills?: Readonly<Record<string, ISkillManifestEntry>>;
59
+ readonly affectedBy?: readonly string[];
60
+ readonly mirrors?: readonly IRepositoryPath[];
61
+ readonly unresolved?: Readonly<Record<string, IUnresolvedRequirementManifestEntry>>;
62
+ }
63
+ export interface IMoldeaManifestV1 {
64
+ readonly version: 1;
65
+ readonly context?: Readonly<Record<string, IRelationshipManifestEntry>>;
66
+ readonly decisions?: Readonly<Record<string, IRelationshipManifestEntry>>;
67
+ readonly unresolved?: Readonly<Record<string, IUnresolvedRequirementManifestEntry>>;
68
+ readonly agents?: Readonly<Record<string, IAgentManifestEntry>>;
69
+ }
70
+ export type IDecisionStatus = 'proposed' | 'accepted' | 'rejected' | 'superseded';
71
+ export interface IParsedDecision {
72
+ readonly id: string;
73
+ readonly path: IRepositoryPath;
74
+ readonly status: IDecisionStatus;
75
+ readonly createdAt: string;
76
+ readonly supersedes: readonly string[];
77
+ readonly body: string;
78
+ readonly asset: IIndexedTextAsset;
79
+ }
80
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"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"}