@iicp/client 0.7.92 → 0.7.93

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 (49) hide show
  1. package/README.md +2 -2
  2. package/dist/backends/base.d.ts +10 -0
  3. package/dist/backends/base.d.ts.map +1 -1
  4. package/dist/backends/base.js +61 -28
  5. package/dist/backends/base.js.map +1 -1
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +7 -1
  8. package/dist/client.js.map +1 -1
  9. package/dist/dispatch_ticket.d.ts +2 -0
  10. package/dist/dispatch_ticket.d.ts.map +1 -1
  11. package/dist/dispatch_ticket.js +16 -0
  12. package/dist/dispatch_ticket.js.map +1 -1
  13. package/dist/dispatch_ticket_trust.d.ts +42 -0
  14. package/dist/dispatch_ticket_trust.d.ts.map +1 -1
  15. package/dist/dispatch_ticket_trust.js +214 -1
  16. package/dist/dispatch_ticket_trust.js.map +1 -1
  17. package/dist/index.d.ts +15 -4
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +26 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/policy_data_handling.d.ts +8 -0
  22. package/dist/policy_data_handling.d.ts.map +1 -0
  23. package/dist/policy_data_handling.js +49 -0
  24. package/dist/policy_data_handling.js.map +1 -0
  25. package/dist/policy_detail_disclosure.d.ts +16 -0
  26. package/dist/policy_detail_disclosure.d.ts.map +1 -0
  27. package/dist/policy_detail_disclosure.js +80 -0
  28. package/dist/policy_detail_disclosure.js.map +1 -0
  29. package/dist/policy_operational_evidence.d.ts +8 -0
  30. package/dist/policy_operational_evidence.d.ts.map +1 -0
  31. package/dist/policy_operational_evidence.js +30 -0
  32. package/dist/policy_operational_evidence.js.map +1 -0
  33. package/dist/service_lifecycle.d.ts +41 -0
  34. package/dist/service_lifecycle.d.ts.map +1 -1
  35. package/dist/service_lifecycle.js +111 -1
  36. package/dist/service_lifecycle.js.map +1 -1
  37. package/dist/service_lifecycle_accounting.d.ts +10 -0
  38. package/dist/service_lifecycle_accounting.d.ts.map +1 -0
  39. package/dist/service_lifecycle_accounting.js +67 -0
  40. package/dist/service_lifecycle_accounting.js.map +1 -0
  41. package/dist/service_lifecycle_distributed.d.ts +2 -0
  42. package/dist/service_lifecycle_distributed.d.ts.map +1 -0
  43. package/dist/service_lifecycle_distributed.js +30 -0
  44. package/dist/service_lifecycle_distributed.js.map +1 -0
  45. package/dist/service_lifecycle_identity.d.ts +2 -0
  46. package/dist/service_lifecycle_identity.d.ts.map +1 -0
  47. package/dist/service_lifecycle_identity.js +30 -0
  48. package/dist/service_lifecycle_identity.js.map +1 -0
  49. package/package.json +1 -1
@@ -1,12 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalDispatchReplayCache = exports.DISPATCH_TICKET_V2_PROFILE = void 0;
3
+ exports.FileDispatchTrustBundleStore = exports.LocalDispatchReplayCache = exports.TrustBundleStoreLocked = exports.TrustBundleStoreCorrupt = exports.TrustBundleStoreError = exports.DISPATCH_TICKET_V2_PROFILE = void 0;
4
4
  exports.canonicalTicketClaims = canonicalTicketClaims;
5
+ exports.canonicalDispatchTrustBundle = canonicalDispatchTrustBundle;
5
6
  exports.verifyDispatchTicketV2 = verifyDispatchTicketV2;
6
7
  const node_crypto_1 = require("node:crypto");
8
+ const node_fs_1 = require("node:fs");
9
+ const node_path_1 = require("node:path");
7
10
  exports.DISPATCH_TICKET_V2_PROFILE = "dispatch_ticket_v2";
8
11
  const DOMAIN = Buffer.from("IICP-DISPATCH-TICKET-V2\0", "utf8");
