@longarc/mdash 3.1.1 → 3.1.3

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 (178) hide show
  1. package/README.md +86 -23
  2. package/SECURITY.md +254 -0
  3. package/dist/accountability/engine.d.ts +27 -0
  4. package/dist/accountability/engine.d.ts.map +1 -0
  5. package/dist/accountability/engine.js +148 -0
  6. package/dist/accountability/engine.js.map +1 -0
  7. package/dist/accountability/types.d.ts +46 -0
  8. package/dist/accountability/types.d.ts.map +1 -0
  9. package/dist/accountability/types.js +8 -0
  10. package/dist/accountability/types.js.map +1 -0
  11. package/dist/checkpoint/engine.d.ts +2 -2
  12. package/dist/checkpoint/engine.d.ts.map +1 -1
  13. package/dist/checkpoint/engine.js +5 -1
  14. package/dist/checkpoint/engine.js.map +1 -1
  15. package/dist/context/compose.d.ts +62 -0
  16. package/dist/context/compose.d.ts.map +1 -0
  17. package/dist/context/compose.js +286 -0
  18. package/dist/context/compose.js.map +1 -0
  19. package/dist/context/crypto/hash.d.ts +100 -0
  20. package/dist/context/crypto/hash.d.ts.map +1 -0
  21. package/dist/context/crypto/hash.js +248 -0
  22. package/dist/context/crypto/hash.js.map +1 -0
  23. package/dist/context/crypto/hmac.d.ts +80 -0
  24. package/dist/context/crypto/hmac.d.ts.map +1 -0
  25. package/dist/context/crypto/hmac.js +192 -0
  26. package/dist/context/crypto/hmac.js.map +1 -0
  27. package/dist/context/crypto/index.d.ts +7 -0
  28. package/dist/context/crypto/index.d.ts.map +1 -0
  29. package/dist/context/crypto/index.js +7 -0
  30. package/dist/context/crypto/index.js.map +1 -0
  31. package/dist/context/engine-v3.0-backup.d.ts +197 -0
  32. package/dist/context/engine-v3.0-backup.d.ts.map +1 -0
  33. package/dist/context/engine-v3.0-backup.js +392 -0
  34. package/dist/context/engine-v3.0-backup.js.map +1 -0
  35. package/dist/context/engine.d.ts +2 -2
  36. package/dist/context/engine.d.ts.map +1 -1
  37. package/dist/context/engine.js +2 -2
  38. package/dist/context/engine.js.map +1 -1
  39. package/dist/context/fragment.d.ts +99 -0
  40. package/dist/context/fragment.d.ts.map +1 -0
  41. package/dist/context/fragment.js +316 -0
  42. package/dist/context/fragment.js.map +1 -0
  43. package/dist/context/index.d.ts +99 -0
  44. package/dist/context/index.d.ts.map +1 -0
  45. package/dist/context/index.js +180 -0
  46. package/dist/context/index.js.map +1 -0
  47. package/dist/context/provenance.d.ts +80 -0
  48. package/dist/context/provenance.d.ts.map +1 -0
  49. package/dist/context/provenance.js +294 -0
  50. package/dist/context/provenance.js.map +1 -0
  51. package/dist/context/resolve.d.ts +106 -0
  52. package/dist/context/resolve.d.ts.map +1 -0
  53. package/dist/context/resolve.js +440 -0
  54. package/dist/context/resolve.js.map +1 -0
  55. package/dist/context/store.d.ts +156 -0
  56. package/dist/context/store.d.ts.map +1 -0
  57. package/dist/context/store.js +396 -0
  58. package/dist/context/store.js.map +1 -0
  59. package/dist/context/types.d.ts +463 -0
  60. package/dist/context/types.d.ts.map +1 -0
  61. package/dist/context/types.js +94 -0
  62. package/dist/context/types.js.map +1 -0
  63. package/dist/context/utils/atomic.d.ts +76 -0
  64. package/dist/context/utils/atomic.d.ts.map +1 -0
  65. package/dist/context/utils/atomic.js +159 -0
  66. package/dist/context/utils/atomic.js.map +1 -0
  67. package/dist/context/utils/credit.d.ts +65 -0
  68. package/dist/context/utils/credit.d.ts.map +1 -0
  69. package/dist/context/utils/credit.js +164 -0
  70. package/dist/context/utils/credit.js.map +1 -0
  71. package/dist/context/utils/index.d.ts +13 -0
  72. package/dist/context/utils/index.d.ts.map +1 -0
  73. package/dist/context/utils/index.js +13 -0
  74. package/dist/context/utils/index.js.map +1 -0
  75. package/dist/context/utils/utility.d.ts +63 -0
  76. package/dist/context/utils/utility.d.ts.map +1 -0
  77. package/dist/context/utils/utility.js +141 -0
  78. package/dist/context/utils/utility.js.map +1 -0
  79. package/dist/core/commitment.d.ts +26 -3
  80. package/dist/core/commitment.d.ts.map +1 -1
  81. package/dist/core/commitment.js +45 -7
  82. package/dist/core/commitment.js.map +1 -1
  83. package/dist/core/crypto.d.ts +2 -0
  84. package/dist/core/crypto.d.ts.map +1 -1
  85. package/dist/core/crypto.js +12 -0
  86. package/dist/core/crypto.js.map +1 -1
  87. package/dist/index.d.ts +11 -6
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +35 -10
  90. package/dist/index.js.map +1 -1
  91. package/dist/mcca/engine.d.ts.map +1 -1
  92. package/dist/mcca/engine.js +5 -4
  93. package/dist/mcca/engine.js.map +1 -1
  94. package/dist/physics/engine.d.ts +3 -2
  95. package/dist/physics/engine.d.ts.map +1 -1
  96. package/dist/physics/engine.js +37 -3
  97. package/dist/physics/engine.js.map +1 -1
  98. package/dist/provenance/api-handler.d.ts +45 -0
  99. package/dist/provenance/api-handler.d.ts.map +1 -0
  100. package/dist/provenance/api-handler.js +223 -0
  101. package/dist/provenance/api-handler.js.map +1 -0
  102. package/dist/provenance/api-types.d.ts +108 -0
  103. package/dist/provenance/api-types.d.ts.map +1 -0
  104. package/dist/provenance/api-types.js +9 -0
  105. package/dist/provenance/api-types.js.map +1 -0
  106. package/dist/provenance/index.d.ts +6 -0
  107. package/dist/provenance/index.d.ts.map +1 -0
  108. package/dist/provenance/index.js +3 -0
  109. package/dist/provenance/index.js.map +1 -0
  110. package/dist/provenance/provenance-engine.d.ts +63 -0
  111. package/dist/provenance/provenance-engine.d.ts.map +1 -0
  112. package/dist/provenance/provenance-engine.js +311 -0
  113. package/dist/provenance/provenance-engine.js.map +1 -0
  114. package/dist/provenance/types.d.ts +193 -0
  115. package/dist/provenance/types.d.ts.map +1 -0
  116. package/dist/provenance/types.js +9 -0
  117. package/dist/provenance/types.js.map +1 -0
  118. package/dist/tee/engine.d.ts.map +1 -1
  119. package/dist/tee/engine.js +14 -0
  120. package/dist/tee/engine.js.map +1 -1
  121. package/dist/warrant/engine.d.ts +24 -1
  122. package/dist/warrant/engine.d.ts.map +1 -1
  123. package/dist/warrant/engine.js +76 -1
  124. package/dist/warrant/engine.js.map +1 -1
  125. package/dist/zk/engine.d.ts.map +1 -1
  126. package/dist/zk/engine.js +7 -4
  127. package/dist/zk/engine.js.map +1 -1
  128. package/docs/SECURITY-PATCHES.md +170 -0
  129. package/package.json +17 -5
  130. package/src/__tests__/accountability.test.ts +308 -0
  131. package/src/__tests__/l1-verification-modes.test.ts +424 -0
  132. package/src/__tests__/phase1.benchmark.test.ts +94 -0
  133. package/src/__tests__/phase1.test.ts +0 -77
  134. package/src/__tests__/phase2-4.benchmark.test.ts +60 -0
  135. package/src/__tests__/phase2-4.test.ts +1 -52
  136. package/src/__tests__/provenance/api-handler.test.ts +356 -0
  137. package/src/__tests__/provenance/provenance-engine.test.ts +628 -0
  138. package/src/__tests__/sa-2026-008.test.ts +45 -0
  139. package/src/__tests__/sa-2026-009.test.ts +86 -0
  140. package/src/__tests__/sa-2026-010.test.ts +72 -0
  141. package/src/__tests__/sa-2026-012.test.ts +65 -0
  142. package/src/__tests__/sa-2026-nfc.test.ts +40 -0
  143. package/src/__tests__/security.test.ts +786 -0
  144. package/src/accountability/engine.ts +230 -0
  145. package/src/accountability/types.ts +58 -0
  146. package/src/checkpoint/engine.ts +6 -2
  147. package/src/context/__tests__/caret-v0.2.0.test.ts +860 -0
  148. package/src/context/__tests__/integration.test.ts +356 -0
  149. package/src/context/compose.ts +388 -0
  150. package/src/context/crypto/hash.ts +277 -0
  151. package/src/context/crypto/hmac.ts +253 -0
  152. package/src/context/crypto/index.ts +29 -0
  153. package/src/context/engine-v3.0-backup.ts +598 -0
  154. package/src/context/engine.ts +2 -2
  155. package/src/context/fragment.ts +454 -0
  156. package/src/context/index.ts +427 -0
  157. package/src/context/provenance.ts +380 -0
  158. package/src/context/resolve.ts +581 -0
  159. package/src/context/store.ts +503 -0
  160. package/src/context/types.ts +679 -0
  161. package/src/context/utils/atomic.ts +207 -0
  162. package/src/context/utils/credit.ts +224 -0
  163. package/src/context/utils/index.ts +13 -0
  164. package/src/context/utils/utility.ts +200 -0
  165. package/src/core/commitment.ts +130 -68
  166. package/src/core/crypto.ts +13 -0
  167. package/src/index.ts +62 -10
  168. package/src/mcca/engine.ts +5 -4
  169. package/src/physics/engine.ts +42 -5
  170. package/src/provenance/api-handler.ts +248 -0
  171. package/src/provenance/api-types.ts +112 -0
  172. package/src/provenance/index.ts +19 -0
  173. package/src/provenance/provenance-engine.ts +387 -0
  174. package/src/provenance/types.ts +211 -0
  175. package/src/tee/engine.ts +16 -0
  176. package/src/warrant/engine.ts +89 -1
  177. package/src/zk/engine.ts +8 -4
  178. package/tsconfig.json +1 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * mdash v3.1 — Accountability Engine Types
