@mj-biz-apps/sales-core-entities-server 5.1.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 (106) hide show
  1. package/LICENSE +183 -0
  2. package/dist/CloseDealOperation.d.ts +176 -0
  3. package/dist/CloseDealOperation.d.ts.map +1 -0
  4. package/dist/CloseDealOperation.js +1107 -0
  5. package/dist/CloseDealOperation.js.map +1 -0
  6. package/dist/CloseWonTaskService.d.ts +249 -0
  7. package/dist/CloseWonTaskService.d.ts.map +1 -0
  8. package/dist/CloseWonTaskService.js +460 -0
  9. package/dist/CloseWonTaskService.js.map +1 -0
  10. package/dist/DealEntityServer.d.ts +625 -0
  11. package/dist/DealEntityServer.d.ts.map +1 -0
  12. package/dist/DealEntityServer.js +1529 -0
  13. package/dist/DealEntityServer.js.map +1 -0
  14. package/dist/LiveContractsSeam.d.ts +212 -0
  15. package/dist/LiveContractsSeam.d.ts.map +1 -0
  16. package/dist/LiveContractsSeam.js +362 -0
  17. package/dist/LiveContractsSeam.js.map +1 -0
  18. package/dist/LiveOrdersSeam.d.ts +68 -0
  19. package/dist/LiveOrdersSeam.d.ts.map +1 -0
  20. package/dist/LiveOrdersSeam.js +80 -0
  21. package/dist/LiveOrdersSeam.js.map +1 -0
  22. package/dist/SaveDealOperation.d.ts +45 -0
  23. package/dist/SaveDealOperation.d.ts.map +1 -0
  24. package/dist/SaveDealOperation.js +268 -0
  25. package/dist/SaveDealOperation.js.map +1 -0
  26. package/dist/SequenceService.d.ts +39 -0
  27. package/dist/SequenceService.d.ts.map +1 -0
  28. package/dist/SequenceService.js +44 -0
  29. package/dist/SequenceService.js.map +1 -0
  30. package/dist/activities/ActivityIngestService.d.ts +111 -0
  31. package/dist/activities/ActivityIngestService.d.ts.map +1 -0
  32. package/dist/activities/ActivityIngestService.js +485 -0
  33. package/dist/activities/ActivityIngestService.js.map +1 -0
  34. package/dist/activities/ActivityReader.d.ts +68 -0
  35. package/dist/activities/ActivityReader.d.ts.map +1 -0
  36. package/dist/activities/ActivityReader.js +147 -0
  37. package/dist/activities/ActivityReader.js.map +1 -0
  38. package/dist/activities/ActivitySource.d.ts +142 -0
  39. package/dist/activities/ActivitySource.d.ts.map +1 -0
  40. package/dist/activities/ActivitySource.js +2 -0
  41. package/dist/activities/ActivitySource.js.map +1 -0
  42. package/dist/activities/ActivitySyncJob.d.ts +72 -0
  43. package/dist/activities/ActivitySyncJob.d.ts.map +1 -0
  44. package/dist/activities/ActivitySyncJob.js +146 -0
  45. package/dist/activities/ActivitySyncJob.js.map +1 -0
  46. package/dist/activities/ActivityWriterService.d.ts +119 -0
  47. package/dist/activities/ActivityWriterService.d.ts.map +1 -0
  48. package/dist/activities/ActivityWriterService.js +270 -0
  49. package/dist/activities/ActivityWriterService.js.map +1 -0
  50. package/dist/activities/DealMatcher.d.ts +58 -0
  51. package/dist/activities/DealMatcher.d.ts.map +1 -0
  52. package/dist/activities/DealMatcher.js +109 -0
  53. package/dist/activities/DealMatcher.js.map +1 -0
  54. package/dist/activities/FixtureActivitySource.d.ts +37 -0
  55. package/dist/activities/FixtureActivitySource.d.ts.map +1 -0
  56. package/dist/activities/FixtureActivitySource.js +58 -0
  57. package/dist/activities/FixtureActivitySource.js.map +1 -0
  58. package/dist/activities/GraphMessageMapper.d.ts +47 -0
  59. package/dist/activities/GraphMessageMapper.d.ts.map +1 -0
  60. package/dist/activities/GraphMessageMapper.js +141 -0
  61. package/dist/activities/GraphMessageMapper.js.map +1 -0
  62. package/dist/activities/ImportedGraphActivitySource.d.ts +16 -0
  63. package/dist/activities/ImportedGraphActivitySource.d.ts.map +1 -0
  64. package/dist/activities/ImportedGraphActivitySource.js +84 -0
  65. package/dist/activities/ImportedGraphActivitySource.js.map +1 -0
  66. package/dist/activities/MSGraphActivitySource.d.ts +67 -0
  67. package/dist/activities/MSGraphActivitySource.d.ts.map +1 -0
  68. package/dist/activities/MSGraphActivitySource.js +186 -0
  69. package/dist/activities/MSGraphActivitySource.js.map +1 -0
  70. package/dist/activities/MSGraphCalendarSource.d.ts +72 -0
  71. package/dist/activities/MSGraphCalendarSource.d.ts.map +1 -0
  72. package/dist/activities/MSGraphCalendarSource.js +225 -0
  73. package/dist/activities/MSGraphCalendarSource.js.map +1 -0
  74. package/dist/activities/RelevanceFilter.d.ts +101 -0
  75. package/dist/activities/RelevanceFilter.d.ts.map +1 -0
  76. package/dist/activities/RelevanceFilter.js +148 -0
  77. package/dist/activities/RelevanceFilter.js.map +1 -0
  78. package/dist/activities/activity-vocabulary.d.ts +103 -0
  79. package/dist/activities/activity-vocabulary.d.ts.map +1 -0
  80. package/dist/activities/activity-vocabulary.js +79 -0
  81. package/dist/activities/activity-vocabulary.js.map +1 -0
  82. package/dist/forecast/FixtureForecastSource.d.ts +22 -0
  83. package/dist/forecast/FixtureForecastSource.d.ts.map +1 -0
  84. package/dist/forecast/FixtureForecastSource.js +16 -0
  85. package/dist/forecast/FixtureForecastSource.js.map +1 -0
  86. package/dist/forecast/ForecastSnapshotJob.d.ts +78 -0
  87. package/dist/forecast/ForecastSnapshotJob.d.ts.map +1 -0
  88. package/dist/forecast/ForecastSnapshotJob.js +225 -0
  89. package/dist/forecast/ForecastSnapshotJob.js.map +1 -0
  90. package/dist/forecast/ForecastSource.d.ts +74 -0
  91. package/dist/forecast/ForecastSource.d.ts.map +1 -0
  92. package/dist/forecast/ForecastSource.js +25 -0
  93. package/dist/forecast/ForecastSource.js.map +1 -0
  94. package/dist/forecast/QueryForecastSource.d.ts +76 -0
  95. package/dist/forecast/QueryForecastSource.d.ts.map +1 -0
  96. package/dist/forecast/QueryForecastSource.js +164 -0
  97. package/dist/forecast/QueryForecastSource.js.map +1 -0
  98. package/dist/index.d.ts +117 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +125 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/orders-availability.d.ts +15 -0
  103. package/dist/orders-availability.d.ts.map +1 -0
  104. package/dist/orders-availability.js +47 -0
  105. package/dist/orders-availability.js.map +1 -0
  106. package/package.json +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DealEntityServer.js","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * @fileoverview The REAL contracts handoff — what `StubDownstreamSeam` stood in for on the D-CF4 path.
