@iicp/client 0.7.91 → 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 (57) hide show
  1. package/README.md +12 -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 +35 -22
  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 +89 -0
  14. package/dist/dispatch_ticket_trust.d.ts.map +1 -0
  15. package/dist/dispatch_ticket_trust.js +302 -0
  16. package/dist/dispatch_ticket_trust.js.map +1 -0
  17. package/dist/endpoint_security.d.ts +22 -0
  18. package/dist/endpoint_security.d.ts.map +1 -0
  19. package/dist/endpoint_security.js +141 -0
  20. package/dist/endpoint_security.js.map +1 -0
  21. package/dist/index.d.ts +15 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +38 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/policy_data_handling.d.ts +8 -0
  26. package/dist/policy_data_handling.d.ts.map +1 -0
  27. package/dist/policy_data_handling.js +49 -0
  28. package/dist/policy_data_handling.js.map +1 -0
  29. package/dist/policy_detail_disclosure.d.ts +16 -0
  30. package/dist/policy_detail_disclosure.d.ts.map +1 -0
  31. package/dist/policy_detail_disclosure.js +80 -0
  32. package/dist/policy_detail_disclosure.js.map +1 -0
  33. package/dist/policy_operational_evidence.d.ts +8 -0
  34. package/dist/policy_operational_evidence.d.ts.map +1 -0
  35. package/dist/policy_operational_evidence.js +30 -0
  36. package/dist/policy_operational_evidence.js.map +1 -0
  37. package/dist/selection.d.ts +1 -1
  38. package/dist/selection.d.ts.map +1 -1
  39. package/dist/selection.js +2 -2
  40. package/dist/selection.js.map +1 -1
  41. package/dist/service_lifecycle.d.ts +90 -0
  42. package/dist/service_lifecycle.d.ts.map +1 -0
  43. package/dist/service_lifecycle.js +185 -0
  44. package/dist/service_lifecycle.js.map +1 -0
  45. package/dist/service_lifecycle_accounting.d.ts +10 -0
  46. package/dist/service_lifecycle_accounting.d.ts.map +1 -0
  47. package/dist/service_lifecycle_accounting.js +67 -0
  48. package/dist/service_lifecycle_accounting.js.map +1 -0
  49. package/dist/service_lifecycle_distributed.d.ts +2 -0
  50. package/dist/service_lifecycle_distributed.d.ts.map +1 -0
  51. package/dist/service_lifecycle_distributed.js +30 -0
  52. package/dist/service_lifecycle_distributed.js.map +1 -0
  53. package/dist/service_lifecycle_identity.d.ts +2 -0
  54. package/dist/service_lifecycle_identity.d.ts.map +1 -0
  55. package/dist/service_lifecycle_identity.js +30 -0
  56. package/dist/service_lifecycle_identity.js.map +1 -0
  57. package/package.json +1 -1
@@ -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.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.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.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 = 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");
@@ -11,6 +11,26 @@ Object.defineProperty(exports, "evaluatePreNormativeProfile", { enumerable: true
11
11
  var request_projection_js_1 = require("./request_projection.js");
12
12
  Object.defineProperty(exports, "projectExecutionConstraints", { enumerable: true, get: function () { return request_projection_js_1.projectExecutionConstraints; } });
13
13
  Object.defineProperty(exports, "projectRouteOptions", { enumerable: true, get: function () { return request_projection_js_1.projectRouteOptions; } });
14
+ var dispatch_ticket_trust_js_1 = require("./dispatch_ticket_trust.js");
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; } });
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; } });
22
+ Object.defineProperty(exports, "canonicalTicketClaims", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.canonicalTicketClaims; } });
23
+ Object.defineProperty(exports, "verifyDispatchTicketV2", { enumerable: true, get: function () { return dispatch_ticket_trust_js_1.verifyDispatchTicketV2; } });
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; } });
27
+ Object.defineProperty(exports, "LifecycleConflict", { enumerable: true, get: function () { return service_lifecycle_js_1.LifecycleConflict; } });
28
+ Object.defineProperty(exports, "LifecycleResumeUnavailable", { enumerable: true, get: function () { return service_lifecycle_js_1.LifecycleResumeUnavailable; } });
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; } });
31
+ Object.defineProperty(exports, "SERVICE_LIFECYCLE_PROFILE", { enumerable: true, get: function () { return service_lifecycle_js_1.SERVICE_LIFECYCLE_PROFILE; } });
32
+ Object.defineProperty(exports, "TERMINAL_LIFECYCLE_STATES", { enumerable: true, get: function () { return service_lifecycle_js_1.TERMINAL_LIFECYCLE_STATES; } });
33
+ Object.defineProperty(exports, "UnknownLifecycleTask", { enumerable: true, get: function () { return service_lifecycle_js_1.UnknownLifecycleTask; } });
14
34
  var errors_js_1 = require("./errors.js");
