nucleus-core-ts 0.9.866 → 0.9.868

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 (159) hide show
  1. package/dist/fe/components/IntegrationsPage/components/ConnectionTest.js +11 -1
  2. package/dist/fe/components/IntegrationsPage/components/EndpointSample.js +24 -0
  3. package/dist/fe/components/IntegrationsPage/components/EndpointsTab.js +15 -2
  4. package/dist/fe/components/IntegrationsPage/store/index.js +19 -0
  5. package/dist/index.js +2 -2
  6. package/dist/src/ElysiaPlugin/schemaReconcile.d.ts +137 -0
  7. package/package.json +1 -1
  8. package/scripts/build.ts +71 -3
  9. package/dist/fe/components/IntegrationsPage/components/RunPlanIssues.test.d.ts +0 -1
  10. package/dist/fe/components/IntegrationsPage/components/RunPlanIssues.test.js +0 -44
  11. package/dist/fe/components/IntegrationsPage/components/RunPlanSuggestions.test.d.ts +0 -1
  12. package/dist/fe/components/IntegrationsPage/components/RunPlanSuggestions.test.js +0 -103
  13. package/dist/fe/components/IntegrationsPage/components/connectionDraft.test.d.ts +0 -1
  14. package/dist/fe/components/IntegrationsPage/components/connectionDraft.test.js +0 -198
  15. package/dist/fe/components/IntegrationsPage/components/credentialSlots.contract.test.d.ts +0 -1
  16. package/dist/fe/components/IntegrationsPage/components/credentialSlots.contract.test.js +0 -140
  17. package/dist/fe/components/IntegrationsPage/components/deleteIsConfirmed.test.d.ts +0 -1
  18. package/dist/fe/components/IntegrationsPage/components/deleteIsConfirmed.test.js +0 -29
  19. package/dist/fe/components/IntegrationsPage/components/formSupport.test.d.ts +0 -1
  20. package/dist/fe/components/IntegrationsPage/components/formSupport.test.js +0 -156
  21. package/dist/fe/components/IntegrationsPage/components/jsonObjectField.test.d.ts +0 -1
  22. package/dist/fe/components/IntegrationsPage/components/jsonObjectField.test.js +0 -86
  23. package/dist/fe/components/IntegrationsPage/components/mappingDraft.test.d.ts +0 -1
  24. package/dist/fe/components/IntegrationsPage/components/mappingDraft.test.js +0 -59
  25. package/dist/fe/components/IntegrationsPage/components/passwordIsNeeded.test.d.ts +0 -1
  26. package/dist/fe/components/IntegrationsPage/components/passwordIsNeeded.test.js +0 -45
  27. package/dist/fe/components/IntegrationsPage/components/runFormat.test.d.ts +0 -1
  28. package/dist/fe/components/IntegrationsPage/components/runFormat.test.js +0 -47
  29. package/dist/fe/components/IntegrationsPage/components/settleOwnership.test.d.ts +0 -1
  30. package/dist/fe/components/IntegrationsPage/components/settleOwnership.test.js +0 -56
  31. package/dist/fe/components/IntegrationsPage/store/upsertInto.test.d.ts +0 -1
  32. package/dist/fe/components/IntegrationsPage/store/upsertInto.test.js +0 -67
  33. package/dist/fe/components/IntegrationsPage/text/text.test.d.ts +0 -1
  34. package/dist/fe/components/IntegrationsPage/text/text.test.js +0 -67
  35. package/dist/src/Client/Proxy/authz.test.d.ts +0 -1
  36. package/dist/src/Client/Proxy/authz.test.js +0 -453
  37. package/dist/src/Client/Proxy/httpProxy.test.d.ts +0 -1
  38. package/dist/src/Client/Proxy/httpProxy.test.js +0 -73
  39. package/dist/src/ElysiaPlugin/auditAttribution.test.d.ts +0 -1
  40. package/dist/src/ElysiaPlugin/authRouteClassifier.test.d.ts +0 -1
  41. package/dist/src/ElysiaPlugin/dbPoolConfig.test.d.ts +0 -1
  42. package/dist/src/ElysiaPlugin/publicRoutes.test.d.ts +0 -1
  43. package/dist/src/ElysiaPlugin/redactSensitiveOutput.test.d.ts +0 -1
  44. package/dist/src/ElysiaPlugin/resolveConfigCredential.test.d.ts +0 -1
  45. package/dist/src/ElysiaPlugin/routes/auth/accountState.test.d.ts +0 -1
  46. package/dist/src/ElysiaPlugin/routes/auth/admin/createUserAuthz.test.d.ts +0 -1
  47. package/dist/src/ElysiaPlugin/routes/auth/admin/resolveMutationSchema.test.d.ts +0 -1
  48. package/dist/src/ElysiaPlugin/routes/auth/captchaWiring.test.d.ts +0 -1
  49. package/dist/src/ElysiaPlugin/routes/auth/emailLinks/emailLinks.test.d.ts +0 -1
  50. package/dist/src/ElysiaPlugin/routes/auth/emailWiring.test.d.ts +0 -1
  51. package/dist/src/ElysiaPlugin/routes/auth/login/deviceInfo.test.d.ts +0 -1
  52. package/dist/src/ElysiaPlugin/routes/auth/magicLink/utils.test.d.ts +0 -1
  53. package/dist/src/ElysiaPlugin/routes/auth/oauth/absolutizeRedirect.test.d.ts +0 -1
  54. package/dist/src/ElysiaPlugin/routes/auth/oauth/oauthStateCookie.test.d.ts +0 -1
  55. package/dist/src/ElysiaPlugin/routes/auth/oauth/resolveSafeOAuthRedirect.test.d.ts +0 -1
  56. package/dist/src/ElysiaPlugin/routes/auth/sessions/adminRoutes.test.d.ts +0 -1
  57. package/dist/src/ElysiaPlugin/routes/authorization/discovery.test.d.ts +0 -1
  58. package/dist/src/ElysiaPlugin/routes/chat/moderation.test.d.ts +0 -1
  59. package/dist/src/ElysiaPlugin/routes/config/helpers.test.d.ts +0 -1
  60. package/dist/src/ElysiaPlugin/routes/domain/hostnames.test.d.ts +0 -1
  61. package/dist/src/ElysiaPlugin/routes/entity/anonymousCreate.test.d.ts +0 -1
  62. package/dist/src/ElysiaPlugin/routes/entity/createScope.test.d.ts +0 -1
  63. package/dist/src/ElysiaPlugin/routes/entity/filterFields.test.d.ts +0 -1
  64. package/dist/src/ElysiaPlugin/routes/entity/relationAuthz.test.d.ts +0 -1
  65. package/dist/src/ElysiaPlugin/routes/monitoring/index.test.d.ts +0 -1
  66. package/dist/src/ElysiaPlugin/routes/monitoring/serverLogs.test.d.ts +0 -1
  67. package/dist/src/ElysiaPlugin/routes/payment/marketplace/authz.test.d.ts +0 -1
  68. package/dist/src/ElysiaPlugin/routes/payment/paymentAuthz.test.d.ts +0 -1
  69. package/dist/src/ElysiaPlugin/routes/payment/validation.test.d.ts +0 -1
  70. package/dist/src/ElysiaPlugin/routes/pubsub/daprAuth.test.d.ts +0 -1
  71. package/dist/src/ElysiaPlugin/routes/pubsub/frame.test.d.ts +0 -1
  72. package/dist/src/ElysiaPlugin/routes/pubsub/topicCap.test.d.ts +0 -1
  73. package/dist/src/ElysiaPlugin/routes/shared/adminGuard.test.d.ts +0 -1
  74. package/dist/src/ElysiaPlugin/routes/shared/basePathCollision.test.d.ts +0 -1
  75. package/dist/src/ElysiaPlugin/routes/shared/clientIp.test.d.ts +0 -1
  76. package/dist/src/ElysiaPlugin/routes/shared/csrf.test.d.ts +0 -1
  77. package/dist/src/ElysiaPlugin/routes/shared/redact.test.d.ts +0 -1
  78. package/dist/src/ElysiaPlugin/routes/shared/requestLimits.test.d.ts +0 -1
  79. package/dist/src/ElysiaPlugin/routes/shared/sensitiveColumns.test.d.ts +0 -1
  80. package/dist/src/ElysiaPlugin/routes/shared/sensitiveTables.test.d.ts +0 -1
  81. package/dist/src/ElysiaPlugin/routes/shared/systemSensitiveColumns.test.d.ts +0 -1
  82. package/dist/src/ElysiaPlugin/routes/shared/tenantBinding.test.d.ts +0 -1
  83. package/dist/src/ElysiaPlugin/routes/shared/writeLock.test.d.ts +0 -1
  84. package/dist/src/ElysiaPlugin/routes/storage/cdn.test.d.ts +0 -1
  85. package/dist/src/ElysiaPlugin/routes/storage/helpers.test.d.ts +0 -1
  86. package/dist/src/ElysiaPlugin/routes/storage/imageTransform.test.d.ts +0 -1
  87. package/dist/src/ElysiaPlugin/routes/storage/videoTransform.test.d.ts +0 -1
  88. package/dist/src/ElysiaPlugin/runtime.test.d.ts +0 -1
  89. package/dist/src/ElysiaPlugin/sanitizePayload.test.d.ts +0 -1
  90. package/dist/src/ElysiaPlugin/signNewAccessToken.test.d.ts +0 -1
  91. package/dist/src/ElysiaPlugin/validationError.test.d.ts +0 -1
  92. package/dist/src/Managers/Redis/keyPrefix.test.d.ts +0 -1
  93. package/dist/src/Managers/Storage/liveStorage.test.d.ts +0 -1
  94. package/dist/src/Managers/Storage/migrate.test.d.ts +0 -1
  95. package/dist/src/Managers/Storage/parseSmbUrl.test.d.ts +0 -1
  96. package/dist/src/Managers/Storage/storage.test.d.ts +0 -1
  97. package/dist/src/Services/Auth/DeviceTrust/deviceToken.test.d.ts +0 -1
  98. package/dist/src/Services/Auth/JWT/jwt.test.d.ts +0 -1
  99. package/dist/src/Services/Auth/Password/password.test.d.ts +0 -1
  100. package/dist/src/Services/Authorization/ClaimGuard/claimGuard.test.d.ts +0 -1
  101. package/dist/src/Services/Authorization/EndpointDiscovery/discovery.test.d.ts +0 -1
  102. package/dist/src/Services/Authorization/EndpointDiscovery/seed.test.d.ts +0 -1
  103. package/dist/src/Services/Authorization/Middleware/broaderGrantWins.test.d.ts +0 -1
  104. package/dist/src/Services/Authorization/Middleware/claimMatches.test.d.ts +0 -1
  105. package/dist/src/Services/Authorization/Middleware/fieldRelationGrant.test.d.ts +0 -1
  106. package/dist/src/Services/Authorization/Middleware/fieldWriteClaims.test.d.ts +0 -1
  107. package/dist/src/Services/Authorization/Middleware/jwtScopeEmbed.test.d.ts +0 -1
  108. package/dist/src/Services/Authorization/Middleware/scopeFailClosed.test.d.ts +0 -1
  109. package/dist/src/Services/Authorization/Middleware/scopeSelfFailClosed.test.d.ts +0 -1
  110. package/dist/src/Services/Authorization/SeedRunner/expandClaimPatterns.test.d.ts +0 -1
  111. package/dist/src/Services/Authorization/SeedRunner/scopeReconcile.test.d.ts +0 -1
  112. package/dist/src/Services/Backup/encryption.test.d.ts +0 -1
  113. package/dist/src/Services/Captcha/captchaAtomic.test.d.ts +0 -1
  114. package/dist/src/Services/Chat/sendMessageAtomicity.integration.test.d.ts +0 -1
  115. package/dist/src/Services/Integrations/bindings.test.d.ts +0 -1
  116. package/dist/src/Services/Integrations/collect.test.d.ts +0 -1
  117. package/dist/src/Services/Integrations/fetcher.test.d.ts +0 -1
  118. package/dist/src/Services/Integrations/lock.test.d.ts +0 -1
  119. package/dist/src/Services/Integrations/mapping.test.d.ts +0 -1
  120. package/dist/src/Services/Integrations/oauth.test.d.ts +0 -1
  121. package/dist/src/Services/Integrations/pagination.test.d.ts +0 -1
  122. package/dist/src/Services/Integrations/plan.test.d.ts +0 -1
  123. package/dist/src/Services/Integrations/referenceIds.test.d.ts +0 -1
  124. package/dist/src/Services/Integrations/revert.test.d.ts +0 -1
  125. package/dist/src/Services/Integrations/runner.test.d.ts +0 -1
  126. package/dist/src/Services/Integrations/scheduler.test.d.ts +0 -1
  127. package/dist/src/Services/Integrations/transfer.test.d.ts +0 -1
  128. package/dist/src/Services/Integrations/tree.test.d.ts +0 -1
  129. package/dist/src/Services/Integrations/writer.test.d.ts +0 -1
  130. package/dist/src/Services/Logger/ServerLogBuffer.test.d.ts +0 -1
  131. package/dist/src/Services/Logger/auditDedup.test.d.ts +0 -1
  132. package/dist/src/Services/Logger/auditGate.test.d.ts +0 -1
  133. package/dist/src/Services/Logger/auditRedact.test.d.ts +0 -1
  134. package/dist/src/Services/Logger/auditTaxonomy.test.d.ts +0 -1
  135. package/dist/src/Services/Logger/formatError.test.d.ts +0 -1
  136. package/dist/src/Services/Logger/redact.test.d.ts +0 -1
  137. package/dist/src/Services/Monitoring/collectors/memory.test.d.ts +0 -1
  138. package/dist/src/Services/OAuth/profileSync.test.d.ts +0 -1
  139. package/dist/src/Services/OAuth/providers/microsoft.test.d.ts +0 -1
  140. package/dist/src/Services/OAuth/stateStore.test.d.ts +0 -1
  141. package/dist/src/Services/Payment/Marketplace/marketplaceLedger.test.d.ts +0 -1
  142. package/dist/src/Services/Payment/Marketplace/marketplacePayout.integration.test.d.ts +0 -1
  143. package/dist/src/Services/RateLimiter/rateLimiter.integration.test.d.ts +0 -1
  144. package/dist/src/Services/RateLimiter/rateLimiter.test.d.ts +0 -1
  145. package/dist/src/Services/SchemaTables/resolveEntities.test.d.ts +0 -1
  146. package/dist/src/Services/Secrets/SecretsService.test.d.ts +0 -1
  147. package/dist/src/Services/Secrets/connectionTest.test.d.ts +0 -1
  148. package/dist/src/Services/Secrets/crypto.test.d.ts +0 -1
  149. package/dist/src/Services/Secrets/registry.test.d.ts +0 -1
  150. package/dist/src/Services/Secrets/store.test.d.ts +0 -1
  151. package/dist/src/Services/Tenant/helpers.test.d.ts +0 -1
  152. package/dist/src/Services/Tenant/isTrustedSource.test.d.ts +0 -1
  153. package/dist/src/Services/Tenant/schema.test.d.ts +0 -1
  154. package/dist/src/Services/WebAuthn/webauthnChallenge.integration.test.d.ts +0 -1
  155. package/dist/src/Shared/cron.test.d.ts +0 -1
  156. package/dist/src/Shared/cron.test.js +0 -223
  157. package/dist/src/Utils/cron.test.d.ts +0 -1
  158. package/dist/src/Utils/headerList.test.d.ts +0 -1
  159. package/dist/src/Utils/withDeadline.test.d.ts +0 -1
