@dharma-ai-labs/agent-fabric 0.2.49 → 0.2.50

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 (198) hide show
  1. package/dist/index.d.ts +88 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +826 -175
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.test.js +2 -2
  6. package/dist/repositoryCandidateSync.d.ts +55 -0
  7. package/dist/repositoryCandidateSync.d.ts.map +1 -0
  8. package/dist/repositoryCandidateSync.js +177 -0
  9. package/dist/repositoryCandidateSync.js.map +1 -0
  10. package/dist/repositoryCandidateSync.test.d.ts +2 -0
  11. package/dist/repositoryCandidateSync.test.d.ts.map +1 -0
  12. package/dist/repositoryCandidateSync.test.js +141 -0
  13. package/dist/repositoryCandidateSync.test.js.map +1 -0
  14. package/dist/repositoryInstalledKnowledge.d.ts +13 -0
  15. package/dist/repositoryInstalledKnowledge.d.ts.map +1 -0
  16. package/dist/repositoryInstalledKnowledge.js +25 -0
  17. package/dist/repositoryInstalledKnowledge.js.map +1 -0
  18. package/dist/repositoryInstallerFiles.d.ts +6 -0
  19. package/dist/repositoryInstallerFiles.d.ts.map +1 -0
  20. package/dist/repositoryInstallerFiles.js +113 -0
  21. package/dist/repositoryInstallerFiles.js.map +1 -0
  22. package/dist/repositoryKnowledge.d.ts +119 -0
  23. package/dist/repositoryKnowledge.d.ts.map +1 -0
  24. package/dist/repositoryKnowledge.js +462 -0
  25. package/dist/repositoryKnowledge.js.map +1 -0
  26. package/dist/repositoryKnowledge.test.d.ts +2 -0
  27. package/dist/repositoryKnowledge.test.d.ts.map +1 -0
  28. package/dist/repositoryKnowledge.test.js +245 -0
  29. package/dist/repositoryKnowledge.test.js.map +1 -0
  30. package/dist/repositoryKnowledgeRetention.test.d.ts +2 -0
  31. package/dist/repositoryKnowledgeRetention.test.d.ts.map +1 -0
  32. package/dist/repositoryKnowledgeRetention.test.js +386 -0
  33. package/dist/repositoryKnowledgeRetention.test.js.map +1 -0
  34. package/dist/repositoryOnboardingCaller.test.d.ts +2 -0
  35. package/dist/repositoryOnboardingCaller.test.d.ts.map +1 -0
  36. package/dist/repositoryOnboardingCaller.test.js +197 -0
  37. package/dist/repositoryOnboardingCaller.test.js.map +1 -0
  38. package/dist/repositoryOnboardingFlow.test.d.ts +2 -0
  39. package/dist/repositoryOnboardingFlow.test.d.ts.map +1 -0
  40. package/dist/repositoryOnboardingFlow.test.js +47 -0
  41. package/dist/repositoryOnboardingFlow.test.js.map +1 -0
  42. package/dist/repositoryPackage.d.ts +115 -0
  43. package/dist/repositoryPackage.d.ts.map +1 -0
  44. package/dist/repositoryPackage.js +1095 -0
  45. package/dist/repositoryPackage.js.map +1 -0
  46. package/dist/repositoryPackage.test.d.ts +2 -0
  47. package/dist/repositoryPackage.test.d.ts.map +1 -0
  48. package/dist/repositoryPackage.test.js +709 -0
  49. package/dist/repositoryPackage.test.js.map +1 -0
  50. package/dist/repositoryPackageDelivery.d.ts +29 -0
  51. package/dist/repositoryPackageDelivery.d.ts.map +1 -0
  52. package/dist/repositoryPackageDelivery.js +140 -0
  53. package/dist/repositoryPackageDelivery.js.map +1 -0
  54. package/dist/repositoryPackageDelivery.test.d.ts +2 -0
  55. package/dist/repositoryPackageDelivery.test.d.ts.map +1 -0
  56. package/dist/repositoryPackageDelivery.test.js +787 -0
  57. package/dist/repositoryPackageDelivery.test.js.map +1 -0
  58. package/dist/repositoryPackageDeliveryCaller.test.d.ts +2 -0
  59. package/dist/repositoryPackageDeliveryCaller.test.d.ts.map +1 -0
  60. package/dist/repositoryPackageDeliveryCaller.test.js +18 -0
  61. package/dist/repositoryPackageDeliveryCaller.test.js.map +1 -0
  62. package/dist/repositoryPackageDeliveryPreflight.test.d.ts +2 -0
  63. package/dist/repositoryPackageDeliveryPreflight.test.d.ts.map +1 -0
  64. package/dist/repositoryPackageDeliveryPreflight.test.js +29 -0
  65. package/dist/repositoryPackageDeliveryPreflight.test.js.map +1 -0
  66. package/dist/repositoryPackageTransfer.d.ts +85 -0
  67. package/dist/repositoryPackageTransfer.d.ts.map +1 -0
  68. package/dist/repositoryPackageTransfer.js +233 -0
  69. package/dist/repositoryPackageTransfer.js.map +1 -0
  70. package/dist/repositoryPackageTransfer.test.d.ts +2 -0
  71. package/dist/repositoryPackageTransfer.test.d.ts.map +1 -0
  72. package/dist/repositoryPackageTransfer.test.js +173 -0
  73. package/dist/repositoryPackageTransfer.test.js.map +1 -0
  74. package/dist/repositoryPackageTransferV2.test.d.ts +2 -0
  75. package/dist/repositoryPackageTransferV2.test.d.ts.map +1 -0
  76. package/dist/repositoryPackageTransferV2.test.js +549 -0
  77. package/dist/repositoryPackageTransferV2.test.js.map +1 -0
  78. package/dist/repositoryPackageTransferV2Schema.test.d.ts +2 -0
  79. package/dist/repositoryPackageTransferV2Schema.test.d.ts.map +1 -0
  80. package/dist/repositoryPackageTransferV2Schema.test.js +48 -0
  81. package/dist/repositoryPackageTransferV2Schema.test.js.map +1 -0
  82. package/dist/repositoryReleaseMetadata.d.ts +37 -0
  83. package/dist/repositoryReleaseMetadata.d.ts.map +1 -0
  84. package/dist/repositoryReleaseMetadata.js +251 -0
  85. package/dist/repositoryReleaseMetadata.js.map +1 -0
  86. package/dist/repositoryReleaseMetadata.test.d.ts +2 -0
  87. package/dist/repositoryReleaseMetadata.test.d.ts.map +1 -0
  88. package/dist/repositoryReleaseMetadata.test.js +297 -0
  89. package/dist/repositoryReleaseMetadata.test.js.map +1 -0
  90. package/dist/repositoryRoleDerivation.d.ts +11 -0
  91. package/dist/repositoryRoleDerivation.d.ts.map +1 -0
  92. package/dist/repositoryRoleDerivation.js +59 -0
  93. package/dist/repositoryRoleDerivation.js.map +1 -0
  94. package/dist/repositoryRoleDerivation.test.d.ts +2 -0
  95. package/dist/repositoryRoleDerivation.test.d.ts.map +1 -0
  96. package/dist/repositoryRoleDerivation.test.js +33 -0
  97. package/dist/repositoryRoleDerivation.test.js.map +1 -0
  98. package/dist/repositoryRoleMetadata.d.ts +63 -0
  99. package/dist/repositoryRoleMetadata.d.ts.map +1 -0
  100. package/dist/repositoryRoleMetadata.js +203 -0
  101. package/dist/repositoryRoleMetadata.js.map +1 -0
  102. package/dist/repositoryRoleMetadata.test.d.ts +2 -0
  103. package/dist/repositoryRoleMetadata.test.d.ts.map +1 -0
  104. package/dist/repositoryRoleMetadata.test.js +296 -0
  105. package/dist/repositoryRoleMetadata.test.js.map +1 -0
  106. package/dist/repositoryRoleQuestion.d.ts +36 -0
  107. package/dist/repositoryRoleQuestion.d.ts.map +1 -0
  108. package/dist/repositoryRoleQuestion.js +68 -0
  109. package/dist/repositoryRoleQuestion.js.map +1 -0
  110. package/dist/repositoryRoleQuestion.test.d.ts +2 -0
  111. package/dist/repositoryRoleQuestion.test.d.ts.map +1 -0
  112. package/dist/repositoryRoleQuestion.test.js +66 -0
  113. package/dist/repositoryRoleQuestion.test.js.map +1 -0
  114. package/dist/repositorySourceAuthorization.d.ts +43 -0
  115. package/dist/repositorySourceAuthorization.d.ts.map +1 -0
  116. package/dist/repositorySourceAuthorization.js +164 -0
  117. package/dist/repositorySourceAuthorization.js.map +1 -0
  118. package/dist/repositorySourceCapture.test.d.ts +2 -0
  119. package/dist/repositorySourceCapture.test.d.ts.map +1 -0
  120. package/dist/repositorySourceCapture.test.js +303 -0
  121. package/dist/repositorySourceCapture.test.js.map +1 -0
  122. package/dist/repositorySourceSync.d.ts +54 -0
  123. package/dist/repositorySourceSync.d.ts.map +1 -0
  124. package/dist/repositorySourceSync.js +88 -0
  125. package/dist/repositorySourceSync.js.map +1 -0
  126. package/dist/repositorySourceSync.test.d.ts +2 -0
  127. package/dist/repositorySourceSync.test.d.ts.map +1 -0
  128. package/dist/repositorySourceSync.test.js +218 -0
  129. package/dist/repositorySourceSync.test.js.map +1 -0
  130. package/dist/schemas/repository-knowledge-retention-v1.schema.json +26 -0
  131. package/dist/schemas/repository-knowledge-v2.schema.json +74 -0
  132. package/dist/schemas/repository-knowledge.schema.json +63 -0
  133. package/dist/schemas/repository-package-chunk-v2.schema.json +15 -0
  134. package/dist/schemas/repository-package-chunk.schema.json +18 -0
  135. package/dist/schemas/repository-package-delivery-v1.schema.json +51 -0
  136. package/dist/schemas/repository-package-envelope-v1.schema.json +16 -0
  137. package/dist/schemas/repository-package-transfer-v2.schema.json +36 -0
  138. package/dist/schemas/repository-package-transfer.schema.json +34 -0
  139. package/dist/schemas/repository-package-v2.schema.json +491 -0
  140. package/dist/schemas/repository-package-v3.schema.json +36 -0
  141. package/dist/schemas/repository-package.schema.json +94 -0
  142. package/dist/schemas/repository-release-manifest.schema.json +34 -0
  143. package/dist/schemas/repository-role-metadata.schema.json +82 -0
  144. package/dist/schemas/skill-preparation-pointer-v1.schema.json +28 -0
  145. package/dist/schemas/skill-preparation-v1.schema.json +32 -0
  146. package/dist/skillPollResponse.test.d.ts +2 -0
  147. package/dist/skillPollResponse.test.d.ts.map +1 -0
  148. package/dist/skillPollResponse.test.js +37 -0
  149. package/dist/skillPollResponse.test.js.map +1 -0
  150. package/dist/skillPreparation.test.d.ts +2 -0
  151. package/dist/skillPreparation.test.d.ts.map +1 -0
  152. package/dist/skillPreparation.test.js +163 -0
  153. package/dist/skillPreparation.test.js.map +1 -0
  154. package/dist/skillPreparationCache.d.ts +34 -0
  155. package/dist/skillPreparationCache.d.ts.map +1 -0
  156. package/dist/skillPreparationCache.js +371 -0
  157. package/dist/skillPreparationCache.js.map +1 -0
  158. package/dist/skillPreparationCache.test.d.ts +2 -0
  159. package/dist/skillPreparationCache.test.d.ts.map +1 -0
  160. package/dist/skillPreparationCache.test.js +316 -0
  161. package/dist/skillPreparationCache.test.js.map +1 -0
  162. package/dist/skillPreparationCaller.test.d.ts +2 -0
  163. package/dist/skillPreparationCaller.test.d.ts.map +1 -0
  164. package/dist/skillPreparationCaller.test.js +32 -0
  165. package/dist/skillPreparationCaller.test.js.map +1 -0
  166. package/dist/skillPreparationPump.d.ts +11 -0
  167. package/dist/skillPreparationPump.d.ts.map +1 -0
  168. package/dist/skillPreparationPump.js +41 -0
  169. package/dist/skillPreparationPump.js.map +1 -0
  170. package/dist/skillPreparationPump.test.d.ts +2 -0
  171. package/dist/skillPreparationPump.test.d.ts.map +1 -0
  172. package/dist/skillPreparationPump.test.js +87 -0
  173. package/dist/skillPreparationPump.test.js.map +1 -0
  174. package/dist/skillPreparationRecord.d.ts +2 -0
  175. package/dist/skillPreparationRecord.d.ts.map +1 -0
  176. package/dist/skillPreparationRecord.js +36 -0
  177. package/dist/skillPreparationRecord.js.map +1 -0
  178. package/dist/skillPreparationTransaction.d.ts +13 -0
  179. package/dist/skillPreparationTransaction.d.ts.map +1 -0
  180. package/dist/skillPreparationTransaction.js +236 -0
  181. package/dist/skillPreparationTransaction.js.map +1 -0
  182. package/dist/skillPreparationTransaction.test.d.ts +2 -0
  183. package/dist/skillPreparationTransaction.test.d.ts.map +1 -0
  184. package/dist/skillPreparationTransaction.test.js +181 -0
  185. package/dist/skillPreparationTransaction.test.js.map +1 -0
  186. package/dist/skillSyncPolicy.test.d.ts +2 -0
  187. package/dist/skillSyncPolicy.test.d.ts.map +1 -0
  188. package/dist/skillSyncPolicy.test.js +156 -0
  189. package/dist/skillSyncPolicy.test.js.map +1 -0
  190. package/dist/usage.d.ts +1 -1
  191. package/dist/usage.d.ts.map +1 -1
  192. package/dist/usage.js +1 -1
  193. package/dist/usage.js.map +1 -1
  194. package/dist/windowsProcessPortability.test.d.ts +2 -0
  195. package/dist/windowsProcessPortability.test.d.ts.map +1 -0
  196. package/dist/windowsProcessPortability.test.js +14 -0
  197. package/dist/windowsProcessPortability.test.js.map +1 -0
  198. package/package.json +7 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryInstallerFiles.js","sourceRoot":"","sources":["../src/repositoryInstallerFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ export declare const REPOSITORY_KNOWLEDGE_CATALOG_PATH = ".agents/skills/dharma-agent-fabric/knowledge/CATALOG.json";
