@vorionsys/atsf-core 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +12 -12
  2. package/dist/api/server.js +4 -4
  3. package/dist/api/server.js.map +1 -1
  4. package/dist/basis/parser.d.ts +210 -210
  5. package/dist/basis/parser.js.map +1 -1
  6. package/dist/chain/index.d.ts +147 -0
  7. package/dist/chain/index.d.ts.map +1 -0
  8. package/dist/chain/index.js +219 -0
  9. package/dist/chain/index.js.map +1 -0
  10. package/dist/common/adapters.d.ts +9 -9
  11. package/dist/common/adapters.d.ts.map +1 -1
  12. package/dist/common/adapters.js +6 -6
  13. package/dist/common/config.d.ts +152 -152
  14. package/dist/common/types.d.ts +32 -15
  15. package/dist/common/types.d.ts.map +1 -1
  16. package/dist/common/types.js.map +1 -1
  17. package/dist/enforce/index.d.ts +226 -16
  18. package/dist/enforce/index.d.ts.map +1 -1
  19. package/dist/enforce/index.js +196 -49
  20. package/dist/enforce/index.js.map +1 -1
  21. package/dist/index.d.ts +9 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +14 -3
  24. package/dist/index.js.map +1 -1
  25. package/dist/intent/index.d.ts +127 -10
  26. package/dist/intent/index.d.ts.map +1 -1
  27. package/dist/intent/index.js +121 -16
  28. package/dist/intent/index.js.map +1 -1
  29. package/dist/langchain/executor.d.ts +19 -5
  30. package/dist/langchain/executor.d.ts.map +1 -1
  31. package/dist/langchain/executor.js +287 -36
  32. package/dist/langchain/executor.js.map +1 -1
  33. package/dist/langchain/index.d.ts +2 -1
  34. package/dist/langchain/index.d.ts.map +1 -1
  35. package/dist/langchain/index.js +3 -1
  36. package/dist/langchain/index.js.map +1 -1
  37. package/dist/langchain/tools.d.ts.map +1 -1
  38. package/dist/langchain/tools.js +2 -1
  39. package/dist/langchain/tools.js.map +1 -1
  40. package/dist/langchain/types.d.ts +41 -0
  41. package/dist/langchain/types.d.ts.map +1 -1
  42. package/dist/layers/index.d.ts +1 -1
  43. package/dist/layers/index.d.ts.map +1 -1
  44. package/dist/persistence/file.d.ts +35 -3
  45. package/dist/persistence/file.d.ts.map +1 -1
  46. package/dist/persistence/file.js +138 -11
  47. package/dist/persistence/file.js.map +1 -1
  48. package/dist/persistence/index.d.ts +10 -1
  49. package/dist/persistence/index.d.ts.map +1 -1
  50. package/dist/persistence/index.js +15 -1
  51. package/dist/persistence/index.js.map +1 -1
  52. package/dist/persistence/sqlite.d.ts +135 -0
  53. package/dist/persistence/sqlite.d.ts.map +1 -0
  54. package/dist/persistence/sqlite.js +372 -0
  55. package/dist/persistence/sqlite.js.map +1 -0
  56. package/dist/phase6/ceiling.d.ts +177 -0
  57. package/dist/phase6/ceiling.d.ts.map +1 -0
  58. package/dist/phase6/ceiling.js +463 -0
  59. package/dist/phase6/ceiling.js.map +1 -0
  60. package/dist/phase6/context.d.ts +207 -0
  61. package/dist/phase6/context.d.ts.map +1 -0
  62. package/dist/phase6/context.js +603 -0
  63. package/dist/phase6/context.js.map +1 -0
  64. package/dist/phase6/index.d.ts +79 -0
  65. package/dist/phase6/index.d.ts.map +1 -0
  66. package/dist/phase6/index.js +152 -0
  67. package/dist/phase6/index.js.map +1 -0
  68. package/dist/phase6/presets.d.ts +148 -0
  69. package/dist/phase6/presets.d.ts.map +1 -0
  70. package/dist/phase6/presets.js +467 -0
  71. package/dist/phase6/presets.js.map +1 -0
  72. package/dist/phase6/provenance.d.ts +148 -0
  73. package/dist/phase6/provenance.d.ts.map +1 -0
  74. package/dist/phase6/provenance.js +545 -0
  75. package/dist/phase6/provenance.js.map +1 -0
  76. package/dist/phase6/role-gates/index.d.ts +7 -0
  77. package/dist/phase6/role-gates/index.d.ts.map +1 -0
  78. package/dist/phase6/role-gates/index.js +7 -0
  79. package/dist/phase6/role-gates/index.js.map +1 -0
  80. package/dist/phase6/role-gates/kernel.d.ts +84 -0
  81. package/dist/phase6/role-gates/kernel.d.ts.map +1 -0
  82. package/dist/phase6/role-gates/kernel.js +258 -0
  83. package/dist/phase6/role-gates/kernel.js.map +1 -0
  84. package/dist/phase6/role-gates/policy.d.ts +110 -0
  85. package/dist/phase6/role-gates/policy.d.ts.map +1 -0
  86. package/dist/phase6/role-gates/policy.js +157 -0
  87. package/dist/phase6/role-gates/policy.js.map +1 -0
  88. package/dist/phase6/role-gates.d.ts +164 -0
  89. package/dist/phase6/role-gates.d.ts.map +1 -0
  90. package/dist/phase6/role-gates.js +536 -0
  91. package/dist/phase6/role-gates.js.map +1 -0
  92. package/dist/phase6/types.d.ts +1827 -0
  93. package/dist/phase6/types.d.ts.map +1 -0
  94. package/dist/phase6/types.js +450 -0
  95. package/dist/phase6/types.js.map +1 -0
  96. package/dist/phase6/weight-presets/canonical.d.ts +93 -0
  97. package/dist/phase6/weight-presets/canonical.d.ts.map +1 -0
  98. package/dist/phase6/weight-presets/canonical.js +122 -0
  99. package/dist/phase6/weight-presets/canonical.js.map +1 -0
  100. package/dist/phase6/weight-presets/deltas.d.ts +144 -0
  101. package/dist/phase6/weight-presets/deltas.d.ts.map +1 -0
  102. package/dist/phase6/weight-presets/deltas.js +184 -0
  103. package/dist/phase6/weight-presets/deltas.js.map +1 -0
  104. package/dist/phase6/weight-presets/index.d.ts +8 -0
  105. package/dist/phase6/weight-presets/index.d.ts.map +1 -0
  106. package/dist/phase6/weight-presets/index.js +8 -0
  107. package/dist/phase6/weight-presets/index.js.map +1 -0
  108. package/dist/phase6/weight-presets/merger.d.ts +79 -0
  109. package/dist/phase6/weight-presets/merger.d.ts.map +1 -0
  110. package/dist/phase6/weight-presets/merger.js +161 -0
  111. package/dist/phase6/weight-presets/merger.js.map +1 -0
  112. package/dist/proof/index.d.ts +2 -0
  113. package/dist/proof/index.d.ts.map +1 -1
  114. package/dist/proof/index.js +24 -0
  115. package/dist/proof/index.js.map +1 -1
  116. package/dist/proof/merkle.d.ts +195 -0
  117. package/dist/proof/merkle.d.ts.map +1 -0
  118. package/dist/proof/merkle.js +412 -0
  119. package/dist/proof/merkle.js.map +1 -0
  120. package/dist/proof/zk-proofs.d.ts +218 -0
  121. package/dist/proof/zk-proofs.d.ts.map +1 -0
  122. package/dist/proof/zk-proofs.js +531 -0
  123. package/dist/proof/zk-proofs.js.map +1 -0
  124. package/dist/trust-engine/ceiling-enforcement/audit.d.ts +98 -0
  125. package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -0
  126. package/dist/trust-engine/ceiling-enforcement/audit.js +160 -0
  127. package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -0
  128. package/dist/trust-engine/ceiling-enforcement/index.d.ts +6 -0
  129. package/dist/trust-engine/ceiling-enforcement/index.d.ts.map +1 -0
  130. package/dist/trust-engine/ceiling-enforcement/index.js +6 -0
  131. package/dist/trust-engine/ceiling-enforcement/index.js.map +1 -0
  132. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +112 -0
  133. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -0
  134. package/dist/trust-engine/ceiling-enforcement/kernel.js +158 -0
  135. package/dist/trust-engine/ceiling-enforcement/kernel.js.map +1 -0
  136. package/dist/trust-engine/context-policy/enforcement.d.ts +62 -0
  137. package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -0
  138. package/dist/trust-engine/context-policy/enforcement.js +104 -0
  139. package/dist/trust-engine/context-policy/enforcement.js.map +1 -0
  140. package/dist/trust-engine/context-policy/factory.d.ts +75 -0
  141. package/dist/trust-engine/context-policy/factory.d.ts.map +1 -0
  142. package/dist/trust-engine/context-policy/factory.js +130 -0
  143. package/dist/trust-engine/context-policy/factory.js.map +1 -0
  144. package/dist/trust-engine/context-policy/index.d.ts +6 -0
  145. package/dist/trust-engine/context-policy/index.d.ts.map +1 -0
  146. package/dist/trust-engine/context-policy/index.js +6 -0
  147. package/dist/trust-engine/context-policy/index.js.map +1 -0
  148. package/dist/trust-engine/creation-modifiers/index.d.ts +5 -0
  149. package/dist/trust-engine/creation-modifiers/index.d.ts.map +1 -0
  150. package/dist/trust-engine/creation-modifiers/index.js +5 -0
  151. package/dist/trust-engine/creation-modifiers/index.js.map +1 -0
  152. package/dist/trust-engine/creation-modifiers/types.d.ts +112 -0
  153. package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -0
  154. package/dist/trust-engine/creation-modifiers/types.js +166 -0
  155. package/dist/trust-engine/creation-modifiers/types.js.map +1 -0
  156. package/dist/trust-engine/index.d.ts +54 -1
  157. package/dist/trust-engine/index.d.ts.map +1 -1
  158. package/dist/trust-engine/index.js +118 -1
  159. package/dist/trust-engine/index.js.map +1 -1
  160. package/dist/trust-engine/phase6-types.d.ts +123 -0
  161. package/dist/trust-engine/phase6-types.d.ts.map +1 -0
  162. package/dist/trust-engine/phase6-types.js +88 -0
  163. package/dist/trust-engine/phase6-types.js.map +1 -0
  164. package/package.json +19 -7
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
- # @vorion/atsf-core
1
+ # @vorionsys/atsf-core
2
2
 
