@pegma/support-desk-application 0.1.0 → 0.2.0

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 (86) hide show
  1. package/README.md +228 -7
  2. package/dist/assistant-turn-capacity.d.ts +13 -0
  3. package/dist/assistant-turn-capacity.d.ts.map +1 -0
  4. package/dist/assistant-turn-capacity.js +111 -0
  5. package/dist/assistant-turn-capacity.js.map +1 -0
  6. package/dist/assistant-turn-records.d.ts +68 -0
  7. package/dist/assistant-turn-records.d.ts.map +1 -0
  8. package/dist/assistant-turn-records.js +418 -0
  9. package/dist/assistant-turn-records.js.map +1 -0
  10. package/dist/assistant-turn-types.d.ts +133 -0
  11. package/dist/assistant-turn-types.d.ts.map +1 -0
  12. package/dist/assistant-turn-types.js +2 -0
  13. package/dist/assistant-turn-types.js.map +1 -0
  14. package/dist/assistant-turns.d.ts +42 -0
  15. package/dist/assistant-turns.d.ts.map +1 -0
  16. package/dist/assistant-turns.js +640 -0
  17. package/dist/assistant-turns.js.map +1 -0
  18. package/dist/engineering-evidence.d.ts +20 -0
  19. package/dist/engineering-evidence.d.ts.map +1 -0
  20. package/dist/engineering-evidence.js +899 -0
  21. package/dist/engineering-evidence.js.map +1 -0
  22. package/dist/engineering-followup-internal.d.ts +45 -0
  23. package/dist/engineering-followup-internal.d.ts.map +1 -0
  24. package/dist/engineering-followup-internal.js +2 -0
  25. package/dist/engineering-followup-internal.js.map +1 -0
  26. package/dist/engineering-followup-records.d.ts +209 -0
  27. package/dist/engineering-followup-records.d.ts.map +1 -0
  28. package/dist/engineering-followup-records.js +1434 -0
  29. package/dist/engineering-followup-records.js.map +1 -0
  30. package/dist/engineering-followup-source.d.ts +168 -0
  31. package/dist/engineering-followup-source.d.ts.map +1 -0
  32. package/dist/engineering-followup-source.js +1144 -0
  33. package/dist/engineering-followup-source.js.map +1 -0
  34. package/dist/engineering-followup-types.d.ts +364 -0
  35. package/dist/engineering-followup-types.d.ts.map +1 -0
  36. package/dist/engineering-followup-types.js +2 -0
  37. package/dist/engineering-followup-types.js.map +1 -0
  38. package/dist/engineering-followup-work.d.ts +70 -0
  39. package/dist/engineering-followup-work.d.ts.map +1 -0
  40. package/dist/engineering-followup-work.js +1153 -0
  41. package/dist/engineering-followup-work.js.map +1 -0
  42. package/dist/engineering-internal.d.ts +38 -0
  43. package/dist/engineering-internal.d.ts.map +1 -0
  44. package/dist/engineering-internal.js +11 -0
  45. package/dist/engineering-internal.js.map +1 -0
  46. package/dist/engineering-policy.d.ts +47 -0
  47. package/dist/engineering-policy.d.ts.map +1 -0
  48. package/dist/engineering-policy.js +579 -0
  49. package/dist/engineering-policy.js.map +1 -0
  50. package/dist/engineering-reconciliation.d.ts +6 -0
  51. package/dist/engineering-reconciliation.d.ts.map +1 -0
  52. package/dist/engineering-reconciliation.js +464 -0
  53. package/dist/engineering-reconciliation.js.map +1 -0
  54. package/dist/engineering-records.d.ts +227 -0
  55. package/dist/engineering-records.d.ts.map +1 -0
  56. package/dist/engineering-records.js +1272 -0
  57. package/dist/engineering-records.js.map +1 -0
  58. package/dist/engineering-types.d.ts +505 -0
  59. package/dist/engineering-types.d.ts.map +1 -0
  60. package/dist/engineering-types.js +2 -0
  61. package/dist/engineering-types.js.map +1 -0
  62. package/dist/engineering-work.d.ts +32 -0
  63. package/dist/engineering-work.d.ts.map +1 -0
  64. package/dist/engineering-work.js +1757 -0
  65. package/dist/engineering-work.js.map +1 -0
  66. package/dist/index.d.ts +609 -14
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +3568 -204
  69. package/dist/index.js.map +1 -1
  70. package/dist/resolution-learning-records.d.ts +154 -0
  71. package/dist/resolution-learning-records.d.ts.map +1 -0
  72. package/dist/resolution-learning-records.js +657 -0
  73. package/dist/resolution-learning-records.js.map +1 -0
  74. package/dist/resolution-learning-types.d.ts +356 -0
  75. package/dist/resolution-learning-types.d.ts.map +1 -0
  76. package/dist/resolution-learning-types.js +2 -0
  77. package/dist/resolution-learning-types.js.map +1 -0
  78. package/dist/resolution-learning-worker.d.ts +21 -0
  79. package/dist/resolution-learning-worker.d.ts.map +1 -0
  80. package/dist/resolution-learning-worker.js +1027 -0
  81. package/dist/resolution-learning-worker.js.map +1 -0
  82. package/dist/resolution-learning.d.ts +38 -0
  83. package/dist/resolution-learning.d.ts.map +1 -0
  84. package/dist/resolution-learning.js +860 -0
  85. package/dist/resolution-learning.js.map +1 -0
  86. package/package.json +8 -8