15
35
  Object.defineProperty(exports, "IicpError", { enumerable: true, get: function () { return errors_js_1.IicpError; } });
16
36
  var node_js_1 = require("./node.js");
@@ -50,6 +70,8 @@ Object.defineProperty(exports, "anthropicHandler", { enumerable: true, get: func
50
70
  var index_js_1 = require("./backends/index.js");
51
71
  Object.defineProperty(exports, "getBackendHandler", { enumerable: true, get: function () { return index_js_1.getBackendHandler; } });
52
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; } });
53
75
  var scheduler_js_1 = require("./scheduler.js");
54
76
  Object.defineProperty(exports, "qosPriority", { enumerable: true, get: function () { return scheduler_js_1.qosPriority; } });
55
77
  Object.defineProperty(exports, "isQueueEligible", { enumerable: true, get: function () { return scheduler_js_1.isQueueEligible; } });
@@ -103,4 +125,18 @@ Object.defineProperty(exports, "envCheckEveryHeartbeats", { enumerable: true, ge
103
125
  Object.defineProperty(exports, "supervisedRecoveryEnabled", { enumerable: true, get: function () { return recovery_js_1.supervisedRecoveryEnabled; } });
104
126
  Object.defineProperty(exports, "classifyRecovery", { enumerable: true, get: function () { return recovery_js_1.classifyRecovery; } });
105
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; } });
106
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":";;;;AAAA,yCAAyC;AAAhC,uGAAA,UAAU,OAAA;AACnB,+CAAiD;AAAxC,+GAAA,eAAe,OAAA;AACxB,uEAAyE;AAAhE,uIAAA,2BAA2B,OAAA;AAGpC,iEAA2F;AAAlF,oIAAA,2BAA2B,OAAA;AAAE,4HAAA,mBAAmB,OAAA;AACzD,uEAUoC;AATlC,sIAAA,0BAA0B,OAAA;AAC1B,wIAAA,4BAA4B,OAAA;AAC5B,oIAAA,wBAAwB,OAAA;AACxB,mIAAA,uBAAuB,OAAA;AACvB,iIAAA,qBAAqB,OAAA;AACrB,kIAAA,sBAAsB,OAAA;AACtB,wIAAA,4BAA4B,OAAA;AAC5B,iIAAA,qBAAqB,OAAA;AACrB,kIAAA,sBAAsB,OAAA;AAaxB,+DAAuP;AAA9O,mIAAA,2BAA2B,OAAA;AAAE,6HAAA,qBAAqB,OAAA;AAAE,yHAAA,iBAAiB,OAAA;AAAE,kIAAA,0BAA0B,OAAA;AAAE,sHAAA,cAAc,OAAA;AAAE,sHAAA,cAAc,OAAA;AAAE,iIAAA,yBAAyB,OAAA;AAAE,iIAAA,yBAAyB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAEtN,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAqC;AAA5B,mGAAA,QAAQ,OAAA;AACjB,iDAAmF;AAA1E,8GAAA,aAAa,OAAA;AAAE,8GAAA,aAAa,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAGzD,6CAUuB;AATrB,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAClB,sGAAA,OAAO,OAAA;AACP,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AACV,0GAAA,WAAW,OAAA;AACX,0GAAA,WAAW,OAAA;AASb,uDAM4B;AAL1B,6GAAA,SAAS,OAAA;AACT,iHAAA,aAAa,OAAA;AACb,+GAAA,WAAW,OAAA;AACX,mHAAA,eAAe,OAAA;AACf,kHAAA,cAAc,OAAA;AAGhB,2CAIsB;AAHpB,4GAAA,cAAc,OAAA;AACd,4GAAA,cAAc,OAAA;AACd,iHAAA,mBAAmB,OAAA;AASrB,gEAAkE;AAAzD,uHAAA,mBAAmB,OAAA;AAM5B,8CAAiD;AAAxC,sGAAA,WAAW,OAAA;AAEpB,sDAAyD;AAAhD,8GAAA,eAAe,OAAA;AAExB,wDAA2D;AAAlD,gHAAA,gBAAgB,OAAA;AAEzB,gDAAuE;AAA9D,6GAAA,iBAAiB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAGzC,8CAA6D;AAApD,kHAAA,uBAAuB,OAAA;AAChC,+CAA2G;AAAlG,2GAAA,WAAW,OAAA;AAAE,+GAAA,eAAe,OAAA;AAAE,4GAAA,YAAY,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,6GAAA,aAAa,OAAA;AAClF,qDAA0D;AAAjD,wHAAA,qBAAqB,OAAA;AAE9B,2DAAsD;AAA7C,oHAAA,cAAc,OAAA;AACvB,mDAAoD;AAA3C,kHAAA,gBAAgB,OAAA;AACzB,uDAAiE;AAAxD,gHAAA,YAAY,OAAA;AAAE,iHAAA,aAAa,OAAA;AAEpC,qDAAgD;AAAvC,8GAAA,WAAW,OAAA;AAEpB,yCAOqB;AANnB,gHAAA,mBAAmB,OAAA;AACnB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,cAAc,OAAA;AACd,gHAAA,mBAAmB,OAAA;AACnB,mHAAA,sBAAsB,OAAA;AAGxB,yDAK6B;AAJ3B,gIAAA,2BAA2B,OAAA;AAC3B,gIAAA,2BAA2B,OAAA;AAC3B,0HAAA,qBAAqB,OAAA;AACrB,gIAAA,2BAA2B,OAAA;AAE7B,iDAIyB;AAHvB,2HAAA,0BAA0B,OAAA;AAC1B,mHAAA,kBAAkB,OAAA;AAClB,6GAAA,YAAY,OAAA;AAGd,2CAKsB;AAJpB,+GAAA,iBAAiB,OAAA;AACjB,kHAAA,oBAAoB,OAAA;AACpB,sGAAA,QAAQ,OAAA;AACR,6GAAA,eAAe,OAAA;AAGjB,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAE7B,mDAA0E;AAAjE,uHAAA,qBAAqB,OAAA;AAAE,iHAAA,eAAe,OAAA;AAC/C,6CAUuB;AATrB,iHAAA,kBAAkB,OAAA;AAClB,4HAAA,6BAA6B,OAAA;AAC7B,sIAAA,uCAAuC,OAAA;AACvC,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,sHAAA,uBAAuB,OAAA;AACvB,wHAAA,yBAAyB,OAAA;AACzB,+GAAA,gBAAgB,OAAA;AAChB,mHAAA,oBAAoB,OAAA;AAoBtB,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AACnC,mFAAqF;AAA5E,mJAAA,iCAAiC,OAAA;AAE1C,6EAAsI;AAA7H,mIAAA,oBAAoB,OAAA;AAAE,6IAAA,8BAA8B,OAAA;AAAE,8IAAA,+BAA+B,OAAA;AAE9F,uFAAkF;AAAzE,gJAAA,4BAA4B,OAAA;AACrC,iFAA4E;AAAnE,0IAAA,yBAAyB,OAAA;AAElC,qFAA8E;AAArE,4IAAA,yBAAyB,OAAA"}
@@ -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":"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"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy_operational_evidence.d.ts","sourceRoot":"","sources":["../src/policy_operational_evidence.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IAAG,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC7E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAQ3D,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,oBAAoB,EACjC,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,MAAM,GAClB,sBAAsB,CAexB"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evaluatePolicyOperationalEvidence = evaluatePolicyOperationalEvidence;
4
+ const KNOWN = new Set(["retention_control", "subprocessor_disclosure", "approval_event"]);
5
+ const reject = (reason) => ({ eligible: false, reason });
6
+ const strings = (value) => Array.isArray(value)
7
+ ? value.filter((item) => typeof item === "string")
8
+ : [];
9
+ function evaluatePolicyOperationalEvidence(requirement, context, evaluatedAt) {
10
+ const required = strings(requirement.required_evidence);
11
+ if (required.some((kind) => !KNOWN.has(kind)))
12
+ return reject("unsupported_evidence_requirement");
13
+ if (requirement.manifest_sha256 !== context.manifest_sha256)
14
+ return reject("manifest_digest_mismatch");
15
+ const evidence = Array.isArray(context.evidence)
16
+ ? context.evidence.filter((item) => Boolean(item) && typeof item === "object")
17
+ : [];
18
+ for (const kind of required) {
19
+ const matches = evidence.filter((item) => item.type === kind);
20
+ if (!matches.length)
21
+ return reject("evidence_missing");
22
+ const verified = matches.filter((item) => item.verified === true);
23
+ if (!verified.length)
24
+ return reject("evidence_unauthenticated");
25
+ if (!verified.some((item) => typeof item.expires_at === "string" && item.expires_at > evaluatedAt))
26
+ return reject("evidence_expired");
27
+ }
28
+ return { eligible: true, reason: "compatible" };
29
+ }
30
+ //# sourceMappingURL=policy_operational_evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy_operational_evidence.js","sourceRoot":"","sources":["../src/policy_operational_evidence.ts"],"names":[],"mappings":";;AAUA,8EAmBC;AAzBD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC1F,MAAM,MAAM,GAAG,CAAC,MAAc,EAA0B,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACzF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAY,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAChE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;IAClE,CAAC,CAAC,EAAE,CAAC;AAEP,SAAgB,iCAAiC,CAC/C,WAAiC,EACjC,OAA6B,EAC7B,WAAmB;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACjG,IAAI,WAAW,CAAC,eAAe,KAAK,OAAO,CAAC,eAAe;QAAE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAgC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC5G,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxI,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClD,CAAC"}
@@ -4,5 +4,5 @@ export type SelectableNode = {
4
4
  score: number;
5
5
  load?: number;
6
6
  };
7
- export declare function weightedV1Order<T extends SelectableNode>(nodes: T[], maxRetries: number, randomValue: number): T[];
7
+ export declare function weightedV1Order<T extends SelectableNode>(nodes: T[], maxRetries: number, randomValue: number, topK?: number): T[];
8
8
  //# sourceMappingURL=selection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/E,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE,CAQlH"}
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/E,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,CAAC,EAAE,CAQ5H"}
package/dist/selection.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.weightedV1Order = weightedV1Order;
4
- function weightedV1Order(nodes, maxRetries, randomValue) {
4
+ function weightedV1Order(nodes, maxRetries, randomValue, topK = 3) {
5
5
  if (nodes.length <= 1)
6
6
  return nodes.slice(0, maxRetries);
7
- const pool = nodes.slice(0, Math.max(1, Math.min(nodes.length, 3)));
7
+ const pool = nodes.slice(0, Math.max(1, Math.min(nodes.length, topK)));
8
8
  const weights = pool.map((node) => Math.max(node.score, 0.01) / (1 + Math.max(0, Math.min(node.load ?? 0, 1))));
9
9
  let remaining = Math.max(0, Math.min(randomValue, 0.999999999)) * weights.reduce((sum, weight) => sum + weight, 0);
10
10
  let chosen = pool[pool.length - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":";;AAEA,0CAQC;AARD,SAAgB,eAAe,CAA2B,KAAU,EAAE,UAAkB,EAAE,WAAmB;IAC3G,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnH,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM;QAAC,CAAC;IAAC,CAAC;IACnH,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACxH,CAAC"}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":";;AAEA,0CAQC;AARD,SAAgB,eAAe,CAA2B,KAAU,EAAE,UAAkB,EAAE,WAAmB,EAAE,IAAI,GAAG,CAAC;IACrH,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnH,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM;QAAC,CAAC;IAAC,CAAC;IACnH,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACxH,CAAC"}
@@ -0,0 +1,90 @@
1
+ /** Opt-in transport-neutral implementation of the pre-normative lifecycle profile. */
2
+ export declare const SERVICE_LIFECYCLE_PROFILE = "urn:iicp:profile:service-lifecycle:v1";
3
+ export declare const TERMINAL_LIFECYCLE_STATES: Set<string>;
4
+ export interface LifecycleEvent {
5
+ task_id: string;
6
+ sequence: number;
7
+ state: string;
8
+ is_final: boolean;
9
+ observed_at_ms: number;
10
+ detail?: Record<string, unknown>;
11
+ }
12
+ export interface LifecycleRecord {
13
+ task_id: string;
14
+ idempotency_key: string;
15
+ request_digest: string;
16
+ state: string;
17
+ events: LifecycleEvent[];
18
+ updated_at_ms: number;
19
+ }
20
+ export interface LifecycleSnapshot {
21
+ profile: typeof SERVICE_LIFECYCLE_PROFILE;
22
+ records: LifecycleRecord[];
23
+ }
24
+ export declare class LifecycleConflict extends Error {
25
+ }
26
+ export declare class UnknownLifecycleTask extends Error {
27
+ }
28
+ export declare class LifecycleResumeUnavailable extends Error {
29
+ readonly record: LifecycleRecord;
30
+ constructor(record: LifecycleRecord);
31
+ }
32
+ export declare class ObserverLagged extends Error {
33
+ readonly earliestAvailable: number;
34
+ readonly latestSequence: number;
35
+ constructor(earliestAvailable: number, latestSequence: number);
36
+ }
37
+ export type BackendCancellationOutcome = "cancel_signalled" | "cancel_unsupported" | "already_terminal";
38
+ export type BackendCancellationHandler = () => boolean | void;
39
+ export type BackendCancellationEvidenceLevel = "cancel_requested" | "transport_aborted" | "backend_acknowledged" | "execution_stopped" | "cancel_unsupported" | "already_terminal";
40
+ export type BackendCancellationEvidence = {
41
+ task_id: string;
42
+ outcome: BackendCancellationEvidenceLevel;
43
+ cleanup_complete: boolean;
44
+ };
45
+ /** Opt-in bridge from lifecycle cancellation to an active backend handle. */
46
+ export declare class BackendCancellationRegistry {
47
+ private readonly handlers;
48
+ private readonly signalled;
49
+ private readonly evidenceByTask;
50
+ private readonly evidenceOrder;
51
+ register(taskId: string, handler: BackendCancellationHandler): void;
52
+ report(taskId: string, outcome: BackendCancellationEvidenceLevel): BackendCancellationEvidence;
53
+ complete(taskId: string, outcome?: BackendCancellationEvidenceLevel): BackendCancellationEvidence;
54
+ evidence(taskId: string): BackendCancellationEvidence | undefined;
55
+ private remember;
56
+ request(taskId: string, state: string): BackendCancellationOutcome;
57
+ }
58
+ /** Content-free ordered event buffer with explicit slow-consumer failure. */
59
+ export declare class BoundedObserverBuffer {
60
+ private readonly capacity;
61
+ private readonly maxObservers;
62
+ private readonly events;
63
+ private readonly observers;
64
+ private terminal;
65
+ constructor(capacity: number, maxObservers?: number);
66
+ subscribe(observerId: string): void;
67
+ disconnect(observerId: string): void;
68
+ publish(event: LifecycleEvent): void;
69
+ poll(afterSequence: number): LifecycleEvent[];
70
+ get closed(): boolean;
71
+ get observerCount(): number;
72
+ }
73
+ export declare class LifecycleStore {
74
+ private readonly maxEvents;
75
+ private readonly terminalStatusTtlMs;
76
+ private readonly clock;
77
+ private readonly records;
78
+ constructor(maxEvents?: number, terminalStatusTtlMs?: number, clock?: () => number);
79
+ submit(taskId: string, idempotencyKey: string, requestDigest: string): {
80
+ record: LifecycleRecord;
81
+ created: boolean;
82
+ };
83
+ status(taskId: string): LifecycleRecord;
84
+ transition(taskId: string, requestedState: string, detail?: Record<string, unknown>): LifecycleEvent;
85
+ cancel(taskId: string): LifecycleRecord;
86
+ eventsAfter(taskId: string, afterSequence: number, limit?: number): LifecycleEvent[];
87
+ snapshot(): LifecycleSnapshot;
88
+ restore(snapshot: LifecycleSnapshot): void;
89
+ }
90
+ //# sourceMappingURL=service_lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service_lifecycle.d.ts","sourceRoot":"","sources":["../src/service_lifecycle.ts"],"names":[],"mappings":"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"}