3
3
  Agentic Trust Scoring Framework - Core runtime for AI agent governance, trust scoring, and policy enforcement.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install @vorion/atsf-core
8
+ npm install @vorionsys/atsf-core
9
9
  ```
10
10
 
11
11
  ## Quick Start
@@ -18,7 +18,7 @@ import {
18
18
  createIntentService,
19
19
  EnforcementService,
20
20
  createEnforcementService,
21
- } from '@vorion/atsf-core';
21
+ } from '@vorionsys/atsf-core';
22
22
 
23
23
  // Create a trust engine
24
24
  const trustEngine = createTrustEngine();
@@ -50,7 +50,7 @@ console.log(record?.score, record?.level);
50
50
  0-1000 trust scoring with 6 tiers, time-based decay, and accelerated decay on failure.
51
51
 
52
52
  ```typescript
53
- import { TrustEngine, createTrustEngine } from '@vorion/atsf-core';
53
+ import { TrustEngine, createTrustEngine } from '@vorionsys/atsf-core';
54
54
 
55
55
  // Basic usage
56
56
  const engine = createTrustEngine();
@@ -71,7 +71,7 @@ const configuredEngine = createTrustEngine({
71
71
  Constraint evaluation for governance policies.
72
72
 
73
73
  ```typescript
74
- import { createEvaluator, parseNamespace } from '@vorion/atsf-core';
74
+ import { createEvaluator, parseNamespace } from '@vorionsys/atsf-core';
75
75
 
76
76
  const evaluator = createEvaluator();
77
77
  evaluator.registerNamespace(parseNamespace(ruleDefinition));
@@ -83,7 +83,7 @@ const result = await evaluator.evaluate(context);
83
83
  Submit and track agent intents through the governance pipeline.
84
84
 
85
85
  ```typescript
86
- import { createIntentService } from '@vorion/atsf-core';
86
+ import { createIntentService } from '@vorionsys/atsf-core';
87
87
 
88
88
  const intentService = createIntentService();
89
89
  const intent = await intentService.submit({
@@ -98,7 +98,7 @@ const intent = await intentService.submit({
98
98
  Policy decision point for allow/deny/escalate decisions.
99
99
 
100
100
  ```typescript
101
- import { createEnforcementService } from '@vorion/atsf-core';
101
+ import { createEnforcementService } from '@vorionsys/atsf-core';
102
102
 
103
103
  const enforcer = createEnforcementService({
104
104
  defaultAction: 'deny',
@@ -112,7 +112,7 @@ const decision = await enforcer.decide(context);
112
112
  Immutable audit chain with SHA-256 hashing.
113
113
 
114
114
  ```typescript
115
- import { createProofService } from '@vorion/atsf-core';
115
+ import { createProofService } from '@vorionsys/atsf-core';
116
116
 
117
117
  const proofService = createProofService();
118
118
  const proof = await proofService.create({ intent, decision, inputs, outputs });
@@ -124,7 +124,7 @@ const verification = await proofService.verify(proof.id);
124
124
  Constrained execution with resource limits.
125
125
 
126
126
  ```typescript
127
- import { createGateway } from '@vorion/atsf-core';
127
+ import { createGateway } from '@vorionsys/atsf-core';
128
128
 
129
129
  const gateway = createGateway({
130
130
  maxMemoryMb: 256,
@@ -150,7 +150,7 @@ const result = await gateway.execute(context);
150
150
  The Trust Engine extends `EventEmitter` and emits the following events:
151
151
 
152
152
  ```typescript
153
- import { TrustEngine } from '@vorion/atsf-core';
153
+ import { TrustEngine } from '@vorionsys/atsf-core';
154
154
 
155
155
  const engine = new TrustEngine();
156
156
 
@@ -225,7 +225,7 @@ import {
225
225
  createTrustEngine,
226
226
  createFileProvider,
227
227
  createMemoryProvider,
228
- } from '@vorion/atsf-core';
228
+ } from '@vorionsys/atsf-core';
229
229
 
230
230
  // File-based persistence
231
231
  const fileProvider = createFileProvider({
@@ -263,7 +263,7 @@ import {
263
263
  createTrustEngine,
264
264
  createTrustAwareExecutor,
265
265
  createTrustTools,
266
- } from '@vorion/atsf-core';
266
+ } from '@vorionsys/atsf-core';
267
267
 
268
268
  // Create trust-aware executor
269
269
  const engine = createTrustEngine();
@@ -160,7 +160,7 @@ export async function createServer() {
160
160
  });
161
161
  // Check intent service
162
162
  checks.intentService = await checkService('Intent service', async () => {
163
- await intentService.get('__health_check_intent__');
163
+ await intentService.get('__health_check_intent__', '__system__');
164
164
  });
165
165
  // Check system health
166
166
  checks.system = checkSystemHealth(startTime);
@@ -198,7 +198,7 @@ export async function createServer() {
198
198
  });
199
199
  // Check intent service (critical)
200
200
  checks.intentService = await checkService('Intent service', async () => {
201
- await intentService.get('__health_check_intent__');
201
+ await intentService.get('__health_check_intent__', '__system__');
202
202
  });
203
203
  const allPassed = Object.values(checks).every((c) => c.status === 'ok' || c.status === 'degraded');
204
204
  // Return 503 if not ready (for Kubernetes probes)
@@ -306,13 +306,13 @@ export async function createServer() {
306
306
  goal,
307
307
  context: context ?? {},
308
308
  metadata,
309
- });
309
+ }, { tenantId: '__system__' });
310
310
  apiLogger.info({ intentId: intent.id, entityId }, 'Intent submitted');
311
311
  return reply.status(201).send({ intent });
312
312
  }
313
313
  });
314
314
  api.get('/intents/:id', async (request, reply) => {
315
- const intent = await intentService.get(request.params.id);
315
+ const intent = await intentService.get(request.params.id, '__system__');
316
316
  if (!intent) {
317
317
  return reply.status(404).send({
318
318
  error: { code: 'NOT_FOUND', message: 'Intent not found' },
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}