@memberjunction/cli 6.2.0-edge.2 → 6.2.0-edge.4
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 +9 -0
- package/dist/commands/artifacts/reclassify.d.ts.map +1 -1
- package/dist/commands/artifacts/reclassify.js +4 -2
- package/dist/commands/artifacts/reclassify.js.map +1 -1
- package/dist/commands/cache/clear.d.ts +25 -0
- package/dist/commands/cache/clear.d.ts.map +1 -0
- package/dist/commands/cache/clear.js +79 -0
- package/dist/commands/cache/clear.js.map +1 -0
- package/dist/commands/cache/usage.d.ts +7 -0
- package/dist/commands/cache/usage.d.ts.map +1 -0
- package/dist/commands/cache/usage.js +10 -0
- package/dist/commands/cache/usage.js.map +1 -0
- package/dist/commands/codegen/index.d.ts +15 -6
- package/dist/commands/codegen/index.d.ts.map +1 -1
- package/dist/commands/codegen/index.js +35 -4
- package/dist/commands/codegen/index.js.map +1 -1
- package/dist/commands/install/index.d.ts.map +1 -1
- package/dist/commands/install/index.js +7 -1
- package/dist/commands/install/index.js.map +1 -1
- package/dist/commands/migrate/index.d.ts +10 -0
- package/dist/commands/migrate/index.d.ts.map +1 -1
- package/dist/commands/migrate/index.js +42 -0
- package/dist/commands/migrate/index.js.map +1 -1
- package/dist/commands/queue/backlog.d.ts +11 -0
- package/dist/commands/queue/backlog.d.ts.map +1 -0
- package/dist/commands/queue/backlog.js +32 -0
- package/dist/commands/queue/backlog.js.map +1 -0
- package/dist/commands/queue/dead-letters.d.ts +13 -0
- package/dist/commands/queue/dead-letters.d.ts.map +1 -0
- package/dist/commands/queue/dead-letters.js +35 -0
- package/dist/commands/queue/dead-letters.js.map +1 -0
- package/dist/commands/queue/discard.d.ts +12 -0
- package/dist/commands/queue/discard.d.ts.map +1 -0
- package/dist/commands/queue/discard.js +45 -0
- package/dist/commands/queue/discard.js.map +1 -0
- package/dist/commands/queue/export-topology.d.ts +12 -0
- package/dist/commands/queue/export-topology.d.ts.map +1 -0
- package/dist/commands/queue/export-topology.js +40 -0
- package/dist/commands/queue/export-topology.js.map +1 -0
- package/dist/commands/queue/import-bindings.d.ts +14 -0
- package/dist/commands/queue/import-bindings.d.ts.map +1 -0
- package/dist/commands/queue/import-bindings.js +41 -0
- package/dist/commands/queue/import-bindings.js.map +1 -0
- package/dist/commands/queue/index.d.ts +7 -0
- package/dist/commands/queue/index.d.ts.map +1 -0
- package/dist/commands/queue/index.js +25 -0
- package/dist/commands/queue/index.js.map +1 -0
- package/dist/commands/queue/partitions.d.ts +14 -0
- package/dist/commands/queue/partitions.d.ts.map +1 -0
- package/dist/commands/queue/partitions.js +36 -0
- package/dist/commands/queue/partitions.js.map +1 -0
- package/dist/commands/queue/publish.d.ts +35 -0
- package/dist/commands/queue/publish.d.ts.map +1 -0
- package/dist/commands/queue/publish.js +94 -0
- package/dist/commands/queue/publish.js.map +1 -0
- package/dist/commands/queue/replay.d.ts +12 -0
- package/dist/commands/queue/replay.d.ts.map +1 -0
- package/dist/commands/queue/replay.js +42 -0
- package/dist/commands/queue/replay.js.map +1 -0
- package/dist/commands/queue/stats.d.ts +11 -0
- package/dist/commands/queue/stats.d.ts.map +1 -0
- package/dist/commands/queue/stats.js +35 -0
- package/dist/commands/queue/stats.js.map +1 -0
- package/dist/commands/queue/usage.d.ts +7 -0
- package/dist/commands/queue/usage.d.ts.map +1 -0
- package/dist/commands/queue/usage.js +10 -0
- package/dist/commands/queue/usage.js.map +1 -0
- package/dist/commands/queue/validate-bindings.d.ts +12 -0
- package/dist/commands/queue/validate-bindings.d.ts.map +1 -0
- package/dist/commands/queue/validate-bindings.js +37 -0
- package/dist/commands/queue/validate-bindings.js.map +1 -0
- package/dist/commands/queue/work.d.ts +20 -0
- package/dist/commands/queue/work.d.ts.map +1 -0
- package/dist/commands/queue/work.js +77 -0
- package/dist/commands/queue/work.js.map +1 -0
- package/dist/commands/rubric/evaluate.d.ts +3 -0
- package/dist/commands/rubric/evaluate.d.ts.map +1 -1
- package/dist/commands/rubric/evaluate.js +9 -2
- package/dist/commands/rubric/evaluate.js.map +1 -1
- package/dist/commands/sync/push.d.ts +33 -8
- package/dist/commands/sync/push.d.ts.map +1 -1
- package/dist/commands/sync/push.js +94 -6
- package/dist/commands/sync/push.js.map +1 -1
- package/dist/commands/user/clone.d.ts +27 -0
- package/dist/commands/user/clone.d.ts.map +1 -0
- package/dist/commands/user/clone.js +106 -0
- package/dist/commands/user/clone.js.map +1 -0
- package/dist/hooks/postrun.d.ts +1 -1
- package/dist/hooks/prerun.d.ts.map +1 -1
- package/dist/hooks/prerun.js +9 -0
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/domain-profiles.d.ts.map +1 -1
- package/dist/lib/domain-profiles.js +8 -0
- package/dist/lib/domain-profiles.js.map +1 -1
- package/dist/lib/keep-awake.d.ts +45 -0
- package/dist/lib/keep-awake.d.ts.map +1 -0
- package/dist/lib/keep-awake.js +71 -0
- package/dist/lib/keep-awake.js.map +1 -0
- package/dist/lib/shared-cache.d.ts +84 -0
- package/dist/lib/shared-cache.d.ts.map +1 -0
- package/dist/lib/shared-cache.js +160 -0
- package/dist/lib/shared-cache.js.map +1 -0
- package/dist/lib/work-queue/queue-format.d.ts +17 -0
- package/dist/lib/work-queue/queue-format.d.ts.map +1 -0
- package/dist/lib/work-queue/queue-format.js +125 -0
- package/dist/lib/work-queue/queue-format.js.map +1 -0
- package/dist/lib/work-queue/queue-session.d.ts +9 -0
- package/dist/lib/work-queue/queue-session.d.ts.map +1 -0
- package/dist/lib/work-queue/queue-session.js +8 -0
- package/dist/lib/work-queue/queue-session.js.map +1 -0
- package/dist/lib/work-queue/queue-worker.d.ts +24 -0
- package/dist/lib/work-queue/queue-worker.d.ts.map +1 -0
- package/dist/lib/work-queue/queue-worker.js +50 -0
- package/dist/lib/work-queue/queue-worker.js.map +1 -0
- package/dist/light-commands.d.ts +8 -0
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +36 -0
- package/dist/light-commands.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +6 -0
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +3 -3
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +2041 -1155
- package/package.json +29 -25
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RemoteOpResult } from '@memberjunction/core';
|
|
2
|
+
import type { WorkQueueBindingIssueRow, WorkQueueGetBacklogOutput, WorkQueueListDeadLettersOutput, WorkQueueListPartitionsInput, WorkQueueListPartitionsOutput, WorkQueueStatsFailureRow, WorkQueueSubscriptionStatsRow } from '@memberjunction/core-entities';
|
|
3
|
+
import type { BindingImport } from '@memberjunction/work-queue-core';
|
|
4
|
+
type PartitionConditionOption = NonNullable<WorkQueueListPartitionsInput['condition']>;
|
|
5
|
+
export declare const PARTITION_CONDITION_OPTIONS: readonly PartitionConditionOption[];
|
|
6
|
+
export declare function FormatTable(headers: string[], rows: string[][]): string;
|
|
7
|
+
export declare function FormatStatsTable(rows: WorkQueueSubscriptionStatsRow[], failures: WorkQueueStatsFailureRow[]): string;
|
|
8
|
+
export declare function FormatDeadLetters(output: WorkQueueListDeadLettersOutput): string;
|
|
9
|
+
export declare function FormatPartitions(output: WorkQueueListPartitionsOutput): string;
|
|
10
|
+
export declare function FormatBacklog(output: WorkQueueGetBacklogOutput): string;
|
|
11
|
+
export declare function FormatBindingIssues(issues: WorkQueueBindingIssueRow[]): string;
|
|
12
|
+
export declare function HasBindingErrors(issues: WorkQueueBindingIssueRow[]): boolean;
|
|
13
|
+
export declare function ParseBindingImport(json: string): BindingImport;
|
|
14
|
+
export declare function RequireOperationOutput<T>(result: RemoteOpResult<T>, operationKey: string): T;
|
|
15
|
+
export declare function ToPartitionCondition(value: string | undefined): PartitionConditionOption | undefined;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=queue-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-format.d.ts","sourceRoot":"","sources":["../../../src/lib/work-queue/queue-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACR,wBAAwB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,4BAA4B,EACjH,6BAA6B,EAAE,wBAAwB,EAAE,6BAA6B,EACzF,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,iCAAiC,CAAC;AAE/E,KAAK,wBAAwB,GAAG,WAAW,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;AAEvF,eAAO,MAAM,2BAA2B,EAAE,SAAS,wBAAwB,EAAoC,CAAC;AAKhH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAIvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,6BAA6B,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAapH;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,CAehF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,6BAA6B,GAAG,MAAM,CAY9E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CAMvE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAK9E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAe9D;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,CAK5F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,wBAAwB,GAAG,SAAS,CASpG"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
export const PARTITION_CONDITION_OPTIONS = ['Idle', 'InFlight', 'Blocked'];
|
|
2
|
+
const UNKNOWN = '—';
|
|
3
|
+
const MAX_ERROR_WIDTH = 60;
|
|
4
|
+
export function FormatTable(headers, rows) {
|
|
5
|
+
const widths = headers.map((header, index) => Math.max(header.length, ...rows.map(row => (row[index] ?? '').length)));
|
|
6
|
+
const line = (cells) => cells.map((cell, index) => cell.padEnd(widths[index])).join(' ').trimEnd();
|
|
7
|
+
return [line(headers), line(widths.map(width => '-'.repeat(width))), ...rows.map(line)].join('\n');
|
|
8
|
+
}
|
|
9
|
+
export function FormatStatsTable(rows, failures) {
|
|
10
|
+
if (rows.length === 0 && failures.length === 0) {
|
|
11
|
+
return 'No subscriptions.';
|
|
12
|
+
}
|
|
13
|
+
const table = rows.length === 0 ? '' : FormatTable(['Subscription', 'Pending', 'In flight', 'Dead', 'Blocked keys', 'Oldest pending (s)', 'Done/hour'], rows.map(row => [
|
|
14
|
+
row.SubscriptionName, String(row.Pending), String(row.InFlight), String(row.DeadLettered), Optional(row.BlockedKeys),
|
|
15
|
+
Optional(row.OldestPendingAgeSeconds), Optional(row.CompletedLastHour),
|
|
16
|
+
]));
|
|
17
|
+
const failed = failures.map(failure => `! ${failure.subscriptionName}: ${failure.error}`);
|
|
18
|
+
return [table, ...failed].filter(part => part !== '').join('\n');
|
|
19
|
+
}
|
|
20
|
+
export function FormatDeadLetters(output) {
|
|
21
|
+
if (!output.supported) {
|
|
22
|
+
return "This subscription's transport cannot list dead letters.";
|
|
23
|
+
}
|
|
24
|
+
if (output.items.length === 0) {
|
|
25
|
+
return 'No dead letters.';
|
|
26
|
+
}
|
|
27
|
+
const table = FormatTable(['Delivery', 'Partition key', 'Attempts', 'Reason', 'Blocks key', 'Dead-lettered at', 'Last error'], output.items.map(item => [
|
|
28
|
+
item.DeliveryID, item.PartitionKey ?? UNKNOWN, String(item.Attempts), item.Reason, item.BlocksKey ? 'yes' : 'no',
|
|
29
|
+
item.DeadLetteredAt ?? UNKNOWN, Truncate(item.LastError ?? '', MAX_ERROR_WIDTH),
|
|
30
|
+
]));
|
|
31
|
+
return WithCursor(table, output.nextCursor);
|
|
32
|
+
}
|
|
33
|
+
export function FormatPartitions(output) {
|
|
34
|
+
if (!output.supported) {
|
|
35
|
+
return "This subscription's transport cannot list partitions.";
|
|
36
|
+
}
|
|
37
|
+
if (output.items.length === 0) {
|
|
38
|
+
return 'No partitions match.';
|
|
39
|
+
}
|
|
40
|
+
const table = FormatTable(['Partition key', 'Condition', 'Head delivery', 'Waiting'], output.items.map(item => [item.PartitionKey, item.Condition, item.HeadDeliveryID ?? UNKNOWN, String(item.WaitingItems)]));
|
|
41
|
+
return WithCursor(table, output.nextCursor);
|
|
42
|
+
}
|
|
43
|
+
export function FormatBacklog(output) {
|
|
44
|
+
if (!output.supported) {
|
|
45
|
+
return "This subscription's transport reports no backlog; scale from the transport's own metrics.";
|
|
46
|
+
}
|
|
47
|
+
const line = `claimable ${output.claimable} · in flight ${output.inFlight} · total ${output.total}`;
|
|
48
|
+
return output.capped ? `${line} (capped at 1000 — the real backlog is at least this large)` : line;
|
|
49
|
+
}
|
|
50
|
+
export function FormatBindingIssues(issues) {
|
|
51
|
+
if (issues.length === 0) {
|
|
52
|
+
return 'No binding issues.';
|
|
53
|
+
}
|
|
54
|
+
return issues.map(issue => `${issue.Severity === 'Error' ? '✖' : '⚠'} ${issue.Severity} ${issue.Subject}: ${issue.Message}`).join('\n');
|
|
55
|
+
}
|
|
56
|
+
export function HasBindingErrors(issues) {
|
|
57
|
+
return issues.some(issue => issue.Severity === 'Error');
|
|
58
|
+
}
|
|
59
|
+
export function ParseBindingImport(json) {
|
|
60
|
+
let parsed;
|
|
61
|
+
try {
|
|
62
|
+
parsed = JSON.parse(json);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
throw new Error('Binding import file is not valid JSON');
|
|
66
|
+
}
|
|
67
|
+
if (!IsRecord(parsed) || parsed.ManifestVersion !== 1 || !Array.isArray(parsed.Topics) || !Array.isArray(parsed.Subscriptions)) {
|
|
68
|
+
throw new Error('Binding import must be { "ManifestVersion": 1, "Topics": [...], "Subscriptions": [...] }');
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
ManifestVersion: 1,
|
|
72
|
+
Topics: parsed.Topics.map((entry, index) => BindingEntry(entry, `Topics[${index}]`)),
|
|
73
|
+
Subscriptions: parsed.Subscriptions.map((entry, index) => BindingEntry(entry, `Subscriptions[${index}]`)),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export function RequireOperationOutput(result, operationKey) {
|
|
77
|
+
if (!result.Success || result.Output === undefined) {
|
|
78
|
+
throw new Error(`${operationKey} failed (${result.ResultCode ?? 'UNKNOWN'}): ${result.ErrorMessage ?? 'no output'}`);
|
|
79
|
+
}
|
|
80
|
+
return result.Output;
|
|
81
|
+
}
|
|
82
|
+
export function ToPartitionCondition(value) {
|
|
83
|
+
if (value === undefined) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
const condition = PARTITION_CONDITION_OPTIONS.find(option => option === value);
|
|
87
|
+
if (!condition) {
|
|
88
|
+
throw new Error(`--condition must be one of ${PARTITION_CONDITION_OPTIONS.join(', ')}`);
|
|
89
|
+
}
|
|
90
|
+
return condition;
|
|
91
|
+
}
|
|
92
|
+
function BindingEntry(value, at) {
|
|
93
|
+
if (!IsRecord(value) || typeof value.Name !== 'string' || !IsJsonObject(value.BindingConfig)) {
|
|
94
|
+
throw new Error(`${at} must have a string Name and an object BindingConfig`);
|
|
95
|
+
}
|
|
96
|
+
return { Name: value.Name, BindingConfig: value.BindingConfig };
|
|
97
|
+
}
|
|
98
|
+
function IsJsonObject(value) {
|
|
99
|
+
return IsRecord(value) && Object.values(value).every(IsWorkJsonValue);
|
|
100
|
+
}
|
|
101
|
+
function IsWorkJsonValue(value) {
|
|
102
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean') {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
if (typeof value === 'number') {
|
|
106
|
+
return Number.isFinite(value);
|
|
107
|
+
}
|
|
108
|
+
if (Array.isArray(value)) {
|
|
109
|
+
return value.every(IsWorkJsonValue);
|
|
110
|
+
}
|
|
111
|
+
return IsJsonObject(value);
|
|
112
|
+
}
|
|
113
|
+
function IsRecord(value) {
|
|
114
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
115
|
+
}
|
|
116
|
+
function Optional(value) {
|
|
117
|
+
return value === null ? UNKNOWN : String(value);
|
|
118
|
+
}
|
|
119
|
+
function Truncate(text, width) {
|
|
120
|
+
return text.length > width ? `${text.slice(0, width - 1)}…` : text;
|
|
121
|
+
}
|
|
122
|
+
function WithCursor(table, nextCursor) {
|
|
123
|
+
return nextCursor ? `${table}\nMore: --cursor ${nextCursor}` : table;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=queue-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-format.js","sourceRoot":"","sources":["../../../src/lib/work-queue/queue-format.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,2BAA2B,GAAwC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEhH,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,UAAU,WAAW,CAAC,OAAiB,EAAE,IAAgB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtH,MAAM,IAAI,GAAG,CAAC,KAAe,EAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACtH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqC,EAAE,QAAoC;IACxG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAC9C,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,WAAW,CAAC,EACnG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACZ,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QACpH,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;KACzE,CAAC,CACL,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAsC;IACpE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,yDAAyD,CAAC;IACrE,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CACrB,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,CAAC,EACnG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAChH,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,eAAe,CAAC;KAClF,CAAC,CACL,CAAC;IACF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAqC;IAClE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,uDAAuD,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,sBAAsB,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CACrB,CAAC,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,CAAC,EAC1D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAC3H,CAAC;IACF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAiC;IAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,2FAA2F,CAAC;IACvG,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC;IACpG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,6DAA6D,CAAC,CAAC,CAAC,IAAI,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAkC;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,oBAAoB,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5I,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAkC;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC3C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7H,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAChH,CAAC;IACD,OAAO;QACH,eAAe,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC;QACpF,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,CAAC;KAC5G,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAI,MAAyB,EAAE,YAAoB;IACrF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,YAAY,MAAM,CAAC,UAAU,IAAI,SAAS,MAAM,MAAM,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;IAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,EAAU;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,sDAAsD,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAoB;IAClC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IACzC,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAyB;IACxD,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,oBAAoB,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DatabaseProviderBase, UserInfo } from '@memberjunction/core';
|
|
2
|
+
export interface WorkQueueCliSession {
|
|
3
|
+
Provider: DatabaseProviderBase;
|
|
4
|
+
User: UserInfo;
|
|
5
|
+
Close(): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
/** The CLI's shared provider (SQL Server or PostgreSQL per config) and the system user. */
|
|
8
|
+
export declare function OpenWorkQueueSession(): Promise<WorkQueueCliSession>;
|
|
9
|
+
//# sourceMappingURL=queue-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-session.d.ts","sourceRoot":"","sources":["../../../src/lib/work-queue/queue-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG3E,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,2FAA2F;AAC3F,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAIzE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BuildContextUser, CloseConnectionPool, EnsureProviderInitialized } from '../../utils/open-app-context.js';
|
|
2
|
+
/** The CLI's shared provider (SQL Server or PostgreSQL per config) and the system user. */
|
|
3
|
+
export async function OpenWorkQueueSession() {
|
|
4
|
+
const provider = await EnsureProviderInitialized();
|
|
5
|
+
const user = await BuildContextUser();
|
|
6
|
+
return { Provider: provider, User: user, Close: CloseConnectionPool };
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=queue-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-session.js","sourceRoot":"","sources":["../../../src/lib/work-queue/queue-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAQnH,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,QAAQ,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACtC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { WorkQueueHostHealth } from '@memberjunction/work-queue-engine';
|
|
2
|
+
export interface StoppableWorkHost {
|
|
3
|
+
Shutdown(): Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
/** The slice of `process` RunUntilStopped needs; an EventEmitter satisfies it in tests. */
|
|
6
|
+
interface SignalSource {
|
|
7
|
+
once(event: 'SIGINT' | 'SIGTERM', listener: () => void): unknown;
|
|
8
|
+
off(event: 'SIGINT' | 'SIGTERM', listener: () => void): unknown;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Why this worker must exit non-zero, or null (03 §11). A scheduler reads exit 0 as "the job did what it could", so a
|
|
12
|
+
* job that CANNOT run — unknown subscription, handler missing from the image, unsupported transport — has to fail
|
|
13
|
+
* loudly instead of churning "successful" jobs. A subscription an operator PAUSED is not a failure: pausing is
|
|
14
|
+
* deliberate, and the scaler query already stops spawning jobs for it.
|
|
15
|
+
*/
|
|
16
|
+
export declare function WorkerStartFailure(health: WorkQueueHostHealth, requested: string): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* Waits for `work` to finish, or for SIGINT/SIGTERM — whichever comes first. On a signal it awaits host.Shutdown()
|
|
19
|
+
* (the shared drain promise) before resolving, so the caller never closes the connection pool under in-flight
|
|
20
|
+
* handlers. Listeners are always removed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function RunUntilStopped(host: StoppableWorkHost, work: Promise<unknown>, signals?: SignalSource): Promise<'Signal' | 'Finished'>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=queue-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-worker.d.ts","sourceRoot":"","sources":["../../../src/lib/work-queue/queue-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,2FAA2F;AAC3F,UAAU,YAAY;IACpB,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACjE,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAahG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAE,YAAsB,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,CAqBtJ"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { HOST_SHUT_DOWN_REASON } from '@memberjunction/work-queue-engine';
|
|
2
|
+
/**
|
|
3
|
+
* Why this worker must exit non-zero, or null (03 §11). A scheduler reads exit 0 as "the job did what it could", so a
|
|
4
|
+
* job that CANNOT run — unknown subscription, handler missing from the image, unsupported transport — has to fail
|
|
5
|
+
* loudly instead of churning "successful" jobs. A subscription an operator PAUSED is not a failure: pausing is
|
|
6
|
+
* deliberate, and the scaler query already stops spawning jobs for it.
|
|
7
|
+
*/
|
|
8
|
+
export function WorkerStartFailure(health, requested) {
|
|
9
|
+
// After Shutdown() a subscription that WAS running reports Paused / HOST_SHUT_DOWN_REASON — that one ran.
|
|
10
|
+
if (health.Subscriptions.some(s => s.State === 'Running' || s.Reason === HOST_SHUT_DOWN_REASON)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
if (health.Subscriptions.length === 0) {
|
|
14
|
+
return `No subscription is running for '${requested}': no MJWorker subscriptions matched`;
|
|
15
|
+
}
|
|
16
|
+
const broken = health.Subscriptions.filter(s => s.State !== 'Paused');
|
|
17
|
+
if (broken.length === 0) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return `No subscription is running for '${requested}': ${broken.map(s => `${s.Name} is ${s.State}${s.Reason ? ` (${s.Reason})` : ''}`).join('; ')}`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Waits for `work` to finish, or for SIGINT/SIGTERM — whichever comes first. On a signal it awaits host.Shutdown()
|
|
24
|
+
* (the shared drain promise) before resolving, so the caller never closes the connection pool under in-flight
|
|
25
|
+
* handlers. Listeners are always removed.
|
|
26
|
+
*/
|
|
27
|
+
export async function RunUntilStopped(host, work, signals = process) {
|
|
28
|
+
let onSignal = () => undefined;
|
|
29
|
+
const signalled = new Promise(resolve => {
|
|
30
|
+
onSignal = () => resolve('Signal');
|
|
31
|
+
});
|
|
32
|
+
signals.once('SIGINT', onSignal);
|
|
33
|
+
signals.once('SIGTERM', onSignal);
|
|
34
|
+
try {
|
|
35
|
+
const outcome = await Promise.race([signalled, work.then(() => 'Finished')]);
|
|
36
|
+
if (outcome === 'Signal') {
|
|
37
|
+
await host.Shutdown();
|
|
38
|
+
// RunOnce resolves 'Shutdown' in the microtasks right after the shared drain promise, so its result is captured
|
|
39
|
+
// by the next macrotask. The long-running mode passes a promise that never settles, so the wait is bounded:
|
|
40
|
+
// awaiting it outright would hang the worker on SIGTERM.
|
|
41
|
+
await Promise.race([work.catch(() => undefined), new Promise(resolve => setImmediate(resolve))]);
|
|
42
|
+
}
|
|
43
|
+
return outcome;
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
signals.off('SIGINT', onSignal);
|
|
47
|
+
signals.off('SIGTERM', onSignal);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=queue-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-worker.js","sourceRoot":"","sources":["../../../src/lib/work-queue/queue-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAa1E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA2B,EAAE,SAAiB;IAC/E,0GAA0G;IAC1G,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,qBAAqB,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,mCAAmC,SAAS,sCAAsC,CAAC;IAC5F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,mCAAmC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACtJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAuB,EAAE,IAAsB,EAAE,UAAwB,OAAO;IACpH,IAAI,QAAQ,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAW,OAAO,CAAC,EAAE;QAChD,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAmB,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,gHAAgH;YAChH,4GAA4G;YAC5G,yDAAyD;YACzD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
package/dist/light-commands.d.ts
CHANGED
|
@@ -13,5 +13,13 @@
|
|
|
13
13
|
* - If the command uses only standard npm packages or light @memberjunction
|
|
14
14
|
* packages (like @memberjunction/config), add its oclif command ID here.
|
|
15
15
|
*/
|
|
16
|
+
/**
|
|
17
|
+
* NOTE on spelling: oclif command ids are **colon**-separated (`cache:clear`), whatever
|
|
18
|
+
* `topicSeparator` is set to — that only affects how a user types it. The space forms below are
|
|
19
|
+
* kept because they read the way the command is invoked, but each one is paired with its colon id,
|
|
20
|
+
* which is what `Command.id` actually equals at runtime. Without the colon form the entry never
|
|
21
|
+
* matches and the command silently pays the full bootstrap: `cache clear` measured 4.4-7.4 s
|
|
22
|
+
* against 0.19-0.29 s. `light-commands.ids.test.ts` fails on a space-only entry.
|
|
23
|
+
*/
|
|
16
24
|
export declare const LIGHT_COMMANDS: ReadonlySet<string>;
|
|
17
25
|
//# sourceMappingURL=light-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light-commands.d.ts","sourceRoot":"","sources":["../src/light-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"light-commands.d.ts","sourceRoot":"","sources":["../src/light-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CA4I7C,CAAC"}
|
package/dist/light-commands.js
CHANGED
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
* - If the command uses only standard npm packages or light @memberjunction
|
|
14
14
|
* packages (like @memberjunction/config), add its oclif command ID here.
|
|
15
15
|
*/
|
|
16
|
+
/**
|
|
17
|
+
* NOTE on spelling: oclif command ids are **colon**-separated (`cache:clear`), whatever
|
|
18
|
+
* `topicSeparator` is set to — that only affects how a user types it. The space forms below are
|
|
19
|
+
* kept because they read the way the command is invoked, but each one is paired with its colon id,
|
|
20
|
+
* which is what `Command.id` actually equals at runtime. Without the colon form the entry never
|
|
21
|
+
* matches and the command silently pays the full bootstrap: `cache clear` measured 4.4-7.4 s
|
|
22
|
+
* against 0.19-0.29 s. `light-commands.ids.test.ts` fails on a space-only entry.
|
|
23
|
+
*/
|
|
16
24
|
export const LIGHT_COMMANDS = new Set([
|
|
17
25
|
// Built-in oclif plugins
|
|
18
26
|
'version',
|
|
@@ -21,8 +29,11 @@ export const LIGHT_COMMANDS = new Set([
|
|
|
21
29
|
// metadata only; no bootstrap needed. Plugin entry points are light.
|
|
22
30
|
'usage',
|
|
23
31
|
'sync usage',
|
|
32
|
+
'sync:usage',
|
|
24
33
|
'codegen usage',
|
|
34
|
+
'codegen:usage',
|
|
25
35
|
'dev usage',
|
|
36
|
+
'dev:usage',
|
|
26
37
|
// Every remaining domain's tier-2 page. These compose oclif's own manifest plus the
|
|
27
38
|
// light plugin entry points — the whole point of the surface is that an agent can
|
|
28
39
|
// read it without paying for a runtime boot. Both id spellings are listed because
|
|
@@ -30,6 +41,8 @@ export const LIGHT_COMMANDS = new Set([
|
|
|
30
41
|
// entries in this file use the colon form.
|
|
31
42
|
'ai usage',
|
|
32
43
|
'ai:usage',
|
|
44
|
+
'queue usage',
|
|
45
|
+
'queue:usage',
|
|
33
46
|
'app usage',
|
|
34
47
|
'app:usage',
|
|
35
48
|
'artifacts usage',
|
|
@@ -68,13 +81,22 @@ export const LIGHT_COMMANDS = new Set([
|
|
|
68
81
|
'update:usage',
|
|
69
82
|
// Plugin registry editing — just writes mj-cli-plugins.json
|
|
70
83
|
'plugin add',
|
|
84
|
+
'plugin:add',
|
|
71
85
|
// Bump - uses zod, fast-glob, fs only
|
|
72
86
|
'bump',
|
|
87
|
+
// Shared cache - uses @memberjunction/redis-provider (ioredis + core) only
|
|
88
|
+
'cache',
|
|
89
|
+
'cache clear',
|
|
90
|
+
'cache:clear',
|
|
91
|
+
'cache usage',
|
|
92
|
+
'cache:usage',
|
|
73
93
|
// Database commands - use @memberjunction/skyway-core + config only
|
|
74
94
|
'clean',
|
|
75
95
|
'migrate',
|
|
76
96
|
'migrate convert',
|
|
97
|
+
'migrate:convert',
|
|
77
98
|
'migrate create',
|
|
99
|
+
'migrate:create',
|
|
78
100
|
// Install wizard - uses @memberjunction/installer engine (lightweight, no bootstrap)
|
|
79
101
|
'install',
|
|
80
102
|
// Doctor - uses @memberjunction/installer engine (lightweight, no bootstrap)
|
|
@@ -83,15 +105,21 @@ export const LIGHT_COMMANDS = new Set([
|
|
|
83
105
|
'bundle',
|
|
84
106
|
// Topic index commands (just display help text, no heavy imports)
|
|
85
107
|
'ai',
|
|
108
|
+
'queue',
|
|
86
109
|
'ai audit',
|
|
110
|
+
'ai:audit',
|
|
87
111
|
'test',
|
|
88
112
|
'dbdoc',
|
|
89
113
|
'dev',
|
|
90
114
|
// Dev workspace generator - node stdlib + chalk only, no bootstrap
|
|
91
115
|
'dev workspace',
|
|
116
|
+
'dev:workspace',
|
|
92
117
|
'dev workspace status',
|
|
118
|
+
'dev:workspace:status',
|
|
93
119
|
'dev workspace doctor',
|
|
120
|
+
'dev:workspace:doctor',
|
|
94
121
|
'dev workspace clean',
|
|
122
|
+
'dev:workspace:clean',
|
|
95
123
|
// SQL conversion commands - use @memberjunction/sql-converter + sqlglot-ts only
|
|
96
124
|
'sql-convert',
|
|
97
125
|
'sql-audit',
|
|
@@ -103,13 +131,21 @@ export const LIGHT_COMMANDS = new Set([
|
|
|
103
131
|
// Must be light to break the circular dependency: server-bootstrap-lite's prebuild calls
|
|
104
132
|
// `mj codegen manifest`, but bootstrap-lite must be built before MJCLI's prerun can import it.
|
|
105
133
|
'codegen manifest',
|
|
134
|
+
'codegen:manifest',
|
|
106
135
|
// DBDoc commands - already use dynamic imports internally
|
|
107
136
|
'dbdoc init',
|
|
137
|
+
'dbdoc:init',
|
|
108
138
|
'dbdoc analyze',
|
|
139
|
+
'dbdoc:analyze',
|
|
109
140
|
'dbdoc export',
|
|
141
|
+
'dbdoc:export',
|
|
110
142
|
'dbdoc export-sample-queries',
|
|
143
|
+
'dbdoc:export-sample-queries',
|
|
111
144
|
'dbdoc generate-queries',
|
|
145
|
+
'dbdoc:generate-queries',
|
|
112
146
|
'dbdoc reset',
|
|
147
|
+
'dbdoc:reset',
|
|
113
148
|
'dbdoc status',
|
|
149
|
+
'dbdoc:status',
|
|
114
150
|
]);
|
|
115
151
|
//# sourceMappingURL=light-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light-commands.js","sourceRoot":"","sources":["../src/light-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,yBAAyB;IACzB,SAAS;IACT,MAAM;IAEN,0EAA0E;IAC1E,qEAAqE;IACrE,OAAO;IACP,YAAY;IACZ,eAAe;IACf,WAAW;IACX,oFAAoF;IACpF,kFAAkF;IAClF,kFAAkF;IAClF,oFAAoF;IACpF,2CAA2C;IAC3C,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,qBAAqB;IACrB,cAAc;IACd,cAAc;IAEd,4DAA4D;IAC5D,YAAY;IAEZ,sCAAsC;IACtC,MAAM;IAEN,oEAAoE;IACpE,OAAO;IACP,SAAS;IACT,iBAAiB;IACjB,gBAAgB;IAEhB,qFAAqF;IACrF,SAAS;IAET,6EAA6E;IAC7E,QAAQ;IAER,4FAA4F;IAC5F,QAAQ;IAER,kEAAkE;IAClE,IAAI;IACJ,UAAU;IACV,MAAM;IACN,OAAO;IACP,KAAK;IAEL,mEAAmE;IACnE,eAAe;IACf,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IAErB,gFAAgF;IAChF,aAAa;IACb,WAAW;IAEX,8EAA8E;IAC9E,oCAAoC;IACpC,gBAAgB;IAChB,eAAe;IAEf,kGAAkG;IAClG,yFAAyF;IACzF,+FAA+F;IAC/F,kBAAkB;IAElB,0DAA0D;IAC1D,YAAY;IACZ,eAAe;IACf,cAAc;IACd,6BAA6B;IAC7B,wBAAwB;IACxB,aAAa;IACb,cAAc;CACf,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"light-commands.js","sourceRoot":"","sources":["../src/light-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,yBAAyB;IACzB,SAAS;IACT,MAAM;IAEN,0EAA0E;IAC1E,qEAAqE;IACrE,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,WAAW;IACX,WAAW;IACX,oFAAoF;IACpF,kFAAkF;IAClF,kFAAkF;IAClF,oFAAoF;IACpF,2CAA2C;IAC3C,UAAU;IACV,UAAU;IACV,aAAa;IACb,aAAa;IACb,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,qBAAqB;IACrB,cAAc;IACd,cAAc;IAEd,4DAA4D;IAC5D,YAAY;IACZ,YAAY;IAEZ,sCAAsC;IACtC,MAAM;IAEN,2EAA2E;IAC3E,OAAO;IACP,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IAEb,oEAAoE;IACpE,OAAO;IACP,SAAS;IACT,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAEhB,qFAAqF;IACrF,SAAS;IAET,6EAA6E;IAC7E,QAAQ;IAER,4FAA4F;IAC5F,QAAQ;IAER,kEAAkE;IAClE,IAAI;IACJ,OAAO;IACP,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,KAAK;IAEL,mEAAmE;IACnE,eAAe;IACf,eAAe;IACf,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IAErB,gFAAgF;IAChF,aAAa;IACb,WAAW;IAEX,8EAA8E;IAC9E,oCAAoC;IACpC,gBAAgB;IAChB,eAAe;IAEf,kGAAkG;IAClG,yFAAyF;IACzF,+FAA+F;IAC/F,kBAAkB;IAClB,kBAAkB;IAElB,0DAA0D;IAC1D,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,6BAA6B;IAC7B,6BAA6B;IAC7B,wBAAwB;IACxB,wBAAwB;IACxB,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;CACf,CAAC,CAAC"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { UserInfo, type DatabaseProviderBase } from '@memberjunction/core';
|
|
2
|
+
/**
|
|
3
|
+
* Initializes (or returns the already-initialized) MJ data provider for the
|
|
4
|
+
* configured platform, by adapting MJCLI's config to the `MJConfig` shape that
|
|
5
|
+
* MetadataSync's shared `initializeProvider` consumes.
|
|
6
|
+
*/
|
|
7
|
+
export declare function EnsureProviderInitialized(): Promise<DatabaseProviderBase>;
|
|
2
8
|
/**
|
|
3
9
|
* Closes the shared connection(s). Call on CLI exit for cleanup. Delegates to
|
|
4
10
|
* MetadataSync's `cleanupProvider`, which tears down whichever pool (mssql or pg)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-app-context.d.ts","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"open-app-context.d.ts","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ import { GetValidatedConfig } from '../config.js';
|
|
|
27
27
|
* configured platform, by adapting MJCLI's config to the `MJConfig` shape that
|
|
28
28
|
* MetadataSync's shared `initializeProvider` consumes.
|
|
29
29
|
*/
|
|
30
|
-
async function
|
|
30
|
+
export async function EnsureProviderInitialized() {
|
|
31
31
|
return initializeProvider(toMJConfig(GetValidatedConfig()));
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
@@ -105,7 +105,7 @@ function getSystemUserInfo() {
|
|
|
105
105
|
* Initializes the MJ runtime and returns the system user.
|
|
106
106
|
*/
|
|
107
107
|
export async function BuildContextUser() {
|
|
108
|
-
await
|
|
108
|
+
await EnsureProviderInitialized();
|
|
109
109
|
return getSystemUserInfo();
|
|
110
110
|
}
|
|
111
111
|
/** @deprecated Use {@link BuildContextUser}. */
|
|
@@ -117,7 +117,7 @@ export async function buildContextUser() {
|
|
|
117
117
|
*/
|
|
118
118
|
export async function BuildOrchestratorContext(command, verbose, interactive = true) {
|
|
119
119
|
const config = GetValidatedConfig();
|
|
120
|
-
const provider = await
|
|
120
|
+
const provider = await EnsureProviderInitialized();
|
|
121
121
|
const contextUser = getSystemUserInfo();
|
|
122
122
|
const spinner = verbose ? ora() : undefined;
|
|
123
123
|
// Only wire interactive prompt callbacks when this run is actually allowed to prompt.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-app-context.js","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,gFAAgF;AAChF,2EAA2E;AAC3E,6EAA6E;AAC7E,iFAAiF;AACjF,qFAAqF;AACrF,gFAAgF;AAEhF;;;;GAIG;AACH,KAAK,UAAU,yBAAyB;
|
|
1
|
+
{"version":3,"file":"open-app-context.js","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"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"}
|