@flowdesk/core 0.1.0 → 0.1.2

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 (142) hide show
  1. package/dist/authority-promotion.d.ts +70 -0
  2. package/dist/authority-promotion.d.ts.map +1 -0
  3. package/dist/authority-promotion.js +388 -0
  4. package/dist/authority-promotion.js.map +1 -0
  5. package/dist/chat-control-authority.d.ts +83 -0
  6. package/dist/chat-control-authority.d.ts.map +1 -0
  7. package/dist/chat-control-authority.js +238 -0
  8. package/dist/chat-control-authority.js.map +1 -0
  9. package/dist/chat-hook-authority-probe.d.ts +39 -0
  10. package/dist/chat-hook-authority-probe.d.ts.map +1 -0
  11. package/dist/chat-hook-authority-probe.js +153 -0
  12. package/dist/chat-hook-authority-probe.js.map +1 -0
  13. package/dist/chat-routing.d.ts.map +1 -1
  14. package/dist/chat-routing.js +18 -15
  15. package/dist/chat-routing.js.map +1 -1
  16. package/dist/connector-gateway.d.ts +34 -0
  17. package/dist/connector-gateway.d.ts.map +1 -0
  18. package/dist/connector-gateway.js +147 -0
  19. package/dist/connector-gateway.js.map +1 -0
  20. package/dist/connector-profile.d.ts +41 -0
  21. package/dist/connector-profile.d.ts.map +1 -0
  22. package/dist/connector-profile.js +125 -0
  23. package/dist/connector-profile.js.map +1 -0
  24. package/dist/controlled-conformance-doc-write.d.ts +44 -0
  25. package/dist/controlled-conformance-doc-write.d.ts.map +1 -0
  26. package/dist/controlled-conformance-doc-write.js +142 -0
  27. package/dist/controlled-conformance-doc-write.js.map +1 -0
  28. package/dist/controlled-redacted-audit-export-write.d.ts +45 -0
  29. package/dist/controlled-redacted-audit-export-write.d.ts.map +1 -0
  30. package/dist/controlled-redacted-audit-export-write.js +145 -0
  31. package/dist/controlled-redacted-audit-export-write.js.map +1 -0
  32. package/dist/core-completion-safety-contracts.d.ts +35 -0
  33. package/dist/core-completion-safety-contracts.d.ts.map +1 -0
  34. package/dist/core-completion-safety-contracts.js +98 -0
  35. package/dist/core-completion-safety-contracts.js.map +1 -0
  36. package/dist/dispatch-attempt-manifest.d.ts +59 -0
  37. package/dist/dispatch-attempt-manifest.d.ts.map +1 -0
  38. package/dist/dispatch-attempt-manifest.js +294 -0
  39. package/dist/dispatch-attempt-manifest.js.map +1 -0
  40. package/dist/dispatch-idempotency.d.ts +89 -0
  41. package/dist/dispatch-idempotency.d.ts.map +1 -0
  42. package/dist/dispatch-idempotency.js +275 -0
  43. package/dist/dispatch-idempotency.js.map +1 -0
  44. package/dist/external-auth-policy.d.ts +49 -0
  45. package/dist/external-auth-policy.d.ts.map +1 -0
  46. package/dist/external-auth-policy.js +166 -0
  47. package/dist/external-auth-policy.js.map +1 -0
  48. package/dist/fake-remote-connector-adapter.d.ts +37 -0
  49. package/dist/fake-remote-connector-adapter.d.ts.map +1 -0
  50. package/dist/fake-remote-connector-adapter.js +162 -0
  51. package/dist/fake-remote-connector-adapter.js.map +1 -0
  52. package/dist/fallback-decision.d.ts +29 -0
  53. package/dist/fallback-decision.d.ts.map +1 -0
  54. package/dist/fallback-decision.js +93 -0
  55. package/dist/fallback-decision.js.map +1 -0
  56. package/dist/fallback-regate-plan.d.ts +34 -0
  57. package/dist/fallback-regate-plan.d.ts.map +1 -0
  58. package/dist/fallback-regate-plan.js +122 -0
  59. package/dist/fallback-regate-plan.js.map +1 -0
  60. package/dist/fds1-schema-probe-result.d.ts +37 -0
  61. package/dist/fds1-schema-probe-result.d.ts.map +1 -0
  62. package/dist/fds1-schema-probe-result.js +115 -0
  63. package/dist/fds1-schema-probe-result.js.map +1 -0
  64. package/dist/index.d.ts +25 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +25 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/lane-heartbeat.d.ts +49 -0
  69. package/dist/lane-heartbeat.d.ts.map +1 -0
  70. package/dist/lane-heartbeat.js +149 -0
  71. package/dist/lane-heartbeat.js.map +1 -0
  72. package/dist/lane-lifecycle-record.d.ts +32 -0
  73. package/dist/lane-lifecycle-record.d.ts.map +1 -0
  74. package/dist/lane-lifecycle-record.js +134 -0
  75. package/dist/lane-lifecycle-record.js.map +1 -0
  76. package/dist/lane-stall-projection.d.ts +43 -0
  77. package/dist/lane-stall-projection.d.ts.map +1 -0
  78. package/dist/lane-stall-projection.js +272 -0
  79. package/dist/lane-stall-projection.js.map +1 -0
  80. package/dist/model-availability-cache.d.ts +286 -0
  81. package/dist/model-availability-cache.d.ts.map +1 -0
  82. package/dist/model-availability-cache.js +1109 -0
  83. package/dist/model-availability-cache.js.map +1 -0
  84. package/dist/operational-intelligence.d.ts +38 -0
  85. package/dist/operational-intelligence.d.ts.map +1 -0
  86. package/dist/operational-intelligence.js +107 -0
  87. package/dist/operational-intelligence.js.map +1 -0
  88. package/dist/production-approval-source.d.ts +61 -0
  89. package/dist/production-approval-source.d.ts.map +1 -0
  90. package/dist/production-approval-source.js +226 -0
  91. package/dist/production-approval-source.js.map +1 -0
  92. package/dist/production-enablement.d.ts +92 -1
  93. package/dist/production-enablement.d.ts.map +1 -1
  94. package/dist/production-enablement.js +421 -8
  95. package/dist/production-enablement.js.map +1 -1
  96. package/dist/production-verification.d.ts +31 -0
  97. package/dist/production-verification.d.ts.map +1 -0
  98. package/dist/production-verification.js +126 -0
  99. package/dist/production-verification.js.map +1 -0
  100. package/dist/provider-usage-collector.d.ts +7 -0
  101. package/dist/provider-usage-collector.d.ts.map +1 -1
  102. package/dist/provider-usage-collector.js +64 -10
  103. package/dist/provider-usage-collector.js.map +1 -1
  104. package/dist/release1-contracts.d.ts +8 -2
  105. package/dist/release1-contracts.d.ts.map +1 -1
  106. package/dist/release1-contracts.js +2 -1
  107. package/dist/release1-contracts.js.map +1 -1
  108. package/dist/remote-write-connector-gate.d.ts +91 -0
  109. package/dist/remote-write-connector-gate.d.ts.map +1 -0
  110. package/dist/remote-write-connector-gate.js +291 -0
  111. package/dist/remote-write-connector-gate.js.map +1 -0
  112. package/dist/runtime-lane-productization.d.ts +78 -0
  113. package/dist/runtime-lane-productization.d.ts.map +1 -0
  114. package/dist/runtime-lane-productization.js +270 -0
  115. package/dist/runtime-lane-productization.js.map +1 -0
  116. package/dist/sanitized-auth-capture.d.ts +50 -0
  117. package/dist/sanitized-auth-capture.d.ts.map +1 -0
  118. package/dist/sanitized-auth-capture.js +164 -0
  119. package/dist/sanitized-auth-capture.js.map +1 -0
  120. package/dist/schema-artifacts.d.ts.map +1 -1
  121. package/dist/schema-artifacts.js +37 -6
  122. package/dist/schema-artifacts.js.map +1 -1
  123. package/dist/schema-registry.d.ts.map +1 -1
  124. package/dist/schema-registry.js +21 -0
  125. package/dist/schema-registry.js.map +1 -1
  126. package/dist/session-evidence.d.ts +117 -0
  127. package/dist/session-evidence.d.ts.map +1 -1
  128. package/dist/session-evidence.js +569 -1
  129. package/dist/session-evidence.js.map +1 -1
  130. package/dist/state-paths.d.ts +1 -1
  131. package/dist/state-paths.d.ts.map +1 -1
  132. package/dist/state-paths.js +56 -6
  133. package/dist/state-paths.js.map +1 -1
  134. package/dist/status.d.ts +7 -0
  135. package/dist/status.d.ts.map +1 -1
  136. package/dist/status.js +89 -1
  137. package/dist/status.js.map +1 -1
  138. package/dist/validators.d.ts +1 -0
  139. package/dist/validators.d.ts.map +1 -1
  140. package/dist/validators.js +30 -7
  141. package/dist/validators.js.map +1 -1
  142. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-availability-cache.js","sourceRoot":"","sources":["../src/model-availability-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type ValidationResult } from "./validators.js";