@@ -0,0 +1,154 @@
1
+ import type { IsoTimestamp } from "@pegma/spine";
2
+ import type { EntityKey } from "@pegma/storage-core";
3
+ import type { ResolutionEvidence, ResolutionLearningCandidate, ResolutionLearningClaimFence, ResolutionLearningDeliveryRequest, ResolutionLearningModelBinding, ResolutionLearningOptions, ResolutionLearningProcessing, ResolutionLearningSourceReference, ResolutionLearningTarget, ResolutionProductContext } from "./resolution-learning-types.js";
4
+ export interface ResolutionLearningDestination {
5
+ readonly articleId: string;
6
+ readonly sourceGeneration: number;
7
+ readonly stepId: string;
8
+ readonly requestHash: string;
9
+ readonly acceptance: "unknown" | "accepted";
10
+ readonly reconciliation: "pending" | "blocked" | "confirmed";
11
+ readonly lastReconciliation?: {
12
+ readonly fingerprint: string;
13
+ readonly disposition: "blocked" | "retired" | "unaffected_publication" | "write_rejected";
14
+ readonly observedAt: string;
15
+ readonly proof?: {
16
+ readonly kind: "terminal_receipt" | "revision_fence" | "trusted_cancellation";
17
+ readonly binding: string;
18
+ };
19
+ };
20
+ }
21
+ export interface ResolutionLearningReview {
22
+ readonly sourceGeneration: number;
23
+ readonly sourceBindingHash: string;
24
+ readonly target: ResolutionLearningTarget;
25
+ readonly decision: "approve" | "reject";
26
+ readonly policyVersion: string;
27
+ readonly reviewerId: string;
28
+ readonly reviewedAt: IsoTimestamp;
29
+ readonly reason?: string;
30
+ }
31
+ export interface ResolutionLearningReviewRecord extends ResolutionLearningReview {
32
+ readonly kind: "resolution_learning_review";
33
+ readonly partition: string;
34
+ readonly id: string;
35
+ readonly ticketId: string;
36
+ }
37
+ export interface ResolutionLearningSourceRecord {
38
+ readonly kind: "resolution_learning_source";
39
+ readonly partition: string;
40
+ readonly id: "learning-source";
41
+ readonly ticketId: string;
42
+ readonly sourceId: string;
43
+ readonly resolutionCycle: number;
44
+ readonly sourceGeneration: number;
45
+ readonly workGeneration: number;
46
+ readonly generationCount: number;
47
+ readonly reviewBindingCount: number;
48
+ readonly state: "unverified" | "eligible" | "held" | "withdrawn";
49
+ readonly createdAt: IsoTimestamp;
50
+ readonly updatedAt: IsoTimestamp;
51
+ readonly heldReason?: string;
52
+ readonly resolvedAt?: IsoTimestamp;
53
+ readonly acceptedTicketRevision?: number;
54
+ readonly proofIdentity?: string;
55
+ readonly sourceBindingHash?: string;
56
+ readonly evidenceFingerprint?: string;
57
+ readonly productContextFingerprint?: string;
58
+ readonly evidence?: ResolutionEvidence;
59
+ readonly product?: ResolutionProductContext;
60
+ readonly pendingProofReference?: string;
61
+ readonly destinations: readonly ResolutionLearningDestination[];
62
+ readonly reconciliationPending: boolean;
63
+ }
64
+ export interface ResolutionLearningAttempt {
65
+ readonly preparedClaimGeneration: number;
66
+ readonly stepId: string;
67
+ readonly requestHash: string;
68
+ readonly binding: ResolutionLearningModelBinding;
69
+ readonly accounting: "not_called" | "accounted" | "unknown";
70
+ readonly processing?: ResolutionLearningProcessing;
71
+ }
72
+ export interface ResolutionLearningWorkRecord {
73
+ readonly kind: "resolution_learning_work";
74
+ readonly partition: string;
75
+ readonly id: string;
76
+ readonly ticketId: string;
77
+ readonly sourceGeneration: number;
78
+ readonly resolutionCycle: number;
79
+ readonly sourceBindingHash: string;
80
+ readonly workGeneration: number;
81
+ readonly acceptedTicketRevision: number;
82
+ readonly workingSolutionMessageIds: readonly string[];
83
+ readonly createdAt: IsoTimestamp;
84
+ readonly deadline: IsoTimestamp;
85
+ readonly evidence?: ResolutionEvidence;
86
+ readonly product?: ResolutionProductContext;
87
+ readonly status: "pending" | "claimed" | "retry" | "candidate" | "prepared" | "completed" | "held" | "unknown" | "superseded";
88
+ readonly stage: "model" | "kb_delivery";
89
+ readonly modelAttempts: readonly ResolutionLearningAttempt[];
90
+ readonly claimGeneration: number;
91
+ readonly claim?: ResolutionLearningClaimFence;
92
+ readonly leaseUntil?: IsoTimestamp;
93
+ readonly retryAt?: IsoTimestamp;
94
+ readonly stepId?: string;
95
+ readonly requestHash?: string;
96
+ readonly candidate?: ResolutionLearningCandidate;
97
+ readonly candidateHash?: string;
98
+ readonly exactRequest?: ResolutionLearningDeliveryRequest;
99
+ readonly withdrawnRequest?: Omit<ResolutionLearningDeliveryRequest, "draftPayload">;
100
+ readonly usageTombstones?: readonly {
101
+ readonly stepId: string;
102
+ readonly requestHash: string;
103
+ readonly usageReservationId: string;
104
+ readonly accounting: "not_called" | "accounted" | "unknown";
105
+ }[];
106
+ readonly verifiedCheckReceipt?: string;
107
+ readonly checkPolicyVersion?: string;
108
+ readonly targetDecisionHash?: string;
109
+ readonly acknowledgement?: {
110
+ readonly id: string;
111
+ readonly generation: number;
112
+ readonly articleRevision: number;
113
+ readonly contentHash: string;
114
+ readonly state: string;
115
+ };
116
+ readonly target?: ResolutionLearningTarget;
117
+ readonly heldReason?: string;
118
+ readonly lastCompletion?: {
119
+ readonly fingerprint: string;
120
+ };
121
+ readonly lastFinish?: {
122
+ readonly fingerprint: string;
123
+ };
124
+ }
125
+ export interface ResolvedResolutionLearningOptions {
126
+ readonly enabled: boolean;
127
+ readonly productContext?: ResolutionLearningOptions["productContext"];
128
+ readonly testReceipts?: ResolutionLearningOptions["testReceipts"];
129
+ readonly checks?: ResolutionLearningOptions["checks"];
130
+ readonly trustTimeoutMilliseconds: number;
131
+ readonly maxGenerations: number;
132
+ readonly maxTargets: number;
133
+ readonly maxReviewBindings: number;
134
+ readonly maxModelAttempts: number;
135
+ readonly maxLeaseMilliseconds: number;
136
+ readonly maxWorkMilliseconds: number;
137
+ }
138
+ export declare const resolutionLearningRecordBytes = 60000;
139
+ export declare const resolutionLearningCandidateBytes = 16000;
140
+ export declare function maximumResolutionLearningSourceBytes(source: ResolutionLearningSourceRecord): number;
141
+ export declare function safeLearningSnapshot<T>(value: T): T;
142
+ export declare const resolutionLearningSourceKey: (ticketId: string) => EntityKey;
143
+ export declare const resolutionLearningWorkKey: (ticketId: string, generation: number) => EntityKey;
144
+ export declare function resolutionLearningReviewKey(source: ResolutionLearningSourceRecord, target: ResolutionLearningTarget, policyVersion: string): Promise<EntityKey>;
145
+ export declare function resolveResolutionLearningOptions(input: ResolutionLearningOptions | undefined): ResolvedResolutionLearningOptions;
146
+ export declare function validateResolutionProduct(value: unknown): asserts value is ResolutionProductContext;
147
+ export declare function validateResolutionEvidence(value: unknown): asserts value is ResolutionEvidence;
148
+ export declare function validateResolutionCandidate(value: unknown): asserts value is ResolutionLearningCandidate;
149
+ export declare function validateResolutionReferences(value: unknown): asserts value is readonly ResolutionLearningSourceReference[];
150
+ export declare function validateResolutionRequest(value: unknown): asserts value is ResolutionLearningDeliveryRequest;
151
+ export declare function validateResolutionTarget(value: unknown): asserts value is ResolutionLearningTarget;
152
+ /** Decoding checks the physical envelope as strictly as writes. */
153
+ export declare function assertResolutionLearningRecord(value: unknown, key: EntityKey): asserts value is ResolutionLearningSourceRecord | ResolutionLearningWorkRecord | ResolutionLearningReviewRecord;
154
+ //# sourceMappingURL=resolution-learning-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolution-learning-records.d.ts","sourceRoot":"","sources":["../src/resolution-learning-records.ts"],"names":[],"mappings":"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"}