9
12
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
13
+ class TrustBundleStoreError extends Error {
14
+ }
15
+ exports.TrustBundleStoreError = TrustBundleStoreError;
16
+ class TrustBundleStoreCorrupt extends TrustBundleStoreError {
17
+ }
18
+ exports.TrustBundleStoreCorrupt = TrustBundleStoreCorrupt;
19
+ class TrustBundleStoreLocked extends TrustBundleStoreError {
20
+ }
21
+ exports.TrustBundleStoreLocked = TrustBundleStoreLocked;
10
22
  class LocalDispatchReplayCache {
11
23
  seen = new Map();
12
24
  contains(jti, now) {
@@ -28,6 +40,207 @@ function canonicalTicketClaims(value) {
28
40
  }
29
41
  return JSON.stringify(value);
30
42
  }
43
+ function canonicalDispatchTrustBundle(bundle) {
44
+ const normalized = {
45
+ bundle_version: bundle.bundle_version,
46
+ keys: [...bundle.keys]
47
+ .sort((a, b) => a.key_id.localeCompare(b.key_id))
48
+ .map((key) => ({
49
+ key_id: key.key_id,
50
+ public_key_b64url: key.public_key_b64url,
51
+ state: key.state,
52
+ valid_from: key.valid_from,
53
+ valid_until: key.valid_until,
54
+ allowed_profiles: [...(key.allowed_profiles ?? [exports.DISPATCH_TICKET_V2_PROFILE])].sort(),
55
+ issuers: [...(key.issuers ?? [])].sort(),
56
+ audiences: [...(key.audiences ?? [])].sort(),
57
+ })),
58
+ };
59
+ if (bundle.issuer !== undefined)
60
+ normalized.issuer = bundle.issuer;
61
+ if (bundle.valid_from !== undefined)
62
+ normalized.valid_from = bundle.valid_from;
63
+ if (bundle.valid_until !== undefined)
64
+ normalized.valid_until = bundle.valid_until;
65
+ return Buffer.from(canonicalTicketClaims(normalized), "utf8");
66
+ }
67
+ function bundleDigest(bytes) {
68
+ return `sha256:${(0, node_crypto_1.createHash)("sha256").update(bytes).digest("hex")}`;
69
+ }
70
+ function sleepMilliseconds(milliseconds) {
71
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, milliseconds);
72
+ }
73
+ class FileDispatchTrustBundleStore {
74
+ path;
75
+ lockPath;
76
+ lockTimeoutMs;
77
+ constructor(path, options = {}) {
78
+ this.path = path;
79
+ this.lockPath = `${path}.lock`;
80
+ this.lockTimeoutMs = Math.max(0, options.lockTimeoutMs ?? 2_000);
81
+ }
82
+ prepareDirectory() {
83
+ const directory = (0, node_path_1.dirname)(this.path);
84
+ (0, node_fs_1.mkdirSync)(directory, { recursive: true, mode: 0o700 });
85
+ if (((0, node_fs_1.statSync)(directory).mode & 0o077) !== 0)
86
+ throw new TrustBundleStoreError("trust store directory must be owner-only");
87
+ }
88
+ acquireLock() {
89
+ this.prepareDirectory();
90
+ const deadline = Date.now() + this.lockTimeoutMs;
91
+ while (true) {
92
+ try {
93
+ const fd = (0, node_fs_1.openSync)(this.lockPath, "wx", 0o600);
94
+ (0, node_fs_1.writeFileSync)(fd, `${process.pid}\n`);
95
+ (0, node_fs_1.fsyncSync)(fd);
96
+ return fd;
97
+ }
98
+ catch (error) {
99
+ if (error.code !== "EEXIST")
100
+ throw error;
101
+ if (Date.now() >= deadline)
102
+ throw new TrustBundleStoreLocked("trust store lock is held");
103
+ sleepMilliseconds(10);
104
+ }
105
+ }
106
+ }
107
+ releaseLock(fd) {
108
+ (0, node_fs_1.closeSync)(fd);
109
+ try {
110
+ (0, node_fs_1.unlinkSync)(this.lockPath);
111
+ }
112
+ catch (error) {
113
+ if (error.code !== "ENOENT")
114
+ throw error;
115
+ }
116
+ }
117
+ load() {
118
+ if (!(0, node_fs_1.existsSync)(this.path))
119
+ return undefined;
120
+ const metadata = (0, node_fs_1.lstatSync)(this.path);
121
+ if (metadata.isSymbolicLink() || !metadata.isFile())
122
+ throw new TrustBundleStoreCorrupt("trust store must be a regular file, not a link");
123
+ if ((metadata.mode & 0o077) !== 0)
124
+ throw new TrustBundleStoreCorrupt("trust store file must be owner-only");
125
+ try {
126
+ const raw = (0, node_fs_1.readFileSync)(this.path);
127
+ if (raw.length > 4 * 1024 * 1024)
128
+ throw new Error("state exceeds size limit");
129
+ const state = JSON.parse(raw.toString("utf8"));
130
+ if (typeof state.bundle_b64 !== "string" || !/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(state.bundle_b64)) {
131
+ throw new Error("invalid bundle base64");
132
+ }
133
+ const canonicalBytes = Buffer.from(state.bundle_b64, "base64");
134
+ const digest = bundleDigest(canonicalBytes);
135
+ if (digest !== state.bundle_digest)
136
+ throw new Error("bundle digest mismatch");
137
+ const bundle = JSON.parse(canonicalBytes.toString("utf8"));
138
+ const highWater = Number(state.high_water);
139
+ if (!Number.isSafeInteger(bundle.bundle_version) || bundle.bundle_version < 0 || state.bundle_version !== bundle.bundle_version || !Number.isSafeInteger(highWater) || highWater < bundle.bundle_version) {
140
+ throw new Error("bundle version/high-water mismatch");
141
+ }
142
+ if (!canonicalDispatchTrustBundle(bundle).equals(canonicalBytes))
143
+ throw new Error("bundle is not canonical");
144
+ return { bundle, canonical_bytes: canonicalBytes, digest, high_water: highWater };
145
+ }
146
+ catch (error) {
147
+ if (error instanceof TrustBundleStoreCorrupt)
148
+ throw error;
149
+ throw new TrustBundleStoreCorrupt(`invalid trust store: ${error.message}`);
150
+ }
151
+ }
152
+ commit(bundle, highWater) {
153
+ if (!Number.isSafeInteger(bundle.bundle_version) || bundle.bundle_version < 0 || !Number.isSafeInteger(highWater) || highWater < bundle.bundle_version) {
154
+ throw new TrustBundleStoreError("bundle version and high-water mark must be non-negative safe integers");
155
+ }
156
+ const canonicalBytes = canonicalDispatchTrustBundle(bundle);
157
+ const digest = bundleDigest(canonicalBytes);
158
+ const state = {
159
+ bundle_b64: canonicalBytes.toString("base64"),
160
+ bundle_digest: digest,
161
+ bundle_version: bundle.bundle_version,
162
+ high_water: highWater,
163
+ };
164
+ const payload = Buffer.from(canonicalTicketClaims(state), "utf8");
165
+ const temporary = (0, node_path_1.join)((0, node_path_1.dirname)(this.path), `${(0, node_path_1.basename)(this.path)}.tmp-${process.pid}-${(0, node_crypto_1.randomUUID)()}`);
166
+ const fd = (0, node_fs_1.openSync)(temporary, "wx", 0o600);
167
+ try {
168
+ (0, node_fs_1.writeFileSync)(fd, payload);
169
+ (0, node_fs_1.fsyncSync)(fd);
170
+ }
171
+ finally {
172
+ (0, node_fs_1.closeSync)(fd);
173
+ }
174
+ try {
175
+ (0, node_fs_1.renameSync)(temporary, this.path);
176
+ (0, node_fs_1.chmodSync)(this.path, 0o600);
177
+ try {
178
+ const directoryFd = (0, node_fs_1.openSync)((0, node_path_1.dirname)(this.path), "r");
179
+ try {
180
+ (0, node_fs_1.fsyncSync)(directoryFd);
181
+ }
182
+ finally {
183
+ (0, node_fs_1.closeSync)(directoryFd);
184
+ }
185
+ }
186
+ catch {
187
+ // Some platforms do not allow fsync on a directory; atomic rename still applies.
188
+ }
189
+ }
190
+ finally {
191
+ if ((0, node_fs_1.existsSync)(temporary))
192
+ (0, node_fs_1.unlinkSync)(temporary);
193
+ }
194
+ return { bundle, canonical_bytes: canonicalBytes, digest, high_water: highWater };
195
+ }
196
+ install(bundle, expectedCurrentVersion) {
197
+ if (!Number.isSafeInteger(bundle.bundle_version) || bundle.bundle_version < 0) {
198
+ throw new TrustBundleStoreError("bundle version must be a non-negative safe integer");
199
+ }
200
+ const fd = this.acquireLock();
201
+ try {
202
+ const current = this.load();
203
+ const currentVersion = current?.bundle.bundle_version;
204
+ if (expectedCurrentVersion !== undefined && expectedCurrentVersion !== currentVersion)
205
+ return { status: "conflict", state: current };
206
+ const candidateDigest = bundleDigest(canonicalDispatchTrustBundle(bundle));
207
+ const highWater = current?.high_water ?? 0;
208
+ if (bundle.bundle_version < highWater)
209
+ return { status: "stale", state: current };
210
+ if (current && bundle.bundle_version === currentVersion) {
211
+ return { status: candidateDigest === current.digest ? "unchanged" : "conflict", state: current };
212
+ }
213
+ return { status: "installed", state: this.commit(bundle, Math.max(highWater, bundle.bundle_version)) };
214
+ }
215
+ finally {
216
+ this.releaseLock(fd);
217
+ }
218
+ }
219
+ recover(bundle, authorization) {
220
+ if (!Number.isSafeInteger(bundle.bundle_version) || bundle.bundle_version < 0) {
221
+ throw new TrustBundleStoreError("bundle version must be a non-negative safe integer");
222
+ }
223
+ if (!authorization?.reason.trim())
224
+ return { status: "recovery_required" };
225
+ const fd = this.acquireLock();
226
+ try {
227
+ let current;
228
+ try {
229
+ current = this.load();
230
+ }
231
+ catch (error) {
232
+ if (!(error instanceof TrustBundleStoreCorrupt))
233
+ throw error;
234
+ }
235
+ const highWater = Math.max(bundle.bundle_version, authorization.minimum_high_water ?? 0, current?.high_water ?? 0);
236
+ return { status: "recovered", state: this.commit(bundle, highWater) };
237
+ }
238
+ finally {
239
+ this.releaseLock(fd);
240
+ }
241
+ }
242
+ }
243
+ exports.FileDispatchTrustBundleStore = FileDispatchTrustBundleStore;
31
244
  function decision(code, keyId, accepted = false) {
32
245
  return { accepted, code, anchored: accepted, ...(keyId ? { key_id: keyId } : {}) };
33
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch_ticket_trust.js","sourceRoot":"","sources":["../src/dispatch_ticket_trust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch_ticket_trust.js","sourceRoot":"","sources":["../src/dispatch_ticket_trust.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,10 +4,10 @@ export { evaluatePreNormativeProfile } from "./profile_compatibility.js";
4
4
  export type { ProfileCompatibilityDecision } from "./profile_compatibility.js";
5
5
  export type { DiscoveryResult, ProfileNegotiation, ProfileRequest, RouteConstraints } from "./types.js";
6
6
  export { projectExecutionConstraints, projectRouteOptions } from "./request_projection.js";
7
- export { DISPATCH_TICKET_V2_PROFILE, LocalDispatchReplayCache, canonicalTicketClaims, verifyDispatchTicketV2, } from "./dispatch_ticket_trust.js";
8
- export type { DispatchTicketBindings, DispatchTrustBundle, DispatchTrustDecision, DispatchTrustKey, } from "./dispatch_ticket_trust.js";
9
- export { LifecycleConflict, LifecycleResumeUnavailable, LifecycleStore, SERVICE_LIFECYCLE_PROFILE, TERMINAL_LIFECYCLE_STATES, UnknownLifecycleTask } from "./service_lifecycle.js";
10
- export type { LifecycleEvent, LifecycleRecord, LifecycleSnapshot } from "./service_lifecycle.js";
7
+ export { DISPATCH_TICKET_V2_PROFILE, FileDispatchTrustBundleStore, LocalDispatchReplayCache, TrustBundleStoreCorrupt, TrustBundleStoreError, TrustBundleStoreLocked, canonicalDispatchTrustBundle, canonicalTicketClaims, verifyDispatchTicketV2, } from "./dispatch_ticket_trust.js";
8
+ export type { DispatchTicketBindings, AdminRecoveryAuthorization, DispatchTrustBundle, DispatchTrustDecision, DispatchTrustKey, StoredDispatchTrustBundle, TrustBundleInstallResult, TrustBundleInstallStatus, TrustBundleStore, } from "./dispatch_ticket_trust.js";
9
+ export { BackendCancellationRegistry, BoundedObserverBuffer, LifecycleConflict, LifecycleResumeUnavailable, LifecycleStore, ObserverLagged, SERVICE_LIFECYCLE_PROFILE, TERMINAL_LIFECYCLE_STATES, UnknownLifecycleTask } from "./service_lifecycle.js";
10
+ export type { BackendCancellationEvidence, BackendCancellationEvidenceLevel, BackendCancellationHandler, BackendCancellationOutcome, LifecycleEvent, LifecycleRecord, LifecycleSnapshot } from "./service_lifecycle.js";
11
11
  export { IicpError } from "./errors.js";
12
12
  export { IicpNode } from "./node.js";
13
13
  export { McpToolPolicy, toolRiskLabel, TOOL_RISK_KEYWORDS } from "./mcp_policy.js";
@@ -30,6 +30,7 @@ export type { AnthropicOptions } from "./backends/anthropic.js";
30
30
  export { getBackendHandler, BACKEND_TYPES } from "./backends/index.js";
31
31
  export type { BackendType } from "./backends/index.js";
32
32
  export type { BackendHandler, BackendOptions } from "./backends/base.js";
33
+ export { withBackendCancellation } from "./backends/base.js";
33
34
  export { qosPriority, isQueueEligible, QOS_PRIORITY, QUEUE_ELIGIBLE, QUEUE_WAIT_MS } from "./scheduler.js";
34
35
  export { AvailabilityEvaluator } from "./availability.js";
35
36
  export type { Window } from "./availability.js";
@@ -52,4 +53,14 @@ export { CapacityExceededError, ConcurrencyGate } from "./concurrency.js";
52
53
  export { RECOVERY_EXIT_CODE, DEFAULT_RECOVERY_GRACE_CHECKS, DEFAULT_RECOVERY_CHECK_EVERY_HEARTBEATS, nodeRegistryPrefix, envGraceChecks, envCheckEveryHeartbeats, supervisedRecoveryEnabled, classifyRecovery, registryNodePresence, } from "./recovery.js";
53
54
  export type { RecoveryState, RecoveryAction, DirectoryPresence } from "./recovery.js";
54
55
  export type { ChatMessage, ChatOptions, ChatResponse, ChatChoice, ChatUsage, ClientConfig, DiscoverOptions, Node, RoutingPolicy, RoutingProfile, TaskAuth, TaskConstraints, TaskMetrics, TaskRequest, TaskResponse, } from "./types.js";
56
+ export { evaluatePolicyDataHandling } from "./policy_data_handling.js";
57
+ export { evaluatePolicyOperationalEvidence } from "./policy_operational_evidence.js";
58
+ export type { PolicyEvidenceDecision, PolicyEvidenceRecord } from "./policy_operational_evidence.js";
59
+ export { POLICY_DETAIL_FIELDS, evaluatePolicyDetailDisclosure, verifyPolicyDetailConsumerToken } from "./policy_detail_disclosure.js";
60
+ export type { PolicyDetailDisclosureDecision } from "./policy_detail_disclosure.js";
61
+ export { evaluateDistributedLifecycle } from "./service_lifecycle_distributed.js";
62
+ export { evaluateLifecycleIdentity } from "./service_lifecycle_identity.js";
63
+ export type { PolicyDataDecision, PolicyDataRecord } from "./policy_data_handling.js";
64
+ export { decideLifecycleAccounting } from "./service_lifecycle_accounting.js";
65
+ export type { LifecycleAccountingDecision, LifecycleAccountingInput, } from "./service_lifecycle_accounting.js";
55
66
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenValidator = exports.AvailabilityEvaluator = exports.QUEUE_WAIT_MS = exports.QUEUE_ELIGIBLE = exports.QOS_PRIORITY = exports.isQueueEligible = exports.qosPriority = exports.BACKEND_TYPES = exports.getBackendHandler = exports.anthropicHandler = exports.llamacppHandler = exports.vllmHandler = exports.openaiCompatHandler = exports.qualifyServiceAsync = exports.qualifyService = exports.EXPOSURE_MODES = exports.tryUpnpMapping = exports.probeExternalIp = exports.detectCgnat = exports.looksRoutable = exports.detectNat = exports.decodeFrame = exports.encodeFrame = exports.IICP_MAGIC = exports.FRAME_HEADER_LEN = exports.FRAMING_VERSION = exports.MsgType = exports.IicpTcpClientError = exports.IicpTcpClient = exports.IicpTcpServer = exports.TOOL_RISK_KEYWORDS = exports.toolRiskLabel = exports.McpToolPolicy = exports.IicpNode = exports.IicpError = exports.UnknownLifecycleTask = exports.TERMINAL_LIFECYCLE_STATES = exports.SERVICE_LIFECYCLE_PROFILE = exports.LifecycleStore = exports.LifecycleResumeUnavailable = exports.LifecycleConflict = exports.verifyDispatchTicketV2 = exports.canonicalTicketClaims = exports.LocalDispatchReplayCache = exports.DISPATCH_TICKET_V2_PROFILE = exports.projectRouteOptions = exports.projectExecutionConstraints = exports.evaluatePreNormativeProfile = exports.weightedV1Order = exports.IicpClient = void 0;
4
- exports.registryNodePresence = exports.classifyRecovery = exports.supervisedRecoveryEnabled = exports.envCheckEveryHeartbeats = exports.envGraceChecks = exports.nodeRegistryPrefix = exports.DEFAULT_RECOVERY_CHECK_EVERY_HEARTBEATS = exports.DEFAULT_RECOVERY_GRACE_CHECKS = exports.RECOVERY_EXIT_CODE = exports.ConcurrencyGate = exports.CapacityExceededError = exports.runConformanceChecks = exports.verifySignature = exports.signBody = exports.phpCanonicalSignBody = exports.buildPricingBlock = exports.getCipPolicy = exports.configureCipPolicy = exports.CooperativeInferencePolicy = exports.routingPolicyRefusalMessage = exports.resolvedRoutingPolicy = exports.filterNodesForRoutingPolicy = exports.ROUTING_POLICY_REFUSAL_CODE = exports.prohibitedIntentReason = exports.ensureIntentAllowed = exports.classifyIntent = exports.HIGH_RISK_INTENT_RULES = exports.PROHIBITED_INTENT_RULES = exports.POLICY_REFUSAL_CODE = exports.PeerManager = exports.modelsDiverge = exports.runAuditPass = exports.IdempotencyGuard = void 0;
3
+ exports.getBackendHandler = exports.anthropicHandler = exports.llamacppHandler = exports.vllmHandler = exports.openaiCompatHandler = exports.qualifyServiceAsync = exports.qualifyService = exports.EXPOSURE_MODES = exports.tryUpnpMapping = exports.probeExternalIp = exports.detectCgnat = exports.looksRoutable = exports.detectNat = exports.decodeFrame = exports.encodeFrame = exports.IICP_MAGIC = exports.FRAME_HEADER_LEN = exports.FRAMING_VERSION = exports.MsgType = exports.IicpTcpClientError = exports.IicpTcpClient = exports.IicpTcpServer = exports.TOOL_RISK_KEYWORDS = exports.toolRiskLabel = exports.McpToolPolicy = exports.IicpNode = exports.IicpError = exports.UnknownLifecycleTask = exports.TERMINAL_LIFECYCLE_STATES = exports.SERVICE_LIFECYCLE_PROFILE = exports.ObserverLagged = exports.LifecycleStore = exports.LifecycleResumeUnavailable = exports.LifecycleConflict = exports.BoundedObserverBuffer = exports.BackendCancellationRegistry = exports.verifyDispatchTicketV2 = exports.canonicalTicketClaims = exports.canonicalDispatchTrustBundle = exports.TrustBundleStoreLocked = exports.TrustBundleStoreError = exports.TrustBundleStoreCorrupt = exports.LocalDispatchReplayCache = exports.FileDispatchTrustBundleStore = exports.DISPATCH_TICKET_V2_PROFILE = exports.projectRouteOptions = exports.projectExecutionConstraints = exports.evaluatePreNormativeProfile = exports.weightedV1Order = exports.IicpClient = void 0;
4
+ exports.decideLifecycleAccounting = exports.evaluateLifecycleIdentity = exports.evaluateDistributedLifecycle = exports.verifyPolicyDetailConsumerToken = exports.evaluatePolicyDetailDisclosure = exports.POLICY_DETAIL_FIELDS = exports.evaluatePolicyOperationalEvidence = exports.evaluatePolicyDataHandling = exports.registryNodePresence = exports.classifyRecovery = exports.supervisedRecoveryEnabled = exports.envCheckEveryHeartbeats = exports.envGraceChecks = exports.nodeRegistryPrefix = exports.DEFAULT_RECOVERY_CHECK_EVERY_HEARTBEATS = exports.DEFAULT_RECOVERY_GRACE_CHECKS = exports.RECOVERY_EXIT_CODE = exports.ConcurrencyGate = exports.CapacityExceededError = exports.runConformanceChecks = exports.verifySignature = exports.signBody = exports.phpCanonicalSignBody = exports.buildPricingBlock = exports.getCipPolicy = exports.configureCipPolicy = exports.CooperativeInferencePolicy = exports.routingPolicyRefusalMessage = exports.resolvedRoutingPolicy = exports.filterNodesForRoutingPolicy = exports.ROUTING_POLICY_REFUSAL_CODE = exports.prohibitedIntentReason = exports.ensureIntentAllowed = exports.classifyIntent = exports.HIGH_RISK_INTENT_RULES = exports.PROHIBITED_INTENT_RULES = exports.POLICY_REFUSAL_CODE = exports.PeerManager = exports.modelsDiverge = exports.runAuditPass = exports.IdempotencyGuard = exports.TokenValidator = exports.AvailabilityEvaluator = exports.QUEUE_WAIT_MS = exports.QUEUE_ELIGIBLE = exports.QOS_PRIORITY = exports.isQueueEligible = exports.qosPriority = exports.withBackendCancellation = exports.BACKEND_TYPES = void 0;
5
5
  var client_js_1 = require("./client.js");
6
6
  Object.defineProperty(exports, "IicpClient", { enumerable: true, get: function () { return client_js_1.IicpClient; } });
7
7
  var selection_js_1 = require("./selection.js");
@@ -13,13 +13,21 @@ Object.defineProperty(exports, "projectExecutionConstraints", { enumerable: true
13
13
  Object.defineProperty(exports, "projectRouteOptions", { enumerable: true, get: function () { return request_projection_js_1.projectRouteOptions; } });
14
14
  var dispatch_ticket_trust_js_1 = require("./dispatch_ticket_trust.js");
15
15
  Object.defineProperty(exports, "DISPATCH_TICKET_V2_PROFILE", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.DISPATCH_TICKET_V2_PROFILE; } });
16
+ Object.defineProperty(exports, "FileDispatchTrustBundleStore", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.FileDispatchTrustBundleStore; } });
16
17
  Object.defineProperty(exports, "LocalDispatchReplayCache", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.LocalDispatchReplayCache; } });