2
+ export interface FlowDeskOperationalIntelligenceScoreV1 {
3
+ schema_version: "flowdesk.operational_intelligence_score.v1";
4
+ score_id: string;
5
+ workflow_id: string;
6
+ candidate_ref: string;
7
+ hard_filter_state: "passed" | "blocked";
8
+ blocked_labels: string[];
9
+ advisory_score: number;
10
+ score_reason_ref: string;
11
+ advisory_only: true;
12
+ dispatch_authority_enabled: false;
13
+ approval_authority_enabled: false;
14
+ external_write_authority_enabled: false;
15
+ }
16
+ export interface FlowDeskReferencePackV1 {
17
+ schema_version: "flowdesk.reference_pack.v1";
18
+ pack_id: string;
19
+ workflow_id: string;
20
+ source_refs: string[];
21
+ source_hash_refs: string[];
22
+ specialist_signoff: false;
23
+ professional_advice: false;
24
+ advisory_only: true;
25
+ external_write_authority_enabled: false;
26
+ }
27
+ export declare function createFlowDeskOperationalIntelligenceScoreV1(input: {
28
+ scoreId: string;
29
+ workflowId: string;
30
+ candidateRef: string;
31
+ hardFiltersPassed: boolean;
32
+ blockedLabels?: string[];
33
+ advisoryScore: number;
34
+ scoreReasonRef: string;
35
+ }): FlowDeskOperationalIntelligenceScoreV1;
36
+ export declare function validateFlowDeskOperationalIntelligenceScoreV1(value: unknown): ValidationResult;
37
+ export declare function validateFlowDeskReferencePackV1(value: unknown): ValidationResult;
38
+ //# sourceMappingURL=operational-intelligence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-intelligence.d.ts","sourceRoot":"","sources":["../src/operational-intelligence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,gBAAgB,EAA8E,MAAM,iBAAiB,CAAC;AAE7I,MAAM,WAAW,sCAAsC;IACtD,cAAc,EAAE,4CAA4C,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,IAAI,CAAC;IACpB,0BAA0B,EAAE,KAAK,CAAC;IAClC,0BAA0B,EAAE,KAAK,CAAC;IAClC,gCAAgC,EAAE,KAAK,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACvC,cAAc,EAAE,4BAA4B,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC;IAC1B,mBAAmB,EAAE,KAAK,CAAC;IAC3B,aAAa,EAAE,IAAI,CAAC;IACpB,gCAAgC,EAAE,KAAK,CAAC;CACxC;AAkBD,wBAAgB,4CAA4C,CAAC,KAAK,EAAE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACvB,GAAG,sCAAsC,CAezC;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAkC/F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAwBhF"}
@@ -0,0 +1,107 @@
1
+ import { invalid, valid, validateNoForbiddenRawPayloads, validateOpaqueId, validateOpaqueRef } from "./validators.js";
2
+ function isRecord(value) {
3
+ return typeof value === "object" && value !== null && !Array.isArray(value);
4
+ }
5
+ function refs(value, label) {
6
+ if (!Array.isArray(value) || value.length === 0)
7
+ return invalid(`${label} must be a non-empty array`);
8
+ const errors = [];
9
+ for (const [index, ref] of value.entries())
10
+ errors.push(...validateOpaqueRef(ref, `${label}[${index}]`).errors);
11
+ return errors.length === 0 ? valid() : invalid(...errors);
12
+ }
13
+ function rejectUnknownProperties(record, allowed, label) {
14
+ const unknown = Object.keys(record).filter((key) => !allowed.includes(key));
15
+ return unknown.length === 0 ? valid() : invalid(`${label} unknown properties: ${unknown.join(",")}`);
16
+ }
17
+ export function createFlowDeskOperationalIntelligenceScoreV1(input) {
18
+ return {
19
+ schema_version: "flowdesk.operational_intelligence_score.v1",
20
+ score_id: input.scoreId,
21
+ workflow_id: input.workflowId,
22
+ candidate_ref: input.candidateRef,
23
+ hard_filter_state: input.hardFiltersPassed ? "passed" : "blocked",
24
+ blocked_labels: [...(input.blockedLabels ?? [])],
25
+ advisory_score: input.hardFiltersPassed ? input.advisoryScore : 0,
26
+ score_reason_ref: input.scoreReasonRef,
27
+ advisory_only: true,
28
+ dispatch_authority_enabled: false,
29
+ approval_authority_enabled: false,
30
+ external_write_authority_enabled: false,
31
+ };
32
+ }
33
+ export function validateFlowDeskOperationalIntelligenceScoreV1(value) {
34
+ if (!isRecord(value))
35
+ return invalid("operational intelligence score must be an object");
36
+ const record = value;
37
+ const errors = [];
38
+ errors.push(...rejectUnknownProperties(record, [
39
+ "schema_version",
40
+ "score_id",
41
+ "workflow_id",
42
+ "candidate_ref",
43
+ "hard_filter_state",
44
+ "blocked_labels",
45
+ "advisory_score",
46
+ "score_reason_ref",
47
+ "advisory_only",
48
+ "dispatch_authority_enabled",
49
+ "approval_authority_enabled",
50
+ "external_write_authority_enabled",
51
+ ], "operational intelligence score").errors);
52
+ errors.push(...validateOpaqueId(record.score_id, "score_id").errors);
53
+ errors.push(...validateOpaqueId(record.workflow_id, "workflow_id").errors);
54
+ errors.push(...validateOpaqueRef(record.candidate_ref, "candidate_ref").errors);
55
+ errors.push(...validateOpaqueRef(record.score_reason_ref, "score_reason_ref").errors);
56
+ if (record.schema_version !== "flowdesk.operational_intelligence_score.v1")
57
+ errors.push("score schema_version is invalid");
58
+ if (record.hard_filter_state !== "passed" && record.hard_filter_state !== "blocked")
59
+ errors.push("hard_filter_state is invalid");
60
+ if (!Array.isArray(record.blocked_labels))
61
+ errors.push("blocked_labels must be an array");
62
+ else
63
+ for (const [index, label] of record.blocked_labels.entries())
64
+ errors.push(...validateOpaqueRef(label, `blocked_labels[${index}]`).errors);
65
+ if (typeof record.advisory_score !== "number" || record.advisory_score < 0 || record.advisory_score > 100)
66
+ errors.push("advisory_score must be 0..100");
67
+ if (record.hard_filter_state === "passed" && (record.blocked_labels?.length ?? 0) > 0)
68
+ errors.push("passed hard filters cannot carry blocked_labels");
69
+ if (record.hard_filter_state === "blocked" && (record.blocked_labels?.length ?? 0) === 0)
70
+ errors.push("blocked hard filters require blocked_labels");
71
+ if (record.hard_filter_state === "blocked" && record.advisory_score !== 0)
72
+ errors.push("blocked hard filters must zero advisory_score");
73
+ if (record.advisory_only !== true || record.dispatch_authority_enabled !== false || record.approval_authority_enabled !== false || record.external_write_authority_enabled !== false)
74
+ errors.push("operational intelligence must remain advisory-only");
75
+ errors.push(...validateNoForbiddenRawPayloads(record, "operational_intelligence_score").errors);
76
+ return errors.length === 0 ? valid() : invalid(...errors);
77
+ }
78
+ export function validateFlowDeskReferencePackV1(value) {
79
+ if (!isRecord(value))
80
+ return invalid("reference pack must be an object");
81
+ const record = value;
82
+ const errors = [];
83
+ errors.push(...rejectUnknownProperties(record, [
84
+ "schema_version",
85
+ "pack_id",
86
+ "workflow_id",
87
+ "source_refs",
88
+ "source_hash_refs",
89
+ "specialist_signoff",
90
+ "professional_advice",
91
+ "advisory_only",
92
+ "external_write_authority_enabled",
93
+ ], "reference pack").errors);
94
+ errors.push(...validateOpaqueId(record.pack_id, "pack_id").errors);
95
+ errors.push(...validateOpaqueId(record.workflow_id, "workflow_id").errors);
96
+ errors.push(...refs(record.source_refs, "source_refs").errors);
97
+ errors.push(...refs(record.source_hash_refs, "source_hash_refs").errors);
98
+ if (Array.isArray(record.source_refs) && Array.isArray(record.source_hash_refs) && record.source_refs.length !== record.source_hash_refs.length)
99
+ errors.push("source_refs and source_hash_refs must align one-to-one");
100
+ if (record.schema_version !== "flowdesk.reference_pack.v1")
101
+ errors.push("reference pack schema_version is invalid");
102
+ if (record.specialist_signoff !== false || record.professional_advice !== false || record.advisory_only !== true || record.external_write_authority_enabled !== false)
103
+ errors.push("reference pack cannot act as signoff or external write authority");
104
+ errors.push(...validateNoForbiddenRawPayloads(record, "reference_pack").errors);
105
+ return errors.length === 0 ? valid() : invalid(...errors);
106
+ }
107
+ //# sourceMappingURL=operational-intelligence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-intelligence.js","sourceRoot":"","sources":["../src/operational-intelligence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type ValidationResult } from "./validators.js";
2
+ export declare const FLOWDESK_PRODUCTION_APPROVAL_ACTION_TYPES: readonly ["managed_dispatch_beta", "active_profile_mutation", "external_write", "lane_launch", "reviewer_fanout", "fallback_reselection"];
3
+ export type FlowDeskProductionApprovalActionTypeV1 = (typeof FLOWDESK_PRODUCTION_APPROVAL_ACTION_TYPES)[number];
4
+ export declare const FLOWDESK_PRODUCTION_APPROVAL_METHODS: readonly ["typed_phrase", "signed_intent"];
5
+ export type FlowDeskProductionApprovalMethodV1 = (typeof FLOWDESK_PRODUCTION_APPROVAL_METHODS)[number];
6
+ export declare const FLOWDESK_PRODUCTION_APPROVAL_ISSUER_BOUNDARIES: readonly ["external_user_confirmation", "external_signed_intent"];
7
+ export type FlowDeskProductionApprovalIssuerBoundaryV1 = (typeof FLOWDESK_PRODUCTION_APPROVAL_ISSUER_BOUNDARIES)[number];
8
+ export interface FlowDeskProductionApprovalSourceV1 {
9
+ schema_version: "flowdesk.production_approval_source.v1";
10
+ approval_id: string;
11
+ workflow_id: string;
12
+ attempt_id: string;
13
+ action_type: FlowDeskProductionApprovalActionTypeV1;
14
+ issuer_boundary: FlowDeskProductionApprovalIssuerBoundaryV1;
15
+ approval_method: FlowDeskProductionApprovalMethodV1;
16
+ actor_ref: string;
17
+ profile_ref: string;
18
+ provider_qualified_model_id: string;
19
+ provider_binding_hash: string;
20
+ evidence_bundle_hash: string;
21
+ guard_decision_ref: string;
22
+ issuance_audit_ref: string;
23
+ nonce_ref: string;
24
+ issued_at: string;
25
+ expires_at: string;
26
+ revoked: boolean;
27
+ consumed_at?: string;
28
+ consumed_by_attempt_id?: string;
29
+ consumption_audit_ref?: string;
30
+ consume_strategy: "atomic_compare_and_swap_required";
31
+ dispatch_authority_enabled: false;
32
+ }
33
+ export interface FlowDeskProductionApprovalConsumeInputV1 {
34
+ approval: FlowDeskProductionApprovalSourceV1;
35
+ workflowId: string;
36
+ attemptId: string;
37
+ actionType: FlowDeskProductionApprovalActionTypeV1;
38
+ actorRef: string;
39
+ profileRef: string;
40
+ providerQualifiedModelId: string;
41
+ providerBindingHash: string;
42
+ evidenceBundleHash: string;
43
+ guardDecisionRef: string;
44
+ consumptionAuditRef: string;
45
+ consumedAt: string;
46
+ }
47
+ export interface FlowDeskProductionApprovalConsumeResultV1 extends ValidationResult {
48
+ schema_version: "flowdesk.production_approval_consume_result.v1";
49
+ approval_id?: string;
50
+ state: "consumed" | "blocked";
51
+ consumed_approval?: FlowDeskProductionApprovalSourceV1;
52
+ consume_strategy: "atomic_compare_and_swap_required";
53
+ dispatch_authority_enabled: false;
54
+ realOpenCodeDispatch: false;
55
+ actualLaneLaunch: false;
56
+ providerCall: false;
57
+ runtimeExecution: false;
58
+ }
59
+ export declare function validateFlowDeskProductionApprovalSourceV1(value: unknown, expectedWorkflowId?: string): ValidationResult;
60
+ export declare function consumeFlowDeskProductionApprovalSourceV1(input: FlowDeskProductionApprovalConsumeInputV1): FlowDeskProductionApprovalConsumeResultV1;
61
+ //# sourceMappingURL=production-approval-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production-approval-source.d.ts","sourceRoot":"","sources":["../src/production-approval-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,gBAAgB,EAMrB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,yCAAyC,2IAO5C,CAAC;AACX,MAAM,MAAM,sCAAsC,GACjD,CAAC,OAAO,yCAAyC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,oCAAoC,4CAGvC,CAAC;AACX,MAAM,MAAM,kCAAkC,GAC7C,CAAC,OAAO,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,8CAA8C,mEAGjD,CAAC;AACX,MAAM,MAAM,0CAA0C,GACrD,CAAC,OAAO,8CAA8C,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,WAAW,kCAAkC;IAClD,cAAc,EAAE,wCAAwC,CAAC;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,sCAAsC,CAAC;IACpD,eAAe,EAAE,0CAA0C,CAAC;IAC5D,eAAe,EAAE,kCAAkC,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,kCAAkC,CAAC;IACrD,0BAA0B,EAAE,KAAK,CAAC;CAClC;AAED,MAAM,WAAW,wCAAwC;IACxD,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,sCAAsC,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yCAChB,SAAQ,gBAAgB;IACxB,cAAc,EAAE,gDAAgD,CAAC;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,iBAAiB,CAAC,EAAE,kCAAkC,CAAC;IACvD,gBAAgB,EAAE,kCAAkC,CAAC;IACrD,0BAA0B,EAAE,KAAK,CAAC;IAClC,oBAAoB,EAAE,KAAK,CAAC;IAC5B,gBAAgB,EAAE,KAAK,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC;IACpB,gBAAgB,EAAE,KAAK,CAAC;CACxB;AAgCD,wBAAgB,0CAA0C,CACzD,KAAK,EAAE,OAAO,EACd,kBAAkB,CAAC,EAAE,MAAM,GACzB,gBAAgB,CAiJlB;AAED,wBAAgB,yCAAyC,CACxD,KAAK,EAAE,wCAAwC,GAC7C,yCAAyC,CA6F3C"}
@@ -0,0 +1,226 @@
1
+ import { invalid, valid, validateConcreteProviderQualifiedModelId, validateNoForbiddenRawPayloads, validateOpaqueId, validateOpaqueRef, } from "./validators.js";
2
+ export const FLOWDESK_PRODUCTION_APPROVAL_ACTION_TYPES = [
3
+ "managed_dispatch_beta",
4
+ "active_profile_mutation",
5
+ "external_write",
6
+ "lane_launch",
7
+ "reviewer_fanout",
8
+ "fallback_reselection",
9
+ ];
10
+ export const FLOWDESK_PRODUCTION_APPROVAL_METHODS = [
11
+ "typed_phrase",
12
+ "signed_intent",
13
+ ];
14
+ export const FLOWDESK_PRODUCTION_APPROVAL_ISSUER_BOUNDARIES = [
15
+ "external_user_confirmation",
16
+ "external_signed_intent",
17
+ ];
18
+ const disabledApprovalAuthority = {
19
+ dispatch_authority_enabled: false,
20
+ realOpenCodeDispatch: false,
21
+ actualLaneLaunch: false,
22
+ providerCall: false,
23
+ runtimeExecution: false,
24
+ };
25
+ function isRecord(value) {
26
+ return typeof value === "object" && value !== null && !Array.isArray(value);
27
+ }
28
+ function isEnum(value, allowed) {
29
+ return typeof value === "string" && allowed.includes(value);
30
+ }
31
+ function validateTimestamp(value, label) {
32
+ return typeof value === "string" && Number.isFinite(Date.parse(value))
33
+ ? valid()
34
+ : invalid(`${label} must be a parseable timestamp`);
35
+ }
36
+ function validateHashRef(value, label) {
37
+ const ref = validateOpaqueRef(value, label);
38
+ if (!ref.ok)
39
+ return ref;
40
+ return typeof value === "string" && /^(hash-|sha256-)/.test(value)
41
+ ? valid()
42
+ : invalid(`${label} must be a hash-bound opaque ref`);
43
+ }
44
+ export function validateFlowDeskProductionApprovalSourceV1(value, expectedWorkflowId) {
45
+ if (!isRecord(value))
46
+ return invalid("production approval source must be an object");
47
+ const record = value;
48
+ const errors = [];
49
+ const allowed = new Set([
50
+ "schema_version",
51
+ "approval_id",
52
+ "workflow_id",
53
+ "attempt_id",
54
+ "action_type",
55
+ "issuer_boundary",
56
+ "approval_method",
57
+ "actor_ref",
58
+ "profile_ref",
59
+ "provider_qualified_model_id",
60
+ "provider_binding_hash",
61
+ "evidence_bundle_hash",
62
+ "guard_decision_ref",
63
+ "issuance_audit_ref",
64
+ "nonce_ref",
65
+ "issued_at",
66
+ "expires_at",
67
+ "revoked",
68
+ "consumed_at",
69
+ "consumed_by_attempt_id",
70
+ "consumption_audit_ref",
71
+ "consume_strategy",
72
+ "dispatch_authority_enabled",
73
+ ]);
74
+ for (const key of Object.keys(record))
75
+ if (!allowed.has(key))
76
+ errors.push(`unknown properties: ${key}`);
77
+ if (record.schema_version !== "flowdesk.production_approval_source.v1")
78
+ errors.push("approval source schema_version is invalid");
79
+ errors.push(...validateOpaqueId(record.approval_id, "approval_id").errors);
80
+ errors.push(...validateOpaqueId(record.workflow_id, "workflow_id").errors);
81
+ if (expectedWorkflowId !== undefined && record.workflow_id !== expectedWorkflowId)
82
+ errors.push("approval source workflow_id mismatch");
83
+ errors.push(...validateOpaqueId(record.attempt_id, "attempt_id").errors);
84
+ if (!isEnum(record.action_type, FLOWDESK_PRODUCTION_APPROVAL_ACTION_TYPES))
85
+ errors.push("approval source action_type is invalid");
86
+ if (!isEnum(record.issuer_boundary, FLOWDESK_PRODUCTION_APPROVAL_ISSUER_BOUNDARIES))
87
+ errors.push("approval source issuer_boundary is invalid");
88
+ if (!isEnum(record.approval_method, FLOWDESK_PRODUCTION_APPROVAL_METHODS))
89
+ errors.push("approval source approval_method is invalid");
90
+ if (record.approval_method === "typed_phrase" &&
91
+ record.issuer_boundary !== "external_user_confirmation")
92
+ errors.push("typed_phrase approvals require external_user_confirmation issuer boundary");
93
+ if (record.approval_method === "signed_intent" &&
94
+ record.issuer_boundary !== "external_signed_intent")
95
+ errors.push("signed_intent approvals require external_signed_intent issuer boundary");
96
+ errors.push(...validateOpaqueRef(record.actor_ref, "actor_ref").errors);
97
+ errors.push(...validateOpaqueRef(record.profile_ref, "profile_ref").errors);
98
+ errors.push(...validateConcreteProviderQualifiedModelId(record.provider_qualified_model_id).errors);
99
+ errors.push(...validateHashRef(record.provider_binding_hash, "provider_binding_hash")
100
+ .errors);
101
+ errors.push(...validateHashRef(record.evidence_bundle_hash, "evidence_bundle_hash")
102
+ .errors);
103
+ errors.push(...validateOpaqueRef(record.guard_decision_ref, "guard_decision_ref").errors);
104
+ errors.push(...validateOpaqueRef(record.issuance_audit_ref, "issuance_audit_ref").errors);
105
+ errors.push(...validateOpaqueRef(record.nonce_ref, "nonce_ref").errors);
106
+ errors.push(...validateTimestamp(record.issued_at, "issued_at").errors);
107
+ errors.push(...validateTimestamp(record.expires_at, "expires_at").errors);
108
+ if (typeof record.issued_at === "string" &&
109
+ typeof record.expires_at === "string" &&
110
+ Number.isFinite(Date.parse(record.issued_at)) &&
111
+ Number.isFinite(Date.parse(record.expires_at)) &&
112
+ Date.parse(record.expires_at) <= Date.parse(record.issued_at))
113
+ errors.push("approval source expires_at must be after issued_at");
114
+ if (typeof record.revoked !== "boolean")
115
+ errors.push("approval source revoked must be boolean");
116
+ if (record.consumed_at !== undefined)
117
+ errors.push(...validateTimestamp(record.consumed_at, "consumed_at").errors);
118
+ if (record.consumed_by_attempt_id !== undefined)
119
+ errors.push(...validateOpaqueId(record.consumed_by_attempt_id, "consumed_by_attempt_id").errors);
120
+ if (record.consumption_audit_ref !== undefined)
121
+ errors.push(...validateOpaqueRef(record.consumption_audit_ref, "consumption_audit_ref")
122
+ .errors);
123
+ if (record.consumed_by_attempt_id !== undefined &&
124
+ record.attempt_id !== undefined &&
125
+ record.consumed_by_attempt_id !== record.attempt_id)
126
+ errors.push("approval source consumed_by_attempt_id must match attempt_id");
127
+ if (record.consumption_audit_ref !== undefined &&
128
+ record.consumption_audit_ref === record.issuance_audit_ref)
129
+ errors.push("approval source consumption audit must differ from issuance audit");
130
+ if (typeof record.issued_at === "string" &&
131
+ typeof record.consumed_at === "string" &&
132
+ Number.isFinite(Date.parse(record.issued_at)) &&
133
+ Number.isFinite(Date.parse(record.consumed_at)) &&
134
+ Date.parse(record.consumed_at) <= Date.parse(record.issued_at))
135
+ errors.push("approval source consumed_at must be after issued_at");
136
+ const hasAnyConsumption = record.consumed_at !== undefined ||
137
+ record.consumed_by_attempt_id !== undefined ||
138
+ record.consumption_audit_ref !== undefined;
139
+ const hasAllConsumption = record.consumed_at !== undefined &&
140
+ record.consumed_by_attempt_id !== undefined &&
141
+ record.consumption_audit_ref !== undefined;
142
+ if (hasAnyConsumption && !hasAllConsumption)
143
+ errors.push("approval source consumption fields must be complete");
144
+ if (record.consume_strategy !== "atomic_compare_and_swap_required")
145
+ errors.push("approval source consume_strategy is invalid");
146
+ if (record.dispatch_authority_enabled !== false)
147
+ errors.push("approval source cannot enable dispatch authority");
148
+ errors.push(...validateNoForbiddenRawPayloads(record, "production_approval_source")
149
+ .errors);
150
+ return errors.length === 0 ? valid() : invalid(...errors);
151
+ }
152
+ export function consumeFlowDeskProductionApprovalSourceV1(input) {
153
+ const errors = [];
154
+ const approvalResult = validateFlowDeskProductionApprovalSourceV1(input.approval, input.workflowId);
155
+ errors.push(...approvalResult.errors);
156
+ errors.push(...validateOpaqueId(input.workflowId, "workflow_id").errors);
157
+ errors.push(...validateOpaqueId(input.attemptId, "attempt_id").errors);
158
+ errors.push(...validateOpaqueRef(input.actorRef, "actor_ref").errors);
159
+ errors.push(...validateOpaqueRef(input.profileRef, "profile_ref").errors);
160
+ errors.push(...validateConcreteProviderQualifiedModelId(input.providerQualifiedModelId).errors);
161
+ errors.push(...validateHashRef(input.providerBindingHash, "provider_binding_hash")
162
+ .errors);
163
+ errors.push(...validateHashRef(input.evidenceBundleHash, "evidence_bundle_hash").errors);
164
+ errors.push(...validateOpaqueRef(input.guardDecisionRef, "guard_decision_ref").errors);
165
+ errors.push(...validateOpaqueRef(input.consumptionAuditRef, "consumption_audit_ref")
166
+ .errors);
167
+ errors.push(...validateTimestamp(input.consumedAt, "consumed_at").errors);
168
+ if (!isEnum(input.actionType, FLOWDESK_PRODUCTION_APPROVAL_ACTION_TYPES))
169
+ errors.push("approval consume action_type is invalid");
170
+ if (input.approval.consumed_at !== undefined)
171
+ errors.push("approval source already consumed");
172
+ if (input.approval.revoked)
173
+ errors.push("approval source is revoked");
174
+ if (input.approval.attempt_id !== input.attemptId)
175
+ errors.push("approval source attempt_id mismatch");
176
+ if (input.approval.action_type !== input.actionType)
177
+ errors.push("approval source action_type mismatch");
178
+ if (input.approval.actor_ref !== input.actorRef)
179
+ errors.push("approval source actor_ref mismatch");
180
+ if (input.approval.profile_ref !== input.profileRef)
181
+ errors.push("approval source profile_ref mismatch");
182
+ if (input.approval.provider_qualified_model_id !== input.providerQualifiedModelId)
183
+ errors.push("approval source model binding mismatch");
184
+ if (input.approval.provider_binding_hash !== input.providerBindingHash)
185
+ errors.push("approval source provider binding hash mismatch");
186
+ if (input.approval.evidence_bundle_hash !== input.evidenceBundleHash)
187
+ errors.push("approval source evidence bundle hash mismatch");
188
+ if (input.approval.guard_decision_ref !== input.guardDecisionRef)
189
+ errors.push("approval source guard decision mismatch");
190
+ if (Number.isFinite(Date.parse(input.consumedAt)) &&
191
+ Number.isFinite(Date.parse(input.approval.issued_at)) &&
192
+ Date.parse(input.consumedAt) <= Date.parse(input.approval.issued_at))
193
+ errors.push("approval source consumed_at must be after issued_at");
194
+ if (input.consumptionAuditRef === input.approval.issuance_audit_ref)
195
+ errors.push("approval source consumption audit must differ from issuance audit");
196
+ if (Number.isFinite(Date.parse(input.consumedAt)) &&
197
+ Number.isFinite(Date.parse(input.approval.expires_at)) &&
198
+ Date.parse(input.consumedAt) >= Date.parse(input.approval.expires_at))
199
+ errors.push("approval source is expired");
200
+ if (errors.length > 0)
201
+ return {
202
+ schema_version: "flowdesk.production_approval_consume_result.v1",
203
+ approval_id: input.approval.approval_id,
204
+ ok: false,
205
+ errors,
206
+ state: "blocked",
207
+ consume_strategy: "atomic_compare_and_swap_required",
208
+ ...disabledApprovalAuthority,
209
+ };
210
+ return {
211
+ schema_version: "flowdesk.production_approval_consume_result.v1",
212
+ approval_id: input.approval.approval_id,
213
+ ok: true,
214
+ errors: [],
215
+ state: "consumed",
216
+ consumed_approval: {
217
+ ...input.approval,
218
+ consumed_at: input.consumedAt,
219
+ consumed_by_attempt_id: input.attemptId,
220
+ consumption_audit_ref: input.consumptionAuditRef,
221
+ },
222
+ consume_strategy: "atomic_compare_and_swap_required",
223
+ ...disabledApprovalAuthority,
224
+ };
225
+ }
226
+ //# sourceMappingURL=production-approval-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production-approval-source.js","sourceRoot":"","sources":["../src/production-approval-source.ts"],"names":[],"mappings":"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"}