3
+ *
4
+ * Consumer-facing types for the unified accountability API.
5
+ * Warrants + Commitments in a single lifecycle.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/accountability/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -10,8 +10,8 @@
10
10
  * Key Property:
11
11
  * - Single action blast radius: if an action fails, only that action is affected
12
12
  */
13
- import { Hash, Seal, Timestamp, CheckpointId, WarrantId } from '../core/crypto';
14
- import { CommitmentEngine } from '../core/commitment';
13
+ import { Hash, Seal, Timestamp, CheckpointId, WarrantId } from '../core/crypto.js';
14
+ import { CommitmentEngine } from '../core/commitment.js';
15
15
  export type CheckpointTrigger = 'action_start' | 'action_complete' | 'state_change' | 'constraint_check' | 'error' | 'recovery' | 'manual';
16
16
  export type CheckpointStatus = 'pending' | 'sealed' | 'verified' | 'failed';
17
17
  export interface CheckpointState {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/checkpoint/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/checkpoint/engine.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * Key Property:
11
11
  * - Single action blast radius: if an action fails, only that action is affected
12
12
  */
13
- import { generateCheckpointId, generateTimestamp, sha256Object, hmacSeal, hmacVerify, deriveKey, } from '../core/crypto';
13
+ import { generateCheckpointId, generateTimestamp, sha256Object, hmacSeal, hmacVerify, deriveKey, } from '../core/crypto.js';
14
14
  // ============================================================================
15
15
  // HAPPENS-BEFORE LATTICE
16
16
  // ============================================================================
@@ -198,6 +198,10 @@ export class CheckpointEngine {
198
198
  this.commitmentEngine.commit(checkpoint, commitmentId).then(() => {
199
199
  checkpoint.commitment_id = commitmentId;
200
200
  checkpoint.status = 'sealed';
201
+ }).catch((error) => {
202
+ // SA-2026-010: Log commitment failures instead of silently swallowing
203
+ checkpoint.status = 'failed';
204
+ console.error(`[Checkpoint] L1 commit failed for ${id}: ${error}`);
201
205
  });
202
206
  // Store and index
203
207
  this.checkpoints.set(id, checkpoint);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/checkpoint/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/checkpoint/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Caret — Manifold Composition Engine
3
+ * @module @longarcstudios/caret/compose
4
+ *
5
+ * Compose multiple context fragments into a single manifold.
6
+ * Handles token budgeting, semantic compression, and provenance merging.
7
+ */
8
+ import type { ContextFragment, Manifold, TokenCount, ComposeOptions, TrustLevel } from './types.js';
9
+ /**
10
+ * Parse a token ceiling specification.
11
+ * Accepts number or string like "8k tokens", "16k", "4096"
12
+ */
13
+ export declare function parseTokenCeiling(ceiling: TokenCount | string): TokenCount;
14
+ /**
15
+ * Compose multiple fragments into a manifold.
16
+ *
17
+ * @param fragments - The fragments to compose
18
+ * @param options - Composition options
19
+ * @param seal_key - Secret key for sealing
20
+ * @returns Promise resolving to the composed manifold
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const manifold = await compose([
25
+ * policyFragment,
26
+ * userContextFragment,
27
+ * agentStateFragment
28
+ * ], { ceiling: '8k tokens' }, 'secret-key');
29
+ * ```
30
+ */
31
+ export declare function compose<T = unknown>(fragments: readonly ContextFragment[], options: ComposeOptions, seal_key: string): Promise<Manifold<T>>;
32
+ /**
33
+ * Verify a manifold's integrity.
34
+ */
35
+ export declare function verifyManifold(manifold: Manifold, seal_key: string): Promise<{
36
+ valid: boolean;
37
+ errors: string[];
38
+ }>;
39
+ /**
40
+ * Get summary statistics for a manifold.
41
+ */
42
+ export declare function getManifoldStats(manifold: Manifold): {
43
+ tokens: TokenCount;
44
+ fragments: number;
45
+ utilization: number;
46
+ minTrust: TrustLevel;
47
+ };
48
+ /**
49
+ * Check if a manifold is within a given token budget.
50
+ */
51
+ export declare function fitsInBudget(manifold: Manifold, budget: TokenCount | string): boolean;
52
+ /**
53
+ * Recompose a manifold with a different token ceiling.
54
+ * Requires access to original fragments.
55
+ */
56
+ export declare function recompose<T = unknown>(originalFragments: readonly ContextFragment[], newOptions: ComposeOptions, seal_key: string): Promise<Manifold<T>>;
57
+ /**
58
+ * Extend a manifold with additional fragments.
59
+ * Creates a new manifold (immutable).
60
+ */
61
+ export declare function extendManifold<T = unknown>(originalFragments: readonly ContextFragment[], additionalFragments: readonly ContextFragment[], options: ComposeOptions, seal_key: string): Promise<Manifold<T>>;
62
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/context/compose.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EAIR,UAAU,EACV,cAAc,EAEd,UAAU,EACX,MAAM,YAAY,CAAC;AAUpB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAoB1E;AAuGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,OAAO,CAAC,CAAC,GAAG,OAAO,EACvC,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAmFtB;AA8BD;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAkCD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG;IACpD,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAOA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAGrF;AAMD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,iBAAiB,EAAE,SAAS,eAAe,EAAE,EAC7C,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAEtB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,OAAO,EAC9C,iBAAiB,EAAE,SAAS,eAAe,EAAE,EAC7C,mBAAmB,EAAE,SAAS,eAAe,EAAE,EAC/C,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAGtB"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Caret — Manifold Composition Engine
3
+ * @module @longarcstudios/caret/compose
4
+ *
5
+ * Compose multiple context fragments into a single manifold.
6
+ * Handles token budgeting, semantic compression, and provenance merging.
7
+ */
8
+ import { sha256Object } from './crypto/hash.js';
9
+ import { hmacSeal } from './crypto/hmac.js';
10
+ import { mergeChains, getMinTrust } from './provenance.js';
11
+ import { createSemanticUnit, getFragmentTrust } from './fragment.js';
12
+ // ============================================================================
13
+ // TOKEN PARSING
14
+ // ============================================================================
15
+ /**
16
+ * Parse a token ceiling specification.
17
+ * Accepts number or string like "8k tokens", "16k", "4096"
18
+ */
19
+ export function parseTokenCeiling(ceiling) {
20
+ if (typeof ceiling === 'number') {
21
+ return ceiling;
22
+ }
23
+ const str = ceiling.toLowerCase().replace(/\s+/g, '').replace('tokens', '');
24
+ // Handle k/K suffix
25
+ if (str.endsWith('k')) {
26
+ const num = parseFloat(str.slice(0, -1));
27
+ return Math.floor(num * 1000);
28
+ }
29
+ // Handle m/M suffix (millions)
30
+ if (str.endsWith('m')) {
31
+ const num = parseFloat(str.slice(0, -1));
32
+ return Math.floor(num * 1000000);
33
+ }
34
+ return parseInt(str, 10);
35
+ }
36
+ // ============================================================================
37
+ // COMPOSITION STRATEGIES
38
+ // ============================================================================
39
+ /**
40
+ * Sort fragments by strategy.
41
+ */
42
+ function sortByStrategy(fragments, strategy) {
43
+ const copy = [...fragments];
44
+ switch (strategy) {
45
+ case 'concatenate':
46
+ // Keep original order
47
+ return copy;
48
+ case 'priority':
49
+ // Sort by trust level (highest first)
50
+ return copy.sort((a, b) => getFragmentTrust(b) - getFragmentTrust(a));
51
+ case 'recency':
52
+ // Sort by sealed_at (most recent first)
53
+ return copy.sort((a, b) => new Date(b.sealed_at).getTime() - new Date(a.sealed_at).getTime());
54
+ case 'semantic':
55
+ // For now, same as priority — true semantic dedup would need embeddings
56
+ return copy.sort((a, b) => getFragmentTrust(b) - getFragmentTrust(a));
57
+ default:
58
+ return copy;
59
+ }
60
+ }
61
+ /**
62
+ * Select fragments that fit within token ceiling.
63
+ */
64
+ function selectFragments(fragments, ceiling, minTrust) {
65
+ const included = [];
66
+ const excluded = [];
67
+ let totalTokens = 0;
68
+ for (const fragment of fragments) {
69
+ // Check trust level filter
70
+ if (minTrust !== undefined && getFragmentTrust(fragment) < minTrust) {
71
+ excluded.push(fragment);
72
+ continue;
73
+ }
74
+ const fragmentTokens = fragment.content.token_count;
75
+ // Check if adding this fragment would exceed ceiling
76
+ if (totalTokens + fragmentTokens <= ceiling) {
77
+ included.push(fragment);
78
+ totalTokens = (totalTokens + fragmentTokens);
79
+ }
80
+ else {
81
+ excluded.push(fragment);
82
+ }
83
+ }
84
+ return { included, excluded, totalTokens };
85
+ }
86
+ // ============================================================================
87
+ // MANIFOLD CREATION
88
+ // ============================================================================
89
+ /**
90
+ * Generate a UUID v4 for manifold ID.
91
+ * SECURITY: Never falls back to Math.random — fails instead.
92
+ */
93
+ function generateManifoldId() {
94
+ if (typeof crypto !== 'undefined' && crypto.randomUUID) {
95
+ return crypto.randomUUID();
96
+ }
97
+ if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
98
+ const bytes = new Uint8Array(16);
99
+ crypto.getRandomValues(bytes);
100
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
101
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
102
+ const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
103
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
104
+ }
105
+ throw new Error('Cryptographically secure random number generator not available');
106
+ }
107
+ /**
108
+ * Compose multiple fragments into a manifold.
109
+ *
110
+ * @param fragments - The fragments to compose
111
+ * @param options - Composition options
112
+ * @param seal_key - Secret key for sealing
113
+ * @returns Promise resolving to the composed manifold
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * const manifold = await compose([
118
+ * policyFragment,
119
+ * userContextFragment,
120
+ * agentStateFragment
121
+ * ], { ceiling: '8k tokens' }, 'secret-key');
122
+ * ```
123
+ */
124
+ export async function compose(fragments, options, seal_key) {
125
+ if (fragments.length === 0) {
126
+ throw new Error('Cannot compose empty fragment array');
127
+ }
128
+ const ceiling = parseTokenCeiling(options.ceiling);
129
+ const strategy = options.strategy ?? 'priority';
130
+ const preserveProvenance = options.preserve_provenance ?? true;
131
+ const minTrust = options.min_trust;
132
+ // Sort fragments by strategy
133
+ const sorted = sortByStrategy(fragments, strategy);
134
+ // Select fragments within ceiling
135
+ const { included, excluded, totalTokens } = selectFragments(sorted, ceiling, minTrust);
136
+ if (included.length === 0) {
137
+ throw new Error('No fragments fit within token ceiling');
138
+ }
139
+ // Compose content
140
+ const composedData = composeContent(included);
141
+ const content = createSemanticUnit(composedData, {
142
+ type: 'composite',
143
+ });
144
+ // Merge provenance chains
145
+ const firstIncluded = included[0];
146
+ if (!firstIncluded) {
147
+ throw new Error('No fragments to compose');
148
+ }
149
+ const provenance = preserveProvenance
150
+ ? await mergeChains(included.map(f => f.provenance))
151
+ : firstIncluded.provenance;
152
+ // Generate manifold ID
153
+ const id = generateManifoldId();
154
+ // Compute hash
155
+ const hash = await sha256Object({
156
+ id,
157
+ content,
158
+ sources: included.map(f => f.id),
159
+ provenance,
160
+ });
161
+ // Create composition metadata
162
+ const composition = {
163
+ strategy,
164
+ ceiling,
165
+ actual_tokens: totalTokens,
166
+ fragments_included: included.length,
167
+ fragments_excluded: excluded.length,
168
+ compression_applied: false, // TODO: implement compression
169
+ };
170
+ const created_at = new Date().toISOString();
171
+ // Create seal
172
+ const seal = await hmacSeal({
173
+ id,
174
+ hash,
175
+ content,
176
+ sources: included.map(f => f.id),
177
+ provenance,
178
+ composition,
179
+ created_at,
180
+ }, seal_key);
181
+ return {
182
+ id,
183
+ hash,
184
+ content,
185
+ sources: included.map(f => f.id),
186
+ provenance,
187
+ composition,
188
+ created_at,
189
+ seal,
190
+ };
191
+ }
192
+ /**
193
+ * Compose content from multiple fragments.
194
+ * For now, creates a structured object with all content.
195
+ * More sophisticated merging could be added later.
196
+ */
197
+ function composeContent(fragments) {
198
+ // For text fragments, concatenate
199
+ const textFragments = fragments.filter(f => f.content.type === 'text');
200
+ if (textFragments.length === fragments.length) {
201
+ return textFragments.map(f => f.content.data).join('\n\n---\n\n');
202
+ }
203
+ // For mixed types, create structured object
204
+ return {
205
+ fragments: fragments.map(f => ({
206
+ id: f.id,
207
+ type: f.content.type,
208
+ data: f.content.data,
209
+ source: f.provenance.head.source,
210
+ trust: f.provenance.head.trust_level,
211
+ })),
212
+ };
213
+ }
214
+ // ============================================================================
215
+ // MANIFOLD OPERATIONS
216
+ // ============================================================================
217
+ /**
218
+ * Verify a manifold's integrity.
219
+ */
220
+ export async function verifyManifold(manifold, seal_key) {
221
+ const errors = [];
222
+ // Verify hash
223
+ const expectedHash = await sha256Object({
224
+ id: manifold.id,
225
+ content: manifold.content,
226
+ sources: manifold.sources,
227
+ provenance: manifold.provenance,
228
+ });
229
+ if (expectedHash !== manifold.hash) {
230
+ errors.push('Manifold hash mismatch');
231
+ }
232
+ // Verify seal
233
+ const expectedSeal = await hmacSeal({
234
+ id: manifold.id,
235
+ hash: manifold.hash,
236
+ content: manifold.content,
237
+ sources: manifold.sources,
238
+ provenance: manifold.provenance,
239
+ composition: manifold.composition,
240
+ created_at: manifold.created_at,
241
+ }, seal_key);
242
+ if (expectedSeal !== manifold.seal) {
243
+ errors.push('Manifold seal verification failed');
244
+ }
245
+ return {
246
+ valid: errors.length === 0,
247
+ errors,
248
+ };
249
+ }
250
+ /**
251
+ * Get summary statistics for a manifold.
252
+ */
253
+ export function getManifoldStats(manifold) {
254
+ return {
255
+ tokens: manifold.composition.actual_tokens,
256
+ fragments: manifold.composition.fragments_included,
257
+ utilization: manifold.composition.actual_tokens / manifold.composition.ceiling,
258
+ minTrust: getMinTrust(manifold.provenance),
259
+ };
260
+ }
261
+ /**
262
+ * Check if a manifold is within a given token budget.
263
+ */
264
+ export function fitsInBudget(manifold, budget) {
265
+ const budgetTokens = parseTokenCeiling(budget);
266
+ return manifold.content.token_count <= budgetTokens;
267
+ }
268
+ // ============================================================================
269
+ // RECOMPOSITION
270
+ // ============================================================================
271
+ /**
272
+ * Recompose a manifold with a different token ceiling.
273
+ * Requires access to original fragments.
274
+ */
275
+ export async function recompose(originalFragments, newOptions, seal_key) {
276
+ return compose(originalFragments, newOptions, seal_key);
277
+ }
278
+ /**
279
+ * Extend a manifold with additional fragments.
280
+ * Creates a new manifold (immutable).
281
+ */
282
+ export async function extendManifold(originalFragments, additionalFragments, options, seal_key) {
283
+ const allFragments = [...originalFragments, ...additionalFragments];
284
+ return compose(allFragments, options, seal_key);
285
+ }
286
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/context/compose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Caret — Cryptographic Hash Utilities
3
+ * @module @longarcstudios/caret/crypto/hash
4
+ *
5
+ * SHA-256 implementation using Web Crypto API (browser + Node compatible).
6
+ * All hashing is deterministic — same input always produces same output.
7
+ */
8
+ import type { Hash } from '../types.js';
9
+ /**
10
+ * Convert hexadecimal string to ArrayBuffer.
11
+ */
12
+ export declare function hexToBuffer(hex: string): ArrayBuffer;
13
+ /**
14
+ * Compute SHA-256 hash of a string.
15
+ *
16
+ * @param input - The string to hash
17
+ * @returns Promise resolving to the hash as a branded Hash type
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const hash = await sha256('hello world');
22
+ * // => 'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9'
23
+ * ```
24
+ */
25
+ export declare function sha256(input: string): Promise<Hash>;
26
+ /**
27
+ * Compute SHA-256 hash of binary data.
28
+ *
29
+ * @param data - The binary data to hash
30
+ * @returns Promise resolving to the hash
31
+ */
32
+ export declare function sha256Binary(data: ArrayBuffer | Uint8Array): Promise<Hash>;
33
+ /**
34
+ * Compute SHA-256 hash of a JSON-serializable object.
35
+ * Uses deterministic JSON serialization (sorted keys).
36
+ *
37
+ * @param obj - The object to hash
38
+ * @returns Promise resolving to the hash
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const hash = await sha256Object({ b: 2, a: 1 });
43
+ * // Same as sha256Object({ a: 1, b: 2 }) — deterministic
44
+ * ```
45
+ */
46
+ export declare function sha256Object(obj: unknown): Promise<Hash>;
47
+ /**
48
+ * Compute a rolling hash combining multiple hashes.
49
+ * Used for chain verification in provenance tracking.
50
+ *
51
+ * @param hashes - Array of hashes to combine
52
+ * @returns Promise resolving to the combined hash
53
+ */
54
+ export declare function rollingHash(hashes: readonly Hash[]): Promise<Hash>;
55
+ /**
56
+ * Verify that a hash matches expected content.
57
+ *
58
+ * @param content - The content to verify
59
+ * @param expectedHash - The expected hash
60
+ * @returns Promise resolving to boolean
61
+ */
62
+ export declare function verifyHash(content: string, expectedHash: Hash): Promise<boolean>;
63
+ /**
64
+ * Verify that an object's hash matches expected.
65
+ *
66
+ * @param obj - The object to verify
67
+ * @param expectedHash - The expected hash
68
+ * @returns Promise resolving to boolean
69
+ */
70
+ export declare function verifyObjectHash(obj: unknown, expectedHash: Hash): Promise<boolean>;
71
+ /**
72
+ * Deterministic JSON stringify with sorted keys.
73
+ * Ensures same object always produces same string.
74
+ */
75
+ export declare function deterministicStringify(obj: unknown): string;
76
+ /**
77
+ * Constant-time string comparison to prevent timing attacks.
78
+ *
79
+ * @param a - First string
80
+ * @param b - Second string
81
+ * @returns true if equal, false otherwise
82
+ */
83
+ export declare function constantTimeEqual(a: string, b: string): boolean;
84
+ /**
85
+ * Validate that a string is a valid SHA-256 hash.
86
+ *
87
+ * @param value - The value to validate
88
+ * @returns true if valid hash format
89
+ */
90
+ export declare function isValidHash(value: string): value is Hash;
91
+ /**
92
+ * Create a Hash type from a raw string (unsafe — no validation).
93
+ * Use only when you've already validated the input.
94
+ */
95
+ export declare function unsafeHash(value: string): Hash;
96
+ /**
97
+ * Parse a string as a Hash, throwing if invalid.
98
+ */
99
+ export declare function parseHash(value: string): Hash;
100
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/context/crypto/hash.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AA2ExC;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CASpD;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAexE;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzF;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAa3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAe/D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI,CAIxD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM7C"}