18
+ Object.defineProperty(exports, "TrustBundleStoreCorrupt", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.TrustBundleStoreCorrupt; } });
19
+ Object.defineProperty(exports, "TrustBundleStoreError", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.TrustBundleStoreError; } });
20
+ Object.defineProperty(exports, "TrustBundleStoreLocked", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.TrustBundleStoreLocked; } });
21
+ Object.defineProperty(exports, "canonicalDispatchTrustBundle", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.canonicalDispatchTrustBundle; } });
17
22
  Object.defineProperty(exports, "canonicalTicketClaims", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.canonicalTicketClaims; } });
18
23
  Object.defineProperty(exports, "verifyDispatchTicketV2", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.verifyDispatchTicketV2; } });
19
24
  var service_lifecycle_js_1 = require("./service_lifecycle.js");
25
+ Object.defineProperty(exports, "BackendCancellationRegistry", { enumerable: true, get: function () { return service_lifecycle_js_1.BackendCancellationRegistry; } });
26
+ Object.defineProperty(exports, "BoundedObserverBuffer", { enumerable: true, get: function () { return service_lifecycle_js_1.BoundedObserverBuffer; } });
20
27
  Object.defineProperty(exports, "LifecycleConflict", { enumerable: true, get: function () { return service_lifecycle_js_1.LifecycleConflict; } });