@@ -32,6 +32,13 @@ export function ConnectionTest({ actions, source, loading = false }) {
32
32
  * the record object is replaced but its id is not, so this never re-ran and a
33
33
  * green badge sat under an address that had never been called. Everything the
34
34
  * test actually depends on is in the key.
35
+ *
36
+ * A stored CREDENTIAL is such a setting, and it was the one left out. Clearing
37
+ * a token left the green verdict standing for a connection that would now be
38
+ * refused; the mirror image costs more of an afternoon — a red "Not reachable"
39
+ * from a 401 stayed up after the right password was saved, reading as "the
40
+ * password did not help". The masked hints are what move when a credential
41
+ * does, so they are what this watches.
35
42
  */ useEffect(()=>{
36
43
  clear();
37
44
  }, [
@@ -39,7 +46,10 @@ export function ConnectionTest({ actions, source, loading = false }) {
39
46
  source?.baseUrl,
40
47
  source?.authType,
41
48
  source?.tokenUrl,
42
- source?.tlsVerify
49
+ source?.tlsVerify,
50
+ source?.authTokenHint,
51
+ source?.oauthClientSecretHint,
52
+ source?.oauthPasswordHint
43
53
  ]);
44
54
  const handleTest = ()=>{
45
55
  if (!source) return;
@@ -69,6 +69,30 @@ export function EndpointSample({ endpoint, actions }) {
69
69
  actions.sampleEndpoint(requestedFor, params.length > 0 ? values : undefined).then((result)=>{
70
70
  if (settleElsewhere(mine, requestedFor)) return;
71
71
  store.setSample(result, requestedFor);
72
+ /**
73
+ * The ROW learns it has been tried, not just this card.
74
+ *
75
+ * The step strip counts "tried" off `endpoints[].sampleResponse`,
76
+ * because whether a call has ever been run is a fact about the call and
77
+ * not about whichever screen is open. The server stores it there. This
78
+ * panel never did, so a connection whose calls had all been sampled
79
+ * went on announcing "7 call(s), 0 tried" — seen exactly that way on a
80
+ * customer's live connection, where it read as "nobody has ever tried
81
+ * these", which was not true.
82
+ *
83
+ * Only a sample that actually returned records counts, which is the
84
+ * same rule the strip applies.
85
+ */ if (result.ok && result.recordCount > 0) {
86
+ const row = store.endpoints.find((candidate)=>candidate.id === requestedFor);
87
+ if (row) {
88
+ store.upsertEndpoint({
89
+ ...row,
90
+ sampleResponse: {
91
+ records: result.sample
92
+ }
93
+ });
94
+ }
95
+ }
72
96
  if (!result.ok && result.error) store.setError(result.error);
73
97
  }).catch((error)=>{
74
98
  if (settleElsewhere(mine, requestedFor)) return;
@@ -56,9 +56,22 @@ export function EndpointsTab({ actions }) {
56
56
  // selecting an id the list has not fetched yet made the whole editor
57
57
  // collapse to "pick one" — with the form still half-filled a moment ago.
58
58
  store.upsertEndpoint(saved);
59
- // Re-selecting drops the old sample: it described the call as it was
60
- // configured a moment ago, and the mapping would be built from it.
61
59
  store.selectEndpoint(saved.id);
60
+ /**
61
+ * The sample described the call as it was BEFORE this save.
62
+ *
63
+ * Re-selecting was supposed to drop it, and does not: `selectEndpoint`
64
+ * returns early when the id has not changed, which on a save it never has —
65
+ * it is the guard that stops re-choosing the open call from throwing away a
66
+ * sample somebody just paid a real request for. Correct there, and the
67
+ * reason nothing was cleared here.
68
+ *
69
+ * So the sample sat under an edited call: change `responseRootPath` from
70
+ * empty to `data`, save, and the card still reports "Status 200, 0 records"
71
+ * with the old body keys — and the mapping's field list is built from those
72
+ * keys. The answer on screen belonged to a request that is no longer the one
73
+ * configured.
74
+ */ store.setSample(null, null);
62
75
  setReloadToken((token)=>token + 1);
63
76
  };
64
77
  const handleDeleted = (deletedId)=>{
@@ -93,6 +93,25 @@ export const { useStore: useIntegrationsStore } = createStore(initial, {
93
93
  store.endpointsTotal = Math.max(0, store.endpointsTotal - 1);
94
94
  store.endpoints = kept;
95
95
  }
96
+ /**
97
+ * A mapping cannot outlive the call it reads from.
98
+ *
99
+ * The server deletes them — the foreign key cascades — and this list did
100
+ * not, so the step strip went on counting mappings that no longer existed
101
+ * and the IMPORT step stayed unlocked by them. Pressing it landed on an
102
+ * import whose mapping the server had already removed.
103
+ *
104
+ * Filtered here rather than at the call site because the store is what
105
+ * every one of those readings comes from; a caller that forgot would put
106
+ * the same ghost back.
107
+ */ const survivors = store.mappings.filter((mapping)=>mapping.endpointId !== id);
108
+ if (survivors.length !== store.mappings.length) {
109
+ store.mappingsTotal = Math.max(0, store.mappingsTotal - (store.mappings.length - survivors.length));
110
+ store.mappings = survivors;
111
+ if (store.selectedMappingId && !survivors.some((m)=>m.id === store.selectedMappingId)) {
112
+ store.selectedMappingId = null;
113
+ }
114
+ }
96
115
  }),
97
116
  setEndpointsSearch: (store)=>(search)=>batch(()=>{
98
117
  store.endpointsSearch = search;