@memberjunction/core-actions 5.37.0 → 5.39.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.
- package/README.md +19 -1
- package/dist/custom/data/search-entity.action.d.ts +48 -0
- package/dist/custom/data/search-entity.action.d.ts.map +1 -0
- package/dist/custom/data/search-entity.action.js +138 -0
- package/dist/custom/data/search-entity.action.js.map +1 -0
- package/dist/custom/geo/scheduled-geocoding.action.d.ts +27 -0
- package/dist/custom/geo/scheduled-geocoding.action.d.ts.map +1 -1
- package/dist/custom/geo/scheduled-geocoding.action.js +96 -13
- package/dist/custom/geo/scheduled-geocoding.action.js.map +1 -1
- package/dist/custom/integration/generate-integration-action.action.d.ts +60 -0
- package/dist/custom/integration/generate-integration-action.action.d.ts.map +1 -0
- package/dist/custom/integration/generate-integration-action.action.js +182 -0
- package/dist/custom/integration/generate-integration-action.action.js.map +1 -0
- package/dist/custom/integration/integration-action-executor.d.ts +28 -5
- package/dist/custom/integration/integration-action-executor.d.ts.map +1 -1
- package/dist/custom/integration/integration-action-executor.js +65 -11
- package/dist/custom/integration/integration-action-executor.js.map +1 -1
- package/dist/custom/interactive-forms/_shared.d.ts +144 -0
- package/dist/custom/interactive-forms/_shared.d.ts.map +1 -0
- package/dist/custom/interactive-forms/_shared.js +300 -0
- package/dist/custom/interactive-forms/_shared.js.map +1 -0
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.d.ts +31 -0
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.js +139 -0
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.js.map +1 -0
- package/dist/custom/interactive-forms/create-interactive-form.action.d.ts +32 -0
- package/dist/custom/interactive-forms/create-interactive-form.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/create-interactive-form.action.js +162 -0
- package/dist/custom/interactive-forms/create-interactive-form.action.js.map +1 -0
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.d.ts +46 -0
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.js +179 -0
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.js.map +1 -0
- package/dist/custom/interactive-forms/get-default-form-scaffold.action.d.ts +32 -0
- package/dist/custom/interactive-forms/get-default-form-scaffold.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/get-default-form-scaffold.action.js +87 -0
- package/dist/custom/interactive-forms/get-default-form-scaffold.action.js.map +1 -0
- package/dist/custom/interactive-forms/get-entity-schema-for-form.action.d.ts +34 -0
- package/dist/custom/interactive-forms/get-entity-schema-for-form.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/get-entity-schema-for-form.action.js +103 -0
- package/dist/custom/interactive-forms/get-entity-schema-for-form.action.js.map +1 -0
- package/dist/custom/interactive-forms/index.d.ts +8 -0
- package/dist/custom/interactive-forms/index.d.ts.map +1 -0
- package/dist/custom/interactive-forms/index.js +8 -0
- package/dist/custom/interactive-forms/index.js.map +1 -0
- package/dist/custom/interactive-forms/modify-interactive-form.action.d.ts +54 -0
- package/dist/custom/interactive-forms/modify-interactive-form.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/modify-interactive-form.action.js +300 -0
- package/dist/custom/interactive-forms/modify-interactive-form.action.js.map +1 -0
- package/dist/custom/interactive-forms/revert-interactive-form.action.d.ts +39 -0
- package/dist/custom/interactive-forms/revert-interactive-form.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/revert-interactive-form.action.js +155 -0
- package/dist/custom/interactive-forms/revert-interactive-form.action.js.map +1 -0
- package/dist/custom/utilities/vectorize-entity.action.d.ts.map +1 -1
- package/dist/custom/utilities/vectorize-entity.action.js +7 -2
- package/dist/custom/utilities/vectorize-entity.action.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +34 -32
package/README.md
CHANGED
|
@@ -312,6 +312,24 @@ Orchestrate action execution with branching, iteration, parallelism, and retry l
|
|
|
312
312
|
|---|---|---|
|
|
313
313
|
| `__ExecuteCode` | `ExecuteCodeAction` | Execute sandboxed code snippets |
|
|
314
314
|
|
|
315
|
+
### Interactive Forms (6 actions)
|
|
316
|
+
|
|
317
|
+
The lifecycle for runtime-author entity forms (form-role
|
|
318
|
+
`ComponentSpec` + `EntityFormOverride`). See
|
|
319
|
+
[/plans/interactive-forms/phase-2-runtime-loop.md](../../../plans/interactive-forms/phase-2-runtime-loop.md)
|
|
320
|
+
for the full architecture and security model. Mutation actions enforce
|
|
321
|
+
ownership checks (User → caller, Role → membership, Global → admin).
|
|
322
|
+
|
|
323
|
+
| Registration Name | Class | Description |
|
|
324
|
+
|---|---|---|
|
|
325
|
+
| `__GetEntitySchemaForForm` | `GetEntitySchemaForFormAction` | Read-only: returns the curated form-relevant schema for an entity (FKs resolved, value lists annotated, audit fields stripped). |
|
|
326
|
+
| `__GetDefaultFormScaffoldForEntity` | `GetDefaultFormScaffoldForEntityAction` | Read-only: produces a working form-role `ComponentSpec` mirroring the CodeGen Angular default layout. The agent's baseline. |
|
|
327
|
+
| `__GetActiveFormForEntity` | `GetActiveFormForEntityAction` | Read-only: returns the resolved Active override + full applicable-variants list for the (entity, calling-user) pair. |
|
|
328
|
+
| `__CreateInteractiveForm` | `CreateInteractiveFormAction` | Net-new only. Inserts Component v1.0.0 + Active User-scope Override. Fails `ALREADY_EXISTS` if the user already has an Active override for the entity. |
|
|
329
|
+
| `__ModifyInteractiveForm` | `ModifyInteractiveFormAction` | Branches on the pointed-to Component status: Pending → modify in place; Active → new Pending Component v(N+1) + sibling Pending Override. Always User-scope-clamped. |
|
|
330
|
+
| `__ActivateInteractiveFormVersion` | `ActivateInteractiveFormVersionAction` | Promotes a Pending override to Active; atomically demotes the prior sibling Active. |
|
|
331
|
+
| `__RevertInteractiveForm` | `RevertInteractiveFormAction` | Re-points an Active override at an older Component row in the same Name lineage. Pure UPDATE; no new rows. |
|
|
332
|
+
|
|
315
333
|
### Demo (6 actions)
|
|
316
334
|
|
|
317
335
|
Reference implementations useful for testing and learning.
|
|
@@ -522,6 +540,6 @@ sequenceDiagram
|
|
|
522
540
|
## Related Packages
|
|
523
541
|
|
|
524
542
|
- **[@memberjunction/actions-base](../Base/README.md)** -- Base classes, interfaces, and metadata engines
|
|
525
|
-
- **[@memberjunction/actions](../Engine/
|
|
543
|
+
- **[@memberjunction/actions](../Engine/README.md)** -- Server-side action execution engine
|
|
526
544
|
- **[Parent Actions README](../README.md)** -- Framework overview, generated actions guide, and best practices
|
|
527
545
|
- **[Parent Actions CLAUDE.md](../CLAUDE.md)** -- Design philosophy and development guidelines
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
3
|
+
/**
|
|
4
|
+
* Action wrapper around {@link Metadata.Provider.SearchEntity}: ranked hybrid
|
|
5
|
+
* (lexical + semantic) search over one entity's records, with permission
|
|
6
|
+
* filtering. The classic agent prompt-seeding case — swap a 1500-row entity
|
|
7
|
+
* dump for "here are 10 likely candidates" — is just
|
|
8
|
+
* `SearchEntity({ entityName: 'MJ: Entities', searchText: userText, options: { topK: 10 } })`.
|
|
9
|
+
*
|
|
10
|
+
* ## When to use this Action vs. the others MJ already exposes
|
|
11
|
+
*
|
|
12
|
+
* - **Search Entity** (this action): "Find me the N most relevant *records* of
|
|
13
|
+
* one entity for this free-text request." Hybrid lexical + semantic ranking,
|
|
14
|
+
* backed by an `EntityDocument` of type `Search`. Use for agent prompt
|
|
15
|
+
* seeding, in-app "find a customer/invoice/document" UX.
|
|
16
|
+
* - **Get Entity Details / Get Entity List**: deterministic metadata or row
|
|
17
|
+
* reads, no ranking. Use when you already know which entity / which records.
|
|
18
|
+
* - **Search Query Catalog** / unified `Search` actions (`@memberjunction/ai-search`):
|
|
19
|
+
* cross-source search across vectors, full-text, entities, storage — broader
|
|
20
|
+
* in scope, slower, requires SearchScope configuration. Use when the agent
|
|
21
|
+
* doesn't know which entity to look in.
|
|
22
|
+
*
|
|
23
|
+
* Returns a JSON payload of `{ count, results: EntitySearchResult[] }` in the
|
|
24
|
+
* action `Message`, plus `Count` and `Results` output params.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* await runAction({
|
|
29
|
+
* ActionName: 'Search Entity',
|
|
30
|
+
* Params: [
|
|
31
|
+
* { Name: 'EntityName', Value: 'MJ: Entities' },
|
|
32
|
+
* { Name: 'SearchText', Value: 'invoices' },
|
|
33
|
+
* { Name: 'TopK', Value: 10 },
|
|
34
|
+
* { Name: 'Mode', Value: 'hybrid' }
|
|
35
|
+
* ]
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare class SearchEntityAction extends BaseAction {
|
|
40
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
41
|
+
private getStringParam;
|
|
42
|
+
private getNumericParam;
|
|
43
|
+
private addOutputParam;
|
|
44
|
+
}
|
|
45
|
+
/** Tree-shaking prevention export — called from the package's barrel to keep
|
|
46
|
+
* the class registration alive under aggressive bundlers. */
|
|
47
|
+
export declare function LoadSearchEntityAction(): void;
|
|
48
|
+
//# sourceMappingURL=search-entity.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-entity.action.d.ts","sourceRoot":"","sources":["../../../src/custom/data/search-entity.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBACa,kBAAmB,SAAQ,UAAU;cAE9B,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqEvF,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;CAGzB;AAED;8DAC8D;AAC9D,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
8
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
9
|
+
import { LogError } from "@memberjunction/core";
|
|
10
|
+
/**
|
|
11
|
+
* Action wrapper around {@link Metadata.Provider.SearchEntity}: ranked hybrid
|
|
12
|
+
* (lexical + semantic) search over one entity's records, with permission
|
|
13
|
+
* filtering. The classic agent prompt-seeding case — swap a 1500-row entity
|
|
14
|
+
* dump for "here are 10 likely candidates" — is just
|
|
15
|
+
* `SearchEntity({ entityName: 'MJ: Entities', searchText: userText, options: { topK: 10 } })`.
|
|
16
|
+
*
|
|
17
|
+
* ## When to use this Action vs. the others MJ already exposes
|
|
18
|
+
*
|
|
19
|
+
* - **Search Entity** (this action): "Find me the N most relevant *records* of
|
|
20
|
+
* one entity for this free-text request." Hybrid lexical + semantic ranking,
|
|
21
|
+
* backed by an `EntityDocument` of type `Search`. Use for agent prompt
|
|
22
|
+
* seeding, in-app "find a customer/invoice/document" UX.
|
|
23
|
+
* - **Get Entity Details / Get Entity List**: deterministic metadata or row
|
|
24
|
+
* reads, no ranking. Use when you already know which entity / which records.
|
|
25
|
+
* - **Search Query Catalog** / unified `Search` actions (`@memberjunction/ai-search`):
|
|
26
|
+
* cross-source search across vectors, full-text, entities, storage — broader
|
|
27
|
+
* in scope, slower, requires SearchScope configuration. Use when the agent
|
|
28
|
+
* doesn't know which entity to look in.
|
|
29
|
+
*
|
|
30
|
+
* Returns a JSON payload of `{ count, results: EntitySearchResult[] }` in the
|
|
31
|
+
* action `Message`, plus `Count` and `Results` output params.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* await runAction({
|
|
36
|
+
* ActionName: 'Search Entity',
|
|
37
|
+
* Params: [
|
|
38
|
+
* { Name: 'EntityName', Value: 'MJ: Entities' },
|
|
39
|
+
* { Name: 'SearchText', Value: 'invoices' },
|
|
40
|
+
* { Name: 'TopK', Value: 10 },
|
|
41
|
+
* { Name: 'Mode', Value: 'hybrid' }
|
|
42
|
+
* ]
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
let SearchEntityAction = class SearchEntityAction extends BaseAction {
|
|
47
|
+
async InternalRunAction(params) {
|
|
48
|
+
try {
|
|
49
|
+
const entityName = this.getStringParam(params, "EntityName");
|
|
50
|
+
const searchText = this.getStringParam(params, "SearchText");
|
|
51
|
+
if (!entityName) {
|
|
52
|
+
return { Success: false, ResultCode: "MISSING_PARAMETER", Message: "Parameter 'EntityName' is required" };
|
|
53
|
+
}
|
|
54
|
+
if (!searchText) {
|
|
55
|
+
return { Success: false, ResultCode: "MISSING_PARAMETER", Message: "Parameter 'SearchText' is required" };
|
|
56
|
+
}
|
|
57
|
+
const mode = this.getStringParam(params, "Mode")?.toLowerCase();
|
|
58
|
+
const validModes = ['lexical', 'semantic', 'hybrid'];
|
|
59
|
+
if (mode && !validModes.includes(mode)) {
|
|
60
|
+
return {
|
|
61
|
+
Success: false,
|
|
62
|
+
ResultCode: "INVALID_PARAMETER",
|
|
63
|
+
Message: `Mode must be one of: ${validModes.join(', ')}`,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const options = {
|
|
67
|
+
mode: mode ?? 'hybrid',
|
|
68
|
+
topK: this.getNumericParam(params, "TopK", 10),
|
|
69
|
+
minScore: this.getNumericParam(params, "MinScore", 0),
|
|
70
|
+
rrfK: this.getNumericParam(params, "RRFK", 60),
|
|
71
|
+
weights: {
|
|
72
|
+
lexical: this.getNumericParam(params, "LexicalWeight", 1.0),
|
|
73
|
+
semantic: this.getNumericParam(params, "SemanticWeight", 1.0),
|
|
74
|
+
},
|
|
75
|
+
entityDocumentId: this.getStringParam(params, "EntityDocumentID"),
|
|
76
|
+
contextUser: params.ContextUser,
|
|
77
|
+
};
|
|
78
|
+
// Always thread the invoking provider through — the action must run
|
|
79
|
+
// against the same metadata layer the caller is bound to (multi-server
|
|
80
|
+
// clients, request-scoped server-side providers). Falling back to the
|
|
81
|
+
// global `new Metadata()` would silently land on the wrong server in
|
|
82
|
+
// multi-provider scenarios. See CLAUDE.md "Don't Reach for the Global
|
|
83
|
+
// Metadata Provider in Per-Provider Code Paths".
|
|
84
|
+
const md = params.Provider;
|
|
85
|
+
if (!md) {
|
|
86
|
+
return {
|
|
87
|
+
Success: false,
|
|
88
|
+
ResultCode: "MISSING_PROVIDER",
|
|
89
|
+
Message: "RunActionParams.Provider is required — SearchEntity must run against the caller's metadata provider.",
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const searchParams = { entityName, searchText, options };
|
|
93
|
+
const results = await md.SearchEntity(searchParams);
|
|
94
|
+
this.addOutputParam(params, "Count", results.length);
|
|
95
|
+
this.addOutputParam(params, "Results", results);
|
|
96
|
+
return {
|
|
97
|
+
Success: true,
|
|
98
|
+
ResultCode: "SUCCESS",
|
|
99
|
+
Message: JSON.stringify({ count: results.length, results }),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
LogError(`SearchEntityAction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
104
|
+
return {
|
|
105
|
+
Success: false,
|
|
106
|
+
ResultCode: "UNEXPECTED_ERROR",
|
|
107
|
+
Message: error instanceof Error ? error.message : String(error),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
getStringParam(params, name) {
|
|
112
|
+
const p = params.Params.find(x => x.Name.trim().toLowerCase() === name.toLowerCase());
|
|
113
|
+
if (!p || p.Value == null)
|
|
114
|
+
return undefined;
|
|
115
|
+
const v = String(p.Value).trim();
|
|
116
|
+
return v.length > 0 ? v : undefined;
|
|
117
|
+
}
|
|
118
|
+
getNumericParam(params, name, defaultValue) {
|
|
119
|
+
const p = params.Params.find(x => x.Name.trim().toLowerCase() === name.toLowerCase());
|
|
120
|
+
if (!p || p.Value == null)
|
|
121
|
+
return defaultValue;
|
|
122
|
+
const n = Number(p.Value);
|
|
123
|
+
return Number.isFinite(n) ? n : defaultValue;
|
|
124
|
+
}
|
|
125
|
+
addOutputParam(params, name, value) {
|
|
126
|
+
params.Params.push({ Name: name, Type: "Output", Value: value });
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
SearchEntityAction = __decorate([
|
|
130
|
+
RegisterClass(BaseAction, "Search Entity")
|
|
131
|
+
], SearchEntityAction);
|
|
132
|
+
export { SearchEntityAction };
|
|
133
|
+
/** Tree-shaking prevention export — called from the package's barrel to keep
|
|
134
|
+
* the class registration alive under aggressive bundlers. */
|
|
135
|
+
export function LoadSearchEntityAction() {
|
|
136
|
+
// intentionally empty
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=search-entity.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-entity.action.js","sourceRoot":"","sources":["../../../src/custom/data/search-entity.action.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAEpC,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;YAC9G,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;YAC9G,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;YAChE,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,mBAAmB;oBAC/B,OAAO,EAAE,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC3D,CAAC;YACN,CAAC;YAED,MAAM,OAAO,GAA0B;gBACnC,IAAI,EAAG,IAAsC,IAAI,QAAQ;gBACzD,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC9C,OAAO,EAAE;oBACL,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC;oBAC3D,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC;iBAChE;gBACD,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBACjE,WAAW,EAAE,MAAM,CAAC,WAAW;aAClC,CAAC;YAEF,oEAAoE;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,iDAAiD;YACjD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAmD,CAAC;YACtE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,OAAO,EAAE,sGAAsG;iBAClH,CAAC;YACN,CAAC;YACD,MAAM,YAAY,GAAuB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YAC7E,MAAM,OAAO,GAAyB,MAAM,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAE1E,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAEhD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;aAC9D,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjG,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,kBAAkB;gBAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,MAAuB,EAAE,IAAY;QACxD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;IAEO,eAAe,CAAC,MAAuB,EAAE,IAAY,EAAE,YAAoB;QAC/E,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,YAAY,CAAC;QAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACjD,CAAC;IAEO,cAAc,CAAC,MAAuB,EAAE,IAAY,EAAE,KAAc;QACxE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;CACJ,CAAA;AAxFY,kBAAkB;IAD9B,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC;GAC9B,kBAAkB,CAwF9B;;AAED;8DAC8D;AAC9D,MAAM,UAAU,sBAAsB;IAClC,sBAAsB;AAC1B,CAAC"}
|
|
@@ -44,6 +44,8 @@ export declare class ScheduledGeocodingAction extends BaseAction {
|
|
|
44
44
|
private static readonly DEFAULT_MAX_TOTAL;
|
|
45
45
|
/** Page size for RunView pagination — controls how many BaseEntity objects exist simultaneously. */
|
|
46
46
|
private static readonly PAGE_SIZE;
|
|
47
|
+
/** Indentation prefix for child log lines nested under a group/entity header. */
|
|
48
|
+
private static readonly INDENT;
|
|
47
49
|
/**
|
|
48
50
|
* Geocoding provider name in effect for the current run. Set at the top of
|
|
49
51
|
* InternalRunAction from the 'GeocodingProvider' action parameter and read
|
|
@@ -128,6 +130,9 @@ export declare class ScheduledGeocodingAction extends BaseAction {
|
|
|
128
130
|
* @param contextUser - User context
|
|
129
131
|
* @param batchSize - Number of concurrent geocoding operations per batch
|
|
130
132
|
* @param existingGeoCodesMap - Optional pre-loaded map passed to GeoCodeSyncService
|
|
133
|
+
* @param progress - Optional console progress context. When supplied, each batch logs a
|
|
134
|
+
* cumulative `records X–Y of Total` line (anchored to `progress.Offset`) instead of a
|
|
135
|
+
* per-call `batch N/M` line that resets every page.
|
|
131
136
|
*/
|
|
132
137
|
private geocodeBatch;
|
|
133
138
|
/**
|
|
@@ -155,6 +160,28 @@ export declare class ScheduledGeocodingAction extends BaseAction {
|
|
|
155
160
|
* exactly the same contract as a real save event.
|
|
156
161
|
*/
|
|
157
162
|
private fireSyntheticSaveEvent;
|
|
163
|
+
/**
|
|
164
|
+
* Format an integer with locale thousands separators for console output
|
|
165
|
+
* (e.g. `2000` → `2,000`). Pinned to `en-US` for deterministic logs.
|
|
166
|
+
*/
|
|
167
|
+
private fmt;
|
|
168
|
+
/**
|
|
169
|
+
* Emit the group header that precedes a single entity's batch lines, e.g.
|
|
170
|
+
* `📍 Members — 2,000 records with address data`.
|
|
171
|
+
*/
|
|
172
|
+
private logEntityHeader;
|
|
173
|
+
/**
|
|
174
|
+
* Emit one indented, cumulative batch line beneath the entity header, e.g.
|
|
175
|
+
* ` ✓ records 1,991–2,000 of 2,000 · 10/10 (page 4)`. The range is anchored
|
|
176
|
+
* to `progress.Offset` so the numbers run continuously across every page.
|
|
177
|
+
*/
|
|
178
|
+
private logBatchProgress;
|
|
179
|
+
/**
|
|
180
|
+
* Emit the indented per-entity completion line, reconciling geocoded vs.
|
|
181
|
+
* failed vs. already-current against the candidate total, e.g.
|
|
182
|
+
* ` ✅ Members — 1,974 geocoded, 26 already current`.
|
|
183
|
+
*/
|
|
184
|
+
private logEntityComplete;
|
|
158
185
|
/**
|
|
159
186
|
* Get the geo address fields (non-lat/lng) for an entity.
|
|
160
187
|
* These are the fields that, when non-null, indicate a record
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled-geocoding.action.d.ts","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduled-geocoding.action.d.ts","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA2BrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBACa,wBAAyB,SAAQ,UAAU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAK;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,qGAAqG;IACrG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,oGAAoG;IACpG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;IACxC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEvC;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB,CAAuB;cAEvC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgDvF;;;;OAIG;YACW,qBAAqB;IA2BnC;;;;;;;;;;OAUG;YACW,uBAAuB;IAoGrC;;;;;;;;;OASG;YACW,oBAAoB;IAyBlC;;;OAGG;YACW,oBAAoB;IA4BlC;;;;OAIG;YACW,oBAAoB;IAwElC;;;OAGG;YACW,kBAAkB;IA6BhC;;;;OAIG;YACW,sBAAsB;IAgDpC;;;;OAIG;YACW,uBAAuB;IAmDrC;;;;;;;;;;;;;;;;;;OAkBG;YACW,YAAY;IA4B1B;;;;;;;;;;OAUG;YACW,oBAAoB;IA2BlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;OAGG;IACH,OAAO,CAAC,GAAG;IAIX;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;;;;;;OASG;YACW,uBAAuB;IAoCrC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,cAAc;CAMzB"}
|
|
@@ -69,6 +69,8 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
69
69
|
static { this.DEFAULT_MAX_TOTAL = 50_000; }
|
|
70
70
|
/** Page size for RunView pagination — controls how many BaseEntity objects exist simultaneously. */
|
|
71
71
|
static { this.PAGE_SIZE = 500; }
|
|
72
|
+
/** Indentation prefix for child log lines nested under a group/entity header. */
|
|
73
|
+
static { this.INDENT = ' '; }
|
|
72
74
|
async InternalRunAction(params) {
|
|
73
75
|
const contextUser = params.ContextUser;
|
|
74
76
|
if (!contextUser) {
|
|
@@ -79,7 +81,7 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
79
81
|
const maxTotal = this.getNumericParam(params, 'MaxTotalRecords', ScheduledGeocodingAction_1.DEFAULT_MAX_TOTAL);
|
|
80
82
|
const geocodingProvider = this.getStringParam(params, 'GeocodingProvider');
|
|
81
83
|
this.currentGeocodingProvider = geocodingProvider ?? null;
|
|
82
|
-
LogStatus(
|
|
84
|
+
LogStatus(`🌍 Scheduled Geocoding — starting (batch ${batchSize} · max ${this.fmt(maxTotal)} · provider ${geocodingProvider ?? 'config-default'})`);
|
|
83
85
|
const stats = { MissingProcessed: 0, MissingSuccess: 0, RetriesProcessed: 0, RetriesSuccess: 0, OrphansRemoved: 0 };
|
|
84
86
|
// Step 1: Find and geocode missing records
|
|
85
87
|
const missingStats = await this.processMissingRecords(contextUser, batchSize, maxTotal, params.Provider);
|
|
@@ -94,9 +96,9 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
94
96
|
stats.OrphansRemoved = await this.cleanupOrphanedRecords(contextUser, batchSize, params.Provider);
|
|
95
97
|
const totalRecordsProcessed = stats.MissingProcessed + stats.RetriesProcessed;
|
|
96
98
|
if (totalRecordsProcessed >= maxTotal) {
|
|
97
|
-
LogStatus(
|
|
99
|
+
LogStatus(`⚠️ MaxTotal limit (${this.fmt(maxTotal)}) reached — remaining records will be picked up on the next run.`);
|
|
98
100
|
}
|
|
99
|
-
LogStatus(
|
|
101
|
+
LogStatus(`🏁 Scheduled Geocoding — complete · missing ${this.fmt(stats.MissingProcessed)} (${this.fmt(stats.MissingSuccess)} ✓) · retries ${this.fmt(stats.RetriesProcessed)} (${this.fmt(stats.RetriesSuccess)} ✓) · orphans ${this.fmt(stats.OrphansRemoved)} removed`);
|
|
100
102
|
return {
|
|
101
103
|
Success: true,
|
|
102
104
|
ResultCode: 'SUCCESS',
|
|
@@ -125,7 +127,7 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
125
127
|
totalSuccess += entityStats.Success;
|
|
126
128
|
}
|
|
127
129
|
if (totalProcessed > 0) {
|
|
128
|
-
LogStatus(
|
|
130
|
+
LogStatus(`✅ Missing-record geocoding complete — ${this.fmt(totalProcessed)} processed, ${this.fmt(totalSuccess)} geocoded`);
|
|
129
131
|
}
|
|
130
132
|
return { Processed: totalProcessed, Success: totalSuccess };
|
|
131
133
|
}
|
|
@@ -160,15 +162,23 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
160
162
|
let totalSuccess = 0;
|
|
161
163
|
let pageOffset = 0; // OFFSET-mode (composite-PK fallback)
|
|
162
164
|
let lastSeenKey; // keyset mode
|
|
165
|
+
let pageNumber = 0; // 1-based, shown in batch lines
|
|
166
|
+
let candidateTotal = 0; // denominator: records with address data (from page-1 TotalRowCount)
|
|
167
|
+
let headerLogged = false; // emit the entity header lazily, only when there's work to do
|
|
163
168
|
// Paginate through entity records to avoid loading all into memory at once.
|
|
164
169
|
// Keyset pagination keeps each page O(log N) regardless of depth — a critical
|
|
165
170
|
// win when the entity has millions of rows. See guides/KEYSET_PAGINATION_GUIDE.md.
|
|
166
171
|
while (totalProcessed < maxRows) {
|
|
172
|
+
pageNumber++;
|
|
167
173
|
const pageResult = canUseKeyset
|
|
168
174
|
? await this.loadEntityPageKeyset(entityInfo.Name, pkField.Name, nonNullConditions, lastSeenKey, contextUser)
|
|
169
175
|
: await this.loadEntityPageOffset(entityInfo.Name, nonNullConditions, pageOffset, contextUser);
|
|
170
176
|
if (!pageResult.Success || pageResult.Results.length === 0)
|
|
171
177
|
break;
|
|
178
|
+
// TotalRowCount reports the full count matching the filter regardless of the
|
|
179
|
+
// keyset seek predicate / page offset, so the first page gives us a stable denominator.
|
|
180
|
+
if (candidateTotal === 0)
|
|
181
|
+
candidateTotal = pageResult.TotalRowCount;
|
|
172
182
|
const pageEntities = pageResult.Results;
|
|
173
183
|
// Filter to records missing geocodes (not in existingMap for any LocationType)
|
|
174
184
|
const missingRecords = pageEntities.filter(entity => {
|
|
@@ -179,9 +189,18 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
179
189
|
return !existingMap.has(key);
|
|
180
190
|
});
|
|
181
191
|
if (missingRecords.length > 0) {
|
|
192
|
+
if (!headerLogged) {
|
|
193
|
+
this.logEntityHeader(entityInfo, candidateTotal);
|
|
194
|
+
headerLogged = true;
|
|
195
|
+
}
|
|
182
196
|
const budget = maxRows - totalProcessed;
|
|
183
197
|
const toProcess = missingRecords.slice(0, budget);
|
|
184
|
-
const stats = await this.geocodeBatch(toProcess, entityInfo, contextUser, batchSize, existingMap
|
|
198
|
+
const stats = await this.geocodeBatch(toProcess, entityInfo, contextUser, batchSize, existingMap, {
|
|
199
|
+
Label: entityInfo.Name,
|
|
200
|
+
Total: candidateTotal,
|
|
201
|
+
Offset: totalProcessed,
|
|
202
|
+
Page: pageNumber
|
|
203
|
+
});
|
|
185
204
|
totalProcessed += stats.Processed;
|
|
186
205
|
totalSuccess += stats.Success;
|
|
187
206
|
}
|
|
@@ -200,6 +219,9 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
200
219
|
pageOffset += ScheduledGeocodingAction_1.PAGE_SIZE;
|
|
201
220
|
}
|
|
202
221
|
}
|
|
222
|
+
if (headerLogged) {
|
|
223
|
+
this.logEntityComplete(entityInfo, totalProcessed, totalSuccess, candidateTotal);
|
|
224
|
+
}
|
|
203
225
|
return { Processed: totalProcessed, Success: totalSuccess };
|
|
204
226
|
}
|
|
205
227
|
catch (e) {
|
|
@@ -231,7 +253,8 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
231
253
|
}, contextUser);
|
|
232
254
|
return {
|
|
233
255
|
Success: result.Success,
|
|
234
|
-
Results: result.Success ? result.Results : []
|
|
256
|
+
Results: result.Success ? result.Results : [],
|
|
257
|
+
TotalRowCount: result.Success ? result.TotalRowCount : 0
|
|
235
258
|
};
|
|
236
259
|
}
|
|
237
260
|
/**
|
|
@@ -251,7 +274,8 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
251
274
|
}, contextUser);
|
|
252
275
|
return {
|
|
253
276
|
Success: result.Success,
|
|
254
|
-
Results: result.Success ? result.Results : []
|
|
277
|
+
Results: result.Success ? result.Results : [],
|
|
278
|
+
TotalRowCount: result.Success ? result.TotalRowCount : 0
|
|
255
279
|
};
|
|
256
280
|
}
|
|
257
281
|
// ================================================================
|
|
@@ -270,6 +294,7 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
270
294
|
let totalProcessed = 0;
|
|
271
295
|
let totalSuccess = 0;
|
|
272
296
|
let pageOffset = 0;
|
|
297
|
+
let retryTotal = 0; // denominator: total failed-and-retriable rows (from page-1 TotalRowCount)
|
|
273
298
|
while (totalProcessed < maxTotal) {
|
|
274
299
|
const pageResult = await rv.RunView({
|
|
275
300
|
EntityName: 'MJ: Record Geo Codes',
|
|
@@ -285,7 +310,8 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
285
310
|
const budget = maxTotal - totalProcessed;
|
|
286
311
|
const records = pageResult.Results.slice(0, budget);
|
|
287
312
|
if (totalProcessed === 0) {
|
|
288
|
-
|
|
313
|
+
retryTotal = Math.min(pageResult.TotalRowCount, maxTotal);
|
|
314
|
+
LogStatus(`🔁 Retrying failed geocodes — ${this.fmt(retryTotal)} pending`);
|
|
289
315
|
}
|
|
290
316
|
// Group by entity for efficient processing
|
|
291
317
|
const byEntity = new Map();
|
|
@@ -305,7 +331,11 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
305
331
|
const entities = await this.loadSourceEntities(geoRecords, entityInfo, contextUser, provider);
|
|
306
332
|
if (entities.length === 0)
|
|
307
333
|
continue;
|
|
308
|
-
const stats = await this.geocodeBatch(entities, entityInfo, contextUser, batchSize
|
|
334
|
+
const stats = await this.geocodeBatch(entities, entityInfo, contextUser, batchSize, undefined, {
|
|
335
|
+
Label: entityInfo.Name,
|
|
336
|
+
Total: retryTotal,
|
|
337
|
+
Offset: totalProcessed
|
|
338
|
+
});
|
|
309
339
|
totalProcessed += stats.Processed;
|
|
310
340
|
totalSuccess += stats.Success;
|
|
311
341
|
}
|
|
@@ -418,7 +448,7 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
418
448
|
hasMore = orphans.length >= ScheduledGeocodingAction_1.PAGE_SIZE;
|
|
419
449
|
}
|
|
420
450
|
if (entityRemoved > 0) {
|
|
421
|
-
LogStatus(
|
|
451
|
+
LogStatus(`🧹 ${entityInfo.Name} — removed ${this.fmt(entityRemoved)} orphaned geo records`);
|
|
422
452
|
}
|
|
423
453
|
return entityRemoved;
|
|
424
454
|
}
|
|
@@ -440,16 +470,19 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
440
470
|
* @param contextUser - User context
|
|
441
471
|
* @param batchSize - Number of concurrent geocoding operations per batch
|
|
442
472
|
* @param existingGeoCodesMap - Optional pre-loaded map passed to GeoCodeSyncService
|
|
473
|
+
* @param progress - Optional console progress context. When supplied, each batch logs a
|
|
474
|
+
* cumulative `records X–Y of Total` line (anchored to `progress.Offset`) instead of a
|
|
475
|
+
* per-call `batch N/M` line that resets every page.
|
|
443
476
|
*/
|
|
444
|
-
async geocodeBatch(entities, entityInfo, contextUser, batchSize, existingGeoCodesMap) {
|
|
477
|
+
async geocodeBatch(entities, entityInfo, contextUser, batchSize, existingGeoCodesMap, progress) {
|
|
445
478
|
let totalSuccess = 0;
|
|
446
479
|
for (let i = 0; i < entities.length; i += batchSize) {
|
|
447
480
|
const batch = entities.slice(i, i + batchSize);
|
|
448
481
|
const results = await Promise.allSettled(batch.map(entity => this.geocodeAndInvalidate(entity, contextUser, existingGeoCodesMap)));
|
|
449
482
|
const batchSuccess = results.filter(r => r.status === 'fulfilled' && r.value).length;
|
|
450
483
|
totalSuccess += batchSuccess;
|
|
451
|
-
if (
|
|
452
|
-
|
|
484
|
+
if (progress) {
|
|
485
|
+
this.logBatchProgress(progress, i, batch.length, batchSuccess);
|
|
453
486
|
}
|
|
454
487
|
}
|
|
455
488
|
return { Processed: entities.length, Success: totalSuccess };
|
|
@@ -513,6 +546,56 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
|
|
|
513
546
|
});
|
|
514
547
|
}
|
|
515
548
|
// ================================================================
|
|
549
|
+
// Console UX helpers
|
|
550
|
+
// ================================================================
|
|
551
|
+
/**
|
|
552
|
+
* Format an integer with locale thousands separators for console output
|
|
553
|
+
* (e.g. `2000` → `2,000`). Pinned to `en-US` for deterministic logs.
|
|
554
|
+
*/
|
|
555
|
+
fmt(n) {
|
|
556
|
+
return n.toLocaleString('en-US');
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Emit the group header that precedes a single entity's batch lines, e.g.
|
|
560
|
+
* `📍 Members — 2,000 records with address data`.
|
|
561
|
+
*/
|
|
562
|
+
logEntityHeader(entityInfo, candidateTotal) {
|
|
563
|
+
const scope = candidateTotal > 0
|
|
564
|
+
? `${this.fmt(candidateTotal)} records with address data`
|
|
565
|
+
: 'records with address data';
|
|
566
|
+
LogStatus(`📍 ${entityInfo.Name} — ${scope}`);
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Emit one indented, cumulative batch line beneath the entity header, e.g.
|
|
570
|
+
* ` ✓ records 1,991–2,000 of 2,000 · 10/10 (page 4)`. The range is anchored
|
|
571
|
+
* to `progress.Offset` so the numbers run continuously across every page.
|
|
572
|
+
*/
|
|
573
|
+
logBatchProgress(progress, localIndex, batchCount, batchSuccess) {
|
|
574
|
+
const start = progress.Offset + localIndex + 1;
|
|
575
|
+
const end = progress.Offset + localIndex + batchCount;
|
|
576
|
+
const total = progress.Total > 0 ? this.fmt(progress.Total) : '?';
|
|
577
|
+
const allOk = batchSuccess === batchCount;
|
|
578
|
+
const icon = allOk ? '✓' : '⚠';
|
|
579
|
+
const failNote = allOk ? '' : ` · ${this.fmt(batchCount - batchSuccess)} failed`;
|
|
580
|
+
const pageNote = progress.Page != null ? ` (page ${progress.Page})` : '';
|
|
581
|
+
LogStatus(`${ScheduledGeocodingAction_1.INDENT}${icon} records ${this.fmt(start)}–${this.fmt(end)} of ${total} · ${batchSuccess}/${batchCount}${failNote}${pageNote}`);
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Emit the indented per-entity completion line, reconciling geocoded vs.
|
|
585
|
+
* failed vs. already-current against the candidate total, e.g.
|
|
586
|
+
* ` ✅ Members — 1,974 geocoded, 26 already current`.
|
|
587
|
+
*/
|
|
588
|
+
logEntityComplete(entityInfo, processed, success, candidateTotal) {
|
|
589
|
+
const failed = processed - success;
|
|
590
|
+
const alreadyCurrent = candidateTotal > 0 ? Math.max(0, candidateTotal - processed) : 0;
|
|
591
|
+
const parts = [`${this.fmt(success)} geocoded`];
|
|
592
|
+
if (failed > 0)
|
|
593
|
+
parts.push(`${this.fmt(failed)} failed`);
|
|
594
|
+
if (alreadyCurrent > 0)
|
|
595
|
+
parts.push(`${this.fmt(alreadyCurrent)} already current`);
|
|
596
|
+
LogStatus(`${ScheduledGeocodingAction_1.INDENT}✅ ${entityInfo.Name} — ${parts.join(', ')}`);
|
|
597
|
+
}
|
|
598
|
+
// ================================================================
|
|
516
599
|
// Helpers
|
|
517
600
|
// ================================================================
|
|
518
601
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled-geocoding.action.js","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduled-geocoding.action.js","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"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"}
|