21
28
  Object.defineProperty(exports, "LifecycleResumeUnavailable", { enumerable: true, get: function () { return service_lifecycle_js_1.LifecycleResumeUnavailable; } });
22
29
  Object.defineProperty(exports, "LifecycleStore", { enumerable: true, get: function () { return service_lifecycle_js_1.LifecycleStore; } });
30
+ Object.defineProperty(exports, "ObserverLagged", { enumerable: true, get: function () { return service_lifecycle_js_1.ObserverLagged; } });
23
31
  Object.defineProperty(exports, "SERVICE_LIFECYCLE_PROFILE", { enumerable: true, get: function () { return service_lifecycle_js_1.SERVICE_LIFECYCLE_PROFILE; } });
24
32
  Object.defineProperty(exports, "TERMINAL_LIFECYCLE_STATES", { enumerable: true, get: function () { return service_lifecycle_js_1.TERMINAL_LIFECYCLE_STATES; } });
25
33
  Object.defineProperty(exports, "UnknownLifecycleTask", { enumerable: true, get: function () { return service_lifecycle_js_1.UnknownLifecycleTask; } });
@@ -62,6 +70,8 @@ Object.defineProperty(exports, "anthropicHandler", { enumerable: true, get: func
62
70
  var index_js_1 = require("./backends/index.js");
63
71
  Object.defineProperty(exports, "getBackendHandler", { enumerable: true, get: function () { return index_js_1.getBackendHandler; } });
64
72
  Object.defineProperty(exports, "BACKEND_TYPES", { enumerable: true, get: function () { return index_js_1.BACKEND_TYPES; } });
73
+ var base_js_1 = require("./backends/base.js");
74
+ Object.defineProperty(exports, "withBackendCancellation", { enumerable: true, get: function () { return base_js_1.withBackendCancellation; } });
65
75
  var scheduler_js_1 = require("./scheduler.js");
66
76
  Object.defineProperty(exports, "qosPriority", { enumerable: true, get: function () { return scheduler_js_1.qosPriority; } });
67
77
  Object.defineProperty(exports, "isQueueEligible", { enumerable: true, get: function () { return scheduler_js_1.isQueueEligible; } });
@@ -115,4 +125,18 @@ Object.defineProperty(exports, "envCheckEveryHeartbeats", { enumerable: true, ge
115
125
  Object.defineProperty(exports, "supervisedRecoveryEnabled", { enumerable: true, get: function () { return recovery_js_1.supervisedRecoveryEnabled; } });
116
126
  Object.defineProperty(exports, "classifyRecovery", { enumerable: true, get: function () { return recovery_js_1.classifyRecovery; } });
117
127
  Object.defineProperty(exports, "registryNodePresence", { enumerable: true, get: function () { return recovery_js_1.registryNodePresence; } });
128
+ var policy_data_handling_js_1 = require("./policy_data_handling.js");
129
+ Object.defineProperty(exports, "evaluatePolicyDataHandling", { enumerable: true, get: function () { return policy_data_handling_js_1.evaluatePolicyDataHandling; } });
130
+ var policy_operational_evidence_js_1 = require("./policy_operational_evidence.js");
131
+ Object.defineProperty(exports, "evaluatePolicyOperationalEvidence", { enumerable: true, get: function () { return policy_operational_evidence_js_1.evaluatePolicyOperationalEvidence; } });
132
+ var policy_detail_disclosure_js_1 = require("./policy_detail_disclosure.js");
133
+ Object.defineProperty(exports, "POLICY_DETAIL_FIELDS", { enumerable: true, get: function () { return policy_detail_disclosure_js_1.POLICY_DETAIL_FIELDS; } });
134
+ Object.defineProperty(exports, "evaluatePolicyDetailDisclosure", { enumerable: true, get: function () { return policy_detail_disclosure_js_1.evaluatePolicyDetailDisclosure; } });
135
+ Object.defineProperty(exports, "verifyPolicyDetailConsumerToken", { enumerable: true, get: function () { return policy_detail_disclosure_js_1.verifyPolicyDetailConsumerToken; } });
136
+ var service_lifecycle_distributed_js_1 = require("./service_lifecycle_distributed.js");
137
+ Object.defineProperty(exports, "evaluateDistributedLifecycle", { enumerable: true, get: function () { return service_lifecycle_distributed_js_1.evaluateDistributedLifecycle; } });
138
+ var service_lifecycle_identity_js_1 = require("./service_lifecycle_identity.js");
139
+ Object.defineProperty(exports, "evaluateLifecycleIdentity", { enumerable: true, get: function () { return service_lifecycle_identity_js_1.evaluateLifecycleIdentity; } });
140
+ var service_lifecycle_accounting_js_1 = require("./service_lifecycle_accounting.js");
141
+ Object.defineProperty(exports, "decideLifecycleAccounting", { enumerable: true, get: function () { return service_lifecycle_accounting_js_1.decideLifecycleAccounting; } });
118
142
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Opt-in evaluator for the pre-normative policy/data-handling profile. */
2
+ export interface PolicyDataDecision {
3
+ eligible: boolean;
4
+ reason: string;
5
+ }
6
+ export type PolicyDataRecord = Record<string, unknown>;
7
+ export declare function evaluatePolicyDataHandling(requirement: PolicyDataRecord, declaration: PolicyDataRecord, context?: PolicyDataRecord): PolicyDataDecision;
8
+ //# sourceMappingURL=policy_data_handling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy_data_handling.d.ts","sourceRoot":"","sources":["../src/policy_data_handling.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IAAG,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAQvD,wBAAgB,0BAA0B,CAAC,WAAW,EAAC,gBAAgB,EAAC,WAAW,EAAC,gBAAgB,EAAC,OAAO,GAAC,gBAAmB,GAAE,kBAAkB,CAuBnJ"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evaluatePolicyDataHandling = evaluatePolicyDataHandling;
4
+ const known = new Set(["version", "role", "data_class", "remote_routing", "allowed_regions", "retention", "training_use", "subprocessors", "approval", "tool_risk", "requires_encryption", "requires_receipt", "requires_human_review", "critical_requirements"]);
5
+ const approval = { none: 0, user: 1, operator: 2, human_review: 3 };
6
+ const toolRisk = { none: 0, read_only: 1, write: 2, privileged: 3 };
7
+ const reject = (reason) => ({ eligible: false, reason });
8
+ const obj = (value) => (value && typeof value === "object" ? value : {});
9
+ const strings = (value) => Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
10
+ function evaluatePolicyDataHandling(requirement, declaration, context = {}) {
11
+ if (strings(requirement.critical_requirements).some(field => !known.has(field)))
12
+ return reject("unsupported_policy_requirement");
13
+ if (requirement.remote_routing === "local_only")
14
+ return reject("remote_routing_forbidden");
15
+ if (!strings(declaration.accepted_data_classes).includes(String(requirement.data_class)))
16
+ return reject("data_class_not_accepted");
17
+ if (requirement.remote_routing === "requires_approval" && context.approval_granted !== true)
18
+ return reject("approval_required");
19
+ const regions = strings(requirement.allowed_regions);
20
+ if (regions.length && !regions.includes(String(declaration.jurisdiction)))
21
+ return reject("region_not_allowed");
22
+ const rr = obj(requirement.retention), dr = obj(declaration.retention);
23
+ if (rr.task_payload === "none" && dr.task_payload !== "none")
24
+ return reject("retention_requirement_unsatisfied");
25
+ if (rr.task_payload === "transient") {
26
+ if (dr.task_payload !== "none" && dr.task_payload !== "transient")
27
+ return reject("retention_requirement_unsatisfied");
28
+ const requiredMax = typeof rr.max_seconds === "number" ? rr.max_seconds : undefined;
29
+ const declaredMax = dr.task_payload === "none" ? 0 : (typeof dr.max_seconds === "number" ? dr.max_seconds : undefined);
30
+ if (requiredMax !== undefined && (declaredMax === undefined || declaredMax > requiredMax))
31
+ return reject("retention_requirement_unsatisfied");
32
+ }
33
+ if (requirement.training_use === "none" && declaration.training_use !== "none")
34
+ return reject("training_use_requirement_unsatisfied");
35
+ if (requirement.subprocessors === "none" && declaration.subprocessors !== "none")
36
+ return reject("subprocessor_requirement_unsatisfied");
37
+ if (typeof requirement.approval === "string" && (approval[String(declaration.approval ?? "none")] ?? -1) < (approval[requirement.approval] ?? 99))
38
+ return reject("approval_requirement_unsatisfied");
39
+ if (typeof requirement.tool_risk === "string" && (toolRisk[String(declaration.tool_risk ?? "privileged")] ?? 99) > (toolRisk[requirement.tool_risk] ?? -1))
40
+ return reject("tool_risk_requirement_unsatisfied");
41
+ if (requirement.requires_encryption === true && context.encryption_ready !== true)
42
+ return reject("encryption_requirement_unsatisfied");
43
+ if (requirement.requires_receipt === true && context.receipt_supported !== true)
44
+ return reject("receipt_requirement_unsatisfied");
45
+ if (requirement.requires_human_review === true && declaration.requires_human_review !== true)
46
+ return reject("human_review_requirement_unsatisfied");
47
+ return { eligible: true, reason: "compatible" };
48
+ }
49
+ //# sourceMappingURL=policy_data_handling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy_data_handling.js","sourceRoot":"","sources":["../src/policy_data_handling.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare const POLICY_DETAIL_FIELDS: readonly ["retention_intervals", "subprocessor_references", "approval_evidence_references", "operational_evidence_references"];
2
+ export interface PolicyDetailDisclosureDecision {
3
+ status: number;
4
+ reason: string;
5
+ body?: Record<string, unknown>;
6
+ }
7
+ export declare function verifyPolicyDetailConsumerToken(token: string, publicKeyHex: string, targetNodeId: string, intent: string, nowSec: number): {
8
+ status: "valid" | "invalid" | "expired";
9
+ claims?: Record<string, unknown>;
10
+ };
11
+ /**
12
+ * `consumer_auth` must be supplied by a cryptographic trust adapter. It is not
13
+ * a request-body claim and this helper intentionally does not parse raw tokens.
14
+ */
15
+ export declare function evaluatePolicyDetailDisclosure(context: Record<string, unknown>): PolicyDetailDisclosureDecision;
16
+ //# sourceMappingURL=policy_detail_disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy_detail_disclosure.d.ts","sourceRoot":"","sources":["../src/policy_detail_disclosure.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,gIAKvB,CAAC;AAEX,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAiB/E;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,8BAA8B,CAiC/G"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POLICY_DETAIL_FIELDS = void 0;
4
+ exports.verifyPolicyDetailConsumerToken = verifyPolicyDetailConsumerToken;
5
+ exports.evaluatePolicyDetailDisclosure = evaluatePolicyDetailDisclosure;
6
+ /** Pre-normative provider-side policy-detail authorization and redaction. */
7
+ const node_crypto_1 = require("node:crypto");
8
+ const CONSUMER_TOKEN_DOMAIN = "iicp:consumer-token:v1\n";
9
+ const ED25519_SPKI = Buffer.from("302a300506032b6570032100", "hex");
10
+ exports.POLICY_DETAIL_FIELDS = [
11
+ "retention_intervals",
12
+ "subprocessor_references",
13
+ "approval_evidence_references",
14
+ "operational_evidence_references",
15
+ ];
16
+ function verifyPolicyDetailConsumerToken(token, publicKeyHex, targetNodeId, intent, nowSec) {
17
+ const parts = token.split(".");
18
+ if (parts.length !== 2 || parts[1].length !== 128)
19
+ return { status: "invalid" };
20
+ try {
21
+ const rawKey = Buffer.from(publicKeyHex, "hex");
22
+ if (rawKey.length !== 32)
23
+ return { status: "invalid" };
24
+ const key = (0, node_crypto_1.createPublicKey)({ key: Buffer.concat([ED25519_SPKI, rawKey]), format: "der", type: "spki" });
25
+ if (!(0, node_crypto_1.verify)(null, Buffer.from(CONSUMER_TOKEN_DOMAIN + parts[0]), key, Buffer.from(parts[1], "hex")))
26
+ return { status: "invalid" };
27
+ const claims = JSON.parse(Buffer.from(parts[0].replace(/-/g, "+").replace(/_/g, "/"), "base64").toString());
28
+ if (claims.v !== 1 || claims.aud !== targetNodeId || claims.intent !== intent || typeof claims.sub !== "string")
29
+ return { status: "invalid" };
30
+ if (typeof claims.exp !== "number" || claims.exp <= nowSec)
31
+ return { status: "expired", claims };
32
+ return { status: "valid", claims };
33
+ }
34
+ catch {
35
+ return { status: "invalid" };
36
+ }
37
+ }
38
+ /**
39
+ * `consumer_auth` must be supplied by a cryptographic trust adapter. It is not
40
+ * a request-body claim and this helper intentionally does not parse raw tokens.
41
+ */
42
+ function evaluatePolicyDetailDisclosure(context) {
43
+ const auth = context.consumer_auth;
44
+ if (auth === "missing")
45
+ return { status: 401, reason: "consumer_auth_required" };
46
+ if (auth !== "valid" && auth !== "expired")
47
+ return { status: 401, reason: "consumer_auth_invalid" };
48
+ if (auth === "expired")
49
+ return { status: 401, reason: "consumer_auth_expired" };
50
+ if (context.disclosure_allowed !== true)
51
+ return { status: 403, reason: "disclosure_forbidden" };
52
+ const binding = typeof context.provider_node_id === "string" && context.provider_node_id.length > 0
53
+ && context.provider_node_id === context.consumer_target_node_id
54
+ && context.provider_node_id === context.ticket_target_node_id
55
+ && typeof context.consumer_intent === "string" && context.consumer_intent.length > 0
56
+ && context.consumer_intent === context.ticket_intent
57
+ && typeof context.manifest_sha256 === "string" && context.manifest_sha256.length > 0
58
+ && context.manifest_sha256 === context.ticket_manifest_sha256;
59
+ if (!binding)
60
+ return { status: 404, reason: "resource_concealed" };
61
+ const source = context.details && typeof context.details === "object"
62
+ ? context.details
63
+ : {};
64
+ const details = {};
65
+ for (const field of exports.POLICY_DETAIL_FIELDS) {
66
+ if (Object.prototype.hasOwnProperty.call(source, field))
67
+ details[field] = source[field];
68
+ }
69
+ return {
70
+ status: 200,
71
+ reason: "compatible",
72
+ body: {
73
+ profile: "urn:iicp:profile:policy-detail-disclosure:v0",
74
+ manifest_sha256: context.manifest_sha256,
75
+ details,
76
+ claim_status: "provider_declared",
77
+ },
78
+ };
79
+ }
80
+ //# sourceMappingURL=policy_detail_disclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy_detail_disclosure.js","sourceRoot":"","sources":["../src/policy_detail_disclosure.ts"],"names":[],"mappings":";;;AAmBA,0EAuBC;AAMD,wEAiCC;AAjFD,6EAA6E;AAC7E,6CAAkE;AAElE,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AACzD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAEvD,QAAA,oBAAoB,GAAG;IAClC,qBAAqB;IACrB,yBAAyB;IACzB,8BAA8B;IAC9B,iCAAiC;CACzB,CAAC;AAQX,SAAgB,+BAA+B,CAC7C,KAAa,EACb,YAAoB,EACpB,YAAoB,EACpB,MAAc,EACd,MAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,6BAAe,EAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAA4B,CAAC;QACvI,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC7G,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACjG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,8BAA8B,CAAC,OAAgC;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACjF,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IACpG,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAChF,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAEhG,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;WAC9F,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,uBAAuB;WAC5D,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,qBAAqB;WAC1D,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;WACjF,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,aAAa;WACjD,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;WACjF,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,sBAAsB,CAAC;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QACnE,CAAC,CAAC,OAAO,CAAC,OAAkC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,4BAAoB,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO;QACL,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE;YACJ,OAAO,EAAE,8CAA8C;YACvD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO;YACP,YAAY,EAAE,mBAAmB;SAClC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Opt-in evaluator for pre-normative policy operational evidence. */
2
+ export interface PolicyEvidenceDecision {
3
+ eligible: boolean;
4
+ reason: string;
5
+ }
6
+ export type PolicyEvidenceRecord = Record<string, unknown>;
7
+ export declare function evaluatePolicyOperationalEvidence(requirement: PolicyEvidenceRecord, context: PolicyEvidenceRecord, evaluatedAt: string): PolicyEvidenceDecision;
8
+ //# sourceMappingURL=policy_operational_evidence.d.ts.map