2
+ export declare const REPOSITORY_KNOWLEDGE_INIT_PATH = ".agents/skills/dharma-agent-fabric/.repository-knowledge-init.json";
3
+ export declare const REPOSITORY_KNOWLEDGE_RELEASE_MANIFEST_PATH = ".agents/skills/dharma-agent-fabric/MANIFEST.json";
4
+ export interface RepositoryKnowledgeIdentity {
5
+ organizationId: string;
6
+ repositoryAgentId: string;
7
+ }
8
+ export interface RepositoryKnowledgeCatalog extends RepositoryKnowledgeIdentity {
9
+ schema: 'dharma.repository-knowledge/v1';
10
+ managedBy: 'dharma-agent-fabric';
11
+ knowledgeBaseId: string;
12
+ initializedAt: string;
13
+ provenance: {
14
+ origin: 'locally_initialized';
15
+ authority: 'unsigned';
16
+ serverReleaseId: null;
17
+ };
18
+ repoAtlas: RepositoryKnowledgeIdentity & {
19
+ association: 'local_scope_only';
20
+ findingsState: 'not_observed';
21
+ };
22
+ concepts: Array<{
23
+ conceptId: string;
24
+ relativePath: string;
25
+ sha256: string;
26
+ }>;
27
+ catalogHash: string;
28
+ }
29
+ export interface RepositoryKnowledgeInput extends RepositoryKnowledgeIdentity {
30
+ workspace: string;
31
+ }
32
+ export interface RepositoryKnowledgeRetentionReference extends RepositoryKnowledgeIdentity {
33
+ schema: 'dharma.repository-knowledge-retention/v1';
34
+ authority: 'unverified_prior_release_reference';
35
+ repositoryBindingId: string;
36
+ generation: number;
37
+ catalogPath: typeof REPOSITORY_KNOWLEDGE_CATALOG_PATH;
38
+ manifestPath: typeof REPOSITORY_KNOWLEDGE_RELEASE_MANIFEST_PATH;
39
+ catalogHash: string;
40
+ manifestHash: string;
41
+ catalogSizeBytes: number;
42
+ manifestSizeBytes: number;
43
+ }
44
+ export interface RepositoryDeliveredKnowledgeCatalog extends RepositoryKnowledgeIdentity {
45
+ schema: 'dharma.repository-knowledge/v2';
46
+ managedBy: 'dharma-agent-fabric';
47
+ knowledgeBaseId: string;
48
+ generation: number;
49
+ authority: 'requires_verified_release';
50
+ policyHash: string;
51
+ sourceSnapshotHash: string;
52
+ sourceLocalCatalogHash: string;
53
+ projectionHash: string;
54
+ repoAtlas: RepositoryKnowledgeIdentity & {
55
+ associationId: string;
56
+ knowledgeBaseId: string;
57
+ basis: 'repository_initialization' | 'semantic_analysis';
58
+ sourceWindowIds: string[];
59
+ analysisHash: string | null;
60
+ };
61
+ concepts: Array<{
62
+ conceptId: string;
63
+ canonicalName: string;
64
+ aliases: string[];
65
+ definition: string;
66
+ sources: Array<{
67
+ sourceId: string;
68
+ sourceHash: string;
69
+ firstLine: number;
70
+ lastLine: number;
71
+ quote: string;
72
+ }>;
73
+ }>;
74
+ unresolved: Array<{
75
+ proposalHash: string;
76
+ reason: string;
77
+ conceptId: string;
78
+ }>;
79
+ }
80
+ export type RepositoryKnowledgeSource = {
81
+ kind: 'local_v1_unsigned';
82
+ catalog: RepositoryKnowledgeCatalog;
83
+ catalogBytes: Buffer;
84
+ } | {
85
+ kind: 'delivered_v2_requires_verified_release';
86
+ catalog: RepositoryDeliveredKnowledgeCatalog;
87
+ catalogBytes: Buffer;
88
+ manifestBytes: Buffer;
89
+ reference: RepositoryKnowledgeRetentionReference;
90
+ };
91
+ export interface RepositoryKnowledgeSourceInput extends RepositoryKnowledgeInput {
92
+ repositoryBindingId?: string | null;
93
+ workspaceId?: string | null;
94
+ }
95
+ export declare function validateRepositoryKnowledgeRetention(input: {
96
+ identity: RepositoryKnowledgeIdentity & {
97
+ repositoryBindingId: string;
98
+ };
99
+ catalogBytes: Buffer;
100
+ manifestBytes: Buffer;
101
+ reference?: unknown;
102
+ }): {
103
+ catalog: RepositoryDeliveredKnowledgeCatalog;
104
+ reference: RepositoryKnowledgeRetentionReference;
105
+ };
106
+ export declare function readRepositoryKnowledgeSource(input: RepositoryKnowledgeSourceInput): Promise<RepositoryKnowledgeSource | null>;
107
+ export interface RepositoryKnowledgeInitializationInput extends RepositoryKnowledgeInput {
108
+ now?: Date;
109
+ dryRun?: boolean;
110
+ }
111
+ export interface RepositoryKnowledgeInitializationResult {
112
+ catalog: RepositoryKnowledgeCatalog;
113
+ relativePath: typeof REPOSITORY_KNOWLEDGE_CATALOG_PATH;
114
+ disposition: 'initialized' | 'reused' | 'planned';
115
+ }
116
+ export declare function validateRepositoryKnowledgeCatalog(value: unknown, identity: RepositoryKnowledgeIdentity): RepositoryKnowledgeCatalog;
117
+ export declare function readRepositoryKnowledge(input: RepositoryKnowledgeInput): Promise<RepositoryKnowledgeCatalog | null>;
118
+ export declare function initializeRepositoryKnowledge(input: RepositoryKnowledgeInitializationInput): Promise<RepositoryKnowledgeInitializationResult>;
119
+ //# sourceMappingURL=repositoryKnowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryKnowledge.d.ts","sourceRoot":"","sources":["../src/repositoryKnowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,462 @@
1
+ import { createHash, randomUUID } from 'node:crypto';
2
+ import { constants, readFileSync } from 'node:fs';
3
+ import { link, lstat, mkdir, open, readdir, realpath, unlink } from 'node:fs/promises';
4
+ import { createRequire } from 'node:module';
5
+ import { isAbsolute, relative, resolve, sep } from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { Ajv2020 } from 'ajv/dist/2020.js';
8
+ const addFormats = createRequire(import.meta.url)('ajv-formats').default;
9
+ const SKILL_ROOT = '.agents/skills/dharma-agent-fabric';
10
+ const KNOWLEDGE_ROOT = `${SKILL_ROOT}/knowledge`;
11
+ export const REPOSITORY_KNOWLEDGE_CATALOG_PATH = `${KNOWLEDGE_ROOT}/CATALOG.json`;
12
+ export const REPOSITORY_KNOWLEDGE_INIT_PATH = `${SKILL_ROOT}/.repository-knowledge-init.json`;
13
+ export const REPOSITORY_KNOWLEDGE_RELEASE_MANIFEST_PATH = `${SKILL_ROOT}/MANIFEST.json`;
14
+ const MAXIMUM_BYTES = 1_048_576;
15
+ const ID = /^[A-Za-z0-9][A-Za-z0-9_-]{0,159}$/;
16
+ const ORGANIZATION_ID = /^org_[A-Za-z0-9_]{1,156}$/;
17
+ const HASH = /^sha256:[0-9a-f]{64}$/;
18
+ const CONCEPT_ID = /^concept_[a-z0-9][a-z0-9_-]{0,79}$/;
19
+ const CONCEPT_PATH = /^concepts\/(?:[A-Za-z0-9_-]+\/)*[A-Za-z0-9_-]+\.(?:json|md)$/;
20
+ const UNSAFE_COMPONENT = /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)|(?:^|[._-])(?:secrets?|credentials?|passwords?|private[-_]?keys?|tokens?|keystore)(?:[._-]|$)/i;
21
+ const UUID = /^[a-f0-9]{8}-[a-f0-9]{4}-[1-8][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$(?![\s\S])/;
22
+ const RETENTION_MAXIMUM_BYTES = 262144;
23
+ let retentionValidators;
24
+ function knowledgeRetentionValidators() {
25
+ if (!retentionValidators) {
26
+ const ajv = new Ajv2020({ allErrors: true, strict: true, strictRequired: false });
27
+ addFormats(ajv);
28
+ for (const name of ['repository-knowledge-v2', 'repository-release-manifest', 'repository-knowledge-retention-v1']) {
29
+ ajv.addSchema(JSON.parse(readFileSync(fileURLToPath(new URL(`./schemas/${name}.schema.json`, import.meta.url)), 'utf8')));
30
+ }
31
+ retentionValidators = { catalog: ajv.getSchema('https://schemas.dharma-ai.io/repository-knowledge/v2'),
32
+ manifest: ajv.getSchema('https://schemas.dharma-ai.io/repository-release-manifest/v1'),
33
+ reference: ajv.getSchema('https://schemas.dharma-ai.io/repository-knowledge-retention/v1') };
34
+ }
35
+ return retentionValidators;
36
+ }
37
+ function retentionDocument(bytes) {
38
+ if (!Buffer.isBuffer(bytes) || bytes.length < 1 || bytes.length > RETENTION_MAXIMUM_BYTES)
39
+ throw new Error('Repository knowledge retention byte limit.');
40
+ const text = bytes.toString('utf8');
41
+ if (!Buffer.from(text).equals(bytes))
42
+ throw new Error('Invalid repository knowledge retention encoding.');
43
+ let value;
44
+ try {
45
+ value = JSON.parse(text);
46
+ }
47
+ catch {
48
+ throw new Error('Invalid repository knowledge retention JSON.');
49
+ }
50
+ if (`${canonical(value)}\n` !== text)
51
+ throw new Error('Repository knowledge retention requires canonical release bytes.');
52
+ return value;
53
+ }
54
+ function byteHash(bytes) { return `sha256:${createHash('sha256').update(bytes).digest('hex')}`; }
55
+ // This validates a retention claim, never its signature, current authority or scientific truth.
56
+ export function validateRepositoryKnowledgeRetention(input) {
57
+ validateIdentity(input.identity);
58
+ if (!UUID.test(input.identity.repositoryBindingId) || !UUID.test(input.identity.repositoryAgentId))
59
+ throw new Error('Repository knowledge retention requires bound repository identity.');
60
+ const catalogValue = retentionDocument(input.catalogBytes), manifestValue = retentionDocument(input.manifestBytes);
61
+ const validators = knowledgeRetentionValidators();
62
+ if (!validators.catalog(catalogValue) || !validators.manifest(manifestValue))
63
+ throw new Error('Repository knowledge retention release schema is invalid.');
64
+ const catalog = catalogValue;
65
+ const manifest = manifestValue;
66
+ const atlas = catalog.repoAtlas;
67
+ if (catalog.organizationId !== input.identity.organizationId || catalog.repositoryAgentId !== input.identity.repositoryAgentId
68
+ || catalog.knowledgeBaseId !== knowledgeBaseId(input.identity) || manifest.organizationId !== catalog.organizationId
69
+ || manifest.repositoryAgentId !== catalog.repositoryAgentId || manifest.generation !== catalog.generation
70
+ || manifest.knowledgeBaseId !== catalog.knowledgeBaseId || manifest.atlasAssociationId !== atlas.associationId
71
+ || manifest.sourceSnapshotHash !== catalog.sourceSnapshotHash || manifest.policyHash !== catalog.policyHash
72
+ || atlas.organizationId !== catalog.organizationId || atlas.repositoryAgentId !== catalog.repositoryAgentId
73
+ || atlas.knowledgeBaseId !== catalog.knowledgeBaseId)
74
+ throw new Error('Repository knowledge retention release scope conflict.');
75
+ const catalogs = manifest.files.filter(file => file.path === REPOSITORY_KNOWLEDGE_CATALOG_PATH);
76
+ if (catalogs.length !== 1 || catalogs[0].role !== 'knowledge' || catalogs[0].sha256 !== byteHash(input.catalogBytes)
77
+ || catalogs[0].sizeBytes !== input.catalogBytes.length
78
+ || new Set(manifest.files.map(file => file.path.toLowerCase())).size !== manifest.files.length) {
79
+ throw new Error('Repository knowledge retention release inventory conflict.');
80
+ }
81
+ const reference = { schema: 'dharma.repository-knowledge-retention/v1',
82
+ authority: 'unverified_prior_release_reference', organizationId: catalog.organizationId,
83
+ repositoryBindingId: input.identity.repositoryBindingId, repositoryAgentId: catalog.repositoryAgentId, generation: catalog.generation,
84
+ catalogPath: REPOSITORY_KNOWLEDGE_CATALOG_PATH, manifestPath: REPOSITORY_KNOWLEDGE_RELEASE_MANIFEST_PATH,
85
+ catalogHash: byteHash(input.catalogBytes), manifestHash: byteHash(input.manifestBytes),
86
+ catalogSizeBytes: input.catalogBytes.length, manifestSizeBytes: input.manifestBytes.length };
87
+ if (input.reference !== undefined && (!validators.reference(input.reference) || canonical(input.reference) !== canonical(reference))) {
88
+ throw new Error('Repository knowledge retention reference integrity failed.');
89
+ }
90
+ return { catalog, reference };
91
+ }
92
+ export async function readRepositoryKnowledgeSource(input) {
93
+ const workspace = await workspaceRoot(input);
94
+ const catalogBytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_CATALOG_PATH, RETENTION_MAXIMUM_BYTES);
95
+ let candidate;
96
+ try {
97
+ candidate = catalogBytes ? JSON.parse(catalogBytes.toString('utf8')) : null;
98
+ }
99
+ catch {
100
+ throw new Error('Invalid repository knowledge JSON.');
101
+ }
102
+ if (candidate?.schema !== 'dharma.repository-knowledge/v2') {
103
+ const catalog = await readRepositoryKnowledge(input);
104
+ if (!catalog)
105
+ return null;
106
+ const bytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_CATALOG_PATH);
107
+ if (!bytes || canonical(parseCatalog(bytes, input)) !== canonical(catalog))
108
+ throw new Error('Repository knowledge changed during collection.');
109
+ return { kind: 'local_v1_unsigned', catalog, catalogBytes: bytes };
110
+ }
111
+ if (typeof input.repositoryBindingId !== 'string' || !UUID.test(input.repositoryBindingId)
112
+ || typeof input.workspaceId !== 'string' || !UUID.test(input.workspaceId))
113
+ throw new Error('Repository knowledge retention requires complete bound identity.');
114
+ const markerBytes = await readOptional(workspace, `${SKILL_ROOT}/.dharma-agent-fabric.json`, 4096);
115
+ let marker;
116
+ try {
117
+ marker = JSON.parse(markerBytes?.toString('utf8') ?? 'null');
118
+ }
119
+ catch {
120
+ throw new Error('Invalid managed repository knowledge marker.');
121
+ }
122
+ if (!marker || !(marker.managedBy === 'dharma-agent-fabric'
123
+ && (marker.workspaceId === undefined || marker.workspaceId === input.workspaceId) || (typeof marker.bundleId === 'string'
124
+ && UUID.test(marker.bundleId) && typeof marker.skillId === 'string' && ID.test(marker.skillId) && marker.workspaceId === input.workspaceId))) {
125
+ throw new Error('Unmanaged repository knowledge retention root.');
126
+ }
127
+ const manifestBytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_RELEASE_MANIFEST_PATH, RETENTION_MAXIMUM_BYTES);
128
+ if (!manifestBytes || !catalogBytes)
129
+ throw new Error('Repository knowledge retention release manifest missing.');
130
+ const result = validateRepositoryKnowledgeRetention({ identity: { ...input, repositoryBindingId: input.repositoryBindingId }, catalogBytes, manifestBytes });
131
+ const intent = await readOptional(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
132
+ if (intent)
133
+ parseCatalog(intent, input);
134
+ if (!(await readOptional(workspace, REPOSITORY_KNOWLEDGE_CATALOG_PATH, RETENTION_MAXIMUM_BYTES))?.equals(catalogBytes)
135
+ || !(await readOptional(workspace, REPOSITORY_KNOWLEDGE_RELEASE_MANIFEST_PATH, RETENTION_MAXIMUM_BYTES))?.equals(manifestBytes)) {
136
+ throw new Error('Repository knowledge retention changed during collection.');
137
+ }
138
+ return { kind: 'delivered_v2_requires_verified_release', catalog: result.catalog, catalogBytes, manifestBytes, reference: result.reference };
139
+ }
140
+ function canonical(value) {
141
+ if (Array.isArray(value))
142
+ return `[${value.map(canonical).join(',')}]`;
143
+ if (value && typeof value === 'object')
144
+ return `{${Object.entries(value).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)
145
+ .map(([key, item]) => `${JSON.stringify(key)}:${canonical(item)}`).join(',')}}`;
146
+ return JSON.stringify(value);
147
+ }
148
+ function hash(value) { return `sha256:${createHash('sha256').update(canonical(value)).digest('hex')}`; }
149
+ function validateIdentity(identity) {
150
+ if (typeof identity.organizationId !== 'string' || typeof identity.repositoryAgentId !== 'string'
151
+ || !ORGANIZATION_ID.test(identity.organizationId) || !ID.test(identity.repositoryAgentId)) {
152
+ throw new Error('Invalid repository knowledge identity.');
153
+ }
154
+ }
155
+ function knowledgeBaseId(identity) {
156
+ return `repository-kb:${hash({ schema: 'dharma.repository-knowledge-identity/v1',
157
+ organizationId: identity.organizationId, repositoryAgentId: identity.repositoryAgentId })}`;
158
+ }
159
+ function record(value, keys) {
160
+ if (!value || typeof value !== 'object' || Array.isArray(value)
161
+ || Object.keys(value).sort().join(',') !== keys.sort().join(','))
162
+ throw new Error('Invalid repository knowledge catalog.');
163
+ return value;
164
+ }
165
+ // Hashes detect local corruption; neither the catalog nor its Atlas scope is a signed release.
166
+ export function validateRepositoryKnowledgeCatalog(value, identity) {
167
+ validateIdentity(identity);
168
+ const row = record(value, ['schema', 'managedBy', 'organizationId', 'repositoryAgentId', 'knowledgeBaseId',
169
+ 'initializedAt', 'provenance', 'repoAtlas', 'concepts', 'catalogHash']);
170
+ if (row.schema !== 'dharma.repository-knowledge/v1' || row.managedBy !== 'dharma-agent-fabric') {
171
+ throw new Error('Invalid or unmanaged repository knowledge catalog.');
172
+ }
173
+ if (row.organizationId !== identity.organizationId || row.repositoryAgentId !== identity.repositoryAgentId
174
+ || row.knowledgeBaseId !== knowledgeBaseId(identity))
175
+ throw new Error('Repository knowledge identity scope mismatch.');
176
+ if (typeof row.initializedAt !== 'string' || !/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$/.test(row.initializedAt)
177
+ || !Number.isFinite(Date.parse(row.initializedAt)) || new Date(row.initializedAt).toISOString() !== row.initializedAt) {
178
+ throw new Error('Invalid repository knowledge timestamp.');
179
+ }
180
+ const provenance = record(row.provenance, ['origin', 'authority', 'serverReleaseId']);
181
+ if (provenance.origin !== 'locally_initialized' || provenance.authority !== 'unsigned' || provenance.serverReleaseId !== null) {
182
+ throw new Error('Invalid repository knowledge provenance.');
183
+ }
184
+ const atlas = record(row.repoAtlas, ['association', 'findingsState', 'organizationId', 'repositoryAgentId']);
185
+ if (atlas.association !== 'local_scope_only' || atlas.findingsState !== 'not_observed'
186
+ || atlas.organizationId !== identity.organizationId || atlas.repositoryAgentId !== identity.repositoryAgentId) {
187
+ throw new Error('Invalid repository Atlas identity scope.');
188
+ }
189
+ if (!Array.isArray(row.concepts) || row.concepts.length > 256)
190
+ throw new Error('Invalid repository knowledge concepts.');
191
+ const ids = new Set();
192
+ const paths = new Set();
193
+ for (const value of row.concepts) {
194
+ const concept = record(value, ['conceptId', 'relativePath', 'sha256']);
195
+ if (typeof concept.conceptId !== 'string' || !CONCEPT_ID.test(concept.conceptId)
196
+ || typeof concept.relativePath !== 'string' || concept.relativePath.length > 500 || !CONCEPT_PATH.test(concept.relativePath)
197
+ || concept.relativePath.split('/').some(part => UNSAFE_COMPONENT.test(part))
198
+ || typeof concept.sha256 !== 'string' || !HASH.test(concept.sha256)
199
+ || ids.has(concept.conceptId) || paths.has(concept.relativePath.toLowerCase()))
200
+ throw new Error('Invalid or unsafe repository knowledge concept.');
201
+ ids.add(concept.conceptId);
202
+ paths.add(concept.relativePath.toLowerCase());
203
+ }
204
+ const { catalogHash, ...content } = row;
205
+ if (typeof catalogHash !== 'string' || !HASH.test(catalogHash) || hash(content) !== catalogHash) {
206
+ throw new Error('Repository knowledge catalog integrity is invalid.');
207
+ }
208
+ return value;
209
+ }
210
+ function initialCatalog(input) {
211
+ validateIdentity(input);
212
+ const timestamp = input.now ?? new Date();
213
+ if (!Number.isFinite(timestamp.getTime()))
214
+ throw new Error('Invalid repository knowledge timestamp.');
215
+ const content = {
216
+ schema: 'dharma.repository-knowledge/v1',
217
+ managedBy: 'dharma-agent-fabric',
218
+ organizationId: input.organizationId,
219
+ repositoryAgentId: input.repositoryAgentId,
220
+ knowledgeBaseId: knowledgeBaseId(input),
221
+ initializedAt: timestamp.toISOString(),
222
+ provenance: { origin: 'locally_initialized', authority: 'unsigned', serverReleaseId: null },
223
+ repoAtlas: { association: 'local_scope_only', findingsState: 'not_observed',
224
+ organizationId: input.organizationId, repositoryAgentId: input.repositoryAgentId },
225
+ concepts: [],
226
+ };
227
+ return validateRepositoryKnowledgeCatalog({ ...content, catalogHash: hash(content) }, input);
228
+ }
229
+ function missing(error) { return error.code === 'ENOENT'; }
230
+ async function workspaceRoot(input) {
231
+ validateIdentity(input);
232
+ if (typeof input.workspace !== 'string' || !input.workspace || input.workspace.includes('\0'))
233
+ throw new Error('Invalid knowledge workspace.');
234
+ const absolute = resolve(input.workspace);
235
+ // OS ancestors can be aliases; the workspace and all managed descendants cannot.
236
+ const metadata = await lstat(absolute);
237
+ if (metadata.isSymbolicLink())
238
+ throw new Error('Repository knowledge workspace symlink is forbidden.');
239
+ if (!metadata.isDirectory())
240
+ throw new Error('Invalid repository knowledge workspace.');
241
+ return realpath(absolute);
242
+ }
243
+ async function checkedPath(workspace, path) {
244
+ let current = workspace;
245
+ for (const component of path.split('/')) {
246
+ current = resolve(current, component);
247
+ let metadata;
248
+ try {
249
+ metadata = await lstat(current);
250
+ }
251
+ catch (error) {
252
+ if (missing(error))
253
+ return null;
254
+ throw error;
255
+ }
256
+ if (metadata.isSymbolicLink())
257
+ throw new Error('Repository knowledge symlink is forbidden.');
258
+ const actual = await realpath(current);
259
+ const route = relative(workspace, actual);
260
+ if (isAbsolute(route) || route === '..' || route.startsWith(`..${sep}`))
261
+ throw new Error('Repository knowledge path escape.');
262
+ }
263
+ return current;
264
+ }
265
+ async function readOptional(workspace, path, maximumBytes = MAXIMUM_BYTES) {
266
+ const target = await checkedPath(workspace, path);
267
+ if (!target)
268
+ return null;
269
+ if (!(await lstat(target)).isFile())
270
+ throw new Error('Invalid repository knowledge regular file.');
271
+ const handle = await open(target, constants.O_RDONLY | (constants.O_NOFOLLOW || 0) | (constants.O_NONBLOCK || 0));
272
+ try {
273
+ const before = await handle.stat();
274
+ if (!before.isFile() || before.size > maximumBytes)
275
+ throw new Error('Repository knowledge file limit or type is invalid.');
276
+ const buffer = Buffer.alloc(before.size + 1);
277
+ let count = 0;
278
+ while (count < buffer.length) {
279
+ const result = await handle.read(buffer, count, buffer.length - count, count);
280
+ if (!result.bytesRead)
281
+ break;
282
+ count += result.bytesRead;
283
+ }
284
+ const after = await handle.stat();
285
+ const checked = await checkedPath(workspace, path);
286
+ if (!checked)
287
+ throw new Error('Repository knowledge file changed.');
288
+ const current = await lstat(checked);
289
+ if (count !== before.size || before.size !== after.size || before.mtimeMs !== after.mtimeMs
290
+ || current.ino !== before.ino || current.dev !== before.dev
291
+ || current.size !== after.size || current.mtimeMs !== after.mtimeMs) {
292
+ throw new Error('Repository knowledge file changed.');
293
+ }
294
+ return buffer.subarray(0, count);
295
+ }
296
+ finally {
297
+ await handle.close();
298
+ }
299
+ }
300
+ function parseCatalog(bytes, input) {
301
+ const text = bytes.toString('utf8');
302
+ if (!Buffer.from(text).equals(bytes))
303
+ throw new Error('Invalid repository knowledge encoding.');
304
+ let value;
305
+ try {
306
+ value = JSON.parse(text);
307
+ }
308
+ catch {
309
+ throw new Error('Invalid repository knowledge JSON.');
310
+ }
311
+ return validateRepositoryKnowledgeCatalog(value, input);
312
+ }
313
+ async function managedWorkspace(input) {
314
+ const workspace = await workspaceRoot(input);
315
+ const marker = await readOptional(workspace, `${SKILL_ROOT}/.dharma-agent-fabric.json`, 4096);
316
+ let value;
317
+ try {
318
+ value = JSON.parse(marker?.toString('utf8') ?? 'null');
319
+ }
320
+ catch {
321
+ throw new Error('Invalid managed repository skill marker.');
322
+ }
323
+ if (!value || value.managedBy !== 'dharma-agent-fabric')
324
+ throw new Error('Unmanaged repository skill root.');
325
+ const directory = await checkedPath(workspace, KNOWLEDGE_ROOT);
326
+ if (directory && !(await lstat(directory)).isDirectory())
327
+ throw new Error('Invalid repository knowledge directory.');
328
+ return workspace;
329
+ }
330
+ export async function readRepositoryKnowledge(input) {
331
+ const workspace = await managedWorkspace(input);
332
+ let intent = await readOptional(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
333
+ if (intent)
334
+ parseCatalog(intent, input);
335
+ const bytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_CATALOG_PATH);
336
+ if (bytes)
337
+ return parseCatalog(bytes, input);
338
+ const directory = await checkedPath(workspace, KNOWLEDGE_ROOT);
339
+ if (directory) {
340
+ intent ??= await readOptional(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
341
+ if (!intent)
342
+ throw new Error('Unmanaged repository knowledge directory.');
343
+ parseCatalog(intent, input);
344
+ const replay = await readOptional(workspace, REPOSITORY_KNOWLEDGE_CATALOG_PATH);
345
+ if (replay)
346
+ return parseCatalog(replay, input);
347
+ if ((await readdir(directory)).some(name => name !== 'CATALOG.json')) {
348
+ throw new Error('Unmanaged files in interrupted repository knowledge initialization.');
349
+ }
350
+ }
351
+ return null;
352
+ }
353
+ async function syncDirectory(path) {
354
+ if (process.platform === 'win32')
355
+ return;
356
+ const handle = await open(path, constants.O_RDONLY);
357
+ try {
358
+ await handle.sync();
359
+ }
360
+ finally {
361
+ await handle.close();
362
+ }
363
+ }
364
+ export async function initializeRepositoryKnowledge(input) {
365
+ const workspace = await managedWorkspace(input);
366
+ const result = (catalog, disposition) => ({ catalog, relativePath: REPOSITORY_KNOWLEDGE_CATALOG_PATH, disposition });
367
+ const existing = await readRepositoryKnowledge(input);
368
+ if (existing)
369
+ return result(existing, 'reused');
370
+ let intentBytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
371
+ if (!intentBytes && await checkedPath(workspace, KNOWLEDGE_ROOT)) {
372
+ // Another initializer may have published its intent since the first read.
373
+ intentBytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
374
+ if (!intentBytes)
375
+ throw new Error('Unmanaged repository knowledge directory.');
376
+ }
377
+ let catalog = intentBytes ? parseCatalog(intentBytes, input) : initialCatalog(input);
378
+ const directory = await checkedPath(workspace, KNOWLEDGE_ROOT);
379
+ if (directory) {
380
+ const names = await readdir(directory);
381
+ if (names.some(name => name !== 'CATALOG.json'))
382
+ throw new Error('Unmanaged files in interrupted repository knowledge initialization.');
383
+ }
384
+ if (input.dryRun)
385
+ return result(catalog, 'planned');
386
+ if (!intentBytes) {
387
+ const staging = `${SKILL_ROOT}/.knowledge-init-${randomUUID()}.tmp`;
388
+ const parent = await checkedPath(workspace, SKILL_ROOT);
389
+ if (!parent)
390
+ throw new Error('Unmanaged repository skill root.');
391
+ const handle = await open(resolve(workspace, staging), constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW || 0), 0o600);
392
+ try {
393
+ await handle.writeFile(`${canonical(catalog)}\n`, 'utf8');
394
+ await handle.sync();
395
+ }
396
+ finally {
397
+ await handle.close();
398
+ }
399
+ try {
400
+ await checkedPath(workspace, staging);
401
+ await checkedPath(workspace, SKILL_ROOT);
402
+ try {
403
+ await link(resolve(workspace, staging), resolve(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH));
404
+ }
405
+ catch (error) {
406
+ if (error.code !== 'EEXIST')
407
+ throw error;
408
+ }
409
+ await syncDirectory(parent);
410
+ intentBytes = await readOptional(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
411
+ if (!intentBytes)
412
+ throw new Error('Repository knowledge initialization record missing.');
413
+ catalog = parseCatalog(intentBytes, input);
414
+ }
415
+ finally {
416
+ const target = await checkedPath(workspace, staging);
417
+ if (target)
418
+ await unlink(target);
419
+ }
420
+ }
421
+ await checkedPath(workspace, SKILL_ROOT);
422
+ try {
423
+ await mkdir(resolve(workspace, KNOWLEDGE_ROOT), { mode: 0o700 });
424
+ }
425
+ catch (error) {
426
+ if (error.code !== 'EEXIST')
427
+ throw error;
428
+ }
429
+ const targetDirectory = await checkedPath(workspace, KNOWLEDGE_ROOT);
430
+ if (!targetDirectory || !(await lstat(targetDirectory)).isDirectory())
431
+ throw new Error('Invalid repository knowledge directory.');
432
+ const existingAfterIntent = await readRepositoryKnowledge(input);
433
+ if (existingAfterIntent)
434
+ return result(existingAfterIntent, 'reused');
435
+ if ((await readdir(targetDirectory)).length) {
436
+ const replay = await readRepositoryKnowledge(input);
437
+ if (replay)
438
+ return result(replay, 'reused');
439
+ throw new Error('Unmanaged files in interrupted repository knowledge initialization.');
440
+ }
441
+ const source = await checkedPath(workspace, REPOSITORY_KNOWLEDGE_INIT_PATH);
442
+ if (!source)
443
+ throw new Error('Repository knowledge initialization record missing.');
444
+ try {
445
+ await link(source, resolve(workspace, REPOSITORY_KNOWLEDGE_CATALOG_PATH));
446
+ }
447
+ catch (error) {
448
+ if (error.code !== 'EEXIST')
449
+ throw error;
450
+ const replay = await readRepositoryKnowledge(input);
451
+ if (!replay)
452
+ throw new Error('Repository knowledge catalog missing.');
453
+ return result(replay, 'reused');
454
+ }
455
+ await syncDirectory(targetDirectory);
456
+ await syncDirectory(resolve(workspace, SKILL_ROOT));
457
+ const published = await readRepositoryKnowledge(input);
458
+ if (!published)
459
+ throw new Error('Repository knowledge catalog missing.');
460
+ return result(published, 'initialized');
461
+ }
462
+ //# sourceMappingURL=repositoryKnowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryKnowledge.js","sourceRoot":"","sources":["../src/repositoryKnowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repositoryKnowledge.test.d.ts.map