3
+ *
4
+ * ── WHY THIS NO LONGER CALLS AN OPERATION ───────────────────────────────────────────────────────
5
+ *
6
+ * The previous version of this file dispatched `Contracts.SaveContract` through the ClassFactory, and
7
+ * explained at length why calling contracts' operation beat driving its entity graph. That reasoning
8
+ * was sound about a version of contracts that no longer exists.
9
+ *
10
+ * Contracts was rebuilt from scratch on 2026-08-18 — ten tables became seven — and `SaveContract` was
11
+ * DELETED along with `ContractDraft` and the whole hydration layer. Verified against `origin/next`
12
+ * (`d2f64e3`): contracts ships **no remote operations at all**. So the old seam dispatched a key that
13
+ * nothing registers, and `run()` returned "…is not registered in this process" every single time.
14
+ *
15
+ * That is worth stating plainly because it explains a longer-running puzzle: this path could never be
16
+ * proven end to end, and the failure was repeatedly read as a stack-configuration problem — contracts
17
+ * not linked, the operation not imported, registration order. It was none of those. The operation was
18
+ * gone, and a missing registration and a deleted class produce the identical symptom.
19
+ *
20
+ * ── WHAT REPLACES IT ────────────────────────────────────────────────────────────────────────────
21
+ *
22
+ * The plain entity path: `GetEntityObject` → set fields → `Save()`. This is now the SIMPLER option as
23
+ * well as the only one, because v2's contract is a HEADER. `ContractTerm` and `ContractLine` are gone
24
+ * entirely, so there is no composition left to re-implement — the concern that made the operation the
25
+ * right call in v1 no longer has anything to be concerned about.
26
+ *
27
+ * `ContractEntityServer.Save()` mints `ContractNumber` itself, from a sequence taken under a lock, so
28
+ * this never supplies one. It runs `ExecuteSQL` on the same provider, which means it joins whatever
29
+ * transaction `Sales.CloseDeal` already opened and a rollback releases the number rather than burning
30
+ * it. Contracts needs no `SkipRelatedCollections` dance either, unlike orders.
31
+ *
32
+ * ── THE MONEY BOUNDARY ──────────────────────────────────────────────────────────────────────────
33
+ *
34
+ * Nothing here multiplies, sums, rounds or converts. The one numeric that crosses — the negotiated
35
+ * annual uplift — is passed through in the units it was stated in; see `annualIncrease()` for why a
36
+ * unit conversion would be a computation and is therefore refused rather than guessed.
37
+ *
38
+ * @module @mj-biz-apps/sales-core-entities-server
39
+ */
40
+ import { type IMetadataProvider, type UserInfo } from '@memberjunction/core';
41
+ import type { ContractsCreateFromDealSeamInput, ContractsRenewTermSeamInput, ContractsSeamResult } from '@mj-biz-apps/sales-entities';
42
+ /**
43
+ * The seam input plus the one field the shared type does not carry yet.
44
+ *
45
+ * Declared here rather than added to `downstream-seams.ts` because nothing supplies a template today
46
+ * (see `templateID()`), so widening the shared contract would advertise a capability no caller has.
47
+ * Every added member is optional, so a plain `ContractsCreateFromDealSeamInput` still satisfies this
48
+ * and no caller changes.
49
+ */
50
+ type CreateFromDealInput = ContractsCreateFromDealSeamInput & {
51
+ ContractTemplateID?: string | null;
52
+ };
53
+ /**
54
+ * True when contracts is actually installed here.
55
+ *
56
+ * Checked against METADATA rather than by catching an error, for the same reason `OrdersIsInstalled`
57
+ * is: asking for an unregistered entity does not fail cleanly. Sales runs standalone by design, so
58
+ * contracts being absent is a supported state, not a fault.
59
+ */
60
+ export declare function ContractsIsInstalled(): boolean;
61
+ export declare class LiveContractsSeam {
62
+ private readonly user;
63
+ private readonly provider;
64
+ readonly IsLive = true;
65
+ constructor(user: UserInfo, provider: IMetadataProvider);
66
+ /**
67
+ * Create the agreement a won deal earned.
68
+ *
69
+ * ── WHAT IS DELIBERATELY NOT SET, AND WHY EACH ABSENCE IS THE POINT ─────────────────────────
70
+ *
71
+ * **No `Status`.** v2's contract has no status column at all; its lifecycle is DERIVED from the
72
+ * dates. The old seam sent `'Draft'`, which is now simply not a field.
73
+ *
74
+ * **No `EffectiveDate`.** This is the one that would do real damage. With lifecycle derived from
75
+ * dates, stamping an effective date makes the contract read as ACTIVE the moment it is created —
76
+ * so every contract auto-created at Closed Won would announce itself as live and in force before
77
+ * a human had read the paper. §7.2 wants precisely the opposite: nothing fires until someone
78
+ * approves. A contract with no dates is one that has not started, which is the truth.
79
+ *
80
+ * **No `ExecutedDate`.** Sales does not know whether anything was signed. `Deal.ExecutionDate` is
81
+ * when the DEAL was executed, and reading it as "the document is executed" would be a claim about
82
+ * paper nobody has seen — the same misreport as `EffectiveDate`, one field over.
83
+ *
84
+ * **No `ContractNumber`.** Minted by `ContractEntityServer.Save()` under a lock. Supplying one
85
+ * would either collide or bypass the sequence.
86
+ *
87
+ * **No `ContractTemplateID`.** Not merely unimplemented: contracts' own column description says a
88
+ * contract created automatically at Closed Won HAS none "until finance reads the PDF". Selection
89
+ * is honoured if a caller ever supplies one, and is not attempted here. See `templateID()`.
90
+ *
91
+ * **No `CustomerPersonID`, no `OwnerUserID`.** Neither column exists in v2, and
92
+ * `CK_Contract_CustomerXor` — the constraint the old seam bent itself around — is gone with them.
93
+ */
94
+ CreateContractFromDeal(input: CreateFromDealInput): Promise<ContractsSeamResult>;
95
+ /**
96
+ * Stamp contracts' polymorphic provenance pair with the deal that caused this.
97
+ *
98
+ * `CK_Contract_CreatingPairBothOrNeither` requires both or neither, so a deal whose entity cannot
99
+ * be resolved leaves BOTH null rather than half a reference. `IX_Contract_CreatingRecord` exists
100
+ * for the reverse lookup — "which contract came from this deal" — so this is the field that makes
101
+ * the handoff traceable in the direction a person actually asks about it.
102
+ */
103
+ private setProvenance;
104
+ /**
105
+ * The renewal terms the DEAL actually negotiated — and only those.
106
+ *
107
+ * ── THE OVERRIDE/DEFAULT SPLIT, WHICH IS LOAD-BEARING ──────────────────────────────────────
108
+ *
109
+ * Sales' columns are named `…Override` on purpose, and their own descriptions say why: NULL means
110
+ * "use the standard", which is a DIFFERENT FACT from "we negotiated a number that happens to equal
111
+ * today's standard". Only the NULL survives a later change to policy. So a null override is passed
112
+ * through as null and never filled in here.
113
+ *
114
+ * ── THE DEFAULTS THAT DO NOT EXIST YET ──────────────────────────────────────────────────────
115
+ *
116
+ * Sales' descriptions say the standards (5% uplift, 90 days' notice) are "owned by the contracts
117
+ * ContractType". As of `origin/next` @ `d2f64e3` **they are not**: `ContractType` carries only
118
+ * Name, Description, RequiresExecutedDocument, ParentStatusRequirement and Status. Nothing applies
119
+ * a default anywhere — `applyContractTypeDefaults()` went with the v1 rebuild.
120
+ *
121
+ * This seam therefore populates NOTHING it was not told, so that when the columns arrive the
122
+ * defaults land where they belong — in contracts, applied once, rather than being pre-empted here
123
+ * by a value sales invented. See D-9.
124
+ */
125
+ private setNegotiatedTerms;
126
+ /**
127
+ * The negotiated year-over-year uplift, PASSED THROUGH UNCONVERTED.
128
+ *
129
+ * -- WHY PASS-THROUGH IS RIGHT, WHICH IS NOT THE SAME AS THE TWO SIDES AGREEING --
130
+ *
131
+ * The reason is the OVERRIDE semantics, not a matching domain. Sales names this column
132
+ * `AnnualIncreasePctOverride` and its own description is explicit: NULL means use the standard,
133
+ * whose default lives on the contracts ContractType, and copying that default in at write time
134
+ * would freeze this year terms into next year renewals silently. So a stated number travels and a
135
+ * null stays a null. Nothing here converts, scales or substitutes, because each of those would be
136
+ * a computation and sales does not compute money or the rates that move it.
137
+ *
138
+ * -- AND THE TWO SCHEMAS DO NOT AGREE ON THE DOMAIN --
139
+ *
140
+ * Sales bounds this 0 to 100 (`CK_Deal_AnnualIncreasePctOverride`). Contracts bounds only `>= 0`
141
+ * (`CK_Contract_AnnualIncrease`) with no upper limit, at `DECIMAL(7,4)` against sales
142
+ * `DECIMAL(5,2)`. Both call it a percent and 5 means five per cent on both sides today, so the
143
+ * handoff is correct -- but the wider column will accept a value sales would have refused, and
144
+ * nothing on either side states the unit as a rule rather than as a habit.
145
+ *
146
+ * That is the same shape as the discount-unit trap recorded in `docs/DECISIONS.md`, where 0-100
147
+ * became 0-1 across a boundary and would have been a silent hundred-fold bug. It has not bitten
148
+ * here and it is not this file to settle: see D-14. Flagged rather than defended, because a
149
+ * conversion added on suspicion is exactly the computation this app must not perform.
150
+ */
151
+ private annualIncrease;
152
+ /**
153
+ * The template to incorporate, when a caller supplies one — and it is nobody's job to guess.
154
+ *
155
+ * Two independent reasons, either sufficient on its own:
156
+ *
157
+ * 1. Contracts says so. `ContractTemplateID` is "nullable because a contract created
158
+ * automatically at Closed Won has none until finance reads the PDF". That describes exactly
159
+ * this call site. A template arrives when a human establishes which one was signed.
160
+ *
161
+ * 2. There is no way to pick one that is not a guess. `ContractTemplate` carries Name,
162
+ * VersionLabel, `IntroducedDate` and SourceURL — and no `Status`. Choosing the newest by
163
+ * `IntroducedDate` is precisely the date-guessing that the `Status` column Andrew asked for
164
+ * exists to eliminate, and it would silently attach next year's paper to this year's deal
165
+ * the day someone loads a draft template.
166
+ *
167
+ * So: honoured if supplied, never selected. Nothing in sales supplies one today. See D-10.
168
+ */
169
+ private templateID;
170
+ /**
171
+ * The contract type the policy named.
172
+ *
173
+ * ── WHY THIS PROBES FOR A COLUMN ────────────────────────────────────────────────────────────
174
+ *
175
+ * Sales' policy field is `ContractTypeCode`, and resolving a CODE is the right shape: sales does
176
+ * not know contracts' vocabulary and must not bake its UUIDs. But `ContractType` has no `Code`
177
+ * column — it is identified by `Name` (unique) and a fixed seeded UUID. Filtering on `Code`, as
178
+ * the previous version did, ran against a column that does not exist, so the lookup could only
179
+ * ever fail.
180
+ *
181
+ * Rather than fail the whole route over a missing column, this asks the METADATA which identifier
182
+ * contracts actually offers, uses that, and reports which one it used so the answer is never
183
+ * ambiguous. When contracts adds `Code` — as tasks just did on `TaskType`, for the same reason —
184
+ * this starts preferring it with no change here. See D-12.
185
+ *
186
+ * ── THIS IS NOT A VOCABULARY COMPARISON ─────────────────────────────────────────────────────
187
+ *
188
+ * No behaviour branches on the value. The string arrives from configuration, is looked up, and
189
+ * yields an ID; nothing in this app asks whether the type is an Order Form or an SOW. `'Code'`
190
+ * and `'Name'` are COLUMN names, not vocabulary — which is the distinction the gate cares about.
191
+ */
192
+ private resolveContractType;
193
+ /**
194
+ * The renewal door, which v2 has closed and not yet reopened.
195
+ *
196
+ * `Contracts.RenewTerm` is gone with `SaveContract`, and it did not simply move: `ContractTerm`
197
+ * was DELETED as a table, so "add a term to an existing contract" no longer describes anything
198
+ * that exists. There is nothing to call and nothing to call it on.
199
+ *
200
+ * REPORTED, NOT INVENTED. Two shapes could express a renewal on the v2 header — a new contract
201
+ * carrying `ParentContractID`, or the existing one stamped `SupersededByContractID` — and they
202
+ * are not equivalent: the first keeps both agreements in the lineage, the second retires one.
203
+ * Which is right is contracts' modelling decision, not sales'. Guessing would produce contract
204
+ * records that look correct and mean the wrong thing, so this returns a plan that honestly did
205
+ * not execute and says why, which is the same shape every other unroutable target uses. See D-11.
206
+ */
207
+ RenewContractTerm(input: ContractsRenewTermSeamInput): Promise<ContractsSeamResult>;
208
+ }
209
+ /** Anti-tree-shaking anchor. */
210
+ export declare function LoadLiveContractsSeam(): void;
211
+ export {};
212
+ //# sourceMappingURL=LiveContractsSeam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveContractsSeam.d.ts","sourceRoot":"","sources":["../src/LiveContractsSeam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAMH,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACR,gCAAgC,EAChC,2BAA2B,EAC3B,mBAAmB,EACtB,MAAM,6BAA6B,CAAC;AASrC;;;;;;;GAOG;AACH,KAAK,mBAAmB,GAAG,gCAAgC,GAAG;IAC1D,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,qBAAa,iBAAiB;IAItB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ7B,SAAgB,MAAM,QAAQ;gBAGT,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,iBAAiB;IAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqG7F;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IASrB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,mBAAmB;IA0BjC;;;;;;;;;;;;;OAaG;IACU,iBAAiB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAiBnG;AAED,gCAAgC;AAChC,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -0,0 +1,362 @@
1
+ /**
2
+ * @fileoverview The REAL contracts handoff — what `StubDownstreamSeam` stood in for on the D-CF4 path.
3
+ *
4
+ * ── WHY THIS NO LONGER CALLS AN OPERATION ───────────────────────────────────────────────────────
5
+ *
6
+ * The previous version of this file dispatched `Contracts.SaveContract` through the ClassFactory, and
7
+ * explained at length why calling contracts' operation beat driving its entity graph. That reasoning
8
+ * was sound about a version of contracts that no longer exists.
9
+ *
10
+ * Contracts was rebuilt from scratch on 2026-08-18 — ten tables became seven — and `SaveContract` was
11
+ * DELETED along with `ContractDraft` and the whole hydration layer. Verified against `origin/next`
12
+ * (`d2f64e3`): contracts ships **no remote operations at all**. So the old seam dispatched a key that
13
+ * nothing registers, and `run()` returned "…is not registered in this process" every single time.
14
+ *
15
+ * That is worth stating plainly because it explains a longer-running puzzle: this path could never be
16
+ * proven end to end, and the failure was repeatedly read as a stack-configuration problem — contracts
17
+ * not linked, the operation not imported, registration order. It was none of those. The operation was
18
+ * gone, and a missing registration and a deleted class produce the identical symptom.
19
+ *
20
+ * ── WHAT REPLACES IT ────────────────────────────────────────────────────────────────────────────
21
+ *
22
+ * The plain entity path: `GetEntityObject` → set fields → `Save()`. This is now the SIMPLER option as
23
+ * well as the only one, because v2's contract is a HEADER. `ContractTerm` and `ContractLine` are gone
24
+ * entirely, so there is no composition left to re-implement — the concern that made the operation the
25
+ * right call in v1 no longer has anything to be concerned about.
26
+ *
27
+ * `ContractEntityServer.Save()` mints `ContractNumber` itself, from a sequence taken under a lock, so
28
+ * this never supplies one. It runs `ExecuteSQL` on the same provider, which means it joins whatever
29
+ * transaction `Sales.CloseDeal` already opened and a rollback releases the number rather than burning
30
+ * it. Contracts needs no `SkipRelatedCollections` dance either, unlike orders.
31
+ *
32
+ * ── THE MONEY BOUNDARY ──────────────────────────────────────────────────────────────────────────
33
+ *
34
+ * Nothing here multiplies, sums, rounds or converts. The one numeric that crosses — the negotiated
35
+ * annual uplift — is passed through in the units it was stated in; see `annualIncrease()` for why a
36
+ * unit conversion would be a computation and is therefore refused rather than guessed.
37
+ *
38
+ * @module @mj-biz-apps/sales-core-entities-server
39
+ */
40
+ import { LogError, Metadata, RunView, } from '@memberjunction/core';
41
+ /** Contracts' entity names — these strings are the whole dependency. Sales imports no contracts code. */
42
+ const E_CONTRACT = 'MJ_BizApps_Contracts: Contracts';
43
+ const E_CONTRACT_TYPE = 'MJ_BizApps_Contracts: Contract Types';
44
+ /** Sales' own, needed only to name the CREATING entity in contracts' polymorphic provenance pair. */
45
+ const E_DEAL = 'MJ_BizApps_Sales: Deals';
46
+ /**
47
+ * True when contracts is actually installed here.
48
+ *
49
+ * Checked against METADATA rather than by catching an error, for the same reason `OrdersIsInstalled`
50
+ * is: asking for an unregistered entity does not fail cleanly. Sales runs standalone by design, so
51
+ * contracts being absent is a supported state, not a fault.
52
+ */
53
+ export function ContractsIsInstalled() {
54
+ return new Metadata().Entities.some((e) => e.Name === E_CONTRACT);
55
+ }
56
+ export class LiveContractsSeam {
57
+ constructor(user, provider) {
58
+ this.user = user;
59
+ this.provider = provider;
60
+ this.IsLive = true;
61
+ }
62
+ /**
63
+ * Create the agreement a won deal earned.
64
+ *
65
+ * ── WHAT IS DELIBERATELY NOT SET, AND WHY EACH ABSENCE IS THE POINT ─────────────────────────
66
+ *
67
+ * **No `Status`.** v2's contract has no status column at all; its lifecycle is DERIVED from the
68
+ * dates. The old seam sent `'Draft'`, which is now simply not a field.
69
+ *
70
+ * **No `EffectiveDate`.** This is the one that would do real damage. With lifecycle derived from
71
+ * dates, stamping an effective date makes the contract read as ACTIVE the moment it is created —
72
+ * so every contract auto-created at Closed Won would announce itself as live and in force before
73
+ * a human had read the paper. §7.2 wants precisely the opposite: nothing fires until someone
74
+ * approves. A contract with no dates is one that has not started, which is the truth.
75
+ *
76
+ * **No `ExecutedDate`.** Sales does not know whether anything was signed. `Deal.ExecutionDate` is
77
+ * when the DEAL was executed, and reading it as "the document is executed" would be a claim about
78
+ * paper nobody has seen — the same misreport as `EffectiveDate`, one field over.
79
+ *
80
+ * **No `ContractNumber`.** Minted by `ContractEntityServer.Save()` under a lock. Supplying one
81
+ * would either collide or bypass the sequence.
82
+ *
83
+ * **No `ContractTemplateID`.** Not merely unimplemented: contracts' own column description says a
84
+ * contract created automatically at Closed Won HAS none "until finance reads the PDF". Selection
85
+ * is honoured if a caller ever supplies one, and is not attempted here. See `templateID()`.
86
+ *
87
+ * **No `CustomerPersonID`, no `OwnerUserID`.** Neither column exists in v2, and
88
+ * `CK_Contract_CustomerXor` — the constraint the old seam bent itself around — is gone with them.
89
+ */
90
+ async CreateContractFromDeal(input) {
91
+ if (!ContractsIsInstalled()) {
92
+ return { Success: false, Message: 'bizapps-contracts is not installed in this deployment.' };
93
+ }
94
+ /**
95
+ * `CustomerOrganizationID` is NOT NULL in v2. Refusing here beats letting the database refuse:
96
+ * the message names the deal field that is actually missing, which a constraint violation
97
+ * cannot do.
98
+ */
99
+ if (!input.AccountID) {
100
+ return {
101
+ Success: false,
102
+ Message: 'A contract needs the buying organisation (Deal.AccountID). Contracts stores it as ' +
103
+ 'CustomerOrganizationID, which is required — v2 has no person-customer alternative.',
104
+ };
105
+ }
106
+ if (!input.CompanyID) {
107
+ return { Success: false, Message: 'A contract needs the selling company (Deal.CompanyID).' };
108
+ }
109
+ const resolved = await this.resolveContractType(input.ContractTypeCode);
110
+ if (!resolved.ID) {
111
+ return {
112
+ Success: false,
113
+ Message: `No contract type matches '${input.ContractTypeCode ?? '(none)'}' in contracts${resolved.By}.`,
114
+ };
115
+ }
116
+ try {
117
+ const contract = await this.provider.GetEntityObject(E_CONTRACT, this.user);
118
+ contract.NewRecord();
119
+ contract.Set('ContractTypeID', resolved.ID);
120
+ contract.Set('CompanyID', input.CompanyID);
121
+ contract.Set('CustomerOrganizationID', input.AccountID);
122
+ /**
123
+ * The contact is not a second customer; it is the person to talk to about this one.
124
+ * Nullable, and null is an ordinary answer for a deal that named nobody.
125
+ */
126
+ contract.Set('PrimaryContactPersonID', input.PrimaryContactID ?? null);
127
+ /** The AD's red-lines travel with the agreement — a human reviewer would otherwise go in blind. */
128
+ contract.Set('Description', input.ContractVariances ?? null);
129
+ /**
130
+ * THE REP'S ANSWER, carried through — S-US1 asks the question, S-US2 copies it here.
131
+ *
132
+ * It used to be hardcoded `false`, and the reasoning was sound as far as it went: sales
133
+ * creates no `ContractTemplateModification` rows, because it has no template to record a
134
+ * modification against, and `ContractEntityServer.ValidateAsync()` only refuses a false
135
+ * flag when such rows exist — which for a contract created this second they cannot.
136
+ *
137
+ * What that argument missed is that the flag is not a count of rows. It is the INSTRUCTION
138
+ * to go and create them: a true flag sends finance to the paper to capture each deviation,
139
+ * a false one sends them to confirm nothing was negotiated. Hardcoding false made every
140
+ * contract claim the standard agreement was untouched, including the negotiated ones, so
141
+ * the only signal distinguishing them was lost at the boundary.
142
+ *
143
+ * Absent (an older caller, or the stub) still means false — the column is NOT NULL in
144
+ * contracts and S-US1 defaults the deal's flag to no, so false is the honest default at
145
+ * both ends rather than a shrug.
146
+ */
147
+ contract.Set('HasModifications', input.StandardAgreementModified === true);
148
+ this.setProvenance(contract, input.DealID);
149
+ this.setNegotiatedTerms(contract, input);
150
+ const template = this.templateID(input);
151
+ if (template) {
152
+ contract.Set('ContractTemplateID', template);
153
+ }
154
+ if (!(await contract.Save())) {
155
+ return {
156
+ Success: false,
157
+ Message: `Could not save the contract: ${contract.LatestResult?.CompleteMessage ?? 'unknown error'}`,
158
+ };
159
+ }
160
+ const id = String(contract.Get('ID') ?? '');
161
+ const number = String(contract.Get('ContractNumber') ?? '');
162
+ return {
163
+ Success: true,
164
+ ContractID: id || null,
165
+ /**
166
+ * NULL, not `'Draft'`. There is no status column to report, and inventing a label the
167
+ * database does not hold would put sales back in the business of narrating contracts'
168
+ * lifecycle — which is exactly what deriving it from dates was meant to stop.
169
+ */
170
+ Status: null,
171
+ Message: `Contract ${number || id} created by Sales.CloseDeal${resolved.By}.`.trim(),
172
+ };
173
+ }
174
+ catch (err) {
175
+ LogError(`LiveContractsSeam.CreateContractFromDeal failed for deal ${input.DealID}: ${err}`);
176
+ return { Success: false, Message: `Could not create the contract: ${String(err)}` };
177
+ }
178
+ }
179
+ /**
180
+ * Stamp contracts' polymorphic provenance pair with the deal that caused this.
181
+ *
182
+ * `CK_Contract_CreatingPairBothOrNeither` requires both or neither, so a deal whose entity cannot
183
+ * be resolved leaves BOTH null rather than half a reference. `IX_Contract_CreatingRecord` exists
184
+ * for the reverse lookup — "which contract came from this deal" — so this is the field that makes
185
+ * the handoff traceable in the direction a person actually asks about it.
186
+ */
187
+ setProvenance(contract, dealID) {
188
+ const dealEntity = this.provider.Entities.find((e) => e.Name === E_DEAL);
189
+ if (!dealEntity?.ID || !dealID) {
190
+ return;
191
+ }
192
+ contract.Set('CreatingEntityID', dealEntity.ID);
193
+ contract.Set('CreatingRecordID', dealID);
194
+ }
195
+ /**
196
+ * The renewal terms the DEAL actually negotiated — and only those.
197
+ *
198
+ * ── THE OVERRIDE/DEFAULT SPLIT, WHICH IS LOAD-BEARING ──────────────────────────────────────
199
+ *
200
+ * Sales' columns are named `…Override` on purpose, and their own descriptions say why: NULL means
201
+ * "use the standard", which is a DIFFERENT FACT from "we negotiated a number that happens to equal
202
+ * today's standard". Only the NULL survives a later change to policy. So a null override is passed
203
+ * through as null and never filled in here.
204
+ *
205
+ * ── THE DEFAULTS THAT DO NOT EXIST YET ──────────────────────────────────────────────────────
206
+ *
207
+ * Sales' descriptions say the standards (5% uplift, 90 days' notice) are "owned by the contracts
208
+ * ContractType". As of `origin/next` @ `d2f64e3` **they are not**: `ContractType` carries only
209
+ * Name, Description, RequiresExecutedDocument, ParentStatusRequirement and Status. Nothing applies
210
+ * a default anywhere — `applyContractTypeDefaults()` went with the v1 rebuild.
211
+ *
212
+ * This seam therefore populates NOTHING it was not told, so that when the columns arrive the
213
+ * defaults land where they belong — in contracts, applied once, rather than being pre-empted here
214
+ * by a value sales invented. See D-9.
215
+ */
216
+ setNegotiatedTerms(contract, input) {
217
+ /** Stated on the deal as a fact about the paper, and stated the same way on the contract. */
218
+ contract.Set('AutoRenew', input.AutoRenew === true);
219
+ /**
220
+ * `CancellationNoticeDaysOverride` → `CancellationWindowDays`, and the names differing is not
221
+ * a reason to hesitate: contracts defines its column as "days of notice the customer owes to
222
+ * cancel without renewing", which is exactly what sales' override overrides.
223
+ *
224
+ * `RenewalNoticeDays` is deliberately left alone. Contracts' own description warns that it is
225
+ * "NOT the same field as CancellationWindowDays even though many agreements set them equal —
226
+ * conflating them silently is how a notice obligation gets missed". Sales holds no equivalent,
227
+ * so it says nothing rather than reusing the number it does have.
228
+ */
229
+ if (input.CancellationNoticeDaysOverride != null) {
230
+ contract.Set('CancellationWindowDays', input.CancellationNoticeDaysOverride);
231
+ }
232
+ const uplift = this.annualIncrease(input.AnnualIncreasePctOverride);
233
+ if (uplift != null) {
234
+ contract.Set('AnnualIncreasePercent', uplift);
235
+ }
236
+ }
237
+ /**
238
+ * The negotiated year-over-year uplift, PASSED THROUGH UNCONVERTED.
239
+ *
240
+ * -- WHY PASS-THROUGH IS RIGHT, WHICH IS NOT THE SAME AS THE TWO SIDES AGREEING --
241
+ *
242
+ * The reason is the OVERRIDE semantics, not a matching domain. Sales names this column
243
+ * `AnnualIncreasePctOverride` and its own description is explicit: NULL means use the standard,
244
+ * whose default lives on the contracts ContractType, and copying that default in at write time
245
+ * would freeze this year terms into next year renewals silently. So a stated number travels and a
246
+ * null stays a null. Nothing here converts, scales or substitutes, because each of those would be
247
+ * a computation and sales does not compute money or the rates that move it.
248
+ *
249
+ * -- AND THE TWO SCHEMAS DO NOT AGREE ON THE DOMAIN --
250
+ *
251
+ * Sales bounds this 0 to 100 (`CK_Deal_AnnualIncreasePctOverride`). Contracts bounds only `>= 0`
252
+ * (`CK_Contract_AnnualIncrease`) with no upper limit, at `DECIMAL(7,4)` against sales
253
+ * `DECIMAL(5,2)`. Both call it a percent and 5 means five per cent on both sides today, so the
254
+ * handoff is correct -- but the wider column will accept a value sales would have refused, and
255
+ * nothing on either side states the unit as a rule rather than as a habit.
256
+ *
257
+ * That is the same shape as the discount-unit trap recorded in `docs/DECISIONS.md`, where 0-100
258
+ * became 0-1 across a boundary and would have been a silent hundred-fold bug. It has not bitten
259
+ * here and it is not this file to settle: see D-14. Flagged rather than defended, because a
260
+ * conversion added on suspicion is exactly the computation this app must not perform.
261
+ */
262
+ annualIncrease(pct) {
263
+ return pct == null ? null : pct;
264
+ }
265
+ /**
266
+ * The template to incorporate, when a caller supplies one — and it is nobody's job to guess.
267
+ *
268
+ * Two independent reasons, either sufficient on its own:
269
+ *
270
+ * 1. Contracts says so. `ContractTemplateID` is "nullable because a contract created
271
+ * automatically at Closed Won has none until finance reads the PDF". That describes exactly
272
+ * this call site. A template arrives when a human establishes which one was signed.
273
+ *
274
+ * 2. There is no way to pick one that is not a guess. `ContractTemplate` carries Name,
275
+ * VersionLabel, `IntroducedDate` and SourceURL — and no `Status`. Choosing the newest by
276
+ * `IntroducedDate` is precisely the date-guessing that the `Status` column Andrew asked for
277
+ * exists to eliminate, and it would silently attach next year's paper to this year's deal
278
+ * the day someone loads a draft template.
279
+ *
280
+ * So: honoured if supplied, never selected. Nothing in sales supplies one today. See D-10.
281
+ */
282
+ templateID(input) {
283
+ return input.ContractTemplateID ?? null;
284
+ }
285
+ /**
286
+ * The contract type the policy named.
287
+ *
288
+ * ── WHY THIS PROBES FOR A COLUMN ────────────────────────────────────────────────────────────
289
+ *
290
+ * Sales' policy field is `ContractTypeCode`, and resolving a CODE is the right shape: sales does
291
+ * not know contracts' vocabulary and must not bake its UUIDs. But `ContractType` has no `Code`
292
+ * column — it is identified by `Name` (unique) and a fixed seeded UUID. Filtering on `Code`, as
293
+ * the previous version did, ran against a column that does not exist, so the lookup could only
294
+ * ever fail.
295
+ *
296
+ * Rather than fail the whole route over a missing column, this asks the METADATA which identifier
297
+ * contracts actually offers, uses that, and reports which one it used so the answer is never
298
+ * ambiguous. When contracts adds `Code` — as tasks just did on `TaskType`, for the same reason —
299
+ * this starts preferring it with no change here. See D-12.
300
+ *
301
+ * ── THIS IS NOT A VOCABULARY COMPARISON ─────────────────────────────────────────────────────
302
+ *
303
+ * No behaviour branches on the value. The string arrives from configuration, is looked up, and
304
+ * yields an ID; nothing in this app asks whether the type is an Order Form or an SOW. `'Code'`
305
+ * and `'Name'` are COLUMN names, not vocabulary — which is the distinction the gate cares about.
306
+ */
307
+ async resolveContractType(code) {
308
+ if (!code) {
309
+ return { ID: null, By: '' };
310
+ }
311
+ const info = this.provider.Entities.find((e) => e.Name === E_CONTRACT_TYPE);
312
+ const hasCode = info?.Fields?.some((f) => f.Name === 'Code') === true;
313
+ const column = hasCode ? 'Code' : 'Name';
314
+ const by = hasCode ? '' : ' (matched on Name — contracts has no Code column on ContractType)';
315
+ const r = await new RunView().RunView({
316
+ EntityName: E_CONTRACT_TYPE,
317
+ ExtraFilter: `${column} = '${String(code).replace(/'/g, "''")}'`,
318
+ ResultType: 'simple',
319
+ Fields: ['ID'],
320
+ }, this.user);
321
+ if (!r?.Success) {
322
+ LogError(`LiveContractsSeam could not read contract types: ${r?.ErrorMessage ?? 'unknown error'}`);
323
+ return { ID: null, By: by };
324
+ }
325
+ return { ID: (r.Results ?? [])[0]?.ID ?? null, By: by };
326
+ }
327
+ /**
328
+ * The renewal door, which v2 has closed and not yet reopened.
329
+ *
330
+ * `Contracts.RenewTerm` is gone with `SaveContract`, and it did not simply move: `ContractTerm`
331
+ * was DELETED as a table, so "add a term to an existing contract" no longer describes anything
332
+ * that exists. There is nothing to call and nothing to call it on.
333
+ *
334
+ * REPORTED, NOT INVENTED. Two shapes could express a renewal on the v2 header — a new contract
335
+ * carrying `ParentContractID`, or the existing one stamped `SupersededByContractID` — and they
336
+ * are not equivalent: the first keeps both agreements in the lineage, the second retires one.
337
+ * Which is right is contracts' modelling decision, not sales'. Guessing would produce contract
338
+ * records that look correct and mean the wrong thing, so this returns a plan that honestly did
339
+ * not execute and says why, which is the same shape every other unroutable target uses. See D-11.
340
+ */
341
+ async RenewContractTerm(input) {
342
+ if (!ContractsIsInstalled()) {
343
+ return { Success: false, Message: 'bizapps-contracts is not installed in this deployment.' };
344
+ }
345
+ if (!input.ContractID) {
346
+ return { Success: false, Message: 'A renewal needs the contract being renewed (Deal.RenewsContractID).' };
347
+ }
348
+ return {
349
+ Success: false,
350
+ ContractID: input.ContractID,
351
+ Message: 'Renewal was planned but not executed: the contracts rebuild removed ContractTerm and ' +
352
+ 'Contracts.RenewTerm, so a term cannot be added to an existing contract. Whether a renewal ' +
353
+ 'becomes a child contract (ParentContractID) or supersedes the original ' +
354
+ '(SupersededByContractID) is a contracts modelling decision that has not been made.',
355
+ };
356
+ }
357
+ }
358
+ /** Anti-tree-shaking anchor. */
359
+ export function LoadLiveContractsSeam() {
360
+ /* keeps the registration alive */
361
+ }
362
+ //# sourceMappingURL=LiveContractsSeam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveContractsSeam.js","sourceRoot":"","sources":["../src/LiveContractsSeam.ts"],"names":[],"mappings":"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"}